计算机组成原理课件第4章.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理课件第4章

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 寄存器寻址方式和寄存器间接寻址方式 寄存器寻址 操作数在CPU的内部寄存器中. 寄存器间接寻址 指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中 * *   相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。   采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。   此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。 相对寻址方式 * *   基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。 优点是可以扩大寻址能力。 基址寻址方式 * *  变址寻址方式   变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。 但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。  块寻址方式   块寻址方式经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方式在内存中还可用于数据块搬家。 块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。   如果数据块是变长的,可用三种方法指出它的长度:   (1)指令中划出字段指出长度;   (2)指令格式中指出数据块的首地址与末地址;   (3)由块结束字符指出数据块长度。  操作码  首地址  标志位  末地址 * * 段寻址 Intel 8086/8088微机中,ALU16位运算,但其寻址范围可到1M,即地址有20位。 实质是基值寻址。 4位 16位逻辑地址 16位段寄存器 20位物理地址 ALU * * [例3]  一种二地址RS型指令的结构如下所示:   6位     4位  1位 2位     16位 其中I为间接寻址标志位,X为寻址模式字段,D位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。 请写出六种寻址方式的名称。 [解]:⑴直接寻址     ⑵相对寻址    ⑶变址寻址     ⑷寄存器间接寻址  ⑸间接寻址   ⑹基址寻址 OP I X 偏移量D * * 例:某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令汇编格式中的S和D都是指通用寄存器,M指主存中的一个单元。三种指令的操作码分别是MOV为0AH ,STA为1BH ,LDA为3CH。 (1)分析三种指令的指令格式与寻址方式特点。 (2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗? (3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令? LDA D,M * * 例:某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令汇编格式中的S和D都是指通用寄存器,M指主存中的一个单元。三种指令的操作码分别是MOV为0AH ,STA为1BH ,LDA为3CH。 说明:MOV是传送指令,STA为写数指令,LDA为读数指令。 (1)分析三种指令的指令格式与寻址方式特点。 该指令是单字长二地址指令,是RR型,源寄存器S由0~3位指定,目标寄存器D由4~7位指定。 该指令是双字长二地址指令,是RS型,源寄存器S由4~7位指定,存储器M由采用0~3位指定的变址寄存器加位移量的变址方式得到或者由8~9位指定的基址寄存器加位移量的基址寻址得到。 * * LDA D,M 该指令是双字长二地址指令,RS型,其中目标寄存器D由4~7位指定,存储器由指令中给出的20位地址由直接内存寻址决定。 (2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗? CPU完成第一种指令所花时间最短,因为是RR型指令,不需要访问存储器 CPU完成第二种指令所花时间最长,因为是RS型指令需要访问存储器,同时要进行寻址方式的变换运算,基址寄存器的内容加位移量或变址寄存器内容加位移量,这也需要时间。 第二种指令的执行时间不会等于第三种指令,因为第三种指令也访问存储器,但节省了求有效地址运算的时间开销。 * * (3)下列情况下每个十六进制指令字分别代表什么操作?其中如果

您可能关注的文档

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档