| 課程大綱 Syllabus |
學生學習目標 Learning Objectives |
單元學習活動 Learning Activities |
學習成效評量 Evaluation |
備註 Notes |
序 No. | 單元主題 Unit topic |
內容綱要 Content summary |
| 1 | Fundamentals of Quantitative Design and Analysis |
Classes of Computers
Trends in Technology
Trends in Power and Energy in Integrated Circuits |
Learn the quantitative desgin and analysis of computer architecture |
|
|
|
| 2 | Fundamentals of Quantitative Design and Analysis |
Trends in Cost
Measuring, Reporting, and Summarizing Performance
Quantitative Principles of Computer Design |
Learn the quantitative desgin and analysis of computer architecture |
|
|
|
| 3 | Review of memory hierarchy |
Cache Performance
Six Basic Cache Optimizations |
Learn the design of memory hierarchy |
|
|
|
| 4 | Review of memory hierarchy |
Virtual Memory
Protection and Example of Virtual Memory |
Learn the design of memory hierarchy |
|
|
|
| 5 | Memory Hierarchy Design |
Ten Advanced Optimizations of Cache Performance
memory Technology and Optimizations
Protection: Virtual memory and Virtual Machines |
Learn the design of memory hierarchy |
|
|
|
| 6 | Pipelining: Basic and Intermediate Concepts |
Major Hurdle of Pipekining -- Pipeline Hazards
How is Pipelining Implemented? |
Learn the pipeline design of processor |
|
|
|
| 7 | Pipelining: Basic and Intermediate Concepts |
What makes Pipelining Hard to Implement?
Extending the MIPS pipeline to Handle Multicycle Operations |
Learn the pipeline design of processor |
|
|
|
| 8 | Instruction-Level Parallelism and Its Exploitation |
Instruction-Level Parallelism: Concepts and Challenges
Basic Compiler Techniques for Exposing ILP |
Learn the design of instruction parallelism |
|
|
|
| 9 | Midterm examination |
Examination |
Examination |
|
|
|
| 10 | Instruction-Level Parallelism and Its Exploitation |
Reducing Branch Costs with Advanced Branch Prediction
Overcoming Data Hazards with Dynamic Scheduling
Dynamic Scheduling: Examples and the Algorithm |
Learn the design of instruction parallelism |
|
|
|
| 11 | Instruction-Level Parallelism and Its Exploitation |
Hardware-Based Speculation
Expoiting ILP Using Multiple Issue and Static Scheduling
Expoiting ILP Using Dynamic Scheduling, Multiple Issue, and Speculation |
Learn the design of instruction parallelism |
|
|
|
| 12 | Instruction-Level Parallelism and Its Exploitation |
Advanced Techniques for Instruction Delivery and Speculation
Studies of Limitations of ILP
Cross-Cutting Issues: ILP Approaches and the Memory Syatem
Multithreading: Exploiting Thread_Level Parallelism to Improve Uniprocessor Throughput |
Learn the design of instruction parallelism |
|
|
|
| 13 | Data-Level Parallelism in Vector, SIMD, and GPU Architectures |
Vector Architecture
SIMD Instruction Set Extensions for Multimedia |
Learn the design of data-level parallelism |
|
|
|
| 14 | Data-Level Parallelism in Vector, SIMD, and GPU Architectures |
Graphic Processing Units
Detecting and Enhancing Loop-Level Parallelism |
Learn the design of data-level parallelism |
|
|
|
| 15 | Data-Level Parallelism in Vector, SIMD, and GPU Architectures |
Crosscutting Issues
Putting It All Together: Mobile versus Server GPUs and Tesla versus Core i7 |
Learn the design of data-level parallelism |
|
|
|
| 16 | Thread-Level Parallelism |
Centralized Shared-Memory Architectures
Performance of Symmetric Shared-Memory Multiprocessors
Distributed Shared-Memory and Directory-Based Coherence |
Learn the design of thread-level parallelism |
|
|
|
| 17 | Thread-Level Parallelism |
Synchronization: The Basics
Models of Memory Consistency: An Introduction |
Learn the design of thread-level parallelism |
|
|
|
| 18 | Final Examination |
Final Examination |
Final Examination |
|
|
|