BİL361

Computer Architecture and Organization

Faculty \ Department
School of Engineering \ Computer Engineering
Course Credit
ECTS Credit
Course Type
Instructional Language
3
6
Compulsory
Turkish
Prerequisites
BİL265 or BİL264
Programs that can take the course
Computer Engineering
Course Description
Performance analysis in computer systems, single-cycle and multi-cycle processor designs, instruction set architecture, programming in assembly language, types of instructions, pipeline structures, control issues in computer architecture and their possible solutions, branch predictors, cache and virtual memory structures, input/output in computer systems.
Textbook and / or References
David A. Patterson, John L. Hennesy, Computer Organisation and Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) ISBN-13: 978-0123744937
Course Objectives
Understanding the working principles of the basic components that make up a computer, identifying and solving potential problems that may occur in hardware design, performance criteria and methods for improving performance, and designing computer components using logic circuit elements and hardware description languages.
Course Outcomes
1. Identifying factors affecting performance, learning the concept of Cycles Per Instruction (CPI) and the relationship between performance and execution time.
2. Designing a single-cycle processor on paper and using hardware description languages according to given requirements and constraints, creating the control table. Learning general information about multi-cycle processors and performing performance calculations.
3. Calculating the performance achieved with given branch predictors on a piece of code containing control instructions and determining the branch predictor with the highest performance for this code.
4. Calculating the performance of a processor using pipelining and identifying problems.
5. Determining the cache and virtual memory performance of a given piece of code.
6. Implementing a specified input-output protocol on a given system.
Tentative Course Plan
Week 1: Performance
Week 2: Instruction Set Architecture
Week 3: Instruction Set Architecture
Week 4: Instruction Set Architecture
Week 5: Pipelining
Week 6: Pipelining
Week 7: Branch Predictors
Week 8: Cache
Week 9: Cache
Week 10: Cache
Week 11: Virtual Memory
Week 12: Input/Output
Tentative Assesment Methods
• Midterm 40 %
• Final 60 %
• Bonus Homework 15 %
Program Outcome *
1 2 3 4 5 6 7 8 9 10 11
Course Outcome
1 C, D A D C
2 C, D A, B A D C
3 C, D A, B A D C
4 D A D C
5 D A D C
6 D A D C