计算机系统结构(课后习题答案)(2)

2019-01-10 11:50

计算机系统结构课后习题答案

关键寄存器的内容等全部压入堆栈,待子程序返回时,再从堆栈中弹出。

4.设某机阶值6位、尾数48位,阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出其最小阶、最大阶、阶的个数、最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。

解: 依题意知:p=6 m=48 rm=2, 8, 16,m'=m/log2(rm),列下表:

最小阶(非负阶,最小为0) 最大阶(2^p-1) 最小尾数值(rm^(-1)) 最大尾数值(1-rm^(-m')) 可表示的最小值 可表示的最大值 阶的个数(2^p) 可表示的尾数的个数 可表示的规格化数的个数 p=6,m=48,rm=2(m'=48) 0 2^6-1 1/2 p=6,m=48,rm=8(m'=16) p=6,m=48,rm=16(m'=12) 0 2^6-1 1/8 1-8^(-16),即(1-2^(-48)) 1/8 8^63*(1-8^(-16)) 2^6 8^16*(8-1)/8 2^6*8^16*(8-1)/8 0 2^6-1 1/16 1-16^(-12),即(1-2^(-48)) 1/16 16^63*(1-16^(-12)) 2^6 16^12*(16-1)/16 2^6*16^12*(16-1)/16 1-2^(-48) 1/2 2^63*(1-2^(-48)) 2^6 2^48*(2-1)/2 2^6*2^48*(2-1)/2 note: 可表示的最小值=rm^(最小阶)*最小尾数值=rm^0*rm^(-1)=rm^(-1); 可表示的最大值=rm^(最大阶)*最大尾数值=rm^(2^p-1)*(1-rm^(-m')); 可表示的尾数的个数=rm^m'*(rm-1)/rm;

可表示的规格化数的个数=阶的个数*尾数的个数=2^p*rm^m'*(rm-1)/rm。

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 第 6 页 共 61 页

计算机系统结构课后习题答案

最小尾数值 最大尾数值 最大阶值 可表示的最小值 可表示的最大值 可表示数的个数 10^-1=0.1 1-10^-1=0.9 2p^-1=3 0.1 10^3*0.9=900 36 4^-1=0.25 1-4^-2=15/16 3 0.25 4^3*15/16=60 48 题中“按照使用的倍数来说,等价于m=4,” 这个m=4,因为2^3<10<2^4,等价为实际要4个二进制位,表示RM=10为基的一位

6.由4位数(其中最低位为下溢附加位)经ROM查表舍入法,下溢处理成3位结果,设计使下溢处理平均误差接近于零的ROM表,列出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 111 7.变址寻址和基址寻址各适用于何种场合?设计一种只用6位地址码就可指向一个大地址空间中任意64个地址之一的寻址机构。

答: 基址寻址是对逻辑地址空间到物理地址空间变换的支持,以利于实现程序的动态再定位。变址寻址是对数组等数据块运算的支持,以利于循环。将大地址空间64个地址分块,用基址寄存器指出程序所在块号,用指令中6位地址码表示该块内64 个地址之一,这样基址和变址相结合可访问大地址任意64个地址之一。比如地址空间很大,为0-1023,只用6位地址码就可以指向这1024个地址中的任意64个。

剖析: 比如地址空间很大,1024,就是分成16个块,块号放在寄存器中,块内地址放在地址位中,寄存器内容和地址位结合,就能达到要求了。 8.经统计,某机器14条指令的使用频度分别为:

0.01,0.15,0.12,0.03,0.02,0.04,0.02,0.04,0.01,0.13,0.15,0.14,0.11,0.03。分别求出用等长码、Huffman码、只有两种码长的扩展操作码3种编码方式的操作码平均码长。 解: 等长操作码的平均码长=4位;Huffman编码的平均码长=3.38位;只有两种码长的扩展操作码的平均码长=3.4位。

9.若某机要求:三地址指令4条,单地址指令255条,零地址指令16条。设指令字长为12位.每个地址码长为3位。问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。 答: ①不能用扩展码为其编码。

第 7 页 共 61 页

计算机系统结构课后习题答案

∵指令字长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条,满足题目要求 note:

三地址指令格式: 操作码 地址码 地址码 地址码 3位 3位 3位 3位 单地址指令格式: 操作码 地址码 9位 3位

所以前面9位由于三地址指令用了最前面3位,还有中间6位可作为编码(也就是总共可以有9位作为单地址指令的指令操作码的编码)。减去3地址指令的4条,有4*2^6=256条,但由于韪目要求要有255条,所以剩下一个编码,已经用了9位的全部编码,最后零地址指令(全部12位都可作为操作码的编码)还有1*2^3=8 (这是12位编码中最后三位的)若只要求254种,则可以有(256-254)*2^3=16条

10.某机指令字长16位。设有单地址指令和双地址指令两类。若每个地址字段为6位.且双地址指令有X条。问单地址指令最多可以有多少条? 答: 单地址指令最多为(16-X)×2^6

P.S.双地址指令最多是2^(16-6-6)=2^4=16条, 现双地址指令有X条, ∴可有(16-X)条编码作为扩展码, ∴单地址指令最多为(16-X)×2^6=256条

11.何谓指令格式的优化?简要列举包括操作码和地址码两部分的指令格式优化可采用的各种途径和思路。

答: 指令格式的优化指如何用最短位数表示指令的操作信息和地址信息,使程序中指令的平均字长最短。

第 8 页 共 61 页

计算机系统结构课后习题答案

①操作码的优化

采用Huffman编码和扩展操作码编码。 ②对地址码的优化: 采用多种寻址方式;

采用0、1、2、3等多种地址制;

在同种地址制内再采用多种地址形式,如寄存器-寄存器型、寄存器-主存型、主存-主存型等; 在维持指令字在存储器内按整数边界存储的前提下,使用多种不同的指令字长度。 12.某模型机9条指令使用频率为:

ADD(加) 30% SUB(减) 24% JOM(按负转移) 6% STO(存) 7% JMP(转移) 7% SHR(右移) 2% CIL(循环) 3% CLA(清加) 20% STP(停机) 1%

要求有两种指令字长,都按双操作数指令格式编排,采用扩展操作码,并限制只能有两种操作码码长。设该机有若干通用寄存器,主存为16位宽,按字节编址,采用按整数边界存储。任何指令都在一个主存周期中取得,短指令为寄存器-寄存器型,长指令为寄存器-主存型,主存地址应能变址寻址。

(1)仅根据使用频率,不考虑其它要求,设计出全Huffman操作码,计算其平均码长; (2)考虑题目全部要求,设计优化实用的操作形式,并计算其操作码的平均码长; (3)该机允许使用多少可编址的通用寄存器? (4)画出该机两种指令字格式,标出各字段之位数;

(5)指出访存操作数地址寻址的最大相对位移量为多少个字节?

解: 第(1)和(2)中Huffman和扩展操作码的编码及平均码长如下表: 指令Ii I1 I2 I3 I4 I5 I6 I7 I8 I9 使用频度Pi Huffman编码 扩展操作码编码 30% 24% 20% 7% 7% 6% 3% 2% 1% 10 00 01 1100 1101 1110 11110 111110 111111 00 01 10 11000 11001 11010 11011 11100 11101 第 9 页 共 61 页

计算机系统结构课后习题答案

西个马pili (3)8个。

(4)两种指令格式如下图所示: 2位 3位 3位 OP R1 R2 操作码 寄存器1 寄存器2 5位 3位 3位 5位 OP R1 X d

操作码 寄存器1 变址寄存器 相对位移 主存逻辑地址

(5)访存操作数地址寻址的最大相对位移量为32个字节。 13.设计RISC机器的一般原则及可采用的基本技术有那些?

答: 一般原则: (1)确定指令系统时,只选择使用频度很高的指令及少量有效支持操作系统,高级语言及其它功能的指令;

(2)减少寻址方式种类,一般不超过两种; (3)让所有指令在一个机器周期内完成;

(4)扩大通用寄存器个数,一般不少于32个,尽量减少访存次数; (5)大多数指令用硬联实现,少数用微程序实现; (6)优化编译程序,简单有效地支持高级语言实现。 基本技术:

(1)按RISC一般原则设计,即确定指令系统时,选最常用基本指令,附以少数对操作系统等支持最有用的指令,使指令精简。编码规整,寻址方式种类减少到1、2种。

(2)逻辑实现用硬联和微程序相结合。即大多数简单指令用硬联方式实现,功能复杂的指令用微程序实现。

(3)用重叠寄存器窗口。即:为了减少访存,减化寻址方式和指令格式,简单有效地支持高级语言中的过程调用,在RISC机器中设有大量寄存嚣,井让各过程的寄存器窗口部分重叠。 (4)用流水和延迟转移实现指令,即可让本条指令执行与下条指令预取在时间上重叠。另外,将转移指令与其前面的一条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,使预取指令不作废,节省一个机器周期。

(5)优化设计编译系统。即尽力优化寄存器分配,减少访存次数。不仅要利用常规手段优化编译,还可调整指令执行顺序,以尽量减少机器周期等。

第 10 页 共 61 页

2.61 2.78


计算机系统结构(课后习题答案)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:专题11 完形填空之议论文-2017年高考英语冲刺专题卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: