Computer Architecture (2013/2014)
Bachelor Informatica 2de jaar, Universiteit Leiden
Note: lecture on Oct 29th starts at 9am (moved from Oct 8th)
Course objectives & learning topics
Develop qualitative and quantitative insight into the trade-offs of the major technological developments in computer architecture in the last twenty years.
- Instruction set architectures
- Processors: pipelines, hazards, multiple issue and out-of-order execution
- Memory: SRAM/DRAM tradeoffs, access times, hierarchy
- Caches: associativity, indexing
- Multi-cores & hardware multithreading
- Vector processors & VLIW
Location: Universiteit Leiden, Snellius
Lectures: Tuesday 11:00-13:00; room 174
Labs: Tuesday 13:00-15:00.
Lecture/labs every Tuesday from Sept 3rd to Dec 3rd.
Exam on Jan 17th, 2014.
Contact & staff
Assistance and course communication will take place on the mailing list firstname.lastname@example.org. Please contact the lecturer by e-mail to register to this list ASAP.
Weekly homework assignments: 20%
Lab assignments: 50%
Final exam: 30%
To pass the course you must obtain a passing grade separately for 1) homework + final exam and 2) lab work.
(This section will be populated as the course moves forward)
General support documentation:
- Henessy & Patterson, Appendix A
- Alpha Architecture Reference Manual, Fourth edition
- OpenRISC Architecture Reference Manual
- OpenRISC instruction set overview
- What every programmer should know about processors and memory
|1||Sep 3rd||Introduction CA||"Week 1"||Sep 8th|
|2||Sep 10th||Introduction processors + Tekening||"Week 2"||Sep 15th|
|3||Sep 17th||Components, memory||"Week 3"||Sep 22nd|
Lab assignment 1 (intro assembly) + materials + Documentation to install the tools on your
own computer. NB: the Leiden IT should have installed these tools
on a shared directory on the University's system; this document is to
be used only if you wish to use the tools on your own computer.
Commands to run before the required tools are accessible from the LIACS workstations.
An example of an annotation for sum.s can be found here.
|4||Sep 24th||Cont. week 3: DRAM, CAS vs. RAS||"Week 4+5"||Oct 8th|
|4||Lab assignment 2a (intro mgsim) + materials||Sep 30th|
|5||Oct 1st||Caches||"Week 4+5"||Oct 8th|
|6||(lecture moved to week 9)|
|7||Oct 15th||Caches (cont.)||"Week 7"||Oct 20th|
|"Week 7 BONUS"||Oct 27th|
|5-7||Lab assignment 2b + materials||Oct 18th|
|8||Oct 22nd||Virtual memory||"Extension week 7"||Oct 27th|
|7-9||Lab assignment 2c + materials||Oct 28th|
|9||Oct 29th||Interrupts and input/output, Pipeline optimizations||"Week 9+10"||Nov 10th|
|10||Nov 5th||Block diagram analysis: components & function||"Week 9+10"||Nov 10th|
|11||Nov 12th||Data hazards, bypasses/forwarding, scalar ILP, intro superscalar ILP||"Week 11"||Nov 18th|
|12||Nov 19th||Guest lecture Roy Bakker||"Week 12"||Nov 27th|
|9-12||Lab assignment 3a||Nov 22nd|
|13||Nov 26th||Superscalar ILP / Instruction policies||14||Closing lecture||"Week 14B-1" + "Week 14B-2"||Dec 13th|
|13-15||Lab assignment 3b + materials||Dec 16th|
Previous exams: see the web site of the Leidse Flesch.
Previous editions of this course: