BSc Computer Science with Industrial Experience / Course details

Year of entry: 2022

Course unit details:
Processor Microarchitecture

Course unit fact file
Unit code COMP22111
Credit rating 10
Unit level Level 2
Teaching period(s) Semester 1
Offered by Department of Computer Science
Available as a free choice unit? Yes

Overview

This course unit aims to reinforce and extend digital hardware development skills which are introduced in the first year. It employs industry-standard tools and languages which are used worldwide for silicon development. The UK has perhaps the strongest expertise in Europe in these areas and skills are in high demand from employers such as ARM and Imagination Technologies who provide much of the digital design for devices such as smartphones and tablet computers.

Pre/co-requisites

Unit title Unit code Requirement type Description
Fundamentals of Computer Engineering COMP12111 Pre-Requisite Compulsory
Students who are not from the School of Computer Science must have permission from both Computer Science and their home School to enrol.

Aims

The unit aims to build upon the concepts introduced in COMP12111 by taking the material further and expanding students' understanding of the operation of modern computing systems.

Learning outcomes

  • Explore the operation of sequential systems and design such systems.
  • Discuss key features of the Verilog language and be able to implement and test sequential digital systems.
  • Explain the stages of processor design starting from the Instruction Set Architecture through to implementation in Verilog.
  • Explain the design and operation of simple logic functions in CMOS logic and discuss the issues associated with CMOS.
  • Analyse how design factors  impact the design and performance of complex digital systems.
  • Describe examples of specialised compute units such as coprocessors, floating-point units, GPU, FPGA, vector extensions, AI accelerators, as well as systems beyond CMOS and identify their relative advantages and disadvantages.
  • Reveal important parts of the CAD tool stack including logic synthesis and test as well as placement and routing algorithms.

Syllabus

A key focus of the module is on practical work. The students work through the implementation of an ARM-like processor (significantly more complex than that used in COMP12111) until a working processor has been produced that they can write programmes for that interact with a range of peripheral devices on an experimental FPGA board in the labs. This is complemented by material going into greater depth compared to COMP12111, expanding on the concepts covered, in particular the design of sequential systems incorporating a control AND a datapath. Key here is that we start to look at the actual implementation of logic in CMOS.

 

Later material focuses more on aspects of implementation (CAD tools, testing, timing and clocking etc) and then move on to look at specialised architectures, further hardware design examples and the future of processor design beyond CMOS.

 

By the end of the course unit the students will have a good understanding of the implementation of digital systems, the limitations of current technologies and possible future technologies.

Teaching and learning methods

Each week approximately one hour of material will be presented as asynchronous videos, which will be supported by online quizzes in Blackboard.

 

Each week there will be a one-hour synchronous activity focused on supporting the lab activities (introducing lbs and giving feedback), presenting additional worked examples and running more quizzes to support student learning.

 

In weeks 3 – 11 there will one 2-hour synchronous laboratory session per week

Employability skills

Analytical skills
Innovation/creativity
Problem solving
Other

Assessment methods

Method Weight
Written exam 50%
Practical skills assessment 50%

Feedback methods

Feedback is provided via formative quizzes in Blackboard and via automated marking for laboratory work, with feedback on work being delivered by email.

Recommended reading

COMP22111 reading list can be found on the Department of Computer Science website for current students.

Study hours

Scheduled activity hours
Assessment written exam 2
Lectures 22
Practical classes & workshops 18
Independent study hours
Independent study 58

Teaching staff

Staff member Role
Paul Nutter Unit coordinator

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.

Return to course details