1

6.004 Computation Structures (Spring 2017, MIT OCW). Instructor: Prof. Christopher Terman.

FREE
This course includes
Hours of videos

4305 years, 1 month

Units & Quizzes

155

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

This course introduces architecture of digital systems, emphasizing structural principles common to a wide range of technologies. It covers the topics including multilevel implementation strategies, definition of new primitives (e.g., gates, instructions, procedures, processes) and their mechanization using lower-level elements. It also includes analysis of potential concurrency, precedence constraints and performance measures, pipelined and multidimensional systems, instruction set design issues and architectural support for contemporary software structures. (from ocw.mit.edu)

Course Currilcum

  • Lecture 01.1 – What’s Information? Unlimited
  • Lecture 02.1 – Concrete Encoding of Information Unlimited
  • Lecture 02.2 – Analog Signaling Unlimited
  • Lecture 02.3 – Using Voltages Digitally Unlimited
  • Lecture 02.4 – Combinational Devices Unlimited
  • Lecture 02.5 – Dealing with Noise Unlimited
  • Lecture 02.6 – Voltage Transfer Characteristic Unlimited
  • Lecture 02.7 – VTC Example Unlimited
  • Lecture 02.8 – Worked Examples: The Static Discipline Unlimited
  • Lecture 03.1 – MOSFET: Physical View Unlimited
  • Lecture 03.2 – MOSFET: Electrical View Unlimited
  • Lecture 03.3 – CMOS Recipe Unlimited
  • Lecture 03.4 – Beyond Inverters Unlimited
  • Lecture 03.5 – CMOS Gates Unlimited
  • Lecture 03.6 – CMOS Timing Unlimited
  • Lecture 03.7 – Lenient Gates Unlimited
  • Lecture 03.8 – Worked Examples: CMOS Functions Unlimited
  • Lecture 03.9 – Worked Examples: CMOS Logic Gates Unlimited
  • Lecture 04.1 – Sum of Products Unlimited
  • Lecture 04.2 – Useful Logic Gates Unlimited
  • Lecture 04.3 – Inverting Logic Unlimited
  • Lecture 04.4 – Logic Simplification Unlimited
  • Lecture 04.5 – Karnaugh Maps Unlimited
  • Lecture 04.6 – Multiplexers Unlimited
  • Lecture 04.7 – Read-Only Memories Unlimited
  • Lecture 04.8 – Worked Examples: Truth Tables Unlimited
  • Lecture 04.9 – Worked Examples: Gates and Boolean Logic Unlimited
  • Lecture 04.10 – Worked Examples: Combinational Logic Timing Unlimited
  • Lecture 04.11 – Worked Examples: Karnaugh Maps Unlimited
  • Lecture 05.1 – Digital State Unlimited
  • Lecture 05.2 – D Latch Unlimited
  • Lecture 05.3 – D Register Unlimited
  • Lecture 05.4 – D Register Timing Unlimited
  • Lecture 05.5 – Sequential Circuit Timing Unlimited
  • Lecture 05.6 – Timing Example Unlimited
  • Lecture 05.7 – Worked Example 1 Unlimited
  • Lecture 05.8 – Worked Example 2 Unlimited
  • Lecture 06.1 – Finite State Machines Unlimited
  • Lecture 06.2 – State Transition Diagrams Unlimited
  • Lecture 06.3 – FSM States Unlimited
  • Lecture 06.4 – Roboant Example Unlimited
  • Lecture 06.5 – Equivalent States: Implementation Unlimited
  • Lecture 06.6 – Synchronization and Metastability Unlimited
  • Lecture 06.7 – Worked Examples: FSM States and Transitions Unlimited
  • Lecture 06.8 – Worked Examples: FSM Implementation Unlimited
  • Lecture 07.1 – Latency and Throughput Unlimited
  • Lecture 07.2 – Pipelined Circuits Unlimited
  • Lecture 07.3 – Pipelining Methodology Unlimited
  • Lecture 07.4 – Circuit Interleaving Unlimited
  • Lecture 07.5 – Self-timed Circuits Unlimited
  • Lecture 07.6 – Control Structures Unlimited
  • Lecture 07.7 – Worked Examples: Pipelining Unlimited
  • Lecture 07.8 – Worked Examples: Pipelining (cont.) Unlimited
  • Lecture 08.1 – Power Dissipation Unlimited
  • Lecture 08.2 – Carry-select Adders Unlimited
  • Lecture 08.3 – Carry-lookahead Adders Unlimited
  • Lecture 08.4 – Binary Multiplication Unlimited
  • Lecture 08.5 – Multiplier Tradeoffs Unlimited
  • Lecture 08.6 – Wrap-up Unlimited
  • Lecture 09.1 – Datapaths and FSMs Unlimited
  • Lecture 09.2 – Programmable Datapaths Unlimited
  • Lecture 09.3 – The Von Neumann Model Unlimited
  • Lecture 09.4 – Storage Unlimited
  • Lecture 09.5 – ALU Instructions Unlimited
  • Lecture 09.6 – Constants Operands Unlimited
  • Lecture 09.7 – Memory Access Unlimited
  • Lecture 09.8 – Branches Unlimited
  • Lecture 09.9 – Jumps Unlimited
  • Lecture 09.10 – Worked Examples: Programmable Architectures Unlimited
  • Lecture 10.1 – Intro to Assembly Language Unlimited
  • Lecture 10.2 – Symbols and Labels Unlimited
  • Lecture 10.3 – Instruction Macros Unlimited
  • Lecture 10.4 – Assembly Wrap-up Unlimited
  • Lecture 10.5 – Models of Computation Unlimited
  • Lecture 10.6 – Computability, Universality Unlimited
  • Lecture 10.7 – Uncomputable Functions Unlimited
  • Lecture 10.8 – Worked Examples: Beta Assembly Unlimited
  • Lecture 11.1 – Interpretation and Compilation Unlimited
  • Lecture 11.2 – Compiling Expressions Unlimited
  • Lecture 11.3 – Compiling Statements Unlimited
  • Lecture 11.4 – Compiler Frontend Unlimited
  • Lecture 11.5 – Optimization and Code Generation Unlimited
  • Lecture 11.6 – Worked Examples Unlimited
  • Lecture 12.1 – Procedures Unlimited
  • Lecture 12.2 – Activation Records and Stacks Unlimited
  • Lecture 12.3 – Stack Frame Organization Unlimited
  • Lecture 12.4 – Compiling a Procedure Unlimited
  • Lecture 12.5 – Stack Detective Unlimited
  • Lecture 12.6 – Worked Examples Unlimited
  • Lecture 13.1 – Building Blocks Unlimited
  • Lecture 13.2 – ALU Instructions Unlimited
  • Lecture 13.3 – Load and Store Unlimited
  • Lecture 13.4 – Jumps and Branches Unlimited
  • Lecture 13.5 – Exceptions Unlimited
  • Lecture 13.6 – Summary Unlimited
  • Lecture 13.7 – Worked Examples: A Better Beta Unlimited
  • Lecture 13.8 – Worked Examples: Beta Control Signals Unlimited
  • Lecture 14.1 – Memory Technologies Unlimited
  • Lecture 14.2 – SRAM Unlimited
  • Lecture 14.3 – DRAM Unlimited
  • Lecture 14.4 – Non-volatile Storage; Using the Hierarchy Unlimited
  • Lecture 14.5 – The Locality Principle Unlimited
  • Lecture 14.6 – Caches Unlimited
  • Lecture 14.7 – Direct-mapped Caches Unlimited
  • Lecture 14.8 – Block Size; Cache Conflicts Unlimited
  • Lecture 14.9 – Associative Caches Unlimited
  • Lecture 14.10 – Write Strategies Unlimited
  • Lecture 14.11 – Worked Examples: Cache Benefits Unlimited
  • Lecture 15.1 – Improving Beta Performance Unlimited
  • Lecture 15.2 – Basic 5-Stage Pipeline Unlimited
  • Lecture 15.3 – Data Hazards Unlimited
  • Lecture 15.4 – Control Hazards Unlimited
  • Lecture 15.5 – Exceptions and Interrupts Unlimited
  • Lecture 15.6 – Pipelining Summary Unlimited
  • Lecture 15.7 – Worked Examples: Pipelined Beta Unlimited
  • Lecture 15.8 – Worked Examples: Beta Junkyard Unlimited
  • Lecture 16.1 – Even More Memory Hierarchy Unlimited
  • Lecture 16.2 – Basics of Virtual Memory Unlimited
  • Lecture 16.3 – Page Faults Unlimited
  • Lecture 16.4 – Building the MMU Unlimited
  • Lecture 16.5 – Contexts Unlimited
  • Lecture 16.6 – MMU Improvements Unlimited
  • Lecture 16.7 – Worked Examples Unlimited
  • Lecture 17.1 – Recap: Virtual Memory Unlimited
  • Lecture 17.2 – Processes Unlimited
  • Lecture 17.3 – Timesharing Unlimited
  • Lecture 17.4 – Handling Illegal Instructions Unlimited
  • Lecture 17.5 – Supervisor Calls Unlimited
  • Lecture 17.6 – Worked Examples: Operating Systems Unlimited
  • Lecture 18.1 – OS Device Handlers Unlimited
  • Lecture 18.2 – SVCs for Input/Output Unlimited
  • Lecture 18.3 – Example: Match Handler with OS Unlimited
  • Lecture 18.4 – Real Time Unlimited
  • Lecture 18.5 – Weak Priorities Unlimited
  • Lecture 18.6 – Strong Priorities Unlimited
  • Lecture 18.7 – Example: Priorities in Action Unlimited
  • Lecture 18.8 – Worked Examples Unlimited
  • Lecture 19.1 – Interprocess Communication Unlimited
  • Lecture 19.2 – Semaphores Unlimited
  • Lecture 19.3 – Atomic Transactions Unlimited
  • Lecture 19.4 – Semaphore Implementation Unlimited
  • Lecture 19.5 – Deadlock Unlimited
  • Lecture 19.6 – Worked Examples: Semaphores Unlimited
  • Lecture 20.1 – System-level Interfaces Unlimited
  • Lecture 20.2 – Wires Unlimited
  • Lecture 20.3 – Buses Unlimited
  • Lecture 20.4 – Point-to-Point Communication Unlimited
  • Lecture 20.5 – System-level Interconnect Unlimited
  • Lecture 20.6 – Communication Topologies Unlimited
  • Lecture 21.1 – Instruction-level Parallelism Unlimited
  • Lecture 21.2 – Data-level Parallelism Unlimited
  • Lecture 21.3 – Thread-level Parallelism Unlimited
  • Lecture 21.4 – Shared Memory and Caches Unlimited
  • Lecture 21.5 – Cache Coherence Unlimited
  • Lecture 21.6 – Wrap-up Unlimited