• 回答数

    4

  • 浏览数

    186

栗子酱89
首页 > 自考本科 > 计算机系统结构自考教材答案解析

4个回答 默认排序
  • 默认排序
  • 按时间排序

renee的天空

已采纳

全国2007年7月高等教育自学考试 计算机系统结构试题 课程代码:02325 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选、多选或未选均无分. 1.对计算机系统结构透明的是()A.VLSI技术 B.虚拟存储器C.字符行运算指令 D.是否使用通道型I/O处理机2.下面说法中不正确的是()A.软件设计费用比软件重复生产费用高B.硬件的设计费用比软件的设计费用低C.硬件的生产费用比软件的生产费用高D.硬件功能只需实现一次,而软件功能可能要多次重复实现3.堆栈型机器比通用寄存器型机器优越的是()A.能更好地支持向量的运算B.能优化存储器的空间利用率C.支持先进先出类解题算法的求解D.支持由逆波兰表达式将高级语言多元赋值语句直接编译生成堆栈指令程序4. 尾数下溢处理平均误差可调整到零的方法是()A.截断法 B.舍入法C.恒置"1"法 D.ROM查表法5.中断响应由高到低的优先次序宜用()A.程序性→I/O→访管 B.外部→访管→程序性C.访管→程序性→机器故障 D.访管→程序性→重新启动6.不属于堆栈型替换算法的是()A.先进先出法 B.近期最久未用过法C.近期最少使用法 D.页面失效频率法7.块冲突概率最高的Cache地址映象方式是()A.直接 B.组相联C.段相联 D.全相联8.指令间"一次重叠"是指()A."取指k+1"与"分析k"重叠 B."分析k+1"与"执行k"重叠C."分析k"与"执行k+1"重叠 D."执行k"与"取指k+1"重叠9.16个处理器用单级网络互连,将9号连到13号处理器,可用()A.Cube3 B.PM2+4C.PM2+2 D.Shuffle10.多端口存储器适合于连接()A.松耦合多处理机 B.紧耦合多处理机C.机数很多的多处理机 D.机数可变的多处理机 二、填空题(本大题共10小题,每小题1分,共20分) 请在每小题的空格中填上正确答案.错填、不填均无分. 11.系列机软件兼容必须做到向______________兼容,尽可能争取向______________兼容.12.仿真和模拟的主要区别在于解释用的语言.仿真是用微程序解释,其解释程序在______________中,而模拟是用______________解释,其解释程序在主存中.13.浮点数阶码位数影响数的可表示______________大小,尾数位数影响数的可表示______________大小.14.集中式总线控制根据优先次序的不同可以有____________、定时查询和______________三种不同方式.15.程序的局部性包括______________上的局部性和______________上的局部性.16.为提高页式虚拟存储器内部地址变换的速度,可将其内部映象表又分成由____________表和______________表组成的一个二级表层次.17.异步流水线会出现顺序流动流水线不可能发生的" "相关和" "相关.18.解决重叠方式相关处理的两种基本方法有" "和设置"相关专用通路".后者是以______________为代价,使重叠效率不下降.19.N个结点的混洗交换网络中,最远的两个入、出端的二进制编号是______________和______________,其最大距离为2n-1.20.弗林(Michael J·Flynn)提出按指令流和数据流的多倍性对计算机系统分类,把计算机系统分成SISD、SIMD、______________和______________四大类. 三、简答题(本大题共5小题,每小题6分,共30分) 21.计算机系统"由中间开始"设计,其"中间"指的是什么地方?这样设计的优点是什么?22.浮点数尾数基值减少时,对机器数的表示会产生哪些影响?23.在页式虚拟存储器中,什么是页面失效?什么是页面争用?什么时候两者同时发生?什么时候两者不同时发生?24.流水机器的中断处理有哪两种方法?各有什么优缺点?25.多处理机的并行性表现在哪些方面?开发多处理机的并行性有哪些途径? 四、简单应用题(本大题共2小题,每小题10分,共20分) 26.有8台外设,各设备要求传送信息的工作速率分别如下表所示.现设计的通道,在数据传送期,每选择一次设备需2μs,每传送一个字节数据也需要2μs.(1)若用作字节多路通道,通道工作的极限流量是多少?(2)作字节多路通道用时,希望同时不少于4台设备挂在此通道上,最好多挂一些,且高速设备尽量多挂一些,请问应选哪些设备挂在此通道上?为什么? 设备标识 ABCDEFGH工作速率(kB/s)500240100755040141027.若系统要求主存实际频宽至少为8MB/s,采用模m多体交叉存取,但实际频宽只能达到最大频宽的0.55倍.(1)现设主存每个分体的存取周期为2μs,宽度为8个字节,则主存模数m(取2的整数幂)应取多少才能满足要求?(2)若主存每个分体的存储周期为2μs,宽度为2个字节,则主存模数m(取2的整数幂)应取多少才能满足需求?五、综合应用题(本大题共2小题,每小题10分,共20分) 28.文电由A—J及空格字符组成,其字符出现频度依次为0.17,0.05,0.20,0.06,0.08,0.03,0.01,0.08,0.13,0.08,0.11.(1)各字符用等长二进制码编码,传送103个字符时,共需传送多少个二进制码码位?(2)构造Huffman树,写出各字符的二进制码码位数;(3)按Huffman编码,计算字符的二进位平均码长;(4)按Huffman码传送103个字符时,与定长码编码传送相比,可减少传送的二进制码码位数是多少?29.有一个4段的单功能非线性流水线,预约表如下表所示.(1)写出延迟禁止表、冲突向量,并画出冲突向量状态转移图;(2)写出其流水线的最佳调度方案及此时的最大吞吐率.(注:t1,t2,t3,t4,t5,t6之间相隔Δt时间)全国2008年4月自学考试计算机系统结构试题 课程代码:02325 一、单项选择题(本大题共10小题,每小题1分,共10分) 在下列每小题的四个备选答案中选出一个正确答案,并将其字母标号填入题干的括号内。错选、多选或未选均无分。 1.系统程序员不透明的应当是() A.Cache存储器 B.虚拟存储器 C.指令缓冲寄存器 D.系列机各档不同的数据通路宽度 2.“从中间开始”设计的“中间”目前多数在() A.传统机器语言机器级与操作系统机器级之间 B.传统机器语言机器级与微程序机器级之间 C.微程序机器级与汇编语言机器级之间 D.操作系统机器级与汇编语言机器级之间 3.计算机中优化使用的操作码编码方法是() A.哈夫曼编码 B.ASCII码 C.BCD码 D.扩展操作码 4.指令执行结果出现异常引起的中断是() A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 5.以下不属于堆栈型替换算法的是() A.近期最少使用算法 B.近期最久未用过算法 C.先进先出算法 D.页面失效频率算法 6.以下与虚拟存储器的等效访问速度无关的是() A.页地址流 B.页面调度策略 C.主存的容量 D.辅存的容量 7.以下说法不正确的是() A.线性流水线是单功能流水线 B.动态流水线是多功能流水线 C.静态流水线是多功能流水线 D.动态流水线只能是单功能流水线 8.流水处理机对全局性相关的处理不包括() A.猜测法 B.提前形成条件码 C.加快短循环程序的执行 D.设置相关专用通路 9.拓扑结构用多级立方体网络,二功能交换单元,级控制方式,这种网络称为() A.Omega网络 B.交换网络 C.间接二进制n方体网络 D.数据变换网络 10.能实现作业、任务级并行的异构型多处理机属() A.SIMD B.MISD C.MIMD D.SISD 二、填空题(本大题共10小题,每小题2分,共20分) 请在每小题的空格中填上正确答案。错填、不填均无分。 11.多机系统的耦合度可以分为最低耦合、___________耦合和___________耦合。 12.开发计算机系统结构并行性的主要技术途径有时间重叠、___________和___________。 13.自定义数据表示包括___________数据表示和___________两类。 14.系统效率是否提高是引入数据表示的一条重要原则,它表现在是否减少了实现的___________和所需的___________。 15.在满足通道设计流量不低于设备工作时的最大流量时,为使微观上不丢失设备信息,可 以加设___________或动态提高响应的___________来弥补。 16.Cache存储器若采用全相联映象规则,则主存中___________块都可映象装入到Cache中___________块的位置上。 17.流水线消除速度瓶颈的方法有瓶颈子过程___________和瓶颈子过程___________两种。 18.流水有部件级、处理机级、系统级等不同等级,多个处理机之间的流水属于___________ 级流水,也称___________流水。 19.不同的多级互连网络,在所用的___________、拓扑结构和___________上各有不同。 20.多处理机的互连形式一般有总线形式、环形互连形式、___________形式、多端口存储器形式和___________形式等几种。 三、简答题(本大题共5小题,每小题6分,共30分) 21.简述多处理机要解决的主要技术问题(至少写出6个)。 22.总线控制方式有哪三种?各需要增加几根用于总线控制的控制线?并说明每种方式优先级的灵活性。 23.实现软件移植的途径有哪些?各受什么限制? 24.什么是全排列网络?实现全排列网络有哪两种方法? 25.解决计算机主存与CPU的速度差对机器性能的影响,可采用哪

282 评论

原谅未来的未来

4.3 根据需要展开下面的循环并进行指令调度,直到没有任何延迟。指令的延迟如表4.4。LOOP: L.D F0,0(R1)MUL.D F0,F0,F2L.D F4,0(R2)ADD.D F0,F0,F4S.D F0,0(R2)DSUBI R1,R1,#8DSUBI R2,R2,#8BNEZ R1,LOOP解:将循环展开两次,进行指令调度,即可以消除延迟,代码如下:LOOP: L.D F0,0(R1)L.D F10,-8(R1)MUL.D F0,F0,F2MUL.D F10,F10,F2L.D F4,0(R2)L.D F14,-8(R2)ADD.D F0,F0,F4ADD.D F10,F10,F14DSUBI R1,R1,16S.D 0(R2),F0DSUBI R2,R2,16BNEZ R1,LOOPS.D 8(R2),F104.4 假设有一条长流水线,仅仅对条件转移指令使用分支目标缓冲。假设分支预测错误的开销为4个时钟周期,缓冲不命中的开销为3个时钟周期。假设:命中率为90%,预测精度为90%,分支频率为15%,没有分支的基本CPI为1。(1) 求程序执行的CPI。(2) 相对于采用固定的2个时钟周期延迟的分支处理,哪种方法程序执行速度更快?解:(1)程序执行的CPI = 没有分支的基本CPI(1) + 分支带来的额外开销分支带来的额外开销是指在分支指令中,缓冲命中但预测错误带来的开销与缓冲没有命中带来的开销之和。分支带来的额外开销= 15% * (90%命中×10%预测错误×4 + 10%没命中×3)= 0.099所以,程序执行的CPI = 1 + 0.099 = 1.099(2)采用固定的2 个时钟周期延迟的分支处理CPI = 1 + 15%×2 = 1.3由(1)(2)可知分支目标缓冲方法执行速度快。4.5 假设分支目标缓冲的命中率为90%,程序中无条件转移指令的比例为5%,没有无条件转移指令的程序CPI值为1。假设分支目标缓冲中包含分支目标指令,允许无条件转移指令进入分支目标缓冲,则程序的CPI值为多少?解:设每条无条件转移指令的延迟为x,则有:1+5%×x=1.1x=2当分支目标缓冲命中时,无条件转移指令的延迟为0。所以 程序的CPI = 1 + 2 × 5% ×(1 -90%) =1.014.6 下面的一段MIPS汇编程序是计算高斯消去法中的关键一步,用于完成下面公式的计算:Y = a  X + Y其浮点指令延迟如表4.3所示,整数指令均为1个时钟周期完成,浮点和整数部件均采用流水。整数操作之间以及与其它所有浮点操作之间的延迟为0,转移指令的延迟为0。X中的最后一个元素存放在存储器中的地址为DONE。FOO: L.D F2,0(R1)MUT.D F4,F2,F0L.D F6,0(R2)ADD.D F6,F4,F6S.D F6,0[R2]DADDIU R1,R1,#8DADDIU R2,R2,#8DSUBIU R3,R1,#DONEBNEZ R3, FOO(1) 对于标准的MIPS单流水线,上述循环计算一个Y值需要多少时间?其中有多少空转周期?(2) 对于标准的MIPS单流水线,将上述循环顺序展开4次,不进行任何指令调度,计算一个Y值平均需要多少时间?加速比是多少?其加速是如何获得的?(3) 对于标准的MIPS单流水线,将上述循环顺序展开4次,优化和调度指令,使循环处理时间达到最优,计算一个Y值平均需要多少时间?加速比是多少?(1) 对于采用如图4.8前瞻执行机制的MIPS处理器(只有一个整数部件)。当循环第二次执行到BNEZ R3,FOO时,写出前面所有指令的状态,包括指令使用的保留站、指令起始节拍、执行节拍和写结果节拍,并写出处理器当前的状态。(2) 对于2路超标量的MIPS流水线,设有两个指令流出部件,可以流出任意组合的指令,系统中的功能部件数量不受限制。将上述循环展开4次,优化和调度指令,使循环处理时间达到最优。计算一个Y值平均需要多少时间?加速比是多少?(3) 对于如图4.13结构的超长指令字MIPS处理器,将上述循环展开4次,优化和调度指令,使循环处理时间达到最优。计算一个Y值平均需要多少时间?加速比是多少?解:(1)L.D F2, 0(R1) 1StallMUT.D F4, F2, F0 2L.D F6, 0(R2) 3StallStallADD.D F6, F4, F6 4StallStallS.D F6, 0[R2] 5DADDIU R1, R1, #8 6DADDIU R2, R2, #8 7DSUBIU R3, R1, #DONE 8BNEZ R3, FOO 9所以,共有14 个时钟周期,其中有5 个空转周期。(2)循环顺序展开4 次,不进行任何指令调度,则指令1~5 及其间的stall 都是必要的,只是指令6~9 只需执行一次,因此,共有 10 × 4 + 4 = 44 个时钟周期,计算出4 个Y 值,所以计算一个Y 值需要11 个时钟周期,加速比为:14/11 = 1.27 。加速主要是来自减少控制开销,即减少对R1、R2 的整数操作以及比较、分支指令而来的。(3)循环顺序展开4 次,优化和调度指令,如下:L.D F2, 0(R1)L.D F8, 8(R1)L.D F14, 16(R1)L.D F20, 24(R1)MUT.D F4, F2, F0MUT.D F10, F8, F0MUT.D F16, F14, F0MUT.D F22, F20, F0L.D F6, 0(R2)L.D F12, 8(R2)L.D F18, 16(R2)L.D F24, 24(R2)ADD.D F6, F4, F6ADD.D F12, F10, F12ADD.D F18, F16, F18ADD.D F24, F22, F24S.D F6, 0[R2]S.D F12, 8[R2]S.D F18, 16[R2]S.D F24, 24[R2]DADDIU R1, R1, #32DADDIU R2, R2, #32DSUBIU R3, R1, #DONEBNEZ R3, FOO共用了24 个时钟周期,则计算一个Y 值平均需要 24/4 = 6 个时钟周期,加速比:14/6 = 2.33(4)指令 指令执行时钟流出 执行 写结果 确认L.D F2, 0(R1) 1 2 3 4MUL.D F4, F2, F0 2 4 5 6L.D F6, 0(R2) 3 4 6 7ADD.D F6, F4, F6 4 8 9 10S.D F6, 0(R2) 5 11 12 13DADDIU R1, R1, #8 6 7 8DADDIU R2, R2, #8 7 8 9DSUBIU R3,R1,#DONE 8 9 10BNEZ R3, FOO 9 10L.D F2, 0(R1) 10 11 13 14MUL.D F4, F2, F0 11 13 14 15L.D F6, 0(R2) 12 13 15 16ADD.D F6, F4, F6 13 17 18 19S.D F6, 0(R2) 14 20 21 22DADDIU R1, R1, #8 15 16 17DADDIU R2, R2, #8 16 17 18DSUBIU R3,R1,#DONE 17 18 19BNEZ R3, FOO 18名称 保留站Busy Op Vj Vk Qj Qk Dest AAdd1 yes ADD.D Regs[F4] Regs[F6 ]Add2 noAdd3 noMult1 yesMult2 no项号 ROBBusy 指令 状态 目的 Value1 yes ADD.D F6, F4, F6 执行 F6 Regs[F4]+Regs[F6]2 yes S.D F6, 0(R2) 流出 Mem[0+Regs[R2]] #2字段 浮点寄存器状态F0 F2 F4 F6 F8 F10 … F30ROB项编号 1Busy yes …(5)整数指令 浮点指令 时钟周期数L.D F2, 0(R1) 1L.D F8, 8(R1) 2L.D F14, 16(R1) MUT.D F4, F2, F0 3L.D F20, 24(R1) MUT.D F10, F8, F0 4L.D F6, 0(R2) MUT.D F16, F14, F0 5L.D F12, 8(R2) MUT.D F22, F20, F0 6L.D F18, 16(R2) ADD.D F6, F4, F6 7L.D F24, 24(R2) ADD.D F12, F10, F12 8DADDIU R1, R1, #32 ADD.D F18, F16, F18 9S.D F6, 0(R2) ADD.D F24, F22, F24 10S.D F12, 8(R2) 11S.D F18,16(R2) 12S.D F24, 24(R2) 13DADDIU R2, R2, #32 14DSUBIU R3, R1, #DONE 15BNEZ R3, FOO 16计算一个Y值需要 16/4 = 4 个时钟周期,加速比 = 14/4 = 3.5(6)访存1 访存2 浮点指令1 浮点指令2 整数指令 时钟周期L.DF2, 0(R1) L.D F8, 8(R1) 1L.DF14, 16(R1) L.DF20, 24(R1)L.DF6, 0(R2) L.DF12, 8(R2) MUT.DF4, F2, F0 MUT.DF10, F8, F0 3L.DF18, 16(R2) L.DF24, 24(R2) MUT.DF16, F14, F0 MUT.DF22, F20, F0 4ADD.DF6, F4, F6 ADD.DF12, F10, F12 5ADD.DF18, F16, F18 ADD.DF24, F22, F24 DADDIU R1, R1, #32 6DADDIU R2, R2, #32 7DSUBIUR3, R1, #DONE 8BNEZ R3, FOO 9S.DF6, -32(R2) S.DF12, -24(R2) 10S.DF18,-16(R2) S.DF24, -8(R2) 11计算一个Y值需要 11/4 个时钟周期,加速比 = 14/(11/4) = 56/11

274 评论

沐沐沐牧

题2.1 数据结构和机器的数据表示之间是什么关系?确定和引入数据表示的基本原则是什么?[解答] 数据表示是数据结构的组成元素,数据结构要通过软件映象变换成机器所具有的各种数据表示来实现。不同的数据表示可为数据结构的实现提供不同的支持,表现在实现效率和方便性上不同。数据结构和数据表示是软件和硬件之间的交界面。确定和引入数据表示的基本原则:一是看系统效率有否提高,即是否减少了实现的时间和存贮的空间,实现时间有否减少又主要看在主存和处理机之间传送的信息量有否减少;二是看引入这种数据表示的通用性和利用率是否较高。题2.2 标志符数据表示与描述符数据表示有何区别?描述符数据表示与向量数据表示对向量数据结构所提供的支持有什么不同?[解答] 在标志符数据表示中,标志符是与每个数据相连的,并且合存在同一个存贮单元中,用于描述单个数据的类型等属性;在描述符数据表示中,数据描述符是与数据分开独立存放的,主要是用于描述成块数据的类型属性,地址及其它信息的。描述符数据表示在实现向量、阵列数据元素的索引上要比用变址方法的方便,能更快地形成元素的地址,从而可以迅速进行访问,同时,也有利于检查程序中的向量、数组在使用中是否越界。因此,它为向量、数组数据结构的实现提供了一定的支持,有利于简化编译中的代码生成。但是,描述符数据表示并没有向量、数组的运算类指令,也没有采用流水或处理单元阵列形式的高速运算硬件,没有时阵列中每个元素又是一个子阵列的相关型交叉阵列进行处理的硬件。也投有时大量元素是零的稀疏向量和数据进行压缩存贮、还原、运算等指令和硬件。因此,它对向量和数组的数据结构提供的支持不够强,所以并不是向量数据表示。题2.3 堆栈型机器与通用寄存器型机器的主要区别是什么?堆栈型机器系统结构为程序调用的哪些操作提供了支持?[解答] 通用寄存器型机器对堆栈数据结构的实现支持较差。这表现在:堆栈操作用的机器指令数少,一般只是些简单的压入(PUSH)和弹出(POP)之类的指令,功能单一;堆栈被放置于主存中,因此每次访问堆栈都要进行访存,速度低;堆栈一般只用于保存于程序调用时的返回地址,只有少量参数经堆栈来传递,大部分参数都是通过寄存器或内存区来传递的。堆栈型机器则不同,它主要表现在:有高速寄存器型的硬件堆栈,附加有控制电路让它与主存中的堆栈区在逻辑上构成一个整体,从而使堆栈的访问速度接近于寄存器的速度,容量却是主存的;有对堆栈的栈顶元素或栈顶元素和次栈顶元素进行各种操作和运算处理的丰富的堆栈操作指令,且功能很强;有力地支持高级语言程序的编译,由逆波兰表达式作为编译的中间语言,就可直接生成堆栈指令构成的程序,进行多元素表达式的计算,有力地支持于程序的嵌套和递归调用。堆栈型机器系统结构为程序的嵌套和递归调用提供了很强的支持,表现在:在程序调用时,不仅用堆栈保存返回地址,还保存条件码等多种状态信息和某些关键寄存器的内容,如全局性参数、局部性参数,以及为被调用的程序在堆栈中建立一个存放局部变量、中间结果等现场信息的工作区。堆栈机器在程序调用时,将这些内容全部用硬件方式压入堆栈。当子程序返回时,返回地址、运算结果、返回点现场信息均通过于程序返回指令用硬件方式从堆栈中弹出。只需修改堆栈指针内容就可删去堆栈中不用的信息。堆栈机器能及时释放不用的单元,访问堆栈时大量使用零地址指令,省去了地址码字段。即使访问主存,也采用相对寻址,使访存的地址位数较少,从而使堆栈型机器上运行的程序较短,程序执行时所用的存贮单元数少,存贮效率较高。题2.4 设某机阶码6位、尾数48位。阶符和数符不在其内,当尾数分别以2、8、16为基时,在非负阶、正尾数、规格化数情况下,求出 其最小阶、最大阶、阶的个数,最小尾数值、最大尾数值、可表示的最小值和最大值及可表示的规格化数的总个数。[分析] 由教材中图2.7的浮点数表示格式可知,阶码6位,就是阶码部分除去阶符外,剩下的阶码值部分为6位;尾数48位,就是尾数的二进位位数m=48位。当尾数基值为rm时,尾数每一个rm。进制数位需用 个二进位表示。尾数基值为rm的尾数位数m’=m/ 。对于rm为2、8、16时,m’分别为48、16、12位。由于是非负阶,最小阶应当是阶值部分为全“0”。所以,最小阶为0。最大阶应当是阶值部分6位为全‘l”,所以,最大阶为2 -1,即26-1(=63)。阶的个数由阶值0到2 -1l,共有2 个,即64个。所谓规格化正尾数,就是正尾数小数点后的第1个rm进制数位不是0的数。因为尾数为全“0”的数是机器零,不作为机器中可表示的数。所以,最小正尾数值应当是rm进制尾数的小数点后第1个rm进制数位为“1”,其余数位为全“0”的数值,即1 rm 。最大正尾数值当然是rm进制尾数各数位均为rm一1的数。可以设想,在小数点后,rm进制的第m’个数位上加1,即加上rm-m’,就会使整个尾数值变为1。所以。可表示的最大尾数值应当是1- rm-m’。按浮点数表示格式的含义,浮点数的值应当是r 尾数值。浮点数可表示的最小值应当是阶为非负阶的最小值0,尾数为规格化最小正尾数值,所以,可表示浮点数最小值应当为rm0• rm-1= rm-1;可表示浮点数的最大值应当是阶为正的最大值2 -1,尾数为规格化正尾数最大值,所以,可表示浮点数的最大值应为r •(1- r )。可表示的浮点数规格化数的总个数应当是可表示阶的个数与可表示尾数的个数的乘积。由于在m’个尾数rm进制数位中,每个数位均可以有0~(rm-1),共有rm个码,所以,尾数的编码总个数为r 个,但应当去掉小数点后第1个数位是0的那些非规格化的数。显然,非规格化数的个数占了全部尾数可编码总数的l/rm的比例。所以,可表示的浮点数规格化数的总个数就为2 •r •(1-1/rm) 。只要将p、m、m’、 rm的具体值代入上述各式就可以得到本题的解答。[解答] p=6、m=48时,在非负阶、规格化、正尾数情况下,rm =2、8、16时的各个参数的计算结果如表2.1所示。非负阶、正尾数、规格化 尾基rm(p=16位,m=48位)2(m’=48) 8(m’=16) 16(m’=12)最小阶值 0 0 0 0最大阶值 2 -163 63 63阶的个数 264 64 64尾数最小值 rm-1 1/2 1/8 1/16尾数最大值 1- rm-m’ 1-2-48 1-8-16 1-16-12最小值 rm-1 1/2 1/8 1/16最大值 r •(1- r )263•(1-2-48) 863•(1-8-16) 1663•(1-16-12)数的总个数 2 •r •2715题2.5 (1)浮点数系统使用的阶基rp=2。阶码位数p=2,尾数基值rm=10,以rm为基的尾数位数m’=1,按照使用的位数来说,等价于m=4。试计算在非负阶、正尾数、规格化数情况下的最小尾数值、最大尾数值、最大阶值、可表示的最小值和最大值及可表示数的个数。(2)对于rp=2,p=2,rm=4,m’=2,重复以上计算。[分析] 因为尾数基值rm=10,所以,rm进制尾数的每个数位只能取0~9中的一个值,即每个数位能取的最大值为9。[解答] (1)在非负阶、正尾数、规格化数的情况下,最小尾数值为rm-1=l0-1=0.1最大尾数值为1- rm-m’=1-10-1=0.9最大阶值为2 -1=2可表示的最小值为=rm-1=10-1=0.1可表示的最大值为r •(1- r )=103 (1-10-1)=900可表示的数的个数为2 •r • =(2)最小尾数值为rm-1=4-1=0.25最大尾数值为1- rm-m’=1-4-2=15/16最大阶值为2 -1=22-1=3可表示的最小值为rm-1=4-1=0.25可表示的最大值为r •(1- r )=可表示的数的个数为2 •r • =4题2.6 由4位数(其中最低位为下溢处理之附加位)经ROM查表舍入法下溢处理成3位结果,设计使下滥处理干均误差接近于零的ROM表,列出ROM编码表地址与内容的对应关系。[分析] 根据题意,ROM表应当有24个单元。其中,每个单元的地址为待下溢处理的值,该地址单元的内容应为下滥处理后的3位结果值。所以,ROM表存贮单元的字长为3位。下溢处理表的填表原则是除了待处理的4位码的最高3位为全“1”时,按截断法填成全“1”外,其它情况均按4位(地址)码的最低位按0舍1入来填处理后相应该单元的3位结果。这样,既可体现出舍入法的优点。又避免了舍入法因进位影响下滥处理的速度的缺陷。同时,让完全用舍入法处理时所产生的平均误差略偏正的值可以与截断法的平均误差为负进行抵消,从而使经过这样的下溢处理之后,能让平均误差人为地调整到接近于零。[解答] ROM下溢处理表16个单元的地址码0000~1111,它与其内容(即下溢处理后的3位结果值)的对照关系如表2.2所示。地址 1111内容 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 111题2.9 变址寻址和基址寻址各适用于何种场合?设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构。[解答] 变址寻址适合在标量计算机中,通过循环程序对变址寄存#内容修改其变址值,来对向量或数组等数据结构中的元素进行访问和处理。基址寻址则主要是对程序的逻辑地址空间到物理地址空间进行变换时使用的,以支持程序使用动态再定位的技术。设计一种只用6位地址码就可以指向一个大地址空间中任意64个地址之一的寻址机构,意味着指令中为寻找该操作数的地址码只有6位,只好用来表示这64个地址中的某一个。那么,这64个地址之一应当是在哪个大的地址空间中的,就得使用其它办法来指明。这里可列举常见的两种做法。一种是采用隐含寻址,让标志这64个地址是相对哪个基点地址的区域,用指令隐式规定的某个专门的寄存器中所存放的基址值来给出。例如,可约定某个变址寄存器或某个基址寄存器。程序执行时,每当要访存时,就可以经硬件加法器将隐含寄存器的基址值与指令中给出的6位相对位移量相加来形成其访存单元的物理地址。另一种是规定基点地址就用程序计数器,程序计数器(PC)存放的是当前所执行指令 的下一条指令所在主存中的地址(或偏移地址),因此,可以通过使用无条件转移指令来修改PC的内容,实现在一个大的地址空间中的访问,这就是所谓的PC自相对寻址。做法是通过将PC的内容和指令中所提供的6位相对位移量相加来形成主存单元的物理地址。题2.8 指令中常用下列寻址方式来得到操作数:立即操作数、间接寻址、直接寻址、寄存器寻址、自相对寻址。请分别说明这些寻址方法的原理,井对它们在如下4个方面进行比较:可表示操作数的范围大小;除取指外,为获得操作数所需访问主存的最少次数;为指明该操作数所占用指令中的信息位数的多少;寻址复杂性程度。[解答] 指令为寻找或访问到所需操作数的某种寻址方式,其含义在不同的计算机中会有所差别。下面,我们以大多数计算机中的情况来定义。立即操作数的寻址原理是,操作数以常数形式直接存放在指令中操作码的后面。一旦指令被取出,操作数也被取得,立即可以使用。立即操作数由于受机器指令字长的限制,可表示数的范围小,一般为8位或16位的二进制常数。指令取出后,为获得操作数不需要再访存,即访存0次。操作数所占用指令中的信息位数是立即数在可表示最大值范围时所要占用的二进位位数。寻址的复杂性程度相对最低。间接寻址可以有寄存器间接寻址和存贮器间接寻址两种。其寻址原理是,在指令的操作数地址字段上只给出存放操作数在内存中物理地址的寄存器号或存贮单元地址。先由指令操作数地址字段,从寄存器或存贮单元中取出数在存贮器中的地址。再按此地址访存,才能间接取得所要的操作数。有的计算机在存贮器间接寻址时,还可以有多重间接寻址,即从存贮单元中取出的内容作为地址。再去访有时得到的并不是操作数,而只是操作数在内存中的地址,或是地址的地址。如此顺序递推。间接寻址访问到的操作数范围大,可以是主存中能访问到可表示数值范围最大的数。除取指外,获得所需操作数所需访问主存的最少次数,对于奇存器间接寻址为一次。对于存贮器间接寻址为两次。为指明该操作数所占用指令中的信息位数,对于寄存器间接寻址来说,只是为寄存器编号所占用的二进位位数,这种位数一般很短(例如,16个通用寄存器的编号只需用4位二进位);而对于存贮器间接寻址来说,需占访存逻辑地址所需的全部位数。间接寻址的复杂性一般最高。其中,寄存器间接寻址较存贮器间接寻址简单,最复杂的是存贮器多重间接寻址。直接寻址的原理是,由指令中操作数地址码字段给出存放操作数在内存中的有效地址或物理地址。直接寻址可表示操作数值的范围大,可以是主存中能访问的可表示值范围最大的数。除取指外,为获得所需操作数,需要再访问一次主存。为指明操作数所占用指令中的信息位数,是访存单元的有效地址或物理地址所需要的位数。直接寻址的复杂性较寄存器寻址的大,而它较寄存器间接寻址要简单些。寄存器寻址的原理是,指令的操作数地址码宇段给出存放操作数所用的寄存器号。可表示操作数的范围大小取决于存放操作数所用的寄存器的二进位位数。除取指外,为获得操作数不用访存,即访存0次。为指明操作数所占用指令中的信息位数,只是寄存器编号所占的二进位位数,很短。例如,16个寄存器编号只需4位二进位。寄存器寻址简单,其取数的时间要比访存的时间短很多。自相对寻址方式主要用于转移指令形成转向目标地址,有的也用于访问存贮器找操作数。以访问存贮器操作数寻址为例,指令中操作数字段给出所访问操作数存放在主存中相对于指令计数器当前值的位移地址。自相对寻址所寻址的操作数可表示值范围大,可以是主存中能访问的可表示值范围最大的数。除取指外,为获得操作数所需访存的次数为1次。为指明该操作数所占用指令中的信息位数取决于允许的最大相对位移量大小。寻址复杂性较直接寻址的略复杂些。题2.9 设计如IBM 370那样有基地址寄存器的机器的另一种办法是,每条指令不用现在的基地址寄存器地址(4位)加位移量(12位)共16位作为地址码,而是让每条指令都有一个24位的直接地址。针对下面两种情况,评价一下这个方法的优、缺点:(1)数据集中于有限几块,但这些块分布在整个存贮空间;(2)数据均匀地分布在整个地址空间中。你认为IBM 370的设计者在实际应用中考虑了这两种情况中的哪一种可能性?为什么?[解答] 采用基地址寄存器加位移量作地址码,使指令中操作数的地址码只需要16位,不必使用24位直接地址。这样,可以大大减少程序中操作数地址字段所占用的存贮空间量。但是,每次访主存找操作数需要将逻辑地址经地址加法器变换成24位的物理地址,这需要花费一些时间。这对于数据集中于有限几块,而这些块又是分布在整个地址空间来说是有利的。用基址指向某个局部区间在主存中的基点位置,用位移量表示局部区域内相对基点地址的位移。如果用24位地址直接寻址,将会使其高位地址码的变化频率很低,虽然这不需要地址变换,形成物理地址的速度有所加快,但程序中操作数地址字段所花费的存贮空间量较大。这种寻址对于数据均匀地分布在整个地址空间中是有利的。IBM 370设计者之所以采用基地址寄存器加位移量的方式,是因为在实际应用中,程序存在着局部性,数据往往集中簇聚于有限的几块中,这些块又可能分布在整个存贮空间里。考虑到地址加法器硬件形成物理地址的速度较高,利用哈夫曼压缩概念,从空间和时间上的得失比较来看,速度下降不太显著,却可使程序所占存贮空间有显著减少。题2.10 经统计,某机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种方式的操作码平均码长。[分析] 等长操作码的意思是不管其指令的频度如何,都用同样长度的二进制码位数来对指令操作码编码。显然,当指令系统中的指令条数为n时,等长操作码的二进制码位数应当是 。Huffman编码是用Huffman算法构造出Huffman树来得到的。它的平均码长是用 •l 计算求得的。只有两种码长的扩展操作码编码,则需要对指令使用频度进行按大小分群。将高频的指令分在同一群中,对其用短的操作码编码,而将低频的指令分在另一群中,使用长操作码编码。每一群都各自用等长操作码编码。这时,为能唯一解码和立即解码,在短操作码中还要使用某些码来作为扩展成长操作码的扩展标志码。经过综合权衡,使平均码长尽可能短,来定好长、短码的码长组配关系。从而,再用 •l 来求得其平均码长。[解答] 14条指令的等长操作码的平均码长是 位,即4位。Huffman编码可先用Huffman算法构造出Huffman树。本题的Huffman树如图2.1所示。图中,叶子上用圆括号所括起的数字是表示该频度指令所用的二进位编码的码位数, 所以Huffman编码的操作码平均码长为 •l =3.38位。采用只有两种码长的扩展操作码,可根据14条指令所给出的使用频度值分成两群。让使用频度较高的6种指令用3位操作码编码表示。例如,用000~101分别表示使用频度为0.15、0.15、0.14、0.13、0.12、0.11的指令的操作码。留下110和111两个3位码作为长码的扩展标志,扩展出2位码。从而用5位码就可以各扩展出4条使用频度较低的指令,这样,共有8条使用频度较低的指令符合题目的要求。由此可求得操作码的平均码长为•l =3 位题2.11 若某机要求有:三地址指令4条,单地址指令255条,零地址指令16条。设指令字长为12位,每个地址码长为3位。问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其理由。[分析] 无论是哈夫曼编码,还是扩展操作码编码,其中的短码都不能与长码的首都有相同的。否则,由于短码成了长码的前缀,而指令中除了操作码外,后面所跟的,或者是操作数,或者是操作数所在的寄存器编号或存贮单元的地址码,它们又都是以二进制码编码的形式出现的,所以短操作码成了长操作码的前缀,就会使指令操作码译码时,无法做到唯一译码和立即解码,这是解答本题的关键之处。[解答]根据题意,三地址指令的格式为操作码地址1 地址2 地址3操作码占了3位,用来表示4条三地址指令需用掉8个不同码中的4个码,余下有4个码可用做扩展成长操作码的扩展标志。单地址指令的格式为操作码 地址

99 评论

姜大大夫人

去考试吧找吧

251 评论

相关问答

  • 工商银行自考卡

    学位英语的名次有效期限一般是1至2年,考生需在大学毕业当初申请学位测试,并且在学位英语考试成绩期限内申请办理学位证书。每个地方的学位英语有效期限要以招生院校的相

    小七-279928530 6人参与回答 2024-06-09
  • 工商银行自考卡信用卡

    牡丹卡是工商银行的。工商银行牡丹卡怎么挂失:1、拨打工商银行客户服务热线申请挂失;2、登录工商银行网上银行申请挂失;3、到附近的工商银行营业网点办理挂失手续。工

    辉love玉 5人参与回答 2024-06-09
  • 工商银行自考卡信用卡怎么激活

    工商银行卡激活有三种方法:第一种方法是电话激活,拨打银行客服电话,按提示进行操作;第二种方法是柜台激活,带着身份证和银行卡到银行柜台即可办理激活手续;第三种方法

    电风扇啊电风扇 3人参与回答 2024-06-07
  • 工商银行自考卡借记卡

    借记卡就是我们平时说的储蓄卡,储蓄卡(借记卡)需要先存款后使用,可以办理存取款,转账汇款,资理财等业务,不能透支使用。(作答时间:2019年6月11日,如遇业务

    小石在青岛 5人参与回答 2024-06-09
  • 工商银行自考卡怎么激活

    用手机怎么激活工商银行卡的方法有: 一、电话激活: 工行信用和银行卡可通过拨打信用卡客服中心电话95588,转接人工服务,提供卡号,然后按照提示设置支付密码,即

    yolanda甯 4人参与回答 2024-06-09