ENEE 759M: Advanced Topics in Microarchitecture


Course Goals:

This course gives graduate-level students a close look at advanced research in computer architecture, as well as the mechanisms that researchers in architecture use to conduct their research. The readings will come from the most recent conference proceedings in architecture (see below). The class will cover two to four research papers per week.

Course Prerequisite(s):

ENEE 446 or architecture equivalent, ENEE 459S/488S or operating systems equivalent

Topics Prerequisite(s):

Basic understanding of computer architecture and operating systems topics including the purpose and function of caches, register files, processor pipelines, I/O architectures, process and memory management, memory addressing and virtual memory architectures.

Course Readings:

Readings will be selected from conference proceedings for
  • ISCA (International Symposium on Computer Architecture)
  • ASPLOS (Architectural Support for Programming Languages and Operating Systems)
  • MICRO (International Symposium on Microarchitecture)
  • HPCA (High-Performance Computer Architecture)

Recommended Textbook:

Superscalar Microprocessor Design, Mike Johnson. Prentice-Hall, 1991.
This textbook (Johnson's thesis) serves as a good reference text for many of the concepts and mechanisms discussed in this course. In his thesis, Johnson described the implementation of a superscalar x86 processor; he went on to found AMD, using the design ideas outlined in his thesis.

Some Core Topics:

  • Pipeline organizations: single-issue, multi-issue, multi-threaded, in-order, out-of-order
  • Cache organizations: split, unified, lockup-free, associative, virtual vs. physical
  • Prefetching algorithms: hardware-based, software-based, hybrid
  • Branch prediction: one-level, two-level, dynamic, static, hybrid
  • Operating systems considerations: process management, memory management, device management

Some Optional Topics:

  • Multiprocessor systems: single-chip, bus-based, networked
  • Computer architecture case studies: Newest/hottest releases of Alpha, MIPS, PA-RISC, PowerPC, SPARC, X86, etc.

Approach and Grading:

This course will be conducted as a seminar course, with emphasis on group discussion whenever possible. The amount of work will be relatively light, the amount of reading will be heavy (students will be expected to read two to four research papers per week). The grade will be determined by a research report on a research project completed during the semester (research topics are to be approved by the instructor) and a final exam. To help students begin their project, there will also be discussion of the various methodologies (e.g. simulation) used to perform research, and the students will become very familiar with such simulation tools as simplescalar and ATOM.