Resources

You are not logged in.

If you are a current student, please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.csail.mit.edu) to authenticate, and then you will be redirected back to this page.

Reference Materials

  • 6.004 Setup and Git Basics
  • Bash
  • RISC-V
    • 6.004 ISA Reference Tables
      • Reference for the subset of RISC-V covered in 6.004 (Includes references for assembly programming as well)
  • Minispec
    • Minispec tutorials
    • Minispec reference
      • This is the primary reference for the Minispec language, covering its syntax and semantics in full. It is more more detailed than the Minispec tutorials, and is useful mainly to answer particular questions on syntax and to learn the language in depth.
    • 6.004 JupyterHub
      • JupyterHub server used for Minispec tutorials and to learn the language. (Please do not use this for labs, use Athena instead.)
    • Minispec syntax setup [vim] [emacs] [nano] [pygments]
      • To set up other editors, since Minispec's syntax is a subset of Bluespec's, you can use any available syntax files for Bluespec and configure your editor to treat Minispec files (ending in .ms) as Bluespec files. Bluespec syntax files: [Atom] [VSCode] [Sublime Text]

Reading Materials

Digital Design: A Systems Approach Computer Organization and Design, RISC-V Edition Computation Structures Online Materials
L01 Binary arithmetic Chapter 10, 10.1-10.3 (up to page 218) Chapter 2, 2.4; Chapter 3, 3.2 Notes 3.2.1.1, 3.2.1.2
L02 Assembly Chapter 2, 2.1-2.3, 2.5-2.7, 2.10
L03 Procedures Chapter 2, 2.8, 2.13
L04 Procedures Chapter 2, 2.8, 2.13
L05 The digital abstraction Chapter 1, 1.1, 1.2 (pages 3-8) Notes 5.1-5.8
L06 Boolean algebra Chapter 3, 3.1-3.5 Notes 7.1-7.7 (skip 7.7.1)
L07 CMOS Chapter 4; Chapter 5, 5.1-5.3 Notes 6.1-6.4
L08 Combinational logic 1 Chapter 8, 8.1-8.7 Minispec combinational tutorial
L09 Combinational logic 2 Chapter 12, 12.1 Minispec combinational tutorial, Notes 12.2
L10 Sequential logic 1 Chapter 14, 14.1-14.3; Chapter 15, 15.1-15.3 Notes 8.1-8.3.5
L11 Sequential logic 2 Chapter 14, 14.1-14.3; Chapter 15, 15.1-15.3 Minispec sequential tutorial
L12 Pipelining Chapter 23, 23.1-23.3 Notes 11.5-11.7
L13 Design tradeoffs Chapter 23, 23.4-23.5 Notes 12.3
L14 Single-cycle processor Chapter 4, 4.1-4.4
L15 The memory hierarchy Chapter 5, 5.1-5.3 L14 notes, up to slide 24
L16 Caches Chapter 5, 5.3-5.4, 5.8 L14 notes, slides 25-40
L17 Operating systems Chapter 4, 4.9; Chapter 5, 5.6
L18 Virtual memory Chapter 5, 5.7 VM lecture notes
L19 Pipelined processors 1 Chapter 4, 4.5-4.6
L20 Pipelined processors 2 Chapter 4, 4.6-4.8 (until page 309)
L21 Synchronization L19 notes
L22 Cache coherence Chapter 5, 5.10 L21 notes, slides 23-27
L23 Branch prediction Chapter 4, 4.8 (pages 310-315)