Previous Up Next

Chapter 0  Introduction

0.1  Introduction & Course Outline

This course discusses the structure of modern microprocessor systems, with particular attention being paid to performance-increasing characteristics, e.g. pipelining and superscalar machines, strategies for increasing the (apparent) speed of memory systems, etc. There are a number of major themes, and 18 chapters, so (theoretically) one for each lecture with two spare. In practice, some topics will take more than a lecture and others less.

There is also a chapter 19, on storage devices (flash memory, RAID, etc.), but this will almost certainly be omitted. You can read it online, however (see below), if interested.

0.2  Assessment

The module is assessed entirely by examination. While there is no coursework, a good result in the exam requires knowledge over and above the contents of the notes, i.e. you actually have to read stuff! Also the lack of coursework is somewhat balanced by the fact that there is a relatively large amount of material to cover.

0.3  The notes

Printed notes will typically be handed out at the start of each lecture. Spares will be placed in the pigeonhole in Room 206 in the Faraday Building, usually immediately after the lecture. If you miss a lecture, don't ask me for extra copies of notes: go to Room 206. If the spares have run out, ask Sara (the secretary in 206) to print you another copy from her master copy.

PDFs of all the course notes, and the slides used in the lectures, will be available online via Blackboard (they should appear there just before or just after each lecture). Do not under any circumstances print these out on departmental printers. Again: if you need extra copies of the notes, get them from Room 206.

The notes will also be available for browsing online1. (Obviously: don't print these on departmental printers either!) The HTML notes are complete from day one (i.e. contain all chapters), but subject to change as the course progresses. In other words, I'm updating the notes as we go, and publishing changes to the HTML notes quite often. Thus, feel free to read ahead online — indeed, feel encouraged to do so — but don't be surprised if what you read is out of date, or if it changes over time.

The PDF notes are produced using LATEX, then the HTML notes are converted from LATEX using hevea, which does a generally good job except for the images: the online versions are a bit `blocky', so I've made them large to make them readable. I might find a better solution at some point…Anyway, it shouldn't matter if you don't miss lectures, because then you'll have all the notes you need. :-)

0.4  Books & reading

There are actually quite a lot of architecture books around that are useful — despite the fact that the subject changes rapidly, books a few years old are still very useful (except for the details of specific examples).

Our current favourite book, and the one most highly regarded in general, is Hennessy & Patterson, Computer Architecture: A Quantative Approach (Morgan Kaufman, 3rd Edition, 2002, 1-55860-724-2). It costs £37 from Amazon. Even if you do not buy it, chapter one and most appendices are available online (

An alternative whose 4th edition you may already have is: Tanenbaum, Structured Computer Organization (Prentice Hall, 5th Edition, 2006, 0-13148-521-0). It costs £45 new from Amazon. This book is possibly a sensible alternative to Hennessy & Patterson: was (and is) more readable. However, Hennessy & Patterson is much more substantial (1100 pages versus 700), and is the definitive text for the subject. Tanenbaum does have a very clear pedagogical style however, which many people like, but be aware that there were significant errors in his treatment of IA-64 in the 4th edition.

Hennessy & Patterson have another book: Computer Organization & Design: The Hardware/Software Interface (Morgan Kaufman, 3rd Edition, 2004, 1-55860-604-1). This is a less gargantuan volume than `Computer Architecture', and has less material on the specialised techniques which form the main part of this course (such as pipelining & superscalar). It is, however, an excellent book for bridging the gap from CS-113 to CS-323 (and is, in fact, now recommended as an advanced text for CS-113 students). If you need reminding about data paths, assembly language, and general hardware-level concerns, it's worth a look.

Also worth looking at in the library are the various editions (the more recent the better of course) of Stallings, Computer Organisation and Architecture: Designing for Performance (Prentice Hall, various, 0-13185-644-8).

The next book is an advanced work on high speed machines, including but not limited to parallel computers. It contains the only substantial description of Davidson's Algorithm, which we will be covering. Stone, High-Performance Computer Architecture (Addison Wesley, 1993, 0-20152-688-3).


Previous Up Next