高级时间体系结构课件——第1章_第1页
高级时间体系结构课件——第1章_第2页
高级时间体系结构课件——第1章_第3页
高级时间体系结构课件——第1章_第4页
高级时间体系结构课件——第1章_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 1/77/77 第1章 计算机系统结构的基本概念 张晨曦张晨曦 刘依刘依 www.GotoS 2 2/77/77 1.1 引言 1.2 计算机系统结构的概念 1.3 定量分析技术 1.4 计算机系统结构的发展 1.5 计算机系统结构中并行性的发展 3 3/77/77 1. 第一台通用电子计算机诞生于1946年 2. 计算机技术的飞速发展得益于两个方面 计算机制造技术的发展 计算机系统结构的创新 3. 经历了4个发展过程 1.1 引 言 4 4/77/77 时 间原 因每年的性能增长 19461946年起的年起的2525年年 两种因素都起着主要的作用两种因素都起着主要的作用 25% 25%

2、2020世纪世纪7070年代末年代末 8080年代初年代初 大规模集成电路和微处理器大规模集成电路和微处理器 出现出现, ,以集成电路为代表的制以集成电路为代表的制 造技术的发展造技术的发展 约约35% 35% 2020世纪世纪8080年代中开年代中开 始始 RISCRISC结构的出现,系统结构不断更结构的出现,系统结构不断更 新和变革,制造技术不断发展新和变革,制造技术不断发展 50%50%以上以上 维持了约维持了约1616年年 20022002年以来年以来 3 3个(见下页)个(见下页)约约20%20% 1.1 引言 5 5/77/77 1.1 引言 功耗问题(已经很大)。 可以进一步有效

3、开发的指令级并行性已经很少。 存储器访问速度的提高缓慢。 6 6/77/77 1.1 引言 系统结构的重大转折: 从单纯依靠指令级并行转向开发线程级并行和数从单纯依靠指令级并行转向开发线程级并行和数 据级并行。据级并行。 计算机系统结构在计算机的发展中有着极其重要计算机系统结构在计算机的发展中有着极其重要 的作用。的作用。 7 7/77/77 1. 计算机系统硬件/固件软件 2. 计算机语言从低级向高级发展 高一级语言的语句相对于低一级语言来说功能更强,高一级语言的语句相对于低一级语言来说功能更强, 更便于应用,但又都以低级语言为基础。更便于应用,但又都以低级语言为基础。 3. 从计算机语言的

4、角度,把计算机系统按功能划分成 多级层次结构。 每一层以一种语言为特征 1.2 计算机系统结构的概念 1.2.1 计算机系统的层次结构 第第 6 级级:应应用用语语言言虚虚拟拟机机 第第 5 级级:高高级级语语言言虚虚拟拟机机 第第 4 级级:汇汇编编语语言言虚虚拟拟机机 第第 3 3 级级:操操作作系系统统虚虚拟拟机机 第第 2 2 级级:机机器器语语言言( (传传统统机机器器级级) ) 第第 1 1 级级:微微程程序序机机器器级级 软件软件 硬件或固件硬件或固件 9 9/77/77 1.2 计算机系统结构的概念 虚拟机:由软件实现的机器 语言实现的两种基本技术 q翻译:翻译:先把先把N N

5、+1+1级程序全部转换成级程序全部转换成N N级程序后,再去执级程序后,再去执 行新产生的行新产生的N N级程序,在执行过程中级程序,在执行过程中N N+1+1级程序不再被级程序不再被 访问。访问。 q解释:解释:每当一条每当一条N N+1+1级指令被译码后,就直接去执行级指令被译码后,就直接去执行 一串等效的一串等效的N N级指令,然后再去取下一条级指令,然后再去取下一条N N+1+1级的指令,级的指令, 依此重复进行。依此重复进行。 解释执行比编译后再执行所花的时间多,但占用的 存储空间较少。 1010/77/77 1.2 计算机系统结构的概念 1. 计算机系统结构的经典定义 程序员所看到

6、的计算机属性,即概念性结构与功能 特性。 2. 按照计算机系统的多级层次结构,不同级程序员所看 到的计算机具有不同的属性。 3. 透明性 在计算机技术中,把这种本来存在的事物或属性, 但从某种角度看又好像不存在的概念称为透明性。 1.2.2 计算机系统结构的定义 1111/77/77 1.2 计算机系统结构的概念 1. Amdahl提出的系统结构 传统机器语言级程序员所看到的计算机属性。 1. 广义的系统结构定义:指令集结构、组成、硬件 (计算机设计的(计算机设计的3 3个方面)个方面) 2. 对于通用寄存器型机器来说,这些属性主要是指: 指令系统 包括机器指令的操作类型和格式、指令间的包括机

7、器指令的操作类型和格式、指令间的 排序和控制机构等。排序和控制机构等。 数据表示 硬件能直接识别和处理的数据类型。硬件能直接识别和处理的数据类型。 寻址规则 包括最小寻址单元、寻址方式及其表示。包括最小寻址单元、寻址方式及其表示。 1212/77/77 1.2 计算机系统结构的概念 寄存器定义 (包括各种寄存器的定义、数量和使用方式)(包括各种寄存器的定义、数量和使用方式) 中断系统 (中断的类型和中断响应硬件的功能等)(中断的类型和中断响应硬件的功能等) 机器工作状态的定义和切换 (如管态和目态等)(如管态和目态等) 存储系统 (主存容量、程序员可用的最大存储容量等)(主存容量、程序员可用的

8、最大存储容量等) 信息保护 (包括信息保护方式和硬件对信息保护的支持)(包括信息保护方式和硬件对信息保护的支持) 1313/77/77 1.2 计算机系统结构的概念 I/O结构 包括包括I/OI/O连结方式、处理机连结方式、处理机/ /存储器与存储器与I/OI/O设备之间设备之间 数据传送的方式和格式以及数据传送的方式和格式以及I/OI/O操作的状态等操作的状态等 计算机系统结构概念的实质: 确定计算机系统中软、硬件的界面,界面之上是软件实 现的功能,界面之下是硬件和固件实现的功能。 1.2.3 计算机组成和计算机实现 1. 计算机系统结构:计算机系统的软、硬件的界面 即机器语言程序员所看到的

9、传统机器级所具有的 属性。 1414/77/77 1.2 计算机系统结构的概念 1. 计算机组成:计算机系统结构的逻辑实现 包含物理机器级中的数据流和控制流的组成以及 逻辑设计等。 着眼于:物理机器级内各事件的排序方式与控制 方式、各部件的功能以及各部件之间的联系。 2. 计算机实现:计算机组成的物理实现 包括处理机、主存等部件的物理结构,器件的集 成度和速度,模块、插件、底板的划分与连接, 信号传输,电源、冷却及整机装配技术等。 着眼于:器件技术(起主导作用)、微组装技术。 1515/77/77 1.2 计算机系统结构的概念 一种体系结构可以有多种组成。 一种组成可以有多种物理实现。 1.

10、系列机 由同一厂家生产的具有相同系统结构、但具有 不同组成和实现的一系列不同型号的计算机。 例如,例如,IBMIBM公司的公司的IBM 370IBM 370系列,系列,IntelIntel公司的公司的x86x86系列等。系列等。 1.2.4 计算机系统结构的分类 常见的计算机系统结构分类法有两种: Flynn分类法、冯氏分类法 1616/77/77 1.2 计算机系统结构的概念 1. 冯氏分类法 用系统的最大并行度对计算机进行分类。 最大并行度:计算机系统在单位时间内能够处理 的最大的二进制位数。 用平面直角坐标系中的一个点代表一个计算机系用平面直角坐标系中的一个点代表一个计算机系 统,其横坐

11、标表示字宽(统,其横坐标表示字宽(n n位位),纵坐标表示一次能同),纵坐标表示一次能同 时处理的字数(时处理的字数(m m字字)。)。m mn n就表示了其最大并行度。就表示了其最大并行度。 2. Flynn分类法 按照指令流和数据流的多倍性进行分类。 指令流:计算机执行的指令序列。 1717/77/77 1.2 计算机系统结构的概念 数据流:由指令流调用的数据序列。 多倍性:在系统受限的部件上,同时处于同一执 行阶段的指令或数据的最大数目。 Flynn分类法把计算机系统的结构分为4类: q 单指令流单数据流单指令流单数据流(SISD)(SISD) q 单指令流多数据流单指令流多数据流(SI

12、MD)(SIMD) q 多指令流单数据流多指令流单数据流(MISD)(MISD) q 多指令流多数据流多指令流多数据流(MIMD)(MIMD) 4类计算机的基本结构 ISIS:指令流,:指令流,DSDS:数据流,:数据流,CSCS:控制流,:控制流, CUCU:控制部件,:控制部件,PUPU:处理部件,:处理部件,MMMM和和SMSM:存储器。:存储器。 CU PU MM IS CS PU1 PU2 PUn PU1 PU2 PUn CU1 CU2 CUn CS1 CS2 CSn PU1 PU2 PUn CU1 CU2 CUn CS1 CS2 CSn MM1 MM2 MMm DS IS1 IS2

13、 ISn SM DS (c)MISD 计计算算机机 DS1 DS2 DSn MM1 MM2 MMm SM IS1 IS2 ISn (d)MIMD 计计算算机机 (a)SISD 计计算算机机 MM1 MM2 MMm SM CU DS1 DS2 DSn IS (b)SIMD 计计算算机机 CS DS 1919/77/77 4个定量原理: 1. 以经常性事件为重点 对经常发生的情况采用优化方法的原则进行选 择,以得到更多的总体上的改进。 优化是指分配更多的资源、达到更高的性能或 者分配更多的电能等。 1.3 定量分析技术 1.3.1 计算机系统设计的定量原理 2020/77/77 1.3 定量分析技

14、术 1. Amdahl定律 加快某部件执行速度所能获得的系统性能加速 比,受限于该部件的执行时间占系统中总执行时间 的百分比。 系统性能加速比: 加速比 系统性能改进后 系统性能改进前 总执行时间改进前 总执行时间改进后 2121/77/77 1.3 定量分析技术 加速比依赖于两个因素 q可改进比例:可改进比例:在改进前的系统中,可改进部分的执在改进前的系统中,可改进部分的执 行时间在总的执行时间中所占的比例。行时间在总的执行时间中所占的比例。 它总是小于等于它总是小于等于1 1。 例如:例如:一个需运行一个需运行6060秒的程序中有秒的程序中有2020秒的运算可以加速,秒的运算可以加速, 那

15、么这个比例就是那么这个比例就是20/6020/60。 q部件加速比:部件加速比:可改进部分改进以后性能提高的倍数。可改进部分改进以后性能提高的倍数。 它是改进前所需的执行时间与改进后执行时间的比。它是改进前所需的执行时间与改进后执行时间的比。 一般情况下部件加速比是大于一般情况下部件加速比是大于1 1的。的。 例如:例如:若系统改进后,可改进部分的执行时间是若系统改进后,可改进部分的执行时间是2 2秒,秒, 而改进前其执行时间为而改进前其执行时间为5 5秒,则部件加速比为秒,则部件加速比为5/25/2。 2222/77/77 1.3 定量分析技术 改进后程序的总执行时间 总执行时间改进后 不可

16、改进部分的执行时间 可改进部分改进后的执行时间 总执行时间改进后 (1可改进比例)总执行时间改进前 + (1 可改进比例) + 总执行时间改进前 可改进比例 部件加速比 可改进比例总执行时间改进前 部件加速比 2323/77/77 1.3 定量分析技术 系统加速比为改进前与改进后总执行时间之比 加速比 总执行时间改进前 总执行时间改进后 (1可改进比例)+ 可改进比例 部件加速比 1 2424/77/77 1.3 定量分析技术 例例1.1 1.1 将计算机系统中某一功能的处理速度提高到原来的将计算机系统中某一功能的处理速度提高到原来的 2020倍,但该功能的处理时间仅占整个系统运行时间的倍,但

17、该功能的处理时间仅占整个系统运行时间的40%40%,则采,则采 用此提高性能的方法后,能使整个系统的性能提高多少?用此提高性能的方法后,能使整个系统的性能提高多少? 解解 由题可知,可改进比例由题可知,可改进比例 = 40% = 0.4= 40% = 0.4, 部件加速比部件加速比 = 20= 20 根据根据AmdahlAmdahl定律可知:定律可知: 采用此提高性能的方法后,能使整个系统的性能提高到原采用此提高性能的方法后,能使整个系统的性能提高到原 来的来的1.6131.613倍倍。 总加速比 = 1 0.6 + 0.4 20 = 1.613 2525/77/77 1.3 定量分析技术 例

18、例1.2 1.2 某计算机系统采用浮点运算部件后,使浮点运算速某计算机系统采用浮点运算部件后,使浮点运算速 度提高到原来的度提高到原来的2020倍,而系统运行某一程序的整体性能提高到倍,而系统运行某一程序的整体性能提高到 原来的原来的5 5倍,试计算该程序中浮点操作所占的比例。倍,试计算该程序中浮点操作所占的比例。 解解 由题可知,部件加速比由题可知,部件加速比 = 20= 20,系统加速比,系统加速比 = 5= 5 根据根据AmdahlAmdahl定律可知定律可知 由此可得:可改进比例由此可得:可改进比例 = 84.2% = 84.2% 即程序中浮点操作所占的比例为即程序中浮点操作所占的比例

19、为84.2%84.2%。 20 1 1 5 可改进比例 可改进比例 2626/77/77 1.3 定量分析技术 Amdahl定律:一种性能改进的递减规则 q如果仅仅对计算任务中的一部分做性能改进,则改如果仅仅对计算任务中的一部分做性能改进,则改 进得越多,所得到的总体性能的提升就越有限。进得越多,所得到的总体性能的提升就越有限。 重要推论:如果只针对整个任务的一部分进行改 进和优化,那么所获得的加速比不超过 1/(1可改进比例) 2727/77/77 1.3 定量分析技术 1. CPU性能公式 执行一个程序所需的CPU时间 CPU时间 = 执行程序所需的时钟周期数时钟周期时间 其中,时钟周期时

20、间是系统时钟频率的倒数。 每条指令执行的平均时钟周期数CPI (Cycles Per InstructionCycles Per Instruction) CPI = 执行程序所需的时钟周期数IC ICIC:所执行的指令条数所执行的指令条数 程序执行的CPU时间可以写成 CPU时间 = IC CPI 时钟周期时间 2828/77/77 1.3 定量分析技术 CPU的性能取决于3个参数 q时钟周期时间:时钟周期时间:取决于硬件实现技术和计算机组成。取决于硬件实现技术和计算机组成。 qCPICPI:取决于计算机组成和指令集结构。取决于计算机组成和指令集结构。 qICIC:取决于指令集结构和编译技术

21、。取决于指令集结构和编译技术。 对CPU性能公式进行进一步细化 假设:计算机系统有假设:计算机系统有n n种指令;种指令; CPICPIi i :第第i i种指令的处理时间;种指令的处理时间; ICICi i :在程序中第在程序中第i i种指令出现的次数;种指令出现的次数; 则则 CPUCPU时钟周期数时钟周期数 = = (CPI (CPIi i IC ICi i) ) n n i i=1=1 2929/77/77 1.3 定量分析技术 CPU时间 = 执行程序所需的时钟周期数时钟周期时间 = (CPIiICi)时钟周期时间 CPI可以表示为 CPI = = = 其中,(ICi/IC)反映了第

22、i种指令在程序中所占的比例。 i=1 n 时钟周期数 IC (CPIiICi) i=1 n IC (CPIi ) i=1 n ICi IC 3030/77/77 1.3 定量分析技术 例例1.3 1.3 考虑条件分支指令的两种不同设计方法:考虑条件分支指令的两种不同设计方法: (1 1)CPUCPUA A:通过比较指令设置条件码,然后测试条件码进行通过比较指令设置条件码,然后测试条件码进行 分支。分支。 (2 2)CPUCPUB B:在分支指令中包括比较过程。在分支指令中包括比较过程。 在这两种在这两种CPUCPU中,条件分支指令都占用中,条件分支指令都占用2 2个时钟周期,而所有个时钟周期,

23、而所有 其他指令占用其他指令占用1 1个时钟周期。对于个时钟周期。对于CPUCPUA A,执行的指令中分支指令占,执行的指令中分支指令占 20%20%;由于每条分支指令之前都需要有比较指令,因此比较指令也;由于每条分支指令之前都需要有比较指令,因此比较指令也 占占20%20%。由于。由于CPUCPUA A在分支时不需要比较,因此在分支时不需要比较,因此CPUCPUB B的时钟周期时间的时钟周期时间 是是CPUCPUA A的的1.251.25倍。问:哪一个倍。问:哪一个CPUCPU更快?如果更快?如果CPUCPUB B的时钟周期时间的时钟周期时间 只是只是CPUCPUA A的的1.11.1倍,哪

24、一个倍,哪一个CPUCPU更快呢?更快呢? 3131/77/77 1.3 定量分析技术 解解 我们不考虑所有系统问题,所以可用我们不考虑所有系统问题,所以可用CPUCPU性能公式。占用性能公式。占用2 2个时钟个时钟 周期的分支指令占总指令的周期的分支指令占总指令的20%20%,剩下的指令占用,剩下的指令占用1 1个时钟周期。个时钟周期。 所以所以 CPICPIA A = 0.2 = 0.2 2 + 0.80 2 + 0.80 1 = 1.2 1 = 1.2 则则CPUCPUA A性能为性能为 总总CPUCPU时间时间A A = IC = ICA A 1.2 1.2 时钟周期时钟周期A A 根

25、据假设,有根据假设,有 时钟周期时钟周期B B = 1.25 = 1.25 时钟周期时钟周期A A 在在CPUCPUB B中没有独立的比较指令,所以中没有独立的比较指令,所以CPUCPUB B的程序量为的程序量为CPUCPUA A的的 80%80%,分支指令的比例为,分支指令的比例为 3232/77/77 1.3 定量分析技术 20%/80% = 25%20%/80% = 25% 这些分支指令占用这些分支指令占用2 2个时钟周期,而剩下的个时钟周期,而剩下的75%75%的指令占用的指令占用1 1个时钟个时钟 周期,因此周期,因此 CPICPIB B = 0.25 = 0.25 2 + 0.75

26、 2 + 0.75 1 = 1.25 1 = 1.25 因为因为CPUCPUB B不执行比较,故不执行比较,故 ICICB B = 0.8 = 0.8 IC ICA A 因此因此CPUCPUB B性能为性能为 总总CPUCPU时间时间B B = IC = ICB B CPI CPIB B 时钟周期时钟周期B B = 0.8 = 0.8 ICICA A 1.25 1.25 (1.25 1.25 时钟周期时钟周期A A) = 1.25 = 1.25 ICICA A 时钟周期时钟周期A A 3333/77/77 1.3 定量分析技术 在这些假设之下,尽管在这些假设之下,尽管CPUCPUB B执行指令

27、条数较少,执行指令条数较少,CPUCPUA A因为有着更因为有着更 短的时钟周期,所以比短的时钟周期,所以比CPUCPUB B快。快。 如果如果CPUCPUB B的时钟周期时间仅仅是的时钟周期时间仅仅是CPUCPUA A的的1.11.1倍,则倍,则 时钟周期时钟周期B B = 1.10 = 1.10 时钟周期时钟周期A A CPUCPUB B的性能为的性能为 总总CPUCPU时间时间B B = IC = ICB B CPICPIB B 时钟周期时钟周期B B = 0.8 = 0.8 ICICA A 1.25 1.25 (1.10 1.10 时钟周期时钟周期A A) = 1.10 = 1.10

28、IC ICA A 时钟周期时钟周期A A 因此因此CPUCPUB B由于执行更少指令条数,比由于执行更少指令条数,比CPUCPUA A运行更快。运行更快。 3434/77/77 1.3 定量分析技术 1. 程序的局部性原理 程序执行时所访问的存储器地址分布不是随机 的,而是相对地簇聚。 常用的一个经验规则 程序执行时间的程序执行时间的90%90%都是在执行程序中都是在执行程序中10%10%的代码。的代码。 程序的时间局部性 程序即将用到的信息很可能就是目前正在使用的信息。程序即将用到的信息很可能就是目前正在使用的信息。 程序的空间局部性 程序即将用到的信息很可能与目前正在使用的信息程序即将用到

29、的信息很可能与目前正在使用的信息 在空间上相邻或者临近。在空间上相邻或者临近。 3535/77/77 1.3 定量分析技术 1. 执行时间和吞吐率 如何评测一台计算机的性能,与测试者看问题 的角度有关。 用户关心的是:单个程序的执行时间(执行单个 程序所花的时间很少) 数据处理中心的管理员关心的是:吞吐率(在单 位时间里能够完成的任务很多 ) 1.3.2 计算机系统的性能评测 3636/77/77 1.3 定量分析技术 假设两台计算机为X和Y,X比Y快的意思是: 对于给定任务,X的执行时间比Y的执行时间少。 X的性能是Y的n倍,即 而执行时间与性能成反比,即 执行时间Y 执行时间X =n n=

30、 = = 执行时间Y 执行时间X 性能Y 1 性能X 1 性能X 性能Y 3737/77/77 1.3 定量分析技术 执行时间可以有多种定义: q计算机完成某一任务所花费的全部时间,包括计算机完成某一任务所花费的全部时间,包括磁盘访磁盘访 问、存储器访问、输入问、存储器访问、输入/输出、操作系统开销等。输出、操作系统开销等。 qCPU时间:时间:CPUCPU执行所给定的程序所花费的时间,不执行所给定的程序所花费的时间,不 包含包含I/OI/O等待时间以及运行其他程序的时间。等待时间以及运行其他程序的时间。 n用户用户CPUCPU时间:时间:用户程序所耗费的用户程序所耗费的CPUCPU时间。时间

31、。 n系统系统CPUCPU时间:时间:用户程序运行期间操作系统耗费的用户程序运行期间操作系统耗费的 CPUCPU时间。时间。 3838/77/77 1.3 定量分析技术 2.基准测试程序 用于测试和比较性能的基准测试程序的最佳选择是真实应 用程序。 (例如编译器)(例如编译器) 以前常采用简化了的程序,例如: q核心测试程序:核心测试程序:从真实程序中选出的关键代码段构从真实程序中选出的关键代码段构 成的小程序。成的小程序。 q小测试程序:小测试程序:简单的只有几十行的小程序。简单的只有几十行的小程序。 q合成的测试程序:合成的测试程序:人工合成出来的程序。人工合成出来的程序。 Whetsto

32、neWhetstone与与DhrystoneDhrystone是最流行的合成测试程序。是最流行的合成测试程序。 从测试性能的角度来看,上述测试程序就不可信了。 3939/77/77 1.3 定量分析技术 原因: p这些程序比较小,具有片面性;这些程序比较小,具有片面性; p系统结构设计者和编译器的设计者可以系统结构设计者和编译器的设计者可以“合谋合谋”把他把他 们的计算机面向这些测试程序进行优化设计,使得们的计算机面向这些测试程序进行优化设计,使得 该计算机显得性能更高。该计算机显得性能更高。 性能测试的结果除了和采用什么测试程序有关以 外,还和在什么条件下进行测试有关。 基准测试程序设计者对

33、制造商的要求 q采用同一种编译器;采用同一种编译器; q对同一种语言的程序都采用相同的一组编译标志。对同一种语言的程序都采用相同的一组编译标志。 4040/77/77 1.3 定量分析技术 一个问题:是否允许修改测试程序的源程序 三种不同的处理方法: q不允许修改。不允许修改。 q允许修改,但因测试程序很复杂或者很大,几乎是允许修改,但因测试程序很复杂或者很大,几乎是 无法修改。无法修改。 q允许修改,只要保证最后输出的结果相同。允许修改,只要保证最后输出的结果相同。 基准测试程序套件:由各种不同的真实应用程序 构成。 (能比较全面地反映计算机在各个方面的处理性能(能比较全面地反映计算机在各个

34、方面的处理性能 ) SPEC系列:最成功和最常见的测试程序套件 (美国的标准性能评估公司开发)(美国的标准性能评估公司开发) 4141/77/77 1.3 定量分析技术 q台式计算机的基准测试程序套件可以分为两大类:台式计算机的基准测试程序套件可以分为两大类: 处理器性能测试程序,图形性能测试程序处理器性能测试程序,图形性能测试程序 qSPEC89SPEC89:用于测试处理器性能。用于测试处理器性能。1010个程序(个程序(4 4个整数程个整数程 序,序,6 6个浮点程序)个浮点程序) q演化出了演化出了4 4个版本个版本 SPEC92SPEC92:2020个程序个程序 SPEC95SPEC9

35、5:1818个程序个程序 SPEC2000SPEC2000:2626个程序个程序 SPEC CPU2006SPEC CPU2006: 2929个程序个程序 qSPEC CPU2006SPEC CPU2006 4242/77/77 1.3 定量分析技术 整数程序整数程序1212个(个(CINT2006CINT2006) 9 9个是用个是用C C写的,写的,3 3个是用个是用C+C+写的写的 浮点程序浮点程序1717个(个(CFP2006CFP2006) 6 6个是用个是用FORTRANFORTRAN写的,写的,4 4个是用个是用C+C+写的,写的,3 3个个 是用是用C C写的,写的,4 4个是

36、用个是用C C和和FORTRANFORTRAN混合编写的。混合编写的。 SPEC测试程序套件中的其他一系列测试程序组件 qSPECSFSSPECSFS:用于用于NFSNFS(网络文件系统)文件服务器的测(网络文件系统)文件服务器的测 试程序。它不仅测试处理器的性能,而且测试试程序。它不仅测试处理器的性能,而且测试I/OI/O系统系统 的性能。它重点测试吞吐率。的性能。它重点测试吞吐率。 qSPECWebSPECWeb:WebWeb服务器测试程序。服务器测试程序。 4343/77/77 1.3 定量分析技术 qSPECviewperfSPECviewperf:用于测试图形系统支持用于测试图形系统

37、支持OpenGLOpenGL库库 的性能。的性能。 qSPECapcSPECapc:用于测试图形密集型应用的性能。用于测试图形密集型应用的性能。 事务处理(TP)性能测试基准程序:用于测试计 算机在事务处理方面的能力,包括数据库访问 和更新等。 q2020世纪世纪8080年代中期,一些工程师成立了称为年代中期,一些工程师成立了称为TPCTPC的独的独 立组织。目的是开发用于立组织。目的是开发用于TPTP性能测试的真实而又公平性能测试的真实而又公平 的基准程序。的基准程序。 q先后发布了多个版本:先后发布了多个版本: TPC-ATPC-A、TPC-CTPC-C、TPC-HTPC-H、TPC-WT

38、PC-W、TPC-AppTPC-App等等 (主要是用于测试服务器的性能(主要是用于测试服务器的性能 ) 4444/77/77 1.3 定量分析技术 用于测试基于Microsoft公司的Windows系列操作 系统平台的测试套件 q PCMark04PCMark04:中央处理器测试组、内存测试组、图形芯片中央处理器测试组、内存测试组、图形芯片 测试组、硬盘测试组等。测试组、硬盘测试组等。 qBusiness WinstoneBusiness Winstone 2004 2004:主要用于测试计算机系统主要用于测试计算机系统 商业应用的综合性能。商业应用的综合性能。 qMultimedia Co

39、ntent Creation WinstoneMultimedia Content Creation Winstone 2004 2004:主要用主要用 于测试计算机系统多媒体应用的综合性能。于测试计算机系统多媒体应用的综合性能。 qSiSoftSiSoft Sandra Pro 2004 Sandra Pro 2004:一套功能强大的系统分析一套功能强大的系统分析 评比工具,拥有超过评比工具,拥有超过3030种以上的分析与测试模块。种以上的分析与测试模块。 主要包括:主要包括:CPUCPU、存储器、存储器、I/OI/O接口、接口、I/OI/O设备、主板等。设备、主板等。 1. 性能比较 A机

40、 B机 C机 W(1) W(2) W(3) 程序程序1 1 1.00 1.00 10.00 10.00 20.00 20.00 0.50 0.50 0.909 0.909 0.999 0.999 程序程序2 2 1000.00 1000.00 10.00 10.00 20.0020.000.50 0.50 0.091 0.091 0.001 0.001 加权算术加权算术 平均值平均值A Am m(1 1) 500.50 500.50 10.00 10.00 20.0020.00 加权算术加权算术 平均值平均值A Am m(2 2) 91.91 91.91 10.00 10.00 20.0020

41、.00 加权算术加权算术 平均值平均值A Am m(3 3) 2.00 2.00 10.00 10.00 20.0020.00 两个程序在A、B、C三台计算机上的执行时间 4646/77/77 1.3 定量分析技术 如何比较这3台计算机的性能呢? 从该表可以得出: 执行程序执行程序1:1: qA A机机的速度是的速度是B B机机的的1010倍倍 qA A机机的速度是的速度是C C机机的的2020倍倍 qB B机机的速度是的速度是C C机机的的2 2倍倍 执行程序执行程序2:2: qB B机机的速度是的速度是A A机机的的100100倍倍 qC C机机的速度是的速度是A A机机的的5050倍倍

42、qB B机机的速度是的速度是C C机机的的2 2倍倍 4747/77/77 1.3 定量分析技术 总执行时间:计算机执行所有测试程序的总时间 qB B机机执行程序执行程序1 1和程序和程序2 2的速度是的速度是A A机机的的50.0550.05倍倍 qC C机机执行程序执行程序1 1和程序和程序2 2的速度是的速度是A A机机的的24.0224.02倍倍 qB B机机执行程序执行程序1 1和程序和程序2 2的速度是的速度是C C机机的的2 2倍倍 平均执行时间:各测试程序执行时间的算术平均值 其中其中,T Ti i:第:第i i个测试程序的执行时间个测试程序的执行时间 n n:测试程序组中程序

43、的个数:测试程序组中程序的个数 n i im T n S 1 1 4848/77/77 1.3 定量分析技术 加权执行时间:各测试程序执行时间的加权平均值 其中,其中,W Wi i:第:第i i个测试程序在测试程序组中所占的比重个测试程序在测试程序组中所占的比重 T Ti i:该程序的执行时间:该程序的执行时间 n i iim TWA 1 1 1 n i i W 4949/77/77 1.4 计算机系统结构的发展 1.4.1 冯诺依曼结构 运算器 (ALU) 控制器 存储器 数数据据流流 控控制制流流 输输入入 指指令令流流 输入 设备 输输出出 输出 设备 存储程序计算机的结构存储程序计算机

44、的结构 5050/77/77 1.4 计算机系统结构的发展 1. 存储程序原理的基本点:指令驱动 程序预先存放在计算机存储器中,计算机一旦启 动,就能按照程序指定的逻辑顺序执行这些程序, 自动完成由程序所描述的处理工作。 2. 冯诺依曼结构的主要特点 以运算器为中心。 在存储器中,指令和数据同等对待。 指令和数据一样可以进行运算,即由指令组成的程指令和数据一样可以进行运算,即由指令组成的程 序是可以修改的。序是可以修改的。 存储器是按地址访问、按顺序线性编址的一维结 构,每个单元的位数是固定的。 5151/77/77 1.4 计算机系统结构的发展 指令的执行是顺序的。 q一般是按照指令在存储器

45、中存放的顺序执行。一般是按照指令在存储器中存放的顺序执行。 q程序的分支由转移指令实现。程序的分支由转移指令实现。 q由指令计数器由指令计数器PCPC指明当前正在执行的指令在存储器指明当前正在执行的指令在存储器 中的地址。中的地址。 指令由操作码和地址码组成。 指令和数据均以二进制编码表示,采用二进制运算。 5252/77/77 1.4 计算机系统结构的发展 1. 对系统结构进行的改进 输入/输出方式的改进 采用并行处理技术 q如何挖掘传统机器中的并行性?如何挖掘传统机器中的并行性? q在不同的级别采用并行技术。在不同的级别采用并行技术。 例如,微操作级、指令级、线程级、进程级、任务级等。例如

46、,微操作级、指令级、线程级、进程级、任务级等。 程序控制程序控制 输入输出方式输入输出方式 DMA I/O 处理机处理机 程序等待程序等待 程序中断程序中断 成组传递成组传递 周期挪用周期挪用 通道通道 外围处理机外围处理机 5353/77/77 1.4 计算机系统结构的发展 存储器组织结构的发展 q相联存储器与相联处理机相联存储器与相联处理机 q通用寄存器组通用寄存器组 q高速缓冲存储器高速缓冲存储器CacheCache 指令集的发展 两个发展方向: q复杂指令集计算机(复杂指令集计算机(CISCCISC) q精减指令集计算机(精减指令集计算机(RISCRISC) 5454/77/77 1.

47、4 计算机系统结构的发展 软件的可移植性:一个软件可以不经修改或者只 需少量修改就可以由一台计算机移植到另一台计 算机上正确地运行。差别只是执行时间的不同。 我们称这两台计算机是软件兼容的。 实现可移植性的常用方法 采用系列机,模拟与仿真,统一高级语言采用系列机,模拟与仿真,统一高级语言 。 1.4.2 软件对系统结构的影响 5555/77/77 1. 系列机 由同一厂家生产的具有相同的系统结构,但具 有不同组成和实现的一系列不同型号的机器。 q较好地解决软件开发要求系统结构相对稳定与器较好地解决软件开发要求系统结构相对稳定与器 件、硬件技术迅速发展的矛盾。件、硬件技术迅速发展的矛盾。 软件兼

48、容 时间时间 机器档次机器档次 高高 低低 向上兼容向上兼容 向下兼容向下兼容 向前兼容向前兼容 向后兼容向后兼容 当前机器当前机器 1.4 计算机系统结构的发展 5656/77/77 1.4 计算机系统结构的发展 q向上(下)兼容:向上(下)兼容:按某档机器编制的程序,不加修改按某档机器编制的程序,不加修改 就能运行于比它高(低)档的机器。就能运行于比它高(低)档的机器。 q向前(后)兼容:向前(后)兼容:按某个时期投入市场的某种型号机按某个时期投入市场的某种型号机 器编制的程序,不加修改地就能运行于在它之前器编制的程序,不加修改地就能运行于在它之前 (后)投入市场的机器。(后)投入市场的机

49、器。 向后兼容是系列机的根本特征。 兼容机:由不同公司厂家生产的具有相同系统结 构的计算机 。 5757/77/77 1.4 计算机系统结构的发展 1. 模拟和仿真 使软件能在具有不同系统结构的机器之间相互移植。 q在一种系统结构上实现另一种系统结构。在一种系统结构上实现另一种系统结构。 q从指令集的角度来看,就是要在一种机器上实现从指令集的角度来看,就是要在一种机器上实现 另一种机器的指令集。另一种机器的指令集。 模拟:用软件的方法在一台现有的机器(称为宿主机) 上实现另一台机器(称为虚拟机)的指令集。 q通常用解释的方法来实现。通常用解释的方法来实现。 q运行速度较慢,性能较差。运行速度较

50、慢,性能较差。 5858/77/77 1.4 计算机系统结构的发展 仿真:用一台现有机器(宿主机)上的微程序 去解释实现另一台机器(目标机)的指令集。 q运行速度比模拟方法的快运行速度比模拟方法的快 q仿真只能在系统结构差距不大的机器之间使用仿真只能在系统结构差距不大的机器之间使用 1. 统一高级语言 实现软件移植的一种理想的方法 较难实现 5959/77/77 1.4 计算机系统结构的发展 1. 摩尔定律 集成电路芯片上所集成的晶体管数目每隔18个 月就翻一番。 2. 计算机的分代主要以器件作为划分标准。 它们在器件、系统结构和软件技术等方面都有各 自的特征。 SMP:对称式共享存储器多处理

51、机 MPP:大规模并行处理机 1.4.3 器件发展对系统结构的影响 分代 器件特征 结构特征 软件特征 典型实例 第一代第一代 (1945195419451954年)年) 电子管和继电器电子管和继电器 存储程序计算机存储程序计算机 程序控制程序控制I/O I/O 机器语言机器语言 汇编语言汇编语言 普林斯顿普林斯顿ISAISA, ENIACENIAC,IBM 701 IBM 701 第二代第二代 (1955196419551964年)年) 晶体管、磁芯晶体管、磁芯 印刷电路印刷电路 浮点数据表示浮点数据表示 寻址技术寻址技术 中断、中断、I/OI/O处理机处理机 高级语言和编译高级语言和编译

52、批处理监控系统批处理监控系统 Univac LAPCUnivac LAPC, CDC 1604CDC 1604, IBM 7030 IBM 7030 第三代第三代 (1965197419651974年)年) SSISSI和和MSIMSI 多层印刷电路多层印刷电路 微程序微程序 流水线、流水线、CacheCache 先行处理先行处理 系列机系列机 多道程序多道程序 分时操作系统分时操作系统 IBM 360/370IBM 360/370, CDC 6600/7600CDC 6600/7600, DEC PDP-8 DEC PDP-8 第四代第四代 (1975199019751990年)年) LSI

53、LSI和和VLSIVLSI 半导体存储器半导体存储器 向量处理向量处理 分布式存储器分布式存储器 并行与分布处理并行与分布处理 Cray-1Cray-1,IBM IBM 30903090,DEC VAX DEC VAX 90009000,Convax-1Convax-1 第五代第五代 (19911991年年) 高性能微处理器高性能微处理器 高密度电路高密度电路 超标量、超流水超标量、超流水 SMPSMP、MPMP、MPPMPP 机群机群 大规模、可扩展大规模、可扩展 并行与分布处理并行与分布处理 SGI Cray T3ESGI Cray T3E, IBM SP2IBM SP2,DECDEC A

54、lphaServerAlphaServer 8400 8400 6161/77/77 1.4 计算机系统结构的发展 1. 不同的应用对计算机系统结构的设计提出了不同的要求 2. 应用需求是促使计算机系统结构发展的最根本的动力 3. 一些特殊领域:需要高性能的系统结构 高结构化的数值计算 气象模型、流体动力学、有限元分析气象模型、流体动力学、有限元分析 非结构化的数值计算 蒙特卡洛模拟、稀疏矩阵蒙特卡洛模拟、稀疏矩阵 实时多因素问题 语音识别、图像处理、计算机视觉语音识别、图像处理、计算机视觉 1.4.4 应用对系统结构的影响 6262/77/77 1.4 计算机系统结构的发展 大存储容量和输入

55、输出密集的问题 数据库系统、事务处理系统数据库系统、事务处理系统 图形学和设计问题 计算机辅助设计计算机辅助设计 人工智能 面向知识的系统、推理系统等面向知识的系统、推理系统等 1. 计算机性能随时间下移 6363/77/77 1.4 计算机系统结构的发展 1. 系统结构的生命周期:从诞生、发展、成熟到消亡 从硬件成熟到系统软件成熟大约需要57年的时间 从系统软件成熟到应用软件成熟,大约也需要57 年时间。 再过57年的时间,这种系统结构就不会作为主流 系统结构存在了。 2. Intel的x86系列微处理器中32位系统结构的发展 1.4.5 系统结构的生命周期 6464/77/77 1.4 计

56、算机系统结构的发展 硬硬件件 系系统统软软件件 应应用用软软件件 57年年 57年年 一一般般发发展展 80386:1985 Windows32:1992 Windows 98 普普及及: 1998 32位位x86(IA-32) Iantium:2003 IA-64系系统统软软件件:? IA-64应应用用:? IA-64 消消亡亡 57年年 64位位x86出出现现:2003 6565/77/77 1. 并行性:计算机系统在同一时刻或者同一时间间隔内 进行多种运算或操作。 只要在时间上相互重叠,就存在并行性。只要在时间上相互重叠,就存在并行性。 同时性:两个或两个以上的事件在同一时刻发生。 并发

57、性:两个或两个以上的事件在同一时间间隔 内发生。 1.5 计算机系统结构中并行性的发展 1.5.1 并行性的概念 6666/77/77 1.5 计算机系统结构中并行性的发展 1. 从处理数据的角度来看,并行性等级从低到高可分为: 字串位串:每次只对一个字的一位进行处理。 最基本的串行处理方式,不存在并行性。最基本的串行处理方式,不存在并行性。 字串位并:同时对一个字的全部位进行处理,不 同字之间是串行的。 开始出现并行性。开始出现并行性。 字并位串:同时对许多字的同一位(称为位片) 进行处理。 具有较高的并行性。具有较高的并行性。 全并行:同时对许多字的全部位或部分位进行处理。 最高一级的并行

58、。最高一级的并行。 6767/77/77 1.5 计算机系统结构中并行性的发展 1. 从执行程序的角度来看,并行性等级从低到高可分为: 指令内部并行:单条指令中各微操作之间的并行。 指令级并行:并行执行两条或两条以上的指令。 线程级并行:并行执行两个或两个以上的线程。 通常是以一个进程内派生的多个线程为调度单位。通常是以一个进程内派生的多个线程为调度单位。 任务级或过程级并行:并行执行两个或两个以上 的过程或任务(程序段) 以子程序或进程为调度单元。以子程序或进程为调度单元。 作业或程序级并行:并行执行两个或两个以上的 作业或程序。 6868/77/77 1.5 计算机系统结构中并行性的发展

59、三种途径: 1. 时间重叠 引入时间因素,让多个处理过程在时间上相 互错开,轮流重叠地使用同一套硬件设备的各个 部分,以加快硬件周转而赢得速度。 2. 资源重复 引入空间因素,以数量取胜。通过重复设置 硬件资源,大幅度地提高计算机系统的性能。 1.5.2 提高并行性的技术途径 6969/77/77 1.5 计算机系统结构中并行性的发展 1. 资源共享 这是一种软件方法,它使多个任务按一定时间 顺序轮流使用同一套硬件设备。 7070/77/77 1.5 计算机系统结构中并行性的发展 1. 在发展高性能单处理机过程中,起主导作用的是时间 重叠原理。 实现时间重叠的基础:部件功能专用化 q把一件工作按功能分割为若干相互联系的部分;把一件工作按功能分割为若干相互联系的部分; q把每一部分指定给专门的部件完成;把每一部分指定给专门的部件完成; q按时间重叠原理把各部分的执行过程在时间上按时间重叠原理把各部分的执行过程在时间上 重叠起来,使所有部件依次分工完成一组同样的工作。重叠起来,使所有部件依次分工完成一组同样的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论