Lecture on High Performance Processor Architecture CS 05162

  • Slides: 93
Download presentation
Lecture on High Performance Processor Architecture (CS 05162) How to Study Computer Architecture An

Lecture on High Performance Processor Architecture (CS 05162) How to Study Computer Architecture An Hong han@ustc. edu. cn Fall 2009 School of Computer Science and Technology University of Science and Technology of China CS of USTC AN Hong

理解现代计算机系统设计的影响因素 2021/10/30 CS CAS of USTC ICT AN AN Hong 3

理解现代计算机系统设计的影响因素 2021/10/30 CS CAS of USTC ICT AN AN Hong 3

了解现代计算机系统的设计和制造过程 2021/10/30 CS USTC of USTC CS AN ANHong 5

了解现代计算机系统的设计和制造过程 2021/10/30 CS USTC of USTC CS AN ANHong 5

加州大学伯克利分校(UC Berkeley) 2021/10/30 CS of USTC AN Hong 7

加州大学伯克利分校(UC Berkeley) 2021/10/30 CS of USTC AN Hong 7

课程体系(UC Berkeley) n EECS 150 Components and Design Techniques for Digital Systems(相当于CE-DIG数字逻辑) − undergraduate

课程体系(UC Berkeley) n EECS 150 Components and Design Techniques for Digital Systems(相当于CE-DIG数字逻辑) − undergraduate − www-inst. eecs. berkeley. edu/~cs 150/fa 05/ n CS 152 Computer Architecture and Engineering(相当于CE -CAO计算机组成) − undergraduate/graduate − www-inst. eecs. berkeley. edu/~cs 152/ n CS 252 Graduate Computer Architecture(相当于CE-CAO计算 机体系结构) − graduate − http: //www. cs. berkeley. edu/~culler/courses/cs 252 -s 05/ 2021/10/30 CS of USTC AN Hong 8

EECS 150 Components and Design Techniques for Digital Systems n 教材 − R. H.

EECS 150 Components and Design Techniques for Digital Systems n 教材 − R. H. Katz, G. Borriello, Contemporary Logic Design, 2 nd Ed. , Pearson Prentice-Hall, Upper Saddle River, NJ, 2005. Contemporary Logic Design, Second Edition n 教学目标 • Understand digital logic at the gate and switch level including both combinational and sequential logic elements. • Understand clocking methodologies to manage information flow and preservation of circuit state. • Appreciate digital logic specification methods and the compilation process that transforms these into logic networks. • Gain experience with computer-aided design tools for implementation with programmable logic devices. • Appreciate the advantages/disadvantages between hardware and software implementations of a function. 2021/10/30 CS of USTC AN Hong 9

EECS 150 Components and Design Techniques for Digital Systems n 教学内容 − Language of

EECS 150 Components and Design Techniques for Digital Systems n 教学内容 − Language of logic design(Verilog project skills) − Boolean algebra, logic, state, timing, CAD tools − Concept of state in digital systems − Analogous to variables, program counters in software − How to specify/simulate/compile our designs − Hardware description languages − Tools to simulate the workings of our designs − Logic compilers to synthesize the hardware blocks − Mapping onto programmable hardware n 10个助教 2021/10/30 CS of USTC AN Hong 10

CS 152 Computer Architecture and Engineering n 课时 − 每周 3小时讲授(总 60学时,周学时 4,每学时 45分钟)

CS 152 Computer Architecture and Engineering n 课时 − 每周 3小时讲授(总 60学时,周学时 4,每学时 45分钟) − 每周 2小时辅导 n 2个助教 n 先修课程 − EECS 150 Components and Design Techniques for Digital Systems 2021/10/30 CS of USTC AN Hong 11

CS 152 Computer Architecture and Engineering n 教材 − Computer Organization and Design: The

CS 152 Computer Architecture and Engineering n 教材 − Computer Organization and Design: The Hardware/Software Interface, Third Edition by David A. Patterson and John L. Hennessy. n 参考书 − Computer Architecture: A Quantitative Approach, Third Edition by John L. Hennessy and David A. Patterson. l This is a more advanced text, used in CS 252. It is available for occasional supplementary reading. n 实验参考书 − See MIPS run by Dominic Sweetman, Morgan Kaufman Publishers. l Provides an in-depth, easy to use guide to the MIPS instruction set, including special attention to processor control. − MIPS RISC Architecture, Second Edition by Gerry Kane and Joe Heinrich, Prentice Hall. l This provides a complete reference on the MIPS instruction set and has very nice treatment of pipelined design. 2021/10/30 CS of USTC AN Hong 12

CS 152 Computer Architecture and Engineering n 教学内容 − Computer architecture history − Instruction

CS 152 Computer Architecture and Engineering n 教学内容 − Computer architecture history − Instruction set design − Computer arithmetic − Performance and cost analysis − Data-path design and Controller design − Pipelining − Caches and memory systems, addressing − Networks interrupts and exceptions − Input-output systems − Microprogramming − A survey of advanced architectures, real computers and microprocessors 2021/10/30 CS of USTC AN Hong 14

CS 152 Computer Architecture and Engineering n 课时安排(60学时,周学时 4,共 15周) − ISA, arithmetic,technology &

CS 152 Computer Architecture and Engineering n 课时安排(60学时,周学时 4,共 15周) − ISA, arithmetic,technology & HDL,Proc. Design(6周) l The MIPS ISA l Single-Cycle Datapaths l Single-Cycle Wrap-Up l Testing and Teamwork l Timing l Performance l Pipelining III l VLSI l Midterm Review Session in Class(复习) l Midterm I: (期中考试,3小时) 2021/10/30 CS of USTC AN Hong 15

CS 152 Computer Architecture and Engineering n 课时安排(60学时,周学时 4,共 15周) − Memory and I/O(4.

CS 152 Computer Architecture and Engineering n 课时安排(60学时,周学时 4,共 15周) − Memory and I/O(4. 5周) l Memory Circuits and Interfaces l Cache II l Virtual Memory l Error Correcting Codes l Advanced Processors III l Buses, Disks, and RAID 2021/10/30 CS of USTC AN Hong 16

CS 152 Computer Architecture and Engineering n 课时安排(60学时,周学时 4,共 15周) − Networks and multiprocessors(3.

CS 152 Computer Architecture and Engineering n 课时安排(60学时,周学时 4,共 15周) − Networks and multiprocessors(3. 5周) l Networks l Routers l Synchronization l Multiprocessors l Midterm II Review in Class(复习) l Midterm II: 期中考试,3小时 − Last Day: “Lessons Learned” Group Presentations(1周) 2021/10/30 CS of USTC AN Hong 17

CS 152 Computer Architecture and Engineering n 课程实践 − Most assignments consists of two

CS 152 Computer Architecture and Engineering n 课程实践 − Most assignments consists of two parts l Individual Effort: Exercises from the text book l Team Effort: Lab assignments − Computer Design Team Projects: 分组的实验项目,每组4~5名学生 , 每个学生要投入 200个小时 − 一系列的计算机设计项目实验是本课程的灵魂,分三个步骤实现一个 MIPS结构的子集,获得Register Transfer Level (RTL) 机器描述 l A single-cycle CPU design, 3 weeks l A pipelined CPU with caches and a DRAM controller, 5 weeks 2021/10/30 CS of USTC AN Hong 18

CS 152 Computer Architecture and Engineering n 作业要求: 2套 − The homeworks will be

CS 152 Computer Architecture and Engineering n 作业要求: 2套 − The homeworks will be graded for effort (did you attempt to solve each problem in a serious way? ), not correctness. − We will hand out the solutions to the homework at the mid-term review session, to help you study for the mid-term. − You may talk about the homeworks with your fellow students, but the homework should represent your own attempt to solve the problem (no copying someone else's answers onto your sheet). − The goal of the homeworks is to help you review the material BEFORE the mid-term review session, so that you will get the most out of the review. 2021/10/30 CS of USTC AN Hong 19

Computer Design Team Projects Real hardware Xilinx Virtex E • 43, 200 “parts” +655,

Computer Design Team Projects Real hardware Xilinx Virtex E • 43, 200 “parts” +655, 000 RAM bits • Write Verilog to “wire”parts. Download CPU machine code using TFTP DRAM Xilinx Virtex E FPGA Program Xilinx via PC 2021/10/30 CS of USTC AN Hong 20

CS 152 Computer Architecture and Engineering n 实验要求: 4个 − 保持简单,使能 作(Keep it simple

CS 152 Computer Architecture and Engineering n 实验要求: 4个 − 保持简单,使能 作(Keep it simple and make it work) l Fully test everything individually and then together l Retest everything whenever you make any changes l Last minute changes are something to avoid! − 交流是成功的关键(Group dynamics. Communication is the key to success) l Be open with others of your expectations and your problems l Everybody should be there on design meetings when key decisions are made and jobs are assigned − 计划非常重要(Planning is very important) l Promise what you can deliver; deliver more than you promise l Murphy’s Law: things DO break at the last minute • Don’t make your plan based on the best case scenarios • Freeze you design and don’t make last minute changes − 永不放弃! 2021/10/30 CS of USTC AN Hong 21

CS 152 Computer Architecture and Engineering n 成绩 − 2次期中考试,无期末考试: 30%(10% + 20%) l

CS 152 Computer Architecture and Engineering n 成绩 − 2次期中考试,无期末考试: 30%(10% + 20%) l reduce the pressure of taking exams l covering the material from the readings and class l over a 3 -hour period in early evening. − 4个实验: 50%(2% + 8% + 15% + 25%) − 2个课外作业: 3%(1% + 2%) − 平时表现: 17% − 不接收任何迟交的作业和实验报告 2021/10/30 CS of USTC AN Hong 22

CS 152 Computer Architecture and Engineering Lab 4: 25 % Lab 3: 15 %

CS 152 Computer Architecture and Engineering Lab 4: 25 % Lab 3: 15 % Lab 2: 8 % Lab 1: 2 % Evals Midterm exams Subject to fine tuning. . . Lab work 2021/10/30 CS of USTC AN Hong HW 23

CS 152 Computer Architecture and Engineering Staff evals: Peer evals: Teammates grade each other

CS 152 Computer Architecture and Engineering Staff evals: Peer evals: Teammates grade each other after Labs 2, 3, 4. Rewards good “team players” 2021/10/30 Evals Midterm exams Lab work CS of USTC AN Hong TAs are your “managers” They observe how well HW you work on the team. 24

CS 152 Computer Architecture and Engineering Evals Lab work MT 1: Oct 4 th.

CS 152 Computer Architecture and Engineering Evals Lab work MT 1: Oct 4 th. About 10% of final grade. Midterm exams HW In-class review session before each mid-term. 2021/10/30 CS of USTC AN Hong MT 2: Dec 6 th. About 20% of final grade. 3 hours, early evening, no calculators or electronic devices. 25

CS 152 Computer Architecture and Engineering Evals Lab work Homework due at mid-term review

CS 152 Computer Architecture and Engineering Evals Lab work Homework due at mid-term review session. Midterm exams Based on last year’s mid-term. HW May discuss HWs with other students, but work handed in must be your own. 2021/10/30 CS of USTC AN Hong Graded on effort, not correctness. NO late homeworks accepted. 26

CS 252 Graduate Computer Architecture n 教材 − J. L. Hennessy and D. A.

CS 252 Graduate Computer Architecture n 教材 − J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 3 rd Edition, Morgan Kaufmann Publishing Co. , Menlo Park, CA. 2002. − Readings in Computer Architecture, Mark Hill (Editor), Norman Jouppi (Editor), Gurindar Sohi (Editor), Morgan Kaufmann Publishing Co. , Menlo Park, CA. 1999 2021/10/30 CS of USTC AN Hong 28

CS 252 Graduate Computer Architecture n 教学目标 − focuses on the design and implementation

CS 252 Graduate Computer Architecture n 教学目标 − focuses on the design and implementation of computer systems, as well as techniques for analyzing and comparing alternative computer organizations. − take the broad view of computer architecture as it evolves - not just CPU design, but the places where hardware and software come together from tiny embedded devices to massive internet service platforms. − learn about styles of computer implementation and organization from a historical and modern perspective. − Students will also undertake a major computing systems analysis and design project of their own choosing. 2021/10/30 CS of USTC AN Hong 29

CS 252 Graduate Computer Architecture n 教学内容 − Traditional concepts such as pipelining, instruction-level

CS 252 Graduate Computer Architecture n 教学内容 − Traditional concepts such as pipelining, instruction-level parallelism, memory hierarchies, and input/output architectures will be discussed. − Further, modern issues such as data speculation, dynamic compilation, communication architecture, multiprocessors, and VLSI scaling concerns will be introduced and discussed. − Cutting-edge paradigms such as low-power wireless, network processors, reliability, and scalable systems will be explored In addition to the textbook, this course includes a number of readings from research papers. Such papers are important for a number of reasons, not the least of which is to understand that design decisions are not always black and white. 2021/10/30 CS of USTC AN Hong 30

斯坦福大学(Stanford) 2021/10/30 CS of USTC AN Hong 31

斯坦福大学(Stanford) 2021/10/30 CS of USTC AN Hong 31

课程体系( Stanford ) n EE 108 A Digital Systems I − undergraduate − http:

课程体系( Stanford ) n EE 108 A Digital Systems I − undergraduate − http: //www. stanford. edu/class/ee 108 a/ n EE 108 B Digital Systems II − undergraduate − http: //www. stanford. edu/class/ee 108 b/ n EE 282 Computer Systems Architecture − graduate and advance undergraduate students − http: //www. stanford. edu/class/ee 282/ 2021/10/30 CS of USTC AN Hong 32

课程体系( Stanford ) n EE 271 Introduction to VLSI Systems − CMOS VLSI Design,

课程体系( Stanford ) n EE 271 Introduction to VLSI Systems − CMOS VLSI Design, by Neil H. E. Weste and David Harris n EE 273 Digital Systems Engineering − Digital Systems Engineering, by W. J. Dally, J. W. Poulton, Cambridge University Press, 1998 n EE 382 Processor Design − Basic cycle time, processor area tradeoffs, and processor design studies. Vector processors, multiple instruction issue processors and shared memory multiprocessors. Queuing analysis of memory systems and I/O systems. Prerequisite: EE 282 or equivalent No longer offered. n EE 382 A Advanced Processor Architecture − Modern Processor Design: Fundamentals of Superscalar Processors, by J. P. Shen and M. Lipasti, 1 st edition, Mc. Graw-Hill − http: //www. stanford. edu/class/ee 382 a/ n EE 382 B Parallel Computer Architecture and Programming 2021/10/30 CS of USTC AN Hong 33

课程体系( Stanford ) n EE 385 B Computer Architecture Seminar − Discussions of research

课程体系( Stanford ) n EE 385 B Computer Architecture Seminar − Discussions of research problems in computer organization, memory hierachy, machine representation, and emulation of conventional and abstract machines. No longer offered. n EE 486 Advanced Computer Arithmetic − “Advanced Computer Arithmetic Design”, by M. J. Flynn and S. Oberman; Pub J Wiley 2001 − Number systems, floating point representation, state of the art in arithmetic algorithms, problems in design of high speed arithmetic units. Prerequisite: EE 282. Not offered 03/04 2021/10/30 CS of USTC AN Hong 34

EE 108 A Digital Systems I n 教材 − There is no required text.

EE 108 A Digital Systems I n 教材 − There is no required text. The course will be taught from class notes handed out periodically throughout the quarter n 教学目标 − An introduction to digital circuits and their applications − The course is an introduction to digital systems design. It gives the student a working knowledge of the design and analysis of combinational logic, finite-state-machines, system partitioning, timing and synchronization. − The course presents this material in the context of modern digital design using a high level hardware description language, Verilog, and synthesis to an FPGA for implementation. 2021/10/30 CS of USTC AN Hong 35

EE 108 A Digital Systems I n 教学内容 − Digital circuit, logic and system

EE 108 A Digital Systems I n 教学内容 − Digital circuit, logic and system design − Digital representation of information − MOS logic circuits − Combinational logic design − Logic building blocks, idioms and structured design − Sequential logic design and timing analysis − Clocks and synchronization − Finite state machines − Microcode control − Digital system design − Control and datapath partitioning 2021/10/30 CS of USTC AN Hong 36

EE 108 B Digital Systems II n 课时 − 每周 1小时 15分讲授,另外每周有50分钟review sessions n

EE 108 B Digital Systems II n 课时 − 每周 1小时 15分讲授,另外每周有50分钟review sessions n 4 TAs n 先修课程: EE 108 A Digital Systems I 2021/10/30 CS of USTC AN Hong 37

EE 108 B Digital Systems II n 教材 − Computer Organization & Design: The

EE 108 B Digital Systems II n 教材 − Computer Organization & Design: The Hardware/Software Interface, David A. Patterson and John L. Hennessy, 3 rd Edition, Morgan-Kaufmann, 2005. 2021/10/30 CS of USTC AN Hong 38

EE 108 B Digital Systems II n 课时安排 − Midterm Exam前 l Introduction, course

EE 108 B Digital Systems II n 课时安排 − Midterm Exam前 l Introduction, course overview l MIPS ISA I: operands and operations l MIPS ISA II: data and control transfer l MIPS ISA III: loops, case stmts, procedures l Compilers, linking, loading l ALU design and Performance l Processor building block: simple processor l Improving performance with parallelism/pipelining l Pipeline Hazards l Midterm Exam 2021/10/30 CS of USTC AN Hong 40

EE 108 B Digital Systems II n 课时安排 − Midterm Exam后 l Pipeline Hazards

EE 108 B Digital Systems II n 课时安排 − Midterm Exam后 l Pipeline Hazards l Memory Hierarchy II l Interrupts and Exceptions l Operating System basics I: Virtual memory l Operating system basics II: Processes l I/O devices l Buses and Interfacing l I/O system design & Review l Final Exam 2021/10/30 CS of USTC AN Hong 41

EE 108 B Digital Systems II n 课时安排 − 复习 l There are weekly

EE 108 B Digital Systems II n 课时安排 − 复习 l There are weekly review sessions l These sessions clarify topics covered during lecture and review special topics l Attendance is optional, but highly recommended − 考试 l There will be one 3 -hour exam during the quarter and a comprehensive 3 -hour exam given during the final exam period l Both exams are closed book , However, you are allowed a single page of notes (notes on both sides of the page) 2021/10/30 CS of USTC AN Hong 42

EE 108 B Digital Systems II n 作业要求: 5套 − There will be five

EE 108 B Digital Systems II n 作业要求: 5套 − There will be five homework sets during the quarter. − Solving the problems is critical to learning the material and understanding the concepts presented in this course. − Since there is often a significant benefit to teamwork, students can work in groups of twp. A single copy of the answers should be submitted with both students’ names. 2021/10/30 CS of USTC AN Hong 43

EE 108 B Digital Systems II n 预备实验要求(Programming): 2个 − There will be two

EE 108 B Digital Systems II n 预备实验要求(Programming): 2个 − There will be two programming assignments during the quarter, both of which must be completed individually l Programming Assignment #1 • This assignment involves writing a simple MIPS assembly language program for doing a recursive sort. l Programming Assignment #2 • This assignment involves implementing a MIPS simulator in SPIM − The programming projects will be written in MIPS assembly using the spim MIPS simulator available on the Leland machines. − You are encouraged to discuss the programming assignment, algorithms, tricky conditions, testing strategies with other students, but you must independently write your own solution 2021/10/30 CS of USTC AN Hong 44

EE 108 B Digital Systems II n 实验要求: 4个 − (For students taking the

EE 108 B Digital Systems II n 实验要求: 4个 − (For students taking the class for 4 units there will be four laboratory projects during the quarter ) − 2 students each group − The projects will use modern Xilinx programmable logic devices to implements components of processor based systems − A short (3 pages) written report and a demonstration of the working project is required for each project − Lab Equipment l The Xilinx XUP Virtex-II Pro XC 2 VP 30 Development System. l Sega Gamepads l Interfacing to VGA Monitor − Software Tools l We are using the Xilinx ISE (7. 1) Tools with Model. Sim − Verilog document − Tutorials l Simulation with Modelsim l Xilinx ISE Foundation 5. 1 i 2021/10/30 CS of USTC AN Hong 45

EE 108 B Digital Systems II n 成绩 − − − Final grades will

EE 108 B Digital Systems II n 成绩 − − − Final grades will be computed approximately as follows: Problem Sets: 15 % Programming/Lab Projects: 25 % Midterm: 25 % Final: 35 % 2021/10/30 CS of USTC AN Hong 46

威斯康辛大学(WISC) 2021/10/30 CS of USTC AN Hong 48

威斯康辛大学(WISC) 2021/10/30 CS of USTC AN Hong 48

课程体系(WISC) n CS/ECE 252 - Introduction to Computer Engineering n CS/ECE 352 - Digital

课程体系(WISC) n CS/ECE 252 - Introduction to Computer Engineering n CS/ECE 352 - Digital System Fundamentals − undergraduate n ECE 353 - Introduction to Microprocessor Systems − undergraduate n CS/ECE 354 - Machine Organization and Programming n CS/ECE 552 - Introduction to Computer Architecture − undergraduate − http: //www. cs. wisc. edu/~sohi/cs 552/ − http: //www. cs. wisc. edu/~david/courses/cs 552 n CS/ECE 752 - Advanced Computer Architecture I n CS/ECE 757 - Advanced Computer Architecture II 2021/10/30 CS of USTC AN Hong 49

CS/ECE 252 - Introduction to Computer Engineering n 教材 − NA n 教学目标 −

CS/ECE 252 - Introduction to Computer Engineering n 教材 − NA n 教学目标 − NA n 教学内容 − Logic components built with transistors (用晶体管构造逻辑元件) − rudimentary Boolean algebra (基本的布尔代数) − basic combinational logic design (基本的组合逻辑设计) − basic synchronous sequential logic design (基本的同步顺序逻辑 设计) − basic computer organization and design (基本的计算机组成与设计 ) − introductory machine-and assembly-language programming (机 器和汇编语言编程介绍) 2021/10/30 CS of USTC AN Hong 50

CS/ECE 352 - Digital System Fundamentals n 教材 − Logic and Computer Design Fundamentals,

CS/ECE 352 - Digital System Fundamentals n 教材 − Logic and Computer Design Fundamentals, by M. Mano and C. R. Kime, Prentice Hall, 3 rd Edition 2004. − Course materials from Bob's copy shop (required) n 教学目标 − 使学生理解基础和一些精选的设计技术,具有分析和设计数字逻辑系 统的能力 n 教学内容 − Logic components, − Boolean algebra, − combinational logic analysis and synthesis, − synchronous and asynchronous sequential logic analysis and design, − digital subsystems, − computer organization and design. 2021/10/30 CS of USTC AN Hong 51

CS/ECE 354 - Machine Organization and Programming n 教材 − A Programmer‘s View of

CS/ECE 354 - Machine Organization and Programming n 教材 − A Programmer‘s View of Computer Architecture, by Goodman and Miller n 教学目标 − 使学生掌握计算机体系结构的基本原理,尤其强调编程方面。 − knowledge in the basic techniques of mathematics and the physical sciences − basic skill in methods of design and analysis across a broad range of electrical and computer engineering areas − knowledge of measurement techniques and experimental procedures in core electrical and computer engineering applications n 教学内容 − An introduction to current system structures of control, communication, memories, processors and I/O devices. Projects involve detailed study and use of a specific small computer hardware and software system. − Projects involve detailed study and use of a specific computer hardware and software system Open to fresh man. 2021/10/30 CS of USTC AN Hong 52

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课时设置 − 每周 3. 5小时讲授(总 60学时,周学时 3,每学时

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课时设置 − 每周 3. 5小时讲授(总 60学时,周学时 3,每学时 75分钟) − 8学时实验辅导 n 1个助教 n 先修课程(数字系统原理,机器结构和程序设计) − CS/ECE 352 Digital System Fundamentals − CS/ECE 354 Machine Organization and Programming − 预备知识 l Knowledge of a high-level language l Understanding of computer data structures l Knowledge of stack mechanisms and procedure calls l Understanding of assembly language programming: opcodes, operands, etc. l Boolean logic design techniques l Realization of boolean functions using AND, OR, NOT, XOR, NAND, NOR gates and appropriate minimization techniques l Logic building blocks: flip-flops, multiplexers, decoders, shift registers 2021/10/30 CS of USTC AN Hong 53

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 教材 − Computer Organization and Design: The

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 教材 − Computer Organization and Design: The Hardware/Software Interface, Third Edition by David A. Patterson and John L. Hennessy. n 参考书 − The Designer‘s Guide to VHDL, by Peter J. Ashenden − Computer Architecture and Organization, by J. P. Hayes − Modern Computer Architecture, by Rafiquzzaman and Chandra − Digital Design Principles and Practices, by J. Wakerly − Computer Organization, by V. C. Hamacher, Z. G. Vranesic and S. G. Zaky, n 实验参考书 − The Elements of Logic Design Style l http: //www. cs. wisc. edu/~david/courses/cs 552/Handouts/ele ments-of-logic-design-style. html 2021/10/30 CS of USTC AN Hong 54

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 教学内容 − 本课程主要讲授计算机系统和组件的设计。包括 l Computer abstractions and

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 教学内容 − 本课程主要讲授计算机系统和组件的设计。包括 l Computer abstractions and Technology l Performance l Instructions l Computer arithmetic l Data-path design and Controller design, Microprogramming & Exceptions l Pipelining l Caches and Memory and Virtual Memory l Input-output systems l Parallel Processing 2021/10/30 CS of USTC AN Hong 56

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课时安排(60学时,周学时 3) − ISA, arithmetic, technology &

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课时安排(60学时,周学时 3) − ISA, arithmetic, technology & HDL, Proc. Design(8周) l Introduction (3学� ) l Arithmetic I&II (2学� ) l Performance (1学� ) l Datapath (1学� ) l Single-Cycle control (1学� ) l Discussion (4学� ) l Pipelining & Super Scalar (5学� ) l multi-Cycle control (1学� ) l Exceptions (1学� ) l Midterm Review Session in Class(复习) l Midterm Exam: (期中考试,2小时) 2021/10/30 CS of USTC AN Hong 57

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课时安排(60学时,周学时 3) − Memory and I/O(8周) l

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课时安排(60学时,周学时 3) − Memory and I/O(8周) l Memory l Multiprocessors I & Slop l Arithmetic III & IV l Input-output systems I & II l Multiprocessors II l RAS l Final Review Session in Class l Final Exam: 2021/10/30 (5学� ) (1学� ) (2学� ) (1学� ) (复习) (期末考试,2小时) CS of USTC AN Hong 58

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课程实践 − 实验要求 l Designing a pipelined

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课程实践 − 实验要求 l Designing a pipelined processor. It will execute the instruction set of the WISC-SP 06 ISA (WISC-SP 06 is a load/store architecture, similar to the MIPS R 2000 architecture, but restricted to 16 -bit words and a smaller instruction set). 1. Project Design and Test Plan - 2 weeks (5% of project grade) 2. Non-Pipelined Design (Single-cycle Datapath )- 3 weeks (25% of project grade) 3. Pipelined Perfect-Memory Design - 3 weeks (35% of project grade) 4. Final Report and Demo - 2 weeks (35% of project grade) 2021/10/30 CS of USTC AN Hong 59

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课程实践 − 实验要求 l Final design should

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课程实践 − 实验要求 l Final design should include the following required items: • Two-way set-associative caches and the multi-cycle memory model; • Bypassing within the register file • Bypassing from the beginning of the M stage to the beginning of the X stage • Bypassing from the beginning of the W stage to the beginning of the X stage • Branches predicted "not taken" • Halt instruction must leave PC pointing at halt+1. Do not let it increment past this address. 2021/10/30 CS of USTC AN Hong 60

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课程实践 − �� 和�� l Verilog I

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 课程实践 − �� 和�� l Verilog I (1学� ) l Discussion(3学� ) l Project Demo I: Single-cycle Datapath (1学� ) l Project Demo II: Pipelined processor with perfect memory (1学� ) l Final Project Demo & Written Reports Deadline (1学� ) 2021/10/30 CS of USTC AN Hong 61

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 成绩 − 1次期中考试 25%, 1次期末考试 25% l

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n 成绩 − 1次期中考试 25%, 1次期末考试 25% l Old midterm and final examination resources were given. − 4个实验: 25%(5% + 25% + 35%) l work in groups of two (or three, with instructor's permission) l Each group needs to turn in a typed report (2 -3 page single-spaced) describing your project design and test plan. l develop a detailed schedule identifying key milestones and a breakdown of the tasks by project partner. l develop a detailed test plan, including high-level descriptions of component, module, and system tests l demonstrate complete design; turn in typed final report; all Verilog source files must be submitted electronically. − 6套课外作业: 25%(20% + 10% +15%) l Homework assignments are due at the end of class. No credit for late assignments unless otherwise specified. l All work is to be performed alone unless otherwise specified in the assignment. − 不接收任何迟交的作业和实验报告 2021/10/30 CS of USTC AN Hong 62

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n Approximate grading weights (Projects 25%) − Both

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE n Approximate grading weights (Projects 25%) − Both partners are required to be present and both are expected to explain and answer questions about the whole design. − Answering a question with: "I have no idea, my partner did that" is a failing answer. − You must (at least) be able to answer: "My partner implemented that, but it works in the following way. . ". 2021/10/30 Final exams Projects CS of USTC AN Hong Midterm exams HW 63

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE Exams: 1 mid-terms, 1 final exam Final exams

CS/ECE 552: INTRODUCTION TO COMPUTER ARCHITECTURE Exams: 1 mid-terms, 1 final exam Final exams Projects Midterm exams HW MT: March 9 th. 25% of final grade. FE: May 11 th. 25% of final grade. 2 hours In-class review session of exams. 2021/10/30 CS of USTC AN Hong 64

ECE/CS 752: Advanced Computer Architecture I n 教材 − Modern Processor Design, by John

ECE/CS 752: Advanced Computer Architecture I n 教材 − Modern Processor Design, by John Paul Shen and Mikko H. Lipasti, Mc. Graw-Hill, 2005. n 参考资料 − Selected papers available via the web − Modern Operating Systems, by Andrew S. Tanenbaum, 2 nd Edition, Prentice Hall, 2001. − Computer Architecture: A Quantitative Approach, by John L. Hennessy and David A. Patterson, 3 rd Edition, Morgan Kaufmann Publishers, 2002. n 教学目标 − This course qualitatively and quantitatively examines computer design tradeoffs. − We will learn, for example, how uniprocessors execute many instructions concurrently and why state-of-the-art memory systems are nearly as complex as processors. n 教学内容 − Processor design, computer arithmetic, pipelining, multi-operation processors, vector processors, control units, precise interrupts, main memory, cache memories, instruction set design, stack machines, busses and I/O, protection and security. 2021/10/30 CS of USTC AN Hong 65

CS/ECE 757 - Advanced Computer Architecture II n 教材 − Required Course Material l

CS/ECE 757 - Advanced Computer Architecture II n 教材 − Required Course Material l Readings available on the Web − Reference Course Material l Parallel Computer Architecture: A Hardware/Software Approach by David Culler and J. P. Singh with Anoop Gupta, Morgan Kaufmann Publishers, 1998. n 教学内容 − Parallel algorithms − principles of parallelism detection and vectorizing compilers − interconnection networks − SIMD/MIMD machines − processor synchronization − data coherence − multis − dataflow machines − special purpose processors 2021/10/30 CS of USTC AN Hong 66

麻省理 (MIT) 2021/10/30 CS of USTC AN Hong 67

麻省理 (MIT) 2021/10/30 CS of USTC AN Hong 67

课程体系(MIT,电气 程与计算机科学) n 6. 001 Structure and Interpretation of Computer Programs n 6. 004

课程体系(MIT,电气 程与计算机科学) n 6. 001 Structure and Interpretation of Computer Programs n 6. 004 Computation structure n 6. 823 Computer System Architecture 2021/10/30 CS of USTC AN Hong 68

6. 823 Computer System Architecture n 先修课程 6. 001 及 6. 004 或 同等知识水平.

6. 823 Computer System Architecture n 先修课程 6. 001 及 6. 004 或 同等知识水平. n 辅导课 − 2 节/星期 1. 5 小时/节(选修) n 教材 − Computer Architecture: A Quantitative Approach, by John L. Hennessy and David A. Patterson, 3 rd Edition, Morgan Kaufmann Publishers, 2002. − Computer Organization & Design: The Hardware/Software Interface, David A. Patterson and John L. Hennessy, 3 rd Edition, Morgan-Kaufmann, 2005. − 选择一些论文选集作为补充阅读材料 2021/10/30 CS of USTC AN Hong 69

6. 001 Structure and Interpretation of Computer Programs(先修课程1) n 教材 − It offers an

6. 001 Structure and Interpretation of Computer Programs(先修课程1) n 教材 − It offers an online version of the 教材 for the course, Structure and Interpretation of Computer Programs, 2 nd ed. , by Abelson, Sussman, and Sussman. This course has virtually all of its course materials online, including 项目 and supporting documentation. n 教学目标 − 6. 001 is the first course in the core of departmental subjects which is required for all undergraduates in Electrical Engineering and Computer Science. n 教学内容 − This course introduces students to the principles of computation. Upon completion of 6. 001, students should be able to explain and apply the basic methods from programming languages to analyze computational systems, and to generate computational solutions to abstract problems. Substantial weekly programming assignments are an integral part of the course. This course is worth 4 Engineering Design Points. 2021/10/30 CS of USTC AN Hong 76

卡内基梅隆大学(CMU) 2021/10/30 CS of USTC AN Hong 78

卡内基梅隆大学(CMU) 2021/10/30 CS of USTC AN Hong 78

课程体系(CMU) n CS 15 -213 Introduction to Computer Systems n ECE 18 -240 Fundamentals

课程体系(CMU) n CS 15 -213 Introduction to Computer Systems n ECE 18 -240 Fundamentals of Computer Engineering n ECE 18 -347/447 Introduction to Computer Architecture n ECE 18 -741 Advanced Computer Architecture n ECE 18 -742 Multiprocessor Architecture 2021/10/30 CS of USTC AN Hong 79

ECE 18 -347/447 Introduction to Computer Architecture n 课时 − 每周 2次,每次 80分钟 n

ECE 18 -347/447 Introduction to Computer Architecture n 课时 − 每周 2次,每次 80分钟 n 先修课程 − 背景知识 l 要求学生对寄存器传输级系统设计有初步了解,会使用汇编语言( ECE 18 -240),对存储层次和虚拟存储有基本了解(15 -213) • • • Basic RT system design (18 -240) Basic RT system implementation in Verilog (18 -240) Basic assembly language programming (18 -240) High-level languages and data structures Knowledge of memory and storage systems (15 -213) recommended − http: //www. ece. cmu. edu/~ece 347/ n 四个助教 2021/10/30 CS of USTC AN Hong 80

ECE 18 -347/447 Introduction to Computer Architecture n 教材 − Computer Organization & Design:

ECE 18 -347/447 Introduction to Computer Architecture n 教材 − Computer Organization & Design: The Hardware Software Interface by John L. Hennessy and David A. Patterson published by Morgan-Kaufmann publishers n 参考书 − The Verilog Hardware Description Language either Fourth or Fifth edition by Donald Thomas and Philip Moorby published by Kluwer Academic Publishers. 2021/10/30 CS of USTC AN Hong 81

ECE 18 -347/447 Introduction to Computer Architecture n 教学目标 − 该课程主要介绍现代可编程计算机的基本硬件结构。通过课程的学习 学生可以了解到如何使用Verilog语言设计处理器的控制和数据通路, 如何并发的执行指令,以及如何设计高速的主存和外存系统。 n

ECE 18 -347/447 Introduction to Computer Architecture n 教学目标 − 该课程主要介绍现代可编程计算机的基本硬件结构。通过课程的学习 学生可以了解到如何使用Verilog语言设计处理器的控制和数据通路, 如何并发的执行指令,以及如何设计高速的主存和外存系统。 n 课时安排 − − − − Introduction Performance Instruction Sets Addressing Modes Arithmetic Single-Cycle CPU Multi-Cycle CPU Midterm Pipelining Memory System Superscalar: in order I/O Multiprocessors Review Midterm 2021/10/30 CS of USTC AN Hong 82

ECE 18 -240: Fundamentals of Computer Engineering n 教材 − Digital Design : Principles

ECE 18 -240: Fundamentals of Computer Engineering n 教材 − Digital Design : Principles and Practices (4 th Edition) by John F. Wakerly − The Verilog Hardware Description Language (5 th Edition) by Donald E. Thomas, Philip R. Moorby n 教学目标 − This course introduces basic issues in design and verification of modern digital systems n 教学内容:该课程介绍现代数字系统的设计和验证 − − − − Boolean algebra digital number systems and computer arithmetic combinational logic design and simplification sequential logic design and optimization register-transfer design of digital systems basic processor organization and instruction set issues assembly language programming and debugging a hardware description language. 2021/10/30 CS of USTC AN Hong 84

ECE 18 -741: Advanced Computer Architecture n 教材 − Computer Architecture: A Quantitative Approach,

ECE 18 -741: Advanced Computer Architecture n 教材 − Computer Architecture: A Quantitative Approach, Third Edition by Hennessy and Patterson, Morgan Kaufmann/Elsvier. − Modern Processor Design: Fundamentals of Superscalar Processors by Shen and Lipasti, Mc. Graw Hill. n 教学目标 − 18 -741 teaches students how to design a computer system well, and is not an introduction to computer system design. n 教学内容 2021/10/30 CS of USTC AN Hong 85

ECE 18 -741: Advanced Computer Architecture n 教学内容 − − − − − Performance

ECE 18 -741: Advanced Computer Architecture n 教学内容 − − − − − Performance and cost ISA Memory pipelining superscalar Tomasulo Metaflow MIPS R 10 K branch Prediction advanced BP memory flow cache coherence Trace caches software ILP techniques Intel EPIC binary translation Final Exam 2021/10/30 CS of USTC AN Hong 86

ECE 18 -742 Multiprocessor Architecture n 教材 − NA n 教学目标 − 18 -742's

ECE 18 -742 Multiprocessor Architecture n 教材 − NA n 教学目标 − 18 -742's goal is to educate the student in the history and future trends of multiprocessor computer architecture. n 教学内容 − 该课程主要是面向研究生的,主要包括每周例行的讲解,课堂讨论, 最新发表文献的review和reports,homework以及project。 − Review,课堂讨论,和research project占据最后成绩的主要部分 − Project要求学生使用软件模拟的方法学习,改进和模拟 multiprocessor,其中包括很多ideas,学生也可以提出他们自己的 ideas 2021/10/30 CS of USTC AN Hong 87

中国科学技术大学(USTC) 2021/10/30 CS of USTC AN Hong 88

中国科学技术大学(USTC) 2021/10/30 CS of USTC AN Hong 88

处理器设计 n 教材 − Computer Organization and Design: The Hardware/Software Interface, Third Edition by

处理器设计 n 教材 − Computer Organization and Design: The Hardware/Software Interface, Third Edition by David A. Patterson and John L. Hennessy. 机 械 业出版社 n 参考书 − Computer Architecture: A Quantitative Approach, Third Edition by John L. Hennessy and David A. Patterson. − 机械 业出版社 n 实验参考书 − See MIPS run by Dominic Sweetman, Morgan Kaufman Publishers. 北京航空航天大学出版社 − MIPS RISC Architecture, Second Edition by Gerry Kane and Joe Heinrich, Prentice Hall. 2021/10/30 CS of USTC AN Hong 92