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

Lecturer: Raphael 'kena' Poss; Student assistants: Florian Treurniet, Erik Hollander & Matthijs van Drunen.

Assistance and course communication will take place on the mailing list liacs-ca-2013@googlegroups.com. 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.

Course documents

(This section will be populated as the course moves forward)

General support documentation:

Course materials:
WeekLecture dateTopicHomeworkDeadline
1Sep 3rd Introduction CA "Week 1" Sep 8th
2Sep 10th Introduction processors + Tekening "Week 2" Sep 15th
3Sep 17th Components, memory "Week 3" Sep 22nd
1-3 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.
Sep 23rd
4Sep 24th Cont. week 3: DRAM, CAS vs. RAS "Week 4+5" Oct 8th
4 Lab assignment 2a (intro mgsim) + materials Sep 30th
5Oct 1st Caches "Week 4+5" Oct 8th
6 (lecture moved to week 9)
7Oct 15th Caches (cont.) "Week 7" Oct 20th
"Week 7 BONUS"Oct 27th
5-7 Lab assignment 2b + materials Oct 18th
8Oct 22nd Virtual memory "Extension week 7"Oct 27th
7-9 Lab assignment 2c + materials Oct 28th
9Oct 29th Interrupts and input/output, Pipeline optimizations "Week 9+10" Nov 10th
10Nov 5th Block diagram analysis: components & function "Week 9+10" Nov 10th
11Nov 12th Data hazards, bypasses/forwarding, scalar ILP, intro superscalar ILP "Week 11"Nov 18th
12Nov 19th Guest lecture Roy Bakker "Week 12"Nov 27th
9-12 Lab assignment 3a Nov 22nd
13Nov 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: