Objective:
This course teaches students fundamental knowledge in computer architecture and microarchitecture. The course covers the basic organizations of computer
systems including instruction-set architecture, execution pipeline, memory
hierarchy, and I/O subsystem. It also addresses advanced processor
microarchitecture issues such as dynamic instruction scheduling, branch
prediction, lock-up free caches, instruction-level parallelism, multiple
instruction fetch/issuing, speculative execution, etc. to improve computer
processor performance. Shared-memory multiprocessor systems with coherent
caches to reduce memory access latency are also covered. Finally, it
outlines the verification issues of today's microprocessors.
Course Outline: Tentative course outline is shown below.