Introduction to Computer Architecture

Module aims

To provide Computing Science students with a sound introduction to the fundamental principles and devices used in the design of digital computers, and to the way in which primitive control logic can be organised to construct a programmable machine. 

Learning outcomes

At the end of the course students will have a thorough understanding of combinatorial circuit design, synchronous sequential circuit design and will have have seen in practice how a central processor unit is designed using Boolean algebra and functional design. They will understand how the central processor unit executes program instructions. They will have insights into how other components found in modern computer architecture function and are designed.

Module syllabus

Boolean algebra; combinatorial logic functions; principles of semiconductor devices and logic gates; adders subtractors and multipliers; bistable storage devices; S-R flip-flop; D-type flip-flop; latch versus edge triggering; J-K flip-flops; registers; shift registers; multiplexers and decoders; counters; finite state machine design; static and dynamic RAM; register transfer descriptions; ALU design and CPU design.

Teaching methods

Practical Laboratory work: Design of combinatorial and sequential circuits using modern VLSI design tools.

Reading list


Module leaders

Dr Bernhard Kainz
Professor Bjoern Schuller

Suggested reading