Skip to main content Skip to navigation
Throughout the 2021-22 academic year, we will be prioritising face to face teaching as part of a blended learning approach that builds on the lessons learned over the course of the Coronavirus pandemic. Teaching will vary between online and on-campus delivery through the year, and you should read guidance from the academic department for details of how this will work for a particular module. You can find out more about the University’s overall response to Coronavirus at: https://warwick.ac.uk/coronavirus.

ES2C4-15 Computer Architecture and Systems

Department
School of Engineering
Level
Undergraduate Level 2
Module leader
Sam Agbroko
Credit value
15
Module duration
10 weeks
Assessment
40% coursework, 60% exam
Study location
University of Warwick main campus, Coventry
Introductory description

NA

Module web page

Module aims

To provide practical knowledge of how digital computing systems are designed, how they function, and how to program them.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

Basic C: Types, operators, loops, pointers, bitwise operations.
Data Representation: Binary numbers, Boolean algebra, unsigned and signed integers, fixed and floating point, codes.
Logic and Digital Arithmetic: Basic function truth tables, Karnaugh maps, multiplexers, encoders, decoders, half and full adders, multipliers, comparators and division, sequential circuits – latches, flip flops, finite state machines.
Instruction Set Architecture: Assembly language, machine instructions including register, immediate, and jump, addressing modes, program flow.
Processor Microarchitecture: Memory, ALU, program counter, register file, control unit, single-cycle and pipelined processors.
Memory and I/O: Caches, virtual memory, GPIO, UART, SPI, I2C, high speed serial, timers, interrupts, PWM.
Microcontroller Programming: Loops, interrupts, timers, accessing peripherals.

Learning outcomes

By the end of the module, students should be able to:

  • Represent different types of data in binary and perform arithmetic operations on them.
  • Understand the working of combinational and sequential circuits. Implement logic functions using these building blocks.
  • Explain how low-level instructions correspond to the operation of a processor microarchitecture and how complex programs can be decomposed into such instructions.
  • Explain the functionality of the basic components in a processor architecture.
  • Explain how external peripherals and memory are interfaced with a processor through a variety of interfaces.
  • Create basic C programs and C programs for Microcontrollers. Write microcontroller programs in C that go beyond a single iteration loop, taking advantage of interrupts and timers, and communicating with external peripherals.
Indicative reading list
  • S. Harris and D. Harris. Digital Design and Computer Architecture: ARM Edition. Publisher: Morgan Kaufmann, 2015, Paperback: 584 pages, ISBN-10: 0128000562, ISBN-13: 978-0-12-800056-4.
  • A. G. Dean, Embedded Systems Fundamentals with Arm Cortex-M based Microcontrollers, Arm Education Media UK, ISBN 978-1911531036.
  • M. R. Mano, C. R. Kime, and T. Martin, Logic and Computer Design Fundamentals, 5th Ed, Pearson 2015. ISBN 978-1292096070
Subject specific skills

Plan and manage the design process, including cost drivers, evaluating outcomes, and working with technical uncertainty.
Ability to apply relevant practical and laboratory skills.
Ability to conceive, make and realise a component, product, system or process.

Transferable skills

Numeracy: apply mathematical and computational methods to communicate parameters, model and optimize solutions.
Apply problem-solving skills, information retrieval, and the effective use of general IT facilities.
Communicate (written and oral; to technical and non-technical audiences) and work with others.
Plan self-learning and improve performance, as the foundation for lifelong learning/CPD.
Exercise initiative and personal responsibility, including time management, which may be as a team member or leader.
Overcome difficulties by employing skills, knowledge and understanding in a flexible manner.

Study time

Type Required
Lectures 20 sessions of 1 hour (13%)
Practical classes 8 sessions of 2 hours (11%)
Other activity 2 hours (1%)
Private study 112 hours (75%)
Total 150 hours
Private study description

112 hours of guided independent learning

Other activity description

2 x 1hr Revision Classes

Costs

No further costs have been identified for this module.

You must pass all assessment components to pass the module.

Assessment group D1
Weighting Study time
Two design assignments (6 pages each) 40%

2 x 20%

Online Examination 60%

QMP 2 X 1HR NEEDS TO BE RAN ONE AFTER TO THE OTHER

~Platforms - QMP


  • Students may use a calculator
  • Engineering Data Book 8th Edition
Feedback on assessment
  • Support through advice and feedback hours.
  • Written feedback on marked programming assignments.
  • Cohort-level feedback on final exam.

Past exam papers for ES2C4

Post-requisite modules

If you pass this module, you can take:

  • ES3B2-15 Digital Systems Design

Courses

This module is Core for:

  • Year 2 of UESA-H63W BEng Electronic Engineering
  • Year 2 of UESA-H63X MEng Electronic Engineering
  • Year 2 of UESA-H605 Undergraduate Electrical and Electronic Engineering
  • Year 2 of UESA-H606 Undergraduate Electrical and Electronic Engineering MEng

This module is Option list A for:

  • Year 2 of UESA-H161 BEng Biomedical Systems Engineering
  • Year 2 of UESA-H216 BEng Civil Engineering
  • Year 2 of UESA-H113 BEng Engineering
  • Year 2 of UESA-HH35 BEng Systems Engineering
  • Year 2 of UESA-H112 BSc Engineering
  • Year 2 of UESA-HN11 BSc Engineering and Business Studies
  • Year 2 of UESA-H163 MEng Biomedical Systems Engineering
  • Year 2 of UESA-H217 MEng Civil Engineering
  • Year 2 of UESA-H114 MEng Engineering
  • Year 2 of UESA-HH31 MEng Systems Engineering