计算机组成原理-第四章-指令系统课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成原理-第四章-指令系统课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 第四 指令系统 课件
- 资源描述:
-
1、1第四章 指令系统4.1 指令系统的发展与性能要求4.2 指令格式4.3 操作数类型4.4 指令和数据的寻址方式4.5 典型指令4.6 ARM汇编语言返回24.1 指令系统的发展与性能要求指令系统的发展与性能要求4.1.1 指令系统的发展4.1.2 对指令系统性能的要求4.1.3 低级语言与硬件结构的关系34.1.1 指令系统的发展指令系统的发展指令系统基本概念?指令:就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令是微程序级的命令,它属于硬件;?宏指令:由若干条机器指令组成的软件指令,它属于软件;?机器指令:介于微指令与宏指令之间
2、,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作。?本章所讨论的指令,是机器指令。本章所讨论的指令,是机器指令。?一台计算机中所有机器指令的集合,称为这台计算机的指令系统。?指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围44.1.1 指令系统的发展指令系统的发展发展情况?复杂指令系统计算机,简称CISC。指令系统多达二三百条。CISC中大约有20%的指令使用频率高,占据了80%的处理机时间,而有80%的不常用指令只占用处理机的20%时间。?VLSI技术发展引起的问题?VLSI工艺要求规整性,而
3、大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。?现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。?CISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而指令复杂了,指令的执行时间必然加长,从而使整个系统的执行时间反而增加,因而在计算机体系结构设计中,软硬件的功能分配必须恰当,但是如此庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。?精简指令系统计算机:简称RISC,人们又提出了便于VLSI技术实现的精简指令系统计算
4、机。(1)选取使用频率高的简单指令,指令条数少。(2)指令条数固定,指令格式种类少,寻址方式种类少。(3)只有取数、存数指令访问存储器,其他指令的操作都在寄存器之间进行。54.1.2 对指令系统性能的要求对指令系统性能的要求?完备性:完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。一台计算机中最基本、必不可少的指令是不多的。许多指令可用最基本的指令编程来实现。例如,乘除运算指令、浮点运算指令可直接用硬件来实现,也可用基本指令编写的程序来实现。采用硬件指令的目的是提高程序执行速度,便于用户编写程序。?有效性:有效
5、性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。一般来说,一个功能更强、更完善的指令系统,必定有更好的有效性。?规整性:规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指:一种操作性质的指令可以支持各种数据类型,如算术运算指令可支持字节、字、双字整数的运算,十进制数运算和单、双精度浮点数运算等;指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理和存取。例如指令长度和数据长度通常是字节长度的整数倍。?兼容性
6、:系列机各机种之间具有相同的基本结构和共同的基本指令集,因而指令系统是兼容的,即各机种上基本软件可以通用。但由于不同机种推出的时间不同,在结构和性能上有差异,做到所有软件都完全兼容是不可能的,只能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。64.1.3 低级语言与硬件结构的关系低级语言与硬件结构的关系低级语言与高级语言关系比较内容高级语言低级语言1对程序员的训练要求(1)通用算法(2)语言规则(3)硬件知识有较少不要有较多要2对机器独立的程度独立不独立3编制程序的难易程度易难4编制程序所需时间短较长5程序执行时间较长短6编译过程中对计算机资源的要求多少74.2 指令格式指令格式4
7、.2.1 操作码4.2.2 地址码4.2.3 指令字长度4.2.4 指令助记符4.2.5 指令格式举例?指令格式包括两个方面:操作码字段地址码字段84.2.1 操作码操作码?设计计算机时,对指令系统的每一条指令都要规定一个操作码。指令的操作码OP表示该指令应进行什么性质的操作,如进行加法、减法、乘法、除法、取数、存数等等。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。?组成操作码字段的位数一般取决于计算机指令系统的规模。较大的指令系统就需要更多的位数来表示每条特定的指令。?等长(指令规整,译码简单)?例如IBM 370机,该机字长32位,16个通用寄存器R0R15,共有183
8、条指令;指令的长度可以分为 16位、32位和48位等几种,所有指令的操作码都是 8位固定长度。?固定长度编码的主要缺点是:信息的冗余极大,使程序的总长度增加。94.2.2 地址码地址码?根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。?三地址指令?二地址指令?单地址指令?零地址指令操作码(4位)1(6位)操作码(4位)1(6位)2(6位)操作码(4位)1(6位)2(6位)操作码A3(6位)104.2.2 地址码地址码?三地址指令?指令格式如下:?OP A1 A2 A3?操作码op第一操作数A1第二操作数A2结果A3?功能描述:?(A1)op(A2)A3?(PC)+1PC
9、?这种格式虽然省去了一个地址,但指令长度仍比较长,所以只在字长较长的大、中型机中使用,而小型、微型机中很少使用。114.2.2 地址码地址码?二地址指令?其格式如下:?OP A1 A2?操作码op 第一操作数A1 第二操作数A2?功能描述:?(A1)op(A2)A1?(PC)+1PC?二地址指令在计算机中得到了广泛的应用,但是在使用时有一点必须注意:指令执行之后,A1中原存的内容已经被新的运算结果替换了。124.2.2 地址码地址码?二地址地址根据操作数的物理位置分为:?SS 存储器-存储器类型?RS 寄存器-存储器类型?RR 寄存器-寄存器类型慢134.2.2 地址码地址码?一地址指令?指令
10、格式为:?OP A1?操作码op 第一操作数A1?功能描述:?(AC)op(A1)A1?(PC)+1PC?单操作数运算指令,如“+1”、“-1”、“求反”?指令中给出一个源操作数的地址144.2.2 地址码地址码?零地址指令?其格式为:?OP?操作码op?“停机”、“空操作”、“清除”等控制类指令。154.2.3 指令字长度指令字长度?概念?指令字长度(一个指令字包含二进制代码的位数)?机器字长:计算机能直接处理的二进制数据的位数。?单字长指令?半字长指令?双字长指令?多字长指令的优缺点?优点提供足够的地址位来解决访问内存任何单元的寻址问题;?缺点必须两次或多次访问内存以取出一整条指令,降低了
11、CPU的运算速度,又占用了更多的存储空间。?指令系统中指令采用等长指令的优点:各种指令字长度是相等的,指令字结构简单,且指令字长度是不变的;?采用非等长指令的的优点:各种指令字长度随指令功能而异,结构灵活,能充分利用指令长度,但指令的控制较复杂。164.2.4 指令助记符指令助记符?由于硬件只能识别1和0,所以采用二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。?为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符?用34个英文字母来表示操作码,一般为英文缩写?不同的计算机系统,规定不一样?必须用汇编语言翻译成二进制代码4.2.4 指令助记符
12、指令助记符?典型指令助记符?加法ADD 001?减法SUB 010?传送MOV 011?跳转JMP 100?转子程序 JSR 101?存数STO 110?取数LAD 111184.2.5 指令格式举例指令格式举例?8位微型计算机的指令格式?如8088,字长8位,指令结构可变?包括单字长指令、双字长指令和三字长指令?操作码长度固定194.2.5 指令格式举例指令格式举例?MIPS R4000 20世纪80年代后期 RISC计算机系统,32位字长,32个通用寄存器。R型(寄存器)指令:算术运算数据放在通用寄存器中6位 5位 5位 5位 5位6位op rs rt rd shamt functI型(立
13、即数)指令:取数、存数指令访问存储器6位 5位 5位 16位oprs rt 常数或地址204.2.5 指令格式举例:ARM指令格式214.2.5 指令格式举例指令格式举例例1分析下列指令格式的特点15 9 7 4 3 0OP -源寄存器 目标寄存器解:1.单字长二地址指令2.操作码字段可以指定128条指令3.源寄存器和目标寄存器都是通用寄存器,两个操作都在寄存器中,RR型指令4.常用于算术逻辑运算224.2.5 指令格式举例指令格式举例例2分析下列指令格式的特点15 10 7 4 3 0OP -源寄存器 变址寄存器位移量(16位)解:1.双字长二地址指令,访问存储器2.操作码字段可以指定64条
14、指令3.一个操作数在源寄存器中,另一个在存储器中(由变址寄存器和位移量决定),RS型指令234.2.5 指令格式举例指令格式举例例3 MIPS R4000汇编语言中,寄存器$s0$s7对应寄存器号为十进制1623,寄存器$t0$t7对应的寄存器号为815。请将下表4条汇编语言翻译成对应的机器语言十进制数表示。244.3 操作数类型操作数类型4.3.1 一般的数据类型4.3.2 Pentium数据类型4.3.3 Power PC数据类型254.3.1 一般的数据类型一般的数据类型?地址数据地址数据:无符号整数。?数值数据:计算机中普遍使用的三种类型的数值数据?1.定点整数,小数 2.浮点数 3.
15、压缩十进制数。?字符数据字符数据:文本数据或字符串,目前广泛使用 ASCII码。?逻辑数据:一个单元中有几位二进制 bit项组成,每个bit的值可以是1或0。当数据以这种方式看待时,称为逻辑性数据。264.3.2 Pentium数据类型数据类型常规:字节,字(16位),双字(32位),四字(64位)整数:字节,字,双字,四字 有符号二进制数序数:字节,字,双字,四字 无符号整数未压缩的BCD:范围0-9的BCD数字表示,每字节一个数字压缩的BCD:每字节表示两个BCD数字,范围00-99近指针:段内偏移的32位有效地址位串:一个连续的位序列字符串:浮点数:单精度双精度274.3.3 Power
16、 PC数据类型数据类型无符号字节:逻辑和整数算术运算,由存储器取出装入通用寄存器时,寄存器左端以 0填充无符号半字:16位有符号半字:16位算术运算,由存储器取出装入寄存器时,要进行符号位扩展,所有空出位都用符号位填充无符号字:32位逻辑运算,或作为地址指针有符号字:32位算术运算无符号双字:64位地址指针字节串:0-128字节浮点数:IEEE754单精度 双精度284.4 指令和数据的寻址方式指令和数据的寻址方式4.4.1 指令的寻址方式4.4.2 操作数基本寻址方式4.4.3 寻址方式举例294.4.1 指令的寻址方式指令的寻址方式?顺序方式?PC?跳跃方式:由本条指令给出下条指令的地址码
17、,PC的内容也必须相应改变,跳跃寻址可以实现程序转移或者构成循环程序CAICAI304.4.2 操作数基本寻址方式操作数基本寻址方式?形成操作数有效地址的方法,称为寻址方式。?例如,一种单地址指令的结构如下:操作码OP、变址X、间址I、形式地址A314.4.2 操作数基本寻址方式操作数基本寻址方式CAICAI324.4.2 操作数基本寻址方式操作数基本寻址方式1、隐含寻址?指令中隐含着操作数的地址?如某些运算,隐含了累加器AC作为源和目的寄存器?ADD 100H 334.4.2 操作数基本寻址方式操作数基本寻址方式2、立即寻址?立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常
18、意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数,节省了访问内存的时间。因此,这样的操作数被称为立即数。?指令格式:操作码OP操作数A?ADD ax,100H344.4.2 操作数基本寻址方式操作数基本寻址方式3、直接寻址?指令中地址码字段给出的地址A就是操作数的有效地址EA(Effective Address),即EAA。354.4.2 操作数基本寻址方式操作数基本寻址方式4、间接寻址?间接寻址意味着指令的地址码部分给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。操作数的有效地址的计算公式为:E
19、A(A),访问内存两次364.4.2 操作数基本寻址方式操作数基本寻址方式5、寄存器寻址?在指令的地址码部分给出CPU内某一通用寄存器的编号,指令的操作数存放在相应的寄存器中,即EA=Ri 优点:(1)由于寄存器在CPU的内部,指令在执行时从寄存器中取操作数比访问主存要快得多;(2)由于寄存器的数量较少,因此寄存器编号所占位数也较少,从而可以有效减少指令的地址码字段的长度。374.4.2 操作数基本寻址方式操作数基本寻址方式6、寄存器间接寻址?为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址,即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄
20、存器的编号,这时有EA=(Ri)这种寻址方式的指令较短,并且在取指后只需一次访存便可得到操作数,因此指令执行速度较前述的间接寻址方式要快,也是目前在计算机中使用较为广泛的一种寻址方式。384.4.2 操作数基本寻址方式操作数基本寻址方式7、偏移寻址?相对寻址:由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后作为操作数的有效地址,即:EA(PC)D。394.4.2 操作数基本寻址方式操作数基本寻址方式?7、偏移寻址:基址寻址、偏移寻址:基址寻址?将主存空间分成若干段,每段首地址存放在基址寄存器中。基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。基址寻
展开阅读全文