计算机体系结构(张晨曦)第1章_PPT_第1页
计算机体系结构(张晨曦)第1章_PPT_第2页
计算机体系结构(张晨曦)第1章_PPT_第3页
计算机体系结构(张晨曦)第1章_PPT_第4页
计算机体系结构(张晨曦)第1章_PPT_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、高缓慢。 6 6/77/771.1 引言系统结构的重大转折: 从单纯依靠指令级并行转向开发线程级并行和数从单纯依靠指令级并行转向开发线程级并行和数据级并行。据级并行。 计算机系统结构在计算机的发展中有着极其重要计算机系统结构在计算机的发展中有着极其重要的作用。的作用。7 7/77/771. 计算机系统硬件/固件软件2. 计算机语言从低级向高级发展 高一级语言的语句相对于低一级语言来说功能更强,高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。更便于应用,但又都以低级语言为基础。 3. 从计算机语言的角度,把计算机系统按功能划分成 多级层次结构。 每一层以一种语言

4、为特征 1.2 计算机系统结构的概念1.2.1 计算机系统的层次结构 第第 6 级级:应应用用语语言言虚虚拟拟机机 第第 5 级级:高高级级语语言言虚虚拟拟机机 第第 4 级级:汇汇编编语语言言虚虚拟拟机机 第第 3 3 级级:操操作作系系统统虚虚拟拟机机 第第 2 2 级级:机机器器语语言言( (传传统统机机器器级级) ) 第第 1 1 级级:微微程程序序机机器器级级 软件软件硬件或固件硬件或固件9 9/77/771.2 计算机系统结构的概念 虚拟机:由软件实现的机器 语言实现的两种基本技术q翻译:翻译:先把先把N N+1+1级程序全部转换成级程序全部转换成N N级程序后,再去执级程序后,再

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

6、到的计算机具有不同的属性。3. 透明性在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。1.2.2 计算机系统结构的定义1111/77/771.2 计算机系统结构的概念4. Amdahl提出的系统结构 传统机器语言级程序员所看到的计算机属性。5. 广义的系统结构定义:指令集结构、组成、硬件 (计算机设计的(计算机设计的3 3个方面)个方面)6. 对于通用寄存器型机器来说,这些属性主要是指:指令系统 包括机器指令的操作类型和格式、指令间的包括机器指令的操作类型和格式、指令间的排序和控制机构等。排序和控制机构等。数据表示 硬件能直接识别和处理的数据类型。硬件能

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

8、71.2 计算机系统结构的概念I/O结构包括包括I/OI/O连结方式、处理机连结方式、处理机/ /存储器与存储器与I/OI/O设备之间设备之间数据传送的方式和格式以及数据传送的方式和格式以及I/OI/O操作的状态等操作的状态等计算机系统结构概念的实质: 确定计算机系统中软、硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能。1.2.3 计算机组成和计算机实现1. 计算机系统结构:计算机系统的软、硬件的界面即机器语言程序员所看到的传统机器级所具有的属性。 1414/77/771.2 计算机系统结构的概念2. 计算机组成:计算机系统结构的逻辑实现包含物理机器级中的数据流和控制流的

9、组成以及 逻辑设计等。着眼于:物理机器级内各事件的排序方式与控制 方式、各部件的功能以及各部件之间的联系。3. 计算机实现:计算机组成的物理实现包括处理机、主存等部件的物理结构,器件的集 成度和速度,模块、插件、底板的划分与连接, 信号传输,电源、冷却及整机装配技术等。着眼于:器件技术(起主导作用)、微组装技术。1515/77/771.2 计算机系统结构的概念 一种体系结构可以有多种组成。 一种组成可以有多种物理实现。4. 系列机 由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 例如,例如,IBMIBM公司的公司的IBM 370IBM 370系列,系列,Int

10、elIntel公司的公司的x86x86系列等。系列等。1.2.4 计算机系统结构的分类常见的计算机系统结构分类法有两种: Flynn分类法、冯氏分类法1616/77/771.2 计算机系统结构的概念1. 冯氏分类法用系统的最大并行度对计算机进行分类。最大并行度:计算机系统在单位时间内能够处理 的最大的二进制位数。 用平面直角坐标系中的一个点代表一个计算机系用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(统,其横坐标表示字宽(n n位位),纵坐标表示一次能同),纵坐标表示一次能同时处理的字数(时处理的字数(m m字字)。)。m mn n就表示了其最大并行度。就表示了其最大并行度。

11、 2. Flynn分类法 按照指令流和数据流的多倍性进行分类。指令流:计算机执行的指令序列。1717/77/771.2 计算机系统结构的概念数据流:由指令流调用的数据序列。多倍性:在系统受限的部件上,同时处于同一执 行阶段的指令或数据的最大数目。Flynn分类法把计算机系统的结构分为4类:q 单指令流单数据流单指令流单数据流(SISD)(SISD)q 单指令流多数据流单指令流多数据流(SIMD)(SIMD)q 多指令流单数据流多指令流单数据流(MISD)(MISD)q 多指令流多数据流多指令流多数据流(MIMD)(MIMD)4类计算机的基本结构ISIS:指令流,:指令流,DSDS:数据流,:数

12、据流,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 ISn SM DS (c)MISD 计计算算机机 DS1 DS2 DSn MM1 MM2 MMm SM IS1 IS2 ISn (d)MIMD 计计算算机机 (a)SISD 计计算算机机 MM1 MM2 MMm SM

13、 CU DS1 DS2 DSn IS (b)SIMD 计计算算机机 CS DS 1919/77/774个定量原理:1. 以经常性事件为重点对经常发生的情况采用优化方法的原则进行选 择,以得到更多的总体上的改进。优化是指分配更多的资源、达到更高的性能或 者分配更多的电能等。 1.3 定量分析技术1.3.1 计算机系统设计的定量原理2020/77/771.3 定量分析技术2. Amdahl定律 加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。系统性能加速比:加速比系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后 2121/77/771.3

14、定量分析技术加速比依赖于两个因素q可改进比例:可改进比例:在改进前的系统中,可改进部分的执在改进前的系统中,可改进部分的执 行时间在总的执行时间中所占的比例。行时间在总的执行时间中所占的比例。 它总是小于等于它总是小于等于1 1。例如:例如:一个需运行一个需运行6060秒的程序中有秒的程序中有2020秒的运算可以加速,秒的运算可以加速, 那么这个比例就是那么这个比例就是20/6020/60。q部件加速比:部件加速比:可改进部分改进以后性能提高的倍数。可改进部分改进以后性能提高的倍数。 它是改进前所需的执行时间与改进后执行时间的比。它是改进前所需的执行时间与改进后执行时间的比。 一般情况下部件加

15、速比是大于一般情况下部件加速比是大于1 1的。的。例如:例如:若系统改进后,可改进部分的执行时间是若系统改进后,可改进部分的执行时间是2 2秒,秒, 而改进前其执行时间为而改进前其执行时间为5 5秒,则部件加速比为秒,则部件加速比为5/25/2。2222/77/771.3 定量分析技术改进后程序的总执行时间总执行时间改进后 不可改进部分的执行时间 可改进部分改进后的执行时间总执行时间改进后 (1可改进比例)总执行时间改进前 + (1 可改进比例) + 总执行时间改进前 可改进比例部件加速比可改进比例总执行时间改进前部件加速比2323/77/771.3 定量分析技术系统加速比为改进前与改进后总执

16、行时间之比加速比 总执行时间改进前总执行时间改进后 (1可改进比例)+可改进比例部件加速比12424/77/771.3 定量分析技术 例例1.1 1.1 将计算机系统中某一功能的处理速度提高到原来的将计算机系统中某一功能的处理速度提高到原来的2020倍,但该功能的处理时间仅占整个系统运行时间的倍,但该功能的处理时间仅占整个系统运行时间的40%40%,则采,则采用此提高性能的方法后,能使整个系统的性能提高多少?用此提高性能的方法后,能使整个系统的性能提高多少? 解解 由题可知,可改进比例由题可知,可改进比例 = 40% = 0.4= 40% = 0.4, 部件加速比部件加速比 = 20= 20

17、根据根据AmdahlAmdahl定律可知:定律可知: 采用此提高性能的方法后,能使整个系统的性能提高到原采用此提高性能的方法后,能使整个系统的性能提高到原来的来的1.6131.613倍倍。 总加速比 = 10.6 +0.420= 1.6132525/77/771.3 定量分析技术 例例1.2 1.2 某计算机系统采用浮点运算部件后,使浮点运算速某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的度提高到原来的2020倍,而系统运行某一程序的整体性能提高到倍,而系统运行某一程序的整体性能提高到原来的原来的5 5倍,试计算该程序中浮点操作所占的比例。倍,试计算该程序中浮点操作所占的比例。 解

18、解 由题可知,部件加速比由题可知,部件加速比 = 20= 20,系统加速比,系统加速比 = 5= 5 根据根据AmdahlAmdahl定律可知定律可知 由此可得:可改进比例由此可得:可改进比例 = 84.2% = 84.2% 即程序中浮点操作所占的比例为即程序中浮点操作所占的比例为84.2%84.2%。20115可改进比例可改进比例 2626/77/771.3 定量分析技术Amdahl定律:一种性能改进的递减规则q如果仅仅对计算任务中的一部分做性能改进,则改如果仅仅对计算任务中的一部分做性能改进,则改 进得越多,所得到的总体性能的提升就越有限。进得越多,所得到的总体性能的提升就越有限。重要推论

19、:如果只针对整个任务的一部分进行改 进和优化,那么所获得的加速比不超过 1/(1可改进比例) 2727/77/771.3 定量分析技术3. CPU性能公式执行一个程序所需的CPU时间CPU时间 = 执行程序所需的时钟周期数时钟周期时间其中,时钟周期时间是系统时钟频率的倒数。每条指令执行的平均时钟周期数CPI (Cycles Per InstructionCycles Per Instruction) CPI = 执行程序所需的时钟周期数IC ICIC:所执行的指令条数所执行的指令条数程序执行的CPU时间可以写成 CPU时间 = IC CPI 时钟周期时间 2828/77/771.3 定量分析技

20、术CPU的性能取决于3个参数q时钟周期时间:时钟周期时间:取决于硬件实现技术和计算机组成。取决于硬件实现技术和计算机组成。qCPICPI:取决于计算机组成和指令集结构。取决于计算机组成和指令集结构。qICIC:取决于指令集结构和编译技术。取决于指令集结构和编译技术。对CPU性能公式进行进一步细化 假设:计算机系统有假设:计算机系统有n n种指令;种指令; CPICPIi i :第第i i种指令的处理时间;种指令的处理时间; ICICi i :在程序中第在程序中第i i种指令出现的次数;种指令出现的次数;则则 CPUCPU时钟周期数时钟周期数 = = (CPI (CPIi i IC ICi i)

21、 )n ni i=1=12929/77/771.3 定量分析技术CPU时间 = 执行程序所需的时钟周期数时钟周期时间 = (CPIiICi)时钟周期时间CPI可以表示为CPI = = = 其中,(ICi/IC)反映了第i种指令在程序中所占的比例。 i=1n时钟周期数IC(CPIiICi)i=1nIC(CPIi )i=1nICiIC3030/77/771.3 定量分析技术 例例1.3 1.3 考虑条件分支指令的两种不同设计方法:考虑条件分支指令的两种不同设计方法: (1 1)CPUCPUA A:通过比较指令设置条件码,然后测试条件码进行通过比较指令设置条件码,然后测试条件码进行分支。分支。 (2

22、 2)CPUCPUB B:在分支指令中包括比较过程。在分支指令中包括比较过程。 在这两种在这两种CPUCPU中,条件分支指令都占用中,条件分支指令都占用2 2个时钟周期,而所有个时钟周期,而所有其他指令占用其他指令占用1 1个时钟周期。对于个时钟周期。对于CPUCPUA A,执行的指令中分支指令占,执行的指令中分支指令占20%20%;由于每条分支指令之前都需要有比较指令,因此比较指令也;由于每条分支指令之前都需要有比较指令,因此比较指令也占占20%20%。由于。由于CPUCPUA A在分支时不需要比较,因此在分支时不需要比较,因此CPUCPUB B的时钟周期时间的时钟周期时间是是CPUCPUA

23、 A的的1.251.25倍。问:哪一个倍。问:哪一个CPUCPU更快?如果更快?如果CPUCPUB B的时钟周期时间的时钟周期时间只是只是CPUCPUA A的的1.11.1倍,哪一个倍,哪一个CPUCPU更快呢?更快呢?3131/77/771.3 定量分析技术 解解 我们不考虑所有系统问题,所以可用我们不考虑所有系统问题,所以可用CPUCPU性能公式。占用性能公式。占用2 2个时钟个时钟周期的分支指令占总指令的周期的分支指令占总指令的20%20%,剩下的指令占用,剩下的指令占用1 1个时钟周期。个时钟周期。所以所以 CPICPIA A = 0.2 = 0.2 2 + 0.80 2 + 0.80

24、 1 = 1.2 1 = 1.2则则CPUCPUA A性能为性能为 总总CPUCPU时间时间A A = IC = ICA A 1.2 1.2 时钟周期时钟周期A A根据假设,有根据假设,有 时钟周期时钟周期B B = 1.25 = 1.25 时钟周期时钟周期A A 在在CPUCPUB B中没有独立的比较指令,所以中没有独立的比较指令,所以CPUCPUB B的程序量为的程序量为CPUCPUA A的的80%80%,分支指令的比例为,分支指令的比例为3232/77/771.3 定量分析技术 20%/80% = 25%20%/80% = 25% 这些分支指令占用这些分支指令占用2 2个时钟周期,而剩下

25、的个时钟周期,而剩下的75%75%的指令占用的指令占用1 1个时钟个时钟周期,因此周期,因此 CPICPIB B = 0.25 = 0.25 2 + 0.75 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.2

26、5 ICICA A 时钟周期时钟周期A A3333/77/771.3 定量分析技术 在这些假设之下,尽管在这些假设之下,尽管CPUCPUB B执行指令条数较少,执行指令条数较少,CPUCPUA A因为有着更因为有着更短的时钟周期,所以比短的时钟周期,所以比CPUCPUB B快。快。 如果如果CPUCPUB B的时钟周期时间仅仅是的时钟周期时间仅仅是CPUCPUA A的的1.11.1倍,则倍,则 时钟周期时钟周期B B = 1.10 = 1.10 时钟周期时钟周期A ACPUCPUB B的性能为的性能为 总总CPUCPU时间时间B B = IC = ICB B CPICPIB B 时钟周期时钟周

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

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

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

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

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

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

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

34、个程序个程序SPEC2000SPEC2000:2626个程序个程序SPEC CPU2006SPEC CPU2006: 2929个程序个程序qSPEC CPU2006SPEC CPU20064242/77/771.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个是用个是用C C和和FORTRAN

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

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

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

38、tent Creation Winstone 2004:主要用主要用于测试计算机系统多媒体应用的综合性能。于测试计算机系统多媒体应用的综合性能。qSiSoft Sandra Pro 2004SiSoft Sandra Pro 2004:一套功能强大的系统分析一套功能强大的系统分析评比工具,拥有超过评比工具,拥有超过3030种以上的分析与测试模块。种以上的分析与测试模块。 主要包括:主要包括:CPUCPU、存储器、存储器、I/OI/O接口、接口、I/OI/O设备、主板等。设备、主板等。 3. 性能比较A机 B机 C机 W(1) W(2) W(3) 程序程序1 1 1.00 1.00 10.00

39、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.00加权算术加权算术平均值平均值A Am m(3 3) 2.00 2.00 10.00 10.0

40、0 20.0020.00两个程序在A、B、C三台计算机上的执行时间4646/77/771.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倍倍qB B机机的速度是的速度是C C机机的的2 2倍倍4747/77/771.3 定量分析技术总执行时间:计算机执行所有测试程序的

41、总时间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:测试程序组中程序的个数:测试程序组中程序的个数 niimTnS114848/77/771.3 定量分析技术加权执行时间:各测试程序执行时间的加权平均值其中,其中

42、,W Wi i:第:第i i个测试程序在测试程序组中所占的比重个测试程序在测试程序组中所占的比重 T Ti i:该程序的执行时间:该程序的执行时间niiimTWA111niiW4949/77/771.4 计算机系统结构的发展1.4.1 冯诺依曼结构 运算器 (ALU) 控制器 存储器 数数据据流流 控控制制流流 输输入入 指指令令流流 输入 设备 输输出出 输出 设备 存储程序计算机的结构存储程序计算机的结构 5050/77/771.4 计算机系统结构的发展1. 存储程序原理的基本点:指令驱动程序预先存放在计算机存储器中,计算机一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所

43、描述的处理工作。2. 冯诺依曼结构的主要特点以运算器为中心。在存储器中,指令和数据同等对待。 指令和数据一样可以进行运算,即由指令组成的程指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。序是可以修改的。存储器是按地址访问、按顺序线性编址的一维结 构,每个单元的位数是固定的。5151/77/771.4 计算机系统结构的发展指令的执行是顺序的。q一般是按照指令在存储器中存放的顺序执行。一般是按照指令在存储器中存放的顺序执行。q程序的分支由转移指令实现。程序的分支由转移指令实现。q由指令计数器由指令计数器PCPC指明当前正在执行的指令在存储器指明当前正在执行的指令在存储器 中的地址。中的

44、地址。指令由操作码和地址码组成。指令和数据均以二进制编码表示,采用二进制运算。5252/77/771.4 计算机系统结构的发展3. 对系统结构进行的改进输入/输出方式的改进采用并行处理技术 q如何挖掘传统机器中的并行性?如何挖掘传统机器中的并行性?q在不同的级别采用并行技术。在不同的级别采用并行技术。 例如,微操作级、指令级、线程级、进程级、任务级等。例如,微操作级、指令级、线程级、进程级、任务级等。 程序控制程序控制 输入输出方式输入输出方式 DMA I/O 处理机处理机 程序等待程序等待 程序中断程序中断 成组传递成组传递 周期挪用周期挪用 通道通道 外围处理机外围处理机 5353/77/

45、771.4 计算机系统结构的发展存储器组织结构的发展q相联存储器与相联处理机相联存储器与相联处理机q通用寄存器组通用寄存器组q高速缓冲存储器高速缓冲存储器CacheCache指令集的发展 两个发展方向:q复杂指令集计算机(复杂指令集计算机(CISCCISC)q精减指令集计算机(精减指令集计算机(RISCRISC)5454/77/771.4 计算机系统结构的发展软件的可移植性:一个软件可以不经修改或者只 需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差别只是执行时间的不同。 我们称这两台计算机是软件兼容的。实现可移植性的常用方法 采用系列机,模拟与仿真,统一高级语言采用系列机,模拟

46、与仿真,统一高级语言 。1.4.2 软件对系统结构的影响 5555/77/771. 系列机 由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。q较好地解决软件开发要求系统结构相对稳定与器较好地解决软件开发要求系统结构相对稳定与器 件、硬件技术迅速发展的矛盾。件、硬件技术迅速发展的矛盾。软件兼容 时间时间 机器档次机器档次 高高 低低 向上兼容向上兼容 向下兼容向下兼容 向前兼容向前兼容 向后兼容向后兼容 当前机器当前机器 1.4 计算机系统结构的发展5656/77/771.4 计算机系统结构的发展q向上(下)兼容:向上(下)兼容:按某档机器编制的程序,不加修改按某

47、档机器编制的程序,不加修改 就能运行于比它高(低)档的机器。就能运行于比它高(低)档的机器。q向前(后)兼容:向前(后)兼容:按某个时期投入市场的某种型号机按某个时期投入市场的某种型号机 器编制的程序,不加修改地就能运行于在它之前器编制的程序,不加修改地就能运行于在它之前 (后)投入市场的机器。(后)投入市场的机器。 向后兼容是系列机的根本特征。兼容机:由不同公司厂家生产的具有相同系统结 构的计算机 。5757/77/771.4 计算机系统结构的发展2. 模拟和仿真使软件能在具有不同系统结构的机器之间相互移植。q在一种系统结构上实现另一种系统结构。在一种系统结构上实现另一种系统结构。q从指令集

48、的角度来看,就是要在一种机器上实现从指令集的角度来看,就是要在一种机器上实现 另一种机器的指令集。另一种机器的指令集。模拟:用软件的方法在一台现有的机器(称为宿主机)上实现另一台机器(称为虚拟机)的指令集。q通常用解释的方法来实现。通常用解释的方法来实现。q运行速度较慢,性能较差。运行速度较慢,性能较差。5858/77/771.4 计算机系统结构的发展仿真:用一台现有机器(宿主机)上的微程序 去解释实现另一台机器(目标机)的指令集。q运行速度比模拟方法的快运行速度比模拟方法的快q仿真只能在系统结构差距不大的机器之间使用仿真只能在系统结构差距不大的机器之间使用3. 统一高级语言 实现软件移植的一

49、种理想的方法较难实现5959/77/771.4 计算机系统结构的发展1. 摩尔定律 集成电路芯片上所集成的晶体管数目每隔18个月就翻一番。2. 计算机的分代主要以器件作为划分标准。它们在器件、系统结构和软件技术等方面都有各 自的特征。SMP:对称式共享存储器多处理机 MPP:大规模并行处理机 1.4.3 器件发展对系统结构的影响 分代 器件特征 结构特征 软件特征 典型实例 第一代第一代(1945195419451954年)年) 电子管和继电器电子管和继电器 存储程序计算机存储程序计算机程序控制程序控制I/O I/O 机器语言机器语言汇编语言汇编语言 普林斯顿普林斯顿ISAISA,ENIACE

50、NIAC,IBM 701 IBM 701 第二代第二代(1955196419551964年)年) 晶体管、磁芯晶体管、磁芯印刷电路印刷电路 浮点数据表示浮点数据表示寻址技术寻址技术中断、中断、I/OI/O处理机处理机 高级语言和编译高级语言和编译批处理监控系统批处理监控系统 Univac LAPCUnivac LAPC,CDC 1604CDC 1604,IBM 7030 IBM 7030 第三代第三代(1965197419651974年)年) SSISSI和和MSIMSI多层印刷电路多层印刷电路微程序微程序 流水线、流水线、CacheCache先行处理先行处理系列机系列机 多道程序多道程序分时

51、操作系统分时操作系统 IBM 360/370IBM 360/370,CDC 6600/7600CDC 6600/7600,DEC PDP-8 DEC PDP-8 第四代第四代(1975199019751990年)年) LSILSI和和VLSIVLSI半导体存储器半导体存储器 向量处理向量处理分布式存储器分布式存储器 并行与分布处理并行与分布处理 Cray-1Cray-1,IBM IBM 30903090,DEC VAX DEC VAX 90009000,Convax-1Convax-1第五代第五代(19911991年年) 高性能微处理器高性能微处理器高密度电路高密度电路超标量、超流水超标量、超

52、流水SMPSMP、MPMP、MPPMPP机群机群 大规模、可扩展大规模、可扩展并行与分布处理并行与分布处理 SGI Cray T3ESGI Cray T3E,IBM SP2IBM SP2,DECDECAlphaServer AlphaServer 8400 8400 6161/77/771.4 计算机系统结构的发展1. 不同的应用对计算机系统结构的设计提出了不同的要求2. 应用需求是促使计算机系统结构发展的最根本的动力3. 一些特殊领域:需要高性能的系统结构 高结构化的数值计算气象模型、流体动力学、有限元分析气象模型、流体动力学、有限元分析非结构化的数值计算蒙特卡洛模拟、稀疏矩阵蒙特卡洛模拟、

53、稀疏矩阵实时多因素问题语音识别、图像处理、计算机视觉语音识别、图像处理、计算机视觉1.4.4 应用对系统结构的影响 6262/77/771.4 计算机系统结构的发展大存储容量和输入输出密集的问题数据库系统、事务处理系统数据库系统、事务处理系统图形学和设计问题计算机辅助设计计算机辅助设计人工智能面向知识的系统、推理系统等面向知识的系统、推理系统等4. 计算机性能随时间下移 6363/77/771.4 计算机系统结构的发展1. 系统结构的生命周期:从诞生、发展、成熟到消亡从硬件成熟到系统软件成熟大约需要57年的时间从系统软件成熟到应用软件成熟,大约也需要57年时间。再过57年的时间,这种系统结构就

54、不会作为主流系统结构存在了。2. Intel的x86系列微处理器中32位系统结构的发展1.4.5 系统结构的生命周期 6464/77/771.4 计算机系统结构的发展 硬硬件件 系系统统软软件件 应应用用软软件件 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/771. 并行性:计算机系统在同一时刻或者同一时间间隔内

55、进行多种运算或操作。只要在时间上相互重叠,就存在并行性。只要在时间上相互重叠,就存在并行性。同时性:两个或两个以上的事件在同一时刻发生。并发性:两个或两个以上的事件在同一时间间隔 内发生。 1.5 计算机系统结构中并行性的发展1.5.1 并行性的概念 6666/77/771.5 计算机系统结构中并行性的发展2. 从处理数据的角度来看,并行性等级从低到高可分为:字串位串:每次只对一个字的一位进行处理。 最基本的串行处理方式,不存在并行性。最基本的串行处理方式,不存在并行性。字串位并:同时对一个字的全部位进行处理,不 同字之间是串行的。 开始出现并行性。开始出现并行性。字并位串:同时对许多字的同一

56、位(称为位片) 进行处理。 具有较高的并行性。具有较高的并行性。全并行:同时对许多字的全部位或部分位进行处理。 最高一级的并行。最高一级的并行。6767/77/771.5 计算机系统结构中并行性的发展3. 从执行程序的角度来看,并行性等级从低到高可分为:指令内部并行:单条指令中各微操作之间的并行。指令级并行:并行执行两条或两条以上的指令。线程级并行:并行执行两个或两个以上的线程。 通常是以一个进程内派生的多个线程为调度单位。通常是以一个进程内派生的多个线程为调度单位。任务级或过程级并行:并行执行两个或两个以上 的过程或任务(程序段) 以子程序或进程为调度单元。以子程序或进程为调度单元。作业或程

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

温馨提示

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

评论

0/150

提交评论