Computer Architecture: 2008-2009
Lecturer | |
Degrees | Schedule S1(3rd years) — Computer Science |
Term | Trinity Term 2009 (16 lectures) |
Overview
This course aims to give an understanding of the mechanisms which implement the programmer's idealised computer. It builds on the introduction to hardware and to simple processors in the Digital hardware course, and uses Functional Programming as a tool in simulation and description.
The Computer Architecture course aims to describe a range of architectural designs and to contrast them, highlighting the design decisions they incorporate. The designs are described and analysed at the register-transfer level of abstraction. By the end of the course, the student should understand the major architectural styles and appreciate the compromises that they encapsulate. They should be able to read outline descriptions of real processors and understand more or less in which way their designs fit into the frameworks descrived in the course.
Practicals
Processor simulation exercises, in Hugs.
Synopsis
Datapaths and control structures for processors, register transfer level description of hardware, and simulation in Haskell.Styles of processor, including (such as) 68000 and MIPS; perhaps features of some off-the-wall examples such as the Transputer. Comparison of CISC/RISC architectural styles. Instruction set design, instruction formats, addressing modes.Processor pipelining. Pipeline hazards, hazard detection, forwarding, branch prediction. Main and cache memories, direct memory access, interrupts and discontinuities in the expected fetch/execute sequence.Syllabus
Register Transfer model of processors. Datapaths and control structures. Comparison of architectural styles for general purpose computers, including RISC/CISC. Pipelining; pipeline hazards and their resolution by stalling and forwarding. The hierarchy of storage in a computer; caches and virtual memory. Styles of parallel computer, and their implementation in contemporary designs.Reading list
Principal text:- D A Patterson & J L Hennessy,
Computer Organization and Design: the hardware/software interface,
Morgan-Kaufmann (Third edition, revised printing) 2007.
Earlier editions are relevant if available, but may be confusing. The (current) fourth edition omits some of the material, particularly on multi-cycle implementations of MIPS.
Background reading:
Some articles (to be identified near the time of the course) about contemporary designs.
- J L Hennessy & D A Patterson,
Computer Architecture: a quantitative approach,
Morgan-Kaufmann (fourth edition) 2007.
Other editions may be relevant if available.
Taking our courses
This form is not to be used by students studying for a degree in the Department of Computer Science, or for Visiting Students who are registered for Computer Science courses
Other matriculated University of Oxford students who are interested in taking this, or other, courses in the Department of Computer Science, must complete this online form by 17.00 on Friday of 0th week of term in which the course is taught. Late requests, and requests sent by email, will not be considered. All requests must be approved by the relevant Computer Science departmental committee and can only be submitted using this form.