您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > 计算机组成与系统结构课件
计算机组成与系统结构上海交通大学网络教育学院陈泽宇博士副教授网络教育学院2020年9月14日星期一2第1章计算机系统概论第2章运算方法和运算器第3章存储系统第4章指令系统第5章中央处理器(CPU)第6章总线系统第7章输入输出(I/O)系统第8章并行计算机系统网络教育学院2020年9月14日星期一3第4章指令系统4.1指令系统概述4.2指令格式4.3指令分类4.4寻址方式4.5指令系统实例网络教育学院2020年9月14日星期一44.1指令系统概述4.1.1指令系统的发展4.1.2指令系统的性能要求网络教育学院2020年9月14日星期一54.1.1指令系统的发展•指令是计算机硬件能够识别并直接执行操作的命令•一台计算机中所有指令的集合构成了该机的指令系统•指令系统是表征计算机性能的重要因素,•其格式与功能不仅直接影响到机器的硬件结构,•也直接影响到系统软件,影响到机器的适用范围•设计一个合理有效、功能齐全、通用性强、丰富的指令系统是至关重要的网络教育学院2020年9月14日星期一6•从计算机组成的层次结构来说,计算机的指令分为微指令、机器指令和宏指令三类•微指令是微程序级的命令,属于硬件•宏指令是由若干条机器指令组成的软件指令,属于软件•机器指令,也就是我们通常所说的指令,介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算操作网络教育学院2020年9月14日星期一7•指令系统的发展经历了从简单到复杂的演变过程•1950至60年代,分立元件(晶体管或电子管)计算机的硬件结构简单,所支持的指令系统只有十几至几十条最基本的指令,而且寻址方式简单•1960年代中期,集成电路计算机的硬件功能不断增强,其指令系统也越来越丰富•1960年代后期,基本指令系统相同、基本体系结构相同的系列计算机开始出现,从而解决了各机种的软件兼容问题•同一系列的各机种具有共同的指令集,而且新推出的机种其指令系统一定包含旧机种的全部指令网络教育学院2020年9月14日星期一8•1970年代,高级语言成为主要程序设计语言,计算机应用日益普及•计算机设计者增设了各种各样复杂的、面向高级语言的指令,使指令系统越来越庞大•称为复杂指令系统计算机(ComplexInstructionSetComputer),简称CISC•不仅使计算机研制开发周期变长,正确性难以保证,调试维护困难,而且大量使用频率很低的复杂指令造成了硬件资源的浪费•人们提出了精简指令系统计算机(ReducedInstructionSetComputer),简称RISC•选取使用频率最高的一些简单指令,指令条数少;•指令长度固定,指令格式种类少,寻址方式种类少;•只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行网络教育学院2020年9月14日星期一94.1.2指令系统的性能要求1.完备性2.有效性3.规整性4.兼容性网络教育学院2020年9月14日星期一10•指令系统的性能决定了计算机的基本功能•一个完善的指令系统应满足四个方面的要求:•完备性、有效性、规整性、兼容性网络教育学院2020年9月14日星期一111.完备性•指令系统的完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现•完备性要求指令系统丰富、功能齐全、使用方便•一台计算机中必不可少的最基本的指令构成了指令系统的完备性•而其他一些指令则可以通过基本指令来实现,或者直接通过硬件来实现•在指令系统中采用硬件指令,可以提高程序执行速度,也便于用户编写程序网络教育学院2020年9月14日星期一122.有效性•有效性是指利用指令系统提供的指令而编写的程序能够高效率地运行•高效率主要表现在程序占据存储空间小,执行速度快•通常,一个功能完善的指令系统必定有很好的有效性网络教育学院2020年9月14日星期一133.规整性•规整性是指指令系统的对称性、匀齐性、指令格式和数据格式的一致性•指令的对称性是指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式•这对提高程序的可读性、简化程序设计带来便利•指令的匀齐性是指一种操作性质的指令可以支持各种数据类型•例如,算术运算指令可支持字节、字和双字整数运算,十进制数运算,单、双精度浮点运算等•因此,程序设计者在选用指令时无须考虑数据类型,可提高编程效率•指令格式和数据格式的一致性是指指令长度和数据长度有一定的关系,以方便处理和存取网络教育学院2020年9月14日星期一144.兼容性•兼容性是指计算机的体系结构设计基本相同,计算机之间具有相同的基本结构、数据表示和共同的基本指令集合•因此指令系统也是兼容的,即同一个软件可以不加修改就在其他系统结构相同的机器上使用•做到所有软件都完全兼容是不可能的•目前,对于同一系列的计算机,新推出机种的指令系统通常包含旧机种的全部指令,实现了“向上兼容”,即低档机上运行的软件不需任何修改便可在高档机上运行网络教育学院2020年9月14日星期一154.2指令格式4.2.1操作码4.2.2地址码4.2.3指令字长度4.2.4指令助记符网络教育学院2020年9月14日星期一16•机器指令是用机器字来表示的•表示一条指令的机器字称为指令字(简称指令)•指令格式是指令字用二进制代码表示的结构形式,一般由两部分组成•操作码(OperationCode)字段•表征指令的操作特性与功能•地址码(AddressCode)字段•通常用来指定参与操作的操作数的地址操作码字段地址码字段网络教育学院2020年9月14日星期一174.2.1操作码•设计计算机时,对指令系统的每一条指令都要规定一个操作码,它是指明指令操作性质的命令码•CPU从主存每次取出一条指令,指令中的操作码告诉CPU应该执行什么性质的操作•例如,可用操作码“000”表示“加法”操作,操作码“010”表示“减法”操作等•不同的操作码代表不同的指令网络教育学院2020年9月14日星期一18•组成操作码字段的位数一般取决于计算机指令系统的规模•所需指令数越多,组成操作码字段的位数也就越多•例如,一个指令系统只有8条指令,则需要3位操作码;如果有32条指令,则需要5位操作码•一般来说,一个包含n位操作码的指令系统最多能够表示2n条指令网络教育学院2020年9月14日星期一194.2.2地址码1.零地址指令2.一地址指令3.二地址指令4.三地址指令5.多地址指令网络教育学院2020年9月14日星期一20•指令系统中的地址码用来描述指令的操作对象•在地址码中可以直接给出操作数本身,也可以给出操作数在存储器或寄存器中的地址、操作数在存储器中的间接地址等•根据指令功能的不同,一条指令中可以有一个、两个或者多个操作数地址,也可以没有操作数地址•一般情况下要求有两个操作数地址,但若要考虑存放操作结果,就需要有三个操作数地址网络教育学院2020年9月14日星期一21•根据地址码的数量,可以将指令的格式分为:零地址指令、一地址指令、二地址指令、三地址指令和多地址指令操作码操作码操作码操作码操作码AA1A2A1A2A3A1…An零地址指令一地址指令二地址指令三地址指令多地址指令网络教育学院2020年9月14日星期一221.零地址指令•指令格式中没有地址码部分,只有操作码•该类指令分两种情况:•一种是无需操作数•如空操作指令、停机指令等•另一种是操作数为默认的(或称隐含的)•如操作数在累加器或者堆栈中,它们的操作数由硬件机构来提供网络教育学院2020年9月14日星期一232.一地址指令•常称为单操作数指令,该指令中只有一个地址码•这种指令可能是单操作数运算•给出的地址既作为操作数的地址,也作为操作结果的存储地址•也可能是二元运算•指令中提供一个操作数,另一个操作数则是隐含的•例如,以运算器中累加寄存器AC中的数据为被操作数,指令字的地址码字段所指向的数为操作数,操作结果又放回累加寄存器AC中网络教育学院2020年9月14日星期一24•其数学含义为(AC)OP(A)→AC式中,•OP表示操作性质,如加、减、乘、除等•(AC)表示累加寄存器AC中的数•(A)表示主存中地址为A的存储单元中的数,或者是运算器中地址为A的通用寄存器中的数•→表示把操作(运算)结果传送到指定的地方•注意:地址码字段A指明的是操作数的地址,而不是操作数本身网络教育学院2020年9月14日星期一253.二地址指令•最常见的指令格式,又称为双操作数指令•通常情况下,指令中包括两个参加运算的操作数的地址码•运算结果保存在其中一个操作数的地址码中,从而使得该地址中原来的数据被覆盖•其数学含义为(A1)OP(A2)→A1式中,•两个地址码字段A1和A2分别指明参与操作的两个数在主存或通用寄存器中的地址•地址A1兼做存放操作结果的地址网络教育学院2020年9月14日星期一264.三地址指令•指令中包括两个操作数地址码和一个结果地址码•可使得在操作结束后,原来的操作数不被改变•其数学含义为(A1)OP(A2)→A3式中,•A1和A2指明两个操作数地址•A3为存放操作结果的地址网络教育学院2020年9月14日星期一275.多地址指令•以四地址指令为例•四地址指令比三地址指令增加了下一条要执行的指令地址•其优点是非常直观,指令所用的所有参数都有各自的存放地址,并且有明确的下一条指令地址,程序的流程很明确•其缺点也是显而易见的,这就是指令所占的长度太长网络教育学院2020年9月14日星期一28•从操作数的物理位置来说,二地址指令格式又可归结为三种类型:1)存储器-存储器(Storage-Storage,SS)型指令•指令在操作时需要多次访问主存•参与读、写操作的数都放在主存里2)寄存器-寄存器(Register-Register,RR)型指令•指令在操作时需要多次访问寄存器•从寄存器中取操作数,把操作结果放到寄存器中•由于不需要访问主存,机器执行寄存器-寄存器型指令的速度很快3)寄存器-存储器(Register-Storage,RS)型指令•指令在操作时既要访问主存单元,又要访问寄存器网络教育学院2020年9月14日星期一29•计算机选择什么样的指令格式,包括多方面的因素•一般情况下,地址码越少,占用的存储器空间就越小,运行速度也越快,具有时间和空间上的优势•而地址码越多,指令内容就越丰富•因此,要通过指令的功能来选择指令的格式•一个指令系统中所采用的指令地址结构并不是惟一的,往往混合采用多种格式,以增强指令的功能网络教育学院2020年9月14日星期一304.2.3指令字长度•一个指令字中包含二进制代码的位数,称为指令字长度•计算机能直接处理的二进制数据的位数称为机器字长•决定了计算机的运算精度•机器字长通常与主存单元的位数一致网络教育学院2020年9月14日星期一31•指令字长度•指令字长度等于机器字长的指令,称为单字长指令•指令字长度等于半个机器字长的指令,称为半字长指令•指令字长度等于两个机器字长的指令,称为双字长指令•例如,•IBM370系列32位机的指令格式有半字长的,单字长的,还有一个半字长的•Pentium系列机的指令字长度也是可变的,有8位、16位、32位、64位不等网络教育学院2020年9月14日星期一32•使用多字长指令•目的在于提供足够的地址位来解决访问主存任何单元的寻址问题•主要缺点是必须两次或多次访问主存以取出一整条指令•降低了CPU的运算速度,同时占用了更多的存储空间网络教育学院2020年9月14日星期一33•在一个指令系统中,如果各种指令字长度是相等的,就称为等长指令字结构•这种指令字结构简单,且指令字长度不变•例如都采用单字长指令或半字长指令•如果各种指令字长度随指令功能而异,就称为变长指令字结构•这种指令字结构灵活,能充分利用指令长度,但指令的控制较为复杂•比如有的指令是单字长指令,有的指令是双字长指令网络教育学院2020年9月14日星期一344.2.4指令助记符•计算机指令的操作码和地址码在计算机中用二进制数据来表示•对于书写和阅读程序非常麻烦•通常用一些比较容易记忆的文字符号来表示
本文标题:计算机组成与系统结构课件
链接地址:https://www.777doc.com/doc-6926892 .html