Develop an understanding of the architecture and implementation of modern
desktop, server, and embedded processors.
Understand the interdependence of architectural and implementation decisions
through quantitative analysis and evaluation of modern computing systems,
such as the selection of appropriate benchmarks to reveal and compare the
performance of alternative design choices in system design.
Prerequisites
CSCI 171 (Computer Architecture)
Approach
Study architecture by topics, using relevant portions of various real
computers to illustrate each topic. Study implementation chiefly
through the detailed examination of one simple, complete computer.
Supplement the textbook with selected readings from the literature.
Do not emphasize programming or hardware laboratory.
Typical Text
John L. Hennessy and David A. Patterson, 2002. Computer Architecture: A Quantitative Approach, 3/e.
Morgan Kaufmann Publishers, San Francisco, California.
Recommended Reference
David A. Patterson and John L. Hennessy, 2004. Computer Organization and Design, 3/e.
Morgan Kaufmann Publishers, San Francisco, California.
Course Coverage
Basics of machine organization (review)
CPU
Datapath
Control: hardwired and microprogrammed
Memory
Principles of instruction set design
Instruction formats
Memory addressing
Types of instruction operators (including synchronization primitives,
and their implementations on pipelined Load / Store machines)
Sizes of operands
How programs (and machines) behave--dynamic frequencies
Computer arithmetic
Fast add, multiply and divide units
Floating point arithmetic and the IEEE Floating Point Standard
Pipelining (instruction level parallelism)
Basics: notations, speedup, classification of pipelines