Topics to be covered by 1st exam

 

Chapter 1.6 -- Amdahl’s Law, ways of describing CPU performance (e.g. CPI, clock cycle time etc)

Chapter 1.7 -- Memory hierarchies

Chapter 2.1-2.6 -- instruction sets and addressing modes. I will not ask you to memorize the names of all of the addressing modes, but if I define some instructions and some addressing modes, you might have to use the addressing modes to write a few lines of assembly code

Chapter 3.1,3.2 -- Simple pipelines using DLX as an example.

Chapter 3.3-3.5 -- Pipeline hazards. Data hazards – RAW,WAW,WAR, compiler scheduling for data hazards, control hazards, delay slots, cancelling or nullifying branches, compiler (and manual) techniques for reordering instructions to improve pipeline performance.

We are not covering Chapter 3.6

Chapter 3.7 p 187-194 – Pipelines able to handle simultaneous, multicycle operations

Chapter 4.1 Loop unrolling, scheduling, data dependencies – real (or true) dependencies, antidependencies and output dependencies. Control dependencies. Loop level parallelism

Chapter 4.2 Dynamic scheduling – scoreboard and Tomasulo algorithms.