- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成原理 第3章 指令系统(终)
中国计算机学会“21世纪大学本科计算机专业系列教材”计算机组成原理 第3章指令系统 本章学习内容 3.1 指令格式 3.2 寻址技术 3.3 堆栈与堆栈操作 3.4 指令类型 3.1.1 机器指令的基本格式 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。 1.四地址指令 (A1)OP(A2)→A3 A4=下条将要执行指令的地址 Ai表示地址, (Ai)表示存放于该地址中的内容。 每个地址16位,整个地址码字段就要长64位,不切合实际。 1.四地址指令 2.三地址指令 (A1)OP(A2)→A3 (PC)+1→PC(隐含) 设每条指令只占一个主存单元 执行一条三地址的双操作数运算指令,至少需要访问4次主存。 第一次取指令本身, 第二次取被操作数, 第三次取操作数, 第四次保存运算结果。 3.二地址指令 (A1)OP(A2)→A1 (PC)+1→PC(隐含) 其中:A1为目的操作数地址,A2为源操作数地址。 二地址指令执行之后,目的操作数地址中原存的内容已被破坏了。 问:访问几次主存? 4.一地址指令 (Acc)OP(A1)→Acc (PC)+1→PC(隐含) 执行一条一地址的双操作数运算指令,只需要访问两次主存。 第一次取指令本身,第二次取操作数。 被操作数和运算结果都放在累加寄存器中,所以读取和存入都不需要访问主存。 5.零地址指令 零地址的算逻类指令是用在堆栈计算机中的,堆栈计算机没有一般计算机中必备的通用寄存器,因此堆栈就成为提供操作数和保存运算结果的唯一场所。通常,参加算逻运算的两个操作数隐含地从堆栈顶部弹出,送到运算器中进行运算,运算的结果再隐含地压入堆栈。 不同地址数指令的特点和适用场合 对于同一个问题,用三地址指令编写的程序最短,但指令长度最长,而用二、一、零地址指令来编写程序,程序的长度一个比一个长,但指令的长度一个比一个短。 3.2 寻址技术 所谓寻址,指的是寻找操作数的地址或下一条将要执行的指令地址。寻址技术包括编址方式和寻址方式。 直接寻址过程 2.堆栈操作指令 堆栈指令实际上是一种特殊的数据传送指令,分为进栈(PUSH)和出栈(POP)两种,在程序中它们往往是成对出现的。 如果堆栈是主存的一个特定区域,那么对堆栈的操作也就是对存储器的操作。 3.数据交换指令 前述的传送都是单方向的。然而,数据传送也可以是双方向的,即将源操作数与目的操作数(一个字节或一个字)相互交换位置。 指令中给出的不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,也就取出了可以立即使用的操作数。 立即寻址 OP 立即数 寄存器寻址指令的地址码部分给出某一个通用寄存器的编号,这个指定的寄存器中存放着操作数。操作数S与寄存器Ri的关系为: S=(Ri) 寄存器寻址具有两个明显的优点: ①从寄存器中存取数据比从主存中快得多; ②由于寄存器的数量较少,其地址码字段比主存单元地址字段短得多。 寄存器寻址 OP Ri 操作数 Ri 指令中地址码字段给出的地址A就是操作数的有效地址,即形式地址等于有效地址:EA=A。由于这样给出的操作数地址是不能修改的,与程序本身所在的位置无关,所以又叫做绝对寻址方式。 操作数S=(A) 这种寻址方式不需作任何寻址运算,简单直观,也便于硬件实现,但地址空间受到指令中地址码字段位数的限制。 直接寻址 OP 直接地址 主存储器 操作数 间接寻址意味着指令中给出的地址A不是操作数的地址;而是存放操作数地址的主存单元的地址,简称操作数地址的地址。通常在指令格式中划出一位作为直接或间接寻址的标志位,间接寻址时标志位@=1。 在一级间接寻址中, 有效地址 EA=(A) 操作数 S=((A)) 间接寻址 间接寻址过程 一级间接寻址:
文档评论(0)