Presentation is loading. Please wait.

Presentation is loading. Please wait.

第一章 计算机体系结构的基本概念 1.1 引言 1.2 计算机体系结构的概念 1.3 计算机体系结构的发展 1.4 影响计算机体系结构的成本和价格因素 1.5 定量分析技术基础 1.6 计算机体系结构中并行性的发展.

Similar presentations


Presentation on theme: "第一章 计算机体系结构的基本概念 1.1 引言 1.2 计算机体系结构的概念 1.3 计算机体系结构的发展 1.4 影响计算机体系结构的成本和价格因素 1.5 定量分析技术基础 1.6 计算机体系结构中并行性的发展."— Presentation transcript:

1

2 第一章 计算机体系结构的基本概念 1.1 引言 1.2 计算机体系结构的概念 1.3 计算机体系结构的发展 1.4 影响计算机体系结构的成本和价格因素 1.5 定量分析技术基础 1.6 计算机体系结构中并行性的发展

3 1.1 引 言 1. 计算机性能的高速增长受益于: 电路技术的发展 2. 体系结构的重要性 体系结构技术的发展 3. 基于微处理器的系统
第一章 计算机体系结构的基本概念 1.1 引 言 1. 计算机性能的高速增长受益于: 2. 体系结构的重要性 3. 基于微处理器的系统  电路技术的发展  体系结构技术的发展

4 1.2 计算机体系结构的概念 1.2.1 计算机系统中的层次概念 1. 计算机系统=软件+硬件/固件 2. 计算机语言由低级向高级发展
第一章 计算机体系结构的基本概念 1.2 计算机体系结构的概念 1.2.1 计算机系统中的层次概念 1. 计算机系统=软件+硬件/固件 2. 计算机语言由低级向高级发展    高一级语言的语句相对于低级语言功能更强,更便于应用,但又都以低级语言为基础。 3. 从计算机语言的角度,把计算机系统按功能划分成多级层次结构。   

5 软件 硬件或固件

6 ◆ 翻译:先把N+1级程序全部变换成N级程序后, 再去执行新产生的N级程序,在执行过程中N+1 级程序不再被访问。
1.2 计算机体系结构的概念 (1) 虚拟机:由软件实现的机器。 (2) 语言实现的两种基本技术 ◆ 翻译:先把N+1级程序全部变换成N级程序后, 再去执行新产生的N级程序,在执行过程中N 级程序不再被访问。 ◆ 解释:每当一条N+1级指令被译码后,就直接 去执行一串等效的N级指令,然后再去取下一 条N+1级的指令,依此重复进行。 解释执行比翻译花的时间多,但存储空间占用较少。

7 1.2.2 计算机体系结构 1. 计算机体系结构的定义: 程序员所看到的计算机的属性,即概念性 结构与功能特性。
1.2 计算机体系结构的概念 计算机体系结构 1. 计算机体系结构的定义: 程序员所看到的计算机的属性,即概念性 结构与功能特性。 2. 按照计算机系统的多级层次结构,不同级程序 员所看到的计算机具有不同的属性。 3. 透明性 在计算机技术中,对这种本来是存在的 事物或属性,但从某种角度看又好象不存在。

8 4. Amdahl提出的体系结构:传统机器级的体系结构。 即一般所说的机器语言程序员所看到的传统 机器级所具有的属性。
1.2 计算机体系结构的概念 4. Amdahl提出的体系结构:传统机器级的体系结构。 即一般所说的机器语言程序员所看到的传统 机器级所具有的属性。 5. 对于通用寄存器型机器,这些属性主要是指: (1) 数据表示 (硬件能直接辩认和处理的数据类型) (2) 寻址规则 (包括最小寻址单元、寻址方式及其表示) (3) 寄存器定义 (包括各种寄存器的定义、数量和使用方式)

9 (4) 指令集 (包括机器指令的操作类型和格式、指令间的排 序和控制机构等)
1.2 计算机体系结构的概念 (4) 指令集 (包括机器指令的操作类型和格式、指令间的排 序和控制机构等) (5) 中断系统 (中断的类型和中断响应硬件的功能等) (6) 机器工作状态的定义和切换 (如管态和目态等) (7) 存储系统 (主存容量、程序员可用的最大存储容量等)

10 (8) 信息保护 (包括信息保护方式和硬件对信息保护的支持)
1.2 计算机体系结构的概念 (8) 信息保护 (包括信息保护方式和硬件对信息保护的支持) (9) I/O结构 (包括I/O连接方式、处理机/存储器与I/O设备 间数据传送的方式和格式以及I/O操作的状态等) 经典计算机体系结构概念的实质: 计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。

11 1.2.3 计算机组成和计算机实现技术 1. 计算机组成:计算机体系结构的逻辑实现。 2. 计算机实现:计算机组成的物理实现。
1.2 计算机体系结构的概念 1.2.3 计算机组成和计算机实现技术 1. 计算机组成:计算机体系结构的逻辑实现。 2. 计算机实现:计算机组成的物理实现。 一种体系结构可以有多种组成。 一种组成可以有多种物理实现。 3. 系列机 (1) 系列机 在一个厂家内生产的具有相同的体系 结构,但具有不同组成和实现的一系列不 同型号的机器。

12 如:IBM 370系列有370/115、125、135、145、158、168等一系列从低速到高速的各种型号。
1.2 计算机体系结构的概念 如:IBM 370系列有370/115、125、135、145、158、168等一系列从低速到高速的各种型号。 (2) IBM PC系列机 (处理器、处理器字宽、主要I/O总线、存储空间、 主要操作系统和计算机结构)

13 1.2 计算机体系结构的概念

14 1.2 计算机体系结构的概念

15 1.2 计算机体系结构的概念

16 1.2 计算机体系结构的概念

17 1.2 计算机体系结构的概念

18 表1.1 PC系列机典型特性比较 1.2 计算机体系结构的概念 计算机 PC和PC XT PC AT 80386 PC 80486 PC
Pentium PC Pentium II PC Pentium III PC Pentium 4 PC 时间 1981 1982 1985 1989 1993 1997 1999 2000 处理器 8088 80286 80386 80486 Pentium Pentium II Pentium III Pentium 4 字宽 16位 32位 主要I/O总线 PC总线 AT(ISA) ISA/EISA ISA+VL ISA+PCI ISA+PCI+AGP PCI+AGP +USB PCI-X+AGP +USB 存储空间 20位 24位 32位 主要操作系统 DOS DOS、XENIX DOS、Windows 3.0 DOS、Windows 3.1 Windows 95 Windows 98、2000 Windows Me、XP

19 4. 软件兼容:同一个软件可以不加修改地运行于体 系结构相同的各档机器,而且它们所获得的结果 一样,差别只在于有不同的运行时间。
1.2 计算机体系结构的概念 4. 软件兼容:同一个软件可以不加修改地运行于体 系结构相同的各档机器,而且它们所获得的结果 一样,差别只在于有不同的运行时间。

20 机器编制的程序,不加修改地就能运行于在它之 前(后)投入市场的机器。
1.2 计算机体系结构的概念 ◆ 向上(下)兼容:按某档机器编制的程序,不加修 改的就能运行于比它高(低)档的机器。 ◆ 向前(后)兼容:按某个时期投入市场的某种型号 机器编制的程序,不加修改地就能运行于在它之 前(后)投入市场的机器。 向后兼容是软件兼容的根本特征,也是系列机的根本特征。 5. 兼容机 不同厂家生产的具有相同体系结构的计算机。

21 第一章 计算机体系结构的基本概念 1.3 计算机体系结构的发展 1.3.1 存储程序计算机体系结构及其发展

22 (3) 存储器是按地址访问的、线性编址的空间; (4) 控制流由指令流产生; (5) 指令由操作码和地址码组成;
1.3 计算机体系结构的发展 1. 存储程序计算机的主要特点 (1) 机器以运算器为中心; (2) 采用存储程序原理; (3) 存储器是按地址访问的、线性编址的空间; (4) 控制流由指令流产生; (5) 指令由操作码和地址码组成; (6) 数据以二进制编码表示,采用二进制运算。

23 以运算器为中心带来了慢速输入/输 2. 对体系结构进行的改进 (1) 分布的I/O处理能力 出操作占用快速运算器的问题。
1.3 计算机体系结构的发展 2. 对体系结构进行的改进 (1) 分布的I/O处理能力 以运算器为中心带来了慢速输入/输 出操作占用快速运算器的问题。 为了解决这一问题,人们提出了各种 输入/输出方式。

24 1.3 计算机体系结构的发展

25 不必预先区分指令和数据,易实现存储管理软件; 程序和指令在执行过程中可以被修改,因而可以 编写出灵活的可修改的程序;
1.3 计算机体系结构的发展 (2) 保护的存储器空间 是否把指令和数据放在同一存储器中? 优点 : 不必预先区分指令和数据,易实现存储管理软件; 程序和指令在执行过程中可以被修改,因而可以 编写出灵活的可修改的程序; 对于存取指令和数据仅需一套读/写和寻址电路, 硬件简单; 数据可以分配于任何可用空间,从而可更有效地 利用存储空间等。

26 不利于实现程序的可再入性和程序的递归调用; 不利于重叠和流水方式的操作。
1.3 计算机体系结构的发展 缺点: 不利于进行程序调试诊断; 不利于实现程序的可再入性和程序的递归调用; 不利于重叠和流水方式的操作。 现在绝大多数计算机都规定,在执行进程中不准修改程序。

27 (3) 存储器组织结构的发展 相联存储器和相联处理机 通用寄存器 高速缓冲存储器和多级存储器组织结构 (4) 并行处理技术
1.3 计算机体系结构的发展 (3) 存储器组织结构的发展 相联存储器和相联处理机 通用寄存器 高速缓冲存储器和多级存储器组织结构 (4) 并行处理技术 如何挖掘传统机器中的并行性? ◆ 改进CPU的组成 重叠方式 先行控制

28 把一个作业(程序)划分成能并行执行的多个任 务(程序段),把每个任务分配给一个处理机执行。
1.3 计算机体系结构的发展 多操作部件 流水方式 ◆ 在体系结构上对某些计算问题实现并行计算。 如向量计算 ◆ 多机并行处理系统 把一个作业(程序)划分成能并行执行的多个任 务(程序段),把每个任务分配给一个处理机执行。

29 (5) 指令集结构的发展 ◆ 指令集的功能 复杂指令集计算机(CISC) 精简指令集计算机(RISC) ◆ 指令的地址空间和寻址方式
1.3 计算机体系结构的发展 (5) 指令集结构的发展 ◆ 指令集的功能 复杂指令集计算机(CISC) 精简指令集计算机(RISC) ◆ 指令的地址空间和寻址方式 多种灵活的寻址方式。

30 1.3.2 计算机的分代和分型 1. 计算机到目前为止已经发展了五代 这五代计算机分别具有明显的器件、体系结 构技术和软件技术的特征。
1.3 计算机体系结构的发展 1.3.2 计算机的分代和分型 1. 计算机到目前为止已经发展了五代 这五代计算机分别具有明显的器件、体系结 构技术和软件技术的特征。 2. 计算机可以根据价格分为五个档次: 巨型机、大型机、中型机、小型机、微型机

31 第一代 ( ) 电子管和继电器 存储程序计算机、程序控制I/O 机器语言和汇编语言 普林斯顿ISA、ENIAC、IBM701 第二代 ( ) 晶体管、磁芯、印刷电路 浮点数据表示、寻址技术、中断、I/O处理机 高级语言和编译、批处理监控系统 Univac LARC、CDC1604、IBM7030 第三代 ( ) SSI和MSI、多层印刷电路、微程序 流水线、Cache、先行处理、系列计算机 多道程序和分时操作系统 IBM360/370、CDC6600/7600、DEC PDP-8 第四代 ( ) LSI和VLSI、半导体存储器 向量处理、分布式存储器 并行与分布处理 Cray-1、IBM 3090、DEC VAX9000、Convax-1 第五代(1991-) 高性能微处理器、高密度电路 超标量、超流水、SMP、MP、MPP 大规模、可扩展并行与分布处理 SGI Cray T3E、IBM SP2、DEC AlphaServer8400

32 1.3 计算机体系结构的发展 3. 计算机系统性能随时间“下移”

33 4.根据当前的计算机应用市场的现状和价格特征, 通常把计算机分为服务器、桌面系统和嵌入式计 算三大领域。
1.3 计算机体系结构的发展 4.根据当前的计算机应用市场的现状和价格特征, 通常把计算机分为服务器、桌面系统和嵌入式计 算三大领域。

34 (1) 合理地增加计算机系统中硬件的功能比例, 这种体系结构对操作系统、高级语言甚至应 用软件提供更多更好的支持;
1.3 计算机体系结构的发展 5. 新型体系结构的设计 (1) 合理地增加计算机系统中硬件的功能比例, 这种体系结构对操作系统、高级语言甚至应 用软件提供更多更好的支持; (2) 通过多种途径提高计算机体系结构中的并行 性等级,使得凡是能并行计算和处理的问题 都能并行计算和处理,使这种体系结构和组 成对算法提供更多更好的支持。

35 1.3.3 应用需求的发展 1. 计算机的设计受两方面因素的影响 2. 软件技术最重要的发展趋势 计算机现在和未来的使用方法
1.3 计算机体系结构的发展 1.3.3 应用需求的发展 1. 计算机的设计受两方面因素的影响 2. 软件技术最重要的发展趋势 (1) 程序及数据所使用存储器容量的不断增大; (2) 编译器的重要性日益突出,逐渐成为用户 与计算机的主要界面。 计算机现在和未来的使用方法 下层的实现技术

36 3. 计算机技术和市场分化成为桌面计算、服务器 和嵌入式计算三个部分,这三个不同的领域应 用需求的特点对计算机系统设计的影响巨大。
1.3 计算机体系结构的发展 3. 计算机技术和市场分化成为桌面计算、服务器 和嵌入式计算三个部分,这三个不同的领域应 用需求的特点对计算机系统设计的影响巨大。 桌面计算市场是销售额最大的市场,是对 性能价格比要求最为苛刻和敏感的市场。 服务器市场对计算机的要求是可用性、大 容量和可扩展性。 嵌入式计算与解决的应用问题密切相关, 需求千差万别。

37 表1.3 桌面计算、服务器和嵌入式计算三类应用 领域的一些典型特性
表1.3 桌面计算、服务器和嵌入式计算三类应用 领域的一些典型特性 嵌入式计算(只考虑32位和64位) 随应用领域需求而变化,主要有:成本、功耗、实时性等。 特征 桌面计算 服务器 性能价格比 系统价格(美元) 每个处理器价格(美元) 2000年芯片销售量(片) 关键指标 可用性、可扩展性

38 1.3.4 计算机实现技术的发展 1. 现代计算机实现技术的基础核心是以晶体管为 基本单元的平面集成电路
1.3 计算机体系结构的发展 1.3.4 计算机实现技术的发展 1. 现代计算机实现技术的基础核心是以晶体管为 基本单元的平面集成电路 2. 摩尔定律 集成电路密度大约每两年翻一番。 3. 内存芯片和Intel微处理器的发展变化

39 图1.7 内存芯片密度和Intel微处理器集成度的发展
1.3 计算机体系结构的发展 图1.7 内存芯片密度和Intel微处理器集成度的发展

40 网络 4. 四种实现技术对于当代计算机的发展发挥着非 常关键的作用 逻辑电路 半导体DRAM(动态随机访问存储器) 磁盘
1.3 计算机体系结构的发展 4. 四种实现技术对于当代计算机的发展发挥着非 常关键的作用 逻辑电路 半导体DRAM(动态随机访问存储器) 磁盘 网络

41 1.3.5 技术的挑战和体系结构的生命周期 1. 对计算机系统设计人员的技术挑战 体系结构、设计工具、制造工艺、软件和
1.3 计算机体系结构的发展 1.3.5 技术的挑战和体系结构的生命周期 1. 对计算机系统设计人员的技术挑战 体系结构、设计工具、制造工艺、软件和 应用等多个方面,甚至包括经济的问题。 2. 集成电路制造中的重要技术指标之一: 特征尺寸

42 表1.4 Intel公司部分微处理器的部分工艺参数
集成度 (晶体管) 2 300 3 500 6 000 29 000 特征尺寸(m) 10 6 3 1.5 1.0 0.8 0.35 0.18 基片面积(mm2) 13.5 15.2 20.0 28.6 68.7 104 163 264 310 209 140 224 型号 4004 8008 8080 8086/8088 80286 80386DX 80486DX Pentium Pentium Pro Pentium II Pentium III Pentium 4 发布日期 1971 1972 1974 1978 1982 1985 1989 1993 1995 1997 1999 2000 制造工艺 PMOS NMOS CMOS BiCMOS 工作频率 108KHz 200kHz 2MHz 5MHz 6MHz 16MHz 25/33MHz 60/66MHz 150MHz 233MHz 500MHz 1400MHz

43 (1) 导致集成电路连线的相对长度增加,单位 长度阻抗也增大,更高的电路工作主频需 要更大的电流来驱动电平的翻转和信号变 化的传递;
1.3 计算机体系结构的发展 3. 随着特征尺寸减小,挑战首先是功耗。 原因: (1) 导致集成电路连线的相对长度增加,单位 长度阻抗也增大,更高的电路工作主频需 要更大的电流来驱动电平的翻转和信号变 化的传递; (2) 电路密度增加,导致芯片单位面积功率 (功率密度)上升; (3) 集成电路在减小特征尺寸的同时,也在减

44 (4) 随着特征尺寸的下降,晶体管各个电极之 间的绝缘层性能急剧下降,电极之间漏电 流的问题日益突出;
1.3 计算机体系结构的发展 少电路各层的厚度,从而降低了工作电压; (4) 随着特征尺寸的下降,晶体管各个电极之 间的绝缘层性能急剧下降,电极之间漏电 流的问题日益突出; (5) 由于现代微处理器中的部件成千上万, 而这些部件并不都是同时工作,这就需 要在设计中合理分配电力使用,对于不 工作的部件暂时减低工作性能或者暂停 工作,以减少系统的功耗。

45 1.3 计算机体系结构的发展 图1.8 微处理器中的工作电流和漏电流

46 4. 在设计上将面临的问题: 微处理器芯片正确性验证复杂性成倍上升. 5. 从经济角度看问题和从技术角度看问题往往 是不同的
1.3 计算机体系结构的发展 4. 在设计上将面临的问题: 微处理器芯片正确性验证复杂性成倍上升. 5. 从经济角度看问题和从技术角度看问题往往 是不同的 6. 一个计算机体系结构,从产生到消亡,大致 需要15~20年的时间。

47 图1.9 体系结构的生命周期

48 1.4 影响计算机体系结构的 成本和价格因素 1.4.1 计算机系统的成本和价格 组装一台较高档配置PC的硬件各部件价格分布
第一章 计算机体系结构的基本概念 1.4 影响计算机体系结构的 成本和价格因素 1.4.1 计算机系统的成本和价格 组装一台较高档配置PC的硬件各部件价格分布 ◆ 从总体看,价格变化的趋势是不断下降的。 ◆ 计算机的价格是与成本紧密相关的。

49 Unika GeForce FX5900FXc 128MB DDR
表1.5 一台组装PC及其各个部件的价格分布 配件 处理器 主板(含基本I/O) 存储器 硬盘 显示卡 显示器 光驱 键盘和鼠标 音箱 其他配件 合计: 型号 Pentium 4 2.6C GHz 微星865PE-Neo2-PFS Kingston 256M DDR400(两条) 三星SP80GB 2MB缓冲 Unika GeForce FX5900FXc 128MB DDR Magvision PR700M2 MIDA 48× Combo BenQ海湾键盘+微软IE4.0 漫步者R301T II 机箱、电源、软驱、CPU风扇等 价格(¥) 1400 980 600 680 1699 1399 390 498 260 420 8326 总价格中的比例 17% 12% 7% 8% 20% 5% 6% 3%

50 (2) 直接成本 与一件产品生产直接相关的成本。
1.4 影响计算机体系结构的成本和价格因素 2. 价格与成本是不同的概念 商品的标价(价格)由这样一些因素构成: (1) 原料成本 一件产品中所有部件的采购成本总和。 (2) 直接成本 与一件产品生产直接相关的成本。 (3) 毛利 主要包括: 公司的研发费用

51 市场建立费用 销售费用 生产设备维护费用 房租 贷款利息 税后利润和所得税 (4) 平均销售价格与折扣
1.4 影响计算机体系结构的成本和价格因素 市场建立费用 销售费用 生产设备维护费用 房租 贷款利息 税后利润和所得税 (4) 平均销售价格与折扣

52 3. 工作站的成本和价格 工作站的成本和价格

53 4. PC的成本和价格

54 1.4.2 时间因素 1. 影响计算机系统成本的主要因素 (1) 时间 (对成本产生最直接影响) 即使实现技术没有变动,计算机系统的制造
1.4 影响计算机体系结构的成本和价格因素 时间因素 1. 影响计算机系统成本的主要因素 (1) 时间 (对成本产生最直接影响) 即使实现技术没有变动,计算机系统的制造 成本也会不断下降。 (2) 产量 ◆ 产量的增加会加速工艺的稳定; ◆ 产量增加提高了生产效率,降低了成本;

55 从而使得单机成本下降。 (3) 商品化 (更重要的是它影响产品的价格) 2. 价格随时间下降 价格变化的学习曲线
1.4 影响计算机体系结构的成本和价格因素 ◆ 产量增加降低每台单机必须加入的开发费用, 从而使得单机成本下降。 (3) 商品化 (更重要的是它影响产品的价格) 2. 价格随时间下降 ◆ 存储器价格变化的学习曲线 ◆ 2002年Intel的一些Pentium 4处理器零售 价格变化的学习曲线

56 1.4 影响计算机体系结构的成本和价格因素 图1.12 DRAM价格的学习曲线

57 1.4 影响计算机体系结构的成本和价格因素 图1.13 Intel公司部分型号Pentium 4处理器零售价格的学习曲线

58 1.4.3 集成电路的成本 集成电路的基本制造工艺: 1. 首先生产圆片; 2. 在圆片上制造出大量电路单元;
1.4 影响计算机体系结构的成本和价格因素 1.4.3 集成电路的成本 集成电路的基本制造工艺: 1. 首先生产圆片; 2. 在圆片上制造出大量电路单元; 3. 园片经过测试后按照制造的电路单元被切割成 基片; 4. 基片在外壳中封装好以后就是集成电路成品。

59 1.4 影响计算机体系结构的成本和价格因素 集成电路的圆片和基片

60 集成电路成本 = 基片成本 = 每块园片上的基片数 = 基片成品率 = 园片成品率  ( )-

61 基片成本 = = 园片成本、园片成品率、值及疵点密度等 由生产工艺决定; 基片面积由设计人员控制。

62 5. 当前一些典型芯片的工艺参数和成本 1.4 影响计算机体系结构的成本和价格因素 微处理器 Alpha 21264C Power3-II
Itanium MIPS R14000 UltraSPARC III 基片面积(mm2) 115 163 300 204 210 制造工艺 0.18m工艺6层金属布线CMOS 0.22m工艺6层金属布线CMOS 0.25m工艺4层金属布线CMOS 0.15m工艺6层金属布线CMOS 圆片成本估计(美元) 4700 4000 4900 3700 5200

63 1.5 定量分析技术基础 1.5.1 计算机性能的评测 也称为执行时间。 (计算机完成某一任务所花费的全部时间)
第一章 计算机体系结构的基本概念 1.5 定量分析技术基础 1.5.1 计算机性能的评测 ◆ 响应时间:从事件开始到结束之间的时间, 也称为执行时间。 (计算机完成某一任务所花费的全部时间) ◆ 流量:在单位时间内所能完成的工作量。 相同点:都认为能够以最短时间完成指定任务的 计算机就是最快的。 不同点:响应时间针对单任务,而流量针对多任务。

64 1. 假设两台计算机为X和Y,“X比Y快”的意思是
X比Y快n倍: = n 响应时间与性能成反比,上式变成 n = = =

65 CPU工作的时间,不包含I/O等待时间及运行 其它程序的时间。
1.5 定量分析技术基础 2. CPU时间 CPU工作的时间,不包含I/O等待时间及运行 其它程序的时间。 用户CPU时间 系统CPU时间

66 1.5.2 测试程序 1.目前常用的测试程序可以分为五类: (按测试可靠性由高至低的顺序列出) (1) 实际应用程序
1.5 定量分析技术基础 1.5.2 测试程序 1.目前常用的测试程序可以分为五类: (按测试可靠性由高至低的顺序列出) (1) 实际应用程序 (2) 修正的(或者脚本化)应用程序 (3) 核心测试程序 (3) 小测试程序 (4) 合成测试程序

67 2. 测试程序组件 选择一组各个方面有代表性的测试程序, 组成一个通用测试程序集合。 最大优点: 避免了独立测试程序存在的片面性,尽
1.5 定量分析技术基础 2. 测试程序组件 选择一组各个方面有代表性的测试程序, 组成一个通用测试程序集合。 最大优点: 避免了独立测试程序存在的片面性,尽 可能全面地测试了一个计算机系统的性能。 ◆ 最常见的测试程序组件是基于UNIX的SPEC 主要版本包括SPEC89、SPEC92、 SPEC95和SPEC2000等。

68 表1.7 SPEC不同版本所包含测试程序的演化过程
程序类型 SPEC89 SPEC92 SPEC95 SPEC2000 gcc 整数 采用 修正 espresso 舍弃 li eqntott spice 浮点 doduc nasa7 fpppp matrix300 tomcatv compress sc mdljdp2 wave5 ora mdljsp2 alvinn ear

69 浮点 采用 修正 su2cor 舍弃 hydro2d go 整数 m88ksim ijpeg perl vortex mgrid applu
swm256(aka swim) 浮点 采用 修正 su2cor 舍弃 hydro2d go 整数 m88ksim ijpeg perl vortex mgrid applu apsi turb3d

70 Timberwolf:一种用于VLSI布局布线的模拟退火算法
表1.8 SPEC CPU2000测试程序组件中的程序 测试程序 程序类型 源码类型 说 明 gzip 整数 C 使用Lempel-Ziv的压缩算法 vpr FPGA布局布线 gcc 使用GNU C编译器生成优化的机器代码 mcf 公交调度的组合优化 crafty 下棋程序 parser 英语句法分析 eon C++ 一种图形学中的光线跟踪算法 perlmbk 四个输入脚本的Perl gap 一个群论算法包 vortex 一个面向对象的数据库系统 bzip2 一种块分类压缩算法 twolf Timberwolf:一种用于VLSI布局布线的模拟退火算法

71 wupwise 浮点 F77 量子色动力学的格群论模型 swim 使用有限差分方程求解浅水方程 mgrid 三维场上的多栅格解算机 apply 抛物线和椭圆偏微分方程解算器 mesa C 三维图形库 galgel F90 流体动力学计算 art 使用神经网络对温度图进行图像识别 equake 地震波传播模拟 facerec 使用小波和图形匹配进行面像识别 ammp 一种水中蛋白质的分子动力学模拟 lucas 进行Mersenne素数的基本测试 fma3d 采用有限元方法的撞击模拟 sixtrack 设计高能加速器的模拟器 apsi 大气污染的气象学方法模拟

72 ◆ SPEC2000测试程序组件,除了含有测试CPU的 SPEC CPU2000,还包括其他一系列测试程序组 件:
1.5 定量分析技术基础 ◆ SPEC2000测试程序组件,除了含有测试CPU的 SPEC CPU2000,还包括其他一系列测试程序组 件: SPECviewperf 用于测试图形系统支持OpenGL库的性能 SPECapc 测试图形密集型应用的性能 SPECSFS 基于NFS文件系统的文件服务器测试程 SPECWeb Web服务器测试程序

73 事务处理(Transaction-processing,TP) 测试程序主要测试在线事务处理系统的性能。
1.5 定量分析技术基础 ◆ TPC测试程序组件 事务处理(Transaction-processing,TP) 测试程序主要测试在线事务处理系统的性能。 核心内容:数据库访问和相关的信息决策能力。 TPC-A TPC-C 模拟一个复杂队列环境。 TPC-H 一个特别的决策支持模型,其队列执 行时间特别长。

74 TPC-R 模拟面向一组标准队列的商业决策支持 系统,涉及到DBMS的优化。
1.5 定量分析技术基础 TPC-R 模拟面向一组标准队列的商业决策支持 系统,涉及到DBMS的优化。 TPC-W 基于Web的商业事务处理活动。 面向事务处理的测试程序组件主要用于测试服 务器的性能。 ◆ 测试基于Microsoft公司的Windows系列操 作系统平台的测试组件

75 Multimedia Content Creation Winstone 2004 主要用于测试计算机系统多媒体应用的综 合性能。
1.5 定量分析技术基础 PCMark04 包括中央处理器测试组、内存测试组、图 形芯片测试组、硬盘测试组等。 Business Winstone 2004 主要用于测试计算机系统商业应用的综合 性能。 Multimedia Content Creation Winstone 2004 主要用于测试计算机系统多媒体应用的综 合性能。

76 主要包括有CPU、存储器、I/O接口(如SCSI、 APM/ACPI、网络等)、I/O设备(如CD-
1.5 定量分析技术基础 SiSoft Sandra Pro 2004 拥有超过30种以上的分析与测试模组, 主要包括有CPU、存储器、I/O接口(如SCSI、 APM/ACPI、网络等)、I/O设备(如CD- ROM/DVD、鼠标、键盘、打印机等)、主板 等。

77 主要测试显卡性能和DirectX的性能。 Prime95 用来估计分布式计算程序的通信情况, 可使计算机高负荷运转,所以也用来测试计
1.5 定量分析技术基础 ◆ 一些专门的性能指标测试程序 3DMark03 主要测试显卡性能和DirectX的性能。 Prime95 用来估计分布式计算程序的通信情况, 可使计算机高负荷运转,所以也用来测试计 算机的稳定性。 SuperPi/SuperE 计算圆周率π/自然指数e的软件,通常 用来测试CPU的稳定性。

78 1.5.3 性能设计和评测的基本原则 三条基本原则和方法: 1. 大概率事件优先的原则 对于大概率事件(最常见的事件),赋予
1.5 定量分析技术基础 1.5.3 性能设计和评测的基本原则 三条基本原则和方法: 1. 大概率事件优先的原则 对于大概率事件(最常见的事件),赋予 它优先的处理权和资源使用权,以获得全局的 最优结果。 2. Amdahl定律 加快某部件执行速度所获得的系统性能 加速比,受限于该部件在系统中所占的重要性。

79 (1) 加速比 系统加速比 = = 系统加速比依赖于两个因素: 可改进比例:可改进部分在原系统计算时间中所占的 比例,它总是小于等于1的。 例如: 一个需运行60秒的程序中有20秒的运算 可以加速,那么该比例就是20/60。

80 例如: 系统改进后执行程序,其中可改进部分花 费2秒的时间,而改进前该部分需花费5秒, 则性能提高为5/2。
1.5 定量分析技术基础 部件加速比:可改进部分改进以后的性能提高, 一般情况下它是大于1的 。 例如: 系统改进后执行程序,其中可改进部分花 费2秒的时间,而改进前该部分需花费5秒, 则性能提高为5/2。

81 总执行时间改进后 = 不可改进部分的执行时间 + 可改进部分改进后的执行时间
总执行时间改进后=(1-可改进比例)总执行时间改进前 + = [ (1-可改进比例) ]总执行时间改进前

82 系统加速比为改进前与改进后总执行时间之比:
系统加速比 = =

83 推论:如果只针对整个任务的一部分进行优化, 那么所获得的加速比不大于1/(1-fe)。 (3) 一个“好”的计算机系统:具有高性价比的计
1.5 定量分析技术基础 (2) Amdahl定律:性能递减规则 如果仅仅对计算机中的一部分做性能改 进,则改进越多,系统获得的效果越小。 推论:如果只针对整个任务的一部分进行优化, 那么所获得的加速比不大于1/(1-fe)。 (3) 一个“好”的计算机系统:具有高性价比的计 算机系统是一个带宽平衡的系统,而不是看它 使用的某些部件的性能 。

84 的,而是相对地簇聚;这种簇聚包括指令和数 据两部分。 ◆ 程序的时间局部性:程序即将用到的信息很 可能就是目前正在使用的信息。
1.5 定量分析技术基础 3. 程序的局部性原理 程序在执行时所访问地址的分布不是随机 的,而是相对地簇聚;这种簇聚包括指令和数 据两部分。 ◆ 程序的时间局部性:程序即将用到的信息很 可能就是目前正在使用的信息。 ◆ 程序的空间局部性:程序即将用到的信息很 可能与目前正在使用的信息在空间上相邻或者 临近。

85 1.5.4 CPU的性能 1. 将程序执行的时间进行分解 (1) 计算机工作的时钟频率 计算机系统中与实现技术和工艺有关的因素。
1.5 定量分析技术基础 1.5.4 CPU的性能 1. 将程序执行的时间进行分解 (1) 计算机工作的时钟频率 计算机系统中与实现技术和工艺有关的因素。 单位是MHz(f)。 (2) 总时钟周期数 程序执行的cpu时间 : CPU时间 = 总时钟周期数 / 时钟频率

86 总CPU时间 = CPI  IC / 时钟频率 2. “指令时钟数”CPI(Cycles Per Instruction)
1.5 定量分析技术基础 2. “指令时钟数”CPI(Cycles Per Instruction) 一个与计算机体系结构有关的参数。 CPI = 总时钟周期数 / IC IC:程序执行过程中所处理的指令数。 3. 程序执行的CPU时间可以写成 总CPU时间 = CPI  IC / 时钟频率 ◆ 时钟频率:反映了计算机实现技术、生产工艺 和计算机组织。

87 的结构和计算机组织。 1.5 定量分析技术基础 ◆ CPI:反映了计算机实现技术、计算机指令集
◆ IC:反映了计算机指令集的结构和编译技术。

88 CPU时间 =  (CPIi  ICi) / 时钟频率
1.5 定量分析技术基础 假设:计算机系统有n种指令; CPIi :第i种指令的处理时间; ICi :在程序中第i种指令出现的次数; 则程序执行时间为 CPU时间 =  (CPIi  ICi) / 时钟频率 CPI =  (CPIi  ICi) / IC =  (CPIi  ICi / IC) 其中:(ICi / IC)反映了第i种指令在程序中所占的 比例。 4. 对CPU性能公式进行进一步细化 n i=1 n n i=1 i=1

89 假设我们考虑条件分支指令的两种不同设计方法如下:
1.5 定量分析技术基础 例1.1 假设我们考虑条件分支指令的两种不同设计方法如下: (1) CPUA:通过比较指令设置条件码,然后测试条 件码进行分支。 CPUB:在分支指令中包括比较过程 在两种CPU中,条件分支指令都占用2个时钟周 期而所有其它指令占用1个时钟周期,对于CPUA,执 行的指令中分支指令占20%;由于每个分支指令之前 都需要有比较指令,因此比较指令也占20%。由于CPUA

90 在分支时不需要比较,因此假设它的时钟周期时间 比CPUB快1.25倍。哪一个CPU更快?如果CPUA的时钟
1.5 定量分析技术基础 在分支时不需要比较,因此假设它的时钟周期时间 比CPUB快1.25倍。哪一个CPU更快?如果CPUA的时钟 周期时间仅仅比CPUB快1.1倍,哪一个CPU更快呢? 解:我们不考虑所有系统问题,所以可用CPU性能公式。占用2个时钟周期的分支指令占总指令的20%,剩下的指令占用1个时钟周期。所以 CPIA = 0.2   1 = 1.2 则CPU性能为: 总CPU时间A = IC  1.2  时钟周期A

91 在CPUB中没有独立的比较指令,所以CPUB的程序量为CPUA的80%,分支指令的比例为: 20%/80% = 25%
1.5 定量分析技术基础 根据假设,有: 时钟周期B = 1.25  时钟周期A 在CPUB中没有独立的比较指令,所以CPUB的程序量为CPUA的80%,分支指令的比例为: 20%/80% = 25% 这些分支指令占用2个时钟周期,而剩下的75%的指令占用1个时钟周期,因此: CPIB = 0.25   1 = 1.25 因为CPUB不执行比较,故: ICB = 0.8  ICA

92 总CPU时间B = ICB  CPIB  时钟周期B = 0.8  ICA  1.25  (1.25  时钟周期A)
1.5 定量分析技术基础 因此CPUB性能为: 总CPU时间B = ICB  CPIB  时钟周期B = 0.8  ICA  1.25  (1.25  时钟周期A) = 1.25  ICA  时钟周期A 在这些假设之下,尽管CPUB执行指令条数较少,CPUA因为有着更短的时钟周期,所以比CPUB快。

93 如果CPUA的时钟周期时间仅仅比CPUB快1.1倍,则 时钟周期B = 1.10  时钟周期A CPUB的性能为:
1.5 定量分析技术基础 如果CPUA的时钟周期时间仅仅比CPUB快1.1倍,则 时钟周期B = 1.10  时钟周期A CPUB的性能为: 总CPU时间B = ICB  CPIB  时钟周期B = 0.8  ICA  1.25  (1.10  时钟周期A) = 1.10  ICA  时钟周期A 因此CPUB由于执行更少指令条数,比CPUA运行更快。

94 1.6 计算机体系结构中并行性的发展 1.6.1 并行性概念 1. 并行性
第一章 计算机体系结构的基本概念 1.6 计算机体系结构中并行性的发展 1.6.1 并行性概念 1. 并行性 在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。 只要时间上互相重叠,就存在并行性。

95 两个或多个事件在同一时刻发生的并行性。 两个或多个事件在在同一时间间隔内发生 的并行性。 1.6 计算机体系结构中并行性的发展 ◆ 同时性
◆ 并发性 两个或多个事件在在同一时间间隔内发生 的并行性。

96 (1) 从执行程序的角度看,并行性等级从低到 高可分为
1.6 计算机体系结构中并行性的发展 2. 计算机系统中的并行性有不同的等级 (1) 从执行程序的角度看,并行性等级从低到 高可分为 ◆ 指令内部并行:指令内部的微操作之间的并行。 ◆ 指令级并行:并行执行两条或多条指令。 ◆ 线程级并行:并发执行多个线程,通常是以一个 进程内控制派生的多个线程为调度单 位。

97 ◆ 任务级或过程级并行:并行执行两个或多个过
程或任务(程序段)。 ◆ 作业或程序级并行:在多个作业或程序间的并行。

98 (2) 从处理数据的角度,并行性等级从低到高可以 分为
1.6 计算机体系结构中并行性的发展 (2) 从处理数据的角度,并行性等级从低到高可以 分为 ◆ 字串位串: 同时只对一个字的一位进行处理。 ◆ 字串位并:同时对一个字的全部位进行处理, 不同字之间是串行的。 ◆ 字并位串:同时对许多字的同一位(称位片)进 行处理。 ◆ 全并行: 同时对许多字的全部或部分位进行处理。

99 1.6.2 提高并行性的技术途径 1. 三种途径 (1) 时间重叠 多个处理过程在时间上相互错开,轮 流重叠地使用同一套硬件设备的各个部分,
1.6 计算机体系结构中并行性的发展 1.6.2 提高并行性的技术途径 1. 三种途径 (1) 时间重叠 多个处理过程在时间上相互错开,轮 流重叠地使用同一套硬件设备的各个部分, 以加快硬件周转而赢得速度。

100 设置资源,尤其是硬件资源,以大幅度提高计 算机系统的性能。
1.6 计算机体系结构中并行性的发展 (2) 资源重复 根据“以数量取胜”的原则,通过重复地 设置资源,尤其是硬件资源,以大幅度提高计 算机系统的性能。 (3) 资源共享 这是一种软件方法,它使多个任务按一定 时间顺序轮流使用同一套硬件设备。

101 (1) 在发展高性能单处理机过程中,起着主导 作用的是时间重叠这个途径。 实现时间重叠的基础:部件功能专用化。
1.6 计算机体系结构中并行性的发展 2. 单机系统中并行性的发展 (1) 在发展高性能单处理机过程中,起着主导 作用的是时间重叠这个途径。 实现时间重叠的基础:部件功能专用化。 ◆ 把一件工作按功能分割为若干相互联系的部分; ◆ 把每一部分指定给专门的部件完成; ◆ 然后按时间重叠原则把各部分执行过程在时间 上重叠起来,使所有部件依次分工完成一组同样 的工作。

102 例如 对于解释指令的五个过程,就分别需要五个专用的部件,即取指令部件(IF)、指令译码部件(ID)、指令执行部件(EX)、访问存储器部件(M)和写结果部件(WB)。

103 由多个不同类型、至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。
1.6 计算机体系结构中并行性的发展 先行控制 指令流水线,操作流水线 向量处理机 异构型(非对称型)多处理机系统 由多个不同类型、至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。

104 (2) 在单处理机中,资源重复的运用已经普遍起来。
1.6 计算机体系结构中并行性的发展 (2) 在单处理机中,资源重复的运用已经普遍起来。 部件冗余 多操作部件,多存储体 并行处理机,相联处理机 同构型(对称型)多处理机系统 由多个同类型,至少担负同等功能的处理机组成,同时处理同一作业中能并行执行的多个任务。

105 实质:用单处理机模拟多处理机的功能,形成所谓 虚拟机的概念。
1.6 计算机体系结构中并行性的发展 (3) 资源共享 实质:用单处理机模拟多处理机的功能,形成所谓 虚拟机的概念。 多道程序,分时系统 多终端,远程终端 智能终端 分布处理系统 把若干个具有独立功能的处理机(或计算机)相互连接起来,在操作系统全盘控制下,统一协调地工作,而最少依赖集中的程序、数据或硬件。

106 储介质之外,各计算机之间没有物理连接,也 无共享的联机硬件资源。
1.6 计算机体系结构中并行性的发展 3. 多机系统中并行性的发展 (1) 耦合度 反映多机系统的各机器之间的物理连接 的紧密程度和交互作用能力的强弱。 ◆ 最低耦合 耦合度最低的系统。除通过某种中间存 储介质之外,各计算机之间没有物理连接,也 无共享的联机硬件资源。

107 共享某些外围设备(例如磁盘、磁带等),机间 的相互作用是在文件或数据集一级进行。
1.6 计算机体系结构中并行性的发展 ◆ 松散耦合或间接耦合系统 通过通道或通信线路实现计算机间互连, 共享某些外围设备(例如磁盘、磁带等),机间 的相互作用是在文件或数据集一级进行。 ◆ 紧密耦合系统或直接耦全系统 机间物理连接的频带较高,它们往往通过 总线或高速开关实现互连,可以共享主存。

108 (2) 功能专用化 专用外围处理机(松散耦合系统) 高级语言处理机、数据库处理机 异构型多处理机系统 (3) 机间互连 可重构、容错多处理机
1.6 计算机体系结构中并行性的发展 (2) 功能专用化 专用外围处理机(松散耦合系统) 高级语言处理机、数据库处理机 异构型多处理机系统 (3) 机间互连 可重构、容错多处理机 紧密耦合系统 同构型多处理机系统

109 1.6 计算机体系结构中并行性的发展 (4) 网络化 通信处理机,远程网络 局部计算机网 分布处理系统

110 三种类型多处理机比较 比较项目 同构型多处理机 异构型多处理机 分布处理系统 目的 提高系统性能 (可靠性、速度) 提高系统使用 效率
兼顾效率与性能 技术 途径 资源重复 (机向互连) 时间重迭 (功能专用化) 资源共享 (网络化) 组成 同类型 (同等功能) 不同类型 (不同功能) 不限制 分工方式 任务分布 功能分布 硬件、软件、数据 等各种资源分布 工作方式 一个作业由多机 协同并行地完成 协同串行地完成 一个作业由一台处理机 完成,必要时才请求 它机协作 控制形式 常采用浮动控制方式 采用专用控制 方式 分布控制方式 耦合度 紧密耦合 紧密、松散耦合 松散、紧密耦合 对互连网络的 要求 快速性、灵活性、 可重构性 专用性 快速、灵活、简单、 通用

111 1.6.3 并行计算的应用需求 唯一可行的出路。 1.6 计算机体系结构中并行性的发展 ◆ 应用需求永远是计算机系统性能提高的最大动力。
◆ 并行计算则是满足永无止境计算能力要求的几乎 唯一可行的出路。


Download ppt "第一章 计算机体系结构的基本概念 1.1 引言 1.2 计算机体系结构的概念 1.3 计算机体系结构的发展 1.4 影响计算机体系结构的成本和价格因素 1.5 定量分析技术基础 1.6 计算机体系结构中并行性的发展."

Similar presentations


Ads by Google