ELEC95006 Introduction to Computer ArchitectureLecturer(s): Dr Tom Clarke Aims
To provide a basic introduction to computer architecture and assembly language programming
Learning Outcomes
At the end of the course, students should know: how computers work; how to evaluate their performance; the instruction set architecture of a typical modern RISC processor; ARM processor architecture; relationship between hardware and software
Syllabus
The kernel of computer architecture: the instruction set architecture. Trends in technology and the basics of a computer system architecture.
Introduction to processor design: the MU0 architecture. Pitfalls with MU0, the advantages of different instruction formats, an introduction look at the ARM processor. The basics of assembly language programming. Arithmetic instructions, data transfer instructions, pre-and post-index addressing. Further assembly language programming. Conditional execution and the ARM's S-bit. Shifted operands and shift types, multiply instructions, multiplication through shift-and-add, some simple complete ARM programs. Stacks and subroutines. The concept of a stack and its implementation in the ARM, the use of a link register, nested subroutines. The architecture of the ARM. An introduction to pipelining. Instruction encoding. ARM encoding of data processing and data transfer instructions. Memory hierarchies. The principles of locality, unified versus separate instruction and data caches. Direct-mapped caches: design issues and architecture, cache write strategies. Exceptions and interrupts, ARM's shadow registers. An introduction to I/O interfaces. Polling, interrupt-drive I/O and DMA. Throughput calculation Exam Duration: N/A Exam contribution: 0% Coursework contribution: 100% Term: Autumn Closed or Open Book (end of year exam): N/A Coursework Requirement: Coursework only module Oral Exam Required (as final assessment): N/A Prerequisite module(s): None required Course Homepage: https://intranet.ee.ic.ac.uk/t.clarke/arch/ Book List:
|