Computer System Aarchitecture (CS5202)

Dept of Computer Sci and Engg
Indian Institute of Technology Tirupati, India


This is a master level course on Computer Architecture. The objective is to study the architectural concepts and to understand some of the issues of current computer architecture and design (microarchitecture). The primary attention of the course will be on performance enhancement. The power and energy efficient architecture will also be discussed. The course has companion CS5292 as a laboratory course where the programming, simulator (design and use), and analysis related exercises will be carried out.

Here is the course content: cs5202 content.
Here is a link to laboratory course: cs5292

Following would be the tentative lecture plan.
<-->
Lecture 0 (Jan 14): Organisational meeting; Presentation, Handnotes
Additional material:
  • Moore law: past, present and future, IEEE spectrum, June 1997. IEEE Explorer
  • Gordon Moore, Intel-Memories and the Mircoprocessor, MIT Press 1996. jstor link
Lecture 1 (Jan 16): Performance modeling and measurement; Presentation, Handnotes
Additional material:
Lecture 2 (Jan 21): Benchmark program and reporting/summarising performance; Presentation, Handnotes
Additional material:
  • Chapter 1, Computer Architecture: A Quantitative approach, 5th/6th Edition
  • J.E. Smith, Characterizing Computer Performance with a Single Number, CACM Volume 31, Issue 10 (October 1988), pp.1202-1206
  • Lecture notes of Prof Milo
Lecture 3 (Jan 23): Measuring and modeling the power and energy consumption;
Additional material:
Lecture 4 (Feb 4): Memory system concept and design; Presentation
Reading Materials:
  • Chapter 5, Implementation Issues; Memory Systems: Cache, DRAM, Disk; Bruce Jacob .
  • This lecture has been merged with Memory System design
Lecture 5 (Feb 11): Instruction set principles Presentation
Reading Materials:
  • Appendix A: Instruction Set Principles; 5th/6th Edition of Computer Architecture Quantitative Approach.
Practice problem sets:
From 2019 course:
Lecture 6 (Feb 13): Comparison of ISAs (RISC-V, X86, ARM) Presentation
Reading Materials:
  • RISC-V: Appendix A and Appendix K , Computer Architecture Quantitative Approach, 6th Edition.
  • MIPS: Appendix A and Appendix K , Computer Architecture Quantitative Approach, 5th Edition.
  • (ARM64: Read from the ARM ISA manual (This will not be part of theory syllabus, this will be explored in Laboratory.))
  • X86_64: Appendix K , Computer Architecture Quantitative Approach, 5th/6th Edition.
Lecture 7 (Feb 18): Cache Memory Architecture: Presentation Handwritten notes
Reading Materials:
  • Appendix B: Review of Memory Hierarchy, Hennessy and Patterson, Computer Architecture Quantitative Approach, 5th Edition
  • Chapter 5: Exploiting Memory Hierarchy, Patterson and Hennessy, Computer Organisation and Design, 5th Edition or ARM Edition
Lecture 8 (Feb 20) : Cache Memory Operations: Four Questions Presentation
Reading Materials:
  • Appendix B: Review of Memory Hierarchy, Computer Architecture Quantitative Approach, 5th Edition.
  • Case study: AMD Opteron Data Cache
Lecture 9 (Feb 27): Cache Memory Performance and Optimization Handwritten Notes | Problem set 9.1
Reading Materials:
  • Appendix B: Review of Memory Hierarchy; Computer Architecture Quantitative Approach, 5th Edition.
  • Chapter 2: Memory Hierarchy Design; Computer Architecture Quantitative Approach, 5th Edition: Presentation
  • Aspect of Cache Memory and Instruction Buffer Performance, Mark D Hill, Technical Report, UC Berkeley Link
Lecture 10 (March 12): Ten Advanced Cache Optimization Techniques Presentation
Reading Materials:
  • Chapter 2: Memory Hierarchy Design; Computer Architecture Quantitative Approach, 5th Edition
  • Lecture notes of Prof David Brooks could also be referred.
Lecture 11 (Mar 17): Main Memory: Design and Architecture, Presentation
Reading Material:
  • Bruce Jacob, Spencer Ng, and David Wang; Memory Systems: Cache, DRAM, Disk; 2008, Elesevier. (Refer: Chapter 10 and Chapter 8)
  • Onur Mutlu, Scalable Memory System Lectures, Lecture 1, Lecture 2 and Lecture 3; Link
  • Text Book (H&P): Memory Technology and Optimization, Chapter 2.
Lecture 12 (Mar 17): Virtual Memory System; Presentation
Reading Material:
  • Patterson and Henessay; Computer Organization and Design: Hardware/Software Interface, 5 th Edition (Refere Chapter 5, Section 5.7)
  • Henessy and Patterson; Computer Architecture: Quantitative Approach, (Refer Chapter 2)
Lecture 12 (Mar 17): Home Task: Virtual memory case study: ARM and Intel
Reading materials:
  • ARM Cortex A8 Vs Intel Core i7: Memory Hierarchy from Text book.
Lecture 13 (Mar 19): Instruction level parallelism: Presentation
Reading material:
  • Preliminary on Pipeline architecture: Presentation
  • Appendix C: Henessy and Patterson, Computer Architecture Quantitative Approach
  • Chapter 4: Patterson and Henessy, Computer Organisation and Design
  • N Jouppi and D Wall, Available Instruction Level Parallelism for Superscalar and Superpipeline Machines, WRL Research Report 89/7
Lecture 14 (Mar 24): Superscalar architecture: Introduction Presentation
Reading materials:
  • Chapter 4: Shen and Lipasti, Modern Processor Design
Term projects (Mar 30): List of projects List
Reading materials:
  • Shen and Lipasti, Modern processor design
  • Henessy and Patterson, Computer Architecture: Quantitative Approach, 5th or 6th Edition
  • Listed literaure
Lecture 15 (Mar 31): Issues in Superscalar architecture Presentation
Reading materials:
  • Chapter 5: Shen and Lipasti, Modern processor design:
  • Chapter 3: Henessy and Patterson, Computer Architecture: Quantitative Approach, 5th or 6th Edition
Lecture 16 (Apr 2): Branch speculation and predictors Presentation
Reading materials:
  • Advance branch prediction technique, Chapter 5, Shen and Lipasti
  • Reducing branch cost with advanced branch prediction, Chapter 3, Computer Architecture: Quantitative Approach
  • A PPM-like, tag-based branch predictor, Pierre Michaud, Journal of Instruction Level Parallelism, Vol 7, 2005
Lecture 17 (Apr 7): Scheduling and Memory Data flow Presentation
Reading materials:
  • Superscalar Techniques, Chapter 5, Shen and Lipasti
  • Chapter 3, Henessy and Patterson, Computer Architecture
Syllabus for End-term test: Test includes only Lecture 7 to Lecture 17: Syllabus
Reading materials:
  • All the reading materials are listed in the document itself.
Lecture 18 (Apr 9): Thread level parallelism Introduction Presentation
Reading Materials:
  • Multithreading Architecture, Synthesis Lecture on Computer Architecture
  • Chapter 3, Henessy and Patterson, Computer Architecture
Lecture 19 (Apr 14): SMT-Simultaneous Multithreading Presentation
Reading Materials:
  • Multithreading Architecture, Synthesis Lecture on Computer Architecture
  • Chapter 3, Henessy and Patterson, Computer Architecture
Lecture 20 (Apr 16): Research in Computer Architecture, Presentation will be uploaded next
End of class The course ends here, schedule for final test is based on the Covid situation!
Lecture 21 (TBS): Multiprocessor: Shared memory architecture
Lecture 22 (TBS): Synchronization and Memory consistency
Lecture 23 (TBS): Vector architecture
Lecture 24 (TBS): SIMD and Graphics processing unit
Lecture 25: Discussion 1: Project and problem set
Lecture 26: Discussion 2: Project and problem set

Useful Resources

Wisconsin Computer Architecture Research
WWW Architecture Page: Link
People: Mark D Hill, Mikko Lipasti, Gurinder Sohi, James E Smith, Karu Shankara Lingam Home page
Synthesis Lecture on Computer Architecture:
Collection of lecture/research notes: Morgan Claypool
Books
Henessy and Patterson; Computer Architecture Quantitative Approach, 5th Edition Elsevier
Shen and Lipasti; Modern Processor Design: Fundamentals of Superscalar Processors, 1st Edition Waveland Press, or Tata McGrow Hill
Culler, Singh and Gupta; Parallel Computer Architecture: HW/SW Approach, Elsevier
Selected courses around the world:
Prof. David Brooks, Harvard CS146/246
Dr. Arka Basu, IISc E0-243
Prof Onur Mutlu, CMU: Course page
Computer Architecture Tools :
Simulators (listed by Prof Israel Koren): List 1
Second List List 2
Conferences/Journals
MICRO, ISCA, HPCA, HiPC, ICCD, Architecture Letter, and few others.
Microsoft Academic: Everything on Computer Science
DBLP Bib Everything on Computer Science