| Course Outline | General Information | Study Material | Lectures (classwise) |
The course consists of 4 lecture hours per week.
The basic thrust of the course would be to understand key issues in computer architecture from a quantitative viewpoint.
We will try to stick to the basic course outline as given in this page, but may deviate a bit.
We would assume in the course that you know computer organization to some extent. Brief review of some key concepts will be done in the first few lectures.
| Class Timings: | Wednesday 9:30-11:10, Thursday 9:30-11:10 Seminar Room, ACM Unit. |
| The necessary evil - marks, exam, etc.: | Mid-sem: 40, End-sem: 60 |
| Books |
(1) Computer Architecture: A Quantitative Approach David A. Patterson and John L. Hennessy Morgan Kaufmann Publishers, Inc., San Francisco, California. |
| Slides |
(1) Computer Architecture: A Quantitative Approach David A. Patterson and John L. Hennessy Morgan Kaufmann Publishers, Inc., San Francisco, California. |
| LECTURE DATES | TOPICS | NOTES/SLIDES | BOOKS |
| Lecture 1 (8-1-09) |
Introductory Lecture | - | - |
| Lecture 2 (14-1-09) |
Measuring and reporting performance | - | (1) |
| Lecture 3 (21-1-09) |
Quantative principles of Computer design: Amdahl's Law |
- | (1) |
| Lecture 4 (22-1-09) |
Quantative principles of Computer design: CPU performance equation Memory Hierarchy |
- | (1) |
| Lecture 5 (28-1-09) |
Classifying Instruction Set Architectures (ISA), Memory Addressing |
- | (1) |
| Lecture 6 (29-1-09) |
Operations in the Instruction Set, Type and size of operands, Instruction set encoding, Role of compilers |
- | (1) |
| Lecture 7 (4-2-09) |
Designing Instruction Set Architecture | - | (1) |
| Lecture 8 (5-2-09) |
Pipelining | - | (1) |
| Lecture 9 (11-2-09) |
Pipelining | - | (1) |
| Lecture 10 (12-2-09) |
Pipelining: The basic pipeline for DLX | - | (1) |
| Mid Sem Exam (26-2-09) |
Question Paper | Model Solution (partial) | |
| Lecture 11 (04-3-09) |
Pipelining: Structural Hazards | - | (1) |
| Lecture 12 (05-3-09) |
Pipelining: Data Hazards | - | (1) |
| Lecture 13 (12-3-09) |
Pipelining: Data Hazards, Data Hazard requiring stalls, Compiler Scheduling for Data Hazards |
- | (1) |
| Lecture 14 (18-3-09) |
Pipelining: Control Hazards | - | (1), handout given |
| Lecture 15 (19-3-09) |
Instruction Level Parallelism (ILP) | - | (1) |
| Lecture 16 (25-3-09) |
ILP; Data, Name and Control dependences | - | (1) |
| Lecture 17 (01-4-09) |
ILP: Overcoming Data Hazards with Dynamic Scheduling |
- | (1) |
| Lecture 18 (02-4-09) |
Dynamic Scheduling with Scoreboards | - | (1) |
| Lecture 19 (08-4-09) |
Dynamic Scheduling with Scoreboards | - | (1) |
| Lecture 20 (09-4-09) |
Dynamic Scheduling with Tomasulo's Algorithm |
- | (1) |
| Lecture 21 (13-4-09) |
Dynamic Scheduling with Tomasulo's Algorithm |
- | (1) |
| Lecture 22 (15-4-09) |
Reducing Branch Penalties with Dynamic Hardware Prediction |
- | (1) |
| Lecture 23 (16-4-09) |
Superscalar Architecture | - | (1) |
| Lecture 24 (17-4-09) |
VLIW | - | (1) |
| Lecture 25 (19-4-09) |
Cache and its Performance | - | (1) |
| Lecture 26 (20-4-09) |
Improving Cache Performance | - | (1) |