2计算机组成原理-2(2).ppt

上传人:s****8 文档编号:68613242 上传时间:2022-12-29 格式:PPT 页数:33 大小:864.50KB
返回 下载 相关 举报
2计算机组成原理-2(2).ppt_第1页
第1页 / 共33页
2计算机组成原理-2(2).ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《2计算机组成原理-2(2).ppt》由会员分享,可在线阅读,更多相关《2计算机组成原理-2(2).ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 2.3 2.3 指令信息的表示指令信息的表示 指令:指示计算机执行某类操作的信息的集合。指令:指示计算机执行某类操作的信息的集合。本节主要讨论:一般本节主要讨论:一般指令格式指令格式 常用常用寻址方式寻址方式 面向用户面向用户指令类型指令类型2.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 Y Z X Y Z 1110 X Y Z1110 X Y Z.1111 0000 1111 0000 Y Z Y Z 1111 1101 Y Z1111 1101 Y Z.三地址指令三地址指令 1515条条二地址指令

3、二地址指令 1414条条1111 1110 0000 1111 1110 0000 Z Z 1111 1111 1110 Z1111 1111 1110 Z.单地址指令单地址指令 3131条条1111 1111 1111 0000 1111 1111 1111 0000 1111 1111 1111 11111111 1111 1111 1111.零地址指令零地址指令 1616条条(3)复合型操作码)复合型操作码操作码分为几部分,每部分表示一种操作。操作码分为几部分,每部分表示一种操作。例例.某机算逻指令某机算逻指令3.地址结构地址结构0 1 2 3 4 5 6 7 8 15基本操作基本操作

4、进位进位 移位移位 回送回送 判跳判跳 操作数操作数指令中提供的地址数指令中提供的地址数存储单元地址码存储单元地址码寄存器编号寄存器编号(1)指令提供地址的方式)指令提供地址的方式显地址方式显地址方式隐地址方式隐地址方式:指令中明显指明地址。指令中明显指明地址。:地址隐含约定地址隐含约定,不出现在指令中。不出现在指令中。直接或间接给出直接或间接给出(2)地址结构的简化地址结构的简化操作数操作数地址地址 四地址结构指令四地址结构指令格式:格式:使用使用隐地址隐地址可以减少指令中的地址数,可以减少指令中的地址数,简化简化地址结构地址结构。D1 D2 D3 D4 D1 D2 D3 D4结果结果地址地

5、址下条指下条指令地址令地址功能:功能:(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源源/目的目的二地址结构指令二地址结构指令格式:格式:D1 D2 D1 D2 目的目的/源源功能:功能:(D1)D1)(D2)D2/D1(D2)

6、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 功能:功能:用于堆栈或特殊指令操作。用于堆栈或特殊指令操作。例例.POP(SP):POP(SP):执行前:执行前:低低SPSP101020204646SPSP20204646执行后:执行后:高高低低高高2.3.2 常见常见寻址方式寻址方式指指寻找操作数地址或操作数的

7、方式。寻找操作数地址或操作数的方式。操作码操作码 立即数立即数S S(1)立即寻址立即寻址指令直接给出操作数。指令直接给出操作数。1.常见寻址方式常见寻址方式定长格式:定长格式:变长格式:变长格式:基本指令基本指令 立即数立即数S S数在指令中,数在指令中,其长度固定、其长度固定、有限。有限。数在基本指令之数在基本指令之后,其长度可变。后,其长度可变。用来提供常数、设置初值等。用来提供常数、设置初值等。操作码操作码 有效地址有效地址D D(2)直接寻址直接寻址指令直接给出操作数地址。指令直接给出操作数地址。存储单元号存储单元号寄存器号寄存器号(数在数在M M中中)(数在数在R R中中)存储器直

8、接寻址存储器直接寻址(直接寻址)(直接寻址)定长格式定长格式D D的位数有限的位数有限,限制访存范围限制访存范围变长格式变长格式 基本指令基本指令 D DL L D DH HD D的位数可覆盖的位数可覆盖整个存储空间整个存储空间S=S=(D D)操作码操作码 寄存器号寄存器号R R 存储单元号存储单元号寄存器号寄存器号(数在数在M M中中)(数在数在M M中中)寄存器直接寻址寄存器直接寻址(寄存器寻址)(寄存器寻址)格式格式R R所占位数少;所占位数少;访问访问R R比访问比访问M M快快格式格式S=S=(R R)用于访问固定的存储单元或寄存器。用于访问固定的存储单元或寄存器。(3 3)间接寻

9、址)间接寻址指令给出操作数的间接地址。指令给出操作数的间接地址。存储器间址存储器间址操作码操作码 间接地址间接地址D D D=0030D=003000600060.00600060 S S.S=(D)S=(D)M间址单元间址单元地址指针地址指针操作码操作码 寄存器号寄存器号R R 寄存器间址寄存器间址格式格式R R所占位数少;所占位数少;R R可提供全字长地址码;可提供全字长地址码;修改修改R R内容比修改内容比修改M M内容快。内容快。格式格式S=(R)S=(R)指针不变指针不变(由指令指定由指令指定),指针内容可变,使同一指,指针内容可变,使同一指令可指向不同存储单元,以实现程序的循环、共

10、享,令可指向不同存储单元,以实现程序的循环、共享,并提供并提供转移地址转移地址。堆栈间接寻址堆栈间接寻址操作码操作码 堆栈指针堆栈指针S SP P SPSP.S S.S=(SP)S=(SP)MR=02R=02 M0040004000400040 S S.地址指针地址指针00700070.栈顶栈顶格式格式SPSP既可出现在既可出现在指令中,也可隐含约定。指令中,也可隐含约定。变址寻址变址寻址(4 4)变址、基址寻址及其变化)变址、基址寻址及其变化SPSP栈顶栈顶 M S S.低低高高堆栈向上生成堆栈向上生成压栈:压栈:SPSP自动减自动减1 1,再存数。,再存数。-(-(SP)SP),自减型间址

11、。自减型间址。先取数,先取数,SPSP再自动加再自动加1 1。(SP)+SP)+,自增型间址。自增型间址。出栈:出栈:指令给出一个寄存器号和一个地址量,寄存指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。操作码操作码 R RX X D D D D的位数有限,若不能提供全字长地址码,会使的位数有限,若不能提供全字长地址码,会使访存空间受到限制访存空间受到限制。变址寄存器号变址寄存器号例例.用变址方式访问一组连续区间内的数组元素。用变址方式访问一组连续区间内的数组元素。S=(S=(R(RX X)+D D)D=D=首址首址D为存储区首址;为存储区首址

12、;(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.格式格式(D的位数只需覆盖一个较小的位数只需覆盖一个较小的存储区间)的存储区间)基址寻址基址寻址基址寄存器号基址寄存器号R Rb b 4 4K K指令给出一个寄存器号和一个地址量,寄存指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之

13、和为有效地址。操作码操作码 R Rb b D D 位移量位移量S=(S=(R Rb b)+D D)基准地址基准地址 相对于基址的位移相对于基址的位移 M.R Rb b 4 4K K改变改变Rb的内容,程序能访问的内容,程序能访问存储空间中任何一个定长区存储空间中任何一个定长区间间(4(4K)K)。便于访问两维数组中某类便于访问两维数组中某类指定的元素。指定的元素。4 4K K 4 4K KR Rb b M.R Rb bD=2D=2D=2D=2学生姓名学生姓名性别性别性别性别年龄年龄年龄年龄学生姓名学生姓名变址与基址的区别:变址与基址的区别:变址变址:指令提供:指令提供基准量基准量(不变不变),

14、R R提供提供修改量修改量(可变可变);适;适 于处理一维数组。于处理一维数组。基址基址:指令提供:指令提供位移量位移量(不变不变),R R提供提供基准量基准量(可变可变);用;用 于扩大有限字长指令的访于扩大有限字长指令的访 存空间。存空间。S=(RS=(RX X)+()+(R Rb b)+D)+D)格式格式 基址加变址基址加变址变址寄存器号变址寄存器号指令给出两个寄存器号和一个地址量,寄存指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。位移量位移量操作码操作码 R RX X R Rb b D D 基址寄存器号基址寄存器号便于处理两维数组。便

15、于处理两维数组。格式格式 相对寻址相对寻址指令给出位移量,指令给出位移量,PCPC内容与位移量之和为有内容与位移量之和为有效地址。效地址。位移量位移量操作码操作码 PCPC D D 或隐含指定或隐含指定S=(PC)S=(PC)D)D)有效地址相对有效地址相对PCPC上下浮动上下浮动,给给编程带来方便编程带来方便。格式格式 页面寻址页面寻址指令给出位移量,指令给出位移量,PCPC的高位部分的高位部分与位移量拼与位移量拼接,形成有效地址。接,形成有效地址。位移量位移量操作码操作码 PCPC D D 或隐含指定或隐含指定S=(S=(PC)(PC)H H,D D)例例.M为为64KB,划划分为分为25

16、6页,每页页,每页256B。页号页号页内地址页内地址用于页式管理存储系统。用于页式管理存储系统。寻址速度快,适于组织程序模块,寻址速度快,适于组织程序模块,有效利用存储空间。有效利用存储空间。PC0165H017CH7C.S2.对寻址方式的说明对寻址方式的说明(1 1)操作码隐含说明不同寻址方式)操作码隐含说明不同寻址方式例例.某机指令操作码最高两位某机指令操作码最高两位0000:RRRR型指令,寄存器型指令,寄存器-寄存器寻址寄存器寻址0101:RXRX型指令,寄存器型指令,寄存器-变址寻址变址寻址1010:SISI型指令,基址型指令,基址-立即寻址立即寻址1111:SSSS型指令,基址型指

17、令,基址-基址寻址基址寻址(2 2)指令中设置专门字段说明寻址方式)指令中设置专门字段说明寻址方式例例.某机指令的每个地址字段中各设置一个某机指令的每个地址字段中各设置一个3 3位的寻址方式字段。位的寻址方式字段。操作码操作码 寻址方式寻址方式 R R 寻址方式寻址方式 R R 源地址字段源地址字段目的地址字段目的地址字段3位位3位位2.3.3 指令的功能和类型指令的功能和类型1.1.数据传送类指令数据传送类指令源地址源地址 目的地址目的地址数数 数据传送指令主要包括数据传送指令主要包括取数指令、存数指令、取数指令、存数指令、传送指令、成组传送指令、字节交换指令、清传送指令、成组传送指令、字节

18、交换指令、清累加器指令、堆栈操作指令累加器指令、堆栈操作指令等等。这类指令主等等。这类指令主要用来实现要用来实现主存和寄存器主存和寄存器之间,或之间,或寄存器和寄寄存器和寄存器存器之间的数据传送。之间的数据传送。设置时需考虑:设置时需考虑:(1 1)规定传送范围)规定传送范围例例.DJS-100DJS-100系列:系列:80X86:IBM370:R MR M,R RR M,R R,M M(2 2)指明传送单位)指明传送单位例例.用操作码说明用操作码说明(VAX-11)VAX-11):用地址量说明用地址量说明(8(80 0X86)X86):传送次数由传送次数由计数器控制计数器控制MOVBMOVB

19、 8 8MOV AXMOV AX,BXBX (16)(16)MOVWMOVW 16 16MOVLMOVL 32 32MOV ALMOV AL,BLBL (8)(8)MOV EAXMOV EAX,EBXEBX (32)(32)例例.80.80X86X86的串传送指令:的串传送指令:REP MOVSWREP MOVSW(3 3)设置寻址方式)设置寻址方式在寻址方式的设置上几乎不受限制,能比较在寻址方式的设置上几乎不受限制,能比较集中地反映指令系统各种寻址方式的实现。集中地反映指令系统各种寻址方式的实现。2.2.输入输入/输出指令输出指令各种信息各种信息主机主机 外设外设设置时需考虑:设置时需考虑:

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

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

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

23、址到寄存器编址到寄存器 设置设置专用专用I/OI/O指令指令针对单独编址,用针对单独编址,用I/OI/O指令访问指令访问I/OI/O端口。端口。指令中说明输入指令中说明输入/输出操作,并给出端口地址。输出操作,并给出端口地址。:为每个寄存器:为每个寄存器(I/OI/O端口端口)分配总分配总 线地址;线地址;访问外设时,指令中给出总线地址。访问外设时,指令中给出总线地址。(3 3)I/OI/O指令设置方式指令设置方式显式显式I/OI/O指令指令例例.80.80X86I/OX86I/O指令设置指令设置 输入:输入:IN ALIN AL,n n;端口地址端口地址(n)ALn)AL(直接端口寻址直接端

24、口寻址)IN ALIN AL,DXDX;间接端口地址间接端口地址(DX)ALDX)AL(间接端口寻址间接端口寻址)输出:输出:OUT nOUT n,ALAL;(AL)nAL)n(直接端口寻址直接端口寻址)OUT DXOUT DX,ALAL;(AL)(DX)AL)(DX)(间接端口寻址间接端口寻址)主机调用输入机:主机调用输入机:用用传送指令传送指令实现实现I/OI/O操作操作针对统一编址,用传送指令访问针对统一编址,用传送指令访问I/OI/O端口。端口。不设专用不设专用I/OI/O指令。指令。例例.某机某机I/OI/O接口中设置接口中设置控制控制/状态寄存器状态寄存器CSRCSR,其总线地址为

25、其总线地址为177550177550(8(8进制进制)数据缓冲寄存器数据缓冲寄存器DBRDBR,其总线地址为其总线地址为177552177552隐式隐式I/OI/O指令指令控制控制/状态字格式:状态字格式:出错出错 故障故障 忙忙 完成完成 允许中断允许中断 维护维护 校验校验 启动启动15 14 12 7 6 2 1 015 14 12 7 6 2 1 0启动:启动:测试:测试:取数:取数:主机主机 177550 177550控制字控制字(启动位为启动位为1)1)传送指令传送指令主机主机 177550 177550 状态字状态字传送指令传送指令主机主机 177552 177552 数据数据传

26、送指令传送指令 通过通过I/OI/O处理机进行处理机进行I/OI/O操作操作CPUCPU执行简单执行简单I/OI/O指令指令 (启动、停止、查询、清除启动、停止、查询、清除)设置时需考虑设置时需考虑操作数类型、符号、进制操作数类型、符号、进制等;等;运算结束后设置相应运算结束后设置相应状态标志状态标志。两级两级I/OI/O指令指令(1 1)算术运算指令)算术运算指令I/OI/O处理机执行处理机执行I/OI/O操作指令操作指令 (输入、输出输入、输出)3.3.算术逻辑运算指令算术逻辑运算指令(2 2)逻辑运算指令)逻辑运算指令实现对代码位的实现对代码位的设置、测试、清除、修改设置、测试、清除、修

27、改等。等。与与或或异或异或主要作用:控制程序流程。主要作用:控制程序流程。(1 1)转移指令)转移指令4.4.程序控制指令程序控制指令(2 2)转子指令与返回指令)转子指令与返回指令转子:操作码转子:操作码 子程序入口子程序入口无条件转移无条件转移条件转移条件转移循环循环:操作码:操作码 转移地址转移地址:操作码:操作码 转移地址转移地址 转移条件转移条件:转移条件为循环计数值:转移条件为循环计数值返回:操作码返回:操作码 返回地址返回地址同一条返回指令应能提供多个不同的返回地址。同一条返回指令应能提供多个不同的返回地址。返回地址的存取:返回地址的存取:用堆栈存放返回地址。用堆栈存放返回地址。

28、(3 3)软中断指令)软中断指令程序程序自陷指令自陷指令表示不同的功能调用表示不同的功能调用调试程序调试程序早期主要用于早期主要用于程序的调试程序的调试。现在常常用于现在常常用于系统功能调用系统功能调用。以以 INTINT n n 的形式出现在程序中。的形式出现在程序中。(4 4)控制处理机某些功能的指令)控制处理机某些功能的指令(5 5)面向操作系统的指令)面向操作系统的指令如如CPU状态字标志位的清楚、修改,空操作指令状态字标志位的清楚、修改,空操作指令NOP、暂停暂停HLT、等待等待WAIT、总线锁定总线锁定LOCK等。等。操作系统专用,如访问系统寄存器、检查保护属操作系统专用,如访问系统寄存器、检查保护属性、用于存储管理等。性、用于存储管理等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁