Computer organization. Memory units, control units, I/O operations. Assembly language programming, translation and loading. Arithmetic logic units. Computer case studies. [Offered: F, W]
Instructor
Andrew Morton andrew.morton@uwaterloo.ca Office Hours
- 11:30-1:30 Fridays in E5-4118
- different hours will be announced on Piazza for midterm week and the exam period
Lab Instructor
Julius Olajos jnjolajos@uwaterloo.ca
Teaching Assistants
Leroy D’Souza l8dsouza@uwaterloo.ca Md. Milon Islam m46islam@uwaterloo.ca Wafic Lawland wlawand@uwaterloo.ca Likhil Babu Pallati lbpallati@uwaterloo.ca Manavjit Singh Dhindsa ms2dhind@uwaterloo.ca
Weighting
| Component | Value |
|---|---|
| Labs | 25% |
| Midterm | 25% |
| Final Exam | 50% |
Lab Weighting
| Component | Value |
|---|---|
| Lab 0 - Intro to ARM platform | 5% |
| Lab 1 - Flashing LED | 20% |
| Lab 2 - Subroutines, Parameter Passing | 25% |
| Lab 3 - Input/Output Interfacing | 25% |
| Lab 4 - Interrupt Handling | 25% |
Course Schedule
| Week | Date | Lab | Tutorial | Other |
|---|---|---|---|---|
| 1 | Jan 8-12 | |||
| 2 | Jan 15-19 | Lab 0 | PS1 | Makeup lec |
| 3 | Jan 22-26 | L1 intro | ||
| 4 | Jan 29-Feb 2 | Lab 1 | PS2 | Makeup lec |
| 5 | Feb 5-9 | L2 intro | ||
| 6 | Feb 12-16 | Lab 2 | PS3 | |
| - | Feb 19-23 | Reading week | ||
| 7 | Feb 26-Mar 1 | Midterm* | ||
| 8 | Mar 4-8 | L3 intro | ||
| 9 | Mar 11-15 | Lab 3 | PS4 | Makeup lec |
| 10 | Mar 18-22 | L4 intro | ||
| 11 | Mar 25-29 | Lab 4** | PS5 (sec 102) | |
| 12 | Apr 1-5 | PS5 (sec 101) PS6 (sec 102) | ||
| 13 | Apr 8 | PS6 (sec 101) |
Exams
- Midterm: Thursday March 29, 8.30-10.00
- Snippets and functions with ARM
Material
- Computer Organization and Design ARM Edition (1st ed), Patterson and Hennessy, 2016. (note that this covers ARMv8, not v7)
- Lab manual on Learn, appendix B.
- https://developer.arm.com/documentation/dui0552/a/the-cortex-m3-instruction-set
- davespace.co.uk/arm/
- https://developer.arm.com/documentation/dui0489/i/arm-and-thumb-instructions/mov
Labs
- E2 - 2363
- Door code 472619
- Startup file from lab0 needs to be copied to other labs