Course Computer Systems for AI-programmers

"Computersystemen voor AI-programmeurs"

Week 7, February 2011


In this class, we continue our comparison between high-level language and the machine-level.

In this class the following concepts are introduced:

  • program counter, von Neumann architecture, fetch-execute cycle
  • data path, control logic, conditional codes, critical path
  • pipelining, stalling, data forwarding, bubbles


The class is based on chapter 4 of the book Computer Systems: A programmer's perspective by R.E. Bryant and D.R. O'Hallaron.

Recommanded reading (afterwards, 33 pages, 1.5 hours):

4.3.1Organizing Processing in Stages (only p. 398)
4.4General Principles of Pipelining
Aside: Enumerating classes of data hazards (p. 446)
4.5.6Avoiding Data Hazards by Stalling
4.5.7Avoiding Data Hazards by Forwarding
4.5.8Load/Use Data Hazards
Pipeline Control Mechanisms (p. 471)
4.5.12Performance Analysis
Aside: State-of-the-art microprocessor design (p. 482)


The class is scheduled in three hours:

  1. Lecture (Recording): 'Computer system - Processor Architecture'
    Practice Problem 4.26: 'Calculate the throughput and latency of a n-stage pipeline for the given 6 blocks'

Last updated February 15, 2011

o This web-page and the list of participants to this course is maintained by Arnoud Visser (
Faculty of Science
University of Amsterdam

visitors in