第3章指令系统精选PPT.ppt
《第3章指令系统精选PPT.ppt》由会员分享,可在线阅读,更多相关《第3章指令系统精选PPT.ppt(116页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章指令系统第1页,本讲稿共116页3.1 指令格式3.2 数据类型3.3 寻址方式3.4 指令类型与功能3.5 指令系统的设计3.6 指令系统的发展和改进3.7 指令系统实例1:MIPS的指令系统3.8 指令系统实例2:UltraSPARC的指令系统 第2页,本讲稿共116页指令:要求计算机进行基本操作的命令。一台计算机所能执行的全部指令的集合称为该计算机的指令系统或指令集。计算机硬件能够直接识别并执行的程序是机器语言程序,而机器语言中的每一个语句就是一条指令。指令系统决定了计算机硬件所能完成的全部功能,是计算机系统结构设计者、系统软件设计者和硬件设计者所共同关心的问题。第3页,本讲稿共1
2、16页一条指令中至少应包含3方面的信息要执行的操作指明该指令要完成的具体功能。指明该指令要完成的具体功能。操作数的来源指明操作的对象(源操作数)在哪里。指明操作的对象(源操作数)在哪里。操作结果的去向。指明要将操作的结果(目的操作数)保存到何处。指明要将操作的结果(目的操作数)保存到何处。3.1 指令格式第4页,本讲稿共116页3.1 指令格式指令的基本格式 每条指令由两部分构成:操作码和地址码操作码:描述指令的操作功能,即要求计算机完成什么工作。(指令中必不可少的部分)(指令中必不可少的部分)地址码:描述与操作数有关的信息,可以是操作数本身,也可以是存放操作数的地址。q源地址:提供源操作数的
3、地址源地址:提供源操作数的地址q目的地址:提供存放操作结果的地址目的地址:提供存放操作结果的地址第5页,本讲稿共116页3.1 指令格式 根据指令中地址码部分显式给出的地址的个数,可将指令格式分为以下5种。零地址指令零地址指令中只有操作码,没有地址码。指令格式:指令格式:通常在两种情况下可能采用零地址指令q指令本身不需要任何操作数指令本身不需要任何操作数q指令中所需的操作数是隐含指定的指令中所需的操作数是隐含指定的3.1.1 指令的地址码第6页,本讲稿共116页3.1 指令格式2.一地址指令指令中给出一个地址 指令格式:指令格式:在两种情况下可能采用一地址指令q指令本身只需要一个操作数指令本身
4、只需要一个操作数 A OP(A)q指令操作需要两个操作数,指令中指明一个操作数,而另外指令操作需要两个操作数,指令中指明一个操作数,而另外一个操作数在默认的累加器一个操作数在默认的累加器AC中,操作结果存放到累加器中,操作结果存放到累加器AC中。中。AC (AC)OP(A)第7页,本讲稿共116页3.1 指令格式3.二地址指令 指令中给出两个地址,分别指出参与操作的两个源操作数,而其中有一个又表示操作结果的存放地址。指令格式:指令格式:A1 (A1)OP(A2)根据存放操作数的位置不同,又可分为3种。q寄存器寄存器-寄存器型寄存器型(R-R型型)指令指令n指令中给出的两个地址都是寄存器地址指令
5、中给出的两个地址都是寄存器地址。n所需的操作数都在寄存器中,不需要访问存储器,所需的操作数都在寄存器中,不需要访问存储器,因而速度很快。因而速度很快。第8页,本讲稿共116页3.1 指令格式q存储器存储器-存储器型(存储器型(M-M型型)指令)指令n指令中给出的两个地址都是存储器地址指令中给出的两个地址都是存储器地址n需要多次访问存储器才能得到操作数需要多次访问存储器才能得到操作数q寄存器寄存器-存储器型(存储器型(R-M型型)n两个地址:一个是寄存器地址,另一个是存储两个地址:一个是寄存器地址,另一个是存储器地址。器地址。n两个操作数:一个是在寄存器中,另一个则是两个操作数:一个是在寄存器中
6、,另一个则是在存储器中,操作结果保存到寄存器中。在存储器中,操作结果保存到寄存器中。4.三地址指令 指令中给出三个地址,其中两个指明参与操作的源操作数,另一个表示操作结果的存放地址。第9页,本讲稿共116页3.1 指令格式指令格式:指令格式:A3 (A1)OP(A2)5.多地址指令 用于描述一批数据,指令中需要多个地址来指出数据存放的首地址、长度和下标等信息。第10页,本讲稿共116页3.1 指令格式指令系统中的每一条指令都有唯一确定的操作码,不同指令的操作码是不相同的。操作码的长度决定了指令系统的最大规模若操作码的位数为n位,则该指令系统最多能有2n条指令。固定长度操作码 所有指令操作码的长
7、度都是固定的,且集中放在指令的一个字段内。有利于简化硬件设计,减少指令译码时间。3.1.2 指令的操作码第11页,本讲稿共116页3.1 指令格式很多现代计算机都采用了固定长度操作码。2.可变长度操作码 指令系统中操作码的长度有多种,不同指令的操作码的长度不完全相同。q使用频率高的指令使用短的操作码使用频率高的指令使用短的操作码q使用频率低的指令使用较长的操作码使用频率低的指令使用较长的操作码可以缩短操作码的平均长度,但会使硬件设计复杂化,增加指令译码的时间和难度。3.扩展操作码技术 将操作码设计为几种不同的固定长度,且相互之间按某种规则进行扩展。第12页,本讲稿共116页3.1 指令格式优点
8、q可以简化硬件设计;可以简化硬件设计;q当指令总长度一定时,可以使操作码的长度随地址数当指令总长度一定时,可以使操作码的长度随地址数的增加而减少,不同地址数的指令的操作码的长度也的增加而减少,不同地址数的指令的操作码的长度也不同,从而有效地缩短指令总长度。不同,从而有效地缩短指令总长度。扩展操作码的方法 等长扩展、不等长扩展等长扩展、不等长扩展举一个例子:q某指令系统中,指令长度为某指令系统中,指令长度为16位位,基本操作码为,基本操作码为4位位,具有具有3个个4位位的地址字段。的地址字段。q指令格式指令格式第13页,本讲稿共116页3.1 指令格式q采用固定长度操作码,该指令系统最多只能有1
9、6条指令。在指令字长不变的情况下,希望有61条指令。其中:15条三地址指令 15条二地址指令 15条一地址指令 16条零地址指令第14页,本讲稿共116页3.1 指令格式q采用等长扩展,操作码分别为采用等长扩展,操作码分别为4位、位、8位、位、12位、位、16位。位。第15页,本讲稿共116页3.1 指令格式采用另一种扩展方法,共76条。其中:15条三地址指令条三地址指令 14条二地址指令条二地址指令 31条一地址指令条一地址指令 16条零地址指令条零地址指令第16页,本讲稿共116页第17页,本讲稿共116页3.1 指令格式指令长度:指一条指令所包含的二进制代码的总位数。指令长度主要取决于操
10、作码的长度、操作数地址的长度、操作数地址的个数。与机器字长有简单的倍数关系单字长指令:指令长度等于机器字长的指令半字长指令:指令长度等于半个机器字长的指令双字长指令:指令长度等于机器字长的两倍的指令指令长度一般应是字节的整数倍。3.1.3 指令长度第18页,本讲稿共116页3.1 指令格式4.在一个指令系统中,如果每条指令的长度都相同,则称为固定长度编码格式。5.如果不同指令的长度随指令功能而不同,则称为可变长度编码格式。如奔腾系列机的指令系统中,指令长度可以从一个字节到如奔腾系列机的指令系统中,指令长度可以从一个字节到12个个字节。字节。第19页,本讲稿共116页数据表示:计算机硬件能够直接
11、识别、指令系统可以直接调用的数据类型。数据结构:指由软件进行处理和实现的各种数据类型。数据结构研究的是这些数据类型的逻辑结构与物理结构之间的关系,并给出相应的算法。如何确定数据表示是计算机系统设计者要解决的难题之一。3.2 数据类型第20页,本讲稿共116页3.2 数据类型4.表示操作数类型的方法有两种 由指令中的操作码指定操作数的类型 最常用的方法。绝大多数机器都采用了这种方法。最常用的方法。绝大多数机器都采用了这种方法。给数据加上标志符(tag),由数据本身给出操作数类型。q优点:优点:能简化指令系统,可由硬件自动实现一致性检能简化指令系统,可由硬件自动实现一致性检查和类型转换,缩小了机器
12、语言与高级语言的语义差查和类型转换,缩小了机器语言与高级语言的语义差距,简化编译器等。距,简化编译器等。q缺点:缺点:由于需要在程序执行过程中动态检测标志符,由于需要在程序执行过程中动态检测标志符,动态开销比较大。动态开销比较大。q采用这种方案的机器很少见。采用这种方案的机器很少见。第21页,本讲稿共116页3.2 数据类型5.操作数的大小(size):操作数的位数或字节数。主要的大小有 字节(字节(8位)、半字(位)、半字(16位)位)字(字(32位)、位)、双字(双字(64位)位)字符一般用ASCII码表示,其大小为一个字节。整数则几乎都是用二进制补码表示,其大小可以是字节、半字、单字和双
13、字。浮点操作数q单精度浮点数和双精度浮点数单精度浮点数和双精度浮点数q所有的计算机都采用了所有的计算机都采用了IEEE 754浮点标准浮点标准 第22页,本讲稿共116页3.2 数据类型十进制数据表示q压缩十进制或二进制编码的十进制压缩十进制或二进制编码的十进制(简称(简称BCD码)码)是用是用4位二进制编码表示数字位二进制编码表示数字09,并将两个十,并将两个十进制数字合并到一个字节中存储。进制数字合并到一个字节中存储。q非压缩十进制非压缩十进制 如果将十进制数直接用字符串来表示,就叫做如果将十进制数直接用字符串来表示,就叫做“非压缩十进制非压缩十进制”。第23页,本讲稿共116页形式地址:
14、指令的地址码部分给出的地址。有效地址:形式地址经地址变换后才能得到操作数的真正地址。寻址方式:确定指令操作数有效地址的方法。3.3 寻址方式第24页,本讲稿共116页3.3 寻址方式直接寻址 在指令的地址码字段直接给出操作数所在主存单元的地址。简单、快速的寻址方式,但寻址范围受限于地址码字段的位数。第25页,本讲稿共116页2.间接寻址指令的地址码字段给出的是操作数所在内存单元的地址的地址。q指令中形式地址所指定的内存单元中存放的内容才是操作数指令中形式地址所指定的内存单元中存放的内容才是操作数的真正地址。的真正地址。得到操作数需要访问两次内存,指令的执行速度比较慢。第26页,本讲稿共116页
15、3.3 寻址方式3.立即寻址指令的地址码字段直接给出操作数本身,而不是操作数的地址。指令执行速度最快,得到指令的同时就得到了操作数,不需要再访问内存。4.寄存器直接寻址与寄存器间接寻址寄存器直接寻址:指令的地址码字段给出一个寄存器编号,该寄存器中存放的内容就是操作数。寄存器间接寻址:寄存器中存放的内容是操作数的地址,根据此地址访问内存取得操作数。第27页,本讲稿共116页寄存器直接寻址方式寄存器直接寻址方式 寄存器间接寻址方式寄存器间接寻址方式 第28页,本讲稿共116页3.3 寻址方式5.隐含寻址指令中不给出操作数的地址操作数约定在某个特定的寄存器或堆栈中6.相对寻址将程序计数器PC的内容与
16、指令中给出的形式地址(偏移量)的值相加,形成操作数的有效地址。形式地址(偏移量)的值可正可负。形式地址(偏移量)的值可正可负。对于短跳转和程序的再定位很有用。第29页,本讲稿共116页3.3 寻址方式相对寻址方式相对寻址方式 第30页,本讲稿共116页3.3 寻址方式7.变址寻址 将指令中给出的形式地址的值与变址寄存器的内容相加,形成操作数的有效地址。变址寄存器可以是专用寄存器,也可以是通用寄存器中的一个。常用于字符串处理、数组运算等成批数据处理中,主要是面向用户,解决程序循环控制问题。第31页,本讲稿共116页3.3 寻址方式 变址寻址方式变址寻址方式 第32页,本讲稿共116页3.3 寻址
17、方式8.基址寻址把指令中给出的形式地址的值与基址寄存器的内容相加,形成操作数的有效地址。基址寄存器的内容称为基地址。基址寄存器的内容通常由操作系统或管理程序设定。主要用于将用户程序的逻辑地址转换成主存的实际地址。它面向系统,解决程序重定位和扩大寻址空间等问题。第33页,本讲稿共116页3.3 寻址方式 基址寻址方式基址寻址方式 第34页,本讲稿共116页3.3 寻址方式9.“基址+变址”寻址 有效地址=(RB)+(RX)+D 其中:q(RB):基址寄存器):基址寄存器RB中的内容中的内容q(RX):变址寄存器):变址寄存器RX中的内容中的内容qD:指令字中给出的形式地址(偏移量):指令字中给出
18、的形式地址(偏移量)第35页,本讲稿共116页3.3 寻址方式在指令中表示寻址方式的方法有两种:将寻址方式编码于操作码中,操作码在描述指令操作的同时,也描述相应操作的寻址方式;在指令字中为每个操作数设置一个地址描述符,由该地址描述符表示相应操作数的寻址方式。第36页,本讲稿共116页数据传送类指令将数据从一个地方传送到另一个地方。q主要实现主存和主存之间、主存和寄存器之间、寄存主要实现主存和主存之间、主存和寄存器之间、寄存器和寄存器之间的数据传送。器和寄存器之间的数据传送。q数据传送指令一次可以传送一个数据,也可以一次传数据传送指令一次可以传送一个数据,也可以一次传送一批数据。送一批数据。数据
19、运算类指令用来实现数据的算术运算、逻辑运算和移位运算。q算术运算:算术运算:加、减、乘、除运算;加加、减、乘、除运算;加1、减、减1;比较;比较指令等。指令等。3.4 指令类型与功能第37页,本讲稿共116页3.4 指令类型与功能q逻辑运算:逻辑运算:包括与、或、非包括与、或、非、异或等运算。、异或等运算。q移位指令:移位指令:算术移位、逻辑移位和循环移位三类,它算术移位、逻辑移位和循环移位三类,它们又可分为左移和右移两种。们又可分为左移和右移两种。3.程序控制类指令主要用来控制程序执行的顺序和方向。q包含转移指令、子程序调用和返回指令、自陷指令等。包含转移指令、子程序调用和返回指令、自陷指令
20、等。4.输入输出指令输入输出指令简称I/O指令主要用于实现主机与外部设备之间的信息交换第38页,本讲稿共116页3.5 指令系统的设计3.5.1 对指令系统的基本要求指令系统的设计首先考虑所应实现的基本功能,确定哪些基本功能应该由硬件实现,哪些功能由软件实现比较合适。包括q指令的功能设计q指令格式的设计第39页,本讲稿共116页3.5 指令系统的设计2.在确定哪些基本功能用硬件来实现时,主要考虑3个因素:速度、成本、灵活性。硬件实现的特点 速度快、成本高、灵活性差速度快、成本高、灵活性差软件实现的特点 速度慢、价格便宜、灵活性好速度慢、价格便宜、灵活性好3.对指令系统的基本要求 完整性、规整性
21、、正交性、高效率、兼容性 完整性:在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令系统所提供的指令足够使用。第40页,本讲稿共116页3.5 指令系统的设计q要求指令系统功能齐全、使用方便要求指令系统功能齐全、使用方便q下表为许多指令系统结构都包含的一些指令类型下表为许多指令系统结构都包含的一些指令类型 n前前4类属于通用计算机系统的基本指令类属于通用计算机系统的基本指令n对于最后对于最后4种类型的操作,不同指令系统结构的种类型的操作,不同指令系统结构的支持大不相同支持大不相同。第41页,本讲稿共116页3.5 指令系统的设计指令系统结构中操作的分类指令系统结构中操作的分类
22、 操作类型实 例算术和逻辑运算整数的算术运算和逻辑操作:加,减,乘,除,与,或等数据传输load,store控制分支,跳转,过程调用和返回,自陷等系统操作系统调用,虚拟存储器管理等浮点浮点操作:加,减,乘,除,比较等十进制十进制加,十进制乘,十进制到字符的转换等字符串字符串移动,字符串比较,字符串搜索等图形象素操作,压缩/解压操作等第42页,本讲稿共116页3.5 指令系统的设计规整性:主要包括对称性和均匀性。q对称性:对称性:所有与指令系统有关的存储单元的使用、所有与指令系统有关的存储单元的使用、操作码的设置等都是对称的。操作码的设置等都是对称的。例如:例如:在存储单元的使用上,所有通用寄存
23、器都要同等对在存储单元的使用上,所有通用寄存器都要同等对 待。在操作码的设置上,如果设置了待。在操作码的设置上,如果设置了A AB B的指的指 令,就应该也设置令,就应该也设置B BA A的指令。的指令。q均匀性:均匀性:指对于各种不同的操作数类型、字长、操作指对于各种不同的操作数类型、字长、操作 种类和数据存储单元,指令的设置都要同等对待。种类和数据存储单元,指令的设置都要同等对待。例如:例如:如果某机器有如果某机器有5 5种数据表示,种数据表示,4 4种字长,两种存储单种字长,两种存储单 元,则要设置元,则要设置542=40542=40种同一操作的指令。种同一操作的指令。第43页,本讲稿共
24、116页3.5 指令系统的设计正交性:在指令中各个不同含义的字段,如操作类型、数据类型、寻址方式字段等,在编码时应互不相关、相互独立。高效率:指指令的执行速度快、使用频度高。兼容性:主要是要实现向后兼容,指令系统可以增加新指令,但不能删除指令或更改指令的功能。第44页,本讲稿共116页3.5 指令系统的设计4.在设计指令系统时,有两种截然不同的设计策略。(产生了两类不同的计算机系统)CISC(复杂指令系统计算机)q增强指令功能,把越来越多的功能交由硬件来实增强指令功能,把越来越多的功能交由硬件来实 现,并且指令的数量也是越来越多。现,并且指令的数量也是越来越多。RISC(精简指令系统计算机)q
25、尽可能地把指令系统简化,不仅指令的条数少,而且尽可能地把指令系统简化,不仅指令的条数少,而且 指令的功能也比较简单。指令的功能也比较简单。第45页,本讲稿共116页3.5 指令系统的设计指令由两部分组成:操作码、地址码指令格式的设计确定操作码字段和地址码字段的大小及其组合形式确定各种寻址方式的编码方法 有3种常用的指令编码格式 可变长度编码格式、固定长度编码格式、混合型编码格式可变长度编码格式、固定长度编码格式、混合型编码格式3.5.2 指令格式的设计第46页,本讲稿共116页3.5 指令系统的设计可变长度编码格式q当指令系统包含多种寻址方式和操作类型时,这种编当指令系统包含多种寻址方式和操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统 精选 PPT
限制150内