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

计算机组成原理:指令系统 第三章 指令系统 CPU的主要工作是执行指令,指令是指挥计算机执行某些操作的命令,一台计算机所有指令的集合构成该计算机的指令系统。指令和指令系统是计算机最基本的概念. 本章主要内容 指令格式 操作码的扩展、地址码的结构 常见的寻址方式 指令的类型 一、机器指令的格式 一条指令就是机器语言的一个语句,由一组二进制代码来表示。一条指令由两部分构成: 1、指令长度 指令长度是指一条指令中所包含的二进制代码的位数,它取决于操作码字段的长度、操作数地址的个数及长度。一般希望指令长度短一些。 指令长度与机器字长没有固定的关系。指令长度可以等于机器字长,也可以大于或小于机器字长。 在一个指令系统中,若所有指令的长度都相等,称为定长指令字结构;若各种指令的长度随指令功能不同而不同,称为变长指令字结构。 2、操作码 指令系统中的每一条指令都有一个唯一确定的操作码,指令不同,其操作码的编码也不同。 操作码字段的位数取决于计算机指令系统的规模。通常,希望用尽可能短的操作码字段来表达全部指令。于是,形成了操作码结构设计的不同方法。 指令操作码的编码可分为定长编码和变长编码。 定长编码 定长编码方式是最简单的一种操作码编码方式,操作码的位数和位置固定,但指令长度不固定。操作码的位数越多,所能表示的操作种类就越多。 操作码不同,所涉及的操作数的个数也不完全相同,所以指令的长度会随操作码的不同而变化。 例如,IBM370机就是采用这种定长操作码格式。 IBM 370机(字长32位)的指令可分为三种不同的长度,不论指令的长度有多少位,其中的操作码字段一律都是8位。 特点:字段规整、译码简单。 IBM 370机的指令格式 变长编码 变长编码是一种操作码长度不固定,而指令长度固定的设计方法。操作码分散在指令字的不同位置上。 例如:PDP-11机(字长16位)的指令分为单字长、两字长、三字长三种,其中单字长指令的操作码字段占4~16位不等,可遍及整个指令长度。 特点:操作码字段位数不固定将增加指令译码难度,使控制器的设计复杂化。但是,它有效地利用了指令中的每个二进制位。 PDP-11机的指令格式 指令操作码的扩展技术 变长操作码常常采用扩展操作码的方法来设计。 扩展思路:让地址码个数多的指令,操作码字段短些;让地址码个数少的指令,操作码字段长些。 假设,某机器指令长16位,包括一个操作码字段和三个地址字段,其中操作码字段4位,每个地址字段也是4位。其格式如下: 如果按照定长编码的方法,4位操作码字段最多只能表示16条不同的三地址指令。 指令操作码的扩展技术 3、地址码 根据一条指令中有几个操作数地址,可将该指令称为几地址指令。 一般的指令有被操作数、操作数以及操作结果这三个数,因而就形成了三地址指令格式,这也是早期计算机指令的基本格式。 在三地址格式的基础上,后来又发展成了二地址格式、一地址格式和零地址格式。 三地址指令 格式: 执行的操作: (A1) OP (A2) → A3 A1为被操作数地址, A2为操作数地址, A3为结果的存放地址。 A1、A2、A3可以是内存单元地址,也可以是运算器中的通用寄存器。如果全是内存中的单元地址,则执行一条三地址指令至少需要访问4次主存。 二地址指令 格式: 执行的操作: (A1) OP (A2) → A1 A1为目的操作数地址,兼做存放结果的地址;A2为源操作数地址。(A1原先的值无需保存) A1、A2可以是内存中的单元地址,也可以是运算器中的通用寄存器。如果是内存中的单元地址,则执行一条二地址指令至少要访问4次主存. 一地址指令 格式: 执行的操作: (AC) OP (A1) → AC 这种指令以累加寄存器AC中的数为被操作数,指令中地址码字段所指明的数为操作数,操作结果又放回累加寄存器AC中(隐含约定AC)。 A1可以是内存中的单元地址,也可以是运算器中的通用寄存器。如果是内存中的单元地址,则执行一条一地址指令至少需要访问2次主存。 零地址指令 格式: 零地址指令只有操作码,而没有地址码。 例如下面的情况不需要地址码: 指令不需要操作数,例如停机指令就没有操作数. 操作数隐含约定在累加器AC中。 操作数隐含指定在堆栈中,例如堆栈计算机,零地址指令的操作数从堆栈中获得。 简化地址结构与减少地址码字段的位数 简化地址结构的途径:隐含约定地址 PC代替指令中的后继指令地址 结果存放在操作数地址 操作数或结果约定在AC中 约定所有地址的位置,如零地址指令 减少地址码字段位数的途径: 采用隐含约定地址减少地址数,减少位数 采用寄存器寻址、寄存器间接寻址,减少位数 按操作数的物理位置分类 第一种是访问内存的指令格式,我们称这类指令为存储

文档评论(0)

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

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

1亿VIP精品文档

相关文档