计算机系统结构

81
1 计计计计 计计 胡胡胡

description

计算机系统结构. 胡伟武. 提 纲. 计算机的基本概念 影响计算机设计的主要因素及其发展趋势 计算机性能 计算机成本 计算机功耗 实际机器的性能和性价比的衡量. 超级服务器. 打印机扫描仪. 服务器. 防火墙. 交换机. 路由器. 终端设备. Internet. 工作站. 什么是计算机? — 现代信息系统. Internet. 游戏机. DVD. 可视电话. 手机. 家庭网络. 家庭网关. 掌上电脑. MP3. 数码相机. 数字电视. 什么是计算机? — 数字化生活. 高性能计算应用举例. - PowerPoint PPT Presentation

Transcript of 计算机系统结构

Page 1: 计算机系统结构

1

计算机系统结构

胡伟武

Page 2: 计算机系统结构

2

提 纲

计算机的基本概念 影响计算机设计的主要因素及其发展趋势计算机性能计算机成本计算机功耗实际机器的性能和性价比的衡量

Page 3: 计算机系统结构

3

什么是计算机?—现代信息系统超级服务

路由

打印机扫描

仪防火墙

工作站终端设备

Internet

服务

交换机

Page 4: 计算机系统结构

4

什么是计算机?—数字化生活

家庭网络

Internet

家庭网

手机

掌上电

数字电视 数码相机

游戏机DVD

MP3

可视电

Page 5: 计算机系统结构

5

高性能计算应用举例 核武器数值模拟全面核禁试条约签订后 , 核武器

的数值模拟成为唯一可能进行的全系统试验。这种水平的模拟所需要进行的计算远远超过了目前所能达到的水平。据估计 , 美国为了满足 2010 年核武器库管理的需求,需要每秒运算 1016-17 次的计算机。

Page 6: 计算机系统结构

6

高性能计算应用举例 流体力学 喷气式飞机在超音速飞行时的颤动分析要同时

计算 463674 个非线性流体方程, 45108 个线性结构方程,这些方程要计算成千上万次。计算由  Cray T3D,IBM SP-2, Intel Paragon XP/S 三台高性能计算机共同完成。飞机各部分应力的大小可用不同的颜色表示,红色表示应力大,蓝色表示应力小。

Page 7: 计算机系统结构

7

Page 8: 计算机系统结构

8

Page 9: 计算机系统结构

9

现在的计算机中为什么用二进制?

计算机是由电子元器件构成的,二进制最易实现。

Page 10: 计算机系统结构

10

二进制的由来• 莱布尼兹是欧洲最早发现二进制的数学家 冯 . 诺依曼最早将二进制引入计算机应用, 计算机中的数据和程序都采用二进制。

• 中国在公元前 2000 多年伏羲氏就发明了八卦, 是用—和 -- 两种符号拼出来的 ,是世界上最古老 的二进位制。

莱布尼兹为奥古斯特公爵制作的二进制纪念章

Page 11: 计算机系统结构

11

(3×4) + (5×7)?

3 ×4 =12 5 ×7=35 12+35 = 47

Page 12: 计算机系统结构

12

3 4 5 7

读取 3

读取 4

两数相乘存入结果 1

读取 5

读取 7

两数相乘存入结果 2

读取结果 1

读取结果 2

两数相加存入结果

= 12

读取 3读取 4两数相乘存入结果 1读取 5读取 7两数相乘存入结果 2读取结果 1读取结果 2两数相加存入结果

× 43

12

5 7× = 35

35

12 35+ = 47

47

CPU

内 存

冯诺亿曼结构:数据和程序都在存储器中,CPU 从内存中取指令和数据进行运算并把结果也放到内存中

Page 13: 计算机系统结构

13

冯诺依曼结构

Íâ´æ´¢Æ÷

ÄÚ´æ´¢Æ÷

Êä³öÒÛ±¸ÊäÈëÉ豸

ÔËËãÆ÷¿ØÖÆÆ÷

外存储器

输入设备 输出设备

控制器 运算器

数据线数据线

控制线控制线

CPUCPU

内存

Page 14: 计算机系统结构

14

用最少的指令描述一件事情-- 算法,编译

提高‘芯’跳的速度-- 主频

每拍做更多的事情-- 体系结构

计算机怎样才能跑得快

Page 15: 计算机系统结构

15

是不是 跑得快就行了呢?

是不是 跑得快就行了呢?

Page 16: 计算机系统结构

16

这些大家伙具有战略意义

分秒必争,目的就是越快越好!

Page 17: 计算机系统结构

17

电脑越来越普遍

要让更多人买得起,价格就很重要了

Page 18: 计算机系统结构

18

无处不在的 CPU

电池怎样才能用得久呢?

Page 19: 计算机系统结构

19

美国为了满足 2010 年核武器库管理的需求,需要每秒运算 1016-17 次的计算机

如果 10 亿次计算机的功耗是 100瓦(想想 PIV 的功耗) 100 万( 1014 )亿次计算机的功耗是 1000 万瓦

高性能计算机的功耗

Page 20: 计算机系统结构

20

什么是计算机系统结构?

50-60 年代 Computer Architecture=Computer Arithmetic

70-80 年代 Computer Architecture=Instruction Set Design

90 年代以后 Computer Architecture=Design of CPU, Memory Sy

stem, I/O System, Multiprocessors Searching the space of possible designs at all levels o

f computer systems

Page 21: 计算机系统结构

21

上知天文、下知地理 计算机系统结构的位置

居于系统软件和逻辑电路之间 从界限清晰到界限不清晰

ISA : RISC、 CISC=>Transmeta、 Itanium、虚拟机 逻辑和电路:晶体管 =>晶体管 +连线

应用、操作系统、编译系统计算机系统结构(性能、价格、功耗)逻辑设计、电路设计、工艺制造

Page 22: 计算机系统结构

22

地理:硬件实现技术的发展趋势以下四种飞速发展的实现技术对现代计算机实

现的影响最为深远 集成电路逻辑技术 半导体 DRAM :增长速度缓慢,形成 Memory Ga

p 磁盘存储技术 网络技术:对高性能计算影响巨大

Capacity Speed (latency)

Logic 2x in 3 years 2x in 3 years

DRAM 4x in 3 years 2x in 10 years

Disk 4x in 3 years 2x in 10 years

Page 23: 计算机系统结构

23

制造工艺的摩尔定律

Page 24: 计算机系统结构

24

从机房、机柜、板卡到芯片

104 机,我国第一台大型通用数字电子计算机 109丙机,我国自行研制的晶体管大型通用数字电子计算机

757 机,大型向量中规模集成电路数字电子计算机 龙芯 1号,我国自行研制的第一个通用微处理器

103 机,我国第一台小型通用数字电子计算机

KJ8920 大型计算机系统

Page 25: 计算机系统结构

25

Moore 引导的 CPU 发展 CPU: Central Processing Unit

中央处理器(控制器 + 运算器),简称处理器1940’s ,有了计算机,就有 CPU(几个机柜)

芯片:集成电路1960’s ,开始有芯片, CPU 是由多块板子构成

CPU 芯片:把完整的 CPU 做在一块芯片上1970’s ,开始有简单的 CPU 芯片1980’s以来,内存存储器的地位日益重要

Moore定律:每 1.5 年 CPU 主频和内存容量增加 1倍但内存速度增加慢, 1GHz 的处理器访问内存需要几十到几百拍

现在的 CPU 芯片:控制器 + 运算器 + 部分存储器 SOC: System-on-Chip ,片上系统

CPU是 SOC 的核心 (core)

Page 26: 计算机系统结构

26

世界半导体行业共同制订的 2003 年国际半导体技术发展路线图( MPU )

年份 2004 2007 2010 2013 2016

技术节点 hp90 hp65 hp45 hp32 hp22

版图栅长 (ns) 53 35 25 18 13

物理栅长 (ns) 37 25 18 13 9

晶体管数 (M) 553 1106 2212 4424 8848

主频 (GHz) 4.171 9.285 15.1 23.0 40.0

封装后成本 ($) 188.0 132.7 95.2 67.2 47.8

允许功耗 (W) 158 189 218 251 288

性价比合理 MPU 面积: 140mm2 高性能 MPU 面积: 310mm2

预计到 2018 年,主频可达 53.2GHz

Page 27: 计算机系统结构

27

系统结构与摩尔定律

系统结构的双重作用 根据 Intel公司的资料,从 486 到 Pentium 4 ,频率

提高了 50 多倍(其中 13倍来自工艺的改进、 4倍来自结构的改进),性能提高了 75倍多(其中 13倍来自工艺的改进、 6倍多来自结构的改进)。

根据路线图对历史数据的分析,每代微处理器最大的片内时钟频率是上代产品的两倍,其中 1.4倍来源于器件的按比例缩小(它最终要受氧化层厚度和其它因素限制),另外 1.4倍来源于流水级中逻辑链长度(或逻辑门数目)的减少(如 180纳米节点时是 32 个等效 4扇出反相器的延迟,而在 130纳米时只有 26 个等效 4扇出反相器延迟)。

Page 28: 计算机系统结构

28

线宽按比例缩小,集成度指数增加

Classical Scaling: 性能也按摩尔定律指数增长吗?

Innovation. That will be the driver of performance, rather than scaling.

摩尔定律不是性能规律

按比例缩小导致性能同步增长的趋势在 130纳米时已经终止了 栅氧厚度 连线延迟 工作电压

Page 29: 计算机系统结构

29

摩尔定律关于主频部分的终结

不可能使用少于 6-8 个等效 4扇出反相器产生出波形好的时钟脉冲;

流水线结构的效率会越来越低;最新的预测表明,最小可实现的逻辑深度近似于 10-12 个四扇出反相器延迟。考虑到控制流水线的锁存器( latch)本身的延迟,在这种情况下,实际留给有效处理工作的逻辑只剩下了 6-9级 FO4 。

由封装承受能力引起的热包封限制使得难以实施很深的互连流水线结构;

结构和电路的创新将越来越多地用于减轻给互连 RC效应带来的不良影响而不太可能直接改善频率响应。

Page 30: 计算机系统结构

30

如何有效利用晶体管资源?

晶体管数量剧增 晶体管种类增多 逻辑与 DRAM 的集成

如何把资源投向高回报的部分 取并执行更多的指令 片上集成多个处理器 增大片上存储器 集成更多的外围电路 … …

设计复杂度增加

0

0.5

1

1.5

2

2.5

3

3.5

386/ 486 486/奔腾 / 2奔腾 奔 2/ 3奔 奔 3/ P4奔 奔

晶体管增长率 性能增长率

Pollack’s Rule :两代处理器结构之间,性能的增长率大致只是晶体管数增长率的平方根

Page 31: 计算机系统结构

31

连线延迟变长,怎么办?

晶体管开关速度快了,但信号传输没有变快 局部线延迟不变(变细了,但也变短了) 全局的连线延迟还会不断变长(芯片面积不变)

30nm 时,一个时钟周期信号只能穿过芯片的 1%

目前设计中需要全局连线的部分都不可扩展 如单 CPU里的全局寄存储器、 forwarding、… … 全局的时钟信号如何处理?

强调:局部化、流水化、异步、自定时 不可能无限止细分流水线:大于 10-12 FO4

Page 32: 计算机系统结构

32

功耗的作用 由于晶体管的特性,以后工作电压不会随着工艺进步而降低,加上频率提高,导致功耗密度随集成度增加而增加 沿用目前设计思路,再经过 几代,每 cm2 功耗可能达到 1000

W Intel暂不推出 4GHz以上的 P4

需要降低工作电压来降低功耗,但随着阈值电压的降低漏电功耗大大增加

Page 33: 计算机系统结构

33

风扇大大降低了系统可靠性

重量: 700克以上转速: 7000转 / 分

跟硬盘差不多 功耗: 3.5瓦 成本: $40噪音: 55-60db MTBF: 2-3 年

Page 34: 计算机系统结构

34

天文:应用的影响 应用随时间的迁移

科学和工程计算、事物处理、网络服务和媒体应用 应用越来越广:桌面、服务器和高性能机、嵌入式

桌面电脑 焦点:性价比

服务器及高性能计算 焦点 :稳定性以及计算能力 Google、 BlueGene

嵌入式计算机 焦点:低功耗以及实时计算 各种移动终端、智能设备

Page 35: 计算机系统结构

35

应用特性正在发生变化

过去:运算速度很重要 Linpack , Dhrystone , Whetstone

现在:均衡的性能 SPEC CPU 2000 :定点、浮点、 I/O、大内存 TPC :专注 I/O 性能(尤其是磁盘 I/O)

未来:以低能耗处理大量的服务 网络、媒体为代表的流( stream)的处理 基于WEB 的大量请求的快速处理 还没有形成有代表性的基准程序 结构上也没有形成标准

Page 36: 计算机系统结构

36

应用变化要求结构相应地改变

如何加速单个控制流的执行过程 现在:复杂的硬件(流水、乱序、预测、猜测、调度),导致巨大的能耗

未来:天然并行的 WEB服务请求,简单的并行如何缩小运算与访存的速度差距

过去:用 cache ,面积(成本)和能耗的增长 未来:流式数据,只用一次, cache 不管用 需要有新的结构来解决这个问题

Page 37: 计算机系统结构

37

应用多样性意味着芯片的多样性? 芯片的制造成本降低,但 NRE 在不断增长

设计复杂性:资源(人力)、时间、返工 掩膜制备费用的增长

芯片的产量必须增长,才能有效分摊 NRE 芯片种类不能多、芯片的生存周期应该拉长 与应用复杂多变、产品更新换代快的需求相矛盾

谁更有前途:通用处理器 vs. ASIC/SOC 通用处理器的结构需要变得更灵活、可根据应用的

需要进行重构

Page 38: 计算机系统结构

38

小结:计算机发展的趋势 处理器结构以 20 年为周期,已经历了一个简单、复杂、简单、复杂的过程

即使摩尔定律真的能用到 2018 年,也已经大大放慢,尤其是处理器主频正和晶体管速度正在分道扬镳

连线延迟和设计复杂度越来越大,物理设计对结构的反作用越来越大

网络及媒体应用使处理器需求发生了变化 功耗问题日益突出: Performance per second, Performance

per dollar, Performance per watt 对处理器的微体系结构进行突破性变革的时机已经到来

多核结构符合上述发展趋势的要求 变革的时候也是后来居上的重要机会

Page 39: 计算机系统结构

39

性能、价格、与功耗 CPU 发展过程中,随着技术本身的发展和需求的变化,矛盾的主要方面在不断地变化 Performance per second Performance per dollar Performance per watt Intel受益于第一次变化, ARM受益于第二次变化低功耗的研究已经成为学术界的研究热点,从低端的手机

到高端的百万亿次高性能计算机,都对处理器的功耗提出了很高的要求

性能、价格、功耗的关系非常复杂,都是计算机系统结构设计需要考虑的内容

其它因素 体积、可靠性、稳定性、寿命民用、工业用、军用、宇航用

Page 40: 计算机系统结构

40

性能评价的标准 性能评价的公式基准测试程序套件性能评价报告性能的比较与总结

计算机性能的评价

Page 41: 计算机系统结构

41

不同层次的“性能”

Compiler

Programming Language

Application

DatapathControl

TransistorsWiresPins

ISA

Function Units

(millions) of Instructions per second: MIPS(millions) of (FP) operations per second: MFLOP/s

Cycles per second (clock rate)

Megabytes per second

Answers per monthOperations per second

Page 42: 计算机系统结构

42

不同应用的性能

个人 PC :单任务关注响应时间 计算中心:多任务关注吞吐率 程序运行时间的表示

Wall Time User Time+System Time

Page 43: 计算机系统结构

43

影响 CPU 性能的因素

Inst. Count CPI Clock Rate

Program X

Compiler X (X)

ISA X X

Organization X X

Technology X

Cycle

Seconds

nInstructio

Cycles

ogram

nsInstructio

ogram

SecondsCPUTime

PrPr

性能的最本质定义 完成一个任务(如后天的天气预报)所需的时间 以指令为基本单位

Page 44: 计算机系统结构

44

j

n

jj I CPI Time Cycle timeCPU

1

Countn Instructio

I F whereF CPI CPI

1

jj

n

jjj

CPI及 IPC

在指令系统确定后,系统结构设计者的主要目标就是降低 CPI或提高 IPC

平均 CPI“Average Cycles per Instruction” CPI = (CPU Time * Clock Rate) / Instruction Count

= Cycles / Instruction Count

Instruction Frequency

Page 45: 计算机系统结构

45

计算 CPI 的例子

Typical Mix

Base Machine (Reg / Reg)

Op Freq Cycles CPI(i) (% Time)

ALU 50% 1 .5 (33%)

Load 20% 2 .4 (27%)

Store 10% 2 .2 (13%)

Branch 20% 2 .4 (27%)

1.5

Page 46: 计算机系统结构

46

减少指令数和提高 IPC

结构提高计算机性能的常用方法和原则加快经常性事件的速度 局部性原理 利用并行性

Page 47: 计算机系统结构

47

加快经常性事件的速度 设计者要有“有所为,有所不为”的原则,有所取舍,优先考虑较长时间发生的事件。设计者必须清楚什么是经常性事件,以及提高这种情况下机器的运行速度对计算机的整体性能提高有多大贡献。

Amdahl定律 通过使用某种较快的执行方式所获得的性能的提高,受可使

用这种较快执行方式的时间所占的百分比例的限制

enhanced

enhancedenhanced

new

oldoverall

Speedup

Fraction Fraction

1

ExTimeExTime

Speedup

1

enhanced

enhancedenhancedoldnew Speedup

FractionFraction ExTime ExTime 1

Page 48: 计算机系统结构

48

Amdahl 定律举例问题

浮点功能单元执行性能提高 2倍;但是仅有 10% 的浮点指令。计算总体性能加速比

Speedupoverall= 1÷0.95=1.053

ExTimenew = ExTimeold x (0.9 + 0.1/2) = 0.95 x ExTimeold

Page 49: 计算机系统结构

49

开发局部性局部性原理

时间局部性 空间局部性

应用实例 Cache TLB 预取

Page 50: 计算机系统结构

50

开发并行性指令级并行

是过去的 20 年里体系结构设计者提升性能的主要途径 时间并行性:指令流水线 空间并行性: SuperScalar( Out-of-Order)和 EPIC(编

译器优化) 进一步挖掘指令级并行的空间不大

数据级并行: SIMD 向量机 SSE 多媒体指令 作为指令级并行的有效补充,仍然能在流媒体等领域发挥重

要作用,在专用处理器中应用较多线程级并行

线程级并行大量存在于 Internet 应用 多核处理器 多线程处理器 是目前的热点

Page 51: 计算机系统结构

51

性能评价的方法

关键是统一的标准:困难是应用的多样性 是骡子是马,拉出来骝骝:一系列的基准程序 要有代表性,要足够的大,要有权威性,要有公开性

选取基准测试程序套件作为性能评价的标准: SPEC 基准测试程序 TPC(事务处理测试程序) EEMBC(嵌入式基准测试程序) LMBench(比较不同的 unix 系统性能)基准测试程序套件选取典型应用,能够全面综合的评价计算

机的性能。给不同种类的计算机的性能评价提供了一个公共平台。其属于概要性质的测试,必然会缺少一些信息,不一定能够很好的反映用户的应用程序的执行性能。

Page 52: 计算机系统结构

52

SPEC CPU2000

SPEC :权威的 CPU 性能基准程序 System Performance Evaluation Cooperative(网址 : www.spec.org)

随着 CPU 性能的提高,已发展了 4轮: 1989、 1992、 1995、 2000

SPEC CPU2000 : 12 个定点程序, 14 个浮点程序,近百万行源程序, 600MB

最近发布了 SPEC CPU2006

Page 53: 计算机系统结构

53

SPEC CPU2000测试程序套件

Page 54: 计算机系统结构

54

性能评价报告 指导原则:可重现性 应当对机器具体配置,编译环境,操作系统,输入数据集等进行详细说明 应当公布基准性能和优化结果

Dell Precision Workstation410 运行 SPEC CINT2000 的详细配置

Page 55: 计算机系统结构

55

一个性能比较的例子

从单个程序执行时间上看 对于 P1 程序: A>B>C 对于 P2 程序: A<B<C 考虑总执行时间: A<B<C 没有考虑 P1 和 P2 的执行频度,不能准确反映 A、 B、 C 三者的性能

计算加权执行时间,考虑每个程序执行频度(权重 W),综合反映性能

Page 56: 计算机系统结构

56

当负载中各程序的执行百分比不同时,计算加权执行时间是一种方法,另一种方法是“归一化”。就是说,将执行时间对一台参考机器进行归一化,然后取其归一化执行时间的平均值。 SPEC测试程序套件采用了该方法。

平均归一化时间既可表示为算术平均值,也可表示为几何平均值。

归一化时间计算方法

Page 57: 计算机系统结构

57

算术平均与几何平均算术平均值

算术平均值的权重与特定程序在特定机器上的执行时间成正比,所以权重不仅与该程序的执行频度有关,也与运行该程序的机器特性和输入数据相关。可能导致测试者把自己机器上运行最快的程序的输入量增到最大,以提高计算该程序平均值时的权重,干扰了真实结果

几何平均值小于算术平均值、与参考机无关、强调性能平衡可能导致硬件和软件设计者集中精力提高最易提高速度的软件的性能,而不是提高速度最慢的软件的性能。

Page 58: 计算机系统结构

58

SPEC 程序 源代码行 用 途 Ref time Run time Ratio

164.gzip 8,616 文件压缩 1400 403 347

175.vpr 17,729 FPGA布局布线 1400 273 512

176.gcc 224,060 C编译器 1100 221 497

181.mcf 2,414 组合优化 1800 307 586

186.crafty 21,207 国际象棋 1000 167 598

197.parser 11,391 字处理 1800 472 382

252.eon 40,961 计算机视觉 1300 188 690

253.perlbmk 85,742 Perl编程语言 1800 354 508

254.gap 71,363 群论,解释器 1100 240 458

255.vortex 67,213 面向对象的数据库 1900 263 722

256.bzip2 4,658 文件压缩 1500 365 411

300.twolf 23,461 布局布线模拟器 3000 645 465

定点分值 <503>

1GHz龙芯 2E 的 SPEC 定点分值

Page 59: 计算机系统结构

59

SPEC 程序 源代码行 用途 Ref time Run time Ratio

168.wupwise 2,184 量子动力学 1600 238 672

171.swim 435 浅水模型 3100 660 469

172.mgrid 489 三维势场求解 1800 579 311

173.applu 3,980 偏微分方程 2100 549 382

177.mesa 59,358 三维图形库 1400 221 634

178.galgel 计算流体动力学 2900 412 704

179.art 1,270 图象识别 /神经网络 2600 416 624

183.equake 1,513 地震波传播模拟 1300 208 624

187.facerec 面相识别 1900 300 632

188.ammp 13,732 计算化学 2200 432 509

189.lucas 数论 /素数测试 2000 396 506

191.fma3d 有限元模拟 2100 531 395

200.sixtrack 47,252 核物理加速器设计 1100 345 319

301.apsi 7,488 大气学:污染传播 2600 528 493

浮点分值 <503>

1GHz龙芯 2E 的 SPEC浮点分值

Page 60: 计算机系统结构

60

SPEC CPU2000 分值比较 摘自《 Computer Architecture: A Quantitative Approach》

Page 61: 计算机系统结构

61

SPEC CPU2000 分值比较 编译器均为 GCC3.4.1 –O2

Godson-2E SPEC Ratio Pentium SPEC Ratio 2E-750MHz 2E-900MHz 2E-1.0GHz PIII-800MHz PIII-1.0GHz PIV-1.4GHz

164.gzip 209 248 263 344 436 397175.vpr 237 284 313 261 275 246176.gcc 282 338 373 241 287 350181.mcf 271 324 359 229 224 255

186.crafty 356 427 474 352 439 386197.parser 202 242 268 231 255 331

252.eon 289 346 384 90.7 113 125253.perlbmk 235 277 287 397 480 547

254.gap 238 284 314 260 296 441255.vortex 236 283 312 383 451 478256.bzip2 247 296 323 249 268 314300.twolf 313 374 411 269 271 287

Ratio 256 306 335 260 296 326

Page 62: 计算机系统结构

62

SPEC CPU2000 分值比较

Godson-2E SPEC Ratio Pentium SPEC Ratio 2E-750MHz 2E-900MHz 2E-1.0GHz PIII-800MHz PIII-1.0GHz PIV-1.4GHz

168.wupwise 307 368 408 248 275 474171.swim 247 297 327 218 194 244172.mgrid 156 187 205 99.2 112 320173.applu 188 225 249 154 153 333177.mesa 373 448 496 265 323 265179.art 349 413 462 115 110 109183.equake 250 299 328 190 193 493188.ammp 277 332 366 174 194 200200.sixtrack 131 157 173 137 171 224301.apsi 172 206 226 190 206 199Ratio 232 278 307 171 183 263

编译器均为 GCC3.4.1 –O2

Page 63: 计算机系统结构

63

性能分析、评估和设计的关系

Design

Analysis

确定系统结构是一个反复循环迭代的过程:在计算机系统的所有级别搜寻可能存在的设计空间

创新 /创造

好的想法好的想法普通想法

不好的想法

性价比分析

Page 64: 计算机系统结构

64

成本与价格

性能价格比中的价格因素 成本和性能价格比的关系比较复杂

超级计算机:不计成本,只追求性能 嵌入式应用:为降低功耗和成本,可以牺牲一部分性能 介于两者之间,比如 PC 机,工作站,服务器等:追求性

能价格比的最优设计 R&D 的成本

4%-12% 15%-20%

Page 65: 计算机系统结构

65

影响成本的因素

Learning Curve :生产成本降低 Volume :加速学习过程、降低一次性成本 Commodities :竞争、量的增加

Page 66: 计算机系统结构

66

芯片的成本

最终成品率封装成本测试成本晶片的成本

芯片成本

晶片成品率每片晶圆的晶片数晶圆的成本

晶片的成本

2

2/2)(

晶片面积晶圆的直径

晶片的面积晶圆的直径每个晶圆的晶片数

晶片面积单位面积内的缺陷数目晶圆的成品率晶片成品率

1

封装成本跟功耗、引脚数目、材料相关 90nm工艺下每个 12英寸晶圆的成本在 3000-6000 美元之间 a 是衡量工艺复杂程度的参数 ,在目前工艺下约为 4 单位面积的缺陷数目与工艺相关,在目前的工艺下约为: 0.4-0.8/

平方厘米

Page 67: 计算机系统结构

67

晶圆与晶片

Page 68: 计算机系统结构

68

如何控制集成电路成 本

通常采用“冗余”作为提高成品率的手段。生产流程决定了晶片的成本,晶片的成品率,以及单位面积的残次品数目,设计者唯一能够控制的就是晶片的面积。(晶片成本增长的速度和晶片面积增长速度的 4 次方成正比关系)。

设计者通过决定晶片所包含的功能特性和 I/O 管脚数目来控制晶片的大小。

控制封装、测试的成本。对于低产量(少于 100 万 ) 的产品,掩模成本也是不可忽视的。采用可配置逻辑或选取一些门阵列来降低掩模成本。

Page 69: 计算机系统结构

69

计算机的成本与价格成本在变为价格之前,要经历许多变化,计算机设计者需要了解成本与价格的关系,这样能够知道设计决策是如何影响价格的。

元件成本

元件成本

元件成本

元件成本

直接成本 直接成本 直接成本毛利率 毛利率

平均折扣

增加 20%得到直接成本

增加 33%的毛利率

增加 33%的平均折扣

17%

83% 62% 47%

25% 19%

13%

平均售价25%

10%

标价

(直接成本包括劳动力成本,购买元件的成本,废料以及质保费用等;毛利率包括公司研发费用,营销费用,设备维护费,场地租金,财务成 本以及税前利润和赋税)

Page 70: 计算机系统结构

70

功耗的组成部分

LIK : leakage current ISC : short circuit currentISW : swithing current

ptotal = Pswitch + Pshort + Pleakage

Page 71: 计算机系统结构

71

动态功耗

翻转功耗 Pswith = CoutVdd

2fclk/2

短路功耗 输入信号 transition 时间不为 0

--〉 P 管和 N 管同时打开造成电源地短路

输入 transition 比输出 transition 快,则短路功耗小,反之则大。

Page 72: 计算机系统结构

72

CMOS 的静态功耗 在 90nm以后漏电功耗比较突出

栅氧太薄、沟道太短、域值电压太低亚阈值漏电( sub-threshold leakage)

源 <--> 漏栅漏电( gate leakage)

栅 <--> 源 栅 <--> 漏

反相 PN 结漏电( junction leakage) 源 <--> 衬底 漏 <--> 衬底

Page 73: 计算机系统结构

73

低功耗优化方法优化对象

动态功耗优化静态功耗优化

优化层次 系统级 算法级逻辑级 电路级版图及工艺级

Page 74: 计算机系统结构

74

实际机器的性能和性价比的 衡量

用 SPEC CPU 基准测试程序测试桌面计算机系统

用 TPC-C测试服务器 用 EEMBC测试嵌入式系统

Page 75: 计算机系统结构

75

桌面计算机系统

Page 76: 计算机系统结构

76

服务器系统

Page 77: 计算机系统结构

77

嵌入式系统

Page 78: 计算机系统结构

78

多核结构的趋势 处理器结构以 20 年为周期,已经历了一个简单、复杂、简单、复杂的过程

网络及媒体应用使处理器需求发生了变化 功耗问题日益突出, Performance per second, Performa

nce per dollar, Performance per watt连线延迟和设计复杂度越来越大,物理设计对结构的反作用越来越大

即使摩尔定律真的能用到 2018 年,也已经大大放慢,尤其是处理器主频正和晶体管速度正在分道扬镳

对处理器的微体系结构进行突破性变革的时机已经到来 多核结构符合上述发展趋势的要求

Page 79: 计算机系统结构

79

多核处理器的两 个基本科学问题串行程序模型和多核结构不匹配

目前基本上靠人工的并行编程来解决 自动编译除了在向量机上成功外,其他不成功

冯诺依曼结构的顺序地址空间与分布式存储器不匹配 分布式共享存储和 Cache 一致性

理论模型和物理实现的剪刀差:上述问题本质上是应用和结构、以及结构和物理之间的差距问题,需要新的模型以及结构的创新工作 应用:新模型 Closing the Gap 物理:新器件

Page 80: 计算机系统结构

80

Closing the Gap 成功的例子

60 年代工艺的发展使得处理器中可以包含象 TLB 这样较为复杂的结构,操作系统可以支持虚地址空间,解放了程序员的生产力(特优)

80 年代工艺的发展使得象多发射这样的结构得以实现,在维持串行编程模型的情况下提高了速度(优)

晶体管的增加也使得 Cache层次得以实现,在维持一维的地址空间的情况下提高了速度(良)

Cache 一致性协议在分布存储的情况下提供统一的编程空间(一般) 不成功的例子

并行计算机已经发展了几十年,目前还没有一种并行处理结构能够解决困扰了并行处理二十多年的并行程序编程困难,串行程序加速小的问题。

不同处理器之间的兼容性问题 机会

片内多核提供了一个机会,使得多核之间的通信不比计算慢,甚至比计算还快,静态或动态的串并行转换可以不用太多考虑通信:量的积累可能引起质变

虚拟机技术使得不同指令系统之间的兼容性问题可以解决

Page 81: 计算机系统结构

81

作 业