Course Title | Code | Semester | L+U Hour | Credits | ECTS |
---|---|---|---|---|---|
Computer Organization | CE204 | 4. Semester | 3 + 0 | 3.0 | 5.0 |
Prerequisites | None |
Language of Instruction | English |
Course Level | Undergraduate |
Course Type | |
Mode of delivery | Oral presentation and practice |
Course Coordinator |
Assist. Prof. Dr. Sultan ZAVRAK |
Instructors |
Hüseyin BODUR |
Assistants | |
Goals | This course aims to provide students with a thorough understanding of the inner workings of computer systems, from basic abstractions to advanced hardware functionality. The course emphasizes both theoretical foundations and practical applications, helping students build skills in analyzing and designing efficient computer architectures. Through an exploration of instruction sets, data processing techniques, and memory management, students learn how various components of a computer work together to execute tasks efficiently. |
Course Content | This course begins with an introduction to fundamental computer abstractions and performance measurement techniques. Students then explore RISC-V instruction sets, including arithmetic and logic operations, conditional instructions, procedures, and addressing modes, with practical examples in C to illustrate data handling with arrays and pointers. Computer arithmetic operations, such as addition, subtraction, multiplication, and division, as well as floating-point operations, are covered in depth. The course then shifts to processor design, guiding students through the development of a single-cycle datapath and pipeline processing in RISC-V. Finally, students examine memory hierarchies, including various memory technologies, cache mechanisms, and virtual memory, to understand how computers manage data storage and retrieval efficiently. |
Learning Outcomes |
- Understand and explain core computer abstractions and performance measurement methods - Analyze and use RISC-V instruction sets for basic arithmetic, logic operations, decision-making, and addressing. - Design and implement data processing operations in assembly language, including handling arrays and pointers in C. - Demonstrate proficiency in computer arithmetic, including fixed-point and floating-point operations. - Develop single-cycle and pipelined processor designs for RISC-V, understanding the intricacies of each design. - Explain and utilize memory hierarchy concepts, including cache and virtual memory, to enhance data storage efficiency. - Apply knowledge of computer organization in building efficient computer architectures and solving real-world computational problems. |
Week | Topics | Learning Methods |
---|---|---|
1. Week | Computer Abstractions and Technology - Introduction | |
2. Week | Computer Abstractions and Technology - Measuring Performance | |
3. Week | RISC-V Instructions: Language of the Computer - Hardware Operations (Arithmetic, Logical), Signed and Unsigned Numbers, Instruction Representation | |
4. Week | RISC-V Instructions : Language of the Computer (Making Decisions, Procedures, Addressing Modes) | |
5. Week | RISC-V Instructions: Language of the Computer - Parallelization, C sort example, Arrays and Pointers | |
6. Week | Arithmetic for Computers - Addition, Subtraction, Multiplication, Division | |
7. Week | Arithmetic for Computers - Floating Point (Addition, Multiplication) | |
8. Week | Midterm Exam | |
9. Week | The Processor - Building Single Cycle Datapath (RISC-V) | |
10. Week | The Processor - Building Single Cycle Datapath (RISC-V) | |
11. Week | The Processor - Pipelining (RISC-V) | |
12. Week | Large and Fast: Exploiting Memory Hierarchy - Memory Technologies | |
13. Week | Large and Fast: Exploiting Memory Hierarchy - Caches | |
14. Week | Large and Fast: Exploiting Memory Hierarchy - Virtual Memory |
[1] D. A. Patterson and J. L. Hennessy, Computer Organization and Design RISC-V Edition: The Hardware Software Interface. in ISSN. Elsevier Science, 2020. |
S. Harris and D. M. Harris, Digital Design and Computer Architecture. Elsevier, 2022. doi: 10.1016/B978-0-12-820064-3.00025-8. |
Program Requirements | Contribution Level | DK1 | DK2 | DK3 | DK4 | DK5 | DK6 | DK7 | Measurement Method |
---|
0 | 1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|---|
Course's Level of contribution | None | Very Low | Low | Fair | High | Very High |
Method of assessment/evaluation | Written exam | Oral Exams | Assignment/Project | Laboratory work | Presentation/Seminar |
Event | Quantity | Duration (Hour) | Total Workload (Hour) |
---|---|---|---|
Midterm 1 | 5 | 16 | 80 |
Homework 2 | 5 | 10 | 50 |
Total Workload | 130 | ||
ECTS Credit of the Course | 5.0 |