Semester Offering: August

To provide an understanding of the components of computer hardware and their interactions, as well as the technological principles driving development in computer hardware.


Introduction to Computer Architecture. Central Processing Unit. Instruction Sets and Assembly. Computer Logic and Arithmetic. Memory Systems. Pipelining. Microprogramming. Multicycling. Parallelism. Interfacing Peripherals. Multiprocessors. Case Studies of Modern Computer Architectures. Simulator Laboratory. Selection of Advanced Topics.




I Introduction to Computer Architecture
  1. History and Evolution of Computer Systems
  2. Fundamentals of Design
  3. Performance Metrics
  4. Case Study: SPECS95 Benchmark Suite
II Instruction Sets
  1. Hardware Operations Basics
  2. Registers and Operands
  3. Instruction Sets and Representation
  4. Assembly
  5. Case Study: MIPS
III Computer Logic and Arithmetic
  1. Logical Operations
  2. Arithmetic Operations
  3. Floating Point Computation
  4. Case Study: MIPS
IV CPU: Data and Control
  1. Datapaths
  2. Multiprogramming
  3. Multicycling
  4. Pipelining
  5. Data Hazards, Forward and Stalls Case Study: Implementing MIPS, Pentium Pro, PowerPC 604
V Memory Systems
  1. Memory Hierarchy and Organization
  2. Virtual Memory
  3. Cache and High-Speed Memory
  4. Case Study: Pentium Pro, PowerPC 604
VI Interfacing Peripherals
  1. I/O Types
  2. Measures for I/O Performance
  3. Connecting Peripherals via Buses
  4. Interfacing Peripherals with the CPU and Operating System
  5. Case Study: A Typical Desktop
VII Multiprocessors
  1. Programming Multiprocessors
  2. Networks and Network Topologies
  3. Bus Connection
  4. Clusters
VIII Special Topics (selective)
  1. Instruction-level Parallelism
  2. Memory Hierarchy Design
  3. Thread-level Parallelism
  4. Current Topics



D.A. Patterson and J.L. Hennessy:
      Computer Organization and Design : The Hardware/Software Interface (2nd edition), Morgan Kaufmann, 1998.
Lecture Notes.


J.D. Carpinelli:
      Computer Systems Organization & Architecture, Addison-Wesley, 2000.
J. L. Hennessy and D.A. Patterson:
      Computer Architecture : A Quantitative Approach (3rd Edition), Morgan Kaufmann, 2003.
A.S. Tanenbaum:
      Structured Computer Organization (4th Edition), Prentice-Hall, 1998.
R. Williams:
      Computer Systems Architecture: A Networking Approach, Addison-Wesley, 2001.


The final grade will be computed from the following constituent parts:       

      Mid-semester exam (25-40%)
      Final exam (25-40%)
      Assignments/projects/presentations 20-50%).

Open/closed-book examination is used for both mid-semester and final exam.