Paul Kelly: Advanced Computer Architecture


NEW: Lecture notes are available on CATE, with the web as a backup: here. They are not guaranteed up-to-date until the day before the lecture.

Tutorial exercises are available on the web here. Note that these may not be fully up to date until paper copies are actually distributed.

Books: The course text is Hennessy and Patterson's "Computer Architecture: a Quantitative Approach" (Fifth Edition). Details here, companion web site here, See also ACM Queue interview here.

Supporting materials are available on the web here.

See in particular Intel 64 and IA-32 Architectures Optimization Reference Manual (Intel 2006).

Past papers are available on the web here and here (the latter page takes you to the past papers for the end-of-autumn-term tests for MEng3 students on the four-year Computer Science programme, who have special examination arrangements because they are away on their industrial placements during the summer). The 2004-5 past paper on the official web site has two pages missing. The complete paper is available here.

Early architecture research at Imperial College See Manny Lehmann's description of ICCE I and ICCE II, experimental computers built at Imperial in the late 1940s/early 1950s.


Objectives

The objective of this course is to introduce the fundamental techniques on which high-performance computing is based, to develop the foundations for analysing the benefits of design options in computer architecture, and to give some experience of the application of these techniques.

It should be noted that the use of parallelism is secondary to the objective of achieving high performance. For this reason, the course contains much of the material found in an advanced computer architecture syllabus.

The role of compilers in achieving high performance also takes a fairly high profile, and special emphasis will be placed on the capabilities of restructuring compilers based on data dependence analysis in loops.

Structure

  1. Reading

    You are advised to purchase a textbook for this course. As it is an advanced course, you will find you need to use books and research papers effectively. Not only will you find this makes the course more interesting and comprehensible --- it also gets you special bonuses in exam and coursework assessment. The recommended book is:

    This is a well-constructed and authoritative textbook (Patterson is arguably the inventor of the SPARC architecture used in Sun workstations, Hennessy created the MIPS architecture used in Silicon Graphics machines).

    Make sure you get the latest edition.

    Other reading See the Books section of the course web site.

  2. Exercises

    Both assessed and unassessed exercises will be used to {\em introduce} important ideas. Thus if you don't do them in time, you won't know what's going on in the lectures.

  3. Lectures

    The primary objective of the lectures is to help you understand and use the textbooks. Copies of the lecture's overhead transparencies will be provided, and you are encouraged to make notes of your own.