Course Description

Course Name

Computer System Design

Session: VSOS3221

Hours & Credits

3 Credits

Prerequisites & Language Level

Taught In English

  • There is no language prerequisite for courses at this language level.


Course Outline

This course covers the low-level details of computer systems with hands-on-experience. We will first discuss how a computer system is designed with CPU, memory, and I/O devices. With Cortex-A9 (a flavor of ARM CPU) as an example, this class will cover detailed inter-operations between CPU and hardware components such as interrupts and exceptions. Students will have chances to touch I/O devices (GPIO, Timer, and UART) with software. Assembly and low-level C programming will be used throughout the course. Security feature (TrustZone) in ARM CPU will be discussed as well.

Course Objective

To learn:
1. ARM (Cortex-A9) processor and Instructions
2. Computer System construction with I/O devices (memory map)
3. Peripheral devices (such as GPIO, Timer, and UART) and programming
4. Interrupt & exception mechanism and programming
5. TLB & Cache manipulation
6. TrustZone (Security feature in ARM) and programming

*Course content subject to change