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