计算机组成与结构PPT课件(全)第5章指令系统.ppt
《计算机组成与结构PPT课件(全)第5章指令系统.ppt》由会员分享,可在线阅读,更多相关《计算机组成与结构PPT课件(全)第5章指令系统.ppt(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章第五章 指令系统指令系统5.1 指令系统的发展指令系统的发展5.2 指令格式指令格式5.3 数据表示数据表示5.4 寻址方式寻址方式5.5 指令类型指令类型5.6 指令系统的兼容性指令系统的兼容性5.7 RISC和和CISC5.8 机器语言、汇编语言、高级语言机器语言、汇编语言、高级语言重重 点点5.1 指令系统的发展指令系统的发展硬件硬件CPU存储器存储器I/O设备设备软件软件系统软件系统软件 应用软件应用软件计计算算机机系系统统 指指令令系系统统是是计计算算机机中中一一个个最最基基本本的的概概念。念。指令指令:计算机运行的最小的功能单位。:计算机运行的最小的功能单位。指指令令系系统统
2、即即是是一一台台计计算算机机中中所所有有的的指指令令的的集集合合。它它是是设设计计硬硬件件的的一一个个基基本本依依据据,对对软软件件设设计计者者来来说说,也也是是编编程程的的基基础础。因因此指令系统是软件和硬件的交互界面。此指令系统是软件和硬件的交互界面。计计算算机机的的性性能能与与它它所所设设置置的的指指令令系系统统关关系系很很大大,指指令令系系统统的的设设置置又又与与机机器器的的硬硬件件结构密切相关。结构密切相关。指令的发展分指令的发展分三个阶段三个阶段:50年年代代和和60年年代代早早期期,指指令令系系统统一一般般只只有有定定点点加加减减、逻逻辑辑运运算算、数数据据传传送送和和转转移移等
3、等最最基基本本的的指指令令,寻寻址址方方式式也比较简单。也比较简单。60年年代代中中后后期期,指指令令系系统统有有了了乘除运算、浮点数运算等。乘除运算、浮点数运算等。70年代末,出现年代末,出现RISC精简指令系统。精简指令系统。大量测试表明,最常使用的是一些比较简单大量测试表明,最常使用的是一些比较简单的指令,这类指令仅占指令总数的的指令,这类指令仅占指令总数的2020,但在各,但在各种程序中出现的频度却占种程序中出现的频度却占8080,其余大多数指令,其余大多数指令是功能复杂的指令,这类指令占指令总数的是功能复杂的指令,这类指令占指令总数的8080,但其使用频度很低,仅占但其使用频度很低,
4、仅占2020。因此,人们把这。因此,人们把这种情况称为种情况称为“2020-80-80律律”。从从“2020-80-80律律”出发,人们开始了对指令系统合理性的研究,出发,人们开始了对指令系统合理性的研究,提出了精简指令系统的想法,出现了精简指令系提出了精简指令系统的想法,出现了精简指令系统计算机,简称统计算机,简称RISC。5.2 指令格式指令格式 指指令令格格式式的的重重要要性性:计计算算机机的的指指令令格格式式与与机机器器的的字字长长、存存储储器器的的容容量量及及指指令令的的功功能能都有很大的关系。都有很大的关系。5.2.1 指令格式指令格式 5.2.2 指令操作码的扩展技术指令操作码的
5、扩展技术 5.2.3 指令长度与字长的关系指令长度与字长的关系掌掌 握握了了解解 5.2.1 指令格式指令格式 计计算算机机是是通通过过指指令令来来处处理理各各种种数数据据,为为指指出出数数据据的的来来源源、操操作作结结果果的的去去向向及及执执行行何何操操作作,一条指令一条指令必须包含必须包含以下信息:以下信息:(1)操作码。操作码。(2)操作数的地址。操作数的地址。(3)操作结果的存储地址。操作结果的存储地址。(4)下一条指令的地址。下一条指令的地址。下下 一一 条条 指指 令令 的的 地地 址址 由由 程程 序序 计计 数数 器器(PC)指指出出,仅仅当当改改变变程程序序的的运运行行顺顺序
6、序时时,下下条条指令的地址才由指令给出。指令的地址才由指令给出。根根据据地地址址码码部部分分给给出出的的地地址址个个数数,指指令令格格式式可分为如下可分为如下五种五种。1、零地址指令零地址指令 操作码格式:操作码格式:操作码操作码 例:停机指令例:停机指令 HLT 指令格式:指令格式:A 操作数的存储器地址或寄存器名操作数的存储器地址或寄存器名 指令只给出一个地址,该地址既是操作数指令只给出一个地址,该地址既是操作数 的地址,又是操作结果的存储地址的地址,又是操作结果的存储地址。操作码操作码A2、一地址指令一地址指令例例:INC A (A)+1 A DEC A (A)-1 A3、二地址指令、二
7、地址指令 指令格式:指令格式:A1:第第一一个个源源操操作作数数的的存存储储器器地地址址或或寄寄存存器地址。器地址。A2:第第二二个个源源操操作作数数和和存存放放操操作作结结果果的的存存储器地址或寄存器地址。储器地址或寄存器地址。操作码操作码A1A2 例例:ADD A,B (A)+(B)B 4、三地址指令、三地址指令 指令格式:指令格式:A1:第第一一个个源源操操作作数数的的存存储储器器地地址址或或寄寄存存器器地址地址 A2:第第二二个个源源操操作作数数的的存存储储器器地地址址或或寄寄存存器器地址地址 A3:操作结果的存储器地址或寄存器地址操作结果的存储器地址或寄存器地址操作码操作码A1A2A
8、3例:例:ADD rs1 rs2 rd 5、多地址指令、多地址指令 此类指令此类指令功能强大功能强大,用于处理成,用于处理成批的数据,例如字符串处理指令、批的数据,例如字符串处理指令、向量指令等等,为了描述这些数据,向量指令等等,为了描述这些数据,指令中需用多个地址来指出数据存指令中需用多个地址来指出数据存放的首地址、长度、下标等。放的首地址、长度、下标等。指令格式小结指令格式小结 1、五五种种指指令令的的优优缺缺点点比比较较:零零地地址址、一一地地址址和和二二地地址址指指令令具具有有指指令令短短,执执行行速速度度快快,硬硬件件实实现现简简单单等等优优点点;二二地地址址、三三地地址址和和多多地
9、地址址指指令令具具有有功功能能强强,便便于于编编程程等优点,但硬件实现比较复杂。等优点,但硬件实现比较复杂。2、如如何何识识别别指指令令和和数数据据:指指令令和和数数据据都都是是以以二二进进制制形形式式存存储储,指指令令的的地地址址由由程程序序计计数数器器规规定定,而而数数据据的的地地址址是是由由指指令令规规定的。定的。5.2.2 指令操作码的扩展技术指令操作码的扩展技术 指令操作码的长度决定了指令系统中指令操作码的长度决定了指令系统中完成不同操作的完成不同操作的指令条数指令条数。若指令的操作。若指令的操作码长度为码长度为K位,则至多能表示位,则至多能表示2k 条指令。条指令。16条思考题思考
10、题:某种格式的指令的操作码有某种格式的指令的操作码有4位,位,请问能表示的指令有几条?请问能表示的指令有几条?指令操作码通常有指令操作码通常有两种编码两种编码形式:形式:一、一、是固定格式,即操作码的长度固定,是固定格式,即操作码的长度固定,集中放在指令字的一个字段中;如集中放在指令字的一个字段中;如IBM360,OP固定长度是固定长度是8位。位。二、二、是可变格式,即操作码的长度可变,是可变格式,即操作码的长度可变,分散地放在指令字的不同字段中。如分散地放在指令字的不同字段中。如INTEL 8086/Pentium其优点是能表示更其优点是能表示更多的指令,缺点是增加了指令译码和分多的指令,缺
11、点是增加了指令译码和分析的难度。析的难度。例:例:指令长为指令长为16位,其中为位,其中为4位基本操位基本操作码字段,三个作码字段,三个4位地址字段。若全部位地址字段。若全部用于表示三地址指令,则只有用于表示三地址指令,则只有16条,如条,如果三地址指令果三地址指令15条,二地址指令条,二地址指令15条,条,一地址指令一地址指令15条,零地址指令条,零地址指令16条,共条,共61条,如何安排操作码?条,如何安排操作码?一种可供操作码长度扩展的方法如下一种可供操作码长度扩展的方法如下:扩展方法扩展方法 15条三地址指令的操作码由条三地址指令的操作码由4位基本操作码位基本操作码从从00001110
12、给出,剩下一个码点给出,剩下一个码点1111,用于把,用于把操作码扩展到操作码扩展到A1,即由即由4位扩展到位扩展到8位;位;15条二地条二地址指令的操作码由址指令的操作码由8位操作码从位操作码从1111000011111110给出,剩下一个码点给出,剩下一个码点11111111用于把操作码扩展到用于把操作码扩展到A2,即从即从8位扩展到位扩展到12位;位;15条条3地址指令的操作码由地址指令的操作码由12位操作码从给出,剩下位操作码从给出,剩下一个码点用于把操作码扩展到一个码点用于把操作码扩展到A3,即从即从12位扩展位扩展到到16位;位;16条零地址指令的操作码由条零地址指令的操作码由16
13、位操作码位操作码从给出。从给出。除此方法外还有其他扩展方法,如可除此方法外还有其他扩展方法,如可形成形成15条三地址指令,条三地址指令,14条二地址指令,条二地址指令,31条一地址指令和条一地址指令和16条零地址指令,共条零地址指令,共76条。条。使用哪种方法有个使用哪种方法有个原则原则:使用频率高:使用频率高的指令应分配短的操作码,使用频率低的的指令应分配短的操作码,使用频率低的指令分配较长的操作码。指令分配较长的操作码。5.2.3 指令长度与字长的关系指令长度与字长的关系 指指令令的的长长度度是是指指一一条条指指令令中中所所包包含含的的二二进进制制代代码码的的位位数数,它它取取决决于于操操
14、作作码码字字段段的的长长度度、操操作作数数地地址址的的个个数数及及长长度。度。字字长长是是指指计计算算机机能能直直接接处处理理的的二二进进制数据的位数。制数据的位数。指指令令长长度度应应:尽尽可可能能短短 等等于于字字节节的的整整数数倍倍。指指令令长长度度可可以以等等于于机机器字长,也可以大于或小于机器字长。器字长,也可以大于或小于机器字长。在在一一个个指指令令系系统统中中,若若所所有有指指令令的的长长度度都都是是相相等等的的,称称为为定定长长指指令令字字结结构构;若若各各种种指指令令的的长长度度随随指指令令功功能能而而异异,称称为为变长指令字结构变长指令字结构。5.3 数据表示数据表示 目前
15、计算机的字长多为目前计算机的字长多为32位,存位,存储器的地址一般按字节表示。储器的地址一般按字节表示。要求多字节数据对准边界以减少要求多字节数据对准边界以减少访问存储器的次数。访问存储器的次数。按字节编址的双字数据的两种字节次序:按字节编址的双字数据的两种字节次序:(1)高字节为高地址)高字节为高地址 (2)高字节为低地址)高字节为低地址5.4 寻址方式寻址方式 在程序执行过程中,操作数可能在运算在程序执行过程中,操作数可能在运算部件的某个寄存器中或存储器中,可能在指部件的某个寄存器中或存储器中,可能在指令中,也可能在令中,也可能在I/O端口中;组成程序的指令端口中;组成程序的指令代码,一般
16、是在存储器中。代码,一般是在存储器中。寻址方式寻址方式:确定本条指令的数据地址以:确定本条指令的数据地址以及下一条要执行的指令地址的方式及下一条要执行的指令地址的方式。下面介绍基本的下面介绍基本的八种八种寻址方式。寻址方式。1、立即数寻址立即数寻址 操作数由指令的地址码部分直接给操作数由指令的地址码部分直接给出来。出来。优点优点:提高了指令的执行速度提高了指令的执行速度 缺点缺点:操作数不能被修改:操作数不能被修改 2、直接寻址直接寻址 指指令令中中地地址址码码字字段段给给出出操操作作数数的的地地址址,根根据据此此地地址址到到存存储储器器找找操操作作数数。多多为为双双字字指指令。令。操作数操作
17、数 OP A 存储器存储器图图 1 3、寄存器直接寻址寄存器直接寻址 CPU一般设置有一定数量的通用寄存器,一般设置有一定数量的通用寄存器,用于存放操作数、操作数的地址或中间结果。用于存放操作数、操作数的地址或中间结果。如果指令地址码部分给出某一通用寄存器地如果指令地址码部分给出某一通用寄存器地址,而且所需的操作数就在这一寄存器中,址,而且所需的操作数就在这一寄存器中,则称为寄存器寻址。则称为寄存器寻址。这种寻址方式的这种寻址方式的优点优点:从寄存器存取数据比主存快得多;从寄存器存取数据比主存快得多;由由于于寄寄存存器器的的数数量量较较少少,其其地地址址码码字字段比主存单元地址字段短得多。段比
18、主存单元地址字段短得多。4、间接寻址间接寻址 指令中给出的地址不是操作数的地址,指令中给出的地址不是操作数的地址,而是存放操作数而是存放操作数地址的地址地址的地址。通常在指令格式中划出一位作为标通常在指令格式中划出一位作为标志位,志位,=0 直接寻址;直接寻址;=1 间接寻址。间接寻址。寄存器间接寻址过程寄存器间接寻址过程存储器存储器操作数操作数 OP R RA通用寄存器通用寄存器 存储器间接寻址过程存储器间接寻址过程 OP A 存储器存储器A1操作数操作数AA1 5、基址寻址基址寻址 在计算机中设置一个专用的在计算机中设置一个专用的基址寄存器基址寄存器,或由指令指定一个通用寄存器为基址寄存器
19、,或由指令指定一个通用寄存器为基址寄存器,操作数的操作数的地址地址由基址寄存器的内容和指令的由基址寄存器的内容和指令的地址码地址码A相加得到。相加得到。基址寄存器的内容称为基址寄存器的内容称为基址基址值,地址码值,地址码A通常被称为通常被称为位移量位移量,位移量可正可负。,位移量可正可负。有效地址有效地址或物理地址或物理地址专用基址寄存器寻址过程专用基址寄存器寻址过程存储器存储器操作数操作数 OP A基址寄存器基址寄存器加法器加法器通用寄存器做基址寄存器寻址过程通用寄存器做基址寄存器寻址过程存储器存储器操作数操作数 OP B A.B加法器加法器通用寄存器通用寄存器 基址寄存器主要用于为程序或数
20、基址寄存器主要用于为程序或数据分配存储区。用于解决程序在存储据分配存储区。用于解决程序在存储器中的定位和扩大寻址空间等。器中的定位和扩大寻址空间等。基址寄存器中的值只能由基址寄存器中的值只能由系统程系统程序序设定。设定。6、变址寻址变址寻址 操作数在存储器中的地址由指令地址码操作数在存储器中的地址由指令地址码部分给出的地址部分给出的地址A和指定的和指定的变址寄存器变址寄存器X的内的内容通过加法器相加得到。容通过加法器相加得到。存储器存储器操作数操作数 OP X A.X加法器加法器 变址寻址是一种广泛采用的寻址变址寻址是一种广泛采用的寻址方式,通常指令中的形式地址作为基方式,通常指令中的形式地址
21、作为基准地址,而准地址,而X的内容作为修改量。在的内容作为修改量。在遇到需要频繁修改地址时,无须修改遇到需要频繁修改地址时,无须修改指令,只要指令,只要修改变寄存器中的值修改变寄存器中的值就可就可以了。以了。7、相对寻址相对寻址 是基址寻址的一种变通,由是基址寻址的一种变通,由程序计程序计数器数器PC提供基准地址提供基准地址,即,即PC中的内容中的内容加上指令的地址码部分给出的位移量的加上指令的地址码部分给出的位移量的和做为操作数的地址。和做为操作数的地址。操作数的地址与指令的地址的差操作数的地址与指令的地址的差值为一个固定的数。值为一个固定的数。8、堆栈寻址、堆栈寻址在在5.5节中介绍节中介
22、绍寻址方式小结寻址方式小结 如果使用高级语言编程,不需要考虑如果使用高级语言编程,不需要考虑寻址方式,由编译程序来完成。不同的机寻址方式,由编译程序来完成。不同的机器的寻址方式是不同的或者同一种寻址方器的寻址方式是不同的或者同一种寻址方式不同的机器有不同的表达方式。式不同的机器有不同的表达方式。例:例:ADD A,B 有的机器把结果放到有的机器把结果放到A;有的则把结果放到有的则把结果放到B寻址方式小结寻址方式小结 寄存器直接、寄存器间接寻址方式是寄存器直接、寄存器间接寻址方式是最基本最常用最基本最常用的寻址方式。的寻址方式。2002年程序员考题年程序员考题计计算算机机指指令令系系统统中中采采
23、用用不不同同寻寻址址方方式式的的主主要要目目的的是是 (56)。在在下下列列寻寻址址方方式式中中取取得得操操作作数数速速度度最最慢的是慢的是 (57)。(56)A、可直接访问内存或外存可直接访问内存或外存B、提供扩展操作码并降低指令译码难度提供扩展操作码并降低指令译码难度C、简化汇编指令的设计简化汇编指令的设计D、缩缩短短指指令令长长度度,扩扩大大寻寻址址空空间间,提提高高编编程程灵灵活活性性(57)A、相对寻址相对寻址 B、基址寻址基址寻址C、寄存器间接寻址寄存器间接寻址 D、存储器间接寻址存储器间接寻址DD 5.5 指令类型指令类型指令的分类及功能指令的分类及功能 双字长运算双字长运算指令
24、的分类及功能指令的分类及功能 按指令完成的按指令完成的功能功能可分为:算术逻可分为:算术逻辑运算指令、移位指令、浮点运算指令、辑运算指令、移位指令、浮点运算指令、十进制运算指令、字符串处理指令、向十进制运算指令、字符串处理指令、向量运算指令、数据传送指令、转移指令、量运算指令、数据传送指令、转移指令、堆栈指令、输入输出指令及特权指令等。堆栈指令、输入输出指令及特权指令等。下面分别说明各类指令的功能。下面分别说明各类指令的功能。1、算术逻辑运算指令算术逻辑运算指令 算术运算指令算术运算指令 主要用于进行定点和浮点运算。这类运算主要用于进行定点和浮点运算。这类运算包括加、减、乘、除以及加包括加、减
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 结构 PPT 课件 指令系统
限制150内