Skip to navigation | Skip to main content | Skip to footer
Menu
Menu

COMP30001: High Performance Microprocessors (2009-2010)

This is an archived syllabus from 2009-2010

High Performance Microprocessors
Level: 3
Credit rating: 10
Pre-requisites: COMP10031 and COMP20051
Co-requisites: No Co-requisites
Duration: 11 weeks
Lectures: 24
Lecturers: John Gurd
Course lecturer: John Gurd

Additional staff: view all staff
Timetable
SemesterEventLocationDayTimeGroup
Sem 1 w1-5,7-12 Lecture G33 Thu 12:00 - 13:00 -
Sem 1 w1-5,7-12 Lecture G33 Fri 12:00 - 13:00 -
Assessment Breakdown
Exam: 100%
Coursework: 0%
Lab: 0%
Degrees for which this unit is optional
  • Artificial Intelligence BSc (Hons)

Introduction

It is perfectly possible to write programs and get them to work without much detailed understanding of either (1) how a compiler turns the source code into machine code, or (2) how a computer executes the machine code. However, to make the resulting program run quickly (perform well), such an understanding is essential. This course provides the necessary material in the context of modern microprocessor designs. The course is based on the renowned book "Computer Architecture - A Quantitative Approach" by John Hennessy and David Patterson.

Aims

Modern computer systems are almost exclusively constructed from single-chip microprocessors, increasingly now with multiple core Central Processing Units. As fabrication density and integration levels have increased, microprocessor manufacturers have adopted many of the architectural ideas first devised for the previous generations of high-performance computers. The aim of this course is to provide a thorough understanding of the machine architectural and associated compilation techniques used in current microprocessors and to examine their performance characteristics. Advanced techniques, which may find their way into the next generation of products, are also examined and analysed.

Learning Outcomes

A student completing this course should:

Have an understanding of trends in the development of microprocessor systems. (A)
Have knowledge of the techniques used to benchmark modern computer systems. (A)
Understand the techniques used in microprocessor micro-architecture and be able to produce designs of the elements of a processor core. (A and B)
Understand the structure of memory hierarchy in modern microprocessor systems and be able to produce designs of such systems. (A and B)
Have an understanding of future trends in microprocessor technology and how these are likely to affect the development of computer systems. (A)

Assessment of Learning outcomes

All learning outcomes are assessed by examination.

Contribution to Programme Learning Outcomes

A3, B1, B2, B3

Syllabus

Introduction [2]


Trends in technology, cost and computer usage. Measuring and reporting performance; benchmarking and benchmarks.

Instruction Level Parallelism [8]


Pipelining revisited. Data hazards, dynamic scheduling. Branch prediction: static, dynamic. Zero-cycle branches. Multiple Issue implementations. Compiling for superscalar implementations. Hardware support for instruction level parallelism.

Memory Hierarchy [6]


Cache memory: block organization; cache line placement, replacement and write policies. Write buffering. Classifying misses: compulsory/capacity/conflict misses. Reducing misses: line size, associativity, victim cache, prefetching, compiler optimizations. Reducing miss penalty: reordering memory cycles, subblock placement, early restart, lockup-free operation, multilevel caches. Reducing hit time. Main memory and its performance.

Case Studies [2]


Intel Pentium Pro - Superscalar RISC implementation of a CISC instruction set. Dec Alpha - a 'clean-sheet' superscalar RISC architecture. PowerPC - a pragmatic combination of features.

Multicore Chips [2]


The trend to multicore; anticipated `roadmap'. Specifics of Intel Core Duo and Quad chips.

The Future [2]


Future technology limitations. The requirement for Mobile code; JAVA implementation techniques, JIT compilation. Dynamic optimizations. Virtualization.

Reading List

The recommended text (see below) is for reference only; it is the most famous book on computer architecture. There is no need to buy a copy unless you intend to make a career out of microprocessor design. The overnight loan library has three copies of the third edition at the moment; a copy of the fourth edition is on order (as of January 2008).

Core Text
Title: Computer architecture: a quantitative approach (5th edition)
Author: Hennessy, John L. and David A. Patterson
ISBN: 9780123838728
Publisher: Morgan Kaufmann
Edition: 5th
Year: 2011
The latest edition of "the computer architect's bible". A comprehensive reference work covering all aspects of modern microprocessor architecture. Not necessary to own unless you are a committed computer architect.