Updates on the campus response to coronavirus (COVID-19)

ECE Course Syllabus

ECE4100 Course Syllabus


Advanced Computer Architecture (3-0-3)

CMPE Degree
This course is Elective for the CMPE degree.

EE Degree
This course is Elective for the EE degree.

Course Coordinator
Qureshi,Moinuddin K

ECE 3055/3056


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

Hennessey & Patterson, Computer Architecture: A Quantitative Approach (6th edition), Morgan Kaufmann, 2017. ISBN 9780128119051 (required)

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. ( LN ) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  2. ( LN ) 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. ( LN ) An ability to communicate effectively with a range of audiences
  4. ( LN ) 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. ( LN ) 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. ( LN ) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
  7. ( LN ) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Topical Outline
      review basic principles, hazards, dependencies   
      data hazards, scoreboards, Tomasulo algorithm  
      control hazards, branch prediction techniques    
      multiple instruction issue   
      compiler support   
      speculative execution         
      performance evaluation   

 Memory systems   
      review of caches principles   
      techniques to reduce cache misses, multi-level caches    
      techniques to reduce hit time 
      techniques to improve main memory performance   
      virtual memory   

 Storage Systems
      review of storage technologies, magnetic disk basics    
      I/O performance measures, benchmarks   
      reliability, availability, RAID  
      interaction with caches, OS   

 Parallel Computers    
      taxonomy of parallel architectures, parallel applications            
      synchronization mechanisms    
      bus based cache coherence protocols   
      directory based cache coherence protocols   
      memory consistency models, relaxed consistency models   
      interconnection networks, bi-section bandwidth, topologies   
      networked workstation cluster computers