Semesters Offered

Learning Objectives

  • Develop a deep understanding of the formats in which computers take instructions
  • Develop a conceptual understanding of how to estimate the CPU performance and what are the underlying parameters
  • Develop an understanding of what are the significant modules and components in modern CPUs and how are they interconnected
  • Develop mechanisms for improving the CPU performance using pipelining, and also techniques for addressing the associated hazards
  • Techniques for improving the CPU memory interface using cache memory
  • Ability to design a basic CPU that supports a given set of instructions and also engineering methods for improving its performance

Topics Covered

  • Instruction Set Architecture
  • Computer Arithmetic
  • Processor Datapath and Control
  • Pipelining
  • Cache
  • Virtual Memory