COMPUTER ENGINEERING (ENGLISH, PHD)
PhD TR-NQF-HE: Level 8 QF-EHEA: Third Cycle EQF-LLL: Level 8

Course Introduction and Application Information

Course Code Course Name Semester Theoretical Practical Credit ECTS
CMP5203 High Performance Computer Architecture Fall 3 0 3 12
This catalog is for information purposes. Course status is determined by the relevant department at the beginning of semester.

Basic information

Language of instruction: English
Type of course: Departmental Elective
Course Level:
Mode of Delivery: Face to face
Course Coordinator : Assist. Prof. ECE GELAL SOYAK
Course Objectives: The course aims to provide students with a comprehensive understanding of modern computer architecture and systems. Students will explore fundamental topics such as computer organization, instruction set design, and memory system design, while gaining insights into advanced techniques like pipelining, cache coherence protocols, and instruction-level parallelism. The course will also cover system-level concepts, including the design of storage subsystems, and will provide practical exposure through case studies on the design of modern microprocessors. By the end of the course, students will have a deep understanding of both the hardware and system-level components that drive the performance and efficiency of contemporary computing systems.

Learning Outcomes

The students who have succeeded in this course;
- Understand key concepts in computer architecture including processor design, pipelining, and memory systems.
- Analyze and optimize performance through techniques like instruction-level parallelism, cache management, and compiler optimizations.
- Design and evaluate modern microprocessor systems using advanced concepts such as superscalar and VLIW architectures.
- Gain expertise in multiprocessor and distributed systems including synchronization, memory consistency, and cluster computing.
- Explore alternative computing models through non-Von Neumann architectures like data flow and systolic systems.
- Apply theoretical knowledge through case studies on real-world microprocessor design.

Course Content

1. Review of basic computer architecture and quantitative techniques in computer design
2. CISC and RISC processors
3. Pipelining, hazards and exception handling
4. Hierarchical Memory, Inclusion, coherence, and locality properties
5. Cache memory organizations and techniques for reducing cache misses
6. Virtual memory organization, mapping, and management techniques
7. Midterm
8. I/O system design, bus structures
9. Thread level parallelism; Centralized vs. distributed shared memory, multicore architecture, cache coherence problem
10. Process level parallelism; distributed computers, clusters, grid
11. Centralized shared-memory architecture: synchronization, memory consistency, interconnection networks.
12. Non von Neumann architectures: data flow computers, reduction computer architectures, systolic architectures.

Weekly Detailed Course Contents

Week Subject Related Preparation

Sources

Course Notes / Textbooks:
References: * John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann.
* D. A. Patterson and J. L. Hennessy, Computer Organization and Design, 4th Ed.
* Computer Architecture, Berhooz Parhami.
* John Paul Shen and Mikko H. Lipasti, Modern Processor Design: Fundamentals of Superscalar Processors, Tata McGraw-Hill.
* M. J. Flynn, Computer Architecture: Pipelined and Parallel Processor Design, Narosa Publishing House.
* Kai Hwang, Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill.

Evaluation System

Semester Requirements Number of Activities Level of Contribution
Quizzes 3 % 30
Midterms 1 % 30
Final 1 % 40
Total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
Total % 100

ECTS / Workload Table

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 3 42
Homework Assignments 5 6 30
Quizzes 3 3 9
Paper Submission 1 20 20
Final 1 15 15
Total Workload 116

Contribution of Learning Outcomes to Programme Outcomes

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) To be able to follow scientific literature, analyze it critically and use it effectively in solving engineering problems.
2) To be able to ask the right questions, plan, implement, manage and document innovative work for scientific innovative designs in the field of Computer Engineering.
3) To be able to independently carry out studies in the field of Computer Engineering, examine them in depth, take responsibility and evaluate the results obtained from a critical point of view.
4) To be able to present the results of his/her research and projects effectively in written, oral and visual form in accordance with academic standards.
5) To be able to conduct independent research on topics related to Computer Engineering that require deep specialization, to develop original ideas and to transfer this knowledge to practice.
6) Uses advanced theoretical and practical knowledge specific to Computer Engineering effectively.
7) Acts in accordance with professional, scientific and ethical values; takes responsibility by considering the social, environmental and ethical impacts of engineering practices.