第3周大课 处理器(2)_第1页
第3周大课 处理器(2)_第2页
第3周大课 处理器(2)_第3页
第3周大课 处理器(2)_第4页
第3周大课 处理器(2)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 1/35计算机组成原理计算机组成原理指令的概念,操作码和操作数;指令的概念,操作码和操作数;寻址方式,寻址方式, 指令寻址和数据寻址。指令寻址和数据寻址。 2/35计算机组成原理计算机组成原理指令的基本功能指令的基本功能指令的格式指令的格式 3/35计算机组成原理计算机组成原理掌握处理器的主要指令类型。掌握处理器的主要指令类型。掌握指令的格式掌握指令的格式 4/35计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 1. 4 指令的基本功能指令的基本功能 通用计算机系统的指令集可分为通用计算机系统的指令集可分为5类基本指令:类基本指令:(1)算术)算术/逻辑逻辑/移位指

2、令(简称算逻指令)移位指令(简称算逻指令)(2)数据传送指令(简称数传指令)数据传送指令(简称数传指令) (3)控制转移指令)控制转移指令(4)输入)输入/输出指令输出指令(5)处理器控制及调试指令)处理器控制及调试指令 5/35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令n定点加法指令定点加法指令ADDn定点减法指令定点减法指令SUBn定点乘法指令定点乘法指令MULn定点除法指令定点除法指令DIVn加加1指令指令INCn减减1指令指令DECn比较指令比较指令CMPn浮点加法指令浮点加法指令ADDFn浮点减法指令浮点减法指令SUBFn浮点乘

3、法指令浮点乘法指令MULFn浮点除法指令浮点除法指令DIVFn十进制数算术运算指令十进制数算术运算指令使用时,要注意它们对处理器中标志位的影响使用时,要注意它们对处理器中标志位的影响 算术指令算术指令 6/35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令n“与与”运算指令运算指令ANDn“或或”运算指令运算指令ORn“非非”运算指令运算指令NOTn“异或异或”运算指令运算指令XORn位测试位测试n位清除位清除n位求反位求反 n算术左算术左/右移指令右移指令n逻辑左逻辑左/右移指令右移指令n带进位循环左带进位循环左/右移指令右移指令n不带进位

4、循环左不带进位循环左/右移指令右移指令逻辑指令逻辑指令移位指令移位指令 7/35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (2)数传指令)数传指令根据数据的流向,数传指令分为:根据数据的流向,数传指令分为:n寄存器与寄存器之间的数据传送指令寄存器与寄存器之间的数据传送指令n寄存器与主存储器单元之间的数据传送指令寄存器与主存储器单元之间的数据传送指令n寄存器与堆栈之间的数据传送指令寄存器与堆栈之间的数据传送指令n堆栈与主存储器单元之间的数据传送指令堆栈与主存储器单元之间的数据传送指令n内存单元与内存单元之间的数据传送指令内存单元与内存单元之间的数据传送指令 8/3

5、5计算机组成原理计算机组成原理(2)数传指令)数传指令根据传输的功能分为:根据传输的功能分为:n一般传送指令一般传送指令 实现数据复制功能,即把源操作数的内容写入目的操实现数据复制功能,即把源操作数的内容写入目的操作数。其汇编语言助记符通常为作数。其汇编语言助记符通常为MOV。 在有些计算机上,将主存储器单元的内容写入寄存器在有些计算机上,将主存储器单元的内容写入寄存器的数据传送指令,记为的数据传送指令,记为LOAD;将寄存器内容写入主存储;将寄存器内容写入主存储器单元的数据传送指令,记为器单元的数据传送指令,记为STORE。n堆栈操作指令堆栈操作指令n数据交换指令数据交换指令 9/35计算机

6、组成原理计算机组成原理(2)数传指令)数传指令根据传输的功能分为:根据传输的功能分为:n一般传送指令一般传送指令 n堆栈操作指令堆栈操作指令1. 压入栈顶压入栈顶PUSH2. 弹出栈顶弹出栈顶POP PUSH的源操作数和的源操作数和POP指令的目的操作数,指令的目的操作数, 一般是寄存器号,也可能是主存储器单元地址一般是寄存器号,也可能是主存储器单元地址. 10/35计算机组成原理计算机组成原理(2)数传指令)数传指令 上述两类数据指令的数据流动是单方向的。要实现两上述两类数据指令的数据流动是单方向的。要实现两个数据的交换,需要编写三条指令并额外占用一个存储单个数据的交换,需要编写三条指令并额

7、外占用一个存储单元。因此大多数计算机都提供元。因此大多数计算机都提供“数据交换指令数据交换指令”来简化双来简化双向数据流动的实现,如向数据流动的实现,如Intel 80 x86中的中的XCHG指令。指令。 这类指令的源操作数和目的操作数一般都是寄存器,这类指令的源操作数和目的操作数一般都是寄存器,至多允许源操作数是主存储器单元。至多允许源操作数是主存储器单元。 11/35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令(2)数传指令)数传指令(3)控制转移指令)控制转移指令n跳转指令跳转指令JUMPn分支指令分支指令n子程序调用子程序调用CAL

8、L/返回指令返回指令RETn循环控制指令循环控制指令LOOPn中断系统指令中断系统指令 将指令操作数的内容写入将指令操作数的内容写入PC之中,强制改变指令之中,强制改变指令执行的顺序。执行的顺序。也称也称无条件转移指令无条件转移指令 12/35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (3)控制转移指令)控制转移指令n跳转指令跳转指令JUMPn分支指令(分支指令(也称也称条件转移指令条件转移指令) 根据特定条件(往往是上一条指令的执行结果),决根据特定条件(往往是上一条指令的执行结果),决定程序是顺序执行还是转移到一个新的位置执行,即有条定程序是顺序执行还是转移

9、到一个新的位置执行,即有条件地改变指令执行的顺序。件地改变指令执行的顺序。 转移条件有:为转移条件有:为0、为正、为正/负数、发生进位负数、发生进位/借位借位、为奇数、为奇数/偶数、发生溢出或以上条件的组合。偶数、发生溢出或以上条件的组合。 13/35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (3)控制转移指令)控制转移指令n跳转指令跳转指令JUMPn分支指令(分支指令(也称也称条件转移指令条件转移指令)绝对转移绝对转移相对转移相对转移 当条件满足时,计算机将把该当条件满足时,计算机将把该指令中所含操作数的内容直接指令中所含操作数的内容直接写入写入PC中中当条件

10、满足时,计算机将把该指令中所含操作当条件满足时,计算机将把该指令中所含操作数的内容数的内容与与PC中的内容相加后,把结果中的内容相加后,把结果写入写入PC中中 14/35计算机组成原理计算机组成原理常见的条件转移指令有:常见的条件转移指令有:n等于零转移等于零转移BEQn不等于零转移不等于零转移BNEQn小于转移小于转移BLSn大于转移大于转移BGTn小于等于转移小于等于转移/不大于转移不大于转移BLEQn大于等于转移大于等于转移/不小于转移不小于转移BGEQn不带符号小于转移不带符号小于转移BLSUn不带符号大于转移不带符号大于转移BGTUn不带符号小于等于转移不带符号小于等于转移BLEQU

11、n不带符号大于等于转移不带符号大于等于转移BGEQUn没有进位转移没有进位转移BCCn有进位转移有进位转移BCSn没有溢出转移没有溢出转移BVCn有溢出转移有溢出转移BVS 15/35计算机组成原理计算机组成原理 例例3-6 某机器有一个标志寄存器,其中有进位某机器有一个标志寄存器,其中有进位/借位标志借位标志CF、零标志、零标志ZF、符号标志、符号标志SF和溢出标志和溢出标志OF,条件转移指令,条件转移指令bgt(无符号整数比较大于时转移)的转移条件是(无符号整数比较大于时转移)的转移条件是 。 ACF+OF=1 BSF+ZF=1 CCF+ZF=1 DCF+SF=1答:答: bgt的转移条件

12、是的转移条件是CF和和ZF都为都为0,故选,故选C . 另外,无符号整数比较不涉及另外,无符号整数比较不涉及SF、OF,只有选择,只有选择C.C 16/35计算机组成原理计算机组成原理(3)控制转移指令)控制转移指令n跳转指令跳转指令JUMPn分支指令分支指令n子程序调用子程序调用CALL/返回指令返回指令RET 在程序中,有一些具有特定功能的程序段会被反复使在程序中,有一些具有特定功能的程序段会被反复使用。为了提高程序的可读性、可重用性和可维护性,人们将用。为了提高程序的可读性、可重用性和可维护性,人们将这样的程序段独立出来,将其定义成一个这样的程序段独立出来,将其定义成一个子程序子程序。

13、当程序需要执行该特定功能时,不再需要编当程序需要执行该特定功能时,不再需要编写这样一个程序段,而只需要编写一条调用子程写这样一个程序段,而只需要编写一条调用子程序的指令即可。序的指令即可。 17/35计算机组成原理计算机组成原理n子程序调用子程序调用CALL / 返回指令返回指令RETn调用子程序的指令格式调用子程序的指令格式: CALL Subprogram_Name 功能是,首先把当前程序的断点(也称主调程序的返回功能是,首先把当前程序的断点(也称主调程序的返回地址,即当前程序计数器地址,即当前程序计数器PC中的值)保存到系统堆栈中,然中的值)保存到系统堆栈中,然后由子程序名后由子程序名S

14、ubprogram_Name求得子程序的入口地址,最求得子程序的入口地址,最后把子程序的入口地址写入后把子程序的入口地址写入PC,从而将程序控制转移至被调,从而将程序控制转移至被调子程序。子程序。 18/35计算机组成原理计算机组成原理n子程序调用子程序调用CALL / 返回指令返回指令RETn调用子程序的指令格式调用子程序的指令格式: CALL Subprogram_Namen返回指令返回指令RET 功能:把保存在堆栈中的程序断点弹回到功能:把保存在堆栈中的程序断点弹回到PC之中之中n调用子程序指令调用子程序指令CALL应与返回指令应与返回指令RET一起配合一起配合使用。使用。 19/35计

15、算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令(2)数传指令)数传指令(3)控制转移指令)控制转移指令(4)输入)输入/输出指令输出指令 为了完成主机与外设之间信息交换的各种操作而设为了完成主机与外设之间信息交换的各种操作而设置,置,包括包括: 启动输入启动输入/输出设备、停止输入输出设备、停止输入/输出设备、测输出设备、测试输入试输入/输出设备及数据的输入或输出等指令。输出设备及数据的输入或输出等指令。 20/35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令(2)数传指令)数传指令(3)控

16、制转移指令)控制转移指令(4)输入)输入/输出指令输出指令(5)处理器控制及调试指令)处理器控制及调试指令 21/35计算机组成原理计算机组成原理(5)处理器控制及调试指令)处理器控制及调试指令n包括各种设置包括各种设置/清除标志位指令、进程同步指令、调试指令清除标志位指令、进程同步指令、调试指令、停机指令(、停机指令(HALT)等。)等。n调试指令用于硬件或软件的调试。硬件调试指令用于读取调试指令用于硬件或软件的调试。硬件调试指令用于读取标志状态,显示寄存器和主存单元内容等。软件调试指令标志状态,显示寄存器和主存单元内容等。软件调试指令包括断点的设置及跟踪指令,自陷阱指令等。包括断点的设置及

17、跟踪指令,自陷阱指令等。 22/35计算机组成原理计算机组成原理 对于面向多用户系统的处理器对于面向多用户系统的处理器,为了保证信息安全,为了保证信息安全,处理器的工作状态分为处理器的工作状态分为核心态核心态和和用户态用户态。 仅能在核心态(也叫管态)下运行的指令称为仅能在核心态(也叫管态)下运行的指令称为特权指令特权指令。用户态(也叫目态)下的程序要想执行管态下。用户态(也叫目态)下的程序要想执行管态下的功能(由操作系统实现并提供用户使用)必须通过执行的功能(由操作系统实现并提供用户使用)必须通过执行“访管指令访管指令”来实现。来实现。 23/35计算机组成原理计算机组成原理访管指令访管指令

18、是一条可以在目态下执行的指令,用户程序中需是一条可以在目态下执行的指令,用户程序中需要调用操作系统功能的地方就安排一条访管指令。要调用操作系统功能的地方就安排一条访管指令。 当执行到访管指令时,处理器自愿地产生一个中断事件当执行到访管指令时,处理器自愿地产生一个中断事件(访管中断),暂停用户程序的执行,陷入管态,让操作系(访管中断),暂停用户程序的执行,陷入管态,让操作系统为用户服务。统为用户服务。 24/35计算机组成原理计算机组成原理3. 1. 4 指令的基本功能指令的基本功能 (1)算逻指令)算逻指令(2)数传指令)数传指令(3)控制转移指令)控制转移指令(4)输入)输入/输出指令输出指

19、令(5)处理器控制及调试指令)处理器控制及调试指令n此外,还有:空操作指令此外,还有:空操作指令NOP和等待指令和等待指令WAITn通用计算机应具有的指令及其功能参见表通用计算机应具有的指令及其功能参见表3-1 25/35计算机组成原理计算机组成原理3. 1 处理器的指令集处理器的指令集 3. 1. 5 指令的格式指令的格式 涉及指令的操作码长度、指令涉及指令的操作码长度、指令“地址制地址制”及采用及采用的寻址方式、指令长度等三方面的问题。的寻址方式、指令长度等三方面的问题。 26/35计算机组成原理计算机组成原理3. 1. 5 指令的格式指令的格式 (1)指令操作码的长度有定长和不定长两种选

20、择)指令操作码的长度有定长和不定长两种选择 选择定长的操作码可以简化指令译码器的设计与实现选择定长的操作码可以简化指令译码器的设计与实现;选择不定长操作码(也称扩展操作码)可使常用指令拥;选择不定长操作码(也称扩展操作码)可使常用指令拥有较短的操作码而不常用指令拥有较长的操作码有较短的操作码而不常用指令拥有较长的操作码(即哈夫(即哈夫曼压缩编码)曼压缩编码) ,从而压缩程序所占的存储空间。,从而压缩程序所占的存储空间。 27/35计算机组成原理计算机组成原理3. 1. 5 指令的格式指令的格式 (2)在一条指令中出现几个操作数地址,这是指令的)在一条指令中出现几个操作数地址,这是指令的“地地址

21、制址制”所要解决的问题。一般情况下,指令中地址的个数所要解决的问题。一般情况下,指令中地址的个数,可以取,可以取4,3,2,1,0个。个。 在四地址指令中,两个地址分别指示两个源操作数在四地址指令中,两个地址分别指示两个源操作数,一个地址指示目的操作数,最后一个地址指示下一条,一个地址指示目的操作数,最后一个地址指示下一条指令的存储单元。指令的存储单元。 28/35计算机组成原理计算机组成原理n三地址指令是在四地址指令的基础上,将指令中下一条三地址指令是在四地址指令的基础上,将指令中下一条指令的地址省略掉,改用指令的地址省略掉,改用PC来指示下一条指令的地址。来指示下一条指令的地址。n两地址指

22、令是在三地址指令的基础上,将一个源操作数两地址指令是在三地址指令的基础上,将一个源操作数同时作为目的操作数。同时作为目的操作数。 29/35计算机组成原理计算机组成原理n一地址指令是在两地址指令的基础上,隐含使用某个寄一地址指令是在两地址指令的基础上,隐含使用某个寄存器(如存器(如ACC)作为一个源操作数或目的操作数。)作为一个源操作数或目的操作数。n停机指令、清除停机指令、清除/设置特定标志位指令无须操作数,即为设置特定标志位指令无须操作数,即为零地址。零地址。 30/35计算机组成原理计算机组成原理n“地址制地址制”设计或改进的目的是为了压缩指令长度,缩短设计或改进的目的是为了压缩指令长度

23、,缩短指令的执行时间。在相同的指令长度内,减少地址个数可指令的执行时间。在相同的指令长度内,减少地址个数可以扩大所能表示指令的条数或操作数的寻址范围。以扩大所能表示指令的条数或操作数的寻址范围。n同一条指令中不同操作数可采用不同的寻址方式同一条指令中不同操作数可采用不同的寻址方式 例如,一条指令中的操作数可以都存放在寄存器里,例如,一条指令中的操作数可以都存放在寄存器里,也可以把一个操作数存放在寄存器里,而另一个操作数存也可以把一个操作数存放在寄存器里,而另一个操作数存放在主存里。放在主存里。 31/35计算机组成原理计算机组成原理3. 1. 5 指令的格式指令的格式 n指令长度可以是固定或变化的。固定长度的指令便于指令指令长度可以是固定或变化的。固定长度的指令便于指令的存取和译码,但会限制操作数个数的增加和复杂寻址方的存取和译码,但会限制操作数个数的增加和复杂寻址方式的使用;而变化长度的指令的特点正好相反。式的使用;而变化长度的指令的特点正好相反。n例如,例如,IBM S/ 370指令采用定长的指令采用定长的8位操作码,有单地址位操作码,有单地址、两地址和三地址三种地址制,不同的操作数可以采用不、两地址和三地址三种地址制,不同的操作数可以采用不同的寻址方式,指令字长有同的寻址方式,指令字长有16位、位、32位和位和48位三种。位三种。 32/35计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论