Advanced computer architectures, focusing on multiprocessor systems and the principles of their design. Parallel computer models, programming and interconnection network properties, principles of scaleable designs. Case studies and example applications of pipeline processors, interconnection networks, SIMD and MIMD processors.
Why take this course?
The study of computer architecture is crucial to the analysis, design, and integration of computer systems. Electrical and computer engineers and computer scientists must have a strong background in computer architecture in order to keep pace with rapid advances in high performance computing and applications programming. The material is relevant to both research and practice.
This course requires that students have prior background in information representation and transfer, instruction sets, memory hierarchy, input/output organization, the von Neumann single-instruction single-data stream computer organization, basic definitions of parallel computers, and basic understanding of algorithm implementation on specific computer architectures. ECE/CS 4504 provides this background.
Major Measurable Learning Objectives
Describe the strengths and weaknesses of representative contemporary computer performance metrics;
Compare state-of-the-art computer architectures based on relevant performance metrics;
Model and analyze interconnection network designs for parallel computer architectures;
Analyze applications programs, formulate approaches for implementing the programs on advanced architectures, and select the most appropriate architecture to achieve a desired level of performance.