Instructor: | Brad Richards |
Lecture: | MWF 11:00-11:50 |
Phone: | x3579 |
Email: | brichards@pugetsound.edu |
Office: | Thompson 401 |
Office Hours: | M 12-1:00, W 10:10-10:50, Th 12-12:50, F 12-1:00 (all via Zoom) |
Tutor Schedule: | TBD |
CWL Tutors: | subject tutors |
Course Comments: | anonymous comment form |
Department Comments: | anonymous comment form |
Week | Topic | Reading | Assignment |
---|---|---|---|
8/29 | Overview, History, Performance; Intro to MIPS assembly | Sections 1.1-1.11 | Asmt 1 (solns) |
9/5 | More MIPS, Binary, Assemblers & Memory No Class Monday |
Sections 2.1-2.4 | Asmt 2 (solns) |
9/12 | Representing Instructions, Branches & Loops No Class Wednesday |
Sections 2.5-2.9 | |
9/19 | Procedures | 2.10-2.14; Appendix A.5-A.6 | Asmt 3 (solns) |
9/26 | More procedures, Arithmetic | 3.1-3.4 | Asmt 4 (solns) |
10/3 | Floating Point | 3.5 | Asmt 5 (soln) |
10/10 | Logic, Gates, ALU | Appendix B.1-3, B.5 | |
10/17 | Finish ALU No Class Monday |
Appendix B.5, B.8-9; 4.1-2 | Exam Friday (topics list, old exam, old solns), new solns Asmt 6 (solns, circuit) |
10/24 | CPU: Building a datapath | 4.1-4.4 | Asmt 7 (solns) |
10/31 | Datapath, Pipelining | 4.5-4.6 | Asmt 8 (soln) |
11/7 | Caches | 5.1-5.3 | Asmt 9 (solns, diagram) |
11/14 | Caches, Memory Hierarchies | 5.4-5.8 | Asmt 10 (solns) |
11/21 | More Caches & Hierarchies No class Wednesday — Friday |
5.4-5.8 | |
11/28 | Parallel Computing | 6.1-6.5 | Asmt 11 |
12/5 | Wrap-up No Class Friday |
Final Exam: Wednesday, December 14th, noon-2pm Final exam topics list old exam solns current solutions |
This course introduces the architecture and organization of modern computer hardware. It will also close the gap between the kinds of programs you've written before (in languages like Java, Python, C, etc.) and the actual computer hardware by introducing you to the missing links: Machine code and assembly language. In other words, we'll study computer hardware and how to control it via low-level programs. You will write programs in the MIPS assembly language and run them in the MARS simulator, versions of which are freely available for a variety platforms, but this is not exclusively a programming course — assignments for the course will range from logic problems and programming exercises to circuit diagrams and class presentations.