Course Title | Code | Language | Type | Semester | L+U Hour | Credits | ECTS |
---|---|---|---|---|---|---|---|
Computer Organization | BM204 | English | Compulsory | 4. Semester | 3 + 0 | 3.0 | 5.0 |
Prerequisite Courses | |
Course Level | Undergraduate |
Mode of delivery | Oral presentation and practice |
Course Coordinator | Dr. Öğr. Üyesi Sultan ZAVRAK, Dr. Öğr. Üyesi Tunahan TİMUÇİN |
Instructor(s) | |
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. |
# | Öğrenme Kazanımı |
1 | Understand and explain core computer abstractions and performance measurement methods |
2 | Analyze and use RISC-V instruction sets for basic arithmetic, logic operations, decision-making, and addressing. |
3 | Design and implement data processing operations in assembly language, including handling arrays and pointers in C. |
4 | Demonstrate proficiency in computer arithmetic, including fixed-point and floating-point operations. |
5 | Develop single-cycle and pipelined processor designs for RISC-V, understanding the intricacies of each design. |
6 | Explain and utilize memory hierarchy concepts, including cache and virtual memory, to enhance data storage efficiency. |
7 | Apply knowledge of computer organization in building efficient computer architectures and solving real-world computational problems. |
Week | Topics/Applications | Method |
---|---|---|
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 |
No | Program Requirements | Level of Contribution | |||||
---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |||
1 | Adequate knowledge of mathematics, science and related engineering disciplines; Ability to use theoretical and applied knowledge in these fields in complex engineering problems | ✔ | |||||
2 | Ability to identify, define, formulate and solve complex engineering problems; for this purpose, the ability to select and apply appropriate analysis and modeling methods | ✔ | |||||
3 | Knowledge and awareness about the management, control, development and security/reliability of Information Technologies | ✔ | |||||
4 | Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions; for this purpose, the ability to apply modern design methods | ✔ | |||||
5 | Awareness of the necessity of lifelong learning; ability to access information, follow developments in science and technology, and constantly renew oneself | ✔ | |||||
6 | Ability to design and conduct experiments, collect data, analyze and interpret results for the investigation of complex engineering problems or discipline-specific research topics | ✔ | |||||
7 | Ability to work effectively in disciplinary and multi-disciplinary teams; individual study skills | ✔ | |||||
8 | Ability to develop, select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering practice; Ability to use information technologies effectively | ✔ | |||||
9 | Knowledge of the effects of engineering practices on health, environment and safety in universal and social dimensions and the problems of the age reflected in the field of engineering; awareness of the legal consequences of engineering solutions | ✔ | |||||
10 | Ability to communicate effectively in Turkish orally and in writing; knowledge of at least one foreign language; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give and receive clear and understandable instructions | ✔ |
Program Requirements | DK1 | DK2 | DK3 | DK4 | DK5 | DK6 | DK7 |
---|---|---|---|---|---|---|---|
PY1 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
PY2 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
PY3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
PY4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
PY5 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
PY6 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
PY7 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
PY8 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
PY9 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
PY10 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
Ders Kitabı veya Notu | Ders Kitabı veya Ders Notu bulunmamaktadır. |
---|---|
Diğer Kaynaklar |
|
ECTS credits and course workload | Quantity | Duration (Hour) | Total Workload (Hour) | |
---|---|---|---|---|
Sınavlar |
Midterm 1 | 5 | 16 | 80 |
Homework 2 | 5 | 10 | 50 | |
Total Workload | 130 | |||
*AKTS = (Total Workload) / 25,5 | ECTS Credit of the Course | 5.0 |