Advanced Computer Architecture
Instructor: Jim Plusquellic
Prerequisite: CMSC 411 or equivalent
Text: Computer Architecture: A Quantitative Approach, by Hennessy and Patterson.
-
Measuring Performance & Cost
Performance measurement
Benchmarks
-
Costs of building computers
Price/performance
Instruction Sets
Classifying instruction sets
Interactions between languages and instruction sets
Measuring instruction set usage
Instruction set examples
-
Improving CPU Performance: Pipelining
Basic pipelining
Data & control hazards
Dynamic instruction scheduling
Branch prediction
Instruction-level parallelism
-
Memory Hierarchies
Evaluating memory hierarchy performance
Cache design & optimization
Virtual memory design
Memory protection
Memory coherency
-
Storage Systems
Types and uses of storage devices
Interfacing I/O to the rest of the system
Reliability and availability
I/O system design
-
Multiprocessors
Classifying parallel architectures
Centralized vs. distributed shared memory
Interconnection topologies
Synchronization
Memory consistency