计算机系统结构_第一章练习 答案
- 格式:doc
- 大小:88.50 KB
- 文档页数:3
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
第一章计算机系统概论2.简单回答下列问题。
(参考答案略)(1)冯·诺依曼计算机由哪几部分组成?各部分的功能是什么?采用什么工作方式?(2)摩尔定律的主要含义是什么?(3)计算机系统的层次结构如何划分?计算机系统的用户可分哪几类?每类用户工作在哪个层次?(4)程序的CPI与哪些因素有关?(5)为什么说性能指标MIPS不能很好地反映计算机的性能?3.假定你的朋友不太懂计算机,请用简单通俗的语言给你的朋友介绍计算机系统是如何工作的。
要求写一页纸左右。
4.你对计算机系统的哪些部分最熟悉,哪些部分最不熟悉?最想进一步了解细节的是哪些部分的内容?5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花时间和指令条数。
M1 M2 程序指令条数执行时间(ms) 指令条数执行时间(ms) P1 200x10610 000 150 x106 5000x103 6x103 3 420P2 300请回答下列问题:(1) 对于P1,哪台机器的速度快?快多少?对于P2呢?(2) 在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(3) 假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?(4) 如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批构成机器时,应该选择M1还是M2呢?为什么?(提示:从性价比上考虑)(5) 如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2呢?为什么?参考答案:(1) 对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。
(2) 对于M1,P1的速度为:200M/10=20MIPS;P2为300k/0.003=100MIPS。
第一章 计算机体系结构的基本概念1.6 对于一台400MHz 计算机执行标准测试程序,程序中指令类型,执行数量和平均时钟解:IC CPI IC CPI ii/)(∑⨯=45000175000280004150021.776450007500080001500CPI ⨯+⨯+⨯+⨯==+++640010225.2251.776f MIPS MIPS CPI ⨯===速率程序执行时间=64(4500017500028000415002)/(40010) 5.7510-⨯+⨯+⨯+⨯⨯=⨯s1.7 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此提高性能的方法后,能使整个系统的性能提高多少? 解:部件加速比=11,可改进比例=40% 系统加速比=11 1.5714(10.4(1--==0.4可改进比例)+可改进比例)+部件加速11比1.8 计算机系统有三个部件可以改进,这三个部件的加速比如下:部件加速比1=30; 部件加速比2=20; 部件加速比3=10;(1) 如果部件1和部件2的可改进比例为30%,那么当部件3的可改进比例为多少时,系统的加速比才可以达到10?(2) 如果三个部件的可改进比例为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:1)在多个部件可改进情况下Amdahl 定理的扩展:⎥⎦⎤⎢⎣⎡+-=e e e o e S f f T T )1(eee Sf f S +-=)1(1∑∑+-=iii ii S f f S )1(1式中,fi 为可加速部件i 在未优化系统中所占的比例;Si 是部件i 的加速比。
1332211321)](1[-⎭⎬⎫⎩⎨⎧+++++-=S f S fS f f f f S13330203.0303.0)]3.03.0(1[10-⎭⎬⎫⎩⎨⎧+++++-=f f 36.0180653==f2)82.07.14126012602.1609.0606.02.02.0102.0203.0303.02.02.0102.0203.0303.0)]2.03.03.0(1[==+++=+++=+++++-=T TT T T p1.9解:1).操作1加速比=2/12= 操作2加速比=20/154/3= 操作3加速比=10/3 操作4加速比=4/14=2).改进前程序执行总时间=10×2+30×20+35×10+15×4=1030操作1改进后,程序获得的加速比为:11.0110*2/1030(110*2/1030)2=-+操作2改进后,程序获得的加速比为:11.1630*20/1030(130*20/1030)4/3=-+操作3改进后,程序获得的加速比为:11.3135*10/1030(135*10/1030)10/3=-+操作4改进后,程序获得的加速比为:11.0515*4/1030)(115*4/1030)4=-+3).四类操作均改进后,整个程序的加速比是:10301.7810*130*1535*315*1=+++。
1.3 典型习题和题例分析与解答题1.1 有一个经解释实现的计算机,可以按功能划分成4级。
每一级为了执行一条指令需要下一级的N 条指令解释。
若执行第1级的一条指令要K ns 时间,那么执行第2、第3、第4级的一条指令各需要用多少时间?[分析] 计算机按功能分成级时,最底层是第l 级,向上依次为第2、第3和第4级;解释方式的执行是在低级机器级上用它的一串语句或指令来仿真高一级机器级上的一条语 句或指令的功能,而且是通过对高级机器级程序中的每条语句或指令逐条加以解释来实现的。
[解答] 执行第2、第3、第4级的一条指令各需KN ns 、KN 2 ns 、KN 3 ns 的时间。
题1.2 操作系统机器级的某些指令就用传统机器级的指令,这些指令可以用微程序直接实现,而不必由操作系绕自己来实现。
你认为这样做有哪些好处?[解答] 这样做,可以加快操作系统中操作命令解释的速度,同时也节省了存放解释操作命令这部分解释程序所占的存贮空间,简化了操作系统机器级的设计,也有利于减少传统机器级的指令条数。
题1.3 有一个计算机系统可按功能分成4级,各级的指令都不相同,每一级的指令都比其下一级的指令在效能上强M 倍,即第i 级的一条指令能完成第i-1级的M 条指令的计算量。
现若需第i 级的N 条指令解释第i+l 级的一条指令,而有一段第l 级的程序需要运行的时间为K s ,问在第2、3和4级上一段等效的程序各需要运行多长时间?[分析] 因为从功能意义上讲,第i 级的一条指令能完成第i-1级的M 条指令的计算量,但第i 级的一条指令的执行,都是靠第i-1级的N 条指令的执行来解释完成。
已知,第1级的一段程序运行时间为K s 。
第2级的一段程序从功能等效上讲,所需的指令条数应当是第1级上指令数的1/M 。
而由第1级解释时又需要执行N 条指令,所以,第2级一段等效程序的运行就需要K ·s M N 的时间。
第3、4级则可依次类推。
计算机系统结构习题解答第一章习题一1.2一台经解释实现的计算机,可以按照功能划分成4级。
每一级为了执行一条指令需要下一级的N条指令解释。
若执行第1级的一条指令需K纳秒时间,那么执行第2、3、4级的一条指令个需要多少时间?解:①分析:计算机按功能分级时,最底层的为第1级。
向上一次是第2 、3、4级。
解释执行是在低级机器级上,用它的一串指令或语句来解释执行高一级上的一条指令的功能。
是逐条解释的。
②解答:执行第2、3、4级的一条指令各需KNns,KN2ns,KN3ns的时间。
1.3操作系统机器级的某些指令就用传统机器级的指令,这些指令可以用微程序直接实现,而不由操作系统自己来实现。
根据你对习题1.2的回答,你认为这样做有哪两个好处?答:可以加快操作系统操作命令解释的速度。
同时也节省了存放解释操作命令这部分解释程序所占用的空间。
简化了操作系统机器级的设计。
也有利于减少传统机器级的指令条数。
1.5硬件和软件在什么意义上是等效的?在什么意义上是不等效的?试举例说明。
答:硬件和软件在逻辑意义上是等效的。
在物理意义上是不等效的。
①在原理上,用硬件或固件实现的功能完全可以用软件来完成。
用软件实现的功能也可以用硬件或固件来完成。
功能一样。
②只是反映在速度、价格、实现的难易程度上,这两者是不同的。
性能不同。
③例如,浮点运算在80386以前一直是用软件实现的。
到了80486,将浮点运算器集成到了CPU中,可以直接通过浮点运算指令用硬件实现。
但速度却高的多。
1.9下列哪些对系统程序员是透明的?哪些对应用程序员是透明的?系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲器。
答:①对系统程序员和应用程序员均透明的:是全用硬件实现的计算机组成所包含的方面。
有:数据通路宽度、Cache存储器、指令缓冲器。
②仅对应用程序员透明的:是一些软硬件结合实现的功能。
有:虚拟存储器、程序状态字、“启动I/O”指令。
第1章计算机系统结构的基本概念1、有一个计算机系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。
现若需第i级的N条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间?答:第2级上等效程序需运行:(N/M)*Ks。
第3级上等效程序需运行:(N/M)*(N/M)*Ks。
第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。
2、硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。
答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。
只是反映在速度、价格、实现的难易程度上这两者不同。
3、试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。
答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。
(1)计算机的系统结构相同,但可采用不同的组成。
如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。
其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
(2)相同的组成可有多种不同的实现。
如主存器件可用双极型的,也可用MOS型的;可用VLSI单片,也可用多片小规模集成电路组搭。
(3)计算机的系统结构不同,会使采用的组成技术不同,反之组成也会影响结构。
如为实现A:=B+CD:=E*F,可采用面向寄存器的系统结构,也可采用面向主存的三地址寻址方式的系统结构。
要提高运行速度,可让相加与相乘并行,为此这两种结构在组成上都要求设置独立的加法器和乘法器。
第一章练习题一、单项选择题在下面各题的4个备选答案中,只有一个答案是正确的,请把正确答案的标号(A~D )填入题后面的括号中。
1.在计算机系统层次结构中,从低层到高层,各层相对顺序正确的是( B )。
A . 汇编语言机器级 → 操作系统机器级 → 高级语言机器级B . 微程序机器级 → 传统机器语言机器级 → 汇编语言机器级C . 传统机器语言机器级 → 高级语言机器级 → 汇编语言机器级D . 汇编语言机器级 → 应用语言机器级 → 高级语言机器级 2.直接执行微指令的是( C )。
A .汇编程序 B .编译程序 C .硬件 D .微指令程序 3.对汇编语言程序员透明的是( D )。
A .浮点运算 B .程序性中断 C .存取操作数 D .I/O 方式中的DMA 访问方式 4.从计算机系统结构来看,机器语言程序员看到的机器属性是( A )。
A .编程要用到的硬件组织 B .计算机软件所要完成的功能 C .计算机各部件的硬件实现 D .计算机硬件的全部组成 5.在计算机的系统结构设计中,提高硬件功能实现的比例会( C )。
A .提高硬件的利用率 B .提高系统的性能价格比 C .提高系统的运行速度 D .减少需要的存储器容量 6.在计算机的系统结构设计中,提高软件功能实现的比例会( D )。
A .减少需要的存储器容量 B .提高系统的性能价格比 C .提高系统的解题速度 D .提高系统的灵活性二、应用题1. 假设某一计算机系统高速缓存Cache 的工作速度为主存的5倍,而且Cache 被访问命中的概率为90%,那么,采用Cache 后能够使该计算机的存储系统获得多高的加速比?解:设CPU 运行程序的访存次数为IC ,CPU 访问主存一次所需要的平均周期数为CPI M ,CPU 访问Cache 一次所需要的平均周期数为CPI C 。
若不采用Cache ,所有的访存都是直接访问主存,则CPU 完成IC 次访问所需时间为: 若采用Cache ,并且已知Cache 被访问的命中率为90%,即0.9IC 次访存能够通过访问Cache 完成,另外有0.1IC 次访存需要通过访问主存完成,则CPU 完成IC 次访存所需时间为:所以采用Cache 后,存储系统的加速比为:2. 如果某计算机系统有3个部件可以改进,则这3个部件经过改进后达到的加速比分别是:S 1=30,S 2=20,S 3=10。
第1章部分习题参考答案1.1 解释下列术语⏹翻译:先用转换程序将上一级机器级上的程序整个地变换成下一级机器级上可运行的等效程序,然后再在下一级机器级上去实现的技术。
⏹解释:在下一级机器级上用它的一串语句或指令来仿真上一级机器级上的一条语句或指令的功能,通过对上一级机器语言程序中的每条语句或指令逐条解释来实现的技术。
⏹层次结构:将计算机系统由上往下依次划分为应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级、传统机器级和微程序机器级。
对于一个具体的计算机系统,层次的多少会有所不同。
⏹计算机系统结构:传统机器级的程序员所看到计算机的基本属性,即计算机的概念性结构和功能特性。
简称为计算机的外特性。
⏹计算机组成:计算机系统结构的逻辑实现,也常称为计算机组织。
该组织包括机器级内的数据流和控制流的组成以及逻辑设计等。
⏹计算机实现:计算机组成的物理实现。
它包括处理机、主存等部件的物理结构,器件的集成度、速度和信号,器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术。
⏹透明性:本来存在的事物或属性,但从某个角度看似乎不存在,称为透明性现象。
⏹固件:是一种具有软件功能的硬件。
如将软件固化在ROM中,就是一种固件。
⏹由上往下设计:先考虑如何满足应用要求,确定好面对使用者那级机器应有什么基本功能和特性,然后再逐级往下设计,每级都考虑怎样优化上一级实现。
这种方法适合于专用机设计。
⏹由下往上设计:根据现有的部件,并参照或吸收已有各种机器的特点,先设计出微程序机器级(如果采用微程序控制)及传统机器级,然后再为不同应用配置多种操作系统和编译系统软件,采用合适的算法来满足相应的应用。
这是20世纪60-70年代前常用的通用机设计思路。
⏹系列机:同一厂家生产的具有相同系统结构,但具有不同组成和实现的一系列的机器。
⏹软件兼容:同一软件可以不加修改地运行于系统结构相同的不同档次的机器上,而且它们所获得的结果一样,差别只是运行时间不同。
1. 如有一个经解释实现的计算机,可以按功能划分成4级。
每一级为了执行一条指令需要下一级的N条指令解释。
若执行第一级的一条指令需要K ns 时间,那么执行第2、3、4级的一条指令各需要用多少时间?解:可以分情况进行讨论●情况一执行第2级的一条指令需要NK纳秒,执行第3级的一条指令需要N2K纳秒,执行第4级的一条指令需要N3K纳秒。
●情况二执行第2级的一条指令需要K/N纳秒,执行第3级的一条指令需要K/N2纳秒,执行第4级的一条指令需要K/N3纳秒。
2. 实现软件移植的主要途径有哪些?它们存在什么问题?适用于什么场合?答:略3. 想在系列中发展一种新型号机器,你认为下列哪些设想是可以考虑的,哪些则是行不通的?为什么?⑴新增加字符数据类型和若干条字符处理指令,以支持事务处理程序的编译。
⑵ 为增强中断处理功能,将中断分析由原来的4级增加到5级,并重新调整中断响应的优先次序。
⑶ 在CPU 和主存之间增设Cache 存储器,以克服因主存访问速率过低而造成的系统性能瓶颈。
⑷ 为解决计算误差较大的问题,将机器中浮点数的下溢处理方法由原来的恒置“1”法,改为增设用只读存储器存放下溢处理结果的查表舍入法。
⑸ 为增加寻址灵活性和减少平均指令字长,将原来全部采用等长操作码的指令改成有3类不同码长的扩展操作码;并将源操作数寻址方式由原来的操作码指明改成增加一个如V AX-11那样的寻址方式位字段来指明。
⑹ 将CPU 与主存之间的数据通路宽度由16位扩展到32位,以加快主机内部信息的传送。
⑺ 为了减少使用公用总线的冲突,将单总线改为双总线。
⑻ 把原来的0号通用寄存器改作为专用的堆栈指示器。
答:⑵、⑸、⑻不可以,其它都可以。
⑵ 不可以,对系列机可以增加新功能,但是不能改变原来的功能。
⑸ 不可以,改变了指令的格式和功能。
⑻ 不可以,0号通用寄存器变成堆栈指示器,0号通用寄存器不能用了。
4. 如果某一计算任务用向量方式求解比用标量方式求解要快20倍,称可用向量方式求解部分所花费时间占总时间的百分比为可向量化百分比。
第一章练习题
一、单项选择题
在下面各题的4个备选答案中,只有一个答案是正确的,请把正确答案的标号(A~D )填入题后面的括号中。
1.在计算机系统层次结构中,从低层到高层,各层相对顺序正确的是( B )。
A . 汇编语言机器级 → 操作系统机器级 → 高级语言机器级
B . 微程序机器级 → 传统机器语言机器级 → 汇编语言机器级
C . 传统机器语言机器级 → 高级语言机器级 → 汇编语言机器级
D . 汇编语言机器级 → 应用语言机器级 → 高级语言机器级 2.直接执行微指令的是( C )。
A .汇编程序 B .编译程序 C .硬件 D .微指令程序 3.对汇编语言程序员透明的是( D )。
A .浮点运算 B .程序性中断 C .存取操作数 D .I/O 方式中的DMA 访问方式 4.从计算机系统结构来看,机器语言程序员看到的机器属性是( A )。
A .编程要用到的硬件组织 B .计算机软件所要完成的功能 C .计算机各部件的硬件实现 D .计算机硬件的全部组成 5.在计算机的系统结构设计中,提高硬件功能实现的比例会( C )。
A .提高硬件的利用率 B .提高系统的性能价格比 C .提高系统的运行速度 D .减少需要的存储器容量 6.在计算机的系统结构设计中,提高软件功能实现的比例会( D )。
A .减少需要的存储器容量 B .提高系统的性能价格比 C .提高系统的解题速度 D .提高系统的灵活性
二、应用题
1. 假设某一计算机系统高速缓存Cache 的工作速度为主存的5倍,而且Cache 被访问
命中的概率为90%,那么,采用Cache 后能够使该计算机的存储系统获得多高的加速比?
解:设CPU 运行程序的访存次数为IC ,CPU 访问主存一次所需要的平均周期数为CPI M ,
CPU 访问Cache 一次所需要的平均周期数为CPI C 。
若不采用Cache ,所有的访存都是直接访问主存,则CPU 完成IC 次访问所需时间为: 若采用Cache ,并且已知Cache 被访问的命中率为90%,即0.9IC 次访存能够通过访问Cache 完成,另外有0.1IC 次访存需要通过访问主存完成,则CPU 完成IC 次访存所需时间为:
所以采用Cache 后,存储系统的加速比为:
2. 如果某计算机系统有3个部件可以改进,则这3个部件经过改进后达到的加速比分
别是:S 1=30,S 2=20,S 3=10。
(1) 如果部件1和部件2改进前的执行时间占整个系统执行时间的比例都是
M C CPI CPI 5
1
=IC
CPI T M ⨯=0IC CPI IC CPI IC CPI T M M C n
⨯=⨯+⨯=28.01.09.057
.30==n
n T T S
30%,那么,部件3改进前的执行时间占整个系统执行时间的比例是多少,
才能使得3个部件都改进后的整个系统的加速比S n 达到10?
解:在多个(比如k 个)部件同时改进的情况下,Amdahl 定律的表述形式为:
F1=0.3,F2=0.3,代入数据得F3=0.36
(2) 如果3个部件改进前执行时间占整个系统执行时间的比例分别是30%、
30%和20%,那么,3个部件都改进后系统的加速比是多少?未改进部件执行时间在改进后的系统执行时间中占的比例是多少?
解:(1)
代入数据得:Sn=4.1
未改进部件的执行时间为: ()002.08.01T T =⋅-
改进后改进部分的执行时间为:0
000'045.010
2.020
3.030
3.0T T T T T n =++=
改进后整个系统的执行时间为:000245.02.0045.0T T T T n =+=
未改进部件的执行时间在改进后的整个系统的执行时间中所占的比例是:
82.08163.0245.02.00
0==T T 3. 假设某个计算机的处理器时钟频率为15MHz ,执行测试程序的速率为10MIPS ,如
果每次存储器存取需要1个时钟周期的时间,问: (1) 该计算机的CPI 值是多少?
(2) 假设将处理器的时钟频率提高到30 MHz ,但是存储器的工作速率不变,
这样使得每次存储器存取需要2个时钟周期。
如果测试程序的30%指令需要1次访存,5%指令需要2次访存,其他指令不需要访存,试求测试程序在改进后的计算机上执行的MIPS 。
测试程序在改进后的计算机上执行的CPI 是:
测试程序在改进后的计算机上的执行速度是:
9.1610
775.11030106
6
6222=⨯⨯=⨯=CPI f MIPS 由于MIPS 2 > MIPS 1 可以由此得出:改进后的计算机的性能提高了。
4. 已知4个程序在计算机A 、B 、C 上的执行时间(以秒s 为单位)分别如下表所示: 程序在各个计算机上的执行时间(单位为:秒s )
∑∑==+⎪⎭⎫ ⎝⎛-=k i i
i k
i i n S F F S 11115
.1101010151010CPI 6
6
61161=⨯⨯=⨯=⨯=MIPS CPI CPI MIPS 时钟频率为:
,可以得出计算机的时钟频率由775.165.05.105.043.023
12=⨯+⨯+⨯=⎪⎭⎫ ⎝⎛⨯=∑=i i i IC IC CPI CPI ∑
∑==+⎪⎭⎫ ⎝⎛-=k i i
i k
i i n S F F S 1111
假设4个程序都分别执行了100⨯10条指令,计算这4个程序分别在计算机A 、B 、C 上执行的MIPS 。
根据这些速率值,你能不能直接评价这3台计算机相对性能的优劣?如果不能,你能不能找到一种方法对这3台计算机的相对性能进行排序?
解: e
e e T T T MIPS 10010
1010010
6
6
6=⨯⨯=⨯=指令条数
程序在各个计算机上执行的MIPS 值
由上面的结果可以看出,不同的程序在同一台计算机上执行时的MIPS 值不相同,
甚至差别很大,这说明在同一台计算机上运行的不同程序使用了该计算机指令集的不同指令,以及使用的指令在不同程序中有不同的使用频度,因此,在同一台计算机上运行的不同程序有不同的CPI 值,从而表现出不同的MIPS 值。
可见,仅用一个程序在不同计算机上运行的MIPS 值来评价计算机之间的性能优劣是不可靠的。
我们可以使用多个典型测试程序运行的MIPS 速率的平均值来评价计算机之间的相对性能的优劣。
325.254
1
2.01.0100=+++=
A MIPS
806.24
125
.01.0110=+++=B MIPS
25.341
255=+++=C MIPS
由MIPSa>MIPSc>MIPSb,可以得出:计算机A 性能最优,C 次之,B 性能最差。