Undergraduate Course: Computer Architecture (INFR09009)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 9 (Year 3 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | Computer architecture is about optimising the design of computer hardware and software under constraints of time, cost and power consumption. Over the years, improvements in technology and advances in computer architecture have resulted in huge increases in computer performance. This course examines the fundamentals of high-performance computer architecture and looks at how the interface between hardware and software (architecture and compiler) influences performance. |
Course description |
1.Fundamentals
Performance evaluation methods and metrics, principles of high performance design, technology issues.
2.Processor Design
Instruction set classes, registers, memory addressing. Pipeline design, pipeline hazards & interlocks, out-of-order execution, scoreboards and reservation stations. Control prediction techniques and their exploitation. Techniques for exploting instruction- and loop-level parallelism.
3.Memory System Design
Memory hierarchies. Basic cache design and improvements. Main memory design and advanced organisations.
4.Introduction to Multiprocessors
Multiprocessor organisations. Cache coherence.
Relevant QAA Computing Curriculum Sections: Architecture
***This course and Computer Design (INFR09046) have been replaced by Computer Architecture and Design (INFR10076) FROM 2019/20.***
|
Entry Requirements (not applicable to Visiting Students)
Pre-requisites |
|
Co-requisites | |
Prohibited Combinations | |
Other requirements | This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser. |
Information for Visiting Students
Pre-requisites | None |
High Demand Course? |
Yes |
Course Delivery Information
Not being delivered |
Learning Outcomes
On completion of this course, the student will be able to:
- Demonstrate the ability to describe the structure and operational characteristics of a pipelined microprocessor, and to explain principles of: orthogonal instruction set design; pipeline hazards and interlocks; out of order execution; scoreboards and reservation stations and their use; branch prediction (both static and dynamic); and techniques (both software and hardware) for exploiting loop-level parallelism
- Demonstrate the ability to quantitatively evaluate the performance of a combined processor and memory system with respect to cycles-per-instruction (CPI) and memory bandwidth requirements
- Demonstrate the ability to explain the principle of memory locality, to show how a memory hierarchy exploits the various forms of locality, and to analyze the performance of a memory hierarchy
- Demonstrate the ability to design, in outline, a memory hierarchy, and to specify reasonable parameters for each configuration point (capacity, associativity, block size, and write policies) at each level in the hierarchy
- Demonstrate an understanding of the memory coherency issues involved when designing a multiprocessor system, and to explain the behaviour of a typical cache coherency protocol
|
Reading List
J.L. Hennessy & D.A. Patterson, Computer Architecture: A Quantitative Approach (5e), Morgan Kaufmann Publishers Inc., 2011. |
Contacts
Course organiser | Dr Vijayanand Nagarajan
Tel: (0131 6)51 3440
Email: vijay.nagarajan@ed.ac.uk |
Course secretary | Miss Lisa Branney
Tel: (0131 6)51 7607
Email: L.Branney@ed.ac.uk |
|
|