EEE3530-02 Computer Architecture (Spring 2025)
Lectures: Tuesday 10-11:50 AM, Thursday 11-11:50 AM @ D603
Lectures-labs-credits: 3-0-3
Instructor: William J. Song (Office: Engineering Building #3, C410, Email: wjhsong {\at} yonsei {\dot} ac {\dot} kr, Phone: 02-2123-2864)
Teaching assistant: TBD
Office hours:
- Instructor: Thursday 10-11 AM or otherwise by appointment
- Teaching assistant: TBD
Prerequisites:
- Introduction to C/C++ Programming (or equivalent)
- EEE2020 Data Structures and Algorithms in C/C++
- EEE2040 Digital Logic Circuits
Class objectives: This course covers the basic concepts, operations, and structures of computer architecture. Class objectives are as follows.
- Learning the basic concepts of computer architecture, including instruction sets, instruction-level parallelism, pipelining, and caches
- Programming practice of computer architecture concepts
Class rules:
- Honest and ethical behaviors are expected at all times. Any attempt at cheating will be severely penalized, and incidents will be reported to the university administration for further action – No excuses will be accepted. It will be a one-strike out.
- Students must complete all assignments individually but are encouraged to seek help from the instructor or teaching assistant (TA). There will be two hours of office hours each week, one by the instructor and another by the TA. Students are encouraged to use office hours to troubleshoot programming assignments or to ask questions about class materials.
- Discussions between students are allowed, but assignment solutions (i.e., source codes) must not be shared.
- Lectures will be conducted only in English. Students may use Korean for Q&A.
- Asking partial credits for assignments or exams will be considered a cheating attempt, and any student doing so will lose all scores.
Textbook:
- Computer Organization and Design RISC-V Edition: The Hardware Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design), 2nd Edition, by John Hennessy and David Patterson (Link to Amazon)
Grading:
- Attendance: 10%
- Class participation: 5%
- Programming assignments: 45% (subject to change)
- Assignment #1: RISC-V assembly
- Assignment #2: Stack and function calls
- Assignment #3: Floating-point numbers
- Assignment #4: Branch prediction
- Assignment #5: Multi-issue Pipeline
- Assignment #6: Cache
- Midterm exam: 20%
- Final exam: 20%
Course plans: (subject to change)
Weeks | Dates | Lectures | Notes | |
1 | 03/04 | 03/06 | Computer abstraction | |
2 | 03/11 | 03/13 | Computer abstraction | |
3 | 03/18 | 03/20 | Instructions | |
4 | 03/25 | 03/27 | Instructions | Assignment #1 |
5 | 04/01 | 04/03 | Instructions | |
6 | 04/08 | 04/10 | Arithmetic | Assignment #2 |
7 | 04/15 | 04/17 | Arithmetic | |
8 | 04/22 | 04/24 | Datapath | Assignment #3 |
9 | 04/29 | 05/01 | Midterm | |
10 | 05/08 | Datapath | Assignment #4 | |
11 | 05/13 | 05/15 | Pipelining | |
12 | 05/20 | 05/22 | Pipelining | Assignment #5 |
13 | 05/27 | 05/29 | Pipelining | |
14 | 06/03 | 06/05 | Memory hierarchy | Assignment #6 |
15 | 06/10 | 06/12 | Memory Hierarchy | |
16 | 06/17 | Final |