Computer Architectures
MODULE CODE
CREDIT VALUE
DELIVERY
Module Aims
Aim 1
To provide a thorough introduction to the architectural features of present-day processors and computing systems.
Aim 2
To overview the architecture of traditional computing systems.
Aim 3
To practice with various hardware/architectural and software/algorithmic means that enhance performance of computer systems.
Aim 4
To apply basic knowledge learned so as to design more advanced systems.
Module Content
Introduction to Computer Architectures and Fundamentals of Computer Design
Classes of Computers, Computer Architecture Definition, the von Neumann architecture, Trends in Computer Technology
Computer Memory
Memory Definition and Types, Memory Hierarchy, Memory Architecture and Taxonomy, Memory Evolution, Memory organization and performance issues, Cache Memory and its hierarchy, Performance improvements through Cache Memory, Virtual Memory, Translation Lookaside Buffer (TLB), Page Lists and memory paging.
I/O Systems
Data Transfer, Buses, Organization and performance issues, Interrupt Systems.
Storage Systems
Storage Architecture and types, RAID Arrays, Hard disk, Optical, and Solid State Disk (SSD) drives, Faults and failures, Performance Issues, Network Storage
Job Scheduling, Distribution of Computing Resources, Processor Performance Evaluation
The Processor
RISC/CISC architectures, instruction set architecture, single-cycle, FSM,and pipelined processor microarchitecture; resolving structural, data, control, and name hazards; and analyzing processor performance
Computer Arithmetic and the Arithmetic Logic Unit (ALU) Computer Arithmetic, Introduction to advanced methods, Booth’s Algorithm for Multiplication, SRT Division, reference tables, CORDIC algorithms
Basic Introduction to Various Related Topics
Principles of Instruction-Level Parallelism (ILP), Multi-Processor Systems and Thread-Level Parallelism, Multiple cores, Graphic Processing Units (GPU), Embedded Processors
Learning Outcomes
On successful completion of this module, a student will be able to:
Teaching Methods
The module examines a useful range of the fundamental aspects of computer architectures. Lectures will aim to provide the formal taught content including concepts, techniques and information. The practical/tutorial sessions supplement and support the lectures allowing a discovery approach to learning.
Students are expected to engage in research activities for case studies for architectures used in today’s modern computers of all types. Links to relevant research material will be provided to the students in support of the syllabus. Students will prepare and share summaries of technologies and system components. Students will discuss case studies and explore implications: e.g. considering commercial issues. Simulations will be used to analyse processor components so that students get insights into the conceptual issues learned during the lectures
The assessment is designed to assess both the students’ comprehension of theoretical topics relevant to computer architectures their practical skills in designing and simulating computer architectures and/or their components.
Assessment Methods
This module is assessed through an assignment and an examination.

