Course Information

Course Information
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.
Learning Outcomes
# Öğ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.
Lesson Plan (Weekly Topics)
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
*Midterm and final exam dates are not specified in the 14-week course operation plan. Midterm and final exam dates are held on the dates specified in the academic calendar with the decision of the University Senate.
The Matrix for Course & Program Learning Outcomes
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
Relations with Education Attainment Program Course Competencies
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
Recommended Sources
Ders Kitabı veya Notu Ders Kitabı veya Ders Notu bulunmamaktadır.
Diğer Kaynaklar
  • [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.
ECTS credits and course workload
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