2110714 Digital Systems
We will study abstraction of digital devices, language for programming
them and the related system software that use the devices to run
applications, with emphasis on real-time systems.
We will cover three main areas:
-- how a processor work (6 weeks)
-- relationship between high level language and machine code (3 weeks)
-- real-time operating systems (3 weeks)
Topic by week
Introduction to digital systems
machine codes
conventional machines
control unit
microprogramming
performance design
programming at machine level
runtime data structure
code optimisation
real-time OS
real-time scheduling
real-time programming
Two major projects are required. The first one is a simulator for
a student-designed processor. It will also be used in the second
project. The second one is a small real-time OS that is compiled
into an executable code for the processor in the first project.
At the end of the course, students are required to demonstrate their
working systems (processor + OS) with a simple real-time
application. There is a homework every week.
Assessment
homework 10
processor simulator 20
real-time OS 20
demonstration 10
written final exam 40
References
- Henessy and Patterson, Computer architecture: Quantitative
Approach, 2nd ed, Morgan Kaufman, 1990.
- Stalling, Computer organisation, 4th ed, McGraw Hill, 2003.
- Computation structure, MIT press, 1995.
- Chongstitvatana, P, Computer architecture: a synthesis,
2002.