Module Code
CSC3058
This course is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include performance issues and evaluation, instruction sets, processor micro-architecture and pipelining (basic design, hazards and speculation), caches, operating system support (virtual memory, exceptions, interrupts), in-order and out-of-order execution, parallel architectures and fault tolerance.
As computer scientists or software engineers understanding how a computer works and what techniques can be used to accelerate its performance is essential. The course will prepare students for jobs in the computer engineering industry and can act as a springboard to more advanced material in graduate-level courses
By the end of this course, a successful student should be able to:
• Describe computer architecture concepts and mechanisms related to the design of modern processors and memories and explain how these mechanisms interact;
• Apply this understanding to new computer architecture design problems, and;
• Evaluate various design alternatives and make a quantitative and/or qualitative argument for why one design or execution strategy is superior to other approaches.
None
None
Coursework
60%
Examination
0%
Practical
40%
20
CSC3058
Autumn Semester
12 Weeks