ECE: Electrical & Computer Engineering

ECE 5504 Computer Architecture


Spring 2015 textbook list

The Spring 2015 ECE textbook list is available online for students.

Current Prerequisites & Course Offering

For current prerequisites for a particular course, and to view course offerings for a particular semester, see the Virginia Tech Course Timetables.

Return to course list

ECE 5504 Computer Architecture (3C)

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.

What is the reason for 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.

Typically offered: Fall, Spring. Program Area: Computers.

Prerequisites: Prerequisites: ECE/CS 4504.

Why are these prerequisites or corequisites required?

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.

Department Syllabus Information:

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.

Course Topics
Topic Percentage
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%

Return to course list