计算机系统结构课后习题答案
- 格式:doc
- 大小:1.68 MB
- 文档页数:28
第一章计算机系统结构的基本概念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 。
note: 由题意可知:第i 级的一条指令能完成第i-1 级的M 条指令的计算量。
而现在第i 级有N 条指令解释第i+1 级的一条指令,那么,我们就可以用N/M 来表示N/M 表示第i+1 级需(N/M) 条指令来完成第i 级的计算量。
所以,当有一段第 1 级的程序需要运行Ks 时,在第 2 级就需要(N/M)Ks ,以此类推2. 硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。
答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。
但是实现的性能价格比,实现的难易程序不同。
在DOS 操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡(硬件)上,而随着CPU硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。
3. 试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。
答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。
(1) 计算机的系统结构相同,但可采用不同的组成。
如IBM370 系列有115、125 、135、158 、168 等由低档到高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/ 主存,通道、设备控制器,外设 4 级构成。
第四章课后题1、设二级虚拟存储器的TA1=10^(-7)s、TA2=10^(-2)s,为使存储层次的访问效率e达到最大值的80%以上,命中率H至少要求达到多少?实际上这样高的命中率是很难达到的,那么从存储层次上如何改进?解:∵e=1/[H+(1-H)r] 且r=TA2/TA1 ∴H至少达到99.9%这样的命中率很难达到,可在二级存储器间加一层电子磁盘,降低r,从而降低对H的要求。
2、程序存放在模32单字交叉存储器中,设访存申请队的转移概率λ为25%,求每个存储周期能访问到的平均字数。
当模数为16呢?由此你可得到什么结论?解:B=[ 1-(1-λ)^m] /λ由λ=0.25,m=32 求得:B=4-4*(3/4)^32=4同理,m=16时,B=4-4*(3/4)^16=3.96由此可看出,当转移概率λ为25%比较大时,采用模32与模16的每个存储周期能访问的平均字数非常相近。
就是说,此时,提高模数m对提高主存实际频宽已不显著。
实际上,模数m的进一步增大,会因工程实现上的问题,导致实际性能反而可能比模16的还要低,且价格更高。
所以模数m不宜太大。
对于λ为25%的情况,可以计算机出m=8时,其B已经接近于3.6了。
3、设主存每个分体的存取周期为2μs,宽度为4个字节。
采用模m多分体交叉存取,但实际频宽只能达到最大频宽的0.6倍。
现要求主存实际频宽为4M B/S,问主存模数m应取多少方能使两者速度基本适配?其中m取2的幂。
解:由题意已知存取周期Tm=2*10^(-6)s,宽度W=4B,B实=0.6Bm=4*2^20 B/S,Bm=W*m/Tm=6.99*10^6B/Sm=Bm*Tm/W=6.99*10^6*2*10^-6/4=3.495所以m取4能满足要求P.S.①微秒(百万分之一秒) 1μs=10^-6s②计量单位中的M(兆)是10的6次方,见到M自然想起要在该数值的后边续上六个0,即扩大一百万倍。
在二进制中,MB也表示到了百万级的数量级,但1 MB不正好等于1000000字节,而是1048576字节,即1MB = 2E+20 By tes = 1048576Bytes。
计算机系统结构习题解答第一章习题一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、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值rm=16,阶码基值re=2。
对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。
(1)最大尾数(8)最小正数(2)最小正尾数(9)最大负数(3)最小尾数(10)最小负数(4)最大负尾数(11)浮点零(5)最大阶码(12)表数精度(6)最小阶码(13)表数效率(7)最大正数(14)能表示的规格化浮点数个数2.一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。
尾数用原码、纯小数表示,阶码用移码、整数表示。
(1) 设计这种浮点数的格式(2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。
3.某处理机要求浮点数在正数区的积累误差不大于2-p-1 ,其中,p是浮点数的尾数长度。
(1) 选择合适的舍入方法。
(2) 确定警戒位位数。
(3) 计算在正数区的误差范围。
4.假设有a和b两种不同类型的处理机,a处理机中的数据不带标志符,其指令字长和数据字长均为32位。
b处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。
如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于一个由1000条指令组成的程序,分别计算这个程序在a处理机和b处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。
(1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。
6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令3类,并假设每个地址字段的长度均为6位。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又实用文档好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用实用文档来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
习题一1、解释下列术语计算机系统的外特性:通常所讲的计算机系统结构的外特性是指机器语言程序员或编译程序编写者所看到的外特性,即由他们所看到的计算机的基本属性(概念性结构和功能特性)。
计算机系统的内特性:计算机系统的设计人员所看到的基本属性,本质上是为了将有关软件人员的基本属性加以逻辑实现的基本属性。
模拟:模拟方法是指用软件方法在一台现有的计算机上实现另一台计算机的指令系统。
可移植性:在新型号机出台后,原来开发的软件仍能继续在升级换代的新型号机器上使用,这就要求软件具有可兼容性,即可移植性。
可兼容性是指一个软件可不经修改或只需少量修改,便可由一台机器移植到另一台机器上运行,即同一软件可应用于不同环境。
Amdahl 定律:系统中对于某一部件采用某种更快的执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频度或占总执行时间的比例。
虚拟机(Virtual Machine ):指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
6、7、假定求浮点数平方根的操作在某台机器上的一个基准测试程序中占总执行时间的20%,为了增强该操作的性能,可采用两种不同的方法:一种是增加专门的硬件,可使求浮点数平方根操作的速度提高为原来的20倍;另一种方法是提高所有浮点运算指令的速度,使其为原来的2倍,而浮点运算指令的执行时间在总执行时间中占30%。
试比较这两种方法哪一种更好些。
答:增加硬件的方法的加速比23.120/2.0)2.01(11=+-=p S ,另一种方法的加速比176.12/3.0)3.01(12=+-=p S ,经计算可知Sp1>Sp2第一种方法更好些。
9、假设高速缓存Cache 的工作速度为主存的5倍,且Cache 被访问命中的概率为90%,则采用Cache 能使整个存储系统获得多高的加速比? 答:加速比%10)(%90'⨯++⨯==tc tm tc tmT T S ,其中tm=5tc ,代入公式,得到加速比S=3.33。
一、(5分)计算机系统设计中经常使用的4个定量原理是什么?请简要说明它们的含义。
答:(1)以经常性事件为重点。
在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。
(2)Amdahl 定律。
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
(3)CPU 性能公式。
执行一个程序所需的CPU 时间 = IC ×CPI ×T 。
(4)程序的局部性原理。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。
二、(15分)假设某应用程序中有4类操作,通过改进各类操作的功能部件,可(2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少? 答:根据Amdahl 定律aff S n +-=)1(1,其中f 是可改进部分在总运行时间中所占比例,a 是可改进部分的加速比,可得4类操作均改进后,整个程序的加速比:11.77(1)n ii iS FF S =≈-+∑∑三、(5分)请简述指令之间数据冲突的类型。
答:指令之间的数据冲突有3种类型:真相关、反相关、输出相关。
真相关(数据依赖,有时候也称为数据相关):考虑两条指令i 和j ,i 在j 的前面,指令k 在指令i 和指令j 之间。
如果下述条件之一成立,则称指令j 与指令i 真相关:(1)指令j 使用指令i 产生的结果(写后读);(2)指令j 与指令k 真相关,而指令k 又与指令i 真相关。
(真相关的传递性) 反相关:考虑两条指令i 和j ,i 在j 的前面,如果指令j 所写的名与指令i 所读的寄存器名或存储地址相同,则称指令i 和j 发生了反相关。
(读后写)输出相关:考虑两条指令i 和j ,i 在j 的前面,如果指令j 和指令i 所写的寄存器名或存储地址相同,则称指令i 和j 发生了输出相关。
(写后写) 其中反相关和输出相关又合称名相关。
第1章计算机系统结构的基本概念1.1解释下列术语计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
只要在时间上相互重叠,就存在并行性。
它包括同时性与并发性两种含义。
1.2试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。
答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。
确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。
选择存储芯片类型、微组装技术、线路设计等属于计算机实现。
计算机组成是计算机系统结构的逻辑实现。
计算机实现是计算机组成的物理实现。
一种体系结构可以有多种组成。
一种组成可以有多种实现。
1.4计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。
答:(1)以经常性事件为重点。
在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。
(2)Amdahl定律。
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
(3)CPU性能公式。
执行一个程序所需的CPU时间=IC×CPI×时钟周期时间。
(4)程序的局部性原理。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。
1.6某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型指令执行数量平均时钟周期数整数450001数据传送750002浮点80004分支15002求该计算机的有效CPI、MIPS和程序执行时间。
计算机系统结构基本习题和答案填空题1、从(使用语言的)角度可以将系统看成是按(功能)划分的多个机器级组成的层次结构。
2、计算机系统结构的层次结构由高到低分别为(应用语言机器级,高级语言机器级,汇编语言机器级,操作系统机器级,传统机器语言机器级,微程序机器级)。
3、应用程序语言经(应用程序包)的(翻译)成高级语言程序。
4、高级语言程序经(编译程序)的(翻译)成汇编语言程序。
5、汇编语言程序经(汇编程序)的(翻译)成机器语言程序。
6、在操作系统机器级,一般用机器语言程序(解释)作业控制语句。
7、传统机器语言机器级,是用(微指令程序)来(解释)机器指令。
8、微指令由(硬件)直接执行。
9、在计算机系统结构的层次结构中,机器被定义为(能存储和执行相应语言程序的算法和数据结构)的集合体。
10、目前M0由(硬件)实现,M1用(微程序(固件))实现,M2到M5大多用(软件)实现。
以(软件)为主实现的机器成为虚拟机。
(虚拟机)不一定全用软件实现,有些操作也可用(固件或硬件)实现。
11、透明指的是(客观存在的事物或属性从某个角度看不到),它带来的好处是(简化某级的设计),带来的不利是(无法控制)。
12、计算机系统结构也称(计算机体系结构),指的是(传统机器级的系统结构)。
它是(软件和硬件/固件)的交界面,是机器语言汇编语言程序设计者或编译程序设计者看到的(机器物理系统)的抽象。
13、计算机组成指的是(计算机系统结构的逻辑实现),包括(机器级内的数据流和控制流)的组成及逻辑设计等。
计算机实现指的是(计算机组成的物理实现),它着眼于(器件)技术和(微组装)技术。
14、确定指令系统中是否要设乘法指令属于(计算机系统结构),乘法指令是用专门的高速乘法器实现还是用加法器实现属于(计算机组成),乘法器和加法-移位器的物理实现属于(计算机实现)。
15、主存容量与编址方式的确定属于(计算机系统结构),主存是否采用多体交叉属于(计算机组成),主存器件的选定属于(计算机实现)。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
1.7某台主频为400MHz 的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型 指令执行数量 平均时钟周期数 整数 45000 1 数据传送 75000 2 浮点 8000 4 分支 1500 2求该计算机的有效CPI 、MIPS 和程序执行时间。
解:1(/)ni i i CPI CPI IC IC ==⨯∑(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (2)MIPS 速率=f/ CPI =400/1.776 =225.225MIPS (3)程序执行时间= (45000×1+75000×2+8000×4+1 500×2)/400=575s1.9 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?解:由题可知: 可改进比例Fe=40% = 0.4 部件加速比Se = 10根据()011 1.5625(10.4)0.4/101n n T S Fe T Fe Se ====-+-+ 1.10 计算机系统中有三个部件可以改进,这三个部件的部件加速比为: 部件加速比1=30; 部件加速比2=20; 部件加速比3=10(1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?(2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:(1)在多个部件可改进情况下,Amdahl 定理的扩展:()011231123123n nT S Fe Fe Fe T Fe Fe Fe Se Se Se ==---+++ 已知S1=30,S2=20,S3=10,Sn =10,F1=0.3,F2=0.3,得: 得F3=0.36,即部件3的可改进比例为36%。
第1章部分习题参考答案1.1 解释下列术语⏹翻译:先用转换程序将上一级机器级上的程序整个地变换成下一级机器级上可运行的等效程序,然后再在下一级机器级上去实现的技术。
⏹解释:在下一级机器级上用它的一串语句或指令来仿真上一级机器级上的一条语句或指令的功能,通过对上一级机器语言程序中的每条语句或指令逐条解释来实现的技术。
⏹层次结构:将计算机系统由上往下依次划分为应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级、传统机器级和微程序机器级。
对于一个具体的计算机系统,层次的多少会有所不同。
⏹计算机系统结构:传统机器级的程序员所看到计算机的基本属性,即计算机的概念性结构和功能特性。
简称为计算机的外特性。
⏹计算机组成:计算机系统结构的逻辑实现,也常称为计算机组织。
该组织包括机器级内的数据流和控制流的组成以及逻辑设计等。
⏹计算机实现:计算机组成的物理实现。
它包括处理机、主存等部件的物理结构,器件的集成度、速度和信号,器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术。
⏹透明性:本来存在的事物或属性,但从某个角度看似乎不存在,称为透明性现象。
⏹固件:是一种具有软件功能的硬件。
如将软件固化在ROM中,就是一种固件。
⏹由上往下设计:先考虑如何满足应用要求,确定好面对使用者那级机器应有什么基本功能和特性,然后再逐级往下设计,每级都考虑怎样优化上一级实现。
这种方法适合于专用机设计。
⏹由下往上设计:根据现有的部件,并参照或吸收已有各种机器的特点,先设计出微程序机器级(如果采用微程序控制)及传统机器级,然后再为不同应用配置多种操作系统和编译系统软件,采用合适的算法来满足相应的应用。
这是20世纪60-70年代前常用的通用机设计思路。
⏹系列机:同一厂家生产的具有相同系统结构,但具有不同组成和实现的一系列的机器。
⏹软件兼容:同一软件可以不加修改地运行于系统结构相同的不同档次的机器上,而且它们所获得的结果一样,差别只是运行时间不同。
1.7某台主频为400MHz 的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:指令类型 指令执行数量 平均时钟周期数 整数 45000 1 数据传送 75000 2 浮点 8000 4 分支 1500 2求该计算机的有效CPI 、MIPS 和程序执行时间。
解:1(/)ni i i CPI CPI IC IC ==⨯∑(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (2)MIPS 速率=f/ CPI =400/1.776 =225.225MIPS (3)程序执行时间= (45000×1+75000×2+8000×4+1 500×2)/400=575s1.9 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?解:由题可知: 可改进比例Fe=40% = 0.4 部件加速比Se = 10根据()011 1.5625(10.4)0.4/101n n T S Fe T Fe Se ====-+-+ 1.10 计算机系统中有三个部件可以改进,这三个部件的部件加速比为: 部件加速比1=30; 部件加速比2=20; 部件加速比3=10 (1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?(2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:(1)在多个部件可改进情况下,Amdahl 定理的扩展:()011231123123n nT S Fe Fe Fe T Fe Fe Fe Se Se Se ==---+++ 已知S1=30,S2=20,S3=10,Sn =10,F1=0.3,F2=0.3,得: 得F3=0.36,即部件3的可改进比例为36%。
计算机系统结构__《张晨曦、王志英》课后习题参考答案第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
第 1 章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl 定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。
差别只是执行时间的不同。
向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。
向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能运行于在它之后(前)投入市场的计算机。
兼容机:由不同公司厂家生产的具有相同系统结构的计算机。
模拟:用软件的方法在一台现有的计算机(称为宿主机)上实现另一台计算机(称为虚拟机)的指令系统。
仿真:用一台现有计算机(称为宿主机)上的微程序去解释实现另一台计算机(称为目标机)的指令系统。
并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
只要在时间上相互重叠,就存在并行性。
它包括同时性与并发性两种含义。
时间重叠:在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
资源重复:在并行性概念中引入空间因素,以数量取胜。
通过重复设置硬件资源,大幅度地提高计算机系统的性能。
资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。
耦合度:反映多机系统中各计算机之间物理连接的紧密程度和交互作用能力的强弱。
紧密耦合系统:又称直接耦合系统。
在这种系统中,计算机之间的物理连接的频带较高,一般是通过总线或高速开关互连,可以共享主存。
松散耦合系统:又称间接耦合系统,一般是通过通道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。
计算机之间的相互作用是在文件或数据集一级上进行。
异构型多处理机系统:由多个不同类型、至少担负不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。
同构型多处理机系统:由多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。
1.2 试用实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系。
答:如在设计主存系统时,确定主存容量、编址方式、寻址范围等属于计算机系统结构。
确定主存周期、逻辑上是否采用并行主存、逻辑设计等属于计算机组成。
选择存储芯片类型、微组装技术、线路设计等属于计算机实现。
计算机组成是计算机系统结构的逻辑实现。
计算机实现是计算机组成的物理实现。
一种体系结构可以有多种组成。
一种组成可以有多种实现。
1.3 计算机系统结构的Flynn分类法是按什么来分类的?共分为哪几类?答:Flynn分类法是按照指令流和数据流的多倍性进行分类。
把计算机系统的结构分为:(1)单指令流单数据流SISD(2)单指令流多数据流SIMD(3)多指令流单数据流MISD(4)多指令流多数据流MIMD1.4 计算机系统设计中经常使用的4个定量原理是什么?并说出它们的含义。
答:(1)以经常性事件为重点。
在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。
(2)Amdahl定律。
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
(3)CPU性能公式。
执行一个程序所需的CPU时间= IC×CPI×时钟周期时间。
(4)程序的局部性原理。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。
1.5 分别从执行程序的角度和处理数据的角度来看,计算机系统中并行性等级从低到高可分为哪几级?答:从处理数据的角度来看,并行性等级从低到高可分为:(1)字串位串:每次只对一个字的一位进行处理。
这是最基本的串行处理方式,不存在并行性;(2)字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。
已开始出现并行性;(3)字并位串:同时对许多字的同一位(称为位片)进行处理。
这种方式具有较高的并行性;(4)全并行:同时对许多字的全部位或部分位进行处理。
这是最高一级的并行。
从执行程序的角度来看,并行性等级从低到高可分为:(1)指令内部并行:单条指令中各微操作之间的并行;(2)指令级并行:并行执行两条或两条以上的指令;(3)线程级并行:并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位;(4)任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元;(5)作业或程序级并行:并行执行两个或两个以上的作业或程序。
1.6 某台主频为400MHz的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:求该计算机的有效CPI 、MIPS 和程序执行时间。
解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (2)MIPS 速率=f/ CPI =400/1.776 =225.225MIPS(3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575s1.7 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少?解 由题可知: 可改进比例 = 40% = 0.4 部件加速比 = 10 根据Amdahl 定律可知:()5625.1104.04.011=+-=系统加速比采用此增强功能方法后,能使整个系统的性能提高到原来的1.5625倍。
1.8 计算机系统中有三个部件可以改进,这三个部件的部件加速比为:部件加速比1=30; 部件加速比2=20; 部件加速比3=10(1) 如果部件1和部件2的可改进比例均为30%,那么当部件3的可改进比例为多少时,系统加速比才可以达到10?(2) 如果三个部件的可改进比例分别为30%、30%和20%,三个部件同时改进,那么系统中不可加速部分的执行时间在总执行时间中占的比例是多少?解:(1)在多个部件可改进情况下,Amdahl 定理的扩展:∑∑+-=iii n S FF S )1(1已知S 1=30,S 2=20,S 3=10,S n =10,F 1=0.3,F 2=0.3,得:)()(10/20/0.330/0.30.30.3-111033F F +++++=得F 3=0.36,即部件3的可改进比例为36%。
(2)设系统改进前的执行时间为T ,则3个部件改进前的执行时间为:(0.3+0.3+0.2)T = 0.8T ,不可改进部分的执行时间为0.2T 。
已知3个部件改进后的加速比分别为S 1=30,S 2=20,S 3=10,因此3个部件改进后的执行时间为:T TT T T n 045.0102.0203.0303.0'=++=改进后整个系统的执行时间为:Tn = 0.045T+0.2T = 0.245T那么系统中不可改进部分的执行时间在总执行时间中占的比例是:82.0245.02.0=TT1.9 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。
具体数据(百万条指令)(周期)(周期)操作1 10 2 1 操作2 30 20 15 操作3 35 10 3 操作41541(1)改进后,各类操作的加速比分别是多少?(2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少? 解:根据Amdahl 定律SeFeFe S n +-=)1(1可得操作类型 各类操作的指令条数在程序中所占的比例F i各类操作的加速比S i各类操作单独改进后,程序获得的加速比操作1 11.1% 2 1.06 操作2 33.3% 1.33 1.09 操作3 38.9% 3.33 1.37 操作416.7%41.144类操作均改进后,整个程序的加速比:2.16)1(1≈+-=∑∑i ii n S F F S第2章指令集结构的分类2.1解释下列术语堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。
累加器型机器:CPU 中存储操作数的单元是累加器的机器。
通用寄存器型机器:CPU 中存储操作数的单元是通用寄存器的机器。
CISC:复杂指令集计算机RISC:精简指令集计算机寻址方式:指令系统中如何形成所要访问的数据的地址。
一般来说,寻址方式可以指明指令中的操作数是一个常数、一个寄存器操作数或者是一个存储器操作数。
数据表示:硬件结构能够识别、指令系统可以直接调用的那些数据结构。
2.2区别不同指令集结构的主要因素是什么?根据这个主要因素可将指令集结构分为哪3类?答:区别不同指令集结构的主要因素是CPU中用来存储操作数的存储单元。