计算机组成原理 指令系统PPT课件_第1页
计算机组成原理 指令系统PPT课件_第2页
计算机组成原理 指令系统PPT课件_第3页
计算机组成原理 指令系统PPT课件_第4页
计算机组成原理 指令系统PPT课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

.,计算机组成原理武汉科技大学计算机科学与技术学院,.,第四章指令系统,本章内容4.1指令系统的发展和性能要求4.2指令格式4.3操作数类型4.4指令和数据的寻址方式4.5典型指令4.6ARM汇编语言,.,4.1.1指令系统的发展程序:解决某一实际问题的指令序列指令:要计算机执行某种操作的命令,4.1指令系统的发展与性能要求,3.指令系统:一台计算机中所有机器指令的集合,(1)微指令:微程序级的命令,属于硬件(2)宏指令:由若干机器指令和伪指令构成的软件指令(3)机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算,从计算机层次结构的观点看,指令可分三类:,目录,.,4.指令系统的发展50年代只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令60年代后期增加了乘除运算、浮点运算、十进制运算、字符串处理等,指令多达一二百条,寻址方式也趋多样化60年代后期开始出现系列计算机70年代末期CISC(ComplexInstructionSetComputer)RISC(ReducedInstructionSetComputer)系列计算机基本指令系统、体系结构相同的一系列计算机系列计算机必要条件同一系列的各机种有共同的指令集;且实现“向上兼容”,.,CISC和RISC,CISC复杂指令系统计算机,多达几百条研制周期长,不易调试维护,且造成硬件资源浪费RISC精简指令系统计算机从CISC转变到RISC的原因指令系统百分比的20:80规律降低控制器设计难度,.,一个完善的指令系统应满足的条件:完备性指令丰富、功能齐全、使用方便用汇编语言编各种程序时,直接提供的指令足够用有效性程序占存储空间小、执行速度快规整性对称性、匀齐性、指令格式和数据格式的一致性对称性:所有的寄存器和存储器单元都可同等对待;所有的指令都可使用各种寻址方式匀齐性:一种操作指令可支持各种数据类型指令格式和数据格式的一致性:指令长度和数据长度有一定关系,方便处理和存取兼容性“向上兼容”,4.1.2指令系统的性能要求,.,低级语言分机器语言(二进制)和汇编语言(符号)高级语言与低级语言的性能比较:高级语言的语句和用法与具体机器的指令系统无关低级语言和具体机器的指令系统密切相关机器语言是机器能直接识别和执行的惟一语言汇编语言与硬件关系密切,编写的程序紧凑、占内存小、速度快,适合编写经常与硬件打交道的系统软件高级语言不涉及机器的硬件结构,通用性强、编写程序容易,适合编写与硬件没有直接关系的应用软件,4.1.3低级语言与硬件结构的关系,.,高级语言与低级语言的比较,.,4.2指令格式,指令字(简称指令)表示一条指令的机器字指令格式指令字用二进制代码表示的结构形式,表征指令的操作特性与功能位数取决于指令系统的规模,分固定位数和可变位数,4.2.1操作码,4.2.2地址码,参与操作的操作数的地址或操作数本身三地址指令格式、二地址格式、一地址格式和零地址格式,目录,.,(1)零地址指令两种情况:一是该指令不需要操作数,如NOP指令二是操作数隐含,如DAA操作数隐含于累加器AC中(2)一地址指令(单操作数指令)也有两种情况:一是指令本身只需要一个操作数,如NOT指令二是被操作数和结果隐含于累加器AC中AC(AC)OP(A)(A)表示地址为A的内存或通用寄存器中的数,关于地址码个数的有关说明,.,(3)二地址指令(双操作数指令)A1(A1)OP(A2)按操作数的物理位置不同又分为:SS型、RR型、RS型指令(4)三地址指令A3(A1)OP(A2)A1被操作数地址,也称源操作数地址A2操作数地址,也称终点操作数地址A3存放结果的地址A1,A2,A3可为内存单元或通用寄存器的地址,关于地址码个数的有关说明(续),.,机器字长:计算机能直接处理的二进制数的位数指令字长度:指令字包含二进制代码的位数,等长、变长两种等长指令字结构:结构简单,且指令字长度不变变长指令字结构:结构灵活,但控制较复杂,4.2.3指令字长度,设L为指令字长度,N为机器字长度L=N单字长指令L=0.5N半字长指令L=2N双字长指令,多字长指令的优点、缺点,.,4.2.4指令助记符,不同的计算机中,指令助记符的规定不同指令助记符借助汇编程序可自动转换成相应的二进制码,.,1.八位微型计算机(字长8位)的指令格式可变字长形式:单字长、双字长、三字长指令,单字长指令,双字长指令,三字长指令,内存按字节编址,每执行一条指令后,指令地址的修正加1、加2、加3,4.2.5指令格式举例,.,字长32位,字节寻址,通用寄存器32个R型指令所有算术运算,数据必须放在通用寄存器中,2.MIPSR4000指令格式RISC,I型(立即数)指令访问存储器(存数或取数),返回到举例,.,ARM指令集的一种指令格式,3.RAM的指令格式32位嵌入式处理器,指令字长度可变:112字节,典型的CICS结构,1或20或10或10,1,2,40,1,2,4,4.Pentium指令格式,由操作码、Mod-R/M、SIB、位移量、立即数字段组成,除操作码字段外,其他四个字段均可选,2位3位3位2位3位3位,.,例1已知指令格式,OP为操作码,试分析其特点,解:(1)单字长二地址指令(2)操作码字段OP为7位,可指定128条指令(3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个)RR型指令(4)这种指令结构常用于算术逻辑运算类指令,指令格式举例1,.,例2试分析下面指令格式的特点,解:(1)双字长二地址指令,用于访问存储器(2)操作码字段OP为6位,可以指定64种操作(3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定)RS型指令,指令格式举例2,.,例3MIPSR4000汇编语言中,寄存器$s0$s7对应寄存器号为1623(十进制),寄存器$t0$t7对应寄存器号为815。下表列出了2条R型指令(add、sub),2条I型指令(IW、SW)的汇编语言表示。请将4条汇编语言手工翻译成对应的机器语言(十进制)表示,指令格式举例3,.,$s0$s7对应寄存器号为1623,解:MIPS机器语言表示如表所示,指令格式举例3,MIPS指令字段值,.,4.3操作数类型,4.3.1一般的数据类型地址数据:可看成无符号数数值数据:常用的三种类型:定点数、浮点数、压缩BCD字符数据:文本数据或字符串,目前广泛使用ASCII码逻辑数据:将一个数据看成由若干位组成可对具体的位进行布尔逻辑运算,4.3.2Pentium数据类型能处理字节(8位)、字(16位)、双字(32位)、四字(64位)字、双字、四字的起始地址无要求当通过32位数据总线存取数据时,双字的起始地址能被4整除Pentium的数据类型,目录,.,Pentium数据类型,返回,.,4.3.3PowerPC数据类型,PowerPCRISC可处理字节(8位)、半字(16位)、字(32位)、双字(64位)能识别的数据类型:(1)无符号字节:用于逻辑和整数算术运算,由存储器读出装入通用寄存器时左端以0填充(2)无符号半字:与“无符号字节”类似,长度16位(3)有符号半字:用于16位算术运算,装入寄存器时要符号扩展(4)无符号字:用于32位逻辑运算,或作地址指针(5)有符号字:用于32位算术运算(6)无符号双字:用作64位地址指针(7)字节串:长度0128个字节(8)浮点数:支持IEEE754定义的单精度、双精度浮点类型,.,4.4指令和数据的寻址方式,在存储器中,操作数或指令字写入或读出的3种方式地址指定方式、相联存储方式和堆栈存取方式;几乎所有的计算机,内存中都采用地址指定方式寻址方式采用地址指定方式时,形成操作数或指令地址的方式指令寻址方式比较简单;数据寻址方式比较复杂4.4.1指令的寻址方式一种是顺序寻址方式另一种是跳跃寻址方式,目录,.,跳跃寻址下条指令的地址码由本条指令给出,设置程序计数器(指令指针寄存器)PC对指令的顺序号计数,该顺序号就是指令在内存中的地址,2.跳跃寻址方式目标地址PC,1.顺序寻址方式(PC)1PC,103,.,形成操作数的有效地址的方法例如,一种单地址指令的结构如下所示,4.4.2操作数基本寻址方式,指令中的地址码由形式地址和寻址方式特征位等组合形成寻址过程就是把操作数的形式地址,变换为有效地址具体的寻址方式有:隐含寻址立即寻址直接寻址间接寻址寄存器寻址寄存器间接寻址偏移寻址(基值、变址、相对)堆栈寻址段寻址,.,指令中不显式给出而是隐含着操作数的地址例如,单地址的指令格式隐含着累加器AC为第二操作数地址2.立即寻址指令的地址字段给出的是操作数本身,而不是操作数地址不需要访问内存取数,故指令执行时间很短3.直接寻址,1.隐含寻址,地址字段中直接指出操作数在内存的地址A形式地址A就是操作数的有效地址E(EA),又称直接地址如果用D表示操作数,那么D(E)(A),.,形式地址A是操作数地址的指示器,A单元的内容才是操作数的有效地址,寻址特征位I0,表示直接寻址,有效地址EAI1,表示间接寻址,有效地址E(A),4.间接寻址目前已很少使用,把直接寻址和间接寻址结合起来指令的形式:,.,指令中给出通用寄存器的编号,操作数在通用寄存器中6.寄存器间接寻址方式指令中给出寄存器的编号,但该寄存器的内容是操作数的地址,操作数在内存中如:8086CPU的指令系统中MOV指令:MOVAX,BX;源操作数是寄存器寻址MOVAX,BX;源操作数是寄存器间接寻址,5.寄存器寻址方式,.,7.偏移寻址,(1)相对寻址方式隐含的专用寄存器为PC;EA=(PC)+A形式地址A称为偏移量,有符号数,相对当前指令地址浮动(2)基址寻址方式EA=(BR)+A;A为偏移量(通常是无符号数);寄存器的引用可以是显式或隐式的优点BR位数较多时,提供较大寻址空间(如段寻址)(3)变址寻址方式EA=(IR)+A;(IR)通常是一个正偏移量为重复操作提供高效机制,是直接寻址和寄存器间接寻址方式的结合有效地址EA=A+(R),.,偏移寻址,.,以PC微型为例,内存单元的分段20位物理地址的构成段寄存器、位移量,8.段寻址方式(其本质是基址寻址),.,数据的存取在栈顶栈顶指示器PUSH数据入栈,栈顶指示器减POP数据出栈,栈顶指示器加,9.堆栈寻址方式(先进后出),.,基本寻址方式示意图,.,基本寻址方式小结,.,立即寻址,操作数,寄存器间接寻址,存储器间接寻址,偏移寻址,在寄存器中,在主存中,在I/O端口中,直接寻址(8位),间接寻址(16位DX),在指令中,寄存器寻址,操作数的寻址方式,直接寻址,.,外部地址总线36位,但也支持32位物理地址空间实地址模式下,逻辑地址形式为段寻址方式:20位物理地址PA=段寄存器内容左移4位+16位段内偏移保护模式下,32位线性地址LA=32位段基址+段内偏移,再由存储管理部件透明地将其转换成32位的物理地址,1.Pentium的寻址方式,4.4.3寻址方式举例,保护模式下Pentium寻址方式的计算,.,返回,.,Pentium的寻址方式(EA的获取方式),.,立即数可为8位、16位、32位寄存器寻址:一般指令可使用8位、16位或32位通用寄存器;对64位浮点数操作,要使用一对32位寄存器;少数指令使用段寄存器寻址直接寻址:也称偏移量(8位、16位、32位)寻址基址寻址:基址寄存器B可以是通用寄存器中任何一个基址偏移量寻址:B是32位通用寄存器中任何一个比例地址偏移量寻址:也称为变址寻址方式,变址寄存器I是32位通用寄存器中除ESP外的任何一个,是,两种的组合,偏移量可有可无相对寻址:适用于转移控制类指令EIP或IP的内容加上一个有符号的偏移量,形成CS段的段内偏移,对32位寻址方式的几点说明:,.,PowerPC是RISC,寻址方式简单,按指令类型分类,2.PowerPC寻址方式,其中:BR基址寄存器;IR变址寄存器;L/CR链接或计数寄存器;GPR通用寄存器;FPR浮点寄存器;D偏移量;I立即数,.,例4一种二地址RS型指令的结构如下所示,I间接寻址标志,X寻址模式,D偏移量;通过I、X、D的组合,可构成下面的寻址方式,请写出各寻址方式的名称,解:直接寻址相对寻址变址寻址寄存器间接寻址间接寻址基址寻址,.,4.5典型指令,4.5.1指令的分类,一个较完善的指令系统按照功能不同可分为4类数据处理、数据存储、数据传送和程序控制具体的指令类型:数据传送类、算术运算类、逻辑运算类、程序控制类、输入输出类、字符串类、系统控制类,目录,.,1.数据传送指令实现主存和寄存器、寄存器和寄存器之间的数据传送包括:取数、存数、传送、成组传送、字节交换、清累加器、堆栈操作指令等2.算术运算指令定点或浮点的算术运算,大型机中有向量运算指令包括:二进制定点加、减、乘、除;浮点加、减、乘、除;求反、求补;算术移位;算术比较;十进制加、减运算指令等3.逻辑运算指令无符号数的位操作、代码的转换、判断及运算包括:逻辑加、逻辑乘、按位加、逻辑移位(对寄存器的内容实现左移、右移或循环移位)等指令,4.5.1指令的分类,.,4.程序控制指令也称转移指令转移地址采用直接寻址和相对寻址方式确定包括:各种条件转移指令;无条件转移、转子程序、返回主程序、中断返回指令等5.输入输出指令实现外部设备与CPU之间、外设与外设之间的信息传送6.字符串处理指令是一种非数值处理指令包括:字符串传送、字符串转换、字符串替换等,4.5.1指令的分类(续),.,7.特权指令具有特殊权限的指令,只用于操作系统或其他系统软件,一般不直接提供给用户使用多用户、多任务的计算机系统中必不可少,主要用于系统资源的分配和管理8.其他指令一些系统控制用的特殊指令如:状态寄存器置位/复位指令、测试指令、暂停,空操作等,4.5.1指令的分类(续),.,4.5.2基本指令系统的操作,CISC中,基本指令系统仅占指令系统的20%,如P132表4.1120%-80%规律:CISC中大约有20%的指令使用频率高,约占整个程序的80%;有80%的不常用指令只占整个程序的20%,4.5.3精简指令系统,CISC存在的问题:庞大的指令集;纷繁复杂的寻址模式;硬件实现复杂(硬件资源的利用率低)RISC指令系统的主要特点:选取使用频率最高的一些简单指令,指令条数少指令长度固定,指令格式种类少只有取数/存数指令访问存储器,其余指令都对寄存器操作典

温馨提示

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

评论

0/150

提交评论