2014计算思维课件补充材料3指令系统_第1页
2014计算思维课件补充材料3指令系统_第2页
2014计算思维课件补充材料3指令系统_第3页
2014计算思维课件补充材料3指令系统_第4页
2014计算思维课件补充材料3指令系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

5章指令系统概程序是计算机最基本的结构特征之一程序员用各种高级语言写的程序最后要翻译RISC技术进行简要的介绍。机器指,令机器做某种操作参与操作的数或其他信息在什么地方等。计算机就是连续执行每一,、计算机设计者主要研究如何确定机器的指令系统,如何用硬件电路、设备来实现寄存器-器的结构,以及计算机能直接支持的各种数据类型。、指令格指令的格下地址码地址码三地址指3执行D1D20P操作,所的单元三地址指令中的地址太多,使指令字长长,占器空间多,运行效率低,现在不常二地址指单地址指

如果用CPU中一个寄存器A(称累加器)作为目标操作数,又可以省去一个地址,D执行DCPU零地址指例5.1 假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二616-6-6=4424=16PQ16-P-Q种。4位、101626种一地址指26Y种,即

指令长指令长度应为器基本字长的整数如果指令长度任意,就会产生指令跨字边界存放的情况,即有时一条指令存放在几个字中,而有的一个字中又存放若干指令。这将给取指令带来很大不便,影响指令的执行速度。因此,指令长度应为器基本字长的整数倍。另外,指令长度有固定DJS-130小型机,指令固定长为16位;又如PDP-1小型16位的。IBM360/37016位、3248Pentium机指令长度也可变。由于可变长指令比较灵活,所以采用较多指令字长应指令短,有利于提高程序的效率,即减少所需量和加快运行速度。指令短有利于减少所需量是显而易见的,指令短为什么能加快指令执行速度呢?因为指令短,从存指令长度缩短,采取了一系列措施。例如,用指令指针PC(IP)下一条指令的地址,APISC技术等等。寻址方希望能尽可能大的空间在不改变指令的情况下,仅改变地址的实际值,从而能方便的数组、串、表立即寻在按字节编址的机器中,8165.1nn888(a)8位立即 (b)16位立即5.1按字节编址机器中的立即寻址指直接寻165.2n885.2按字节编址机器中的直接寻址指间接寻指令给出存放操作数地址的单元地其中@5.3所示。计算机中还可以有多重间址。指令在器中的存放形式与直接寻址类似。5.3单级间接寻寄存器(直接)或①CPU寄存器数量远与内存单元,所以寄存器号比内存地址短,因而寄存器寻址方CPU寄存器间接操作数地址在指令指定的某个寄存器中。如:8086MOVAX,[BX]将以寄存器BX内容为地址,读出该内存单元内容送入AX寄存器。寄存器间接寻址指令也短,因为于要内存,寄存器间接寻址指令执行的时间比寄存器寻址指令执行的时间长。寄存器变址CPU如:8086MOVAL,[SIH]SI为变址器,1000为形式地址(或称位移量)。变址寄存器的内容可以自动“+1”“-1”5.4SI自动“+1”,可以选取数组中所有元素。另外,某些计算机中datadata…datadata5.4变址寻址选择数组数相对寻PC的内容,加上由指令给出的形式地址而形成操作数地PC作为变址寄存器的特殊变址寻址情况。基址寻基址寻址是把由指令中给出的地址(或称位移量)CPU中的某个基址寄存器相加而得到实际的操作数地址。上了相对于基址的位移量。基址寻址为逻辑空间到物理空间的地址变换提供了支持,隐含寻址方令,其操作数在堆栈中,指令中无需具体地址。堆栈和堆栈寻堆栈是一种特定的数据结构,其特点是后进先出(LIFO)或先进后出(FILO。堆)SP(StackPoint栈顶地址,也可用CPU中一个或两个寄存器作为SP。操作数只能从栈顶指针指示的单元存或取。可见堆栈寻址可视为一种隐含寻址,其操作数的地址总被隐含在SPSP可视为寄存器,它存放着操作数的)用移位寄存器实现堆5.5所示。栈 栈abaa图5.5栈顶固定方式堆栈及其存内存中开辟内存个开辟堆栈区,这种堆栈,器单元固定,而栈顶位置动态变化。在CPU中专SP,指示找顶位置,存取只能在栈顶进行。1)自底向上生成堆栈。这种堆栈建栈时堆栈指针SP指向栈面一个单元(栈底是堆栈中地址最大的单元,每次入栈时,SP1SP所指向的单元。SPSP1,即:出栈操作(POP)步骤:i)(SP)内容读出;ii)SP+1→SP。5.6所示。注意存取数据操作和堆栈指针改变操作的次序。2)SP指向栈底上面一个单元(栈底是堆栈中地址最小的单元),每次入栈时,SP1SP所指向的单SPSP1,即:入栈操作(PUSH)步骤:i)SP+1→SP;ii)存入数据→(SP)。出栈操作(POP)步骤:i)(SP)内容读出;ii)SP-1→SP。

aa(a)

(b)ababa11

aa(c)b

(d)b5.6自底向上生成堆SP始终指示着栈顶地址,因此不论是执行进栈(PUSH),还是出栈(POP),SP的内容都需发生变化。若栈底地址大于栈顶地址,则每次进栈(SP)△→SP;每次出栈(SP)+△→SP。△取值与主存编址方式有关。若按字编址,则△1;若按字节编址,则需根据字长是几个字节构成才能确定△,例如字长为16位,△=232位,△=4从以上介绍可以看出,往往一台计算机指令系统的寻址方式多种多样,这给程序员编程带来方便,但是也给计算机控制器的实现带来了一定的复杂。在具体实现吋,寻址方式一般不受操作码的限制。而有的机器或同一机器的其他指令将寻址方式隐含在操作码中,Pentium机的指令系统中传送指令(MO的寻址方式比较多,有立即寻址、直接寻址、寄存器间接寻址等;而有的指令如输入、输出指今所能用的寻址方式只有直接端口寻址和寄存器间接寻址两种,寻址方式隐含在操作码中。在使用这类机器时,址方式,还应了解各指令具体有哪些寻址方式。操作类型(OP字段功能机的指令系统,这会给软件资源重复利用带来方便。例如,Pentium机的指令系统,与以80x86指令系统具有很好的兼容件;字节、字、双按功能可将指令分为以(ADD(SUB(CMP(MUL(AND(OR(NOT(NEG(XOR(INC①算术移位器的算术左移操作还将原操作数的最移入C标志位(进位标志。移位前 C标 操作

移位前 操作

C 移位后 C标 操作

移位后 操作 C标1 010(a)算术左 (b)算术右图 算术移算术右移:操作数的各位依次向右移一位,最(符号位)不变。原操作数的最低C5.7(b)所示。②逻辑移位逻辑右移:操作数的各位依次向右移一位,最补零。原操作数的最低位移入C标5.8所示。×移位前 操作×

C

移位后 操作 C标0(a)小循环左 (b)小循环右0图5.8逻辑右 图5.9小环③环移小环移。小循环左移,操作如5.9(a)所示。最移入C标志,同时移入最低位。小循环右移,操作如5.9(b)所示。最低位移入C标志,同时移入最。大环移。大循环左移,操作如5.10(a)所示,最移入C标志,而C标志移入5.10(b)C标志,而C标志移入最高

操作 C 交图5.10大环 图5.11半字交寄存器)、存数(STA)(CPU寄存器→内存)、交换(XCHG)(源操作数和目标顺序控制指令用来控制程序执行的顺序。有条件转移、无条件转移(JMP)、跳(SKIP)、转子(CALL)、返主(RET)等指令PC中区,转移地址可用直接寻址方式给出(又称C=1C=0转或C=1Z(零标志位〕=1PC再增加一个定值,这个定值—般是指令字所占用的字个数。应该注意的是取指令时PC已增量过了,因此跳步指令实际上就是转子指令和转移指令的根本区别在于执行转子指令时必须记住下条指令的地址(称为断点或返回地址)。这类指令用于子程序的调用,当子程序执行完毕时,仍返回到主程序的断点继续执行。而转移指令则不保存断点。返主指令(又称返回指令)的操作是在子程序执行完毕时,将事先保存的主程序的断点由转子指令保存)C子指令的下条指令继续执行。CPUCPU控制指令有停机、开中断、关中断以及改变执行、进入特殊处理程序等指CPU与外部设备交换数据或传送控制命令及状态信息。大多按操作个数双操作数指令:如ADD、SUB、AND等无操作数指令:如空操作(NOP)、停机、开中断、关中断按操作数寻R-RCPUR-SCPUS-SRISC即精简指令系统计算(ReducedInstructionSetComputer),与其对应的是CISC,即复杂指令系统计算机(ComplexInstructionSetComputer)。DECVAX-11/78016种寻址方式,9种数据格式,303条指令。又如,3268020微型计算机指令种数比6800多两倍,寻址方式多11种,达18种之多,指令长度从一个字(16位〉发展到16个字,这类机器被叫做复杂指令系统计算机,简称CISC。、很长耗费会更大,如In8038632位机器耗资达1.5亿,开发时间长达三年多。结果正确性还很难保证,也很。最值得一提的例子是1975年IBM公司投资10、研制的高速机器FS机,最终以“复杂结构不易构成高速计算机”的结论研制失败。20规律,80%20%的指令,而且这些指令都是属20%的使用概率,而且当执行频度高的简单指令时,因复杂指令的存在,致使执行速度也无法提高5-1HP公司对IBM370高级语言中指令使用频度的分析结果。Marathe1978PDP-11机在五种不同应用领域中的指令混合测试,也得出了类似的结论。5-1IBM370机指令的使用频度数据存存整数浮点十进制另一方面,在2070年代末80年代初,计算机的器件已进入VLSI时代,复杂的中,控制器约占60%的面积,而且使设计、验证都增加了。80—20的80%的指令功能呢?这便出RISC技术。1975年IBM从公司JohnCocke提出了精简指令系统的设想,1982年加VISIC(超人规模集成电路)的有效空间。RISC由序吋所需付出的时间。他们研制的RISCⅠ(后来又出现RISCⅡ),采用VLSICPU上440003μm,32128个寄存器(VAX-11/780快了1倍。与此同时斯坦福大学RISC研究课题是MIP(MicroProcessorWithoutInterlocking究与伯大学对VLSI有效空间利用的思想结合在一起,最终的研究成果后来转化为的RISC,称为SPARC(ScalableProcessorARChitecture)。到目前为止,体系结构的可以说已经历了三代:第一代以32位数据通路为代表,CacheCISCRICSMIPSIBM801条指令,每个时钟周期发出一条指令(8.3)。例如,MIPS公司的RISC6423RISC处理器的整体性性能更好。例如,MIPS公司R400050MHz75MHz100MHz和150MHz,集成度萵达110万个晶体管,字长64位,并有16KB的片内Cache。它有R4000PC、R4000SR4000MC三种版本,对应不间的时钟频率,分别提供给台式系统、高性本章习关于二地址指令以下论述正确的是在零地址指令格式中,下面论述正确的是指令系统中采用不同的寻址方式的主要目的是指令操作所需的数据不会来自控制指令执行时无需再内存寻找操作数的寻址方式是变址寻址中,操作数的有效地址等于下列说法中不正确的是堆栈是后进先出的随机堆栈指针SP的内容表示当前堆栈内所的数据的个一条指令长4个字节,在器中字节地址为150的地方,这条指令之后的值为A. B. C. D.一条机器指令中包含的信息有在指令的格式设计中,采用扩展操作码的目的是变址寻址方式中,操作数的有效地址等于基址寄存器内容加上形式地址(位移量程序控制类指令的功能是CPUCPUI/O算术右移指令执行的操作是011111位操作类指令的功能是CPU内部通用寄存器或主存某一单元任一位进行状态检测(0CPU内部通用寄存器或主存某一单元任一位进行状态强置(0CPU2036m条双操作数指令,n条无操作数指令。在此3类指令最大容许具有的指令条数格式多少?3232位的指令系统,

温馨提示

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

评论

0/150

提交评论