ECE562
Download as PDF
ECE562 - Computer Architecture and Design
Course ID
012305
Course Description
This course aims to provide a strong foundation for students to understand modern computer system architecture and to apply these insights and principles to future computer designs. It provides basic knowledge, fundamental concepts, design techniques and trade-offs, machine structures, technology factors, software implications, and evaluation methods and tools required for understanding and designing modern computer architectures including multicores, embedded systems, and parallel systems. The course is structured around the three primary building blocks of general-purpose computing systems: processors, memories, and networks. The first part of the course focuses on the fundamentals of each building block. Topics include processor microcoding and pipelining; cache microarchitecture and optimization; and network topology, routing, and flow control. The second part goes into more advanced techniques and will enable students to understand how these three building blocks can be integrated to build a modern computing system. Topics include superscalar execution, branch prediction, out-of-order execution, register renaming and memory disambiguation; VLIW, vector, and multithreaded processors; memory protection, translation, and virtualization; and memory synchronization, consistency, and coherence. The third part addresses parallel computing, including multicore architectures, datacenters and cloud computing.d others. Graduate-level students will be required to complete a term paper and extra homework.
Min Units
3
Max Units
3
Repeatable for Credit
Yes
Total Completions Allowed
99
Total Units Allowed
6
Grading Basis
GRD - Regular Grades A, B, C, D, E
Career
Graduate
Course Requisites
May be convened with
ECE462
Component
Lecture
Optional Component
No