Resources
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
-
6.191 (6.004) Setup and Git Basics
-
Bash and Git
-
Minispec
- Minispec tutorials
- Combinational logic [interactive] [pdf] [pdf, executed]
- Sequential logic [interactive] [pdf] [pdf, executed]
- These tutorials provide a first introduction to Minispec. They are interactive Jupyter notebooks, but we also provide PDF printouts for offline use.
- 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]
- 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
- Minispec tutorials
-
RISC-V
- 6.191 (6.004) ISA Reference Tables
- Reference for the subset of RISC-V covered in 6.191 (Includes references for assembly programming as well)
- 6.191 (6.004) ISA Reference Tables
Reading Materials
- Digital Design: A Systems Approach, William J. Dally and R. Curtis Harting, Cambridge University Press, 1st ed., 2012.
- Computer Organization and Design: The Hardware Software Interface, RISC-V Edition, David A. Patterson and John L. Hennessy, Morgan Kaufmann, 1st ed., 2017.
- Computation Structures Online Materials Note: These materials correspond to the old version of 6.004, and parts of it are out of date.
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) |