Computer architecture is about making computing hardware and software
operate as fast as possible and for the minimum cost. Over the years
improvements in technology and advances in computer architecture have
resulted in huge increases in computer performance.
This course examines the fundamentals of high-performance computer
architecture and looks at how the
interface between hardware and software (architecture and compiler)
Performance evaluation methods and metrics,
principles of high performance design,
Processor Design, Pipelines and Parallel
Instruction set classes, registers, memory addressing, instruction set
Essential elements of a high performance processor.
Pipeline design, pipeline hazards & interlocks, out-of-order
execution, scoreboards and reservation stations. Control prediction
techniques and their exploitation.
Memory System Design
Memory hierarchies. Basic cache design and improvements.