Syllabus and synopsis (Digital Systems)
In this course, participants will learn about the building blocks of computer hardware and software by studying the design of a sequence of simple embedded systems, including understanding how the hardware works, and how it can be programmed at a low level, using assembly languageA symbolic representation of the machine code for a program. on the bare hardware, and at a high level, using C code and a process scheduler.
Following the course, participants will be able to
- Explain the functioning of computer hardware at the gate level and architectural level.
- Understand the low-level mechanisms that support programming in a high-level language.
- Design programs that interact with the hardware of the processor and I/O devices.
- Interpret IC datasheets in order to drive simple I/O devices.
Simple design of combinational and sequential circuits; standard design elements.
Data representations and computer arithmetic.
Register transfer level design of a simple microprocessorAn integrated circuit that contains a complete CPU..
Programming at the machine level: registers, instructions, memory addressing, subroutines, interrupts.
Rôle of assemblers, compilers and linkers.
Simple operating system services: processes, device drivers.