Advanced Computer Architecture


CMPE Degree: This course is Not Applicable for the CMPE degree.

EE Degree: This course is Not Applicable for the EE degree.

Lab Hours: 0 supervised lab hours and 0 unsupervised lab hours.

Technical Interest Group(s) / Course Type(s): Computer Systems and Software

Course Coordinator: Tushar Krishna

Prerequisites: ECE 3057/ECE 3058

Corequisites: None.

Catalog Description

Comprehensive coverage of the architecture and system issues that confront
the design of a high performance workstation/PC computer architectures
with emphasis on quantitaive evaluation. Credit is not allowed for both
ECE 6100 and any of the following courses: ECE 4100, CS 4290, CS 6290.

Course Outcomes

Not Applicable

Student Outcomes

In the parentheses for each Student Outcome:
"P" for primary indicates the outcome is a major focus of the entire course.
“M” for moderate indicates the outcome is the focus of at least one component of the course, but not majority of course material.
“LN” for “little to none” indicates that the course does not contribute significantly to this outcome.

1. ( Not Applicable ) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics

2. ( Not Applicable ) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors

3. ( Not Applicable ) An ability to communicate effectively with a range of audiences

4. ( Not Applicable ) An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts

5. ( Not Applicable ) An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives

6. ( Not Applicable ) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions

7. ( Not Applicable ) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Strategic Performance Indicators (SPIs)

Outcome 1 (Students will demonstrate expertise in a subfield of study chosen from the fields of electrical engineering or computer engineering):
1. Design and analyze pipelined processors with advanced techniques such as out-of-order execution and speculation
2. Design cache-based memory systems for both uniprocessors and multiprocessors

Outcome 2 (Students will demonstrate the ability to identify and formulate advanced problems and apply knowledge of mathematics and science to solve those problems):
1. Analytically model latency and throughput for processors and caches

Outcome 3 (Students will demonstrate the ability to utilize current knowledge, technology, or techniques within their chosen subfield):
1. Understand the implication of Moore's Law / Technology Scaling on performance and power of modern processors

Course Objectives

Topical Outline

1. Pipelines
a. review basic principles, hazards, dependencies
b. Data hazards, scoreboards, Tomasulo algorithm
c. control hazards, branch prediction techniques
d. multiple instruction issue
e. compiler support
f. speculative execution
g. performance evaluation
2. Memory systems
a. review of caches principles
b. techniques to reduce cache misses, multi-level caches
c. techniques to reduce hit time
d. techniques to improve main memory performance
e. virtual memory
3. Storage Systems (6)
a. review of storage technologies, magnetic disk basics
b. I/O performance measures, benchmarks
c. reliability, availability, RAID
d. interaction with caches, OS
4. Parallel Computers
a. taxonomy of parallel architectures, parallel applications
b. synchronization mechanisms
c. bus based cache coherence protocols
d. directory based cache coherence protocols
e. memory consistency models, relaxed consistency models
f. interconnection networks, bi-section bandwidth, topologies
g. networked workstation cluster computers