100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 计算机组成置NVCZ为零 《计算机组成原理》第3版PPT电子课件教案-第四章 指令系统.ppt...

计算机组成置NVCZ为零 《计算机组成原理》第3版PPT电子课件教案-第四章 指令系统.ppt...

时间:2020-08-03 20:09:26

相关推荐

计算机组成置NVCZ为零 《计算机组成原理》第3版PPT电子课件教案-第四章 指令系统.ppt...

第 四 章 指 令 系 统 P127 本章介绍指令的一般格式和指令寻址方式、指令分类等。 4.1 指令系统的发展与性能要求 程序:是由一系列的指令序列组成, 解决某一具体问题。 指令:是计算机硬件系统设计和软件系统设计交界面。 计算机硬件设计者设计的硬件就是要完成全部指令的功能。 计算机软件设计者利用全部指令编写完成某种特定功能的程序。 指令系统:一台计算机所有指令的集合。 从计算机组成的层次结构来讲,计算机指令可分: 微指令:计算机硬件设计,属于硬件。 机器指令:简称为指令,完成一个独立算术或逻辑操作功能。 宏指令:由若干指令编成一段程序的软件指令,属于软件。,1.指令系统随计算机硬件器件而变化。 50年代,只有定点加减、逻辑运算、数据传送、转移等十几条至几十条指令。 60年代,除上述基本指令外,增加乘除运算、浮点运算、十进制运算、字符串处理指令,1~2百条指令。 60年代后期,出现系列计算机(基本指令系统相同、基本体系结构相同的系列计算机)。 系列计算机好处:程序的兼容性。 PC机:8080,8086,80186,80286,80381,P-1,P-2.P-3,P-4. PDP-11 70, 24,… VAX-11780…,机。 70年代末,随VLSI技术发展,计算机越来越复杂,指令系统多达几百条-复杂指令系统计算机CISC。 精简指令系统计算机RISC ,便于VSLI技术的实现。,2.对指令系统性能的要求 计算机一个完善的指令系统应满足如下四方面的要求:P128 (1)指令系统完备性:必须包含最基本、必不可少指令。 (2)指令系统有效性:利用该计算机的指令系统编写的程序能够高效率运行。 (3)指令系统规整性:指令系统的对称性、匀齐性,指令格式和数据格式的一致性。 (4)指令系统兼容性:指令的向上兼容-低档机上运行的软件可以在高档机上运行。(一个计算机上编写的程序不作任何修改可以在另一个计算机上运行),3.低级语言与硬件结构的关系 (1)计算机能够直接执行的语言——二进制机器语言。 但使用不方便,采用汇编语言和高级语言编写的程序,计算机不能执行,一定要把它翻译成二进制机器语言,计算机才能执行。 (2)汇编语言依赖计算机硬件结构和指令系统。用汇编语言编写的程序不能在其他类型的计算机上运行。 (3)高级语言与计算机硬件结构和指令系统无关。高级语言程序看不见机器的硬件,因而不能用它编写直接访问机器硬件资源(例如:机器中的某个寄存器)。 汇编语言与高级语言的比较见P129 表4.1。,4.2 指令格式 P129 指令字:用机器字(全部0/1代码)表示机器指令,简称指令。 指令格式: 操作码字段功能:表示指令操作的特性和功能。 地址码字段功能:指定参与指令操作的操作数地址。 1.操作码 n位二进制位的操作码,一共有2n种不同类型的指令; 例如:n=4, 一共有16种不同类型的指令。 一般计算机的指令中,操作码字段和地址码字段长度是固定的。 在单片机中,由于指令字比较短,操作码字段和地址码字段长度是不固定。,2. 地址码 一条指令中有几个操作数地址,该指令称为几地址指令。 最常用的有: 零地址指令: 一地址指令: 二地址指令: 三地址指令: (1)零地址指令:只有操作码,没有地址码。例如:仃机,NOP指令等。不需要操作数。,(2)一地址指令:单操作数地址指令。例如:求反指令,对指定的操作数各位求反。 如果指的是双操作数指令,一般另一个操作数的地址隐含,例如,在AC累加器中。 (AC)OP(A)AC,OP为操作码,例如:加,减… (3)二地址指令:双操作数地址指令。 (A1)OP(A2)A1,OP为操作码,例如:加,减… (4)三地址指令:三个操作数地址指令。 (A1)OP(A2)A3,OP为操作码,例如:加,减… A1 ,A2 , A3 可以是内存单元的地址;也可以是运算器中的通用寄存器的地址。,在二地址指令格式中,从操作数的物理位置来说,可归结三类(不包括取指令访问主存一次): a)SS型:存贮器-存贮器,访内指令,存取操作数需要三次访问内存。(取两个操作数,结果写回) b)RR型:寄存器-寄存器,不需访问内存指令,执行速度快。 c)RS型:寄存器-存贮器,存取操作数需要二次访问内存。 特别要指出的是: 零地址指令格式字长最短,三地址指令格式字长最长。,3.指令字长度 指令字长度等于计算机字长-单字长指令。 指令字长度等于半个计算机字长-半字长指令。 指令字长度等于两个计算机字长-双字长指令。 使用多字长指令,目的提供足够长的地址来解决访问内存任何单元的寻址问题。 有的计算机,指令长度是固定。 有的计算机,指令长度是可变的。 单字长指令从主存中取出指令,需要访问主存1次。双字长指令从主存中取出指令,需要访问主存2次。,4.指令操作码的助记符 用3个或4个英文缩写字母来表示指令操作码的二进制位。 例如:P132 表4.2 典型指令助记符。 5.指令格式举例: 简单介绍 P132 (1)8位微型计算机的指令格式 (2)PDP/11计算机的指令格式:P132 表4.3 (3)Pentium计算机指令格式:可变长指令(1~12个字节) P133 例1说明指令格式的特点。RR型指令 P134 例2说明指令格式的特点。 RS型指令 应该很好地掌握指令格式特点的分析。,4.3 指令和数据寻址方式(本章重点)P134 寻址方式:采用地址指定方式,形成操作数或指令的地址方式。包括: 指令的寻址方式:简单。由PC指出要执行指令的主存地址。 操作数的寻址方式:比较复杂。 1.指令的寻址方式:下一条指令地址的决定:顺序寻址方式和跳跃(转移)寻址方式两种。 (1)顺序寻址方式: P135 图4.1(a) 动画演习四(1)。 PC(程序计数器):存放要执行指令的地址。 下一条指令地址(紧挨着本条指令后一条): (PC)+1PC 大部分指令(非转移指令)。,(2)转移寻址方式:P135 图4.1(b) 动画演习四(1)。 下一条指令的地址由本条转移指令中地址码给出。求出的转移地址送入PC。例如: 无条件转移指令 K: JMP d。 下一条指令地址为d, 而不是K+1。 转子指令 K:CALL d。 K+1压入对堆栈(子程序调用结束时,返回时用),下一条指令地址为d。 条件转移指令:K:jc d。 当执行该条件转移指令时,条件测试成功c=1,下一条指令的地址是转移寻址方式(dPC);条件测试不成功c=0,下一条指令的地址是顺序寻址方式(K+1PC) 。 子程序调用返回指令:K: RETURN 下一条指令的地址从堆栈中取出。,2.操作数的寻址方式:P135 形成操作数的有效地址的方法-操作数的寻址方式。 下列是单地址指令的结构,其中X,I,D各字段组成该指令操作数的地址: 形式地址D,也是偏移量。 寻址过程:就是把操作数的形式地址D,使之成为操作数的有效地址的过程。 常用的寻址方式有下列几种:隐含寻址;立即寻址;直接寻址;间接寻址;寄存器寻址和寄存器间接寻址;相对寻址;基址寻址;变址寻址;块寻址等方式。,(1)隐含寻址 特点:在指令中,不明显给出操作数的地址, 在指令操作码中隐含操作数的有效地址。 例如:(AC)OP(D)AC单地址格式中,没有明显给出第二操作数的地址,而规定累加器AC作为第二操作数地址。 (2)立即寻址 在指令的地址字段中指出的不是操作数地址,而是操作数本身。操作数=D。指令执行中,不需要访问内存。 特点:指令执行时间短,因为它不需要访问内存取数,而是从指令寄存器中取数。例如:单地址移位指令为: D不表示地址,而D是一个操作数,F=0,操作数进行右移, F=1,操作数进行左移。,(3)直接寻址 指令格式中最基本的寻址方式。P136 图4.2(a) 动画演习四(2)。 X1=1,直接寻址方式,有效地址E=D, 操作数=(E)=(D)=S。 得到操作数,需要访问主存一次。 (4)间接寻址 指令格式中,地址字段中的形式地址D不是操作数的地址,而是操作数地址的地址(指示器) P136 图4.2(b) 动画演习四(3)。 X2=1,间接寻址方式,有效地址E=(D), 操作数=(E)=((D))=S 得到操作数,需要访问主存二次。指令执行速度比较慢。,(5)寄存器寻址和寄存器间接寻址P137 a)寄存器寻址: 操作数不在内存,而是在CPU通用寄存器中(例如:R0~R7). (R1)OP(R2)R1 指令中给出的操作数地址不是内存单元地址,而是通用寄存器号。R-R型指令。取操作数不需要访问内存。 b)寄存器间接寻址: 操作数在内存。CPU的通用寄存器(例如:R0~R7)。 ((R1))OP((R2))(R1), 共访问内存3次。 指令给出的操作数地址不是内存单元地址,而是通用寄存器号。S-S型指令。通用寄存器的内容不是操作数,而是操作数的内存地址。取一个操作数需要访问内存一次。 减少指令的地址长度。,(6)相对寻址 P137 图4.3(a) 动画演习四(5)。PC为程序计数器。 X3=1,相对寻址方式,有效地址E=(PC)+D 操作数=(E)=((PC)+D)=S。得到操作数,需要访问主存一次。 采用相对寻址方式的好处:程序员无须用指令的绝对地址编程,因而所编写的程序可以放在内存的任何位置的地方,不会影响程序的执行。,(7)基寻址 P137 图4.3(b) 动画演习四(4)。A为基址寄存器。 X4=1,基寻址方式,有效地址E=(A)+D 操作数=(E)=((A)+D)=S。得到操作数,需要访问主存一次。 采用基寻址方式的优点:可以扩大寻址能力。因为同形式地址相比,基址寄存器的位数可以设置很长,从而可以在较大内存空间中寻址。指令形式地址的位数可以不多,减少了指令的字长。适合操作系统使用。例如:慢表的页表的访问就是通过基址寄存器访问的。,(8)变址寻址 变址寻址方式和基址寻址方式基本相同。把基址寄存器改成变址寄存器IX。 X5=1,变寻址方式,有效地址E=(IX)+D 操作数=(E)=((IX)+D)=S。得到操作数,需要访问主存一次。 采用变寻址方式目的:不是扩大寻址空间。而是实现程序块的规律变化。为此,必须使变址寄存器的内容有规律变化(例如:自增1或自减1),不改变指令本身,改变内存空间连续单元操作(内存中的一批数据的连续存取)。适合用户编程序的需要。,(9)块寻址 块寻址方式常用在输入输出指令中,实现外存贮器或外设同内存之间的数据块传送。块寻址方式还可实现内存中数据块的搬家。 块寻址指令格式: (10)段寻址 P138 P138 图4.4 动画演习四(6)。 实际上是PC机如何把16位的逻辑地址=D转换成20位的地址?64K运行程序如何装入到1M主存空间(20位主存地址)。 (段寄存器16bit)0000+16位逻辑地址D20位的地址。 实质上,它是一种基址寻址方式。,,3. 寻址方式举例:简单介绍一下P138 PDP/11系列机寻址方式 指令长度16位,双操作数指令格式如下:,15 12 11 9 8 6 5 3 2 1,源地址,,,,,,,目的地址,,寻址方式:见P139 表4.4,(2)Pentium寻址方式 P140 表4.5 简单讲9种寻址方式。 P141 详细讲解例3 ,根据画出指令格式,表4.6 学会分析指令寻址方式。 例4 自己看。,4.4 堆栈寻址方式 P142 堆栈是一组能从栈顶上进行存取数据的操作存贮单元。 堆栈操作: 进栈:把一个数据压入栈顶。 退栈:把一个数据从栈顶中取出。 堆栈最大特点:先进后出(后进先出)。 读堆栈中的一个数据,它是破坏性读出。读出后,再 也不存在。 计算机中有两种常用的堆栈结构。 由若干寄存器组成的串联堆栈。 由若干存贮器单元组成的存贮器堆栈。,,,,,,,,,,,SP,(1)串联堆栈 由计算机中的CPU一组专门的寄存器组成。例如16个。 P143 图4.5 数据进栈和退栈操作过程。动画演习四(7) 特点: a)数据进栈和退栈操作只能栈顶和某个通用寄存器 之间进行。(简单说明图4.5 4个数据进栈操作过程) b)进栈操作:若栈顶寄存器有数据,则从栈顶开始以此向下移一个单元;然后,把数据放进栈顶的寄存器。 退栈操作:则和进栈操作相反,从栈顶的寄存器上取出数据送入通用寄存器,以下的单元以此向上移一个单元。 串联堆栈进栈和退栈操作:寄存器相互之间要执行上移和下移操作。,(2)存贮器堆栈 由计算机中的主存器中的一部分单元组成。例如100个。 存贮器堆栈比串联堆栈的优点: 1)堆栈能够具有程序员要求的任意长度。 2)只要程序员喜欢,可以建立多个堆栈。 3)用指令按存贮器寻址方式可对堆栈中的任意一个单元进行修改。 4)进栈和退栈操作,存贮器中堆栈单元不需要上移或下移位。 为了对堆栈进行操作,需要设置一个SP(堆栈指示器,指出堆栈栈顶的地址)。 P144 图4.6 数据进栈操作 和图4.7 数据退栈操作过程。 动画演习四(8),特点:数据进栈和退栈操作只能栈顶存贮单元和某个通用寄存器之间进行。 进栈操作和退栈操作,存贮器中堆栈单元不需要上移或下移位。 进栈操作的具体描述: (A)Msp, (SP)–1SP (进栈时,先存入数据,后修改栈指示器) 退栈操作的具体描述: (SP)+1SP,(Msp)A (退栈时,先修改栈指示器,后取出数据) 堆栈数据格式的指令,只要指令OP操作码,不需要地址码,操作数的地址是隐含的,总是在堆栈的栈顶上进行。,4.5 典型指令 P145 1. 指令分类: 不同计算机,指令系统是不一样。从指令操作码的功能来 讲,一个完善的指令系统,应该包括: 数据传送类指令;算术运算类指令;逻辑运算类指令; 程序控制类指令;输入输出类指令;字符串处理类指令; 系统控制类指令。 (1)数据传送类指令: 实现R-R, S-S, R-S传送数据。包括:取数指令,存数指令,传送指令,成组传送指令,字节交换指令,清累加器指令,堆栈操作指令。,(2)算术运算类指令 定点、浮点、十进制的加,减,乘,除四则运算指令;算术移位指令,算术比较指令。求反和求补指令;向量运算指令。 (3)逻辑运算类指令 逻辑加(或)、逻辑乘(与)、按位半加(异或)、逻辑左右移位 注意:算术移位和逻辑移位的区别。 (4)程序控制类指令(各类转移指令) 功能:根据上一条指令执行的某个结果,例如条件码NVCZ,改变程序顺序执行次序,转移到某一指定的地址继续执行程序。 无条件转移指令,转子程序指令,条件转移指令,返回主程序指令、中断返回指令。,转移指令的转移地址产生有两种方式: 直接寻址方式(绝对转移):由指令中的地址码部分直接给出。 相对寻址方式(相对转移):由指令中的地址码部分的偏移量+当前指令的地址(由此时PC中的值决定)。 (5)输入输出类指令 功能:启动外围设备,检查测试外围设备的状态,实现外部设备和CPU之间,或外部设备和外部设备之间的信息交换。 若计算机的外围设备接口中的各类寄存器的地址和内存单元的地址统一编址时,则这样的计算机的指令系统中不需要专门的输入输出指令,因为可以用(访内指令:取数指令和存数指令)访问存贮器的指令来代替。,若计算机的外围设备接口中的各类寄存器的地址和内存单元的地址不是统一编址时(独立编址),则这样的计算机的指令系统中要专门设置输入输出指令。 (6)字符串处理类指令 功能:适合文字编辑中的处理,是非数值处理指令, 包括字符串比较,字符串查找,字符串转换,字符串抽取,字符串替换。 (7)特权指令(系统控制类指令) 只用于操作系统和其它系统软件;一般用户是不能使用。 在多用户、多任务的计算机系统中必不可少的指令。 主要功能:用于系统资源的分配合管理。改变系统工作方式,检测用户访问权限,修改和管理虚拟存贮器段表,页表,作业任务的创建和切换。,(8)其它指令 状态寄存器置位/复位指令,测试指令,暂停指令,空操作指令和其他一些系统控制用的特殊指令。 2. 典型指令系统简单介绍 P146 (1)CISC(复杂指令系统计算机)一般有2~3百条指令。 例如VAX11/780计算机有303条指令,18种寻址方式; Pentium计算机有191条指令,9种寻址方式。 CISC指令系统特点:最常使用的一些最基本的指令,仅占指令总数的20%;但在程序中出现的频率占80%。系统实现复杂。 P147 表4.7基本指令系统(自己看),(2)RISC(精简指令系统计算机) RISC指令系统的最大特点: a)选取使用频率最高的一些简单指令,指令条数少。 b)指令长度固定,指令格式种类少,寻址方式种类少。 c)只有取数、存数指令访问存贮器,其余指令的操作都在寄存器之间进行。 2)P148 表4.8 典型RISC机指令系统基本特征。 其中SPARC机是RISC机。 有6类指令(P148) :算术运算/逻辑运算/移位指令;取数/存数指令;控制转移指令;读写专用寄存器指令;浮点运算指令;协处理器指令。 有3种指令格式(P149 表4.9)。,第四章结束,

展开阅读全文

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。