第三章+指令系统_第1页
第三章+指令系统_第2页
第三章+指令系统_第3页
第三章+指令系统_第4页
第三章+指令系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 指令系统 第一节第一节 指令信息的表示指令信息的表示 指令:指示计算机执行某类操作的信息的集合。指令:指示计算机执行某类操作的信息的集合。指令系统指令系统: :所有指令的集合所有指令的集合( (表示计算机硬件所具有的表示计算机硬件所具有的全部功能全部功能) )本章主要讨论:一般本章主要讨论:一般指令格式指令格式 常用常用寻址方式寻址方式 面向用户面向用户指令类型指令类型3.1 指令格式指令格式指令基本格式指令基本格式操作码操作码 地址码地址码 D D一个一个一个或几个一个或几个1. 指令字长指令字长定长指令格式定长指令格式变长指令格式变长指令格式便于控制便于控制(1) 定长操作码定长操

2、作码各指令各指令的位置、位数固定相同。的位置、位数固定相同。(2 2)扩展操作码)扩展操作码各指令各指令的位置、位数不固定,根据需要的位置、位数不固定,根据需要变化。变化。合理利用存储空间合理利用存储空间2. 操作码结构操作码结构关键在设置扩展标志。关键在设置扩展标志。例例. 指令字长指令字长16位,可含有位,可含有3 3、2 2、1 1或或0 0个地址,每个地址占个地址,每个地址占4 4位。位。操作码操作码 地址码地址码 15 12 11 8 7 4 3 00000 0000 X X Y Y Z Z 1110 1110 X X Y Y Z Z.11111111 0000 0000 Y ZY

3、Z 1111 1111 1110 1110 Y ZY Z.三地址指令三地址指令 1515条条二地址指令二地址指令 1515条条11111111 11111111 0000 0000 Z Z 1111 11111111 1111 1110 1110 Z Z.一地址指令一地址指令 1515条条11111111 11111111 11111111 0000 0000 1111 11111111 1111 11111111 1111 1111.零地址指令零地址指令 1616条条(3)复合型操作码)复合型操作码(方式码)方式码)操作码分为几部分,每部分表示一种操作。操作码分为几部分,每部分表示一种操作。

4、例例. .某机算逻指令某机算逻指令3. 地址结构地址结构0 1 2 3 4 5 6 7 8 15基本操作基本操作 进位进位 移位移位 回送回送 判跳判跳 操作数操作数指令中提供的地址数指令中提供的地址数存储单元地址码存储单元地址码寄存器编号寄存器编号(1)指令提供地址的方式)指令提供地址的方式显地址方式显地址方式隐地址方式隐地址方式:指令中明显指明地址。指令中明显指明地址。:地址隐含约定地址隐含约定,不出现在指令中。不出现在指令中。直接或间接给出直接或间接给出(2) 地址结构的简化地址结构的简化操作数操作数地址地址 四地址结构指令四地址结构指令格式:格式:使用使用隐地址隐地址可以减少指令中的地

5、址数,可以减少指令中的地址数,简化简化地址结构地址结构。 D1 D2 D3 D4 D1 D2 D3 D4结果结果地址地址下条指下条指令地址令地址功能:功能: (D1)(D1)(D2) D3(D2) D3(D4) (D4) 下条指令下条指令用指令计数器用指令计数器PCPC指示指令地址。指示指令地址。三地址结构指令三地址结构指令格式:格式:操作数操作数地址地址 D1 D2 D3 D1 D2 D3 结果结果地址地址下条指令地址下条指令地址功能:功能:转移时,用转移转移时,用转移地址修改地址修改PCPC内容。内容。(D1)(D1)(D2) D3(D2) D3(PC) + 1 PC(PC) + 1 PC

6、源源/目的目的二地址结构指令二地址结构指令格式:格式: D1 D2 D1 D2 目的目的/源源功能:功能: (D1)(D1)(D2) D2/D1(D2) D2/D1(PC) + 1 PC(PC) + 1 PC双操作数:双操作数:一地址结构指令一地址结构指令格式:格式: D1 D1 隐含约定隐含约定单操作数:单操作数:功能:功能:零地址结构指令零地址结构指令格式:格式:(D1)(D1)(A) A(A) A(PC) + 1 PC(PC) + 1 PC(D1) D1(D1) D1(PC) + 1 PC(PC) + 1 PC 功能:功能:用于堆栈或特殊指令操作。用于堆栈或特殊指令操作。例例.ADD.A

7、DD;执行前:执行前:低低SPSP101020204646SPSP30304646执行后:执行后:高高低低高高2.2.2 寻址方式寻址方式是指是指寻找操作数地址或操作数的方式寻找操作数地址或操作数的方式。操作码操作码 立即数立即数S S(1) 立即寻址立即寻址指令直接给出操作数。指令直接给出操作数。1. 常见寻址方式常见寻址方式定长格式:定长格式:变长格式:变长格式:基本指令基本指令 立即数立即数S S数在指令中,数在指令中,其长度固定、其长度固定、有限。有限。数在基本指令之数在基本指令之后,其长度可变。后,其长度可变。用来提供常数、设置初值等。用来提供常数、设置初值等。操作码操作码 有效地址

8、有效地址D D (2) 直接寻址直接寻址指令直接给出操作数地址。指令直接给出操作数地址。存储单元号存储单元号寄存器号寄存器号( (数在数在M M中中) )( (数在数在R R中中) ) 存储器直接寻址存储器直接寻址(直接寻址)(直接寻址)定长格式定长格式D D的位数有限的位数有限, ,限制访存范围限制访存范围变长格式变长格式 基本指令基本指令 D DL L D DH HD D的位数可覆盖的位数可覆盖整个存储空间整个存储空间S =S =(D D)操作码操作码 寄存器号寄存器号R R 存储单元号存储单元号寄存器号寄存器号( (数在数在M M中中) )( (数在数在M M中中) ) 寄存器直接寻址寄

9、存器直接寻址 (寄存器寻址)(寄存器寻址)格式格式R R所占位数少;所占位数少;访问访问R R比访问比访问M M快快格式格式S =S =(R R)用于访问固定的存储单元或寄存器。用于访问固定的存储单元或寄存器。(3 3)间接寻址)间接寻址指令给出操作数的间接地址。指令给出操作数的间接地址。 存储器间址存储器间址操作码操作码 间接地址间接地址D D D=0030D=003000600060.00600060 S S.S =(D)S =(D) M间址单元间址单元地址指针地址指针操作码操作码 寄存器号寄存器号R R 寄存器间址寄存器间址格式格式R R所占位数少;所占位数少;R R可提供全字长地址码;

10、可提供全字长地址码;修改修改R R内容比修改内容比修改M M内容快。内容快。格式格式S =(R)S =(R)指针不变指针不变(由指令指定由指令指定),指针内容可变,使同一指,指针内容可变,使同一指令可指向不同存储单元,以实现令可指向不同存储单元,以实现程序的循环程序的循环、共享共享,并并提供转移地址提供转移地址。 堆栈寻址堆栈寻址操作码操作码 堆栈指针堆栈指针S SP P SPSP. S S.S =(SP)S =(SP) MR=02R=02 M0040004000400040 S S. .地址指针地址指针00700070.栈顶栈顶格式格式SPSP既可出现在既可出现在指令中,也可隐含约定。指令中

11、,也可隐含约定。 变址寻址变址寻址(4 4)变址、基址寻址及其变化)变址、基址寻址及其变化SPSP栈顶栈顶 M S S.低低高高堆栈向上生成堆栈向上生成压栈:压栈:SPSP自动减自动减1 1,再存数。,再存数。-(SP)-(SP),自减型间址自减型间址。先取数,先取数,SPSP再自动加再自动加1 1。(SP)+(SP)+,自增型间址自增型间址。出栈:出栈:指令给出一个寄存器号和一个地址量,寄存指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。操作码操作码 R RX X D D D D的位数有限,若不能提供全字长地址码,会使的位数有限,若不能提供全

12、字长地址码,会使访存空间受到限制访存空间受到限制。变址寄存器号变址寄存器号例例. 用变址方式访问一组连续区间内的数组元素。用变址方式访问一组连续区间内的数组元素。S =(S =(R(RX X) )+ + D D) )D=D=首址首址D为存储区首址;为存储区首址;(R(RX X) )为所访单元距离为所访单元距离首址的长度;首址的长度;R RX X初值为初值为0 0,每访问一,每访问一个单元,个单元,(R(RX X)+1)+1。格式格式操作码操作码 R RX X D D 形式地址形式地址修改量修改量基准地址基准地址n-1n-1.0 01 12 2.D+1D+1D+2D+2D+n-1D+n-1 .格

13、式格式(D的位数只需覆盖一个较小的位数只需覆盖一个较小的存储区间)的存储区间) 基址寻址基址寻址基址寄存器号基址寄存器号R Rb b 4K 4K指令给出一个寄存器号和一个地址量,寄存指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。操作码操作码 R Rb b D D 位移量位移量S =(S =(R(Rb b) )+ + D D) )基准地址基准地址 相对于基址的位移相对于基址的位移 M.R Rb b 4K 4K改变改变Rb的内容,程序能访问的内容,程序能访问存储空间中任何一个定长区存储空间中任何一个定长区间间(4K)(4K)。便于访问两维数组中某

14、类便于访问两维数组中某类指定的元素。指定的元素。 4K 4K 4K 4KR Rb b M.R Rb bD=2D=2D=2D=2学生姓名学生姓名性别性别性别性别年龄年龄年龄年龄学生姓名学生姓名变址与基址的区别:变址与基址的区别:变址变址:指令提供:指令提供基准量基准量( (不变不变) ), R R提供提供修改量修改量( (可变可变) );适;适 于处理一维数组。于处理一维数组。基址基址:指令提供:指令提供位移量位移量( (不变不变) ), R R提供提供基准量基准量( (可变可变) );用;用 于扩大有限字长指令的访于扩大有限字长指令的访 存空间。存空间。S =(RS =(RX X)+(R)+(

15、Rb b)+ D)+ D)格式格式 基址加变址基址加变址变址寄存器号变址寄存器号指令给出两个寄存器号和一个地址量,寄存指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。位移量位移量操作码操作码 R RX X R Rb b D D 基址寄存器号基址寄存器号便于处理两维数组。便于处理两维数组。格式格式 相对寻址相对寻址指令给出位移量,指令给出位移量,PCPC内容与位移量之和为有内容与位移量之和为有效地址。效地址。位移量位移量操作码操作码 PCPC D D 或隐含指定或隐含指定S =(PC)S =(PC)D)D)有效地址相对有效地址相对PCPC上下浮动

16、上下浮动, ,给给编程带来方便编程带来方便。格式格式 页面寻址页面寻址指令给出位移量,指令给出位移量,PCPC的高位部分的高位部分与位移量拼与位移量拼接,形成有效地址。接,形成有效地址。位移量位移量操作码操作码 PCPC D D 或隐含指定或隐含指定S =(S =(PC)(PC)H H,D D) )例例. M为为64KB,划,划分为分为256页,每页页,每页256B。页号页号页内地址页内地址用于页式管理存储系统。用于页式管理存储系统。寻址速度快,适于组织程序模块,寻址速度快,适于组织程序模块,有效利用存储空间。有效利用存储空间。PC0165H7C.017CHS2. 对寻址方式的说明对寻址方式的

17、说明 (1 1)操作码隐含说明不同寻址方式)操作码隐含说明不同寻址方式例例. .某机指令操作码最高两位某机指令操作码最高两位0000:RRRR型指令,寄存器型指令,寄存器- -寄存器寻址寄存器寻址0101:RXRX型指令,寄存器型指令,寄存器- -变址寻址变址寻址1010:SISI型指令,基址型指令,基址- -立即寻址立即寻址1111:SSSS型指令,基址型指令,基址- -基址寻址基址寻址(2 2)指令中设置专门字段说明寻址方式)指令中设置专门字段说明寻址方式例例. .某机指令的每个地址字段中各设置一个某机指令的每个地址字段中各设置一个3 3位的寻址方式字段。位的寻址方式字段。操作码操作码 寻

18、址方式寻址方式 R R 寻址方式寻址方式 R R 源地址字段源地址字段目的地址字段目的地址字段3位位3位位3.3.1 3.3.1 指令类型指令类型1.1.传送指令传送指令源地址源地址 目的地址目的地址数数设置时需考虑:设置时需考虑:(1 1)规定传送范围)规定传送范围例例. DJS-100. DJS-100系列:系列: 8 80 0X86X86: IBM370 IBM370:R R M MR R M M,R R R RR R M M,R R R R,M M M M(2 2)指明传送单位)指明传送单位例例. . 用操作码说明用操作码说明(VAX-11)(VAX-11):用地址量说明用地址量说明(

19、8(80 0X86)X86):传送次数由传送次数由计数器控制计数器控制MOVMOVB B 8 8MOV MOV AXAX,BXBX (16)(16)MOVMOVW W 1616MOVMOVL L 3232MOV MOV ALAL,BLBL (8)(8)MOV MOV EAXEAX,EBXEBX (32)(32)例例. 80X86. 80X86的串传送指令:的串传送指令:REPREP MOVSWMOVSW(3 3)设置寻址方式)设置寻址方式在寻址方式的设置上几乎不受限制,能比较在寻址方式的设置上几乎不受限制,能比较集中地反映指令系统各种寻址方式的实现。集中地反映指令系统各种寻址方式的实现。2.2

20、.输入输入/ /输出指令输出指令各种信息各种信息主机主机 外设外设设置时需考虑:设置时需考虑:(1 1)I/OI/O指令的功能扩展指令的功能扩展如何用通用如何用通用I/OI/O指令实现对各种具体设备的控制?指令实现对各种具体设备的控制? I/O I/O指令中留有扩展余地指令中留有扩展余地指令中某些字段编码事先不定义,需要时再约定指令中某些字段编码事先不定义,需要时再约定其含义。其含义。 I/O I/O接口中设置控制接口中设置控制/ /状态寄存器状态寄存器用于外设种类、数量不多的场合。用于外设种类、数量不多的场合。(2 2)主机对外设的寻址方式)主机对外设的寻址方式如何设置控制如何设置控制/ /

21、状态寄存器是接口设计的关键。状态寄存器是接口设计的关键。寻找寻找I/OI/O接口中的寄存器的方式。接口中的寄存器的方式。主机用主机用输出指令输出指令或或传送指令传送指令将具体设备的控制命令将具体设备的控制命令按约定的代码格式送往接口中的按约定的代码格式送往接口中的控制寄存器控制寄存器,向外,向外设发出命令。设发出命令。外设的状态信息也以某种格式放在接口的状态寄存外设的状态信息也以某种格式放在接口的状态寄存器中,主机用器中,主机用输入指令输入指令或或传送指令传送指令从从状态寄存器状态寄存器中中取出有关信息进行查询、分析。取出有关信息进行查询、分析。I/OI/O端口端口寻找寻找I/OI/O接口中的

22、寄存器接口中的寄存器的方式。的方式。如何为如何为I/OI/O端口分配地址?端口分配地址? 单独编址单独编址I/OI/O地址空间不占主存空间,可与主存空间重叠。地址空间不占主存空间,可与主存空间重叠。=1 =1 访问存储器访问存储器=0 =0 访问访问I/OI/O端口端口需设置标志区分访问对象,如需设置标志区分访问对象,如编址到寄存器编址到寄存器:为每个寄存器:为每个寄存器(I/O(I/O端口端口) )分配独分配独 立的端口地址;立的端口地址; I/OI/O指令中给出端口地址。指令中给出端口地址。M/IOM/IO 统一编址统一编址I/OI/O端口占据部分主存空间。端口占据部分主存空间。常将存储空

23、间的低端分配给主存单元,高端分配常将存储空间的低端分配给主存单元,高端分配给给I/OI/O端口,以示区分。端口,以示区分。编址到寄存器编址到寄存器 设置设置专用专用I/OI/O指令指令针对单独编址,用针对单独编址,用I/OI/O指令访问指令访问I/OI/O端口。端口。指令中说明输入指令中说明输入/ /输出操作,并给出端口地址。输出操作,并给出端口地址。 :为每个寄存器:为每个寄存器(I/O(I/O端口端口) )分配总分配总 线地址;线地址; 访问外设时,指令中给出总线地址。访问外设时,指令中给出总线地址。(3 3)I/OI/O指令设置方式指令设置方式显式显式I/OI/O指令指令例例. 80X8

24、6I/O. 80X86I/O指令设置指令设置 输入:输入:IN ALIN AL,n n;端口地址端口地址(n) AL(n) AL( (直接端口寻址直接端口寻址) ) IN ALIN AL,DXDX;间接端口地址间接端口地址(DX) AL(DX) AL( (间接端口寻址间接端口寻址) ) 输出:输出:OUT nOUT n,ALAL;(AL) n(AL) n( (直接端口寻址直接端口寻址) ) OUT DXOUT DX,ALAL;(AL) (DX)(AL) (DX)( (间接端口寻址间接端口寻址) )主机调用输入机:主机调用输入机: 用用传送指令传送指令实现实现I/OI/O操作操作针对统一编址,用

25、传送指令访问针对统一编址,用传送指令访问I/OI/O端口。端口。不设专用不设专用I/OI/O指令。指令。例例. . 某机某机I/OI/O接口中设置接口中设置控制控制/ /状态寄存器状态寄存器CSRCSR, ,其总线地址为其总线地址为177550177550(8(8进制进制) )数据缓冲寄存器数据缓冲寄存器DBRDBR,其总线地址为,其总线地址为177552177552隐式隐式I/OI/O指令指令控制控制/ /状态字格式:状态字格式:出错出错 故障故障 忙忙 完成完成 允许中断允许中断 维护维护 校验校验 启动启动15 14 12 7 6 2 1 015 14 12 7 6 2 1 0启动:启动:测试:测试:取数:取数:主机主机 177550177550控制字控制字( (启动位为启动位为1)1)传送指令传送指令主机主机 177550177550 状态字状态字传送指令传送指令主机主机 177552177552 数据数据传送指令传送指令 通过通过I/OI/O处理机进行处理机进行I/OI/O操作操作CPUCPU执行简单执行简单I/OI/O指令指令 ( (启动、停止、查询、清除启动、停止、查询、清除) )设置时需考虑设

温馨提示

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

评论

0/150

提交评论