- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7. 变址寻址(displacement addressing):指令的地址部分给出一个形式地址,并指定一个寄存器为变址寄存器;变址寄存器内容(称为变址量)与形式地址相加,得到操作数有效地址. … … … 操作数S OP … R D 加 法 器 N D+N Data=(E)=( (RX)+D) R E=(RX)+D 指令 7. 变址寻址(displacement addressing):指令的地址部分给出一个形式地址,并指定一个寄存器为变址寄存器;变址寄存器内容(称为变址量)与形式地址相加,得到操作数有效地址. … … … 操作数S OP … R D 加 法 器 N D+N R 指令 变址寻址的典型应用:某数组存放在一段连续的主存区间中,首址为B.可让B作为指令中形式地址,而变址寄存器中存放修改量,通过修改变址寄存器内容(所需访问单元与首址单元之间的距离),该指令本身不需任何修改,就可以访问该数组的任何一个元素. 变址寻址面向用户,可用于访问字符串、数组等成批数据. 8.基址寻址 (Based addressing):指令中给出一个形式地址,并给出基址寄存器号,基址寄存器内容(作为基准量)与形式地址相加得到操作数有效地址. E=(Rb)+D Data=(E)=( (Rb)+D) 基址寻址的典型应用是程序重定位. 用户程序的最终可执行形态是目标程序,目标程序是在操作系统管理下调入主存运行的,用户在用高级语言编程时并不知道此段程序将被安排在主存的哪一段区域,故用户编程时使用与实际主存地址无关的逻辑地址,将来在运行时再自动转换为操作系统分配给它的实际主存地址(物理地址),这个问题称为程序重定位. 实现程序重定位时,由操作系统给用户程序分配一个基地址并将其装入基址寄存器,在程序执行时可以自动形成实际的主存地址. 变址寻址与基址寻址的不同: ----在变址寻址中,由指令提供形式地址D作为基准量,其值不可变;变址寄存器提供修改量,其值可变,由用户设定. -----在基址寻址中,由基址寄存器基准量,其值不可变,内容由操作系统或管理程序确定; 而指令给出形式地址D作为位移量,其值可变. ---- 从应用目的看,变址寻址面向用户,可以访问字符串、数组等成批数据;基址寻址面向系统,解决程序在实际主存中的重定位问题,以及在有限字长指令中扩大寻址空间等. 9. 堆栈寻址(Stack addressing): 分为硬堆栈(堆栈用寄存器组实现)和软堆栈(用一部分主存来作为堆栈)两种. 通常堆栈是一种按“后进先出”存取顺序进行存取的存储结构.适用于子程序多重嵌套、递归调用、多重中断、逆波兰式计算等场合. 堆栈有两端: 栈底---作为起点,位置固定; 栈顶---随着将信息压入堆栈,栈顶位置向上(或向下)浮动. 对堆栈的读出(弹出)或写入(压栈)都是对栈顶单元进行的.用堆栈指示器SP(Stack Pointer)来提供栈顶单元地址。 指令系统中采用不同寻址方式的目的主要是缩短指令长度,扩大寻址空间,提高编程灵活性. 立即寻址 寄存器寻址 直接寻址 寄存器间接寻址 变址寻址、基址寻址、相对寻址 间接寻址 快 慢 各种操作数寻址方式的速度比较 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 * (1)指令长度:是指令格式设计中最基本的出发点.为便于字符串处理,尽可能充分利用存储空间,减少指令和数据的存储时间,现代计算机中的机器字长、存储器宽度和I/O传输宽度几乎都是字节的整数倍,这个限制同样适合于指令长度。 * (1)引入变长指令字结构的目的:现代计算机希望发展长指令,长指令的功能比较强,便于程序设计,但长指令又可能造成利用率不高的浪费.为合理安排存储空间,并使指令能表达较丰富的含义,通常指令系统采用变长指令字结构.如IBM370及奔腾,均采用变长指令字结构. (2)原则上讲,短指令比长指令好,主要是可以节省存储空间,提高取指令的速度; 长指令可能会占用两个或更多个地址,取指令的时间相对来说长,但可以扩大寻址范围或可以带几个操作数.各有所长.如果长、短指令可以在同一机器中混合使用,就可以给指令系统带来很大灵活性。CISC采用变长指令。 * 对于双操作数指令,操作码长度为(32-12×2)=8位; 对于单操作数指令,操作
文档评论(0)