The objectives of this subject are to enable students to: master the fundamentals of digital and programmable electronic circuits and their engineering applications; master the hardware architecture of a typical small computer system; and understand the principles of low-level programming and gain an ability to write simple assembly code. Students will be introduced to the basics of concurrent and real-time application programming.
Topics include: digital sequential circuits; state diagram and its application in the design of digital circuits; basic hardware architectures of the digital computer in terms of its building blocks; how hardware integrates with software at the machine level; low-level language programming; internal architecture and design of a typical register-based central processing unit and a main memory subsystem, and their interdependence; concepts of computer system buses, as well as different types of input and output devices; interrupts; input and output; micro-controller theory; hardware interfacing design techniques; and aspects of real-time programming, concurrency and multiple processing, the design of a basic multi-tasking operating system and the solution of a concurrent application.
Assessment: Assessment for this subject typically involves individual tasks including the assembly of a hardware kit, CPLD design, PIC design, concurrent programming, tutorial work and a final examination.
Autumn semester, City campus
Spring semester, City campus