计算机系统结构课后答案
(完整版)计算机系统结构(课后习题答案)

第一章计算机系统结构的基本概念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级构成。
其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
计算机组成与系统结构课后答案免费版全(清华大学出版社 袁春风主编)

计算机组成与系统结构课后答案免费版全(清华大学出版社袁春风主编)计算机组成与系统结构课后答案免费版全(清华大学出版社-袁春风主编)第一章练习答案5.若有两个基准测试程序p1和p2在机器m1和m2上运行,假定m1和m2的价格分别是5000元和8000元,下表给出了p1和p2在m1和m2上所花的时间和指令条数。
程序p1p2m1指令条数200×106300×103执行时间(ms)100003指令条数150×106420×103m2执行时间(ms)50006请回答下列问题:(1)对于p1,哪台机器的速度快?快多少?对于p2呢?(2)在m1上执行p1和p2的速度分别是多少mips?在m2上的执行速度又各是多少?从执行速度让我们看看,对于P2,哪台机器速度快?多快?(3)假设M1和M2的时钟频率分别为800 MHz和1.2 GHz,则P1在M1和M2上执行时的平均时钟周期期数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。
对于m2,p1的速度为:150m/5=30mips;p2为420k/0.006=70mips。
就执行速度而言,对于P2,因为100/70=1.43倍,M1比m2快0.43倍。
(3)在M1上执行P1时的平均时钟周期数CPI为:10×800m/(200×106)=40在m2上执行p1时的平均时钟周期数cpi为:5×1.2g/(150×106)=40。
计算机组成与系统结构课后答案全(清华大学出版社_袁春风主编)

(2)[x]补=10000000 (4)[x]补=11010011 x = –0.0011001B x = –10000000B = –128 x = +0.101001B x = – 101101B = – 45
7.假定一台 32 位字长的机器中带符号整数用补码表示,浮点数用 IEEE 754 标准表示,寄存器 R1 和 R2 的内容分别为 R1:0000108BH,R2:8080108BH。不同指令对寄存器进行不同的操作,因而,不同 指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器 R1 和 R2 的内 容,则 R1 和 R2 中操作数的真值分别为多少? (1) 无符号数加法指令 (2) 带符号整数乘法指令 (3) 单精度浮点数减法指令 参考答案: R1 = 0000108BH = 0000 0000 0000 0000 0001 0000 1000 1011b R2 = 8080108BH = 1000 0000 1000 0000 0001 0000 1000 1011b (1) 对于无符号数加法指令, R1 和 R2 中是操作数的无符号数表示, 因此, 其真值分别为 R1: 108BH, R2:8080108BH。 (2)对于带符号整数乘法指令,R1 和 R2 中是操作数的带符号整数补码表示,由最高位可知, R1 为正数, R2 为负数。R1 的真值为+108BH, R2 的真值为–(0111 1111 0111 1111 1110 1111 0111 0100b + 1b) = –7F7FEF75H。 (3)对于单精度浮点数减法指令,R1 和 R2 中是操作数的 IEEE754 单精度浮点数表示。在 IEEE 754 标准中,单精度浮点数的位数为 32 位,其中包含 1 位符号位,8 位阶码,23 位尾数。 由 R1 中的内容可知, 其符号位为 0, 表示其为正数, 阶码为 0000 0000, 尾数部分为 000 0000 0001 0000 1000 1011,故其为非规格化浮点数,指数为–126,尾数中没有隐藏的 1,用十六进制表示 尾数为+0.002116H,故 R1 表示的真值为+0.002116H × 10-126。 由 R2 中的内容可知, 其符号位为 1, 表示其为负数, 阶码为 0000 0001,尾数部分为 000 0000 0001 0000 1000 1011,故其为规格化浮点数,指数为 1–127 = –126,尾数中有隐藏的 1,用十六进制 表示尾数为–1.002116H,故 R2 表示的真值为–1.002116H × 10-126
计算机系统结构课后答案chap2-answer

第二章计算机指令集结构设计名词解释1.堆栈型机器——CPU中存储操作数的单元是堆栈的机器。
2.累加型机器——CPU中存储操作数的单元是累加器的机器。
3.通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。
4.CISC——复杂指令集计算机。
5.RISC——精简指令集计算机。
@2.2堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点2.3常见的三种通用寄存器型机器的优缺点各有哪些指令集结构设计所涉及的内容有哪些(1)指令集功能设计:主要有RISC和CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
(4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
(5)((6)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。
简述CISC计算机结构指令集功能设计的主要目标。
从当前的计算机技术观点来看,CISC结构有什么缺点CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。
从目前的计算机技术观点来看,CISC结构存在以下几个缺点:(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。
(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。
(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
(5)^(6)在结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。
计算机组成与系统结构课后答案全(清华大学出版社袁春风主编)

第1章习题答案5.若有两个基准测试程序 P1 和 P2 在机器 M1 和 M2 上运行,假定 M1 和 M2的价格分别是5000 元和 8000元,下表给出了P1和P2在M1和 M2 上所花的时间和指令条数。
程序M1M2指令条数执行时间 (ms)指令条数执行时间 (ms)P1×610000×65000200 10150 10P2300×1033420×1036请回答下列问题:(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 。
对于 M2 , P1 的速度为: 150M/5=30MIPS ; P2 为 420k/0.006=70MIPS 。
从执行速度来看,对于P2,因为 100/70=1.43 倍,所以M1 比 M2 快 0.43 倍。
(3)在 M1上执行P1 时的平均时钟周期数CPI 为: 10×800M/(200×106)=40 。
计算机体系结构课后答案

计算机体系结构课后答案【篇一:计算机体系结构习题(含答案)】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 章习题答案5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。
请回答下列问题:(1)对于P1,哪台机器的速度快?快多少?对于P2呢?(2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(3)假定M1和M2的时钟频率各是800MHz和,则在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/=100MIPS。
对于M2,P1的速度为:150M/5=30MIPS;P2为420k/=70MIPS。
从执行速度来看,对于P2,因为100/70=倍,所以M1比M2快倍。
(3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。
在M2上执行P1时的平均时钟周期数CPI为:5×(150×106)=40。
(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。
故性价比R为:R=1/(执行时间×价格)R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。
因为10×5000 > 5×8000,所以,M2的性价比高。
计算机系统结构——课后答案

习题一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、对汇编语言程序员,下列(A )不是透明的。
A: 中断字寄存器 B: 乘法器 C: 移位器 D: 指令缓冲器2、假设对A机器指令系统的每条指令的解释执行可直接由B机器的一段微程序解释执行,则A称为(D )。
A: 仿真机 B: 宿主机 C: 虚拟机 D: 目标机3、 1. 查看下面三条指令:V3←A;V2←V0+V1;V4←V2*V3;假设向量长度小于64,且前后其他的指令均没有相关性,数据进入和流出每个功能部件,包括访问存储器都需要一拍的时间,假设向量的长度为N。
三条指令全部采用串行的方法,那么执行的时间是:A: 3N+20 B: 3N+21 C: 3N+22 D: 3N+234、某向量处理机有16个向量寄存器,其中V0-V5种分别存放有向量A,B,C,D,E,F,向量的长度是8,向量各元素均为浮点数;处理部件采用两个单功能流水线,加法功能部件时间为2拍,乘法功能部件时间为3拍。
采用类似CRAY-1的链接技术,先计算(A+B)*C,在流水线不停的情况下,接着计算(D+E)*F。
求此链接流水线的通过时间是多少拍?(设寄存器出入各需1拍)A: 8 B: 9 C: 17 D: 185、设有一个4个处理器的MIMD系统,假设在系统中访存取指和取数的时间可以忽略不计;加法与乘法分别需要2拍和4拍;在MIMD系统中处理器(机)之间每进行一次数据传送的时间为1拍;在MIMD系统中,每个PE都可以和其它PE有直接的的通路。
求利用此系统计算表达式所需的节拍数。
A: 23 B: 12 C: 11 D: 106、以下哪些是周期窃取方式的特点?A : 硬件结构简单B : 硬件结构复杂C : 数据输入或输出过程中占用了CPU时间D : 数据输入或输出过程中不占用CPU时间7、从下列有关Cache的描述中,选出应填入空格中的正确答案:(1)今有甲、乙两台计算机,甲计算机的Cache存取时间为50ns,主存储器为2us;乙计算机的Cache存储时间为100ns,主存储器为1.2us。
计算机系统结构课后答案chap2-answer

第二章计算机指令集结构设计2.1 名词解释1.堆栈型机器——CPU中存储操作数的单元是堆栈的机器。
2.累加型机器——CPU中存储操作数的单元是累加器的机器。
3.通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。
4.CISC——复杂指令集计算机。
5.RISC——精简指令集计算机。
2.2堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点?2.3常见的三种通用寄存器型机器的优缺点各有哪些?2.4 指令集结构设计所涉及的内容有哪些?(1)指令集功能设计:主要有RISC和CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
(4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
(5)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。
2.5 简述CISC计算机结构指令集功能设计的主要目标。
从当前的计算机技术观点来看,CISC结构有什么缺点?CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。
从目前的计算机技术观点来看,CISC结构存在以下几个缺点:(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。
(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。
(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
计算机系统结构教程课后答案

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.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、从(使用语言的)角度可以将系统看成是按(功能)划分的多个机器级组成的层次结构。
2、计算机系统结构的层次结构由高到低分别为(应用语言机器级,高级语言机器级,汇编语言机器级,操作系统机器级,传统机器语言机器级,微程序机器级)。
3、应用程序语言经(应用程序包)的(翻译)成高级语言程序。
4、高级语言程序经(编译程序)的(翻译)成汇编语言程序。
5、汇编语言程序经(汇编程序)的(翻译)成机器语言程序。
6、在操作系统机器级,一般用机器语言程序(解释)作业控制语句。
7、传统机器语言机器级,是用(微指令程序)来(解释)机器指令。
8、微指令由(硬件)直接执行。
9、在计算机系统结构的层次结构中,机器被定义为(能存储和执行相应语言程序的算法和数据结构)的集合体。
10、目前M0由(硬件)实现,M1用(微程序(固件))实现,M2到M5大多用(软件)实现。
以(软件)为主实现的机器成为虚拟机。
(虚拟机)不一定全用软件实现,有些操作也可用(固件或硬件)实现。
11、透明指的是(客观存在的事物或属性从某个角度看不到),它带来的好处是(简化某级的设计),带来的不利是(无法控制)。
12、计算机系统结构也称(计算机体系结构),指的是(传统机器级的系统结构)。
它是(软件和硬件/固件)的交界面,是机器语言汇编语言程序设计者或编译程序设计者看到的(机器物理系统)的抽象。
13、计算机组成指的是(计算机系统结构的逻辑实现),包括(机器级内的数据流和控制流)的组成及逻辑设计等。
计算机实现指的是(计算机组成的物理实现),它着眼于(器件)技术和(微组装)技术。
14、确定指令系统中是否要设乘法指令属于(计算机系统结构),乘法指令是用专门的高速乘法器实现还是用加法器实现属于(计算机组成),乘法器和加法-移位器的物理实现属于(计算机实现)。
15、主存容量与编址方式的确定属于(计算机系统结构),主存是否采用多体交叉属于(计算机组成),主存器件的选定属于(计算机实现)。
计算机系统结构课后答案(1)

第四章课后题1、设二级虚拟存储器的TA1=10^(-7)s、TA2=10^(-2)s,为使存储层次的访问效率e达到最大值的80%以上,命中率H至少要求达到多少实际上这样高的命中率是很难达到的,那么从存储层次上如何改进解:∵e=1/[H+(1-H)r] 且 r=TA2/TA1 ∴H至少达到%这样的命中率很难达到,可在二级存储器间加一层电子磁盘,降低r,从而降低对H的要求。
2、程序存放在模32单字交叉存储器中,设访存申请队的转移概率λ为25%,求每个存储周期能访问到的平均字数。
当模数为16呢由此你可得到什么结论解:B=[ 1-(1-λ)^m] /λ由λ=,m=32 求得:B=4-4*(3/4)^32=4同理,m=16时 ,B=4-4*(3/4)^16=由此可看出,当转移概率λ为25%比较大时,采用模32与模16的每个存储周期能访问的平均字数非常相近。
就是说,此时,提高模数m对提高主存实际频宽已不显著。
实际上,模数m的进一步增大,会因工程实现上的问题,导致实际性能反而可能比模16的还要低,且价格更高。
所以模数m不宜太大。
对于λ为2 5%的情况,可以计算机出m=8时,其B已经接近于了。
3、设主存每个分体的存取周期为2μs,宽度为4个字节。
采用模m多分体交叉存取,但实际频宽只能达到最大频宽的倍。
现要求主存实际频宽为4MB/S,问主存模数m应取多少方能使两者速度基本适配其中m取2的幂。
解:由题意已知存取周期Tm=2*10^(-6)s,宽度W=4B,B实==4*2^20B/S,Bm=W*m/Tm=*10^6B/Sm=Bm*Tm/W=*10^6*2*10^-6/4=所以m取4能满足要求.①微秒(百万分之一秒) 1μs=10^-6s②计量单位中的M(兆)是10的6次方,见到M自然想起要在该数值的后边续上六个0,即扩大一百万倍。
在二进制中,MB也表示到了百万级的数量级,但1MB不正好等于1000000字节,而是1048576字节,即 1MB = 2E+20 Bytes = 1048 576Bytes。
计算机系统结构教程课后解答

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-6章习题答案

1 2 3 4 5 6
8 16 24 32 40 48
1*82
2*82 3*82 4*82 5*82 6*82 7*82
4/8 5/8 6/8
7/8
7
56
2)规格化浮点数表: rm=2时,规格化浮点数共有4*8=32个 rm=8时,规格化浮点数共有7*8=56个,在[0.5,112]中, 有数19个(上表中红的数字表示)。
§4通道(CH)
一、CH的基本工作原理 CH执行CH程序的过程 CH的任务 二、CH流量计算和时空图绘制 CH的类型 CH流量计算 字节多路CH响应处理时空图的绘制 1)计算每个子CH提供一个字节时间(1/f) 2)画出一个完整申请周期时空图 3)计算字节多路CH对每个字节响应的最长用时
第一章参考答案: 1.应用语言级 高级语言级 汇编语言级 操作系统级 机器语言级 微程序语言级。 2. 从上而下 从下到上 专用机 通用机 3. 软、硬件交界面 计算机系统的性能/价格比 4 . 1 T FLOPS 的计 算能力 1 TBy te 的 主存容量 1 TByte/s 的I/O带宽 5. 虚拟机 实际机器 6. 统一高级语言 模拟 仿真 系列机 7. 控制流 数据流 SISD SIMD MISD MIMD 8. 汇编语言程序员 9. 任务单一化 操作重叠化 吞吐匹配化 程序多道 化
嵌套
中断处理程序 一 二 三 响② 嵌套 四 五
t
返回主程序
例4 解 (1)处理顺序为 2-3-1-5-4 (2)中断响应处理时空图 中断请求 主程序 ①③ ②③④⑤
嵌套
中断处理程序 一 二 三 四 五
响① 嵌套
t
返回主程序
1 分别利用两级描述符和三级描述符描述下列阵列数
计算机体系结构课后习题原版答案-张晨曦著(2)

第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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么?答:数据表示是能由硬件直接识别和引用的数据类型。
数据结构反映各种数据元素或信息单元之间的结构关系。
数据结构要通过软件映象变换成机器所具有的各种数据表示实现,所以数据表示是数据结构的组成元素。
不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性不同。
数据表示和数据结构是软件、硬件的交界面。
除基本数据表示不可少外,高级数据表示的引入遵循以下原则:(1)看系统的效率有否提高,是否养活了实现时间和存储空间。
(2)看引入这种数据表示后,其通用性和利用率是否高。
2、标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?答:标志符数据表示指将数据类型与数据本身直接联系在一起,让机器中每个数所都带类型樗位。
其优点是:(1)简化了指令系统和程序设计;(2)简化了编译程序;(3)便于实现一致性校验;(4)能由硬件自动变换数据类型;(5)支持数据库系统的实现与数据类型无关;(6)为软件调试和应用软件开发提供支持。
缺点是:(1)会增加程序所点的主存空间;(2)在微观上对机器的性能(运算速度)不利。
数据描述符指数据的描述与数据分开存放,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址住处它具备标志符数据表示的优点,并减少了标志符数据表示所占的空间,为向量和数组结构的实现提供支持。
数据描述符方法优于标志符数据表示,数据的描述与数据分开,描述所访问的数据是整块还是单个的,及访问该数据块或数据元素的地址信息,减少了樗符数据表示所占的窨。
用描述符方法实现阵列数据的索引比用变址方法实现要方便,且便于检查出程序中的阵列越界错误。
但它不能解决向量和数组的高速运算问题。
而在有向量、数组数据表示的向量处理机上,硬件上设置有丰富的赂量或阵列运算指令,配有流水或阵列方式处理的高速运算器,不仅能快速形成向量、数组的元素地址,更重要的是便于实现把向量各元素成块预取到中央处理机,用一条向量、数组指令流水或同时对整个向量、数组高速处理.如让硬件越界判断与元素运算并行。
这些比起用与向量、阵列无关的机器语言和数据表示串行实现要高效的多。
3、堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?答:有堆栈数据表示的机器称为堆栈机器。
它与一般通用寄存器型机器不同。
通用寄存器型机器对堆栈数据结构实现的支持是较差的。
表现在:(1)堆栈操作的指令少,功能单一;(2)堆栈在存储器内,访问堆栈速度低;(3)堆栈通常只用于保存于程序调用时的返回地址,少量用堆栈实现程序间的参数传递。
而堆栈机器为堆栈数据结构的实现提供有力的支持.表现在:(1)有高速寄存器组成的硬件堆栈,并与主存中堆栈区在逻辑上组成整体,使堆栈的访问速度是寄存器的,容量是主存的;(2)丰富的堆栈指令可对堆栈中的数据进行各种运算和处理;(3)有力地支持高级语言的编译;(4)有力地支持子程序的嵌套和递归调用。
堆栈型机器系统结构有力地支持子程序的嵌套和递归调用。
可将以下信息全部压栈,包括:保存子程序的返回地址,保存条件码,保存关键寄存器内容,保存必要的全局型、局部型参数,为子程序开辟存放局部变量和中间结果的工作区。
4、设某机阶值6位、尾数48位,阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数、最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。
解:依题意知:p=6 m''=48 rm=2, 8, 16lanjing:lanjing:5、(1)浮点数系统使用的阶基rp=2,阶值位数p=2,尾数基值rm=10,以rm为基的尾数位数m''=1,按照使用的倍数来说,等价于m=4,试计算在非负阶、正尾数、规格化情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。
(2)对于rp=2,p=2,rm=4,m''=2,重复以上计算。
解:依题意知列下表:p=2,rm=10,m''=1 p=2,rm=4,m''=2最小尾数值 10^-1= 4^-1=最大尾数值 1-10^-1= 1-4^-2=15/16最大阶值 2p^-1=3 3可表示的最小值可表示的最大值 10^3*=900 4^3*15/16=60可表示数的总个数 36 48不明白题中“按照使用的倍数来说,等价于m=4,” 这句话是什么意思,有什么作用呢?6、由4位数(其中最低位为下溢附加位)经ROM查表舍入法,下溢处理成3位结果,设计使下溢下处理平均误差接近于零的ROM表,列出ROM编码表地址与内容的对应关系。
解:地址 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111内容 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 1117、变址寻址和基址寻址各适用于何种场合?设计一种只用6位地址码就可指向一个大地址空间中任意64个地址之一的寻址机构。
解:基址寻址是对逻辑地址空间到物理地址空间变换的支持,以利于实现程序的动态再定位。
变址寻址是对数组等数据块运算的支持,以利于循环。
将大地址空间64个地址分块,用基址寄存器指出程序所在块号,用指令中6位地址码表示该块内64个地址之一,这样基址和变址相结合可访问大地址任意64个地址之一。
以下摘自南京大学出版社出版,李学干主编的辅导书变址寻址适合在标量计算机中,通过循环程序访问变址寄存器,修改其变址值来对向量或数组等数据结构中的各元素进行访问和处理。
基址寻址则主要是用于程序的逻辑地址空间到物理地址空间的变换,以支持程序使用动态再定位的技术。
设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构,意味着指令中为寻址该操作数的地址码只有6位,只好用来表示这64个地址中的任一个。
那么这64个地址之一应当是在哪个大的地址空间的,就得使用其他办法来指明。
这里可列举常见的两种做法。
一种是采用隐含寻址,让标志这64个地址是相对哪个基点地址的区域用指令隐式规定的某个专门的寄存器中所存放的基址值来给出。
例如,可约定某个变址寄存器或某个基址器。
程序执行时,每当要访存时,就可以经硬件加法器将隐含寄存器的基址值与指令中给出的6位相对位移量相加来形成其访存单元的物理地址。
另一种是规定基点地址就是程序计数器,程序计数器(PC)存放的是当前所执行指令的下一条指令所在主存中的地址(或偏移地址)。
因此,可以通过使用无条件转移指令来修改PC的内容,实现在一个大的地址空间中的访问,这就是所谓的PC自相对寻址。
做法是通过将PC 的内容与指令中所提供的6位相对位移量相加来形成主存单元的物理地址。
8.经统计,某机器14条指令的使用频度分别为:,,,,,,,,,,,,,。
分别求出用等长码、Huffman码、只有两种码长的扩展操作码3种编码方式的操作码平均码长。
解:等长操作码的平均码长=4位;Huffman编码的平均码长=位;只有两种码长的扩展操作码的平均码长=位。
9.若某机要求:三地址指令4条,单地址指令255条,零地址指令16条。
设指令字长为12位.每个地址码长为3位。
问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。
答:①不能用扩展码为其编码。
∵指令字长12位,每个地址码占3位;∴三地址指令最多是2^(12-3-3-3)=8条,现三地址指令需4条,∴可有4条编码作为扩展码,∴单地址指令最多为4×2^3×2^3=2^8=256条,现要求单地址指令255条,∴可有一条编码作扩展码∴零地址指令最多为1×2^3=8条不满足题目要求∴不可能以扩展码为其编码。
②若单地址指令254条,可以用扩展码为其编码。
∵依据①中推导,单地址指令中可用2条编码作为扩展码∴零地址指令为2×2^3=16条,满足题目要求10、某机指令字长16位。
设有单地址指令和双地址指令两类。
若每个地址字段为6位.且双地址指令有X条。
问单地址指令最多可以有多少条?答:双地址指令最多是2^(16-6-6)=2^4=16条,现双地址指令有X条,∴可有(16-X)条编码作为扩展码,∴单地址指令最多为(16-X)×2^611.何谓指令格式的优化?简要列举包括操作码和地址码两部分的指令格式优化可采用的各种途径和思路。
答:指令格式的优化指如何用最短位数表示指令的操作信息和地址信息,使程序中指令的平均字长最短。
为此用到Huffman压缩概念。
其基本思想是,当各种事件发生概率不均等时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的事件,允许采用较长位数(时间)来表示(处理),会导致表示(处理)的平均位数(时间)的缩短。
①用此思想可对操作码进行优化。
首先通过大量已有典型程序进行统计,可得到每种指令在程序中出现的概率(使用频度)。
然后构造它们的Huffman树。
方法如下:a)被统计指令按使用频由小到大排列;b)每次选择其中最小的二个频度合成一个频度是它们二者之和的新结点,并将该结点按频度大小插到余下的未参与结合的频度值中;c)如此继续,直至全部频度结合完毕形成根结点。
最后从根结点开始对每个结点的两个分支分别用0、1表示,则到达各频度指令的代码序列就构成该频度指令的Huffman码。
Huffman码是最优化的编码,但这种编码码长种类太多.不便于译码,不能实用,为此可采用下面的扩展操作码编码。
扩展操作码编码是介于定长二进制编码和全Huffman编码之间的一种编码,仍利用Huffman压缩思想,使操作码平均长度缩短。
其操作码长度不定,但只有有限几种码长,是一种可实用的优化编码方法。
扩展方法应根据指令使用频度pi的分布而定.如pi 值在头15种指令中都比较大,但在30种指令以后急剧减少,则宜选15/15/15法;若pi值在头8种指令中较大,之后的64种指令pi值也不低时,则宜选8/64/512法。
衡量标准是哪种编码使平均长度最短。
②对地址码的优化:操作码的优化表示可以使指令总位数减少,但为不降低访存指令的速度.必须维持指令字按整数边界存储,所以首先应考虑地址码也用可变长.让长操作码与短地址码配合.即使是定长指令字,也可利用操作码优化腾出的空白。
减少存储空间的浪费。
如果最常用的操作码最短,其地址码个数越多指令功能越强。