收藏 分销(赏)

计算机体系结构第四章练习题参考解答.doc

上传人:a199****6536 文档编号:9516357 上传时间:2025-03-29 格式:DOC 页数:8 大小:96.54KB
下载 相关 举报
计算机体系结构第四章练习题参考解答.doc_第1页
第1页 / 共8页
计算机体系结构第四章练习题参考解答.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述
第 四 章 4.52 浮点数系统使用阶码基值re=2, 阶值位数q=2, 尾数基值rm=10, 尾数位数p′=1, 即根据使用二进制位数来说, 等价于p=4。计算在非负阶、 正尾数、 规格化情况下最小尾数值、 最大尾数值、 最大阶值、 可表示最小值和最大值及可表示数个数。 解: 最小尾数值: rm-1 = 10-1 = 0.1 最大尾数值: 1- rm-p′ =1-10-1 = 0.9 最大阶值: 2q-1=3 可表示数最小值: 1×rm-1 = 10-1 = 0.1 可表示数最大值: rm2q-1×(1- rm-p′)=103(1-10-1)= 900 可表示数个数: 2q×rmp′(rm-1)/rm = 22×101(10-1)/10 = 36 4.53 一台机器要求浮点数字长精度不低于10-7.2, 表数范围正数大于1038, 且正负对称。尾数用原码、 纯小数表示, 阶码用移码、 整数表示。设计这种浮点数格式。 解 依题意, 取表数范围N =1038, 表数精度δ=10-7.2。 由式(4-4)得: = 6.99, 上取整, 得到阶码字长q=7。 由式(4-5)得: , 上取整, 得到尾数字长p=24。 从而加上一个尾数符号位和一个阶码符号位, 浮点数总字长为: p+q+2=24+7+2=33。 实际浮点数总字长应为8倍数, 故取浮点数总字长为40位。多出7位能够加到尾数字长p中用于提升浮点数表数精度, 也能够加到阶码字长q中来扩大浮点数表数范围。暂且让p增加6位, q增加1位, 即p=30, q=8。如图4-8所表示是设计出来浮点数格式。 长度 1 p=30 1 q=8 位序 39 38 9 8 7 0 尾符S 尾数M 阶符F 阶码E 图4-8 例4.2浮点数设计格式 4.58 用于文字处理某专用机, 每个文字符用4位十进制数字(0~9)编码表示, 空格用︼表示。在对传送文字符和空格进行统计后, 得出它们使用频度以下: ︼: 0.20 0:0.17 1:0.06 2:0.08 3:0.11 4:0.08 5: 0.05 6:0.08 7:0.13 8:0.03 9:0.01 (1)若对数字0~9和空格采取二进制编码, 试设计编码平均长度最短编码。 (2)若传送106个文字符号, 且每个文字符号后均自动跟一个空格, 按最短编码, 共需传送多少个二进制位?若传送波特率为9600bPS, 共需传送多少时间? (3)若对数字0~9和空格采取4位定长码编码, 重新计算问题(2)。 解: (1)∵操作码编码平均长度最短为Huffman编码, 生成Huffman树, 如图所表示, 对应Huffman编码如表所表示。l=×li = 3.23(位)。 (2)依据题意, 每个字符二进制码平均长度为: 3.23×(4+1)=16.15(位)。若要传输106个字符, 则要传输二进制位数为: 106×16.15 =1.615×107(位) 若波特率为56Kb/s, 则传输时间为: 1.615×107/(56×103)=288(s)。 1.00 0.01 0.04 0.09 0.20 0.40 0.03 0.05 0.11 0.20 0.08 0.06 0.14 0.27 0.60 0.16 0.08 0.13 0.33 0.17 0.08 (3)当采取四位定长编码时, 则需要传输二进制位数为: 106×4(4+1)=2×107(位), 传输时间为: 2×107/(56×103)=357(s)。 1 0 1 0 1 0 ︼ 1 0 1 0 1 0 3 7 0 5 1 6 4 2 Ii Pi Huffman编码 Li ︼ 0.20 10 2 0 0.17 000 3 7 0.13 010 3 3 0.11 110 3 2 0.08 0010 4 4 0.08 0011 4 6 0.08 0110 4 1 0.06 0111 4 5 0.05 1110 4 8 0.03 11110 5 9 0.01 11111 5 9 8 4.60 一台模型机共有7条指令, 各指令使用频度分别为: 35%, 25%, 20%, 10%, 5%, 3%, 2%, 有8个通用数据寄存器, 2个变址寄存器。 (1)要求操作码平均长度最短, 请设计操作码编码, 并计算操作码编码平均长度。 (2)设计8位字长寄存器—寄存器型指令3条, 16位字长寄存器一存放器型变址寻址方法指令4条, 变址范围大于正、 负127。请设计指令格式, 并给出指令各字段长度和操作码编码。 解: (1)∵操作码编码平均长度最短为Huffman编码, 生成Huffman树如图所表示, 对应Huffman编码如表所表示。l=×li = 2.35(位) 1.00 0.02 0.05 0.10 0.20 0.40 0.03 0.05 0.10 0.20 0.25 0.60 0.35 Ii Pi Huffman编码 Li 2-4编码(3/4) Li I1 0.35 00 2 00 2 I2 0.25 01 2 01 2 I3 0.20 10 2 10 2 I4 0.10 110 3 1100 4 I5 0.05 1110 4 1101 4 I6 0.03 11110 5 1110 4 I7 0.02 11111 5 1111 4 (2)因为通用寄存器有8个, 则指令中通用寄存器字段应为3位; 操作码字段2位可有4个码点, 用三个码点表示三条指令, 另一个码点则作为扩展标志。所以3条8位长寄存器—寄存器型指令格式以下: 操作码(2位)寄存器1(3位)寄存器2(3位) 因为变址寄存器有2个, 则指令中变址寄存器字段应为1位; 变址范围-127~+127, 则指令中相对位移字段应为8位; 操作码字段前2位可有4个码点, 用三个码点表示三条指令, 另一个码点则作为扩展标志。扩展2位恰好可表示四条指令, 操作码字段则为4位。所以4条16位长寄存器—存放器型指令格式以下: 操作码(4位)寄存器(3位)变址寄存器(1位)相对位移(8位) 尤其地, 当采取3/4扩展编码时, 使用频度高用短码表示, 使用频度低用长码表示, 其对应编码如表所表示。 4.65 某模型机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)依据给出使用频度, 在结构Huffman树过程中, 有两个结点可供合并, 所以可生成不一样Huffman树, 其中给出一棵如图所表示, 对应Huffman编码如表所表示。 ∴ Huffman编码平均长度为: l=×li l=0.3×2+0.24×2+0.2×2+0.07×4+0.07×4+0.06×4+0.03×5+0.02×6+0.01×6=2.61(位) 0.56 0.01 0.03 0.06 0.12 0.26 0.02 0.03 0.06 0.07 0.14 1.00 0.20 0.07 0.44 0.24 0.30 ADD CLA SUB J0M JMP STO CIL 指令 Ii Pi Huffman编码 Li 2-5编码(3/6) Li ADD I1 0.30 01 2 00 2 SUB I2 0.24 11 2 01 2 CLA I3 0.20 10 2 10 2 STO I4 0.07 0011 4 11001 5 JMP I5 0.07 0010 4 11010 5 JOM I6 0.06 0001 4 11011 5 CIL I7 0.03 00001 5 11100 5 SHR I8 0.02 000001 6 11101 5 STP I9 0.01 000000 6 11110 5 STP SHR (2)任何指令都在一个主存周期中取得, 那么短指令字长为8位, 长指令字长为16位。又指令都是二地址指令, 所以短指令寄存器--寄存器型格式为: 操作码(2位)寄存器1(3位)寄存器2(3位) 长指令为寄存器--主存型格式为: 操作码(5位)寄存器(3位)变址寄存器(3位)相对位移(5位) 由题意可知: 指令操作码采取扩展编码, 且只能有两种码长。从指令使用频度来看, ADD、 SUB和CLA三条指令使用频度与其它指令使用频度相差较大, 所以用两位操作码三个码点来表示三条指令, 一个码点作为扩展码点, 且扩展三位来表示六条指令, 即采取2--4扩展编码组成3/6编码, 2--4扩展编码如表所表示。 ∴ 2--4扩展编码(3/6)平均长度为: l=×li=2.78 (3)(4)由短指令寄存器--寄存器型格式可知, 寄存器号字段长度为3位, 寄存器个数为8个。则各字段长度如图格式所标识。 而对于长指令寄存器--主存型, 通常变址寄存器是某通用寄存器, 则变址寄存器号字段长度为3位, 则各字段长度如图格式所标识。 (5)因为相对位移字段长度为5位, 所以访存地址寻址最大相对位移量为25=32字节。 4.79 下面是一段数据块迁居程序。在RISC处理机中, 为了提升指令流水线实施效率, 通常要采取指令取消技术。 START: MOVE AS, R1 ; 把源数组起始地址送入变址寄存器R1 MOVE NUM, R2 ; 把传送数据个数送入R2 LOOP: MOVE (R1), AD-AS(R1) ; AD-AS为地址偏移量, 在汇编过程中计算 INC R1 ; 增量变址寄存器 DEC R2 ; 剩下数据个数减1 BGT LOOP ; 测试N个数据是否传送完成 HALT ; 停机 NUM: N ; 需要传送数据总数 (1)假如一条指令实施过程分解为“取指令”和“分析”两个阶段, 并采取两级流水线。为了采取指令取消技术, 请修改上面程序。 (2)假如N=100, 采取指令取消技术后, 在程序实施过程中, 能够节省多少个指令周期? (3)假如把一条指令实施过程分解为“取指令”、 “分析”(包含译码和取操作数等)和“实施”(包含运算和写回结果等)三个阶段, 并采取三级流水线。仍然要采取指令取消技术, 请修改上面程序。 解: (1)START: MOVE AS, R1 MOVE NUM, R2 MOVE (R1), AD-AS(R1) LOOP: INC R1 DEC R2 BGT LOOP MOVE (R1), AD-AS(R1) HALT NUM: N (2)处理转移指令引发流水线断流可插入一条无效空操作指令(NOP)。空操作指令也要占用一个机器周期, 又不实施任何实际操作。当N=100时, 则要浪费100个机器周期(50个指令周期)。采取指令取消技术后, 仅在转移不成功时取消指令, 浪费1个机器周期(0.5个指令周期)。所以可节省49.5个指令周期。 (3)START: MOVE AS, R1 MOVE NUM, R2 MOVE (R1), AD-AS(R1) INC R1 LOOP: DEC R2 BGT LOOP MOVE (R1), AD-AS(R1) INC R1 HALT NUM: N
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服