ECE 721 Advanced Microarchitecture
3 Credit Hours
Survey of advanced computer microarchitecture concepts. Modern superscalar microarchitecture, complexity-effective processors, multithreading, advanced speculation techniques, fault-tolerant microarchitectures, power and energy management, impact of new technology on microarchitecture. Students build on a complex simulator which is the basis for independent research projects.
Prerequisite
Microprocessor Architecture (NC State ECE 563) AND Strong C/C++ programming skills.
Course Objectives
- Gain in-depth understanding of contemporary superscalar microarchitecture.
- Gain in-depth understanding of advanced microarchitectures for overcoming major performance bottlenecks (e.g., trace cache, value prediction, control independence, large-window processors, simultaneous multithreading, pre-execution).
- Build upon a detailed, execution-driven, execute-at-execute, cycle-level simulator (“721sim”), which is the basis for student-defined research projects.
Course Requirements
| Task | Detail | Percentage |
|---|---|---|
| Projects (total) | 65% | |
| ILP Limit Study | 5% | |
| Register file and renaming module | 10% | |
| Working with full simulator, coding key parts of issue/execution pipeline | 10% | |
| Final project, paper, and talk | 40% | |
| Midterm exam | 15% | |
| Final Exam | 15% | |
| Quizzes | (12-15) | 5% |
Textbook
None.
Software Requirements
General purpose programming tools (compilers, debuggers, git, etc.) and EDA tools are available on ECE servers. We also use NC State’s HPC cluster during the final project for experiments.
Updated: 10/28/2025.