ImageVerifierCode 换一换
格式:PPT , 页数:87 ,大小:760.01KB ,
文档编号:3178783      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3178783.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

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

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(第3章-指令系统课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

第3章-指令系统课件.ppt

1、计算机组成原理计算机组成原理12022年年7月月29日星期五日星期五备注备注第第3章章指令系统指令系统2022年年7月月29日星期五日星期五计算机组成原理计算机组成原理22022年年7月月29日星期五日星期五第第3章章 指令和指令系统是计算机中最基本的指令和指令系统是计算机中最基本的概念。概念。指令指令是是指示计算机执行某些操作的指示计算机执行某些操作的命令命令,一台计算机的所有指令的集合构成,一台计算机的所有指令的集合构成该机的该机的指令系统指令系统,也称指令集。指令系统,也称指令集。指令系统是计算机的主要属性,位于硬件和软件的是计算机的主要属性,位于硬件和软件的交界面上。本章将讨论交界面上

2、。本章将讨论一般计算机一般计算机的指令的指令系统所涉及的基本问题。系统所涉及的基本问题。计算机组成原理计算机组成原理32022年年7月月29日星期五日星期五第第3章章裸机裸机软件软件指令系统指令系统计算机组成原理计算机组成原理42022年年7月月29日星期五日星期五备注备注3.1 指令格式指令格式3.1.1 机器指令的基本格式机器指令的基本格式 一条指令就是机器语言的一个语句一条指令就是机器语言的一个语句*,它是它是一组有意义的二进制代码。指令的基本格式如下:一组有意义的二进制代码。指令的基本格式如下:操作码字段操作码字段地址码字段地址码字段操作码操作码:指明操作的性质及功能。:指明操作的性质

3、及功能。操作码操作码 地址码地址码:指明操作数的地址,特殊情况下也:指明操作数的地址,特殊情况下也可能直接给出操作数本身。可能直接给出操作数本身。地址码地址码计算机组成原理计算机组成原理52022年年7月月29日星期五日星期五备注备注3.1 指令格式指令格式 指令的长度指令的长度是指是指一条指令中所包含的二进制代码一条指令中所包含的二进制代码的位数的位数,它取决于操作码字段的长度、操作数地址的,它取决于操作码字段的长度、操作数地址的个数及长度。指令长度应:个数及长度。指令长度应:尽可能短尽可能短 等于字节的整数倍等于字节的整数倍 指令长度可以等于机器字长,也可以大于或小于指令长度可以等于机器字

4、长,也可以大于或小于机器字长。机器字长。*在一个指令系统中,若所有指令的长度都是相等在一个指令系统中,若所有指令的长度都是相等的,称为的,称为定长指令字结构定长指令字结构;若各种指令的长度随指令;若各种指令的长度随指令功能而异,称为功能而异,称为变长指令字结构变长指令字结构。计算机组成原理计算机组成原理62022年年7月月29日星期五日星期五3.1 指令格式指令格式3.1.2 地址码结构地址码结构 对于一条对于一条双操作数指令,双操作数指令,除操作码之外,还应除操作码之外,还应包含以下信息:包含以下信息:第一操作数地址,第一操作数地址,用用A1表示;表示;第二操作数地址,用第二操作数地址,用A

5、2表示;表示;操作结果存放地址,用操作结果存放地址,用A3表示;表示;下条将要执行指令的地址,用下条将要执行指令的地址,用A4表示。表示。这些信息可以在指令中明显的给出,称为这些信息可以在指令中明显的给出,称为显地显地址址;也可以依照某种事先的约定,用隐含的方式给;也可以依照某种事先的约定,用隐含的方式给出,称为出,称为隐地址隐地址。下面以下面以双操作数指令双操作数指令为例讨论地址码结构。为例讨论地址码结构。计算机组成原理计算机组成原理72022年年7月月29日星期五日星期五备注备注3.1 指令格式指令格式1.四地址指令四地址指令OPOPA A1 1A A2 2A A3 3A A4 4 (A1

6、)OP(A2)A3 *A4=下条将要执行指令的地址下条将要执行指令的地址计算机组成原理计算机组成原理82022年年7月月29日星期五日星期五备注备注3.1 指令格式指令格式2.三地址指令三地址指令OPOPA A1 1A A2 2A A3 3(A1)OP(A2)A3(PC)+1=下条将要执行指令的地址下条将要执行指令的地址 *程序计数器:程序计数器:存放当前指令地址存放当前指令地址 执行一条三地址指令需执行一条三地址指令需4次访问主存。次访问主存。计算机组成原理计算机组成原理92022年年7月月29日星期五日星期五(A1)OP(A2)A13.1 指令格式指令格式3.3.二地址指令二地址指令OPO

7、PA A1 1A A2 2(PC)+1=下条将要执行指令的地址下条将要执行指令的地址 A1中原存内容在指令执行后被破坏。中原存内容在指令执行后被破坏。目的操作数地址目的操作数地址源操作数地址源操作数地址 执行一条二地址指令需执行一条二地址指令需4次访问主存。次访问主存。计算机组成原理计算机组成原理102022年年7月月29日星期五日星期五(Acc)OP(A1)Acc3 3.1 指令格式指令格式4.4.一地址指令一地址指令OPOPA A1 1(PC)+1=下条将要执行指令的地址下条将要执行指令的地址累加寄存器累加寄存器 执行一条一地址指令需执行一条一地址指令需2次访问主存。次访问主存。计算机组成

8、原理计算机组成原理112022年年7月月29日星期五日星期五3.1 指令格式指令格式5.5.零地址指令零地址指令OPOP 操作数地址是隐含的。参加运算的操操作数地址是隐含的。参加运算的操作数放在堆栈中,运算结果也放在堆栈中。作数放在堆栈中,运算结果也放在堆栈中。有关堆栈的概念将在稍后讨论。有关堆栈的概念将在稍后讨论。计算机组成原理计算机组成原理122022年年7月月29日星期五日星期五备注备注3.1 指令格式指令格式 指令中地址个数的选取要考虑诸多的因素指令中地址个数的选取要考虑诸多的因素。从缩短从缩短程序程序长度,用户使用方便,增加操作长度,用户使用方便,增加操作并行度等方面来看,选用三地址

9、指令格式较好;并行度等方面来看,选用三地址指令格式较好;从缩短从缩短指令指令长度,减少访存次数,简化硬件长度,减少访存次数,简化硬件设计等方面来看,一地址指令格式较好。设计等方面来看,一地址指令格式较好。对于同一个问题,用三地址指令编写的程序对于同一个问题,用三地址指令编写的程序最短,但最短,但指令长度指令长度最长,而用二、一、零地址指最长,而用二、一、零地址指令来编写程序,令来编写程序,程序的长度程序的长度一个比一个长,但指一个比一个长,但指令的长度一个比一个短。令的长度一个比一个短。计算机组成原理计算机组成原理132022年年7月月29日星期五日星期五3.1 指令格式指令格式3.1.3 指

10、令的操作码指令的操作码 指令系统中的每一条指令都有一个指令系统中的每一条指令都有一个唯一唯一确定确定的操作码的操作码,指令不同,指令不同,其操作码的编码也不同其操作码的编码也不同。*为了能表示整个指令系统中的全部指令,指令的为了能表示整个指令系统中的全部指令,指令的操作码字段应当具有足够的位数。操作码字段应当具有足够的位数。指令操作码的编码可以分为指令操作码的编码可以分为规整型规整型和和非规整非规整型型两类:两类:规整型(定长编码)规整型(定长编码)非规整型(变长编码)非规整型(变长编码)注意计算机组成原理计算机组成原理142022年年7月月29日星期五日星期五3.1 指令格式指令格式 1.规

11、整型规整型 操作码字段的操作码字段的位数位数和和位置位置是固定的是固定的。假定:指令系统共有假定:指令系统共有m条指令,指令中操作码条指令,指令中操作码字段的位数为字段的位数为N位,则有如下关系式:位,则有如下关系式:Nlog2 m (也就是也就是2N m)IBM 370机(字长机(字长32位)的指令可分为三种不位)的指令可分为三种不同的长度形式:半字长指令同的长度形式:半字长指令(16位位)、单字长指令、单字长指令(32位位)和一个半字长指令和一个半字长指令(48位位)。不论指令的长度为多。不论指令的长度为多少位,其中操作码字段少位,其中操作码字段一律都是一律都是8位位,8位操作码字位操作码

12、字段允许容纳段允许容纳256条指令,实际上在条指令,实际上在IBM 370机中仅机中仅有有183条指令。条指令。计算机组成原理计算机组成原理152022年年7月月29日星期五日星期五3.1 指令格式指令格式OPOPOPOPOPD2D1D1D2D2R1R1R1R2R2L1B1B2B2B2X2B1I28888844444444444881212121212RR型RX型RS型SI型SS型计算机组成原理计算机组成原理162022年年7月月29日星期五日星期五3.1 指令格式指令格式 定长编码对于简化硬件设计,减少指定长编码对于简化硬件设计,减少指令译码的时间是非常有利的,但存在着信令译码的时间是非常有

13、利的,但存在着信息冗余。息冗余。计算机组成原理计算机组成原理172022年年7月月29日星期五日星期五3.1 指令格式指令格式2.非规整型非规整型 操作码字段的操作码字段的位数不固定位数不固定,且分散地放在,且分散地放在指令字的指令字的不同位置不同位置上上。PDP-11机(字长机(字长16位)的指令分为单字长位)的指令分为单字长(16位位)、两字长、两字长(32位位)、三字长、三字长(48位位)三种,三种,操操作码字段占作码字段占416位不等位不等,可遍及整个指令长度。,可遍及整个指令长度。操作码字段的位数和位置不固定将增加指操作码字段的位数和位置不固定将增加指令译码和分析的难度,使控制器的设

14、计复杂化。令译码和分析的难度,使控制器的设计复杂化。计算机组成原理计算机组成原理182022年年7月月29日星期五日星期五3.1 指令格式指令格式OPRR846261316OPS844OPOPOPOPOPOP1616SDD1683DDXSS66666610单字长(16位)二字长(32位)三字长(48位)地址地址1地址2计算机组成原理计算机组成原理192022年年7月月29日星期五日星期五3.1 指令格式指令格式 最常用的非规整型编码方式是扩展操最常用的非规整型编码方式是扩展操作码法:作码法:让操作数地址个数多的指令(如三地让操作数地址个数多的指令(如三地址指令)的操作码字段短些,操作数地址址指

15、令)的操作码字段短些,操作数地址个数少的指令(如一或零地址指令)的操个数少的指令(如一或零地址指令)的操作码字段长些。(作码字段长些。(这是一个操作码和地址这是一个操作码和地址码长度的分配原则码长度的分配原则)注意计算机组成原理计算机组成原理202022年年7月月29日星期五日星期五3.1 指令格式指令格式 例如:设某机的指令长度为例如:设某机的指令长度为16位,操位,操作码字段为作码字段为4位,有三个位,有三个4位的地址码字段,位的地址码字段,其格式为:其格式为:如果按照定长编码的方法,如果按照定长编码的方法,4位操作码位操作码字段最多只能表示字段最多只能表示16条不同的三地址指令。条不同的

16、三地址指令。(定长编码的局限性就体现出来了定长编码的局限性就体现出来了)OPOPA A1 1A A2 2A A3 34 4位位4 4位位4 4位位4 4位位计算机组成原理计算机组成原理212022年年7月月29日星期五日星期五3.1 指令格式指令格式OPOPA A1 1A A2 2A A3 34 4位位4 4位位4 4位位4 4位位OPOP1515条三地址指令条三地址指令0000 XXXX YYYY ZZZZ0000 XXXX YYYY ZZZZ1110 XXXX YYYY ZZZZ1110 XXXX YYYY ZZZZ111111111515条二地址指令条二地址指令11111111 0000

17、 XXXX YYYY 0000 XXXX YYYY1111 1110 XXXX YYYY1111 1110 XXXX YYYY1111 11111111 11111515条一地址指令条一地址指令1111 11111111 1111 0000 XXXX 0000 XXXX1111 1111 1110 XXXX1111 1111 1110 XXXX1111 1111 11111111 1111 11111616条零地址指令条零地址指令1111 1111 11111111 1111 1111 0000 00001111 1111 1111 11111111 1111 1111 1111扩展窗口扩展窗

18、口扩展窗口扩展窗口扩展窗口扩展窗口OPOPA1A1A2A2OPOPA1A1OPOP计算机组成原理计算机组成原理222022年年7月月29日星期五日星期五3.2 寻址技术寻址技术 寻址寻址,指的是寻找操作数的地址,指的是寻找操作数的地址或下或下一条将要执行的指令地址。一条将要执行的指令地址。寻址技术包括寻址技术包括编址方式和寻址方式。编址方式和寻址方式。计算机组成原理计算机组成原理232022年年7月月29日星期五日星期五3.2 寻址技术寻址技术3.2.1 编址方式编址方式1.编址编址 通常,指令中的地址码字段将指出操作通常,指令中的地址码字段将指出操作数的来源和去向,而操作数则存放在相应数的来

19、源和去向,而操作数则存放在相应的存储设备中。的存储设备中。在计算机中需要编址的设在计算机中需要编址的设备主要有备主要有CPU中的中的通用寄存器通用寄存器、主存储器主存储器和和输入输出设备输入输出设备等等3种种。计算机组成原理计算机组成原理242022年年7月月29日星期五日星期五3.2 寻址技术寻址技术2.编址单位编址单位(1)字编址字编址 编址单位编址单位=访问单位访问单位 每个编址单位所包含的信息量(二进每个编址单位所包含的信息量(二进制位数)与读或写一次寄存器、主存所获制位数)与读或写一次寄存器、主存所获得的信息量是相同的。早期的大多数机器得的信息量是相同的。早期的大多数机器都采用这种编

20、址方式。都采用这种编址方式。计算机组成原理计算机组成原理252022年年7月月29日星期五日星期五3.2 寻址技术寻址技术(2)字节编址字节编址 字节编址是为了适应非数值计算的需要。字字节编址是为了适应非数值计算的需要。字节编址方式使编址单位与信息的基本单位(一个节编址方式使编址单位与信息的基本单位(一个字节)相一致,这是它的最大优点。然而,如果字节)相一致,这是它的最大优点。然而,如果主存的访问单位也是一个字节的话,那么主存的主存的访问单位也是一个字节的话,那么主存的频带就太窄了。频带就太窄了。编址单位访问单位编址单位访问单位 通常主存的访问单位是编址单位的若干倍。通常主存的访问单位是编址单

21、位的若干倍。(3)位编址位编址 也有部分计算机系统采用位编址方式。也有部分计算机系统采用位编址方式。计算机组成原理计算机组成原理262022年年7月月29日星期五日星期五备注备注3.2 寻址技术寻址技术3.指令中地址码的位数指令中地址码的位数 指令格式中每个地址码的位数是与指令格式中每个地址码的位数是与主存容量主存容量和和最小寻址单位最小寻址单位(即编址单位)有关联的。主存(即编址单位)有关联的。主存容量越大,所需的地址码位数就越长。对于相同容量越大,所需的地址码位数就越长。对于相同容量来说,如果以字节为最小寻址单位,地址码容量来说,如果以字节为最小寻址单位,地址码的位数就需要长些;如果以字为

22、最小寻址单位的位数就需要长些;如果以字为最小寻址单位(假定字长为(假定字长为16位或更长),地址码的位数可以位或更长),地址码的位数可以减少。设某机主存容量为减少。设某机主存容量为220 个字节,机器字长个字节,机器字长32位。若最小寻址单位为字节(按字节编址),其位。若最小寻址单位为字节(按字节编址),其地址码应为地址码应为20位;若最小寻址单位为字(按字编位;若最小寻址单位为字(按字编址),其地址码只需址),其地址码只需18位。位。计算机组成原理计算机组成原理272022年年7月月29日星期五日星期五3.2 寻址技术寻址技术3.2.2 数据寻址和指令寻址数据寻址和指令寻址 寻址可以分为数据

23、寻址和指令寻址。寻址可以分为数据寻址和指令寻址。寻找操作数的地址寻找操作数的地址称为称为数据寻址数据寻址,数据寻,数据寻址方式较多,其最终目的都是寻找所需要址方式较多,其最终目的都是寻找所需要的操作数。的操作数。寻找下一条将要执行的指令地寻找下一条将要执行的指令地址址称为称为指令寻址指令寻址,指令寻址比较简单,它,指令寻址比较简单,它又可以细分为又可以细分为顺序寻址顺序寻址和和跳跃寻址跳跃寻址。注意计算机组成原理计算机组成原理282022年年7月月29日星期五日星期五备注备注3.2 寻址技术寻址技术 顺序寻址顺序寻址可通过可通过程序计数器程序计数器PC加加1,自动形成下一条指令的地址;跳跃寻址

24、则自动形成下一条指令的地址;跳跃寻址则需要通过程序转移类指令实现。需要通过程序转移类指令实现。跳跃寻址跳跃寻址的转移地址形成方式有三种:的转移地址形成方式有三种:直接(绝对)直接(绝对)、相对相对和和间接寻址间接寻址,它与下,它与下面介绍的数据寻址方式中的直接、相对和面介绍的数据寻址方式中的直接、相对和间接寻址是相同的,只不过间接寻址是相同的,只不过寻找到的不是寻找到的不是操作数的有效地址而是转移的有效地址操作数的有效地址而是转移的有效地址而而已。已。计算机组成原理计算机组成原理292022年年7月月29日星期五日星期五备注备注3.2 寻址技术寻址技术 3.2.3 基本的数据寻址方式基本的数据

25、寻址方式 寻址方式寻址方式是根据指令中给出的地址码字段是根据指令中给出的地址码字段寻寻找真实操作数地址的方式。找真实操作数地址的方式。指令中的形式地址指令中的形式地址A有效地址有效地址EA寻址方式寻址方式OPOP立即数立即数 在取指令时,操作码和操作数被同时取出,不在取指令时,操作码和操作数被同时取出,不必再次访问存储器,从而提高了指令的执行速度。必再次访问存储器,从而提高了指令的执行速度。但是,因为操作数是指令的一部分,不能被修改,但是,因为操作数是指令的一部分,不能被修改,且立即数的大小将受到指令长度的限制。且立即数的大小将受到指令长度的限制。1.立即寻址立即寻址计算机组成原理计算机组成原

26、理302022年年7月月29日星期五日星期五3.2 寻址技术寻址技术2.寄存器寻址寄存器寻址 指令中地址码部分指令中地址码部分给出给出某一通用寄存器的编号某一通用寄存器的编号,所,所指定的寄存器中存放着操作指定的寄存器中存放着操作数。数。两个明显的优点:两个明显的优点:从寄存器存取数据比从寄存器存取数据比主存快得多;主存快得多;由于寄存器的数量较由于寄存器的数量较少,其地址码字段比主存单少,其地址码字段比主存单元地址字段短得多。元地址字段短得多。操作数操作数OP指令寄存器指令寄存器 通用寄存器通用寄存器RiR5操作数操作数S=(Ri)操作数操作数EA=RiR5计算机组成原理计算机组成原理312

27、022年年7月月29日星期五日星期五操作数操作数OP指令寄存器指令寄存器主存储器主存储器A3.2 寻址技术寻址技术3.直接寻址直接寻址 指令中地址码字指令中地址码字段给出的地址段给出的地址A就是就是操作数的有效地址:操作数的有效地址:EA=A 由于操作数地址由于操作数地址是不能修改的,与程是不能修改的,与程序本身所在的位置无序本身所在的位置无关,所以又叫做关,所以又叫做绝对绝对寻址寻址方式。方式。操作数操作数100操作数操作数S=(A)100计算机组成原理计算机组成原理322022年年7月月29日星期五日星期五3.2 寻址技术寻址技术4.间接寻址间接寻址 指令中给出的地址指令中给出的地址A不是

28、操作数的地址,而不是操作数的地址,而是存放操作数地址的地是存放操作数地址的地址。址。EA=(A)通常在指令格式中通常在指令格式中划出一位作为标志位。划出一位作为标志位。=0 直接寻址直接寻址 =1 间接寻址间接寻址操作数操作数EAOP指令寄存器指令寄存器主存储器主存储器A操作数操作数 100操作数操作数S=(A)100200200计算机组成原理计算机组成原理332022年年7月月29日星期五日星期五3.2 寻址技术寻址技术 间接寻址要比直接寻址灵活得多,它的主要间接寻址要比直接寻址灵活得多,它的主要优点为:优点为:扩大了寻址范围,可用指令的短地址访问扩大了寻址范围,可用指令的短地址访问大的主存

29、空间。大的主存空间。可将主存单元作为程序的地址指针,用以可将主存单元作为程序的地址指针,用以指示操作数在主存中的位置。当操作数的地址需指示操作数在主存中的位置。当操作数的地址需要改变时,不必修改指令,只需修改存放有效地要改变时,不必修改指令,只需修改存放有效地址的那个主存单元(间接地址单元)的内容就可址的那个主存单元(间接地址单元)的内容就可以了。以了。计算机组成原理计算机组成原理342022年年7月月29日星期五日星期五3.2 寻址技术寻址技术 除去一级间接寻址除去一级间接寻址外,还有多级间接寻址。外,还有多级间接寻址。多级间接寻址为取得操多级间接寻址为取得操作数需要多次访问主存,作数需要多

30、次访问主存,即使在找到操作数有效即使在找到操作数有效地址后,还需再访问一地址后,还需再访问一次主存才可得到真正的次主存才可得到真正的操作数。操作数。多级间接标志:多级间接标志:0:找到有效地址:找到有效地址 1:继续间接寻址:继续间接寻址EAOP指令寄存器指令寄存器主存储器主存储器A110二级间址二级间址三级间址三级间址操作数操作数100操作数操作数1 2001 3000 5010020030050计算机组成原理计算机组成原理352022年年7月月29日星期五日星期五EAOP指令寄存器指令寄存器主存储器主存储器Ri操作数操作数 通用寄存器通用寄存器3.2 寻址技术寻址技术 5.寄存器间接寻址寄

31、存器间接寻址 指令中的地址码给指令中的地址码给出某一通用寄存器的出某一通用寄存器的编号,被指定的寄存编号,被指定的寄存器中存放操作数的有器中存放操作数的有效地址,而操作数则效地址,而操作数则存放在主存单元中。存放在主存单元中。这种寻址方式的这种寻址方式的指令较短,并且在取指令较短,并且在取指后只需一次访存便指后只需一次访存便可得到操作数。可得到操作数。操作数操作数操作数操作数S=(Ri)100R5EA=(Ri)R5100计算机组成原理计算机组成原理362022年年7月月29日星期五日星期五3.2 寻址技术寻址技术6.变址寻址变址寻址 把指令给出的形把指令给出的形式地址式地址A与变址寄存与变址寄

32、存器器RX的内容相加,形的内容相加,形成操作数有效地址:成操作数有效地址:EA=A+(RX)RX 的内容为变址的内容为变址值。值。120OP指令寄存器指令寄存器主存储器主存储器A操作数操作数R RX X变址值变址值XALU变址寄存器变址寄存器R RX X操作数操作数10020操作数操作数S=(A+(RX)计算机组成原理计算机组成原理372022年年7月月29日星期五日星期五3.2 寻址技术寻址技术 变址寻址是一种广泛采用的寻址方式,变址寻址是一种广泛采用的寻址方式,通常通常指令中的形式地址作为指令中的形式地址作为基准地址基准地址,而,而RX的内容作的内容作为为修改量修改量。在遇到需要频繁修改地

33、址时,无须修。在遇到需要频繁修改地址时,无须修改指令,改指令,只要修改变址值就可以了只要修改变址值就可以了。例如:要把一组连续存放在主存单元中的数例如:要把一组连续存放在主存单元中的数据(首地址是据(首地址是A)依次传送到另一存储区(首地)依次传送到另一存储区(首地址为址为B)中去,则只需在指令中指明两个存储区)中去,则只需在指令中指明两个存储区的首地址的首地址A和和B(形式地址),用同一变址寄存器(形式地址),用同一变址寄存器提供修改量提供修改量K,即可实现,即可实现(A+K)B+K。变址寄存。变址寄存器的内容在每次传送之后自动地修改。器的内容在每次传送之后自动地修改。计算机组成原理计算机组

34、成原理382022年年7月月29日星期五日星期五3.2 寻址技术寻址技术7.基址寻址基址寻址 将基址寄存器将基址寄存器Rb的的内容与位移量内容与位移量D相加,相加,形成操作数有效地址:形成操作数有效地址:EA=(Rb)+D 基址寄存器的内容基址寄存器的内容称为基址值,指令的地称为基址值,指令的地址码字段是一个位移量,址码字段是一个位移量,位移量可正可负位移量可正可负。OP指令寄存器指令寄存器主存储器主存储器D操作数操作数R Rb b基址值基址值ALU基址寄存器基址寄存器Rb120操作数操作数20100操作数操作数S=(Rb)+D)计算机组成原理计算机组成原理392022年年7月月29日星期五日

35、星期五备注备注3.2 寻址技术寻址技术 基址寻址和变址寻址在形成有效地址时所用基址寻址和变址寻址在形成有效地址时所用的算法是相同的,而且在一些计算机中,这两种的算法是相同的,而且在一些计算机中,这两种寻址方式都是由同样的硬件来实现的。寻址方式都是由同样的硬件来实现的。但这两种寻址方式应用的场合不同,但这两种寻址方式应用的场合不同,变址寻变址寻址是面向用户址是面向用户的,用于访问字符串、向量和数组的,用于访问字符串、向量和数组等成批数据;而等成批数据;而基址寻址面向系统基址寻址面向系统,主要用于逻,主要用于逻辑地址和物理地址的变换,用以解决程序在主存辑地址和物理地址的变换,用以解决程序在主存中的

36、再定位和扩大寻址空间等问题。中的再定位和扩大寻址空间等问题。在某些大型在某些大型机中,基址寄存器只能由特权指令来管理,用户机中,基址寄存器只能由特权指令来管理,用户指令无权操作和修改。指令无权操作和修改。计算机组成原理计算机组成原理402022年年7月月29日星期五日星期五操作数操作数操作数操作数OP指令寄存器指令寄存器主存储器主存储器D指令指令指令地址指令地址ALU程序计数器程序计数器PC-D+D3.2 寻址技术寻址技术8.相对寻址相对寻址 相对寻址是基址相对寻址是基址寻址的一种变通,由寻址的一种变通,由程序计数器程序计数器PC提供基提供基准地址,即:准地址,即:EA=(PC)+D 位移量指

37、出的是位移量指出的是操作数和现行指令之操作数和现行指令之间的相对位置。间的相对位置。120操作数操作数20100操作数操作数S=(PC)+D)100-20 E0操作数操作数计算机组成原理计算机组成原理412022年年7月月29日星期五日星期五3.2 寻址技术寻址技术 相对寻址方式的特点:相对寻址方式的特点:操作数的地址不是固定的,它随着操作数的地址不是固定的,它随着PC值的变化值的变化而变化,并且与指令地址之间总是相差一个固定而变化,并且与指令地址之间总是相差一个固定值值 D。当指令地址改变时,由于其位移量不变,。当指令地址改变时,由于其位移量不变,使得操作数与指令在可用的存储区内一起移动,使

38、得操作数与指令在可用的存储区内一起移动,所以仍能保证程序的正确执行。采用所以仍能保证程序的正确执行。采用PC相对寻址相对寻址方式编写的程序可在主存中任意浮动,它放在主方式编写的程序可在主存中任意浮动,它放在主存的任何地方,所执行的效果都是一样的。存的任何地方,所执行的效果都是一样的。由于由于指令中给出的位移量可正、可负,所以对于指令中给出的位移量可正、可负,所以对于指令地址而言,操作数地址可能在指令地址之前指令地址而言,操作数地址可能在指令地址之前或之后。或之后。计算机组成原理计算机组成原理422022年年7月月29日星期五日星期五3.2 寻址技术寻址技术9.页面寻址页面寻址 页面寻址相当于页

39、面寻址相当于将整个主存空间分成若干个大将整个主存空间分成若干个大小相同的区,小相同的区,每个区称为一页每个区称为一页,每页有若干个主存,每页有若干个主存单元。每页都有自己的编号,称为单元。每页都有自己的编号,称为页面地址页面地址;页面;页面内的每个主存单元也有自己的编号,称为内的每个主存单元也有自己的编号,称为页内地址页内地址。这样,操作数的有效地址就被分为两部分:前部为这样,操作数的有效地址就被分为两部分:前部为页面地址,后部为页内地址。页面地址,后部为页内地址。页内地址页内地址页面地址页面地址计算机组成原理计算机组成原理432022年年7月月29日星期五日星期五根据页面地址的来源不同,页面

40、寻址又可以分根据页面地址的来源不同,页面寻址又可以分成成3种不同的方式:种不同的方式:基页寻址,又称零页寻址。由于页面地址全基页寻址,又称零页寻址。由于页面地址全等于等于0,所以有效地址,所以有效地址EA=0A(在这里表示简在这里表示简单拼接),操作数单拼接),操作数S在零页面中,基页寻址实际上在零页面中,基页寻址实际上就是直接寻址。就是直接寻址。当前页寻址。页面地址就等于程序计数器当前页寻址。页面地址就等于程序计数器P C 的 高 位 部 分 的 内 容,所 以 有 效 地 址的 高 位 部 分 的 内 容,所 以 有 效 地 址EA=(PC)HA,操作数,操作数S与指令本身处于同一页面与指

41、令本身处于同一页面中。中。页寄存器寻址。页面地址取自页寄存器,与页寄存器寻址。页面地址取自页寄存器,与形式地址相拼接形成有效地址。形式地址相拼接形成有效地址。3.2 寻址技术寻址技术计算机组成原理计算机组成原理442022年年7月月29日星期五日星期五3.2 寻址技术寻址技术有些计算机在指令格式中设置了一个页有些计算机在指令格式中设置了一个页面标志位(面标志位(Z/C)。当)。当Z/C=0,表示零页寻,表示零页寻址,当址,当Z/C=1,表示当前页寻址。,表示当前页寻址。计算机组成原理计算机组成原理452022年年7月月29日星期五日星期五各种数据寻址方式获得数据的速度(由快到慢)各种数据寻址方

42、式获得数据的速度(由快到慢)立即寻址立即寻址寄存器寻址寄存器寻址直接寻址直接寻址寄存器间接寻址寄存器间接寻址页面寻址页面寻址变址寻址(基址寻址、相对寻址)变址寻址(基址寻址、相对寻址)一级间接寻址一级间接寻址多级间接寻址多级间接寻址 3.2 寻址技术寻址技术注意计算机组成原理计算机组成原理462022年年7月月29日星期五日星期五3.2 寻址技术寻址技术 为了能区分出各种不同寻址方式,必须在指令为了能区分出各种不同寻址方式,必须在指令中给出标识。标识的方式通常有两种:中给出标识。标识的方式通常有两种:显式和隐式显式和隐式。显式的方法就是在指令中设置专门的寻址方式显式的方法就是在指令中设置专门的

43、寻址方式(MOD)字段,用二进制代码来表明寻址方式类)字段,用二进制代码来表明寻址方式类型。型。隐式的方式是由指令的操作码字段说明指令格隐式的方式是由指令的操作码字段说明指令格式并隐含约定寻址方式。式并隐含约定寻址方式。AMODOP显式显式AOP隐式隐式计算机组成原理计算机组成原理472022年年7月月29日星期五日星期五3.2 寻址技术寻址技术 注意,一条指令若有两个或两个以上注意,一条指令若有两个或两个以上的地址码时,的地址码时,各地址码可采用不同的寻址各地址码可采用不同的寻址方式方式。例如,源地址采用一种寻址方式,。例如,源地址采用一种寻址方式,而目的地址采用另一种寻址方式。而目的地址采

44、用另一种寻址方式。MOV AX,(BX)寄存器直接寻址寄存器直接寻址寄存器间接寻址寄存器间接寻址计算机组成原理计算机组成原理482022年年7月月29日星期五日星期五3.3 堆栈堆栈与堆栈操作与堆栈操作 堆栈是一种按特定顺序进行存取的存堆栈是一种按特定顺序进行存取的存储区,这种特定顺序可归结为储区,这种特定顺序可归结为“后进先出后进先出”(LIFO)或)或“先进后出先进后出”(FILO)。)。计算机组成原理计算机组成原理492022年年7月月29日星期五日星期五3.3 堆栈堆栈与堆栈操作与堆栈操作3.3.1 堆栈结构堆栈结构1.寄存器堆栈寄存器堆栈 用一组专门的寄存器构成用一组专门的寄存器构成

45、寄存器堆栈寄存器堆栈,又称为又称为硬堆栈硬堆栈。这种堆栈的栈顶是固定的,。这种堆栈的栈顶是固定的,寄存器组中各寄存器是相互连接的,它们寄存器组中各寄存器是相互连接的,它们之间具有对应位自动推移的功能,即可将之间具有对应位自动推移的功能,即可将一个寄存器的内容推移到相邻的另一个寄一个寄存器的内容推移到相邻的另一个寄存器中去。存器中去。计算机组成原理计算机组成原理502022年年7月月29日星期五日星期五3.3 堆栈与堆栈操作堆栈与堆栈操作 寄存器0寄存器1寄存器2寄存器k-1压入弹出栈顶b0bn-2bn-1计算机组成原理计算机组成原理512022年年7月月29日星期五日星期五3.3 堆栈与堆栈操

46、作堆栈与堆栈操作2.存储器堆栈存储器堆栈 从主存中划出一段区域来作堆栈,这种堆栈又从主存中划出一段区域来作堆栈,这种堆栈又称为称为软堆栈软堆栈,堆栈的大小可变,堆栈的大小可变,栈底固定,栈顶浮栈底固定,栈顶浮动动,故需要一个专门的硬件寄存器作为堆栈栈顶指,故需要一个专门的硬件寄存器作为堆栈栈顶指针针SP,简称栈指针。,简称栈指针。栈指针所指定的主存单元,就栈指针所指定的主存单元,就是堆栈的是堆栈的栈顶栈顶。高地址高地址低地址低地址堆栈区自底向上生成自底向上生成方式的堆栈方式的堆栈计算机组成原理计算机组成原理522022年年7月月29日星期五日星期五3.3 堆栈与堆栈操作堆栈与堆栈操作 堆栈的栈

47、底地址大于栈顶地址,通常栈指针始堆栈的栈底地址大于栈顶地址,通常栈指针始终指向终指向栈顶的满单元栈顶的满单元。进栈时,。进栈时,SP的内容需要先自的内容需要先自动减动减1,然后再将数据压入堆栈,然后再将数据压入堆栈。20001FFF(SP)-1SP 修改栈指针修改栈指针(A)(SP)将将A中的数据压入堆栈中的数据压入堆栈SP2000A2000原栈顶单元现栈顶单元1FFF1FFF注意计算机组成原理计算机组成原理532022年年7月月29日星期五日星期五3.3 堆栈与堆栈操作堆栈与堆栈操作 出栈时,需要先将堆栈中的数据弹出,出栈时,需要先将堆栈中的数据弹出,然后然后SP的内容再自动加的内容再自动加

48、1。2000(SP)A 将栈顶内容弹出,送入将栈顶内容弹出,送入A中中(SP)+1SP 修改栈指针修改栈指针SP1FFF1FFFA1FFF原栈顶单元现栈顶单元1FFF1FFF2000注意计算机组成原理计算机组成原理542022年年7月月29日星期五日星期五3.3 堆栈与堆栈操作堆栈与堆栈操作3.3.2 堆栈操作堆栈操作 在一般计算机中,在一般计算机中,堆栈主要用来堆栈主要用来暂存中断断暂存中断断点点、子程序调用时的返回地址子程序调用时的返回地址、状态标志及现场状态标志及现场信息信息等,等,也可用于子程序调用时参数的传递,所也可用于子程序调用时参数的传递,所以用于访问堆栈的指令只有进栈(压入)和

49、出栈以用于访问堆栈的指令只有进栈(压入)和出栈(弹出)两种。(弹出)两种。(P73-74有代码有代码)在堆栈计算机(如在堆栈计算机(如HP-3000、B5000等)中,等)中,没有一般计算机中必备的通用寄存器,因此堆栈没有一般计算机中必备的通用寄存器,因此堆栈就成为提供操作数和保存运算结果的唯一场所。就成为提供操作数和保存运算结果的唯一场所。计算机组成原理计算机组成原理552022年年7月月29日星期五日星期五3.4 指令类型指令类型 3.4.1 数据传送类指令数据传送类指令 数据传送类指令主要用于实现寄存器与寄存数据传送类指令主要用于实现寄存器与寄存器之间,寄存器与主存单元之间以及两个主存单

50、器之间,寄存器与主存单元之间以及两个主存单元之间的数据传送。数据传送类指令又可以细分元之间的数据传送。数据传送类指令又可以细分为:为:1.一般传送指令一般传送指令 一般传送指令一般传送指令(MOV)具有数据具有数据复制复制的性质的性质,即数据从源地址传送到目的地址,而源地址中的即数据从源地址传送到目的地址,而源地址中的内容保持不变。传送通常以字节、字、双字或数内容保持不变。传送通常以字节、字、双字或数组为单位,特殊情况下也能按位为单位进行传送。组为单位,特殊情况下也能按位为单位进行传送。计算机组成原理计算机组成原理562022年年7月月29日星期五日星期五3.4 指令类型指令类型 主存单元之间

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|