40计算机组成原理课件 第四章 指令系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机组成原理计算机组成原理PiilfCtOitiPiilfCtOitiPrincipleofComputerOrganizationPrincipleofComputerOrganization第四章第四章指令系统指令系统第章第章指令系统指令系统InstructionSetInstructionSet北京邮电大学志InstructionSetInstructionSet北京邮电大学计算机学院戴志涛12009-4-13计算机学院本章内容¾指令系统的概念及其发展¾对指令系统的性能要求¾指令格式寻址方式¾寻址方式¾指令类型和典型指令介绍¾指令类型和典型指令介绍¾RISC¾RISC22009-4-13计算机学院指令系统的概念¾程序是由一系列有序且有一定意义的指令组成的¾指令(机器指令):命令计算机直接进行某种基本操作的二进制代码串操作的制代码串‰每条指令可以完成一个独立的算术运算或逻辑运算操作,或者数据传送等基本操作或者数据传送等基本操作‰直接由硬件支持、软件可控制的昀小的动作单位¾程序员按照指令格式编写软件而不必考虑机器如何¾程序员按照指令格式编写软件而不必考虑机器如何实现指令的功能¾指令是软件和硬件之间的接口¾指令系统(InstructionSet)一台计算机能直接¾指令系统(InstructionSet):台计算机能直接理解与执行的全部指令的集合32009-4-13计算机学院指令概念的引申¾机器指令(指令):每条指令完成一个独立的算术运算或逻辑运算微指令微程序级的命令软件不可见¾微指令:微程序级的命令,软件不可见¾宏指令由若干条机器指令组成的机器¾宏指令:由若干条机器指令组成的机器指令序列,硬件不可见指令序列,硬件不可见42009-4-13计算机学院计算机指令系统的发展过程¾50年代:本的指令定点加减辑算数据传送‰昀基本的指令:定点加减、逻辑运算、数据传送、转移等‰指令数目十几至几十条¾60年代后期:¾60年代后期:‰增加乘除运算、浮点运算、十进制运算、字符串处理等指令处理等指令‰指令数目多达一二百条‰寻址方式多样化‰出现系列计算机‰出现系列计算机52009-4-13计算机学院计算机指令系统的发展过程¾70年代末期:‰指令系统多达几百条复杂指令系统计算机复杂指令系统计算机(CISC)ComplexInstructionSetComplexInstructionSetComputer‰庞大的指令系统难以保证正确性,不易调试维护造成硬件资源浪费试维护,造成硬件资源浪费精简指令系统计算机(RISC)出现精简指令系统计算机(SC)出现ReducedInstructionSet62009-4-13计算机学院Computer对指令系统的要求¾完备性:指令齐全、编程方便¾高效性:时空效率高¾规整性指令与运算规则统¾规整性:指令与运算规则统一‰对称性:所有的寄存器和存储器单元都可等同‰对称性:所有的寄存器和存储器单元都可等同对待,所有的指令都可使用各种寻址方式‰匀齐性种操作性质的指令可以支持各种数‰匀齐性:一种操作性质的指令可以支持各种数据类型‰指令格式和数据格式的一致性:指令长度和数据长度有一定的关系,以方便处理和存取据长度有定的关系,以方便处理和存取¾兼容性:新旧机器指令向上兼容72009-4-13计算机学院低级语言与硬件结构的关系¾高级语言(算法语言):语法与具体机器的指令系统基本无关器的指令系统基本无关¾低级语言面向机器和具体机器的指¾低级语言:面向机器,和具体机器的指令系统密切相关‰机器语言(二进制语言)‰汇编语言(符号语言)‰汇编语言(符号语言)82009-4-13计算机学院高级语言与低级语言的性能比较比较内容高级语言低级语言比较内容高级语言低级语言对程序员的训练要求对程序员的训练要求(1)通用算法(2)语言规则对硬件的了解有较少相对较少有较多相对较多(3)对硬件的了解相对较少相对较多对机器独立的程度独立不独立对机器独立的程度独立不独立编制程序的难易程度易难软件编程和维护所需时间短较长程序执行时间较长短程序执行时间较长短编译过程中对计算机资源的要求多少92009-4-13计算机学院指令格式¾指令字(指令):表示一条指令的机器字¾指令格式:指令字用二进制代码表示的结构形式形式¾机器执行一条指令所必须的全部信息都必须明显或隐含地在指令中给出明显或隐含地在指令中给出:‰操作类型操作码‰参加运算的若干个源操作数的地址(内存单元或寄存器)地址码存单元或寄存器)‰目的操作数(运算结果)存放的地址(内存单元或寄存器)地址码(内存单元或寄存器)‰下一条指令的存放地址(内存单元)地址码112009-4-13计算机学院操作码地址码操作码¾每一条指令都有一个操作码,表示该指令应什性作进行什么性质的操作¾不同的指令用操作码字段的不同编码表示¾不同的指令用操作码字段的不同编码表示¾操作码字段的位数一般取决于计算机指令系操作码字段的位数般取决于计算机指令系统的规模个特定的机器的指令系统不同指令字中¾一个特定的机器的指令系统,不同指令字中操作码字段和地址码字段的长度可以相同,操作码字段和地址码字段的长度可以相同,也可以不同122009-4-13计算机学院操作码¾等长操作码(固定长度操作码):‰操作码所占的二进制位数固定不变如果系统中所有指令的操作码都用位‰如果系统中所有指令的操作码都用n位二进制数表示,则系统中的指令条数不会超进制数表示,则系统中的指令条数不会超过2n条‰有利于简化硬件设计,减少指令译码时间‰广泛用于字长较长的计算机的指令系统中‰广泛用于字长较长的计算机的指令系统中132009-4-13计算机学院操作码¾可变长度操作码:‰不同的指令的操作码长度不同操作码扩展技术‰操作码扩展技术对地址少的指令使用较长的操作码对地址少的指令使用较长的操作码,对地址数多的指令使用较短的操作码使用频度高的指令分配短的操作码,频度低的指令分配较长的操作码频度低的指令分配较长的操作码142009-4-13计算机学院操作码¾可变长度操作码:‰优点:有效缩短操作码的平均长度节省存储空间有效缩短操作码的平均长度,节省存储空间缩短常用指令的译码时间,提高程序的运行速度‰缺点:‰缺点:指令译码系统比等长操作码复杂‰在字长较短的微型机中应用广泛¾操作码的长度应与地址码的长度以及整个指¾操作码的长度应与地址码的长度以及整个指令长度综合考虑152009-4-13计算机学院地址码¾指令中的地址码用来指出该指令的源操作数地址(0至2个)目标操作数(结作数地址(0至2个)、目标操作数(结果)地址,以及下一条指令的地址果)地址,以及下条指令的地址¾操作数的存放位置:‰主存单元‰CPU内部数据寄存器‰CPU内部数据寄存器‰I/O设备接口内的寄存器‰I/O设备接口内的寄存器¾如果一条指令中有n个操作数地址,则将该指令称为操作数指令或地址指令将该指令称为n操作数指令或n地址指令212009-4-13计算机学院四地址指令指令格式指令格式:OPA1A2A3A4OP:操作码;A1:第一地址码,存放被操作数(第一源操作数)A1:第地址码,存放被操作数(第源操作数)A2:第二地址码,存放操作数(第二源操作数)A3:第三地址码,存放操作结果A:第四地址码,存放下条要执行指令的地址A4:第四地址码,存放下条要执行指令的地址操作:(A)OP(A)→A操作:(A1)OP(A2)→A3232009-4-13计算机学院四地址指令¾指令可直接寻址的地址范围与地址字段的位数有数有关‰例:指令字长32位操作码占8位4个地址段OPA1A2A3A4‰例:指令字长32位,操作码占8位,4个地址段各占6位,则指令的直接寻址范围为:26=64¾如果地址字段均指示主存的地址,则完成一条四地址指令,共需访存四次条四地址指令,共需访存四次¾优点:指令直观易懂,后续指令的地址可任意安排¾缺点指令长度长仅用于字长较长的机器¾缺点:指令长度长,仅用于字长较长的机器242009-4-13计算机学院地址的个数¾非转移类指令的下一条指令地址:本条指令在内存中的存放首地址加上本条指令的长度‰本条指令在内存中的存放首地址加上本条指令的长度¾转移类指令:转移类指令‰通常不需要源操作数地址和结果地址¾有些情况下约定某些指令的结果存放在某个源¾有些情况下,约定某些指令的结果存放在某一个源操作数地址中¾操作数中的一个或全部源地址可隐含给出:‰约定某条指令的操作数(或其中之一)固定来自CPU内‰约定某条指令的操作数(或其中之)固定来自CPU内的某个特定寄存器或特定的内存单元¾有些指令无需操作数¾有些指令无需操作数252009-4-13计算机学院三地址指令指令格式:OPAAA3指令格式:OPA1A2A3¾操作(A)OP(A)A¾操作:(A1)OP(A2)-A3‰A被操作数(第一源操作数)地址‰A1:被操作数(第源操作数)地址‰A2:操作数(第二源操作数)地址2操作数第源操作数‰A3:存放结果的地址262009-4-13计算机学院二地址指令OPA1A2指令格式:12¾双操作数操作:(A1)OP(A2)-A1‰A1:既作被操作数(第一源操作数)地址,又作目的操作数地址作目的操作数地址‰A2:操作数(第二源操作数)地址¾单操作数操作:OP(A1)-A2‰A1:被操作数(源操作数)地址‰A2:操作数(目的操作数)地址‰A2:操作数(目的操作数)地址272009-4-13计算机学院一地址指令(单操作数指令)OPA1指令格式:1¾双操作数操作:(A1)OP(X)-X‰A1:第一源操作数地址‰X第二源操作数地址和目的操作数地址隐‰X:第二源操作数地址和目的操作数地址,隐含使用寄存器或堆栈寻址¾单操作数操作:OP(A1)-A1‰A1:既作被操作数地址,又作目的操作数地址282009-4-13计算机学院零地址指令OP指令格式:¾指令字中只有操作码,没有地址码令‰无需操作数的指令,如空操作、停机等‰运算的操作数地址全部隐含‰源操作数和结果隐含使用寄存器堆‰源操作数和结果隐含使用寄存器、堆栈或特定操作数292009-4-13计算机学院地址码个数对指令系统性能的影响¾早期:多采用二地址指令和一地址指令¾随着处理机字长和指令字长的增加,三地址指令已很普遍很普¾地址多的指令:‰功能强使用灵活‰功能强,使用灵活‰占用的存放单元多,执行时间长¾隐含地址的指令:‰节省了指令地址字段,但牺牲灵活性‰节省了指令地址字段,但牺牲灵活性¾一个实际的指令系统往往混合使用多种指令格式302009-4-13计算机学院双操作数运算指令的三种类型¾存储器-存储器(SS)型指令:‰参与操作的数都放在内存中‰机器执行SS型指令需多次访问内存‰机器执行SS型指令需多次访问内存¾寄存器-寄存器(RR)型指令:‰从寄存器中取操作数,把操作结果放到另一寄存器中器中‰机器执行RR型指令速度快,但需要多个寄存器¾寄存器-存储器(RS)型指令:‰执行RS型指令时既要访存又要访问寄存器‰执行RS型指令时,既要访存,又要访问寄存器312009-4-13计算机学院指令字长与机器字长¾机器字长(简称字长):指计算机能直接处理的二进制数据的位数通常是CPU运算器的字长进制数据的位数,通常是CPU运算器的字长‰字长越长,计算机的运算精度越高‰为便于处理字符数据及尽可能地利用存储空间,一般把机器字长定为字节长度的整数倍¾指令字长:一个指令字中包含二进制代码的位数‰取决于操作码的长度操作数地址的长度和操作数地址‰取决于操作码的长度、操作数地址的长度和操作数地址的个数‰通常指令字长等于机器字长的整数倍‰通常指令字长等于机器字长的整数倍‰如果机器字较长,指令字长也可是机器字长的一半的整数倍数倍322009-4-13计算机学院指令字长与机器字长的关系¾根据指令字长等于多少机器字长,可以将机令器指令分为:‰单字长指令:指令字长等于机器字长‰单字长指令:指令字长等于机器字长‰半字长指令:指令字长等于半个机器字长‰双字长指令:指令字长等于两个机器字长¾多字长指令¾多字长指令‰优点:可以给操作码和地址码提供较大的空间‰缺点:占用了较多的内存空

1 / 84
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功