Resources

You are not logged in.

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

Reference Materials

  • 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]
  • RISC-V

  • Student's 6.004 notes from FA20

Reading Materials

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