您好,欢迎访问三七文档
计算机组成原理PrinciplesofComputerOrganization广义双语教学课程青岛理工大学校级精品课程第7章指令系统(2)InstructionSetsAcomplexinstructionsetcomputer(CISC)isacomputerinstructionsetarchitecture(ISA)inwhicheachinstructioncanexecuteseverallow-leveloperations,suchasaloadfrommemory,anarithmeticoperation,andamemorystore,allinasingleinstruction.3字编址字节编址位编址§7.2操作数类型和操作类型§7.2.2数据在存储器中的存放方式字地址为低字节地址字地址为高字节地址37621540字地址04低字节04512673字地址04低字节4地址(十进制)04812162024283236双字双字(地址32)双字双字(地址24)半字(地址20)半字(地址22)半字(地址16)半字(地址18)字节(地址8)字节(地址9)字节(地址10)字节(地址11)字(地址4)字(地址0)字节(地址14)字节(地址15)字节(地址13)字节(地址12)边界对准地址(十进制)048字节(地址7)字节(地址6)字(地址2)半字(地址10)半字(地址8)半字(地址0)字(地址4)边界未对准存储器中的数据存放(存储字长为32位)5§7.2.3操作类型指令的操作类型按功能可分成算术逻辑运算、数据传送、程序控制、输入输出等类型。1.算术逻辑运算操作Arithmetic&Logical一些低档的微型机只有定点加减运算指令、求补指令、比较指令、加1减1指令等算术运算指令。较高档的机器还有十进制运算指令、定点乘除指令、浮点运算指令等。一些大型机、巨型机还设有向量运算指令,可以直接对整个向量Vector或矩阵Array进行求和、求积等运算。逻辑运算类指令包括逻辑与、或、非、异或和测试等。有些机器还有位操作BitManipulation、位测试等指令。算术逻辑运算指令都影响状态标志位Flag(程序状态字PSW)62.移位操作Shift移位有算术移位、逻辑移位和循环移位三种。可以实现对操作数左移或右移一位或多位。循环移位Rotate有带进位位的大循环和不带进位位的小循环两种,常用于实现循环式控制、压缩BCD码高低字位互换及多倍字长的移位等。6336CyCyCyCy交换后73.数据传送DataTransfer在程序中使用最多的是数据传送指令。这类指令的功能是实现寄存器与寄存器,寄存器与存储单元以及存储单元与存储单元之间的数据传送,包括对数据的读(取数)和写(存数)。数据传送时,数据从源地址Source传送到目的地址Destination,源地址中的数据保持不变。有些机器设置有数据块传送指令,可一次把多达64K的数据从一个存储区传送到另一个存储区。堆栈的压入Push和弹出Pop指令也属于数据传送指令。数据交换指令则完成源操作数与目的操作数的互换。84.转移(程序控制ProgramControl)这类操作主要用于控制程序的流向,包括停机、无条件转移Jump、条件转移、子程序调用与返回、中断和陷井指令等。条件转移ConditionalBranch是根据对某些条件测试的结果(通常是前面执行的算术逻辑运算指令对状态标志位的影响)决定是否发生转移,若条件满足则转移,否则顺序执行下一条指令。转移还有绝对转移和相对转移的区别。绝对转移是转移到一个给定的目标地址(在整个存储器范围内)。相对转移是相对当前地址(程序计数器PC内容)向前或向后转移一个位移量的范围(小范围)。9子程序调用SubroutineCall与返回SubroutineReturn指令也有条件调用/条件返回和无条件调用/无条件返回的区别。中断指令设置中断类型,开放或禁止中断Interrupt等。陷井Trap是一种异常中断,其目的不是为了请求CPU正常处理中断,而是为了把发生的各种事件通知CPU,并根据故障情况转入相应的故障处理程序。陷井指令一般不提供给用户使用。以上四类操作是各种计算机都有的最基本的指令操作。105.输入输出Input/Output输入输出指令用来实现主机与外设间的各类信息交换,如数据的输入和输出、向外设发出的控制命令、检测外设的工作状态等。由于I/O端口的数目远少于存储单元数,故此类指令的地址码较短。有些计算机采用内存和外设(接口)统一编址的方法,把外设看作内存单元,所有能对内存单元进行操作的指令均可对外设端口进行操作(包括算术逻辑运算)。这样的计算机就没有输入输出指令。6.字符串处理字符串处理指令实现对字符串String的非数值处理,包括:字符串的传送、字符串比较、字符串查询、字符串转换等。117.特权指令特权指令是用于系统资源分配和管理的指令。例如,检测用户的访问权限,修改段表、页表,改变系统的工作模式,任务的创建和切换等。8.多处理机指令MultiprocessorInstruction多处理机指令是专门为支持多处理机系统而设置的指令。9.多媒体指令MultimediaInstruction多媒体指令是专门为处理多媒体数据而设置的指令。例如,Pentium处理器的MMX指令。特权指令只能用于操作系统和其他系统软件。12指令系统的兼容性Compatibility从20世纪60年代的IBM360大型机开始,出现了系列机。在一个系列内有不同档次的机型。系列机中的高中低档机都具有相同的系统结构,相同的指令系统。从此出现了“兼容”Compatible。13§7.5RISC技术Intheearlydaysofthecomputerindustry,programmingwasdoneinassemblylanguageormachinecode,whichencouragedpowerfulandeasytouseinstructions.CPUdesignersthereforetriedtomakeinstructionsthatwoulddoasmuchworkaspossible.Withtheadventofhigherlevellanguages,computerarchitectsalsostartedtocreatededicatedinstructionstodirectlyimplementcertaincentralmechanismsofsuchlanguages.Anothergeneralgoalwastoprovideeverypossibleaddressingmodeforeveryinstruction,knownasorthogonality,toeasecompilerimplementation.14§7.5.1RISC的产生和发展指令系统是随着计算机体系结构的完善和性能的提高而发展起来的。早期的计算机结构简单,指令条数少,指令系统功能弱,计算机的性能较差。随着VLSI技术的迅速发展,硬件成本不断下降,软件成本不断上升,促使人们在指令系统中增加更多的指令和更复杂的指令,以适应不同应用领域的需要。系列机问世之后,为了能做到程序兼容,新设机型或高档机除了要继承老机器的指令系统中的全部指令外,还要增加若干新的指令,导致同一系列计算机的指令系统越来越复杂,机器结构也越来越复杂。大多数计算机的指令系统多到几百条指令。这就体现了计算机性能越高,其指令系统应越复杂的传统设计思想。这类计算机称为“复杂指令系统计算机”,简称CISC(ComplexInstructionSetComputer)。例如,DEC公司的VAX/780机有303条指令,18种寻址方式。15对CISC指令系统的合理性的研究表明,CISC存在以下缺点:①CISC指令系统中各种指令使用频率相差悬殊。对CISC指令系统的运行所作的统计分析结果表明,仅占指令总数20%的一些较为简单的指令,在程序中使用的频率却占80%。其余80%的指令只是在20%的运行时间内才有用。②CISC指令系统的复杂性带来了计算机体系结构的复杂性。这不但增加了计算机的研制周期和成本(例如32位的微处理器80386的开发费时三年多,耗资一亿五千万美元),还增加了设计失误的可能性。③CISC的许多复杂指令有很复杂的微码操作,因而速度很慢。④CISC指令系统的复杂性给VLSI设计增加很大负担。161975年IBM公司的JohnCocke提出了精简指令系统的想法,后来出现了各种各样的“精简指令系统计算机”,简称RISC(ReducedInstructionSetComputer)。RISC技术的实质是要求指令系统简化,尽量使用寄存器—寄存器操作指令,指令操作在一个周期内完成,指令格式力求一致,以利于提高编译的效率。RISC处理器通常只有几十条指令,大多数指令的功能都是简单的。17§7.5.2RISC的主要特征精简指令系统计算机不仅是要简化指令系统,而且要通过简化指令系统使计算机的硬件结构变得简单合理,以提高运算速度。最有效的办法是减少指令的执行周期数。若设高级语言程序经编译后在机器上运行的机器指令数为I,P=I×C×T每条机器指令执行时所需要的平均机器周期数为C,每个机器周期的执行时间为T,则计算机执行程序所需的时间P可用下式计算:ICTRISC1.2~1.41.3~1.71CISC14~6118RISC的主要特点P=I×C×TICTRISC1.2~1.41.3~1.71CISC14~61RISC指令比较简单,CISC机中比较复杂的指令可用RISC中一段子程序来代替,因此,RISC的机器指令数I比CISC的多20%~40%。表中I、T为比值,C为实际周期数RISC的大多数指令只用一个机器周期实现,平均机器周期数C的值比CISC的小得多。RISC结构简单,完成一个操作所经过的数据通路较短,因此,每个机器周期的执行时间T值大为减少。总之,RISC的程序执行时间要比CISC的短。19RISC的设计原则(1)选取使用频率最高的少数指令,并补充一些最有用的指令。(2)每条指令应在一个机器周期内完成。(3)所有指令长度都相同。(4)只有取数和存数指令才访问存储器,其余指令的操作都在寄存器之间进行。(5)以简单有效的方式支持高级语言。20RISC的技术特点(1)在逻辑实现上采用以硬件为主,固件为辅的技术(2)流水线组织(3)延迟转移技术(4)重叠寄存器窗口技术RISC既继承了CISC的成功技术,又克服了CISC的缺点,就使得机器速度更快,程序运行时间缩短。二十世纪八十年代RISC处理器首先转向硬布线技术。九十年代,高性能的CISC处理器也开始部分采用硬布线技术。例如,PentiumII处理器将简单指令的解释用硬布线技术实现(即所谓RISC内核),缩短了这些简单指令的执行时间。复杂指令(需4条以上微指令)的解释仍然用微程序控制技术。21零地址、一地址和两地址指令具有指令短,执行速度快,硬件实现简单等特点,常见于结构较简单,字长较短的小型、微型机的指令中。而三地址和多地址指令具有功能强,便于编程等特点,多见于字长较长的大型机、巨型机。指令格式与机器的字长、存储器的容量及指令的功能有关。从便于程序设计、增加基本操作的并行性、提高指令的功能的角度来看,指令中所包含的信息越多越好,但这将造成指令过长;从节省存储空间、减少访问存储器次数、提高指令执行速度的角度看,指令中所包含的信息以少为宜,但这又会减弱指令的功能。§7.4指令格式举例§7.4.1设计指令格式应考虑的因素22指令字长1~6字节§7.4.2指令格式举例4.Intel8086一地址NOP1字节CALL段内调用3字节零地址5字节段间调用寄存器–寄存器寄存器–立即数寄存器–存储器ADDAX,BX2字节ADDAX,[3048H]4字节
本文标题:第16讲指令系统2
链接地址:https://www.777doc.com/doc-3748946 .html