2022/23 Undergraduate Module Catalogue
COMP1212 Computer Processors
10 creditsClass Size: 500
Module manager: Professor Andy Bulpitt
Taught: Semester 2 (Jan to Jun) View Timetable
Year running 2022/23
This module is not approved as a discovery module
Module summaryEffective programming depends on understanding not only how to communicate instructions to a machine but also how the machine executes those instructions. This module introduces the internal implementation of a computer at a logic gate level, building on formal logic taught in earlier mathematics modules. This module bridges the gap between high level programming constructs, such as 'if' statements and 'for' loops, and how they are actually implemented by the machine and provides an opportunity to illustrate that abstraction is a powerful transferable tool for problem solving which can be applied across other disciplines. In this module students will build a simulated architecture from logic gates and learn how to program it in machine code, assembly and a high level language.
ObjectivesThis module provides the full picture view of computer programming and computer implementation which is vital for future developments in compilers and computer architecture. This module will contribute to the student becoming an expert in the field of programming.
On successful completion of this module a student will have demonstrated the ability to:
- describe the basic building blocks of a computer in detail and explain how they are composed to construct computing machinery.
- apply appropriate tools to develop, simulate and test logic circuits (CAD).
- explain how high level programming constructs, such as 'if' statements and 'for' loops, are implemented at a machine level and to explain how developments in computer architecture affect computation speed and processor design.
This module covers the following 4 topic areas:
- Hardware implementations : logic gates, logic simplification, combinatorial logic, clocks, sequential logic, memory and architecture.
- Program Instructions : fetch-execute cycle, machine code, assembly instructions, assembler, translating high level programming constructs into machine level instructions.
- Virtual Machines : implementation of virtual machines (such as the Java Virtual Machine or the .Net CLR), the purpose of virtual machines, and the advantages/disadvantages of virtual machines.
- Recent developments : pipelining, caching, multi-core architectures, effects of clock speed, memory hierarchies and coprocessors.
|Delivery type||Number||Length hours||Student hours|
|Private study hours||53.00|
|Total Contact hours||47.00|
|Total hours (100hr per 10 credits)||100.00|
Opportunities for Formative FeedbackCoursework and labs.
Methods of assessment
|Assessment type||Notes||% of formal assessment|
|In-course Assessment||Assessment 1||40.00|
|In-course Assessment||Assessment 2||60.00|
|Total percentage (Assessment Coursework)||100.00|
Resits will be assessed by coursework.
Reading listThere is no reading list for this module
Last updated: 01/06/2022 16:59:02
Browse Other Catalogues
- Undergraduate module catalogue
- Taught Postgraduate module catalogue
- Undergraduate programme catalogue
- Taught Postgraduate programme catalogue
Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD