Learning Objective

  • Learn and appreciate computer architecture with an emphasis on system design, performance and analysis.
  • Elevate thinking process to the level of performance improvement techniques for recent multi-core architectures.
  • Understand and analyze events happening at hardware level with the help of open source simulators.
  • Enable exploration of future directions in computer architecture research.

Focus

  • Part A: Processor design trends - instruction pipeline concepts, pipeline hazards, out-of-order execution, static and dynamic scheduling, advanced branch prediction techniques, multiple issue superscalar processors, vector and GPU architectures.
  • Part B: Cache memory concepts and optimization techniques, DRAM organization, memory controllers. Many-core processors; principles, design concepts and microarchitecture of NoC.
  • Part C: Exploration in system design and analysis with the help of open source architecture simulator GEM5