Skip to main content

Unit information: Overview of Computer Architecture in 2019/20

Please note: Due to alternative arrangements for teaching and assessment in place from 18 March 2020 to mitigate against the restrictions in place due to COVID-19, information shown for 2019/20 may not always be accurate.

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Overview of Computer Architecture
Unit code COMSM1302
Credit points 20
Level of study M/7
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Professor. Eder
Open unit status Not open
Pre-requisites

None

Co-requisites

None

School/department School of Computer Science
Faculty Faculty of Engineering

Description including Unit Aims

This unit introduces students to how a computer works, linking high-level programming languages to the hardware on which programs are executed. The unit starts from basic digital electronics and gradually builds up to the design of a simple computer system.

The major topics covered are:

1. Fundamentals: Data representation, Boolean algebra and digital electronics, using transistors to build simple logic gates, historical background.

2. Building blocks: Arithmetic operations, storage, building flip-flops, registers, multiplexors etc., memory organization and types.

3. Simple controllers: Finite State Machines, counter machines, logic optimization using Karnaugh maps, controller implementation.

4. Processor design: Designing a processor to execute programs, including von Neumann and Harvard architectures, instruction set design with an introduction of CISC and RISC, the fetch-decode-execute cycle, data and control path.

5. Assembly languages and compilers: Assembly code, control structures including branching and loops, functions, stacks, assemblers, compiler phases, grammars, syntax and semantics of programming languages, typing and intermediate representation, optimization and code generation.

At this point students will be able to understand how a computer functions as a whole. They will be expected to design, build and test a simple computer system.

6. Energy aware computing: Energy consumption of computing, energy transparency, measuring energy of computing, basic introduction to static analysis for energy consumption, latest research on energy-aware computing.

Intended Learning Outcomes

On successful completion of this unit students will be able to:

1. Demonstrate a basic understanding of digital electronics and the components used in the design of computer systems.

2. Explain the design and operation of the principal components of a computer, including both hardware as well as software and how they interact.

3. Show how high-level programs are executed in hardware, by performing simple computations at various levels of abstraction in the machine.

4. Appreciate the impact of ICT on energy consumption and realize how important a good understanding of computer architecture is for programmers to develop more energy efficient code.

Teaching Information

2 lectures per week supported by a combination of weekly laboratory sessions and problem classes

Contact Hours Per Week:
5 hours, including 2h of lectures, 2h of laboratory sessions and a 1h drop-in problem class

Assessment Information

Assessment will be by in-class tests (20% and 30%) and exam (50%).

Reading and References

M Morris Mano. Computer System Architecture. Pearson Higher Education. 1992. ISBN: 0131757385 Essential A. Tanenbaum. Structured Computer Organization. Prentice Hall, 2005. ISBN: 0-131-48521-0 Background

Feedback