標題: 計算機架構
Computer Architecture
作者: 單智君
Open Education Office
開放教育推動中心
公開日期: 2010
摘要: 課程首頁

本課程是由交通大學資訊工程學系提供。

Computer Architecture is one of the few fundamental subjects that a computer scientist must master. It describes how a computer system should be designed, from the user’s and the system view. It differs from the undergraduate course Computer Organization in that, this course tells you not only how current computers are designed, but also the future directions in accordance with technological changes, plus many design techniques in depth.
課程概述
Computer Architecture is one of the few fundamental subjects that a computer scientist must master. It describes how a computer system should be designed, from the user’s and the system view. It differs from the undergraduate course Computer Organization in that, this course tells you not only how current computers are designed, but also the future directions in accordance with technological changes, plus many design techniques in depth.

課程章節




單元主題

單元內容


Fundamentals of Computer Design (Ch1)


Introduction
Classes of Computers
Defining Computer Architecture
Trends in Technology
Trends in Power in Integrated Circuits
Trends in Cost
Dependability
Measuring, Reporting, and Summazing
Performance
Quantitative Principles of Computer Design



Instruction Set Principles and Examples (App. B)


Introduction
Classifying Instruction Set Architectures
Memory Addressing
Type and Size of Operands
Operations in the Instruction Set
Instructions for Control Flow
Encoding an Instruction Set



Pipelining: Basic and Intermediate Concepts (App. A)


Introduction
The Major Hurdle of Pipelining—Pipeline Hazards
How Is Pipelining Implemented?
What Makes Pipelining Hard to Implement?
Extending the MIPS Pipeline to Handle Multicycle Operations



Instruction Level Parallelism and Its Exploitation (Ch2)


Instruction-Level Parallelism: Concepts and Challenges
Basic Compiler Techniques for Exposing ILP
Reducing Branch Costs with Prediction
Overcoming Data Hazards with Dynamic Scheduling
Dynamic Scheduling: Examples and the Algorithm
Hardware-Based Speculation
Exploiting ILP using Multiple Issue and Static Scheduling
Exploiting ILP using Dynamic Scheduling, Multiple Issue, and Speculation
Advanced Techniques for Instruction Delivery and Speculation

Limits on Instruction-Level Parallelism (Ch3)


Introduction
Studies of the Limitations of ILP
Crosscutting Issues: Hardware vs Software Speculation
Multithreading: Using ILP Support to Exploit Thread-Level Parallelism


Review of Memory Hierarchy (App. C)


Introduction
Cache Performance
Six Basic Cache Optimizations
Virtual Memory
Protection and Examples of Virtual Memor


Memory Hierarchy Design (Ch5)


Introduction
Eleven Advanced Optimizations of Cache Performance
Memory Technology and Optimizations
Protection: Virtual Memory and Virtual Machines


Multiprocessors and Thread-Level Parallelism (Ch4)


Introduction
Symmetric Shared-Memory Architectures
Performance of Symmetric Shared-Memory Multiprocessors
Distributed Shared Memory and Directory-Based Coherence
Synchronization: The Basics
Models of Memory Consistency: An Introduction

課程書目

John L. Hennessy & David A. Patterson, Computer Architecture: A Quantitative Approach, 4th ed., 2007, Morgan Kaufmann.

參考資料

John L. Hennessy & David A. Patterson, Computer Architecture: A Quantitative Approach, 3rd ed., 2003.
Class notes of Prof. D. Culler & D. Patterson, UCB.
Class notes of Prof. C. Chen & H.R. Ke, NCTU

評分標準



項目
百分比



課堂參與與討論


作業與小考
20-40%

期中與期末考
60-80%
授課對象:碩士班學生
預備知識:Computer Organization (Undergraduate course)
URI: http://ocw.nctu.edu.tw/course_detail.php?bgid=9&nid=238
http://hdl.handle.net/11536/108223
顯示於類別:開放式課程