《工学1计算机系统结构的基本知识教学提纲.ppt》由会员分享,可在线阅读,更多相关《工学1计算机系统结构的基本知识教学提纲.ppt(85页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、工学1计算机系统结构的基本知识第一章 计算机系统结构的基本知识n1.1 计算机系统结构的基本概念n1.2 计算机系统的设计n1.3 计算机系统的性能评测n1.4 计算机系统结构的发展n1.5 计算机系统结构中并行性的发展n自第一台通用计算机诞生以来,计算机技术取自第一台通用计算机诞生以来,计算机技术取得飞速发展,这一方面得益于计算机制造技术得飞速发展,这一方面得益于计算机制造技术的发展,另一方面则是计算机系统结构的创新。的发展,另一方面则是计算机系统结构的创新。在计算机开始发展的在计算机开始发展的25年中,两种因素都起着主要年中,两种因素都起着主要作用,使得计算机的性能每年提高约作用,使得计算
2、机的性能每年提高约25%。20世纪世纪70年代末到年代末到80年代初,大规模集成电路和年代初,大规模集成电路和微处理器的出现使计算机性能的年增长率提高到约微处理器的出现使计算机性能的年增长率提高到约35%,主要归功于以集成电路为代表的制造技术的,主要归功于以集成电路为代表的制造技术的发展。发展。1.1 计算机系统结构的基本概念20世纪世纪80年代初年代初RISC结构的出现使得计算机系统结构的出现使得计算机系统结构发生重大变革,从结构发生重大变革,从80年代中期开始,计算机性年代中期开始,计算机性能增长达到了每年能增长达到了每年50%以上。以上。2002年以来,计算机性能的增长率下降到约年以来,
3、计算机性能的增长率下降到约30%。主要原因是:主要原因是:n大功耗问题;大功耗问题;n可以进一步有效地开发的指令级并行性已经很少;可以进一步有效地开发的指令级并行性已经很少;n存储器访问速度的提高缓慢。存储器访问速度的提高缓慢。很多计算机公司放弃高性能单处理机项目,专项多很多计算机公司放弃高性能单处理机项目,专项多核的研发,标志着系统结构从单纯依靠指令级并行核的研发,标志着系统结构从单纯依靠指令级并行转向开发线程级并行和数据级并行。转向开发线程级并行和数据级并行。1.1 计算机系统结构的基本概念1.1.1 计算机系统的层次结构n计算机系统硬件计算机系统硬件/固件软件固件软件n从计算机语言的角度
4、,把计算机系统按功能划分从计算机语言的角度,把计算机系统按功能划分成成多级层次结构多级层次结构。每一层以一种语言为特征每一层以一种语言为特征计算机语言从低级向高级发展,计算机语言从低级向高级发展,高一级语言的语句高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础。又都以低级语言为基础。L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 本级的机器语言是指本级的机器语言是指微指令集微指令集。微程序一般是。微程序一般是直接由直接由硬件解释
5、实现硬件解释实现的,的,因此工作于该级的程序员因此工作于该级的程序员实际上是计算机系统的设实际上是计算机系统的设计人员。计人员。1.1.1 计算机系统的层次结构L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 本级机器语言是本级机器语言是指指令集令集。由微程序解释指。由微程序解释指令集又称作仿真。可以令集又称作仿真。可以通过仿真在一台机器上通过仿真在一台机器上实现多种指令集。实现多种指令集。也可以没有微程序机也可以没有微程序机器级,如器级,如RISCRISC处理器的处理器的指令集全部用硬件直接指令集全部用
6、硬件直接实现以提高指令执行速实现以提高指令执行速度。度。1.1.1 计算机系统的层次结构L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 提供传统机器所没有提供传统机器所没有的的基本操作和数据结构基本操作和数据结构,和传统机器的指令集一起和传统机器的指令集一起提供给更高层次的提供给更高层次的虚拟机虚拟机使用,称为系统功能调用、使用,称为系统功能调用、系统参数。系统参数。1.1.1 计算机系统的层次结构L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级
7、)L1:微程序机器级软件硬/固件 本级的机器语言是本级的机器语言是汇编语言。用汇编语言汇编语言。用汇编语言编写的程序,首先编写的程序,首先翻译翻译成第成第3 3级和第级和第2 2级语言,级语言,然后再由相应的机器执然后再由相应的机器执行。通常的第行。通常的第1 1、2 2和和3 3级级是用是用解释解释方法实现的,方法实现的,而第而第4 4级或更高级则级或更高级则经常经常是用翻译方法实现。是用翻译方法实现。1.1.1 计算机系统的层次结构L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 这一级的机器语言是这
8、一级的机器语言是各种高级语言各种高级语言。用这些。用这些语言所编写的程序一般语言所编写的程序一般是由称为编译程序的是由称为编译程序的翻翻译程序译程序翻译到第翻译到第4 4级或第级或第3 3级上,个别的高级语言级上,个别的高级语言也用解释的方法实现,也用解释的方法实现,如绝大多数如绝大多数BASICBASIC语言系语言系统。统。1.1.1 计算机系统的层次结构L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级软件硬/固件 这一级是为满足某种这一级是为满足某种特殊用途而专门设计的,特殊用途而专门设计的,因此这一级的语言就是
9、因此这一级的语言就是各种面向问题的应用语各种面向问题的应用语言。例如可以设计专门言。例如可以设计专门用于人工智能、教育、用于人工智能、教育、行政管理、计算机设计行政管理、计算机设计等方面的虚拟机。等方面的虚拟机。1.1.1 计算机系统的层次结构n虚拟机:由软件实现的机器,以区别于由硬件虚拟机:由软件实现的机器,以区别于由硬件/固件实现的物理机器。固件实现的物理机器。n语言实现的两种基本技术:语言实现的两种基本技术:翻译:先把翻译:先把N+1N+1级程序全部变换成级程序全部变换成N N级程序后,再级程序后,再去执行新产生的去执行新产生的N N级程序,在执行过程中级程序,在执行过程中N+1N+1级
10、程级程序不再被访问。序不再被访问。解释:每当一条解释:每当一条N+1N+1级指令被译码后,就直接去执级指令被译码后,就直接去执行一串等效的行一串等效的N N级指令,然后再去取下一条级指令,然后再去取下一条N+1N+1级级的指令,依此重复进行。的指令,依此重复进行。解释执行比翻译花的时间多,但存储空间占用较少解释执行比翻译花的时间多,但存储空间占用较少。1.1.1 计算机系统的层次结构1 1、计算机系统结构概念的提出、计算机系统结构概念的提出n6464年年AmdahlAmdahl提出提出:程序员所看到的计算机的属性,即概程序员所看到的计算机的属性,即概念性结构与功能特性。念性结构与功能特性。n分
11、析:分析:(1)按照计算机系统的多级层次结构,不同级程序员所)按照计算机系统的多级层次结构,不同级程序员所看到的同一计算机系统具有不同的属性。看到的同一计算机系统具有不同的属性。(2)不同计算机系统从传统机器级或汇编语言程序员角)不同计算机系统从传统机器级或汇编语言程序员角度看,具有不同属性,但从高级语言程序员角度看,几乎度看,具有不同属性,但从高级语言程序员角度看,几乎没差别,例如没差别,例如C语言程序员。也就是说,传统机器级所存在语言程序员。也就是说,传统机器级所存在的差别对于高级语言程序员来讲是的差别对于高级语言程序员来讲是“看不见看不见”的,此即的,此即“透明性透明性”。1.1.2 计
12、算机系统结构的定义2 2、透明性:在计算机技术中,对这种本来是存、透明性:在计算机技术中,对这种本来是存在的事物或属性,但从某种角度看又好象不在的事物或属性,但从某种角度看又好象不存在的概念称为透明性。存在的概念称为透明性。3 3、计算机系统结构科学定义:机器语言程序员、计算机系统结构科学定义:机器语言程序员或编译程序编写者所看到的计算机的属性,或编译程序编写者所看到的计算机的属性,即概念性结构与功能特性。即概念性结构与功能特性。4 4、计算机系统结构的实质:确定、计算机系统结构的实质:确定 计算机系统中计算机系统中软硬件的交界面,界面之上是软件实现的功软硬件的交界面,界面之上是软件实现的功能
13、,界面之下是硬件和固件实现的功能。能,界面之下是硬件和固件实现的功能。1.1.2 计算机系统结构的定义1、计算机组成:计算机系统结构的逻辑实现n包含物理机器级中的数据流和控制流的组成以及逻包含物理机器级中的数据流和控制流的组成以及逻辑设计等。辑设计等。n着眼于:物理机器级内各事件的排序方式与控制方着眼于:物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的联系。式、各部件的功能以及各部件之间的联系。2、计算机实现:计算机组成的物理实现n包括处理机、主存等部件的物理结构,器件的集成包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号度和速度,模
14、块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。传输,电源、冷却及整机装配技术等。n着眼于:器件技术(起主导作用)、微组装技术。着眼于:器件技术(起主导作用)、微组装技术。1.1.3 计算机组成和计算机实现3、计算机系统结构、组成与实现各自包含不同、计算机系统结构、组成与实现各自包含不同的内容,但又有紧密的关系。的内容,但又有紧密的关系。n一种体系结构可以有多种组成;一种体系结构可以有多种组成;n一种组成可以有多种物理实现。一种组成可以有多种物理实现。计算机系统结构、计算机组成、计算机计算机系统结构、计算机组成、计算机实现的界限模糊。实现的界限模糊。1.1.3 计算机组成和计
15、算机实现n概念举例概念举例确定指令系统中是否有乘法指令属于计算确定指令系统中是否有乘法指令属于计算机系统结构的内容;机系统结构的内容;乘法指令是用乘法器实现还是用加法器经乘法指令是用乘法器实现还是用加法器经多步操作来实现属于计算机组成;多步操作来实现属于计算机组成;乘法器、加法器的物理实现,如器件的选乘法器、加法器的物理实现,如器件的选定及所用的微组装技术等属于计算机实现。定及所用的微组装技术等属于计算机实现。1.1.3 计算机组成和计算机实现一、冯氏分类法1、用系统的最大并行度对计算机进行分类。、用系统的最大并行度对计算机进行分类。2 2、最大并行度:计算机系统在单位时间内能够、最大并行度:
16、计算机系统在单位时间内能够处理的最大的二进制位数。处理的最大的二进制位数。3 3、按冯氏分类法可得出四类不同处理方法的计、按冯氏分类法可得出四类不同处理方法的计算机系统结构算机系统结构:n字串位串字串位串 WSBSn字并位串字并位串 WPBS n字串位并字串位并 WSBP n字并位并字并位并 WPBP1.1.4 计算机系统结构的分类二、Flynn分类法按“流”分类1 1、指令流:机器执行的指令序列。、指令流:机器执行的指令序列。2 2、数据流:由指令流调用的数据序列,包括输入数据和、数据流:由指令流调用的数据序列,包括输入数据和中间结果。中间结果。3 3、多倍性:在系统最受限制的元件上同时处于
17、同一执行、多倍性:在系统最受限制的元件上同时处于同一执行阶段的指令或数据的最大可能个数。阶段的指令或数据的最大可能个数。4 4、按照指令流和数据流的不同组织方式,分为以下四类:、按照指令流和数据流的不同组织方式,分为以下四类:n单指令流单数据流单指令流单数据流 SISD SISD n单指令流多数据流单指令流多数据流 SIMD SIMDn多指令流单数据流多指令流单数据流 MISD MISD n多指令流多数据流多指令流多数据流 MIMD MIMD1.1.4 计算机系统结构的分类n典型的典型的SISD机器:传统的顺序计算机机器:传统的顺序计算机nSISD机器结构机器结构 CU:控制部件:控制部件 I
18、S:指令流:指令流 PU:处理部件:处理部件 DS:数据流:数据流 MU:存储部件:存储部件CUMUPUI/OCSDSIS单指令流单数据流SISDn典型典型SIMDSIMD机器:阵列处理机机器:阵列处理机n在同一控制部件控制下,多个处理部件同时执行在同一控制部件控制下,多个处理部件同时执行同一条指令所规定的操作,分别对各自的数据进同一条指令所规定的操作,分别对各自的数据进行处理。行处理。单指令流多数据流SIMDn多个处理器,对同一数据流进行处理多个处理器,对同一数据流进行处理nMISD只是一种认为的划分,目前没有实际的机只是一种认为的划分,目前没有实际的机器。器。多指令流单数据流MISDn多机
19、系统:多个处理器系统或多计算机系统,多机系统:多个处理器系统或多计算机系统,每个处理机可以独立执行指令和处理数据。一每个处理机可以独立执行指令和处理数据。一般并行计算机大多采用这种结构。般并行计算机大多采用这种结构。多指令流多数据流MIMD1 1、以经常性事件为重点(大概率事件优先原则)、以经常性事件为重点(大概率事件优先原则)n对经常发生的情况采用优化方法的原则,以得对经常发生的情况采用优化方法的原则,以得到更多的总体上的改进。到更多的总体上的改进。n优化是指分配更多的资源、达到更高的性能或优化是指分配更多的资源、达到更高的性能或 者分配更多的电能等。者分配更多的电能等。1.2 计算机系统的
20、设计1.2.1 计算机系统设计的定量原理2 2、AmdahlAmdahl定律定律n加速比(加速比(SpSp)定义:)定义:nAmdahlAmdahl定律:加快某部件执行速度所能获得的定律:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。系统中总执行时间的百分比。加速比系统性能改进后系统性能改进前总执行时间改进前总执行时间改进后 1.2.1 计算机系统设计的定量原理n加速比的大小与两个因素有关加速比的大小与两个因素有关可改进比例(可改进比例(f fe e):在改进前的系统中,可):在改进前的系统中,可改进部分的
21、执行时间在总的执行时间中所占改进部分的执行时间在总的执行时间中所占的比例。它总是小于等于的比例。它总是小于等于1 1。例如:一个需运行例如:一个需运行6060秒的程序中有秒的程序中有2020秒的运算可以秒的运算可以加速,那么这个比例就是加速,那么这个比例就是20/6020/60。1.2.1 计算机系统设计的定量原理n加速比的大小与两个因素有关加速比的大小与两个因素有关部件加速比(部件加速比(r re e):可改进部分改进以后性):可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间能提高的倍数。它是改进前所需的执行时间与改进后执行时间的比。一般情况下部件加与改进后执行时间的比。一般情况下
22、部件加速比是大于速比是大于1 1的。的。例如:若系统改进后,可改进部分的执行时间是例如:若系统改进后,可改进部分的执行时间是2 2秒,秒,而改进前其执行时间为而改进前其执行时间为5 5秒,则部件加速比为秒,则部件加速比为5/25/2。1.2.1 计算机系统设计的定量原理设:改进前系统总执行时间为设:改进前系统总执行时间为To;改进后系统总执行时间为改进后系统总执行时间为Te则:则:1.2.1 计算机系统设计的定量原理系统加速比为改进前与改进后总执行时间之比系统加速比为改进前与改进后总执行时间之比Sp ToTe(1fe)+fere11.2.1 计算机系统设计的定量原理例例1 1 将计算机系统中某
23、一功能的处理速度提高到将计算机系统中某一功能的处理速度提高到原来的原来的2020倍,但该功能的处理时间仅占整个倍,但该功能的处理时间仅占整个系统运行时间的系统运行时间的40%40%,则采用此提高性能的,则采用此提高性能的方法后,能使整个系统的性能提高多少?方法后,能使整个系统的性能提高多少?(1.6131.613)1.2.1 计算机系统设计的定量原理例例2 2 某计算机系统采用浮点运算部件后,使浮点某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的运算速度提高到原来的2020倍,而系统运行某倍,而系统运行某一程序的整体性能提高到原来的一程序的整体性能提高到原来的5 5倍,试计倍,试计算
24、该程序中浮点操作所占的比例。算该程序中浮点操作所占的比例。(84.2%84.2%)1.2.1 计算机系统设计的定量原理nAmdahlAmdahl定律性能增加递减规则:定律性能增加递减规则:如果仅仅对计算机中的一部分做性能改进,如果仅仅对计算机中的一部分做性能改进,则改进越多,系统获得的效果越小。则改进越多,系统获得的效果越小。n推论:推论:如果只针对整个任务的一部分进行优化,那如果只针对整个任务的一部分进行优化,那么所获得的加速比不大于么所获得的加速比不大于1/(1-f1/(1-fe e)。1.2.1 计算机系统设计的定量原理3 3、CPUCPU性能公式性能公式n执行一个程序所需的执行一个程序
25、所需的CPUCPU时间时间 CPUCPU时间时间=执行程序所需的时钟周期数执行程序所需的时钟周期数时钟周期时间时钟周期时间 其中,时钟周期时间是系统时钟频率的倒数。其中,时钟周期时间是系统时钟频率的倒数。n每条指令执行的平均时钟周期数每条指令执行的平均时钟周期数CPICPI CPI=CPI=执行程序所需的时钟周期数执行程序所需的时钟周期数ICIC 其中,其中,ICIC是所执行的指令条数是所执行的指令条数n程序执行的程序执行的CPUCPU时间可以写成时间可以写成 CPUCPU时间时间=IC CPI =IC CPI 时钟周期时间时钟周期时间 1.2.1 计算机系统设计的定量原理nCPUCPU的性能
26、取决于的性能取决于3 3个参数个参数时钟周期时间:取决于硬件实现技术和计算机组成。时钟周期时间:取决于硬件实现技术和计算机组成。CPICPI:取决于计算机组成和指令集结构。:取决于计算机组成和指令集结构。ICIC:取决于指令集结构和编译技术。:取决于指令集结构和编译技术。n对对CPUCPU性能公式进行进一步细化性能公式进行进一步细化 假设:计算机系统有n种指令;CPIi:第i种指令的处理时间;ICi:在程序中第i种指令出现的次数;则 1.2.1 计算机系统设计的定量原理于是CPU性能公式为:CPI可以表示为其中,(ICi/IC)反映了第i种指令在程序中所占的比例。1.2.1 计算机系统设计的定
27、量原理例例3 3 考虑条件分支指令的两种不同设计方法:考虑条件分支指令的两种不同设计方法:1 1)CPUCPUA A:通过比较指令设置条件码,然后测试条件码进行:通过比较指令设置条件码,然后测试条件码进行 分支。分支。2 2)CPUCPUB B:在分支指令中包括比较过程。:在分支指令中包括比较过程。在这两种在这两种CPUCPU中,条件分支指令都占用中,条件分支指令都占用2 2个时钟周期,而个时钟周期,而所有其他指令占用所有其他指令占用1 1个时钟周期。对于个时钟周期。对于CPUCPUA A,执行的指令中分,执行的指令中分支指令占支指令占20%20%;由于每条分支指令之前都需要有比较指令,因;由
28、于每条分支指令之前都需要有比较指令,因此比较指令也占此比较指令也占20%20%。由于。由于CPUCPUA A在分支时不需要比较,因此在分支时不需要比较,因此CPUCPUB B的时钟周期时间是的时钟周期时间是CPUCPUA A的的1.251.25倍。问:哪一个倍。问:哪一个CPUCPU更快?更快?如果如果CPUCPUB B的时钟周期时间只是的时钟周期时间只是CPUCPUA A的的1.11.1倍,哪一个倍,哪一个CPUCPU更快更快呢?呢?1.2.1 计算机系统设计的定量原理4 4、程序的局部性原理、程序的局部性原理n程序的局部性原理:程序执行时所访问的存储器地址程序的局部性原理:程序执行时所访问
29、的存储器地址分布不是随机的,而是相对地簇聚。分布不是随机的,而是相对地簇聚。n经验规则经验规则:程序执行时间的程序执行时间的90%90%都是在执行程序中都是在执行程序中10%10%的代码。的代码。n局部性包括时间局部性和空间局部性局部性包括时间局部性和空间局部性程序的时间局部性程序的时间局部性:程序即将用到的信息很可能程序即将用到的信息很可能就是目前正在使用的信息。就是目前正在使用的信息。程序的空间局部性程序的空间局部性:程序即将用到的信息很可能程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。与目前正在使用的信息在空间上相邻或者临近。1.2.1 计算机系统设计的定量原理n计算
30、机系统设计者的主要任务包括指令系统的设计算机系统设计者的主要任务包括指令系统的设计、数据表示的设计、功能的组织、逻辑设计以计、数据表示的设计、功能的组织、逻辑设计以及其物理实现等。及其物理实现等。n设计一个计算机系统大致要完成三方面的工作:设计一个计算机系统大致要完成三方面的工作:确定用户对计算机系统的功能、价格和性能的要求;确定用户对计算机系统的功能、价格和性能的要求;软硬件功能分配;软硬件功能分配;设计出生命周期长的系统结构。设计出生命周期长的系统结构。1.2.2 计算机系统设计者的主要任务n“由上往下由上往下”(top-down)设计)设计n“由下往上由下往上”(bottom-up)设计
31、)设计n“从中间开始从中间开始”(middle-out)设计)设计1.2.3 计算机系统设计的主要方法1 1、执行时间和吞吐率、执行时间和吞吐率 n如何评测一台计算机的性能,与测试者看问题如何评测一台计算机的性能,与测试者看问题的角度有关。的角度有关。桌面台式机用户关心的是:单个程序的执行时间桌面台式机用户关心的是:单个程序的执行时间(性能好意味着执行单个程序所花的时间很少)(性能好意味着执行单个程序所花的时间很少)数据处理中心的管理员关心的是:吞吐率(性能数据处理中心的管理员关心的是:吞吐率(性能好意味着在单位时间里能够完成的任务很多)好意味着在单位时间里能够完成的任务很多)1.3 计算机系
32、统的性能评测n假设两台计算机假设两台计算机X X和和Y Y,X X比比Y Y快的意思是:对于快的意思是:对于给定的任务,给定的任务,X X的执行时间比的执行时间比Y Y的执行时间少。的执行时间少。通常通常“X“X的性能是的性能是Y Y的的n n倍倍”是指:是指:n由于执行时间与性能成反比,所以上式就变成:由于执行时间与性能成反比,所以上式就变成:1.3 计算机系统的性能评测n目前广泛采用的一致和可靠的性能评价方法,是目前广泛采用的一致和可靠的性能评价方法,是使用真实程序的使用真实程序的执行时间执行时间来衡量,而执行时间可来衡量,而执行时间可以有多种定义:以有多种定义:计算机完成某一任务所花费的
33、全部时间,包括磁盘计算机完成某一任务所花费的全部时间,包括磁盘访问、存储器访问、输入访问、存储器访问、输入/输出、操作系统开销等。输出、操作系统开销等。CPUCPU时间:时间:CPUCPU执行所给定的程序所花费的时间,不执行所给定的程序所花费的时间,不包含包含I/OI/O等待时间以及运行其他程序的时间。等待时间以及运行其他程序的时间。p用户用户CPUCPU时间:用户程序所耗费的时间:用户程序所耗费的CPUCPU时间。时间。p系统系统CPUCPU时间:用户程序运行期间操作系统耗时间:用户程序运行期间操作系统耗费的费的CPUCPU时间。时间。1.3 计算机系统的性能评测n吞吐率吞吐率(吞吐量,流量
34、)(吞吐量,流量)吞吐率:单位时间内所能完成的任务数。吞吐率:单位时间内所能完成的任务数。两个主要的吞吐率单位两个主要的吞吐率单位pMIPS(Million instructions per second)每秒每秒百万次指令百万次指令其中:其中:ICIC为指令总条数;为指令总条数;T TE E为执行为执行ICIC条指令所用时间;条指令所用时间;T TC C为时钟周期时间;为时钟周期时间;R Rc c为系统时钟周期频率。为系统时钟周期频率。1.3 计算机系统的性能评测n吞吐率吞吐率(吞吐量,流量)(吞吐量,流量)吞吐率:单位时间内所能完成的任务数。吞吐率:单位时间内所能完成的任务数。两个主要的吞
35、吐率单位两个主要的吞吐率单位pMFLOPS(Million floating point operations per second)每秒百万次浮点运算每秒百万次浮点运算其中:其中:ICICF F为浮点运算总次数;为浮点运算总次数;T TE E为完成为完成ICICF F次浮点运算所需时间。次浮点运算所需时间。1.3 计算机系统的性能评测2 2、基准测试程序、基准测试程序n早期测试方法中采用简化的程序,如:早期测试方法中采用简化的程序,如:(1)(1)核心测试程序核心测试程序 (2)(2)小测试程序小测试程序 (3)(3)合成测试程序合成测试程序1.3 计算机系统的性能评测由从真实程序中提取由从
36、真实程序中提取的较短但很关键的代的较短但很关键的代码构成,可以根据需码构成,可以根据需要评价机器的各种性要评价机器的各种性能。能。2 2、基准测试程序、基准测试程序n早期测试方法中采用简化的程序,如:早期测试方法中采用简化的程序,如:(1)(1)核心测试程序核心测试程序 (2)(2)小测试程序小测试程序 (3)(3)合成测试程序合成测试程序1.3 计算机系统的性能评测指代码为几十行、指代码为几十行、具有一些特定目具有一些特定目的的测试程序。的的测试程序。2 2、基准测试程序、基准测试程序n早期测试方法中采用简化的程序,如:早期测试方法中采用简化的程序,如:(1)(1)核心测试程序核心测试程序
37、(2)(2)小测试程序小测试程序 (3)(3)合成测试程序合成测试程序1.3 计算机系统的性能评测对应用中各种操作的对应用中各种操作的比例进行统计,按比比例进行统计,按比例设计出的测试程序,例设计出的测试程序,是完全人为制造出来是完全人为制造出来的程序。的程序。2 2、基准测试程序、基准测试程序n早期测试方法中采用简化的程序,如:早期测试方法中采用简化的程序,如:(1)(1)核心测试程序核心测试程序 (2)(2)小测试程序小测试程序 (3)(3)合成测试程序合成测试程序n上述三种测试程序现在已经不可信了。因为:上述三种测试程序现在已经不可信了。因为:(1)(1)这些程序比较小,具有片面性;这些
38、程序比较小,具有片面性;(2)(2)设计者可针对这些测试程序进行优化,使系统设计者可针对这些测试程序进行优化,使系统“显得显得”性能更高。性能更高。n基准测试程序的最佳选择是真实应用程序。基准测试程序的最佳选择是真实应用程序。1.3 计算机系统的性能评测n性能测试的结果除了和采用什么测试程序有关性能测试的结果除了和采用什么测试程序有关以外,还和在什么条件下进行测试有关。因此以外,还和在什么条件下进行测试有关。因此基准测试程序设计者要求制造商:基准测试程序设计者要求制造商:采用同一种编译器;采用同一种编译器;对同一种语言的程序都采用相同的一组编译标志。对同一种语言的程序都采用相同的一组编译标志。
39、n为了能比较全面地反映计算机在各个方面的处为了能比较全面地反映计算机在各个方面的处理性能,通常采用一整套测试程序,称为基准理性能,通常采用一整套测试程序,称为基准测试程序套件。测试程序套件。由各种不同的真实应用程序构成。由各种不同的真实应用程序构成。主要优点是不同的测试程序之间可以互相弥补。主要优点是不同的测试程序之间可以互相弥补。1.3 计算机系统的性能评测n最成功和最常见的测试程序套件最成功和最常见的测试程序套件SPECSPEC系列:系列:SPEC89SPEC89:用于测试处理器性能,包含:用于测试处理器性能,包含1010个程序个程序(4 4个整数程序,个整数程序,6 6个浮点程序)。演化
40、出了个浮点程序)。演化出了4 4个个版本:版本:SPEC92SPEC92、SPEC95SPEC95、SPEC2000SPEC2000和和SPEC SPEC CPU2006CPU2006。SPECSFSSPECSFS:用于:用于NFSNFS(网络文件系统)文件服务器(网络文件系统)文件服务器的测试程序。的测试程序。SPECWebSPECWeb:WebWeb服务器测试程序。服务器测试程序。SPECviewperfSPECviewperf:用于测试图形系统支持:用于测试图形系统支持OpenGLOpenGL库库的性能。的性能。SPECapcSPECapc:用于测试图形密集型应用的性能。:用于测试图形密
41、集型应用的性能。1.3 计算机系统的性能评测3、性能比较、性能比较A机 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.9
42、1 91.91 10.00 10.00 20.0020.00加权算术加权算术平均值平均值A Am m(3 3)2.00 2.00 10.00 10.00 20.0020.00两个程序在A、B、C三台计算机上的执行时间1.3 计算机系统的性能评测n从该表可以得出:从该表可以得出:执行程序执行程序1:1:A A机的速度是机的速度是B B机的机的1010倍倍A A机的速度是机的速度是C C机的机的2020倍倍B B机的速度是机的速度是C C机的机的2 2倍倍执行程序执行程序2:2:B B机的速度是机的速度是A A机的机的100100倍倍C C机的速度是机的速度是A A机的机的5050倍倍B B机的速
43、度是机的速度是C C机的机的2 2倍倍n上面说法都正确,但不能综合反映上面说法都正确,但不能综合反映3 3台计算机台计算机之间的性能比较,可采用总执行时间加以比较。之间的性能比较,可采用总执行时间加以比较。1.3 计算机系统的性能评测n总执行时间:计算机执行所有测试程序总时间总执行时间:计算机执行所有测试程序总时间B B机执行程序机执行程序1 1和程序和程序2 2的速度是的速度是A A机的机的50.0550.05倍倍C C机执行程序机执行程序1 1和程序和程序2 2的速度是的速度是A A机的机的24.0224.02倍倍B B机执行程序机执行程序1 1和程序和程序2 2的速度是的速度是C C机的
44、机的2 2倍倍n平均执行时间:各测试程序执行时间的算术平平均执行时间:各测试程序执行时间的算术平均值均值其中,其中,T Ti i:第:第i i个测试程序的执行时间个测试程序的执行时间 n n:测试程序组中程序的个数:测试程序组中程序的个数1.3 计算机系统的性能评测n加权执行时间:各测试程序执行时间的加权平均值加权执行时间:各测试程序执行时间的加权平均值其中,其中,WiWi:第:第i i个测试程序在测试程序组中所占的比重个测试程序在测试程序组中所占的比重 TiTi:该程序的执行时间:该程序的执行时间1.3 计算机系统的性能评测1.4.1 冯诺依曼结构及其改进 存储程序计算机的结构存储程序计算机
45、的结构 1.4 计算机系统结构的发展1 1、冯、冯诺依曼结构的主要特点诺依曼结构的主要特点以运算器为中心。以运算器为中心。在存储器中,指令和数据同等对待。指令和数据一在存储器中,指令和数据同等对待。指令和数据一样可以进行运算,即由指令组成的程序是可以修改样可以进行运算,即由指令组成的程序是可以修改的。的。存储器是按地址访问、按顺序线性编址的一维结构,存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。每个单元的位数是固定的。指令的执行是顺序的。指令的执行是顺序的。指令由操作码和地址码组成。指令由操作码和地址码组成。指令和数据均以二进制编码表示,采用二进制运算。指令和数据均以二
46、进制编码表示,采用二进制运算。1.4.1 冯诺依曼结构及其改进2 2、在系统结构方面的改进、在系统结构方面的改进(1 1)对输入)对输入/输出方式的改进输出方式的改进 以运算器为中心带来了慢速的以运算器为中心带来了慢速的I/OI/O占用快速的运算器占用快速的运算器问题,为此人们提出各种问题,为此人们提出各种I/OI/O方式。方式。1.4.1 冯诺依曼结构及其改进2 2、在系统结构方面的改进、在系统结构方面的改进(2 2)采用并行处理技术)采用并行处理技术-挖掘传统机器中的并行性挖掘传统机器中的并行性n改进改进CPUCPU的组成;的组成;重叠方式、先行控制、多操作部件、流水线方式重叠方式、先行控
47、制、多操作部件、流水线方式n在系统结构上对某些计算问题实现并行计算。在系统结构上对某些计算问题实现并行计算。如向量计算。如向量计算。n多机并行处理技术。多机并行处理技术。把一个作业(程序)划分为多个能够并行执行的把一个作业(程序)划分为多个能够并行执行的任务(程序段),把每个任务分配给一个处理机任务(程序段),把每个任务分配给一个处理机执行。执行。1.4.1 冯诺依曼结构及其改进2 2、在系统结构方面的改进、在系统结构方面的改进(3 3)存储器组织结构的发展)存储器组织结构的发展n相联存储器与相联处理机相联存储器与相联处理机相联存储器:把查找、比较的操作交由存储器硬相联存储器:把查找、比较的操
48、作交由存储器硬件实现。件实现。相联处理机:让相连存储器除了完成信息检索任相联处理机:让相连存储器除了完成信息检索任务外,还能进行一些算术逻辑运算。务外,还能进行一些算术逻辑运算。n通用寄存器组、高速缓冲存储器通用寄存器组、高速缓冲存储器CacheCache1.4.1 冯诺依曼结构及其改进2 2、在系统结构方面的改进、在系统结构方面的改进(4 4)指令集结构的发展)指令集结构的发展n指令集的功能和复杂度指令集的功能和复杂度复杂指令集计算机(复杂指令集计算机(CISCCISC)精简指令集计算机(精简指令集计算机(RISCRISC)n指令的地址空间和寻址方式指令的地址空间和寻址方式多种灵活的寻址方式
49、。多种灵活的寻址方式。1.4.1 冯诺依曼结构及其改进n软件的可移植性:一个软件可以不经修改或者软件的可移植性:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行,差别只是执行时间的台计算机上正确地运行,差别只是执行时间的不同。我们称这两台计算机是不同。我们称这两台计算机是软件兼容软件兼容的。的。n实现可移植性的常用方法实现可移植性的常用方法采用系列机采用系列机模拟与仿真模拟与仿真统一高级语言统一高级语言1.4.2 软件对系统结构的影响1 1、系列机、系列机 n由同一厂家生产的具有相同的系统结构,但具有不同组由同一厂家生
50、产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。成和实现的一系列不同型号的机器。例如例如IBM370IBM370系列有系列有115115、125/135125/135、145145、158158、168168等等一系列从低速到高速的各型号机器,这些计算机具一系列从低速到高速的各型号机器,这些计算机具有相同的指令集,但在低档机上,指令的分析、执有相同的指令集,但在低档机上,指令的分析、执行是顺序进行的,而在高档机上则采用重叠、流水行是顺序进行的,而在高档机上则采用重叠、流水等并行处理方式。等并行处理方式。系列机能较好地解决软件开发要求系统结构相对稳系列机能较好地解决软件开发要