Weekly Lecture Schedule
-
Monday Lecture (RN Robertson Theatre, 15:30 pm) and online via Zoom
-
Thursday Lecture (Marie Reay 6.02, 11 am) and online via Zoom
Weekly Tutorial Schedule
Day | Time | Room | Zoom Link |
---|---|---|---|
Tuesday | 10:00 | N109 | Zoom Link |
Wednesday | 10:00 | N112 | Zoom Link |
Wednesday | 15:00 | N109 | Zoom Link |
Thursday | 15:00 | M109 | Zoom Link |
Friday | 11:00 | N111 | Zoom Link |
Friday | 11:00 | N113 | Zoom Link |
Weekly Lecture Content
- Digital abstraction, Numbering systems, Representing numbers, Logic gates
- Combinational logic and circuits
- Sequential logic and memory elements
- Instruction set architecture (ISA), ARM ISA, Writing ARM assembly
- ARM microarchitecture, CPU design
- Pipelined microarchitecture, Cache and memory hierarchy
- Virtual memory, input/output (I/O), and storage devices
- Tutorial introduction to C, Variables and types, Control flow
- C call stack, Heap, Pointers and arrays in C
- Arrays and data structures in C, Hash table design
- Using standard library, C file I/O, Performance, Real-word example code
- Advanced topics (optional)
Weekly Lab Content
- Introduction to digital logic
- Combinational logic (ALU)
- Sequential logic (Register File)
- CPU design - Part 1
- CPU design - Part 2
- CPU design - Part 3
- Assembly
- Introduction to C
- Function and Recursion in C
- Data structures in C
- Dynamic memory allocation
- C File I/O
Assessments
- Two assignments (60%)
- Final Exam (40%)
Assignments
CPU design assignment (30%)
You will design a CPU microarchitecture in Digital against an ISA specification we provide.
- 5% due on 6 pm, March 15
- Full assignment due on 12 pm, Monday of week 8
The first six labs are critical for finishing the first assignment and obtaining a good grade. More specifically, in each lab, you will finish a sub-component of the CPU design assignment. If you finish the first six labs, you will finish (almost) 50% of the first assignment.
Important We only mark the week 2–3 labs to make sure you are making progress and give you feedback (due week 4, March 15, 6 pm). This mark contributes five marks out of 100 (total). Please remember to push your files related to the week 2–3 labs by the due date.
Programming assignment (30%)
You will use the C programming language to implement a data structure for solving a real-world problem.
- Due on Monday 6 pm, week 13