http://www.cs.wisc.edu/~arch/uwarch/courses/cs552.html
The design of computer systems and components. Processor design, instruction set design, and addressing; control structures and microprogramming; memory management, caches, and memory hierarchies; interrupts and I/O structures.