Advanced Computer Architecture (CS5413)

Pre-requisite(s)

Computer Organization and Assembly Language (CS-2523)

Introduction to Programming (CS-1133)

Recommended Book(s)

Computer Architecture: A Quantitative Approach, 5th Edition John L. Hennessy And David A. Patterson. Morgan Kaufmann Publishers

Course Objectives

This course forms a strong foundation in the understanding and design of modern computing systems. Building on a computer organization base, this course explores techniques that go into designing a modern microprocessor.

Course Learning Outcomes (CLO)

Course Objectives

Course Contents

Quantitative Principles of Computer Design      

The Task of a Computer Designer
Technology and Computer Usage Trends
Cost and Trends in Cost
Measuring and Reporting Performance
Benchmarks and metrics

Instruction Set Principles and Examples              

Classification of Instruction Set Architectures
Instruction Formats and Semantics
Memory Addressing Modes
Operations in the Instruction Set
Encoding and Instruction Set
The Role of Compilers

Advanced Pipelining and Instruction-Level Parallelism

Basic Pipeline Operations
Data and Control Pipeline Hazards
Instruction-Level Parallelism
Dynamic Instruction Scheduling and Branch Prediction

Thread Level Parallelism             

Multiprocessor Systems and Applications
Centralized Shared-Memory Architectures
Distributed Shared-Memory Architectures
Execution Synchronization
Models of Memory Consistency

Data Level Parallelism (Time Permitting)

Vector Processing
Support for Multimedia Applications
Graphics Processing Units

Mapping of CLOs to Assessment Modules

Midterm exam

Final exam

Project/Paper Presentaion

Homework & Quiz