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

COMP15111: Fundamentals of Computer Architecture (2010-2011)

This is an archived syllabus from 2010-2011

Fundamentals of Computer Architecture
Level: 1
Credit rating: 10
Pre-requisites: No Pre-requisites
Co-requisites: COMP16121
Duration: 11 weeks in first semester
Lectures: 22 in total, 2 per week
Examples classes: 5 in total, 1 per fortnight
Labs: 10 hours in total, one 2-hour session per fortnight
Lecturers: Pete Jinks, Richard Neville
Course lecturers: Pete Jinks

Milan Mihajlovic

Richard Neville

Additional staff: view all staff
Timetable
SemesterEventLocationDayTimeGroup
Sem 1 Lecture 1.1 Thu 10:00 - 11:00 -
Sem 1 Lecture 1.1 Mon 15:00 - 16:00 -
Sem 1 B Lab UNIX Wed 09:00 - 11:00 A,Z
Sem 1 B Lab UNIX Tue 10:00 - 12:00 W
Sem 1 B Lab UNIX Mon 11:00 - 13:00 E,Y
Sem 1 B Lab UNIX Tue 13:00 - 15:00 X
Sem 1 A w3+ Examples LF15 Tue 10:00 - 11:00 X
Sem 1 A w3+ Examples LF15 Thu 14:00 - 15:00 E,W
Sem 1 A w3+ Examples LF15 Thu 15:00 - 16:00 A,Z
Sem 1 A w3+ Examples IT407 Mon 16:00 - 17:00 Y
Assessment Breakdown
Exam: 75%
Coursework: 0%
Lab: 25%

Aims

This unit aims to introduce computer instruction sets and the binary representation of information, by exploring the relationship between high-level language programs and the basic structure and operation of digital computers, including the process that implements this relationship. Java and the ARM processor are used as exemplars. Practical experience is gained in the laboratory through exercises which progressively expose features of the ARM instruction set. The course-unit aims to serve as an essential foundation for further studies in the single honours Computer Science degree programme.

Programme outcomeUnit learning outcomesAssessment
A3Understand the basic Von Neumann/Imperative computational model.
  • Examination
A3Understand the binary nature of digital computers, and how bit patterns can be used to represent such things as characters, numbers and instructions.
  • Examination
A3Understand the essentials of the ARM instruction set and its registers.
  • Lab assessment
  • Examination
C5 C6Be able to understand the basics of assembly language programs.
  • Lab assessment
A3Understand the correspondence between imperative code & data and assembly language.
  • Lab assessment
  • Examination
A3Be aware of the role of Compiler, Assembler, Library, Linker, Loader, Interpreter and Operating System, and of some of the interactions between these and the underlying computer hardware.
  • Examination

Syllabus

Introduction: Processors, simple ARM programs, binary representations, fetch-execute cycle, registers [4]

ARM code for imperative constructs: Basic data types and expressions, data structures, control structures, functions, input/output, interrupts [13]

System software: Operating Systems, Assemblers, Compilers, Libraries, Loaders, Interpreters, JVM [5]

Reading List

There are no books that cover the syllabus exactly. However, here are three books that give information about the ARM processor, that you may want to refer to. The book by William Hohl is the most relevant, but he introduces topics in a completely different order and goes into a lot more detail than we do.

Core Text
Title: ARM Assembly Language: fundamentals and techniques (2nd edition)
Author: Hohl, William and Christopher Hinds
ISBN: 9781482229851
Publisher: CRC Press
Edition: 2nd
Year: 2014
As it states at the start: "This book may be 14 years late...", ref. pp. xiv [in Preface]; a quote from a reviewer: "It's easy to read and the book isn't filled with Greek letters just to make it sound scholarly." will help you buy a copy...


Title: Principles of computer hardware (4th edition)
Author: Clements, Alan
ISBN: 9780199273133
Publisher: Oxford University Press
Edition: 4th
Year: 2006
This book covers several 1st year courses and is a good introduction to Computer Architecture and peripherals. Note that the 2nd edition is not suitable as it does not cover the ARM processor.


Title: ARM system-on-chip architecture (2nd edition)
Author: Furber, Steve
ISBN: 0201675196
Publisher: Addison Wesley
Edition: 2nd
Year: 2000
This book is a detailed look at the ARM and its variants with a lot of information on its use in embedded systems. A definitive guide written by the man responsible for much of the first design. The book covers the basic material and then examines the lat