CMSC 301: Computer Organization

Fall 2017

Doug Szajda

Lecture: T, Th 10:30-11:45pm, Jepson 231

Lab: W 12:00-12:50pm, Jepson G30


Required Text

  • Computer Organization and Design: The Hardware/Software Interface (5th Edition) by D. Patterson and J. Hennessy.

Recommmended Text

  • Practical C++ Programming (2nd Edition) by Steve Oualline. This can be considered optional. But if you bring me C++ questions (and you likely will) I'll refer you to this text or something similar!



Date Topic Assignments Due Readings/Discussions (do readings before class!) Slides
8/29/17 Introduction Text: Chapter 1
8/31/17 Performance Lab 1[PDF] Performance, Power, Die Yield [PDF]
9/5/17 Performance, Basic Program Execution Lab 2[PDF]
Instruction Set Architectures [PDF]
Basic Architecture and Program Execution [PDF]
9/7/17 Instruction Set Architectures Text: Chapter 2
Homework 1 [PDF]
MIPS Instruction Set Architecture [PDF]
9/12/17 Lab 3[PDF]
MIPS Assembly Language Using QTSPim [PDF]
MIPS System call table [PDF]
9/14/17 Homework 1 due
9/19/17 MIPS Procedure Calls Homework 2 [PDF]
Lab 4[PDF]
MIPS Procedure Calls [PDF]
9/21/17 The Assembler [PDF]
9/26/17 Floating Point Representation Lab 5[PDF]
Lab 5 supplementary files [TAR]
Floating Point Representation [PDF]
9/28/17 Homework 2 due
10/5/17 First Midterm Exam
10/10/17 Homework 3 [PDF] Digital Logic [PDF]
10/12/17 Adders [PDF]
10/17/17 Fall Break
10/19/17 Homework 3 due Final Programming Project [PDF] Multiplication and Division [PDF]
10/24/17 MIPS Datapath [PDF]
10/31/17 Pipelining [PDF]
11/2/17 Homework 4 [PDF] Dependences, Hazards, Exceptions [PDF]
11/9/17 Caches and Memory [PDF]
11/14/17 Homework 4 due (11/15) Virtual Memory [PDF]
11/16/17 Second Midterm Exam
11/23/17 Thanksgiving Break
11/28/17 Homework 5 [PDF] Input/Output [PDF]
12/5/17 Superscalar Processors [PDF]
12/7/17 Final programming project due!
Homework 5 due
12/14/17 Final Exam, 2:00 - 5:00 p.m.