ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:18.09KB ,
资源ID:8301473      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8301473.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理习题答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理习题答案.docx

1、计算机组成原理习题答案1.指令长度和机器字长有什么关系?半字长指令、单字长指令、双字长指令分别表示什么意思?解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。2.零地址指令的操作数来自哪里?一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操作数的一地址指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。例

2、如,前述零地址和一地址的加法指令。3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令已有K 种,无操作数指令已有L种,问单操作数指令最多可能有多少种?上述三类指令各自允许的最大指令条数是多少?解:X =(24-K26-jL26k双操作数指令的最大指令数:24-1。单操作数指令的最大指令数:152 6-1(假设双操作数指令仅1条,为无操作数指令留出1个扩展窗口。无操作数指令的最大指令数:216-212-26。其中212为表示某条二地址指令占用的编码数,26为表示某条单地址指令占用的编码数。此时双操作数和单操作数指令各仅有1

3、条。4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令。解:4条三地址指令000XXX YYY ZZZ011XXX YYY ZZZ8条二地址指令100000XXX YYY100111XXX YYY180条单地址指令101000000XXX111110011XXX5.指令格式同上题,能否构成:三地址指令4条,单地址指令255条,零地址指令64条?为什么?解:三地址指令4条000XXX YYY ZZZ011XXX YYY ZZZ单地址指令255条100000000XXX111111110YYY只能再

4、扩展出零地址指令8条,所以不能构成这样的指令系统。6.指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?解:主存容量越大,所需的地址码位数就越长。对于相同容量来说,最小寻址单位越小,地址码的位数就越长。7.试比较间接寻址和寄存器间址。解:间接寻址方式的有效地址在主存中,操作数也在主存中;寄存器间址方式的有效地址在寄存器中,操作数在主存中。所以间接寻址比较慢。8.试比较基址寻址和变址寻址。解:基址寻址和变址寻址在形成有效地址时所用的算法是相同的,但是它们两者实际上是有区别的。一般来说,变址寻址中变址寄存器提供修改量(可变的,而指令中提供基准值(固定的;基址寻址中基址寄存器提供基准值

5、(固定的,而指令中提供位移量(可变的。这两种寻址方式应用的场合也不同,变址寻址是面向用户的,用于访问字符串、向量和数组等成批数据;而基址寻址面向系统,主要用于逻辑地址和物理地址的变换,用以解决程序在主存中的再定位和扩大寻址空间等问题。在某些大型机中,基址寄存器只能由特权指令来管理,用户指令无权操作和修改。9.某机字长为16位,主存容量为64K 字,采用单字长单地址指令,共有50条指令。若有直接寻址、间接寻址、变址寻址、相对寻址四种寻址方式,试设计其指令格式。解:操作码6位,寻址方式2位,地址码8位。10.某机字长为16位,主存容量为64K 字,指令格式为单字长单地址,共有64条指令。试说明:(

6、1若只采用直接寻址方式,指令能访问多少主存单元?(2为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少?指令直接寻址的范围为多少?(3采用页面寻址方式,若只增加一位Z/C(零页/现行页标志,_指令寻址范围为多少?指令直接寻址范围为多少?(4采用(2、(3两种方式结合,指令的寻址范围为多少?指令直接寻址范围为多少?解:因为计算机中共有64条指令,所以操作码占6位,其余部分为地址码或标志位。(1若只采用直接寻址方式,地址码部分为10位,指令能访问的主存单元数为2 10=1K 字。(2若采用直接/间接寻址方式,将增加了一位直接/间接标志,地址码部分为9位

7、,指令直接寻址的范围为29=0.5K 字,指令可寻址范围为整个主存空间216 =64K 字。(3若采用页面寻址方式,将增加一位Z/C(零页/现行页标志,所以指令直接寻址范围仍为29=0.5K 字,指令寻址范围仍为216=64K 字。(4此时将需要和Z/C 两个标志位,所以指令直接寻址范围为28=0.2 5K 字,指令的可寻址范围仍为216=64K 字。11.设某机字长32位,CPU 有32个32位的通用寄存器,设计一个能容纳64种操作的单字长指令系统。(1如果是存储器间接寻址方式的寄存器-存储器型指令,能直接寻址的最大主存空间是多少?(2如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空

8、间又是多少?解:因为计算机中共有64条指令,所以操作码占6位;32个通用寄存器,寄存器编号占5位;其余部分为地址码或标志位。(1如果是存储器间接寻址方式的寄存器-存储器型指令,操作码6位,寄存器编号5位,间址标志1位,地址码20位,直接寻址的最大主存空间是220字。(2如果采用通用寄存器作为基址寄存器,EA =(Rb +A ,能直接寻址的最大主存空间是232字。12.已知某小型机字长为16位,其双操作数指令的格式如下:0567815 OP R A其中:OP 为操作码,R 为通用寄存器地址。试说明下列各种情况下能访问的最大主存区域有多少机器字?(1A 为立即数。(2A 为直接主存单元地址。(3A

9、 为间接地址(非多重间址。(4A 为变址寻址的形式地址,假定变址寄存器为R1(字长为16位。解:(11个机器字。(2256个机器字。(365536个机器字。(465536个机器字。13.计算下列4条指令的有效地址(指令长度为16位。(1000000Q(2100000Q(3170710Q(4012305Q假定:上述4条指令均用八进制书写,指令的最左边是一位间址指示位(=0,直接寻址;=1,间接寻址,且具有多重间访功能;指令的最右边两位为形式地址;主存容量215单元,表3唱4为有关主存单元的内容(八进制。地址内容0000010000200001046710000020543040 00031000

10、0000004102543000051000010000 60632150000707771000010100005解:(10 00000Q因为指令的最高位为0,故为直接寻址,EA =A =00000Q 。(2100000Q因为指令的最高位为1,故指令为间接寻址。(00000=100002,最高位仍为1,继续间接寻址。(00002=054304,其最高位为0,表示已找到有效地址,EA =54304Q 。(3170710Q因为指令的最高位为1,故指令为间接寻址。(00010=100005,最高位仍为1,继续间接寻址。(00005=100001,最高位仍为1,继续间接寻址。(00001=04671

11、0,其最高位为0,表示已找到有效地址,EA =4 6710Q 。(4012305Q因为指令的最高位为0,故为直接寻址,EA =A =00005Q 。14.假定某机的指令格式如下:111098765OP I1I2Z/C A其中:Bit11=1:间接寻址;Bit8=1:变址寄存器I1寻址;Bit7=1:变址寄存器I2寻址;Bit6(零页/现行页寻址:Z/C =0,表示0页面;Z/C =1,表示现行页面,即指令所在页面。若主存容量为212个存储单元,分为26个页面,每个页面有26个字。设有关寄存器的内容为(PC=0340Q (I1=1111Q (I2=0256Q 试计算下列指令的有效地址。(1104

12、6Q(22433Q(33215Q(41111Q解:(11046Q =001000100110因为4个标志位均为0,故为直接寻址,EA =A =0046Q 。(22433Q =010*因为Bit8(I1=1,故为变址寄存器1寻址,EA =(I1+A =1 111+33=1144Q 。(33215Q =011010001101因为Bit7(I2=1,故为变址寄存器2寻址,EA =(I2+A =0 256+15=0273Q 。(41111Q =001001001001因为Bit6(Z/C=1,故为当前页寻址,EA =(PCH A =031 1=0311Q 。15.假定指令格式如下:151*OP I1

13、I2Z/C D/I A其中:D/I 为直接/间接寻址标志,D/I =0表示直接寻址,D/I =1表示间接寻址。其余标志位同题14说明。若主存容量为216个存储单元,分为28个页面,每个页面有28个字。设有关寄存器的内容为(I1=002543Q (I2=063215Q (PC=0 04350Q试计算下列指令的有效地址。(1152301Q(2074013Q(3161123Q(4140011Q解:(1152301Q =1101010011000001因为Bit10(I2=1,故为变址寄存器2寻址,EA =(I2+A =0 63215+301=063516Q 。(2074013Q =011110000

14、0001011因为Bit11(I1=1,故为变址寄存器1寻址,EA =(I1+A =0 02543+013=002556Q 。(3161123Q =111000*1因为Bit9(Z/C=1,故为当前页寻址,EA =(PC/A =00412 3Q 。(4140011Q =1100000000001001因为4个标志位均为0,故为直接寻址,EA =A =000011Q 。16.举例说明哪几种寻址方式除去取指令以外不访问存储器?哪几种寻址方式除去取指令外只需访问一次存储器?完成什么样的指令,包括取指令在内共访问4次存储器?解:除去取指令以外不访问存储器:立即寻址,寄存器寻址。除去取指令外只需访问一次

15、存储器:直接寻址,寄存器间接寻址,变址寻址,基址寻址,相对寻址,页面寻址。二级间接寻址包括取指令在内共访问4次存储器。17.设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H ,且CPU 每取一个字节便自动完成(PC+1PC 的操作。试问当执行JMP 倡+8和JMP 倡-9指令(倡为相对寻址特征时,转移指令第二字节的内容各为多少?转移的目的地址各是什么?解:转移指令第二字节的内容分别为:00001000(+8,111101 11(-9转移的目的地址分别为:200AH ,1FF9H 。18.什么叫主程序和子程序?

16、调用子程序时还可采用哪几种方法保存返回地址?画图说明调用子程序的过程。解:主程序就是指通常的程序,而子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。保存返回地址的方法有多种:(1用子程序的第一个字单元存放返回地址。转子指令把返回地址存放在子程序的第一个字单元中,子程序从第二个字单元开始执行。返回时将第一个字单元地址作为间接地址,采用间址方式返回主程序。(2用寄存器存放返回地址。转子指令先把返回地址放到某一个寄存器中,再由子程序将寄存器中的内容转移到另一个安全的地方。(3用堆栈保存返回地址。19.在某些计算机中,调用子程序的方法是这样实现的:转子指令将返回地址存入子程序的第一

17、个字单元,然后从第二个字单元开始执行子程序,请回答下列问题:(1为这种方法设计一条从子程序转到主程序的返回指令。(2在这种情况下,怎么在主、子程序间进行参数的传递?(3上述方法是否可用于子程序的嵌套?(4上述方法是否可用于子程序的递归(即某个子程序自己调用自己?(5如果改用堆栈方法,是否可实现(4所提出的问题?解:(1返回指令通常为零地址指令。返回地址保存在堆栈中,执行返回指令时自动从堆栈中弹出。而目前返回地址是保存在子程序的第一个单元中,故此时返回指令不能再是零地址指令了,而应当是一地址指令。如:JMP 子程序首地址间接寻址可找到返回地址,然后无条件转移到返回的位置。(2在这种情况下,可利用寄存器或主存单元进行主、子程序间的参数传递。(3可以用于子程序的嵌套(多重转子。因为每个返回地址都放在调用的子程序的第一个单元中。(4不可以用于子程序的递归,因为当某个子程序自己调用自己时,子程序第一个单元的内容将被破坏。(5如果改用堆栈方法,可以实现子程序的递归,因堆栈具有后进先出的功能

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1