《(22)--PPT (7)计算机组成原理.pdf》由会员分享,可在线阅读,更多相关《(22)--PPT (7)计算机组成原理.pdf(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5 5章章 指令系统指令系统主要内容 操作码码的编码编码1寻寻址方式2 21机器指令的基本格式机器指令的基本格式指令的定义指令的定义指令:就是要计算机执行某种操作的命令。指令:就是要计算机执行某种操作的命令。指令系统:一台计算机中所有机器指令的集合。指令系统:一台计算机中所有机器指令的集合。RISCVLIWCISC复杂指令系统:复杂指令系统:60年代至年代至70年代年代中期中期精简指令系统:精简指令系统:70年代后期至现年代后期至现在在超长指令字:超长指令字:80年代初期至现在年代初期至现在一般格式一般格式1机器指令的基本格式机器指令的基本格式操作码码地址码码指明该指指明该指令所要完令所要
2、完成的操作成的操作类型类型 用来指出该指用来指出该指令源操作数的令源操作数的地址,结果地地址,结果地址以及下一条址以及下一条指令的地址。指令的地址。一般格式一般格式1机器指令的基本格式机器指令的基本格式指令字长:一个指令中所包含的二进制代码的位数。指令字长:一个指令中所包含的二进制代码的位数。单字长指令:指令字长等于机器字长。单字长指令:指令字长等于机器字长。双字长指令:指令字长等于个机器字长。双字长指令:指令字长等于个机器字长。等长长指令字变长变长指令字指令助记符指令助记符1机器指令的基本格式机器指令的基本格式与机器指令一一对应,常用与机器指令一一对应,常用3或或4个英文缩写字母来表示。个英
3、文缩写字母来表示。为了便于书写和记忆为了便于书写和记忆原因原因指令助记记符二进进制操作码码汇编汇编程序2指令分类指令分类零地址指令零地址指令根据指令中地址码的数量,可将指令分类。根据指令中地址码的数量,可将指令分类。零地址指令:零地址指令:只有操作码,无地址码只有操作码,无地址码1.格式:格式:OP例:例:HLT一地址指令一地址指令2指令分类指令分类格式:格式:OP例:例:MUL AR MUL AR 一址址指令:一址址指令:指令中只有一个地址码指令中只有一个地址码 2.A功能:功能:OP(A)A或(AC)OP(A)A 二地址指令二地址指令2指令分类指令分类二地址指令:指令中二地址指令:指令中有
4、两个地址码有两个地址码 3.格式:格式:OPA1A2例:例:MOV DX,AX功能:功能:(A1)OP(A2)A12指令分类指令分类三地址指令三地址指令三地址指令:指令中有三个地址码三地址指令:指令中有三个地址码 4.格式:格式:OPA1A2功能:功能:(A1)OP(A2)A3A3四地址指令四地址指令2指令分类指令分类格式:格式:OP四址址指令:四址址指令:指令中有四个地址码指令中有四个地址码 5.A1功能:功能:(A1)OP(A2)A3A4中存放下条要执行指令的地址中存放下条要执行指令的地址A2A3A43操作码编码操作码编码编码方式编码方式编码方式编码方式固定长度编码:固定长度编码:长度固定
5、的操作长度固定的操作码放在指令字的码放在指令字的一个字段内一个字段内 可变长度编码:可变长度编码:长度不固定的操长度不固定的操作码分散在指令作码分散在指令字的不同字段中字的不同字段中 等长编码等长编码3操作码编码操作码编码 在一个指令系统中,如果各种指令字长度是相等在一个指令系统中,如果各种指令字长度是相等的,称为的,称为等长等长指令字指令字结构结构,这种指令字结构简单,且,这种指令字结构简单,且指令字长度是不变的。指令字长度是不变的。OP变长编码变长编码3操作码编码操作码编码 如果各种指令字长度随指令功能而异,就称为如果各种指令字长度随指令功能而异,就称为变长指变长指令字结构令字结构。这种指
6、令字。这种指令字结构灵活结构灵活,能充分利用指令长度,能充分利用指令长度,但指令的但指令的控制较复杂控制较复杂。通常采用扩展操作码技术,使操作码的长度随地址数通常采用扩展操作码技术,使操作码的长度随地址数的减少而增加,的减少而增加,不同地址数不同地址数的指令可以具有的指令可以具有不同长度的不同长度的操作码操作码。变长编码变长编码3操作码编码操作码编码例:设设某机器的指令长长度为为16位,包括4位基本操作码码字段和三个个4位地址字段。OPA1A2A3指令格式为:指令格式为:3 0 7 4 11 8 15 12 全部用于表示三地址指令,共可表示全部用于表示三地址指令,共可表示 条。条。16变长编码
7、变长编码3操作码编码操作码编码 若三地址指令仅需若三地址指令仅需15条,二地址指令需条,二地址指令需15条,一地址条,一地址指令需指令需15条,零地址指令条,零地址指令16条,共条,共61条,应如何安排操条,应如何安排操作码?作码?OPA1A2A3OPA1A2OPAOP0000 1110 11110000 11111110 111111110000 111111111110 1111111111110000-1111111111111111 变长编码变长编码3操作码编码操作码编码多地址指令一定要为少地址指令留有扩展码!多地址指令一定要为少地址指令留有扩展码!变长编码变长编码3操作码编码操作码编
8、码练习:某指令系统指令字长练习:某指令系统指令字长16位,每个地址码长位,每个地址码长6位,指位,指令分为零地址,一地址和二地址三类。若二地址指令有令分为零地址,一地址和二地址三类。若二地址指令有K条,零地址指令有条,零地址指令有L条,问一地址指令最多可以有多少条?条,问一地址指令最多可以有多少条?4 4位位6 6位位6 6位位二地址指令格式二地址指令格式OPOPA1A1A2A2一地址指令格式一地址指令格式OPOPA A零地址指令格式零地址指令格式OPOP变长编码变长编码3操作码编码操作码编码作业:请设计一种能对下列指令进行编码的作业:请设计一种能对下列指令进行编码的12位字长指位字长指令格式
9、,其中每个地址需要令格式,其中每个地址需要3位编码。位编码。4条三地址指令,条三地址指令,254条一地址指令,条一地址指令,16条零地址指令。条零地址指令。4寻址方式寻址方式编址编址编址设备:编址设备:CPU中的通用寄存器、主存储器和输入输出设备。中的通用寄存器、主存储器和输入输出设备。编址单位:字编址;字节编址;位编址编址单位:字编址;字节编址;位编址例:设有一个例:设有一个1MB容量的存储器,字长为容量的存储器,字长为32位,问:位,问:(1)按字节编址,地址寄存器、数据寄存器各为几位?编址范围为多大?)按字节编址,地址寄存器、数据寄存器各为几位?编址范围为多大?(2)按半字编址,地址寄存
10、器、数据寄存器各为几位?编址范围为多大?)按半字编址,地址寄存器、数据寄存器各为几位?编址范围为多大?(3)按字编址,地址寄存器、数据寄存器各为几位?编址范围为多大?)按字编址,地址寄存器、数据寄存器各为几位?编址范围为多大?寻址的定义寻址的定义4寻址方式寻址方式指令寻址指令寻址数据寻址数据寻址寻找下一条要执行的指令地址。寻找操作数的地址。寻址方式寻址方式4寻址方式寻址方式立即数寻址立即数寻址1 提供的操作数直接包含在指令中提供的操作数直接包含在指令中,这种操作数被称为,这种操作数被称为立即数。立即数寻址方式常用来给寄存器赋初值。立即数。立即数寻址方式常用来给寄存器赋初值。例:例:MOVMOV
11、 AL,AL,05H05H05H05HAL05HAL寻址方式寻址方式4寻址方式寻址方式 提供的操作数存放在提供的操作数存放在CPU的内部寄存器中。的内部寄存器中。例:例:MOVMOV AL,AL,BLBL寄存器直接寻址寄存器直接寻址2BLAL05HALEA=Rj05H寻址方式寻址方式4寻址方式寻址方式寄存器间接寻址寄存器间接寻址3 操作数的地址存放在寄存器中。操作数的地址存放在寄存器中。例:例:MOVMOV AL,AL,SISI2000HSIAL05H主存1000H2000H05HALEA=(Rj)寻址方式寻址方式4寻址方式寻址方式 提供的操作数存放在指令中指定的存储器单元中。提供的操作数存放
12、在指令中指定的存储器单元中。例:例:MOVMOV AL,AL,2000H2000H存储器直接寻址存储器直接寻址4AL05H主存1000H2000H05HALEA=A寻址方式寻址方式4寻址方式寻址方式存储器间接寻址存储器间接寻址5 提供的操作数地址在指令中指定的存储器单元中。提供的操作数地址在指令中指定的存储器单元中。例:例:MOVMOV AL,AL,1000H1000HAL2000H2000H05H主存1000H2000H05HALEA=(A)寻址方式寻址方式4寻址方式寻址方式 提供的操作数存放在提供的操作数存放在PC及相对位移量共同指定的存储及相对位移量共同指定的存储器单元中。器单元中。相对
13、寻址相对寻址6例:MOV AL,DISPPC1000H3000H(PC=2000H,DISP=1000H)05H05H+3000HAL05HALEA=(PC)+A寻址方式寻址方式4寻址方式寻址方式基址寻址基址寻址7 提供的操作数存放在提供的操作数存放在BR及相对位移量共同指定的存储及相对位移量共同指定的存储器单元中。器单元中。例:MOV AL,DISPBREA=(BR)+A 基址寻址方式主要用于基址寻址方式主要用于程序定位程序定位,对程序员是透明,对程序员是透明的,的,BR的内容由的内容由操作系统或管理程序操作系统或管理程序设定。设定。寻址方式寻址方式4寻址方式寻址方式 提供的操作数存放在提供
14、的操作数存放在DI及相对位移量共同指定的存储及相对位移量共同指定的存储器单元中。器单元中。变址寻址变址寻址8例:MOV AL,DISPDIEA=(DI)+A 变址寻址主要用于变址寻址主要用于处理数值处理数值问题。可设定问题。可设定A是数组的是数组的首地址,不断改变变址寄存器首地址,不断改变变址寄存器IX的内容,便可形成数的内容,便可形成数组中任一元素的地址,特别组中任一元素的地址,特别适合编制循环程序适合编制循环程序。寻址方式寻址方式4寻址方式寻址方式复合寻址复合寻址9基址加变址寻址基址加变址寻址相对基址加变址寻址相对基址加变址寻址寻址方式寻址方式4寻址方式寻址方式寻址方式小结寻址方式小结10
15、立即数寻址:无需寻址立即数寻址:无需寻址寄存器直接寻址:寄存器直接寻址:EA=Rj寄存器间接寻址:寄存器间接寻址:EA=(Rj)存储器直接寻址:存储器直接寻址:EA=A存储器间接寻址:存储器间接寻址:EA=(A)相对寻址:相对寻址:EA=(PC)+A基址寻址:基址寻址:EA=(BR)+A变址寻址:变址寻址:EA=(DI)+A基址加变址寻址:基址加变址寻址:EA=(BR)+(DI)相对基址加变址寻址:相对基址加变址寻址:EA=(BR)+(DI)+A5习题习题习题一习题一已知某已知某1616位机的二地址指令格式如下:位机的二地址指令格式如下:6 62 28 8OPOPR RA A 其中,其中,OP
16、OP为操作码,为操作码,R R为通用寄存器地址,试说明在下为通用寄存器地址,试说明在下列各种情况下,能访问的最大主存为多少单元?列各种情况下,能访问的最大主存为多少单元?(1)A为直接操作数为直接操作数 (2)A为直接主存地址为直接主存地址 (3)A为间接地址为间接地址(4)A为变址时的形式地址,设变址寄存器为为变址时的形式地址,设变址寄存器为R1(字(字16位)位)习题二习题二3习题习题 某机字长某机字长32位,共有机器指令位,共有机器指令100条,指令单字长,等条,指令单字长,等长操作码,长操作码,CPU内部有通用寄存器内部有通用寄存器32个,可做变址寄存器个,可做变址寄存器用。存储器按字
17、节编址,指令拟用直接寻址、间接寻址、用。存储器按字节编址,指令拟用直接寻址、间接寻址、变址寻址和相对寻址变址寻址和相对寻址4种方式。种方式。(1)分别画出采用)分别画出采用4种不同寻址方式的单地址指令的指令种不同寻址方式的单地址指令的指令格式;格式;(2)采用直接寻址方式和间接寻址方式时,可寻址的存储)采用直接寻址方式和间接寻址方式时,可寻址的存储器空间各是多少?器空间各是多少?(3)写出)写出4种方式下,有效地址种方式下,有效地址EA的表达式。的表达式。习题三习题三4习题习题机器指令格式如图:机器指令格式如图:操作码操作码XA15 109 8 7 0 其中:其中:A为形式地址,为形式地址,X为寻址特征位。为寻址特征位。X=00:直接寻址;:直接寻址;X=01:用变址寄存器:用变址寄存器IX进行寻址;进行寻址;X=10:存储间接寻址;:存储间接寻址;X=11:相对寻址:相对寻址 设(设(PC)=1234H,(,(IX)=0037H,44号主存单元的内号主存单元的内容为容为6723H,请确定下列指令的有效地址。,请确定下列指令的有效地址。(1)4420H (2)2244H (3)1322H (4)3521H