INFORMATION TECHNOLOGIES (ENGLISH, NON-THESIS) | |||||
Master | TR-NQF-HE: Level 7 | QF-EHEA: Second Cycle | EQF-LLL: Level 7 |
Course Code | Course Name | Semester | Theoretical | Practical | Credit | ECTS |
CMP5203 | High Performance Computer Architecture | Fall Spring |
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) | Uses basic Software Engineering knowledge and competencies. | |
2) | Applies the software development ability that is necessary for software engineering applications. | |
3) | Uses data structures and applies information about algorithm development. | |
4) | Develops system programs on operating systems. | |
5) | Defines computer organization, design and architectures. | |
6) | Creates the structure of computer networks and network security. | |
7) | Uses business intelligence, data mining and data analysis tools, applies techniques about them. | |
8) | Develops database applications and WEB based programs. | |
9) | Defines, analyzes, designs and manages information technologies projects. | |
10) | Uses and develops technology-based environments and tools in education. | |
11) | Detects, identifies and solves information technology needs of the business environment. | |
12) | Uses the capabilities of information technologies within the rules of professional responsibility and ethics. |