【文档说明】计算机组成原理指令系统课件.ppt,共(60)页,773.502 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76862.html
以下为本文档部分文字说明:
第4章指令系统2022年12月1日星期四2目录4.1指令系统的发展与性能要求4.2指令格式4.3操作数类型4.4指令和数据的寻址方式4.5典型指令4.6本章练习题2022年12月1日星期四3考研计算机统考大纲要求(一)指令格式1.指令的基本格式2.
定长操作码指令格式3.扩展操作码指令格式(二)指令的寻址方式1.有效地址的概念2.数据寻址和指令寻址3.常见寻址方式(三)CISC和RISC的基本概念2022年12月1日星期四44.1指令系统的发展和性能要求4.1.1指令系统的发展4
.1.2对指令系统性能的要求4.1.3低级语言与硬件结构的关系2022年12月1日星期四54.1.1指令系统的发展程序——用于解决实际问题的一系列的指令;指令——使计算机执行某种操作的命令;从组成的层次结构来说,计算机的指
令可分为如下3类:微指令:微程序级的命令,它属于硬件;机器指令(指令):可完成一个独立的算术或逻辑运算;宏指令:由若干条机器指令组成的软件指令,它属于软件;指令系统:一台计算机中所有机器指令的集合。直接影响机器
的硬件结构、软件系统、以及机器的适用范围。2022年12月1日星期四6计算机指令系统的发展过程50年代只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。60年代后期增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多
达一二百条,寻址方式也趋多样化。出现了系列计算机。70年代末期复杂指令系统计算机(CISC)、精简指令系统计算机(RISC)2022年12月1日星期四7系列计算机基本指令系统、基本体系结构相同的一系列计算机
;但具体的器件、结构和性能都不会完全相同;一般,新机种在各方面要优于旧机种。一个系列往往有多种型号,各型号计算机的指令系统是向下兼容的。新机种的指令系统包含旧机种的全部指令;如Pentium系列PC机。2022年12月1日星期四8CISCCISC(complexinst
ructionsetcomputer)采用复杂的的指令系统,来达到增强计算机的功能、提高机器速度的目的。特点:1.指令系统复杂庞大,指令数目多;2.指令格式多,字长不固定,多种寻址方式;3.可访存指令不受限制;4.各种指令的执行时间相差很大;5.大都采用微程序控制器;2
022年12月1日星期四9RISCRISC(Reducedinstructionsetcomputer)从简化指令系统和优化硬件设计的角度来提高系统的性能与速度。RISC指令系统的主要特点:1.选取使用频率
高的简单指令;2.指令长度固定,指令格式少,寻址方式种类少;3.采用流水线技术;4.使用较多的通用寄存器,减少访存;5.控制器以组合逻辑控制为主;6.采用优化编译技术;2022年12月1日星期四10判断以下有关CISC和RI
SC的描述的正误A.采用RISC技术后,计算机的体系结构又回复到早期比较简单的情况;B.为了实现兼容,新设计的RISC,是从原来CISC系统的指令系统中挑选一部分实现的;C.RISC的主要目的是减少指令;D.RISC设有乘、除法指
令和浮点运算指令;×√××2022年12月1日星期四114.1.2指令系统性能的要求指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。一个完善的指令系统应满足如下四方面的要求完备性常用指令齐全,编程
方便;有效性程序占用内存少,运行速度快;规整性指令和数据的使用规则统一,易学易记;兼容性同一系列的低档计算机的程序能够在新的高档计算机上运行。2022年12月1日星期四12指令系统的规整性要求规整性包括对称性、匀齐性、指令格式和数据格式的一致性三方
面的要求。对称性所有的指令都可使用各种寻址方式;匀齐性一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一致性指令长度和数据长度有一定的关系,以方便处理和存取;2022年12月1日星期四134.1.3低级语言
与硬件结构的关系低级语言:面向机器的语言,和具体机器的指令系统密切相关。高级语言与低级语言的比较如P105表4.1机器语言、汇编语言2022年12月1日星期四144.2指令格式4.2.1操作码4.2.2地址码4.2.3指令字长度
4.2.4指令助记符4.2.5指令格式举例2022年12月1日星期四15指令的一般格式指令字(简称指令)表示一条指令的机器字。指令格式指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。操作码字段:表征指令的操作特性与功能;地址码字段:通常指定参与
操作的操作数的地址。操作码字段OP地址码字段A2022年12月1日星期四164.2.1操作码操作码字段的位数取决于指令系统的规模;操作码的类型:固定长度的操作码特征:所有指令长度均相同。优点:控制简单,速度快,适用于指令条数不多的场合。可变长度的操作码特征:频繁使用的指令
用位数较少的操作码;不常使用的指令可利用操作码扩展技术进行扩展;优点:充分利用软硬件资源,适用于大规模的指令系统。操作码字段为4位,则指令系统中的指令数目为24=16条。2022年12月1日星期四174.2.2地址码(1/2)一条指令格式中有几个地址码字段,
就称为是几地址指令;零地址指令①无任何操作数运算,如NOP、HALT等指令。②单操作数运算:隐含一个操作数,如Acc。OP(Acc)Acc一地址指令①单操作数运算:OP(A1)A1②双操作数运算:隐含一个操作数,如Acc(Acc)OP(A1)Acc/A1OPOP
A1如INC指令如MUL指令如CBW指令2022年12月1日星期四184.2.2地址码(2/2)两地址指令功能:(A1)OP(A2)A1三地址指令功能:(A1)OP(A2)A3多地址指令(如四地址)这类指令功能强,一般用高档小型机或中大型机,用于实
现成批数据处理,字符串处理、向量或矩阵运算指令等。OPA1A2A3OPA1A2如ADD、XOR等指令2022年12月1日星期四19存储器-存储器(SS)型指令A1、A2均为存储单元;这类指令的执行需要多次访存。寄存器-寄存器(RR)型指令A1、A2均为
寄存器(通用寄存器、专用寄存器);这类指令的执行不需要访存,因此速度很快。寄存器-存储器(RS)型指令A1、A2中一个为寄存器,一个为存储单元;执行此类指令时,既要访问内存单元,又要访问寄存器。两地址指令的分类根据操作数的物理位置分。OPA1A2哪种类型指令执行速度
较快,哪种指令较慢?为什么?2022年12月1日星期四20指令的操作码扩展技术(补充)一个指令系统中若操作码长度固定且指令格式不同;指令格式如右:操作码字段长度取决于(指令系统中的指令总数目);地址码较少的指令,编码浪费;操作码扩展对于不需
要某个地址码的指令,把它们的操作码扩充到该地址字段;既充分利用指令字的各字段,又在不增加指令长度的情况下扩展操作码的长度。OPA1A2A3OPA1A2OPOPA1无用无用无用无用无用无用外不变内调整2022年12月1日星期四21设某指令长16位
,包括4位基本操作码字段和3个4位地址码字段。①若全是三地址指令,则最多能有多少条指令?操作码为4位的,则指令条数为24=16。②若三地址指令需15条─┐两地址指令需15条│应如何安排?单地址指令需15条│零地
址指令需16条─┘可使用操作码扩展技术,缩短固定操作码长度;操作码扩展举例(1/3)OPA1A2A32022年12月1日星期四220000A1A2A3......1110A1A2A311110000A1A2......11111110A1A2111111110000A1......1111
11111110A11111111111110000......111111111111111115条三地址指令15条二地址指令15条一地址指令16条零地址指令此指令系统共具有61条指令4位操作码8位操作码12位操作码16位操作码如果采用操作码
扩展方法能否设计一个具有三地址指令15条,双地址指令12条,单地址指令31条以及零地址指令16条的指令系统?操作码扩展举例(2/3)2022年12月1日星期四230000A1A2A3......1110A1A2A311110000A1A2......111
11011A1A2111111000000A1......111111011111A11111111000000000......111111100000111115条三地址指令12条二地址指令32条一地址指令16
条零地址指令此指令系统共具有75条指令操作码扩展举例(3/3)4位操作码8位操作码12位操作码16位操作码2022年12月1日星期四24【例】某机指令字长32位,一个操作数地址为12位,有双地址码、单地址码、零地址码3种格式的指
令。若采用扩展操作码的方式来设计指令,已知双地址码指令K条,单地址码指令L条,问零地址码指令有多少条?双地址码指令操作码长度为(32-12×2)=8位;单地址码指令操作码长度为(32-12)=20位;操作码的可
扩展位为20-8=12位。零地址码指令操作码长度为32位操作码的可扩展位为32-20=12位。OP(8位)A1(12位)A2(12位)OP(8位)扩展操作码(12位)A2(12位)OP(8位)扩展操作码(12位)扩展操作码(12位)2022年12月1日
星期四25【例】某机指令字长32位,一个操作数地址为12位,有双地址码、单地址码、零地址码3种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指令K条,单地址码指令L条,问零地址码指令有多少条?由以上分析的指令格式,及题目可知:双地址码
指令最多有28条;可用于扩展单地址码指令的编码有(28-K)个;单地址码指令最多有(28-K)×212条:可用于扩展零地址码指令的编码有[(28-K)×212-L]个;因此,零地址码指令最多有[(2
8-K)×212-L]×212条。2022年12月1日星期四26机器字长运算器一次能处理的二进制数的位数。机器指令的长度直接决定着CPU运算的精度和直接寻址能力的大小;指令字长一个指令字中包含二进制代码的
位数;指令字长由操作码长度、操作数长度和个数共同决定。指令有半字长、单字长、双字长、多字长等不同的长度类型;指令系统可分为等长指令字结构、变长指令字结构两种。4.2.3指令字长度2022年12月1日星期四274.2.4指令助记
符指令助记符使用3~4个英文缩写字母来表示的指令操作码。在不同的计算机中,指令助记符的规定是不一样的;指令助记符只是指令操作码字段的一种表示方法;机器内部保存的还是二进制代码形式的机器指令;由汇编或编译程序,将助记符翻译成机器代码。2022
年12月1日星期四284.2.5指令格式举例(1/2)P110【例1】某16位系统中,指令格式如下所示,其中OP为操作码,试分析指令格式的特点。①指令字长为_________,操作数的数目为____个。②该指令格式的指令最多可有_____条。③根据此二地址指令的操作数
位置来看,属于____型指令。RS型、RR型、SS型④这种指令结构常用于_______________类指令。OP——源寄存器目的寄存器15987430单字长两128RR算术逻辑运算单字长二地址指令2022年12月1日星期四294.2.5指令格
式举例(2/2)P110【例2】某16位系统中,指令格式如下所示,OP为操作码字段,试分析指令格式特点。①指令字长为_________,操作数的数目为____个。②操作码字段OP为____位,可以指定_____种操作。③一个操作数在源寄存器,该类寄存器共____个,另一个操作数在
________中,所以该类指令是____型指令。存储单元中数据由变址寄存器和位移量共同决定其地址;双字长两6RSOP——源寄存器变址寄存器1510987430位移量(16位)双字长二地址指令6416存储器2022年12月1日星期四304.3操作数类型机器指令对数据进行操
作,数据通常分为以下四类:地址数据无符号整数,通过某种运算确定操作数在主存中的有效地址;数值数据定点整数、小数;浮点数;压缩十进制数;字符数据文本数据或字符串;逻辑数据由若干二进制位组成,每位的值可以是1或0。2022年12月1日星期四3
14.4指令和数据的寻址方式4.4.1指令的寻址方式4.4.2操作数寻址方式4.4.3寻址方式举例2022年12月1日星期四321.顺序寻址方式当程序按顺序执行时的指令寻址方式;必须用程序计数器记录所要执行指令的存放单元地址;一般做顺序加1的操作;程序计数器
又称指令指针寄存器;2.跳跃寻址方式当程序转移执行时的指令寻址方式;程序计数器的内容由本条指令给出,而不是顺序改变。4.4.1指令的寻址方式2022年12月1日星期四33指令的寻址演示动画演示:4
-1.swfLDA1000ADD1001DEC1200JMP7LDA2000SUB2001INCSTA2500LDA1100...0123456789PC+1指令的寻址方式指令地址指令顺序寻址1顺序寻址2顺序寻址3跳跃寻址7顺序寻址82022年12月1日
星期四344.3.2操作数的寻址方式一种单地址码指令的结构如下图:将指令中的形式地址A变换成操作数有效地址的过程,称为寻址过程。典型而常用的寻址方式有隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、偏移寻址、堆栈寻址;操作码OP变址X间址I形式地址A寻址特
征位动画演示:4-2.swf2022年12月1日星期四35操作数地址隐含在操作码中;如8086的MUL指令被乘数隐含在AX(16位)或AL(8位)中;指令字中少了一个地址字段,可缩短指令字长;MULA操作数主存寻址特征AACC暂存ALU另一
个操作数隐含在ACC中隐含寻址2022年12月1日星期四36形式地址A就是操作数;优点:指令执行阶段不需要访存,速度快;缺点:形式地址A字段的位数限制了立即数的范围。立即寻址OP#A立即寻址特征立
即数可正可负,补码表示2022年12月1日星期四37有效地址由形式地址字段A直接给出;EA=A特点执行阶段访问一次存储器;A的位数决定了该指令操作数的寻址范围;操作数的地址不易修改(必须修改A);操作数主存寻址特征LDAAAACC直接寻址2022年12月1日星期四38
OPA寻址特征AEA主存EAA1EAA1主存EA10OPA寻址特征A一次间址多次间址操作数操作数间接寻址有效地址由形式地址字段A间接提供,EA=(A)特点可扩大寻址范围;A字段的长度受指令字长和指令格式的限制;寻址时,可根据
需要进行多次间址;可用寻址特制I字段区分直接寻址和间接寻址方式;2022年12月1日星期四39形式地址字段A为寄存器编号EA=Ri特点执行阶段不访存,只访问寄存器,执行速度快寄存器个数有限,可缩短指令字长OPA(Ri)寻址特征操作数………………R0RiRn寄存器组寄存器
寻址2022年12月1日星期四40形式地址字段A用于指出存放有效地址的寄存器编号;EA=(Ri)特点:执行阶段访存;便于编制循环程序操作数主存OPA(Ri)寻址特征地址………………R0RiRn寄存器寄存器间接寻址2022年12月1日星期四41偏移寻址直接
寻址和寄存器间接寻址方式的结合有效地址EA=A+(R)A是显式的形式地址字段;R可以是显式的,也可以隐含的,某个专用的寄存器;常用的偏移寻址相对寻址:指令转移时,常用相对寻址方式;EA=A+(PC)基址寻址:EA=(基址R)+
A,A+1A变址寻址:EA=A+(变址R),变址R+1变址ROPA操作数主存寻址特征ALUBR操作数主存寻址特征ALUOPR0AR0作基址寄存器通用寄存器R0Rn-1R1…2022年12月1日星期四424.4.3
寻址方式举例P118【例3】一种二地址RS型指令的结构如下所示:通过I,X,D的组合,请写出下表所示的六种寻址方式的名称。OP——通用寄存器间址标志I寻址模式X偏移量D6位——4位1位2位16位IX有效地址E的算法说明寻址方式000E=D001E=(PC)+DPC位程序计数器0
10E=(R2)+DR2为变址寄存器111E=(R3)100E=(D)011E=(R1)+DR1为基址寄存器直接寻址相对寻址寄存器间接寻址间接寻址基址寻址变址寻址2022年12月1日星期四43P118【例4】某16位机的指令格式和寻址方式如下所示,设该机有
两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令格式中S(源),D(目标)指通用寄存器,M指主存单元。操作码对应机器码:传送指令MOV0AH、写数指令STO1BH、读数指令LAD3CH。2022年1
2月1日星期四44第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种指令是双字长二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接
寻址)决定。(1)分析三种指令的指令格式与寻址方式特点。2022年12月1日星期四45(2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?第一种指令所花时间最短;是RR型指令,不需要访问存储器。第二种指令
所花时间最长;RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。第二种指令的执行时间不会等于第三种指令第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。2022年12月1日星
期四46(F0F1)H(3CD2)H指令代表LAD指令,编码正确,其含义是把主存13CD2H地址单元的内容取至15号寄存器。(2856)H指令代表MOV指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。(6FD6)H单字长
指令,一定是MOV指令,但编码错误,可改为2BD6H。(1C2)H单字长指令,代表MOV指令,但编码错误,可改为28C2H。(3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指
令?MOV001010,STO011011,LAD111100111100001111000100111100110100100010100001010110011011111101011000101000011100110000100010102022年12月1日星期四474
.5典型指令4.5.1指令的分类(了解)1.数据传送指令2.算术运算指令3.逻辑运算指令4.程序控制指令5.输入输出指令6.字符串处理指令7.特权指令8.其他指令4.5.2基本指令系统(略)4.5.3精简指令系统(略)2022年12月1日星期四48设某机字长1
6位,直接寻址空间为128字,变址时的位移量为-64~+63,16个通用寄存器都可以作为变址寄存器,请设计一套指令系统,满足下列寻址类型的要求:(1)直接寻址的二地址指令3条;(2)变址寻址的一地址指令6条;(3)寄存器寻址的二地址指令8条;(4)直接寻址
的一地址指令12条;(5)零地址指令32条。本章综合举例12022年12月1日星期四49指令分析(1/2)直接寻址的二地址指令3条:这3条指令的操作码为00、01、10;变址寻址的一地址指令6条:这6条指令的操作码为:11000~11101操作码OP直接地址1直接地址27
位操作码OP变址寄存器偏移量7位2位7位4位5位2022年12月1日星期四50指令分析(2/2)寄存器寻址的二地址指令8条:这8条指令的操作码为11110000~11110111;直接寻址的一地址指令12条:这12条指令的操作码为:11
1110000~111111011零地址指令32条:这32条指令的操作码为:1111111000000000~1111111000011111操作码OP寄存器1寄存器24位4位8位操作码OP直接地
址17位9位操作码OP16位2022年12月1日星期四51某计算机数据线和地址线均是8根,有一条相对寻址的无条件转移指令存于内存的20H单元中,指令给出的偏移量是15H,设该指令占用2个字节,请计算:(1)
取该条指令时PC的内容。(2)该指令执行结束时PC的内容。解答:(1)取指令时,PC的内容为20H。(2)转移地址=PC+2+D=20H+2+15H=37H该条指令执行结束时PC的内容是37H。本章综合举例2
2022年12月1日星期四52本章综合举例3某指令系统指令字长为20位,具有双操作数、单操作数和无操作数3中指令格式,每个操作数地址规定用6位表示,当双操作数指令条数取最大值,而且单操作数指令条数也取最大值时,这3种指令最多可能拥有的指令数各是多少?解:按操作码扩展技术来设计,双操作数指令
最多28-1条,单操作数指令最多63条,因此无操作数指令条数的最大值为64条。00000000XXXXXXXXXXXX11111110XXXXXXXXXXXX11111111000000XXXXXX11111111111110XXXXXX1111111111111100000011
111111111111111111双操作数255条单操作数63条零操作数64条2022年12月1日星期四53某机器字长为16位,主存容量是64K字,采用单字长单地址指令,共有54条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式。解答
:54条指令,故操作码需要6位。因为四种寻址方式,所以寻址特征位取2位,余下的8位作为形式地址D。其指令格式为寻址模式X定义如下:X=00直接寻址有效地址E=D(256个单元)X=01立即寻址D=操作数X=10
变址寻址有效地址E=(R)+D(64K)X=11相对寻址有效地址E=(PC)+D(64K)其中R为变址寄存器(16位)、PC为程序计数器(16位)。相对寻址和变址寻址中,D可正可负。本章综合举例4OP(6位)X(2位)D(8位)2022年12月1日
星期四5409年考研真题(1/2)16.某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,
则该转移指令成功转以后的目标地址是()A.2006HB.2007HC.2008HD.2009HC2022年12月1日星期四5509年考研真题(2/2)17.下列关于RISC的叙述中,错误的是()A.RISC普遍采用微程序控制器B
.RISC大多数指令在一个时钟周期内完成C.RISC的内部通用寄存器数量相对CISC多D.RISC的指令数、寻址方式和指令格式种类相对CISC少A2022年12月1日星期四5610年考研真题(1/4)43.(11分)某计算机字长为16位,主存地址空间大小为128KB,按字编址,采用单字长
指令格式,指令名字段定义如下:转移指令采用相对寻址方式,相对偏移是用补码表示,寻址方式定义如下:操作码OPMsRsMdRdMs/Md寻址方式助记符含义000B寄存器直接Rn操作数=(Rn)001B寄存器间接(Rn)操作数=((Rn))010B寄存器间接、自增(Rn
)+操作数=((Rn)),(Rn)+1→Rn011B相对D(Rn)转移目标地址=(PC)+(Rn)15121198653202022年12月1日星期四5710年考研真题(2/4)(X)表示存储地址X或寄存
器X中的内容,请回答下列问题:①该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需多少位?OP字段为4位,因此该指令系统最多有24=16条
指令;Rs/Rd字段为3位,因此最多有23=8个通用寄存器;主存空间为128KB,按字编址,128KB/2B=64K=216;MAR应与存储单元地址位数相同,至少为16位;MDR应与存储字长相同,至少
为16位。操作码OPMsRsMdRd15121198653202022年12月1日星期四5810年考研真题(3/4)②转移指令的目标地址范围是多少?转移指令采用相对寻址方式;转移目标地址=(PC)+(Rn);Rn是16位的,因此目标地址范围是64K,即整个存储空间。2022年12月1
日星期四5910年考研真题(4/4)③若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,5678H中的内容为1234H,则汇编语言为add(R4),(R5)+(逗
号前源操作数,都号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?对应的机器码:0010001100010101B(2315H)该指令执行后R5的内容变为567
9H,地址5678H的内容变为68AC。操作码OPMsRsMdRd1512119865320Ms/Md助记符000BRn001B(Rn)010B(Rn)+011BD(Rn)2022年12月1日星期四60第4章
作业P1253、4、6、7