Welcome To 6.004! Computation Structures
Welcome To 6.004! Computation Structures
Computation Structures
Spring 2021
6.004 Course Staff
Instructors
Teaching Assistants
Computer programs
Virtual machines
Computer systems
Operating systems, virtual memory, I/O
Instruction set + memory
Computer architecture
Processors, caches, pipelining
Digital circuits
Digital design
Combinational and sequential circuits
Bits, Logic gates
Devices
Materials
Atoms
February 16, 2021 MIT 6.004 Spring 2021 L01-5
The Power of Engineering
Abstractions
Good abstractions let us
reason about behavior while
shielding us from the details Virtual machines
of the implementation
Corollary: Implementation
technologies can evolve Instruction set + memory
while preserving the
engineering investment at
other levels Digital circuits
Minispec
source
§ We will design hardware
using Minispec, a new Minispec compiler
hardware description
Bluespec yosys
language built for 6.004 compiler synthesis
§ Based on Bluespec,
but heavily simplified
Compiled
Simulation circuit
(gates)
§ Recitations
§ Solve tutorial problems with instructor or in small groups
§ You must watch the preceding lecture and attempt
a few short post-lecture problems before each recitation
Voltage
1
§ These are typically binary digits
(bits): 0 and 1 0
Time
1 1 1 1 1 1 0 1 0 0 0 0
“0” for “+”
“1” for “-”
=-2000
-2 6 2
110 010
-3 5 3
101 -4 4 011
100 This is called two’s
complement encoding
February 16, 2021 MIT 6.004 Spring 2021 L01-22
Two’s Complement Encoding
In two’s complement encoding, the high-order bit of
the N-bit representation has negative weight:
N bits
!"'
𝑣 = −2!"#𝑏!"# + ' 2$ 𝑏$ -2N-1 2N-2 … … … 23 22 21 20
$%&
1 ...1 1
- An-1...A1A0
An-1...A1A0
Next lecture:
Introduction to assembly language
and RISC-V