ECE 5504 Computer Architecture | ECE | Virginia Tech


Course Information


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.

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.

Course Topics


Percentage of Course

Computer architectures, taxonomies, performance models 13%
Principles of scaleable performance: parallelism conditions, flow control, partitioning, performance metrics 20%
Pipelining, vector processing, superscalar architectures 13%
Interconnection networks: busses, crossbars, tori, hypercube, and multistage networks, performance comparisons 13%
SIMD systems: system case studies and applications 15%
MIMD systems: system case studies and applications 20%
Software support for massively parallel architectures 6%