標題: | 計算機架構 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 |
Appears in Collections: | Open Course Ware |