- Design of modern processor architectures (3 weeks)
Introduction to pipelining, instruction scheduling, branch processing,
out of order execution, dealing with dependences.
Current processor architectures are used to illustrate concepts.
- Uniprocessor memory hierarchy design (2 weeks)
Principals of memory hierarchy design including
design of multi-level caches and virtual memory systems.
- Multiprocessor design (4 weeks)
- Snoopy cache based shared memory architectures
- Sequential consistency, weak consistency, release consistency
- Managing a multiprocessor memory hierarchy: tolerating
and avoiding latency
- Hardware and software support for distributed shared memory
- High performance networks (4 weeks)
Backplane, peripheral I/O channel, local area networks,
wide area networks
- Design of high bandwidth, low latency multiprocessor networks
- HIPPI, Fibre Channel and Asynchronous Transfer Mode (ATM)
- Local area network software, hardware able to support
closely coupled workstation networks
- I/O subsystems (4 weeks)
Design and modeling of disks, disk caches,
Redundant Arrays of Inexpensive Disks (RAID) devices.
Parallel I/O subsystems, parallel file systems.
Flash memory.