University of Colorado at Boulder
University of Colorado at Boulder Search A to Z Campus Map CU Search Links
ECE Home

ECEN Courses

Undergraduate
Graduate
Course List
Research
Contact Us

ECEN 5593 - Advanced Computer Architecture (cross-listed with)
CSCI 5593 - Advanced Computer Architecture

3 credit hours

Catalog Description: A broad scope treatment of important concepts in the design and implementation of high-performance computer systems. The course presents the principles, characteristics, and trends of computer systems design at a level appropriate for all computer scientists and computer engineers. It expands on the role o f a traditional computer architecture course, focussing largely on the hardware design, to include aspects of the complete system, comprising the hardware, operating system, compilers, and application software.

Prerequisite: ECEN 4593, Computer Organization

Textbook:

Goals: To introduce the student to advanced architectural techniques for the design of large computer systems. To teach the breadth of possibilities for influencing and improving various performance parameters of computer systems. Discusses important issues in system design, microarchitecture, cache memory design, compilers, and operating systems. Studies include current and historically important computer architectures, and students gain skillful experience in modeling modern systems and using state-of-the-art performance analysis tools.

Topics:

  1. Introduction and historical survey.
  2. General design principles.
  3. Issues in pipelining -- timing and skew, treatment of hazards.
  4. Characterizing cost and performance.
  5. Instruction-level parallelism.
  6. Thread-level parallelism.
  7. Branching (branch prediction) and interrupts in pipelined machines.
  8. Cache memories (design issues) and prefetching.
  9. Case studies: the CDC 6600 and the Scoreboard; the IBM 360/91 and Tomasulo's algorithm; Intel Pentium-4, Intel/HP Itanium, Hyperthreading;
  10. Architecture paradigms: superscalar (out of order) machines; VLIW machines, EPIC machine, SMT architectures.
  11. Compiler optimization techniques (loop unrolling, software pipelining).
  12. Power-aware computing.
  13. Embedded processor design.
Class schedule: Computer Usage:
  1. Architecture techniques using the PIN instrumentation toolset.
  2. Modern optimizing compilers and profiling tools.
Contribution of course to meeting the professional component: Relationship of course to program objectives: