计算机组成原理:指令系统课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成原理:指令系统课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 指令系统 课件
- 资源描述:
-
1、计算机组成原理计算机组成原理 第第3章章指令系统指令系统计算机组成原理计算机组成原理 第第3章章 指令和指令系统是计算机中最基本的指令和指令系统是计算机中最基本的概念。指令是指示计算机执行某些操作的概念。指令是指示计算机执行某些操作的命令,一台计算机的所有指令的集合构成命令,一台计算机的所有指令的集合构成该机的指令系统,也称指令集。指令系统该机的指令系统,也称指令集。指令系统是计算机的主要属性,位于硬件和软件的是计算机的主要属性,位于硬件和软件的交界面上。本章将讨论一般计算机的指令交界面上。本章将讨论一般计算机的指令系统所涉及的基本问题。系统所涉及的基本问题。计算机组成原理计算机组成原理 第第
2、3章章裸机裸机软件软件指令系统指令系统计算机组成原理计算机组成原理 第第3章章3.1 指令格式指令格式3.2 寻址技术寻址技术3.3 堆栈堆栈与堆栈操作与堆栈操作3.4 指令类型指令类型3.5 指令系统的发展指令系统的发展 计算机组成原理计算机组成原理 3.1 指令格式指令格式3.1.1 机器指令的基本格式机器指令的基本格式 一条指令就是机器语言的一个语句,一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。指令的基它是一组有意义的二进制代码。指令的基本格式如下:本格式如下:操作码字段操作码字段地址码字段地址码字段操作码操作码:指明操作的性质及功能。:指明操作的性质及功能。操作码操作码
3、 地址码地址码:指明操作数的地址,特殊情况:指明操作数的地址,特殊情况下也可能直接给出操作数本身。下也可能直接给出操作数本身。地址码地址码注意计算机组成原理计算机组成原理 3.1 指令格式指令格式 指令的长度是指一条指令中所包含的二进指令的长度是指一条指令中所包含的二进制代码的位数,它取决于操作码字段的长度、制代码的位数,它取决于操作码字段的长度、操作数地址的个数及长度。指令长度应:操作数地址的个数及长度。指令长度应:尽可能短尽可能短 等于字节的整数倍等于字节的整数倍 指令长度可以等于机器字长,也可以大于指令长度可以等于机器字长,也可以大于或小于机器字长。或小于机器字长。在一个指令系统中,若所
4、有指令的长度都在一个指令系统中,若所有指令的长度都是相等的,称为定长指令字结构;若各种指令是相等的,称为定长指令字结构;若各种指令的长度随指令功能而异,称为变长指令字结构。的长度随指令功能而异,称为变长指令字结构。计算机组成原理计算机组成原理 3.1 指令格式指令格式3.1.2 地址码结构地址码结构 一条一条双操作数指令双操作数指令的除操作码之外,还的除操作码之外,还应包含以下信息:应包含以下信息:第一操作数地址,用第一操作数地址,用A1表示;表示;第二操作数地址,用第二操作数地址,用A2表示;表示;操作结果存放地址,用操作结果存放地址,用A3表示;表示;下条将要执行指令的地址,用下条将要执行
5、指令的地址,用A4表示。表示。这些信息可以在指令中明显的给出,称这些信息可以在指令中明显的给出,称为为显地址显地址;也可以依照某种事先的约定,用;也可以依照某种事先的约定,用隐含的方式给出,称为隐含的方式给出,称为隐地址隐地址。下面以下面以双操作数指令双操作数指令为例讨论地址码结为例讨论地址码结构。构。计算机组成原理计算机组成原理 3.1 指令格式指令格式1.四地址指令四地址指令OPOPA A1 1A A2 2A A3 3A A4 4 (A1)OP(A2)A3 A4=下条将要执行下条将要执行指令的地址指令的地址538+10020030040010020030050100200300400指令指
6、令下一指令下一指令53指令指令 5 3 8下一指令下一指令400+计算机组成原理计算机组成原理 10020030050指令指令下一指令下一指令53513.1 指令格式指令格式2.三地址指令三地址指令OPOPA A1 1A A2 2A A3 3(A1)OP(A2)A3(PC)+1=下条将要执下条将要执行指令的地址行指令的地址程序计数器:程序计数器:存放当前指令地址存放当前指令地址指令指令 5 3 8下一指令下一指令+100200300538+执行一条三地址指执行一条三地址指令需令需4次访问主存。次访问主存。100200300 +计算机组成原理计算机组成原理(A1)OP(A2)A13.1 指令格式
7、指令格式3.二地址指令二地址指令OPOPA A1 1A A2 2(PC)+1=下条将要执行下条将要执行指令的地址指令的地址 A1中原存内容在中原存内容在指令执行后被破坏。指令执行后被破坏。目的操作数地址目的操作数地址源操作数地址源操作数地址 执行一条二地址执行一条二地址指令需指令需4次访问主存。次访问主存。10020030050指令指令下一指令下一指令5351指令指令 5 3 8下一指令下一指令+100200538+100200+计算机组成原理计算机组成原理(Acc)OP(A1)Acc3 3.1 指令格式指令格式4.一地址指令一地址指令OPOPA A1 1(PC)+1=下条将下条将要执行指令的
8、地要执行指令的地址址累加寄存器累加寄存器 执行一条一执行一条一地址指令需地址指令需2次访次访问主存。问主存。10020030050指令指令下一指令下一指令351指令指令 3下一指令下一指令+100538+100+计算机组成原理计算机组成原理 3.1 指令格式指令格式5.零地址指令零地址指令OPOP 操作数地址是隐含的。参加运算的操操作数地址是隐含的。参加运算的操作数放在堆栈中,运算结果也放在堆栈中。作数放在堆栈中,运算结果也放在堆栈中。有关堆栈的概念将在稍后讨论。有关堆栈的概念将在稍后讨论。计算机组成原理计算机组成原理 3.1 指令格式指令格式 指令中地址个数的选取要考虑诸多的指令中地址个数的
9、选取要考虑诸多的因素。从缩短程序长度,用户使用方便,因素。从缩短程序长度,用户使用方便,增加操作并行度等方面来看,选用三地址增加操作并行度等方面来看,选用三地址指令格式较好;从缩短指令长度,减少访指令格式较好;从缩短指令长度,减少访存次数,简化硬件设计等方面来看,一地存次数,简化硬件设计等方面来看,一地址指令格式较好。对于同一个问题,用三址指令格式较好。对于同一个问题,用三地址指令编写的程序最短,但指令长度最地址指令编写的程序最短,但指令长度最长,而用二、一、零地址指令来编写程序,长,而用二、一、零地址指令来编写程序,程序的长度一个比一个长,但指令的长度程序的长度一个比一个长,但指令的长度一个
10、比一个短。一个比一个短。注意计算机组成原理计算机组成原理 3.1 指令格式指令格式例:计算例:计算x=(ab+c-d)(e+f)三地址指令:三地址指令:MULA,B,XADDX,C,XSUBX,D,XADDE,F,YDIVX,Y,X 5条指令,每条指令条指令,每条指令4次访存,执行此程次访存,执行此程序共访存序共访存20次。次。计算机组成原理计算机组成原理 3.1 指令格式指令格式二地址指令:二地址指令:MOVX,AMULX,BADDX,CSUBX,DMOVY,EADDY,FDIVX,Y 7条指令,条指令,MOV指令指令3次访存,算逻指令次访存,算逻指令4次访存,执行此程序共访存次访存,执行此
11、程序共访存23+54=26次次。计算机组成原理计算机组成原理 3.1 指令格式指令格式一地址指令:一地址指令:LOAD EADD FSTORE XLOAD AMULBADDCSUBDDIVXSTORE X 9条指令,每条指令,每条指令条指令2次访存,次访存,执行此程序共访执行此程序共访存存92=18次次计算机组成原理计算机组成原理 3.1 指令格式指令格式3.1.3 指令的操作码指令的操作码 指令系统中的每一条指令都有一个唯指令系统中的每一条指令都有一个唯一确定的操作码,指令不同,其操作码的一确定的操作码,指令不同,其操作码的编码也不同。为了能表示整个指令系统中编码也不同。为了能表示整个指令系
12、统中的全部指令,指令的操作码字段应当具有的全部指令,指令的操作码字段应当具有足够的位数。足够的位数。指令操作码的编码可以分为指令操作码的编码可以分为规整型规整型和和非规整型非规整型两类:两类:规整型(定长编码)规整型(定长编码)非规整型(变长编码)非规整型(变长编码)注意计算机组成原理计算机组成原理 3.1 指令格式指令格式 1.规整型规整型 操作码字段的位数和位置是固定的。操作码字段的位数和位置是固定的。假定:指令系统共有假定:指令系统共有m条指令,指令中条指令,指令中操作码字段的位数为操作码字段的位数为N位,则有如下关系式:位,则有如下关系式:Nlog2 m IBM 370机(字长机(字长
13、32位)的指令可分为位)的指令可分为三种不同的长度形式:半字长指令、单字长三种不同的长度形式:半字长指令、单字长指令和一个半字长指令。不论指令的长度为指令和一个半字长指令。不论指令的长度为多少位,其中操作码字段多少位,其中操作码字段一律都是一律都是8位位,8位位操作码字段允许容纳操作码字段允许容纳256条指令,实际上在条指令,实际上在IBM 370机中仅有机中仅有183条指令。条指令。计算机组成原理计算机组成原理 3.1 指令格式指令格式OPOPOPOPOPD2D1D1D2D2R1R1R1R2R2L1B1B2B2B2X2B1I28888844444444444881212121212RR型RX
14、型RS型SI型SS型计算机组成原理计算机组成原理 3.1 指令格式指令格式 定长编码对于简化硬件设计,减少指定长编码对于简化硬件设计,减少指令译码的时间是非常有利的,存在着信息令译码的时间是非常有利的,存在着信息冗余。冗余。计算机组成原理计算机组成原理 3.1 指令格式指令格式2.非规整型非规整型 操作码字段的位数不固定,且分散地操作码字段的位数不固定,且分散地放在指令字的不同位置上。放在指令字的不同位置上。PDP-11机(字长机(字长16位)的指令分为单位)的指令分为单字长、两字长、三字长三种,操作码字段字长、两字长、三字长三种,操作码字段占占416位不等,可遍及整个指令长度。位不等,可遍及
15、整个指令长度。操作码字段的位数和位置不固定将增操作码字段的位数和位置不固定将增加指令译码和分析的难度,使控制器的设加指令译码和分析的难度,使控制器的设计复杂化。计复杂化。计算机组成原理计算机组成原理 3.1 指令格式指令格式OPRR846261316OPS844OPOPOPOPOPOP1616SDD1683DDXSS66666610单字长(16位)二字长(32位)三字长(48位)地址地址1地址2计算机组成原理计算机组成原理 3.1 指令格式指令格式 最常用的非规整型编码方式是扩展操最常用的非规整型编码方式是扩展操作码法:作码法:让操作数地址个数多的指令(如三地让操作数地址个数多的指令(如三地址
16、指令)的操作码字段短些,操作数地址址指令)的操作码字段短些,操作数地址个数少的指令(如一或零地址指令)的操个数少的指令(如一或零地址指令)的操作码字段长些。作码字段长些。注意计算机组成原理计算机组成原理 3.1 指令格式指令格式 例如:设某机的指令长度为例如:设某机的指令长度为16位,操位,操作码字段为作码字段为4位,有三个位,有三个4位的地址码字段,位的地址码字段,其格式为:其格式为:如果按照定长编码的方法,如果按照定长编码的方法,4位操作码位操作码字段最多只能表示字段最多只能表示16条不同的三地址指令。条不同的三地址指令。OPOPA A1 1A A2 2A A3 34 4位位4 4位位4
17、4位位4 4位位计算机组成原理计算机组成原理 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 XXXX YYYY 0000 XXXX YYYY1111 1110 XXXX YYYY1111 1110 XXXX YYYY1111 11111111 11111515条一地址指
18、令条一地址指令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扩展窗口扩展窗口扩展窗口扩展窗口扩展窗口扩展窗口OPOPA1A1A2A2OPOPA1A1OPOP计算机组成原理计算机组成原理 3.1 指令格式指令格式 以下两点要注意:以下两点要注意:不允许短码
19、是长码的前缀,即短码不能不允许短码是长码的前缀,即短码不能与长码的开始部分的代码相同,否则将无法与长码的开始部分的代码相同,否则将无法保证解码的唯一性和实时性。保证解码的唯一性和实时性。各条指令的操作码一定不能重复雷同,各条指令的操作码一定不能重复雷同,而且各类指令的格式安排应统一规整。而且各类指令的格式安排应统一规整。计算机组成原理计算机组成原理 第第3章章3.1 指令格式指令格式3.2 寻址技术寻址技术3.3 堆栈堆栈与堆栈操作与堆栈操作3.4 指令类型指令类型3.5 指令系统的发展指令系统的发展 计算机组成原理计算机组成原理 3.2 寻址技术寻址技术 寻址,指的是寻找操作数的地址寻址,指
20、的是寻找操作数的地址或下或下一条将要执行的指令地址。一条将要执行的指令地址。寻址技术包括寻址技术包括编址方式和寻址方式。编址方式和寻址方式。计算机组成原理计算机组成原理 3.2 寻址技术寻址技术3.2.1 编址方式编址方式1.编址编址 通常,指令中的地址码字段将指出操通常,指令中的地址码字段将指出操作数的来源和去向,而操作数则存放在相作数的来源和去向,而操作数则存放在相应的存储设备中。在计算机中需要编址的应的存储设备中。在计算机中需要编址的设备主要有设备主要有CPU中的通用寄存器、主存储中的通用寄存器、主存储器和输入输出设备等器和输入输出设备等3种。种。计算机组成原理计算机组成原理 3.2 寻
21、址技术寻址技术2.编址单位编址单位(1)字编址字编址 编址单位编址单位=访问单位访问单位 每个编址单位所包含的信息量(二进每个编址单位所包含的信息量(二进制位数)与读或写一次寄存器、主存所获制位数)与读或写一次寄存器、主存所获得的信息量是相同的。早期的大多数机器得的信息量是相同的。早期的大多数机器都采用这种编址方式。都采用这种编址方式。计算机组成原理计算机组成原理 3.2 寻址技术寻址技术(2)字节编址字节编址 字节编址是为了适应非数值计算的需字节编址是为了适应非数值计算的需要。字节编址方式使编址单位与信息的基本要。字节编址方式使编址单位与信息的基本单位(一个字节)相一致,这是它的最大优单位(
22、一个字节)相一致,这是它的最大优点。然而,如果主存的访问单位也是一个字点。然而,如果主存的访问单位也是一个字节的话,那么主存的频带就太窄了。节的话,那么主存的频带就太窄了。编址单位访问单位编址单位访问单位 通常主存的访问单位是编址单位的若通常主存的访问单位是编址单位的若干倍。干倍。(3)位编址位编址 也有部分计算机系统采用位编址方式。也有部分计算机系统采用位编址方式。计算机组成原理计算机组成原理 3.2 寻址技术寻址技术3.指令中地址码的位数指令中地址码的位数 指令格式中每个地址码的位数是与指令格式中每个地址码的位数是与主存主存容量容量和和最小寻址单位最小寻址单位(即编址单位)有关联(即编址单
23、位)有关联的。主存容量越大,所需的地址码位数就越的。主存容量越大,所需的地址码位数就越长。对于相同容量来说,如果以字节为最小长。对于相同容量来说,如果以字节为最小寻址单位,地址码的位数就需要长些;如果寻址单位,地址码的位数就需要长些;如果以字为最小寻址单位(假定字长为以字为最小寻址单位(假定字长为16位或更位或更长),地址码的位数可以减少。设某机主存长),地址码的位数可以减少。设某机主存容量为容量为220 个字节,机器字长个字节,机器字长32位。若最小位。若最小寻址单位为字节(按字节编址),其地址码寻址单位为字节(按字节编址),其地址码应为应为20位;若最小寻址单位为字(按字编位;若最小寻址单
24、位为字(按字编址),其地址码只需址),其地址码只需18位。位。计算机组成原理计算机组成原理 3.2 寻址技术寻址技术3.2.2 数据寻址和指令寻址数据寻址和指令寻址 寻址可以分为数据寻址和指令寻址。寻址可以分为数据寻址和指令寻址。寻找操作数的地址称为数据寻址,寻找操作数的地址称为数据寻址,数据寻数据寻址方式较多,其最终目的都是寻找所需要址方式较多,其最终目的都是寻找所需要的操作数的操作数。寻找下一条将要执行的指令地。寻找下一条将要执行的指令地址称为指令寻址,指令寻址比较简单,它址称为指令寻址,指令寻址比较简单,它又可以细分为顺序寻址和跳跃寻址。又可以细分为顺序寻址和跳跃寻址。注意计算机组成原理
25、计算机组成原理 3.2 寻址技术寻址技术 顺序寻址可通过程序计数器顺序寻址可通过程序计数器PC加加1,自动形成下一条指令的地址;跳跃寻址则自动形成下一条指令的地址;跳跃寻址则需要通过程序转移类指令实现。需要通过程序转移类指令实现。跳跃寻址的转移地址形成方式有三种:跳跃寻址的转移地址形成方式有三种:直接(绝对)、相对和间接寻址,它与下直接(绝对)、相对和间接寻址,它与下面介绍的数据寻址方式中的直接、相对和面介绍的数据寻址方式中的直接、相对和间接寻址是相同的,只不过寻找到的不是间接寻址是相同的,只不过寻找到的不是操作数的有效地址而是转移的有效地址而操作数的有效地址而是转移的有效地址而已。已。计算机
展开阅读全文