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.
|