Computer Architecture [UG] (ELL305)

The course is to be jointly taught by Tapan K Gandhi, Sumantra and Subrat Kar. This page houses the part to be covered by the second instructor, Sumantra.


General Information

Apart from those who have to take this courses as a Program Core (PC), people are also welcome to sit through the course.

Credits: 3 (LTP: 3-0-0) [Slot E]

Schedule for Classes:

Tuesday
10:00 - 11:00
LH-325
Wednesday
10:00 - 11:00
LH-325
Friday
10:00 - 11:00
LH-325

Schedule for Examination:

(To be announced)

Teaching Assistants: 

Bidisha Dhara
Komal Arya

Books, Papers and other Documentation

Basic Texts:

Reference Books:

The above list is (obviously!) not exhaustive. Other reference material will be announced in the class. The Web has a vast storehouse of tutorial material on Computer Organisation/Architecture other related areas.

Lecture Schedule, Links to Material (where applicable)

Please see the link to the I Sem (Autumn) 2022-2023 offering of this course, for an idea of the approximate structure of the course. In case the files themselves (on the MS-Teams forum) are not accessible, one can try the alternate link here: [Link]
S.No.
Topics
Lectures
Instructor
References/Notes
1
Introduction:
Basic introduction to memory hierarchy.
01-03
SDR
The von Neumann and Harvard models. Instructions, memory, ALU, CPU, registers. Who addresses and access what. Instructions and data for a CPU.
20 Aug (Tue) {lecture#SDR-01} 10:00am-11:00am
SDR


MS-Teams folder: video_intro1_20aug24.mp4, lecture_notes_intro1_20aug24.pdf
How does a computer boot up? (contd.) Where does an Operating System come in? Miscellaneous concepts.
21 Aug (Wed) {lecture#SDR-02} 10:00am-11:00am
SDR
MS-Teams folder: video_intro2_21aug24.mp4, lecture_notes_intro2_21aug24.pdf
Modalities for I/O, memory-mapped and direct I/O, ROM.
23 Aug (Fri) {lecture#SDR-03} 10:00am-11:00am
SDR
MS-Teams folder: video_intro3_cache1_23aug24.mp4, lecture_notes_intro3_23aug24.pdf
2
Caches
Types and Designs, Multiprocessor systems.
03-09
SDR
[HP5, HP6] Cache Basics: Appendix B: Review of Memory Hierarchy. Sections B.1 and B.2 Multiprocessor Cache Coherence: Chapter 5: Thread-Level Parallelism. Sections 5.1 and 5.2
The memory hierarchy. What is a cache, and what is the role of a cache. The need for a cache, predictions. The special role of a cache for DSPs: caching data and instructions. The Harvard Architecture for caches. Caches for general purpose processors.
23 Aug (Fri) {lecture#SDR-03} 10:00am-11:00am
SDR
MS-Teams folder: video_intro3_cache1_23aug24.mp4, lecture_notes_cache1_23aug24.pdf
The four basic cache questions. Cache organisation: direct mapped, fully associative and set associative. Cache and memory blocks, and address spaces.
Cache block replacement: LRU, and alternatives.
Cache write strategies: Write-Through and Write-Back. Advantages and disadvantages of each.
27 Aug (Tue) {lecture#SDR-04} 10:00am-11:00am
SDR
MS-Teams folder: video_cache2_27aug24.mp4, lecture_notes_cache2_27aug24.pdf
Write Allocate and No Write Allocate: an introduction. An example of Write Allocate and No Write Allocate.
Some RISC basics. Structural Hazards.
Cache operation: a complete (loaded!) numerical example with split and unified caches. This will illustrate basics of cache operations, and practical issues with split and unified caches.
28 Aug (Wed) {lecture#SDR-05} 10:00am-11:00am
SDR
MS-Teams folder: video_cache3_28aug24.mp4, lecture_notes_cache3_28aug24.pdf
Cache operation: the complete (loaded!) numerical example with split and unified caches (contd).

Introduction to Multiprocessor Cache Coherence. Centralised shared memory architectures. Snooping Protocols: The popular Write Invalidate Protocol. Issues and basic philosophy. The three possible states of a cache block.
30 Aug (Fri) {lecture#SDR-06} 10:00am-11:00am
SDR
MS-Teams folder: video_cache4_30aug24.mp4, lecture_notes_cache4_30aug24.pdf
03 Sep (Tue) {lecture#TKG-11} 10:00am-11:00am
TKG
The Write Invalidate Protocol, in all its gory details (contd).
04 Sep (Wed) {lecture#SDR-07} 10:00am-11:00am
SDR
MS-Teams folder: video_cache5_04sep24.mp4, lecture_notes_cache5_04sep24.pdf
06 Sep (Fri) {lecture#TKG-12} 10:00am-11:00am
TKG
10 Sep (Wed) {lecture#TKG-13} 10:00am-11:00am
TKG
11 Sep (Wed) {lecture#TKG-14} 10:00am-11:00am
TKG
MidTerm-1
17 Sep (Tue) 10:30am-12:30pm
TKG
The Write Invalidate Protocol, in all its gory details (contd).
20 Sep (Fri) {lecture#SDR-08} 10:00am-11:00am
SDR
MS-Teams folder: video_cache6_vm1_20sep24.mp4, lecture_notes_cache6_vm1_20sep24.pdf
3
Memory:
Virtual Memory.
10-11
SDR
[HP5, HP6] Virtual Memory: Appendix B: Review of Memory Hierarchy. Section B.4
Introduction to Virtual Memory: Paging and Segmentation
20 Sep (Fri) {lecture#SDR-08} 10:00am-11:00am
SDR
MS-Teams folder: video_cache6_vm1_20sep24.mp4, lecture_notes_cache6_vm1_20sep24.pdf
Introduction to Virtual Memory: Paging and Segmentation (contd).
24 Sep (Tue) {lecture#SDR-09} 10:00am-11:00am
SDR
4
Some aspects of RISC:
Hazards, RISC characteristics, RISC optimisation.
09-11
SDR
[HP5, HP6] Virtual Memory: Appendix B: Review of Memory Hierarchy. Section B.4
Some basic characteristics of RISC processors, RISC pipelines.
24 Sep (Tue) {lecture#SDR-09} 10:00am-11:00am
SDR
MS-Teams folder: video_vm2_risc1_24sep24.mp4, lecture_notes_vm2_risc1_24sep24.pdf
Simple RISC pipelines: hazards (data, structural, control). The delayed brach. The optimised delayed branch. Introduction to static pipeline scheduling: a loaded example.
25 Sep (Wed) {lecture#SDR-10} 10:00am-11:00am
SDR
MS-Teams folder: video_risc2_25sep24.mp4, lecture_notes_risc2_25sep24.pdf
Basic pipeline scheduling and loop unrolling. An example of a C loop translated to basic MIPS assembly code.
26 Sep (Thu) {lecture#SDR-11} 08:30pm-09:08pm [Online-Only Class]
SDR
MS-Teams folder: video_risc3_26sep24.mp4, lecture_notes_risc3_26sep24.pdf
---
01 Oct (Tue) {lecture#SDR-11} 10:00am-11:00am
(No Class)
---
Loop unrolling. Loop unrolling with scheduling.
04 Oct (Fri) {lecture#SDR-12} 10:00am-11:00am
SDR
MS-Teams folder: video_risc4_pipeline1_04oct24.mp4, lecture_notes_risc4_pipeline1_04oct24.pdf
5
Some pipelining theory:
Parameters, Static and Dynamic Scheduling, Optimisation.
12-14
SDR
[P. Kogge]
Parameters: Clock period/frequency, Speedup, Efficiency, Pipeline throughput. The concept of a reservation table as a function. Collisions. Compute time. Static and Dynamic pipelines. Examples: Reservation Table A and Reservation Table B.
04 Oct (Fri) {lecture#SDR-12} 10:00am-11:00am
SDR
MS-Teams folder: video_risc4_pipeline1_04oct24.mp4, lecture_notes_risc4_pipeline1_04oct24.pdf
The depressing worst-case bound: exponential. The MAL Lemma (Lemma 3-1), and its (easy) proof. The need for a better (more compact) representation, than a reservation table: Collision Vectors. State diagrams (modified state diagrams, actually). FSM modelling of the pipeline scheduling problem.
15 Oct (Tue) {lecture#SDR-13} 10:00am-11:00am
SDR
MS-Teams folder: video_pipeline2_15oct24.mp4, lecture_notes_pipeline2_15oct24.pdf
Lemma 3-2: finding simple cycles suffices. Lemma 3-3: the upper bound. Proof of both. The combined lemmas, and the best and worst case scenarios.
16 Oct (Wed) {lecture#SDR-14} 10:00am-11:00am
SDR
MS-Teams folder: video_pipeline3_16oct24.mp4, lecture_notes_pipeline3_16oct24.pdf
MidTerm-2
18 Oct (Fri) 06:00pm-07:30pm
SDR
[Paper-and-pen exam, as described in the relevant email]

[Internal Link: IIT Delhi]


Examinations and Grading Information

The marks distribution is as follows (out of a total of 100):
MidTerm-2
33 (SDR)

Attendance Requirements:

Attendance requirements: according to the IITD policy for Online Semesters
Illness policy: illness to be certified by a registered medical practioner.
Attendance in Examinations is Compulsory.


Course Feedback

Link to Course Feedback Form
Tapan K. Gandhi, Sumantra Dutta Roy, Subrat Kar Department of Electrical Engineering, IIT Delhi, Hauz Khas,
New Delhi - 110 016, INDIA. tgandhi@ee.iitd.ac.in, sumantra@ee.iitd.ac.in, subrat@ee.iitd.ac.in