Computer Architecture

Course: ELL782 and SIL 618
Semester I, 2022-23
Credits: 3 (3-0-0)



Instructor: Dr. Smruti R. Sarangi

Lectures
: Slot M: Monday and Thursday: 5 to 6:30 PM, II LT 3
Course Description: This course will give an introduction to designing and programming high performance processors.

Evaluation
  1. Assembly language programming: bubble sort and recursive merge sort (10%)
  2. Design of a CNN-based neural network processor in MyHDL (20%)
  3. 5 Quizzes (25%)
  4. Minor: 20%
  5. Major: 25%

Audit criteria: 40% overall.

Piazza link:  piazza.com/iit_delhi/fall2022/ell782

Teaching Assistants
    1. Akanksha Dixit
    2. Nivedita Shrivastava

Textbook:
Main Textbook: Advanced Computer Architecture:
Advanced Computer Architecture (link to the book)
Background on processors and caches: Basic Computer Architecture (link)


Date
Slides
References
Week 1


Basic Computer Architecture
Chapter 3
Week 2

Chapter 8
Only Part I
Week 3

Chapter 9
All four parts
Week 4
Slides: Chapter 2
Chapter 2 [Advanced Architecture book]:
1. Summary of in-order pipelining [YouTube]
Week 5:
Slides: Chapter 3
2. Motivation for OOO pipelines [YouTube]
    Interaction between the architecture and OS [pdf]
3. Register renaming and precise exceptions [YouTube]
Chapter 3:
1. Fetch logic and predicting if an instruction is a branch or not. [YouTube]
Week 6:
Slides: Chapter 4
2. Branch prediction [YouTube]
3. Decode stage [YouTube]
Chapter 4:
1. Instruction renaming [YouTube]
Week 7:

2. Wakeup, select, and broadcast [YouTube]
3. Load store queue [YouTube]
Week 8:

Slides: Chapter 5
4. Instruction commit [YouTube]
Chapter 5:
1. Aggressive Speculation [YouTube]
2. Replay schemes [YouTube]
Week 9:

Chapter 7: Caches Chapter 5:
3. Compiler based techniques [YouTube]
Chapter 7:
1. Overview of caches [YouTube]
2. Cache optimizations and virtual memory [YouTube]
Week 10:

Chapter 9: Multicore Systems
3. SRAM and CAM arrays [YouTube]

Chapter 9: (Multiprocessor Systems)
Coherence, Consistency, and Memory Models
1. Parallel programming and hardware threads [YouTube]
2. Theoretical foundations: overview of coherence and consistency [YouTube]
Week 11:
Chapter 13: Security
Security:
Chapter 13
1. Cryptographic fundamentals and encryption [YouTube]
2. Hashing and secure processors [YouTube]