Undergraduate Course: Informatics 2C - Introduction to Computer Systems (INFR08018)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 8 (Year 2 Undergraduate)
||Availability||Available to all students
|Summary||This course is concerned with the design, implementation and engineering of digital computer systems. It offers an introduction to the internal structure of digital computers.
The primary aim of the course is to convey an understanding of the internal structure and implementation of digital computers. To impart this knowledge, we first explain how the interface between hardware and software is typically constructed. This interface consists of several key components:
* The binary representation and manipulation of atomic data.
* The structure of a typical instruction set.
* The environment in which a program executes, and the notion of processes and virtual memory.
In addition to explaining the interface between hardware and software, this course introduces the ideas behind the hardware implementation of a processor. This consists of several further components:
* Combinational logic - how simple stateless building blocks such as adders, multiplexers and decoders can be constructed from logic
* Sequential logic - how components with state, such as latches,
registers, register files and memories can be constructed from logic elements.
* Processor structure - how a simple instruction set can be implemented using combinational and sequential logic components.
This material is prefaced by a brief introduction to the C programming language, which is widely used as a systems programming language.
*** This course has been replaced by Informatics 2C - Introduction to Computer Systems (INFR08027) (20 credit) course from 2019/20.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Not being delivered|
On completion of this course, the student will be able to:
- Demonstrate an understanding of key concepts in computer architecture, including binary representation, exceptions, interrupts, virtual memory, processes and pipelined execution
- Sketch the design of a simple processor and explain how it operates
- Demonstrate knowledge of I/O devices and the means by which they interface to a processor and its memory system
- Demonstrate an understanding of the design and operation of important combinational and sequential components within a processor, such as adders, registers, and state machines
- Demonstrate understanding of an execution pipeline, based on the MIPS architecture
|* D.A. Patterson and J.L. Hennessy, Computer Organisation and Design: The Hardware/Software Interface, 4th or 5th Edition, Morgan Kaufmann|
* A. Silbershatz and P.B. Galvin, Operating Systems Concepts, 5/e, Wiley, 1998
* B.W. Kernighan and D.M. Ritchie, The C Programming Language, 2/e, Prentice Hall PTR, 1998
|Course organiser||Dr Boris Grot
|Course secretary||Ms Kendal Reid
Tel: (0131 6)51 3249