| COMPUTER ENGINEERING (ENGLISH, PHD) | |||||
| PhD | TR-NQF-HE: Level 8 | QF-EHEA: Third Cycle | EQF-LLL: Level 8 | ||
| 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. |
| 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. |
|
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. |
| 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. |
| Week | Subject | Related Preparation |
| 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. |
| 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 | |
| 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 | ||
| No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
| Program Outcomes | Level of Contribution | |
| 1) | Ability to identify and apply advanced concepts in computer engineering | |
| 2) | Cooperate efficiently in intra-disciplinary and multi-disciplinary teams. | |
| 3) | Have theoretical and practical basis in computer engineering and science to be able to conduct related academic research independently. | |
| 4) | Ability to apply advanced mathematical and engineering knowledge on real problems. | |
| 5) | Ability to search the scientific literature related to a research project and find the relationships with own research | |
| 6) | Ability to interprete scientific research and use the findings | |
| 7) | Ability to work efficiently in interdisciplinary research teams | |
| 8) | Ability to attain scientific knowledge | |
| 9) | Ability find ways to improve upon current knowledge | |
| 10) | Ability to present research findings in seminars and conferences | |
| 11) | Ability to write research progress reports by referring to published theses and papers. | |
| 12) | Ability to show the responsibility of professional and ethical behavior |