Date | Post | Link |
---|---|---|
04-Sep-2022 | Course Webpage is Up | link |
05-Sep-2022 | Lab0 (not graded, but expected completion Sep 08) | link |
09-Sep-2022 | Quiz 1: Due Sep 12 | link |
09-Sep-2022 | gem5 tutorial (not graded, expected completion Sep 15) | link |
09-Sep-2022 | Complete slurm tutorial (not graded, expected completion Sep 15) | link |
12-Sep 2022 | Assignment 1 (due Sep 26 at 11:59 PM) | link |
28-Sep 2022 | Assignment 2 (due Oct 17 at 11:59 PM) | link |
17-Oct 2022 | Assignment 3 (due Nov 02 at 11:59 PM) | link |
17-Oct 2022 | Project Information | link |
14-Nov 2022 | Assignment 4 (due Nov 28 at 11:59 PM | link |
Please read email policy on policy page.
Any course-related questions should be posted to the groups only; no personal email.
Ensure you tag the messages properly.
This course will use canvas for online quizzes, for turning in assignments and project reports, and to view your grades.
This is mainly an in-person class. Lectures are in AQ3150 and AQ3149 on Mondays and Wednesdays. We encourage all students to attend the class in person and participate in the classroom discussions. Class participation will count towards your grade.
We undestand that some students may miss class because of reasons outside their control. If you are sick with Covid-19 or any other contagious illness, we ask you not to attend lectures in person. We requested SFU IT to record lectures from the classroom. Students who miss class can ask for a link to to lecture recordings, which will be provided at the instructors’ discretion.
Principles of the architecture of computing systems. Topics include: superscalar processor micro- architecture, speculative execution, cache and memory hierarchy, multiprocessors, cache coherence, memory consistency, implications of technology on architecture, parallel architectures (multi-threading, GPUs, vector processors).
Basic Concepts of superscalar processor microarchitectures: structural/data/control dependences, register renaming, out-of-order issue/execution, branch prediction, precise interrupts, issue logic, memory ordering
This course is a hands-on, programming-heavy course. Expect to get down and get your hands dirty with concurrent C programming and hardware design. We will discuss the fundamental design and engineering trade-offs in computer architecture at every level.
This course teaches the principles of the architecture of computing systems. Topics include: superscalar processor micro-architecture, speculative execution, cache and memory hierarchy, multiprocessors, cache coherence, memory consistency, implications of technology on architecture, parallel architectures (multi-threading, GPUs, vector processors).
Solid programming skills (C/C++). Solid background at Unix/Linux. If unsure whether you have the pre-requisites, talk to the instructor! Programming exercises will require the student to implement programs parts. Strong knowledge of C/C++ and the UNIX environment is assumed.
For homeworks and programming assignments, students are encouraged to consult each other, the TA, the instructor, or anyone else for that matter. **However, the assistance offered or accepted should not go beyond a discussion of the problem. You can use the following guideline: When it comes time for you to write your program or your homework paper, do not use any written material from the discussion.
If you can reconstruct the discussion and complete the solution on your own, then you have learned the material (and that is the objective of this course!). For team projects, you should make sure to identify division of labor in your README. While projects will generally be graded as a team rather than separately for each individual, corrective action could be taken.
We assume the following strong linux environmental experience; typically obtained through CMPT 127 or related course at SFU. If you do not have this experience; please head to the tutorials page and watch the videos we recommend. All assignments and lab in this course are administered through the linux environment.