This course provides an overview of "computer architecture" as a platform for the execution of (compiled) computer programs. The course introduces the major structures that have direct influence on the execution of programs (processors with registers, caches, other levels of the memory hierarchy) and covers implementation and representation issues only to the extend that they are necessary to understand the structure and operation of a computer system. The course covers the basics of performance evaluation (with a focus on the practical aspects of data collection and analysis).
This course does NOT cover how to design or build a processor or computer. Students are advised to take the course in concurrently with "System-level Programming". Students are expected to have a basic knowledge of statistics and probability theory.
Topics include
This is a plan. No plan survives contact with reality.
| Week | Monday | Thursday | Friday |
|---|---|---|---|
| 0 | 09/27: Introduction, Admin | 09/28: Bits and Bytes | |
| 1 | 10/01:CA Integer Arithmetic | 10/04:SP C Intro I | 10/05:SP Floating Point |
| 2 | 10/08:CA Assembly Language I | 10/11:SP C Intro II | 10/12:SP Assembly Language II |
| 3 | 10/15:SP Assembly Language III | 10/18:SP Assembly Language III (cont.) | 10/19:SP C Intro III |
| 4 | 10/22:SP Structured data | 10/25:CA Buffers and other practical issues | 10/26:SP C Intro IV |
| 5 | 10/29:CA Sequential Processors | 11/01:CA Sequential Processors (cont.) | 11/02:SP Pipelined Processors |
| 6 | 11/05:SP Memory Hierarchy | 11/08:CA Memory Hierarchy (cont.) | 11/09:CA Caches |
| 7 | 11/12:SP Optimization I | 11/15:CA Optimization II | 11/16:CA Optimization (cont.) |
| 8 | 11/19:CA Linking | 11/22:CA Measuring Program Performance | 11/23:CA Measuring Program Performance (cont.) |
| 9 | 11/26:SP Exceptions I | 11/29:SP Exceptions II | 11/30:CA Virtual Memory |
| 10 | 12/03:SP Virtual Memory Case Study | 12/06:SP Dynamic Memory Allocation I | 12/07:SP Dynamic Memory Allocation II |
| 11 | 12/10:SP System-level I/O | 12/13:SP Virtual Machines | 12/14:CA/SP Test your knowledge |
| 12 | 12/17:SP Parallel Programming | 12/20:SP Parallel Programming (cont.) | 12/21:CA/SP Past & Future Trends, Multi-Core |
| Computer Architecture (CA): Monday, 13:15 -- 15:00 | System Programming (SP): Tuesday | |||||
|---|---|---|---|---|---|---|
| Room | Assistants | nethz ID | Room | Time | Assistant | nethz ID |
| IFW C 42 | Christian Fischlin | cfischli | HG G 5 | 13:15 -- 15:00 | Raffaele Sandrini | sandrinr |
| ML J 34.1 | Susanne Cech Previtali, Oliver Trachsel | scech, toliver | HG D 3.2 | 13:15 -- 15:00 | Peter Heinrich | peterhe |
| HG G 26.5 | Yang Su, Albert Noll | ysu, anoll | IFW E 42 | 13:15 -- 15:00 | Christoph Angerer, Mathias Payer | angererc, payerm |
| CAB H 56 | Manuel Lang | malang | IFW B 42 | 15:15 -- 17:00 | Basil Fierz | bfierz |
Assignments are an important part of the course. You will not learn this material from listening to a lecture alone -- you have to do the assignments.
Note: Do not hesitate to ask your teaching assistant if you have troubles with the assignments!
Your grade will be based on the final (100%).
| Number | CA/SP | Out | Due | Description | Solution | |
|---|---|---|---|---|---|---|
| 1 | CA | 2007-10-08 | 2007-10-15 | hw1.pdf, fp-sum.tar, polynomial.tar | hw1-solution.pdf | |
| 2 | CA/SP | 2007-10-16 | 2007-10-23 | hw2.pdf, hw2.tar.gz, results page | no example solution | |
| 3 | CA/SP | 2007-10-22 | 2007-10-29 | hw3-assembly.pdf, ccodes.c | hw3-solution.pdf | |
| 4 | CA/SP | 2007-10-30 | 2007-11-06 | hw4-structureddata.pdf | hw4-solution.pdf | |
| 5 | CA/SP | 2007-11-05 | 2007-11-12 | hw5-seq.pdf, simguide.pdf, sim.tar | hw5-seq-solution.pdf | |
| 6 | CA/SP | 2007-10-30 | 2007-11-06 | hw6-bomblab.pdf, gdbreference.pdf | ||
| 7 | CA | 2007-11-19 | 2007-11-26 | hw7-pipe.pdf, simguide.pdf, sim.tar | ||
| 8 | SP | 2007-11-27 | 2007-12-04 | hw8-opt.pdf, mmul.c | hw8-opt-solution.pdf, mmul_opt.c, mytimer.h, mytimer.c | |
| 9 | CA | 2007-12-03 | 2007-12-10 | hw9-vm.pdf | hw9-vm-solution.pdf | |
| 10 | SP | 2007-12-11 | 2007-12-18 | hw10-signals-controlflow.pdf, hw10-skeletons.tar.gz | hw10-solution.pdf, hw10-solutions.tar.gz | |
| 11 | CA | 2007-12-17 | 2008-01-07 | Assignment 11 | hw11-openmp-solution.tar.gz |