6.175: Constructive Computer Architecture (Fall 2016)

What is 6.175?

6.175 teaches the fundamental principles of computer architecture via implementation of different versions of pipelined machines with caches, branch predictors and virtual memory. Emphasis on writing and evaluating architectural descriptions that can be both simulated and synthesized into real hardware or run on FPGAs. The use and design of test benches. Weekly labs. Intended for students who want to apply computer science techniques to complex hardware design.

Topics include combinational circuits including adders and multipliers, multi-cycle and pipelined functional units, RISC Instruction Set Architectures (ISA), non-pipelined and multi-cycle processor architectures, 2- to 10-stage in-order pipelined architectures, processors with caches and hierarchical memory systems, TLBs and page faults, I/O interrupts.

Instructors

Lectures

MWF 3:00 pm, 34-302.


Schedule

Please check back frequently as this schedule may change.

This calendar is also available on Google Calendar.

WeekDateDescriptionDownloads
1Wed, Sept 7Lecture 1: Introduction [pptx] [pdf]
Fri, Sept 9Lecture 2: Combinational Circuits
Lab 0 out, Lab 1 out
[pptx] [pdf]
2Mon, Sept 12Lecture 3: Combinational Circuits 2 [pptx] [pdf]
Wed, Sept 14Lecture 4: Sequential Circuits [pptx] [pdf]
Fri, Sept 16Lecture 5: Sequential Circuits 2
Lab 1 due, Lab 2 out
[pptx] [pdf]
3Mon, Sept 19Lecture 6: Pipelining Combinational Circuits [pptx] [pdf]
Wed, Sept 21Lecture 7: Well-Formed BSV Programs Ephemeral History Registers [pptx] [pdf]
Fri, Sept 23No classes: Student Holiday (Fall Career Fair)
Lab 3 out
4Mon, Sept 26Lecture 8: Multirule Systems and Concurrent Execution of Rules
Lab 2 due
[pptx] [pdf]
Wed, Sept 28Lecture 9: Guards [pptx] [pdf]
Fri, Sept 30Tutorial 1: Bluespec [pptx] [pdf]
5Mon, Oct 3Lecture 10: Non-pipelined Processors
Lab 4 out
[pptx] [pdf]
Wed, Oct 5Lecture 11: Non-pipelined and Pipelined Processors
Lab 3 due
[pptx] [pdf]
Fri, Oct 7Tutorial 2: Advanced Bluespec [pptx] [pdf]
6Mon, Oct 10No classes: Indigenous Peoples' Day / Columbus Day
Tue, Oct 11Lab 5 out
Wed, Oct 12Lecture 12: Control Hazards
Lab 4 due
[pptx] [pdf]
Fri, Oct 14Tutorial 3: RISC-V Processor RISC-V and Debugging [pptx] [pdf]
7Mon, Oct 17Lecture 13: Data Hazards [pptx] [pdf]
Wed, Oct 19Lecture 14: Multistage Pipelines
Lab 6 out
[pptx] [pdf]
Fri, Oct 21Tutorial 4: Debug Epochs and Scoreboards
Lab 5 due
[pptx] [pdf]
8Mon, Oct 24Lecture 15: Branch Prediction
Lab 5 due
[pptx] [pdf]
Wed, Oct 26Lecture 16: Branch Prediction 2 [pptx] [pdf]
Fri, Oct 28Tutorial 5: Epochs and Branch Predictors Epochs, Debugging, and Caches [pptx] [pdf]
9Mon, Oct 31Lecture 17: Caches [pptx] [pdf]
Wed, Nov 2Lecture 18: Caches 2
Lab 7 out
[pptx] [pdf]
Fri, Nov 4Tutorial 6: Caches and Exceptions
Lab 6 due
[pptx] [pdf]
10Mon, Nov 7Lecture 19: Exceptions
Lab 6 due
[pptx] [pdf]
Wed, Nov 9Lecture 20: Virtual Memory [pptx] [pdf]
Fri, Nov 11No classes: Veterans Day
11Mon, Nov 14Lecture 21: Virtual Memory and Exceptions
Lab 8 out
[pptx] [pdf]
Wed, Nov 16Lecture 22: Cache Coherence
Lab 7 due
[pptx] [pdf]
Thu, Nov 17Lab 8 out
Fri, Nov 18Tutorial 7: Project Overview
Lab 7 due, Project Part 1 out
[pptx] [pdf]
12Mon, Nov 21Lecture 23: Sequential Consistency [pptx] [pdf]
Wed, Nov 23Tutorial 8: Project Part 2: Coherence Cancelled: (early) Thanksgiving
Lab 8 due
Fri, Nov 25No classes: Thanksgiving
Lab 8 due
13Mon, Nov 28No classes: Work on project
Project Part 2 out
Wed, Nov 30No classes: Work on project
Thu, Dec 1Project Part 2 out
Fri, Dec 2No classes: Work on project Tutorial 8: Project Part 2: Coherence [pptx] [pdf]
14Mon, Dec 5No classes: Work on project
Wed, Dec 7No classes: Work on project
Fri, Dec 9No classes: Work on project
15Mon, Dec 12No classes: Work on project
Wed, Dec 14Last day of classes
Project presentations