01 计算机体系结构--量化设计与分析基础

这一节是中国科学技术大学周学海教授所讲授的计算机体系结构的引言以及量化设计与分析基础。作者首先给我们讲述了计算机体系结构的定义以及ISA的定义,接着就引入了重点内容--量化设计与分析基础 。这里主要讲了计算机体系结构的定义 计算机的分类 现代计算机系统发展趋势 定量分析基础等。
展开查看详情

1.计算机体系结构 周学海 xhzhou@ustc.edu.cn 0551-63606864 中国科学技术大学

2. 教材与主要参考书 • John L. Hennessy, David A. Patternson, Computer Architecture: A Quantitative Approach. Fifth Edition. 机械工业出版社 , 2012 • David A. Patternson, John L. Hennessy, Computer Organization & Design : The Hardware/Software Interface, Third Edition. San Francisco: Morgan Kaufmann Publishers, Inc. 2005 • 张晨曦等,计算机系统结构教程,清华大学 出版社 09/22/18 中国科学技术大学 2

3. What is Computer Architecture? Application Gap too large to bridge in one step (but there are exceptions, e.g. magnetic compass) Physics In its broadest definition, computer architecture is the design of the abstraction layers that allow us to implement information processing applications efficiently using available manufacturing technologies. 09/22/18 中国科学技术大学 3

4. 现代计算机系统的抽象层次 Application Algorithm Programming Language Operating System/Virtual Machine Instruction Set Architecture (ISA) Microarchitecture Gates/Register-Transfer Level (RTL) Circuits Devices Physics 09/22/18 中国科学技术大学 4

5. What is Computer Architecture? • 描述计算机系统的功能、组织和实现的一组规则和 方法。 • 计算机体系结构是研究如何选择(设计)功能部件 和互联方法来满足计算机系统的功能、性能、价格 约束的科学 • 计算机体系结构是软件设计者与硬件设备( VLSI ) 之间的中间层,是软件与硬件的接口( Interface ) 09/22/18 中国科学技术大学 5

6. 计算机体系结构的定义 过去的定义: 程序员可见的计算系统的属性。包括:概念性的结 构和功能行为。不包括:数据流和控制流的组织、逻辑设 计以及物理实现。 – Amdahl, Blaauw, and Brooks, 1964 Instruction-Set Architecture 广义的定义: 计算机体系结构研究如何 设计、组织,以及使用 可用的生产技术实现一个计算系统,该计算系统可有效地执 行软件应用,满足价格、功耗和性能约束 09/22/18 中国科学技术大学 6

7. 计算机体系结构的定义(续) • 过去的观点 : – Instruction Set Architecture (ISA) 设计 – 即 体系结构设计需要关注并确定 体系结构设计需要关注并确定 : » 寄存器组织、如何访问存储器、寻址方式、指令操作数、硬 件支持的操作种类、指令编码方式 • 目前的观点 : – 根据目标机器的特定需求,在成本、功耗、可用性等 约束下最大化机器性能 – 包括 ISA, 计算机组织(微体系结构) , 硬件实现 09/22/18 中国科学技术大学 7

8. ISA: a Critical Interface software instruction set hardware 09/22/18 中国科学技术大学 8

9. ISA 需说明的主要内容 • Memory addressing • Addressing modes • Types and sizes of operands • Operations • Control flow instructions • Encoding an ISA • …… • 优秀的 ISA 所具有的特征 – 可持续用于很多代机器上 (portability) – 可以适用于多个领域 (generality) – 对上层提供方便的功能( convenient functionality) – 可以由下层有效地实现( efficient implementation ) – …… 09/22/18 中国科学技术大学 9

10. 指令集结构举例 • Digital Alpha (v1, v3) 1992-97 • HP PA-RISC (v1.1, v2.0) 1986-96 • Sun Sparc (v8, v9) 1987-95 • SGI MIPS (MIPS I, II, III, IV, V) 1986-96 • Intel(8086,80286,80386, 1978-96 80486,Pentium, MMX, ...) 09/22/18 中国科学技术大学 10

11. MIPS R3000 Instruction Set Architecture (Summary) Registers • 指令类型 – Load/Store R0 - R31 – Computational – Jump and Branch – Floating Point PC » coprocessor HI – Memory Management LO – Special 3 种指令格式 : all 32 bits wide R型 OP rs rt rd sa funct I 型 OP rs rt immediate J 型 OP jump target 09/22/18 中国科学技术大学 11

12. Logic Designer's View 计算机组成与实现 ISA Level FUs & Interconnect • 计算机组成( Computer Organization or Microarchitecture): ISA 的逻辑实现 – 物理机器级中的数据流和控制流的组成以及逻辑设 计等 • 计算机实现( Computer Implementation): 计算机组 成的物理实现 – CPU , MEMORY 等的物理结构,器件的集成度 、速度,模块、插件、底板的划分与连接、信号传 输、电源、冷却及整机装配技术等 • 例如 中国科学技术大学 12 – 确定指令系统中是否有乘法指令 (Architecture) 09/22/18

13. Example Organization • TI SuperSPARCtm TMS390Z50 in Sun SPARCstation20 MBus Module SuperSPARC Floating-point Unit L2 CC DRAM Integer Unit $ MBus Controller Inst Ref Data L64852 MBus control M-S Adapter STDIO Cache MMU Cache SBus serial Store SCSI kbd SBus mouse Buffer DMA Ethernet audio RTC Bus Interface SBus Boot PROM Cards Floppy 09/22/18 中国科学技术大学 13

14. 体系结构 vs. 微结构 • Architecture / Instruction Set Architecture (ISA) – Class of ISA: register-memory or register-register architectures – Programmer visible state (Register and Memory) – Addressing Modes: how memory addresses are computed – Data types and sizes for integer and floating-point operands – Instructions, encoding, and operation – Exception and Interrupt semantics • Microarchitecture / Organization – Tradeoffs on how to implement the ISA for speed, energy, cost – Pipeline width and depth, cache size, peak power, bus width, execution order, etc 09/22/18 中国科学技术大学 14

15. 计算机体系结构设计者的任务 • 设计和实现不同档次的计算机系统 – Understand software demands – Understand technology trends – Understand architecture trends – Understand economics of computer systems • 最大化性能、可编程性等指标 – 在一定的技术和成本的限制下 • 体系结构现状 : – Today’s microprocessors are multiprocessors – Several cores on a single chip – Each core capable of executing multiple threads 09/22/18 中国科学技术大学 15

16. 计算机体系结构设计过程 Design 体系结构设计是循环渐进的过程 : •Search the possible design Analysis space • Make selections • Evaluate the selections made Creativity Cost / Performance Analysis Good Ideas Bad Ideas Mediocre Ideas Good measurement tools are required to accurately evaluate the selection.中国科学技术大学 09/22/18 16

17. 计算机工程方法学 Evaluate Existing Implementation Complexity Systems for Analysis Bottlenecks Imple- Benchmarks mentation Technology Trends Implement Next Simulate New Generation System Designs and Organizations Workloads Design 09/22/18 中国科学技术大学 17

18. 02/28-review • 过去的观点 : – Instruction Set Architecture (ISA) 设计 – 即 体系结构设计需要关注并确定 体系结构设计需要关注并确定 : » 寄存器组织、如何访问存储器、寻址方式、指令操作数、硬 件支持的操作种类、指令编码方式 • 目前的观点 : – 根据目标机器的特定需求,在成本、功耗、可用性等 约束下最大化机器性能 – 包括 ISA, 计算机组织(微体系结构) , 硬件实现 09/22/18 中国科学技术大学 18

19. Chapter1 量化设计与分析基础 • 1.1 引言 –计算机体系结构的定义 –计算机的分类 –现代计算机系统发展趋势 • 1.2 定量分析基础 09/22/18 中国科学技术大学 19

20. Computing Devices Then… EDSAC, University of Cambridge, UK, 1949 09/22/18 中国科学技术大学 20

21. Computing Systems Today • The world is a large parallel system Massive Cluster – Microprocessors in everything Clusters Gigabit Ethernet – Vast infrastructure behind them Internet Scalable, Reliable, Connectivity Secure Services Databases Refrigerators Information Collection Remote Storage Online Games Sensor Commerce Nets … Cars MEMS for Sensor Nets 09/22/18 Routers 中国科学技术大学 Robots 21

22. 体系结构发展的驱动力 Applications suggest how to Improved Applications technologies improve technology, make new provide applications revenue to possible Technology fund development Cost of software development Com pati makes compatibility a major bili force in market ty 09/22/18 中国科学技术大学 22

23. 计算机系统设计方面的巨大变化 • 在过去的 50 年, Moore’s law 和 Dennard scaling( 登纳德缩放比例定 律 ) 主宰着芯片产业的发展 – Moore 1965 年预测:晶体管数量随着尺寸缩小按接近平方关系增长(每 18 个月 2X ) – Dennard 1974 年预测:晶体管尺寸变小,功耗会同比变小(相同面积下功耗不变) – 工艺技术的进步可在不改变软件模型的情况下,持续地提高系统性能 / 能耗比 • 最近 10 年间,工艺技术的发展受到了很大制约 – Dennard scaling over (supply voltage ~fixed) – Moore’s Law (cost/transistor) over? – Energy efficiency constrains everything – …… • 功耗问题成为系统结构设计必须考虑的问题 • 软件设计者必须考虑 : – Parallel systems – Heterogeneous systems 09/22/18 中国科学技术大学 23

24.Personal Mobile New “Great Ideas” Devices 09/22/18 中国科学技术大学 24

25. Old Machine Structures Application (ex: browser) Operating Compiler System Software (Mac OSX) Assembler Instruction Set Hardware Processor Memory I/O system Architecture Datapath & Control Digital Design Circuit Design transistors 09/22/18 中国科学技术大学 25

26. New “Great Ideas” Software Hardware • Parallel Requests Warehouse Smart Assigned to computer Scale Phone Computer e.g., Search “Katz” Leverage • Parallel Threads Parallelism & Assigned to core Achieve High e.g., Lookup, Ads Performance Computer • Parallel Instructions >1 instruction @ one time Core … Core e.g., 5 pipelined instructions Memory • Parallel Data >1 data item @ one time Input/Output Core e.g., Add of 4 pairs of words Functional Instruction Unit(s) • Hardware Descriptions Unit(s) All gates functioning in parallel A0+B0 A1+B1 A2+B2 A3+B3 at same time • Programming Languages Cache Memory Logic Gates 09/22/18 中国科学技术大学 26

27.Warehouse Scale Computer 09/22/18 中国科学技术大学 27

28. 计算机的分类 • 个人移动设备 (PMD) – smart phones, tablet computers – >1 billion sold/year – Market dominated by ARM-ISA-compatible general-purpose processor in system-on-a-chip (SoC) – Plus sea of custom accelerators (radio, image, video, graphics, audio, motion, location, security, etc.) – Emphasis on energy efficiency and real-time • 桌面计算( Desktop Computing ) – Emphasis on price-performance • 服务器( Servers ) – Emphasis on availability, scalability, throughput 09/22/18 中国科学技术大学 28

29. Cost of downtime Figure 1.3 Costs rounded to nearest $100,000 of an unavailable system are shown by analyzing the cost of downtime (in terms of immediately lost revenue), assuming three different levels of availability, and that downtime is distributed uniformly. These data are from Landstrom (2014) and were collected and analyzed by Contingency Planning Research.