版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成原理计算机组成原理第第4 4章章 指令系统指令系统 计算机组成原理计算机组成原理4.1 4.1 指令格式指令格式指令:指示计算机执行某项基本操作(运算或处理)功能的命令(二进制代码串),是计算机运行的最小功能单位。指令系统:一台计算机能直接理解与执行的全部指令的集合称为该计算机的指令系统,也叫机器语言。 指令系统是进行计算机逻辑设计和编制程序的基本依据。它直接说明了这台计算机的功能。 不同类型CPU的指令系统是不能混用与兼容的,但同一系列的CPU一般升级后指令都有扩充,并可兼容。 计算机硬件的核心作用是实现每条指令的功能,执行用机器指令组成的程序。计算机组成原理计算机组成原理设计指令
2、系统考虑的因素设计指令系统考虑的因素完备性,常用指令齐全,编程方便。完备性,常用指令齐全,编程方便。高效性,程序占内存空间少,运行速度快。高效性,程序占内存空间少,运行速度快。规整性,指令和数据使用规则简单,易学易记。规整性,指令和数据使用规则简单,易学易记。兼容性,同一系列的低档计算机的程序能在新兼容性,同一系列的低档计算机的程序能在新的高档机上直接运行。的高档机上直接运行。核心问题:选定指令的功能和格式。核心问题:选定指令的功能和格式。计算机组成原理计算机组成原理 指令字:代表指令的一组二进制代码信息。指令字:代表指令的一组二进制代码信息。 指令字长:指令字中二进制代码的位数。指令字长:指
3、令字中二进制代码的位数。4.1.1 4.1.1 指令的结构指令的结构典型的指令格式 操作码 OP指明操作性质的命令码, 提供指令的操作控制信息。 操作对象A说明操作数存放的地址, 有时则就是操作数本身。操作码操作码OP 地址码地址码A A定长指令格式定长指令格式变长指令格式变长指令格式便于控制便于控制合理利用存储空间合理利用存储空间计算机组成原理计算机组成原理(1) 定长操作码定长操作码各指令各指令OP的位置、位数固定相同。的位置、位数固定相同。优点:有利于简化硬件设计,减少译码时间。优点:有利于简化硬件设计,减少译码时间。应用:在字长较长的大中型及超级小型机上使用。应用:在字长较长的大中型及
4、超级小型机上使用。(2 2)变长操作码)变长操作码各指令各指令OP的位置、位数不固定,根据需要变化。的位置、位数不固定,根据需要变化。4.1.2 4.1.2 操作码字段的格式操作码字段的格式关键在设置扩展标志。关键在设置扩展标志。特点:在不增加指令字长度的情况下可表示更多的指特点:在不增加指令字长度的情况下可表示更多的指令,但增加了译码和分析难度,需更多硬件支持。令,但增加了译码和分析难度,需更多硬件支持。应用:微机中常使用此方式。应用:微机中常使用此方式。例:例: 指令字长指令字长16位,可含有位,可含有3 3、2 2、1 1或或0 0个地址,个地址,每个地址占每个地址占4 4位。位。操作码
5、操作码 地址码地址码 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 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 11
6、111111 1111 1111.零地址指令零地址指令 1616条条11111111扩展操作码标志扩展操作码标志计算机组成原理计算机组成原理指令中提供的地址指令中提供的地址寄存器编号寄存器编号内存储单元地址码内存储单元地址码I/OI/O端口地址码端口地址码(1)指令提供地址的方式)指令提供地址的方式显地址方式:显地址方式:隐地址方式:隐地址方式:指令中明显指明地址。指令中明显指明地址。地址隐含约定,不出现在指令中。地址隐含约定,不出现在指令中。直接或间接给出直接或间接给出4.1.3 4.1.3 操作数地址字段的表示与编码操作数地址字段的表示与编码不同指令使用不同数目、不同来源去向、不同用法不同
7、指令使用不同数目、不同来源去向、不同用法的操作数,要尽量把它们统一并安排在指令字的操的操作数,要尽量把它们统一并安排在指令字的操作数地址字段。作数地址字段。使用使用隐地址隐地址可以减少指令中的地址数,可以减少指令中的地址数,简化简化地址结构地址结构。计算机组成原理计算机组成原理(2 2)操作数个数的类型)操作数个数的类型F 多地址指令:用于实现成批数据处理。多地址指令:用于实现成批数据处理。OPOPA AF 零地址指令零地址指令 也叫无操作数指令。例如:空操作也叫无操作数指令。例如:空操作NOPNOP、停机、停机HLTHLT、关中断、关中断CLICLIOPOPF 一地址指令一地址指令 例如:递
8、增,移位,取反,例如:递增,移位,取反,INC AXINC AX,NOT BXNOT BXF 二地址指令二地址指令 例:例:A1+A2A1A1+A2A1,A2A2为源地址,为源地址,A1A1为目的地址。为目的地址。OPOPA1A1A2A2OPOPA1A1A2A2A3A3F 三地址指令三地址指令 例:例: A1+A2A3A1+A2A3,其中,其中A1A1、A2A2为源地址,为源地址,A3A3为目的地址,操作后源地址内容不变,仅被拷贝。为目的地址,操作后源地址内容不变,仅被拷贝。例:例: 指令字长指令字长1616位,用可变格式操作码分别形成三位,用可变格式操作码分别形成三地址指令、二地址指令、一地
9、址指令和零地址指令地址指令、二地址指令、一地址指令和零地址指令1515、1414、3131、1616条。结果之一如下:条。结果之一如下: 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 Z 1111 1111 1101 1101 Y ZY Z.三地址指令三地址指令 1515条条二地址指令二地址指令 1414条条11111111 1111110 0000 0 0000 Z Z 1111 1111111 1111 1110 1 1110 Z Z.一地址指令一地址指令 31条条
10、11111111 11111111 11111111 0000 0000 1111 11111111 1111 11111111 1111 1111.零地址指令零地址指令 1616条条11111111扩展操作码标志扩展操作码标志计算机组成原理计算机组成原理4.2 4.2 寻址方式寻址方式 数据寻址方式:是指数据寻址方式:是指寻找操作数地址或操作数的方式寻找操作数地址或操作数的方式。即规定。即规定如何对地址字段作出解释以找到操作数。如何对地址字段作出解释以找到操作数。 寻址方式是指确定本条指令的数据地址以及下一条寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令的地址的方式,与硬件结构密
11、切相关,将要执行的指令的地址的方式,与硬件结构密切相关,分为分为指令寻址指令寻址和和数据寻址数据寻址两大类。两大类。 指令寻址分为顺序寻址和跳跃寻址两种。指令寻址分为顺序寻址和跳跃寻址两种。 顺序寻址可以通过程序计数器顺序寻址可以通过程序计数器PCPC加加1 1自动形成下一条指令自动形成下一条指令的地址。的地址。 跳跃寻址则通过转移类指令实现,是通过对跳跃寻址则通过转移类指令实现,是通过对PCPC的运算得到的运算得到新的下一条指令的地址。新的下一条指令的地址。 有效地址:有效地址:操作数的真实地址,记做操作数的真实地址,记做EAEA,它是寻址方式和形,它是寻址方式和形式地址共同来决定的。式地址
12、共同来决定的。计算机组成原理计算机组成原理操作码操作码OP 立即数立即数S S1. 立即寻址立即寻址指令直接给出操作数。指令直接给出操作数。4.2.1 常见寻址方式常见寻址方式定长格式:定长格式:变长格式:变长格式:基本指令基本指令 立即数立即数S S数在指令中,数在指令中,其长度固定、其长度固定、有限。有限。数在基本指令之后,数在基本指令之后,其长度可变。其长度可变。用来提供常数、设置初值等。用来提供常数、设置初值等。计算机组成原理计算机组成原理操作码操作码OP 有效地址有效地址A A 2. 直接寻址直接寻址指令的操作数地址字段直接给出操作数在指令的操作数地址字段直接给出操作数在存储器中的地
13、址。存储器中的地址。( (数在数在M M中中) )定长格式定长格式A A的位数有限的位数有限, ,限制访存范围限制访存范围变长格式变长格式 基本指令基本指令 A A低位低位 A A高位高位A A的位数可覆盖的位数可覆盖整个存储空间整个存储空间S =S =(A A)用于访问固定的存储单元。用于访问固定的存储单元。操作码操作码OP 寄存器号寄存器号R R 存储单元号存储单元号寄存器号寄存器号( (数在数在M M中中) )( (数在数在M M中中) )3.3.寄存器寻址寄存器寻址格式格式R R所占位数少;所占位数少;访问访问R R比访问比访问M M快快格式格式S =S =(R R)给出操作数所在的寄
14、存器的编号。给出操作数所在的寄存器的编号。4. 4. 间接寻址间接寻址指令给出操作数的间接地址。指令给出操作数的间接地址。(1)存储器间址)存储器间址操作码操作码OP 间接地址间接地址A A A=0030A=003000600060.00600060 S S.S =(A)S =(A) M间址单元间址单元地址指针地址指针计算机组成原理计算机组成原理操作码操作码OP 寄存器号寄存器号R R (2)寄存器间址)寄存器间址格式格式R R所占位数少;所占位数少;R R可提供全字长地址码;可提供全字长地址码;修改修改R R内容比修改内容比修改M M内容快。内容快。格式格式S =(R)S =(R)指针不变指
15、针不变(由指令指定由指令指定),指针内容可变,使同一指,指针内容可变,使同一指令可指向不同存储单元,以实现令可指向不同存储单元,以实现程序的循环程序的循环、共享共享,并并提供转移地址提供转移地址。(3)堆栈寻址)堆栈寻址操作码操作码OP 堆栈指针堆栈指针SP SP SPSP. S S.S =(SP)S =(SP) MR=02R=02 M0040004000400040 S S. .地址指针地址指针00700070.栈顶栈顶格式格式SPSP既可出现在既可出现在指令中,也可隐含约定。指令中,也可隐含约定。(1)变址寻址)变址寻址5.5.变址、基址寻址及其变化变址、基址寻址及其变化SPSP栈顶栈顶
16、M S S.低低高高堆栈向上生成堆栈向上生成压栈:压栈:SPSP自动减自动减1 1,再存数。,再存数。-(SP)-(SP),自减型间址自减型间址。先取数,先取数,SPSP再自动加再自动加1 1。(SP)+(SP)+,自增型间址自增型间址。出栈:出栈:指令给出一个寄存器号和一个变址偏移量,指令给出一个寄存器号和一个变址偏移量,寄存器内容与偏移量之和为有效地址。寄存器内容与偏移量之和为有效地址。操作码操作码OP R RX X 变址偏移量变址偏移量A A A A的位数有限,若不能提供全字长地址码,会使的位数有限,若不能提供全字长地址码,会使访存空间受到限制访存空间受到限制。变址寄存器号变址寄存器号例
17、:例: 用变址方式访问一组连续区间内的数组元素。用变址方式访问一组连续区间内的数组元素。S =(S =(R(RX X) )+ + A A) )A=A=首址首址A为存储区首址;为存储区首址;(R(RX X) )为所访单元距离为所访单元距离首址的长度;首址的长度;R RX X初值为初值为0 0,每访问一,每访问一个单元,个单元,(R(RX X)+1)+1。格式格式形式地址形式地址修改量修改量基准地址基准地址n-1n-1.0 01 12 2.A+1A+1A+2A+2A+n-1A+n-1 .操作码操作码OP R RX X 变址偏移量变址偏移量A A 格式格式改变改变Rb的内容,程序能访问的内容,程序能
18、访问存储空间中任何一个定长区存储空间中任何一个定长区间间( (如:如:4K)4K)。(2)基址寻址)基址寻址基址寄存器号基址寄存器号R Rb b 4K 4K指令给出一个寄存器号和一个地址量,寄存指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。操作码操作码OP R Rb b A A 位移量位移量S =(S =(R(Rb b) )+ + A A) )基准地址基准地址 相对于基址的位移相对于基址的位移 M.R Rb b 4K 4K改变改变Rb的内容,程序能访问的内容,程序能访问存储空间中任何一个与基址存储空间中任何一个与基址保持相同距离的单元保持相同
19、距离的单元。A=2A=2A=2A=2便于访问二维数组中某类便于访问二维数组中某类指定的元素。指定的元素。 4K 4K 4K 4KR Rb b M.R Rb bA=2A=2A=2A=2学生姓名学生姓名性别性别性别性别年龄年龄年龄年龄学生姓名学生姓名变址与基址的区别:变址与基址的区别:变址变址:指令提供:指令提供基准量基准量( (不变不变) ),R R提供提供修改量修改量( (可可变变) );适于处理一维数组。;适于处理一维数组。基址基址:指令提供:指令提供位移量位移量( (不变不变) ),R R提供提供基准量基准量( (可可变变) );用于扩大有限字长指令的访存空间和程序装配。;用于扩大有限字长
20、指令的访存空间和程序装配。解决程序的存储定位问题解决程序的存储定位问题格式格式(3)相对寻址)相对寻址指令给出位移量,指令给出位移量,PCPC内容与位移量之和为有内容与位移量之和为有效地址。效地址。位移量位移量操作码操作码OP PCPC A A 或隐含指定或隐含指定S =(PC)S =(PC)A)A)有效地址相对有效地址相对PCPC上下上下浮动浮动, ,应用于相对转应用于相对转移指令。适用于浮动移指令。适用于浮动程序的装配与运行。程序的装配与运行。补码补码例:某机器字长例:某机器字长1616位,主存按字节编码,转移指令采用相对寻位,主存按字节编码,转移指令采用相对寻址,由两个字节组成,第一字节
21、为操作码字段,第二字节为相址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节对位移量字段。假定取指令时,每取一个字节PCPC自动加自动加1 1。某。某转移指令所在主存地址为转移指令所在主存地址为2000H2000H,相对位移量字段的内容为,相对位移量字段的内容为06H06H(或(或0FCH0FCH),求该转移指令成功转移后的目标地址。),求该转移指令成功转移后的目标地址。解:取出该指令后,源地址解:取出该指令后,源地址=PC+2=2002H=PC+2=2002H,相对位移量,相对位移量A=06HA=06H,目标地址目标地址= =源地址源地址+A=20
22、02H+0006H=2008H+A=2002H+0006H=2008H。若若A=A=0FCH0FCH,目标地址,目标地址= =源地址源地址+A+A(符号扩展符号扩展)=2002H+=2002H+0FFFCH0FFFCH= =1FFEH1FFEH4.2.2 4.2.2 对寻址方式的说明对寻址方式的说明 1.1.操作码隐含说明不同寻址方式操作码隐含说明不同寻址方式例:某机指令操作码最高两位例:某机指令操作码最高两位0000:RRRR型指令,寄存器型指令,寄存器- -寄存器寻址寄存器寻址0101:RXRX型指令,寄存器型指令,寄存器- -变址寻址变址寻址1010:SISI型指令,基址型指令,基址-
23、-立即寻址立即寻址1111:SSSS型指令,基址型指令,基址- -基址寻址基址寻址2.2.指令中设置专门字段说明寻址方式指令中设置专门字段说明寻址方式例:某机指令的每个地址字段中各设置一个例:某机指令的每个地址字段中各设置一个3 3位的寻址方式字段。位的寻址方式字段。操作码操作码OP 寻址方式寻址方式 R R 寻址方式寻址方式 R R 源地址字段源地址字段目的地址字段目的地址字段3位位3位位计算机组成原理计算机组成原理4.3.1 4.3.1 传送指令传送指令源地址源地址 目的地址目的地址数数设置时需考虑:设置时需考虑:1. 1. 规定传送范围规定传送范围例:例:DJS-100DJS-100系列
24、:系列: 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 M4.3 4.3 指令类型指令类型计算机组成原理计算机组成原理2. 2. 指明传送单位指明传送单位例例. VAX-11(. VAX-11(用操作码说明用操作码说明) ):8 80 0X86(X86(用地址量说明用地址量说明) ):传送次数由传送次数由计数器控制计数器控制MOVMOVB B 8 8MOV MOV AXAX,BXBX (16)(16)MOVMOVW W 1616MOVMOVL L 3232MOVMOV AL AL,BLBL
25、(8)(8)MOV MOV EAXEAX,EBXEBX (32)(32)例例. 80X86. 80X86的串传送指令:的串传送指令:REPREP MOVSWMOVSW3. 3. 设置寻址方式设置寻址方式在寻址方式的设置上几乎不受限制,能比较在寻址方式的设置上几乎不受限制,能比较集中地反映指令系统各种寻址方式的实现。集中地反映指令系统各种寻址方式的实现。计算机组成原理计算机组成原理设置时需考虑设置时需考虑操作数类型操作数类型、符号符号、进制进制等;等;运算结束后设置相应运算结束后设置相应状态标志状态标志。1. 1. 算术运算指令算术运算指令4.3.2 4.3.2 算术逻辑运算指令算术逻辑运算指令
26、2. 2. 逻辑运算指令逻辑运算指令实现对代码位的实现对代码位的设置设置、测试测试、清除清除、修改修改等。等。与与或或异或异或控制程序流程。控制程序流程。1. 1. 转移指令转移指令4.3.4 4.3.4 程序控制指令程序控制指令2. 2. 转子指令与返回指令转子指令与返回指令转子:操作码转子:操作码 子程序入口子程序入口无条件转移无条件转移条件转移条件转移循环循环:操作码:操作码 转移地址转移地址:操作码:操作码 转移地址转移地址 转移条件转移条件:转移条件为循环计数值:转移条件为循环计数值返回:操作码返回:操作码 返回地址返回地址同一条返回指令应能提供多个不同的返回地址。同一条返回指令应能
27、提供多个不同的返回地址。返回地址的存取:返回地址的存取:用堆栈存放返回地址。用堆栈存放返回地址。SPSP主程序主程序子程序子程序A A子程序子程序B BD1D1D2D2.D1D1SPSPD2D2主程序主程序子程序子程序A A子程序子程序B BD1D1D2D2子程序子程序A AD3D3SPSPSPSPD3D3多重转子多重转子递归调用递归调用子程序不复子程序不复杂,支持多杂,支持多重转子和递重转子和递归调用。归调用。SPSP计算机组成原理计算机组成原理4.4 CISC4.4 CISC和和RISCRISC简介简介CISC:复杂指令系统计算机(:复杂指令系统计算机(Complex Instruction Set Computer),从增强指令系),从增强指令系统功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论