计算机指令课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机指令课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 指令 课件
- 资源描述:
-
1、华师大计算机指令l指令指令是指挥机器完成某种操作的是指挥机器完成某种操作的命令。命令。l指令系统指令系统是某计算机能直接识别、是某计算机能直接识别、正确执行的所有指令的集合。正确执行的所有指令的集合。l指令系统指令系统是计算机软件与硬件的是计算机软件与硬件的界面。界面。1.1.指令系统的发展指令系统的发展2.2.指令的格式指令的格式3.3.寻址方式寻址方式4.4.指令的分类和功能指令的分类和功能5.5.典型指令系统的模型典型指令系统的模型1 1、理解指令中应包含的信息。、理解指令中应包含的信息。2 2、掌握常用的指令及指令格式。、掌握常用的指令及指令格式。3 3、深入理解常用的寻址方法及、深入
2、理解常用的寻址方法及 其用途。其用途。4 4、了解常见指令的种类和功能。、了解常见指令的种类和功能。1 1 指令格式。指令格式。2 2 指令的寻址方式指令的寻址方式 1.1.寻址方式方式的应用。寻址方式方式的应用。2.2.操作码的编码技术。操作码的编码技术。l本章学习需要本章学习需要6 6个学时。个学时。4 41 1 指令系统的发展与性能要求指令系统的发展与性能要求4 42 2 指令格式指令格式 4 43 3 指令和数据的寻址方式指令和数据的寻址方式 4 44 4 堆栈寻址方式堆栈寻址方式4 45 5 典型指令典型指令 一、一、程序程序是若干条指令的有序集合。是若干条指令的有序集合。二、二、指
3、令指令就是要计算机执行某种操作就是要计算机执行某种操作的命令。的命令。三、从计算机组成的层次结构来说,三、从计算机组成的层次结构来说,计算机的指令有微指令、机器指令计算机的指令有微指令、机器指令和宏指令之分。和宏指令之分。微指令微指令是微程序级的命令,它属是微程序级的命令,它属于硬件;于硬件;宏指令宏指令是由苦干条机器指令组成是由苦干条机器指令组成的软件指令,它属于软件;的软件指令,它属于软件;机器指令机器指令则介于微指令与宏指令则介于微指令与宏指令之间,通常简称为指令。每一条指之间,通常简称为指令。每一条指令可完成一个独立的算术运算或逻令可完成一个独立的算术运算或逻辑运算操作。辑运算操作。本
4、章所讨论的指令是机器指令。本章所讨论的指令是机器指令。指令系统是表征一台计算机指令系统是表征一台计算机性能的重要因素,它的格式与功性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,构,而且也直接影响到系统软件,影响到机器的适用范围。影响到机器的适用范围。一一台计算机中所有机器指令台计算机中所有机器指令的集合,称为这台计算机的的集合,称为这台计算机的指令指令系统系统。系列计算机系列计算机是指基本指令系统相同、是指基本指令系统相同、基本体系结构相同的一系列计算机。基本体系结构相同的一系列计算机。其必要条件是同一系列的各机种有其必要条件
5、是同一系列的各机种有共同的指令集。而且新推出的机种共同的指令集。而且新推出的机种指令系统一定包含所有旧机种的全指令系统一定包含所有旧机种的全部指令,即实现一个部指令,即实现一个“向上兼容向上兼容”。因此旧机种上运行的各种软件可以因此旧机种上运行的各种软件可以不加任何修改便可在新机种上运行,不加任何修改便可在新机种上运行,大大减少了软件开发费用。系列机大大减少了软件开发费用。系列机解决了各机种的软件兼容解决了各机种的软件兼容问题问题 。复杂指令系统计算机(复杂指令系统计算机(CISCCISC)精简指令系统计算机(精简指令系统计算机(RISCRISC)一个完善的指令系统应满足如下四方一个完善的指令
6、系统应满足如下四方面的要求:面的要求:完备性完备性 有效性有效性规整性规整性兼容性兼容性 完备性完备性是指用汇编语言编写是指用汇编语言编写各种程序时,指令系统直接提供各种程序时,指令系统直接提供的指令足够使用,而不必用软件的指令足够使用,而不必用软件来实现。完备性要求指令系统丰来实现。完备性要求指令系统丰富、功能齐全、使用方便。富、功能齐全、使用方便。有效性有效性是指利用该指令系统是指利用该指令系统所编写的程序能够高效率地运行。所编写的程序能够高效率地运行。高效率主要表现在程序占据存储高效率主要表现在程序占据存储空间小、执行速度快。空间小、执行速度快。规整性规整性包括指令系统的对称性、匀齐性、
7、包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。指令格式和数据格式的一致性。1 1、对称性是指在指令系统中所有的寄存器和、对称性是指在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可存储器单元都可同等对待,所有的指令都可使用各种寻址方式;使用各种寻址方式;2 2、匀齐性是指一种操作性质的指令可以支持、匀齐性是指一种操作性质的指令可以支持各种数据类型;各种数据类型;3 3、指令格式和数据格式的一致性是指:指令、指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理长度和数据长度有一定的关系,以方便处理和存取。和存取。兼容性兼容性要能做到要能做到“向上兼
8、容向上兼容”,即低档机,即低档机上运行的软件可以在高档机上运行。上运行的软件可以在高档机上运行。要能做到要能做到“向后兼容向后兼容”,即先生产,即先生产机器上运行的软件可以在后生产的机器上运行的软件可以在后生产的机器上运行。机器上运行。计算机语言有高级语言和低级语言计算机语言有高级语言和低级语言之分。之分。高级语言语句和用法与具体机器的高级语言语句和用法与具体机器的指令系统无关。指令系统无关。低级语言分机器语言(二进制语言)低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语和汇编语言(符号语言),这两种语言都是面向机器的语言,它们和具体言都是面向机器的语言,它们和具体机器的指令系
9、统密切相关。机器的指令系统密切相关。机器语言汇编语言高级语言机器能直接识别正确机器能直接识别正确执行的语言。用二进执行的语言。用二进制形式表示。制形式表示。面向机器的符号语言。面向机器的符号语言。接近自然语言,通接近自然语言,通过编译解释的语言。过编译解释的语言。低低级级语语言言l表示一条指令的机器字,就称为表示一条指令的机器字,就称为指令宇指令宇,通常简称指令。通常简称指令。l指令格式指令格式是指令字用二进制代码表示的是指令字用二进制代码表示的结构形式。结构形式。l一条指令的结构可用如下形式来表示:一条指令的结构可用如下形式来表示:l操作码字段操作码字段 l地址码字段地址码字段 指令的操作码
10、指令的操作码表示该指令应进表示该指令应进 行什么性质的操作。行什么性质的操作。组成操作码字段的位数一般取组成操作码字段的位数一般取 决于计算机指令系统的规模。决于计算机指令系统的规模。n n位操作码能描述的操作最多有位操作码能描述的操作最多有 2 2n n。固定长度操作码:便于译码,扩展固定长度操作码:便于译码,扩展性差性差可变长度操作码:能缩短指令平均可变长度操作码:能缩短指令平均长度长度根据一条指令中有几个操作数地址,可根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指将该指令称为几操作数指令或几地址指令。令。单地址单地址二地址二地址三地址三地址零地址零地址目前二地址和单
11、地址指令格式用的得最多。目前二地址和单地址指令格式用的得最多。lOP A1,A2,A3,A4l一条非跳转的双操作数操作的指一条非跳转的双操作数操作的指令中应该包含令中应该包含4 4个地址。个地址。lA1 OP A2A3 A1 OP A2A3 下条将要执行的下条将要执行的指令地址为指令地址为A4A4。四地址四地址lOP A1,A2,A3 lA1 OP A2A3 A1 OP A2A3 l下条将要执行的指令地址为下条将要执行的指令地址为 PC+1 PCPC+1 PC。三地址三地址lOP A1,A2lA1 OP A2A1 A1 OP A2A1 二地址二地址lOP A1 lA1 OP A A A1 OP
12、 A A 有一个隐地址在累有一个隐地址在累加器或堆栈中。加器或堆栈中。l例:例:MUL CXMUL CXl例:例:PUSH BXPUSH BX单地址单地址lOP l两个隐地址两个隐地址 l例:例:MOVSMOVSl例:例:XLAHXLAH零地址零地址1 1、零地址指令的指令中只有操作码,、零地址指令的指令中只有操作码,而没有地址码。而没有地址码。例如:例如:NOPNOP CLI CLI CBW CBW XLAT XLAT2 2、一地址指令常称单操作数指令。可以、一地址指令常称单操作数指令。可以 只有一个操作数也可以有两个操作数,只有一个操作数也可以有两个操作数,一个指令指明,另一个在堆栈或累加
13、一个指令指明,另一个在堆栈或累加 器中。器中。(AC)OP(A)AC(AC)OP(A)AC 例如:例如:INC OPD INC OPD 单操作数指令单操作数指令 MUL OPD MUL OPD 双操作数指令双操作数指令 PUSH OPS PUSH OPS 双操作数指令双操作数指令3 3、二地址指令常称双操作数指令,它、二地址指令常称双操作数指令,它有两个地址码字段有两个地址码字段A1A1和和A2A2,分别指明,分别指明参与操作的两个数在内存中或运算器参与操作的两个数在内存中或运算器通用寄存器的地址,其中地址通用寄存器的地址,其中地址A1A1兼做兼做存放操作结果的地址。存放操作结果的地址。(A1
14、)OP(A2)A1(A1)OP(A2)A1 例如:例如:ADD OPDADD OPD,OPSOPS AND OPD AND OPD,OPSOPS MOV OPD MOV OPD,OPS OPS 4 4、三地址指令字中有三个操、三地址指令字中有三个操作数地址作数地址A1A1,A2A2和和A3A3。(A1)OP(A2)A3(A1)OP(A2)A3 例如:例如:ADD R1ADD R1,R2R2,R3R3 (R3R3)=(R1R1)+(R2R2)从操作数的物理位置来说,又可从操作数的物理位置来说,又可归结为三种类型:归结为三种类型:1 1、访问内存的指令格式,我们称这、访问内存的指令格式,我们称这类
15、指令为存储器存储器类指令为存储器存储器(SSSS)型型指令;指令;数据多数据多 2 2、访问寄存器的指令格式,我们称、访问寄存器的指令格式,我们称这类指令为寄存器寄存器这类指令为寄存器寄存器(RRRR)型指令;型指令;速度快速度快 3 3、第三种类型为寄存器存储器、第三种类型为寄存器存储器(RSRS)型指令。型指令。一个指令字中包含二进制代码的一个指令字中包含二进制代码的位数,称为位数,称为指令字长度指令字长度。机器字长机器字长是指计算机能直接处理是指计算机能直接处理的二进制数据的位数,它决定了的二进制数据的位数,它决定了计算机的运算精度。计算机的运算精度。l指令长度指令长度固定长度:取指快、
16、译码简单。固定长度:取指快、译码简单。单字长、双字长、多字长单字长、双字长、多字长可变长度:可提高编码效率可变长度:可提高编码效率l指令助记符指令助记符伪指令、累加器,通用寄存器伪指令、累加器,通用寄存器指令字的长度主要取决于操作码的长指令字的长度主要取决于操作码的长度、操作数地址的长度和操作数地址度、操作数地址的长度和操作数地址的个数。的个数。指令长度并不是固定的指令长度并不是固定的 ,指令长度通,指令长度通常是字节的整数倍。常是字节的整数倍。例如:例如:80868086的指令长度为:的指令长度为:8 8、1616、3232、4040和和4848位六种。位六种。1 1、霍夫曼编码、霍夫曼编码
17、频率相关编码方法2 2、操作码的设计、操作码的设计 霍夫曼树 扩展霍夫曼树例例 某计算机有某计算机有1010条指令,它们的使用频条指令,它们的使用频率分别为率分别为:0.30,0.20,0.16,0.09,:0.30,0.20,0.16,0.09,0.08,0.07,0.04,0.03,0.02,0.010.08,0.07,0.04,0.03,0.02,0.01(1)(1)用霍夫曼编码对它们的操作码进行编用霍夫曼编码对它们的操作码进行编码,并计算平均代码长度。码,并计算平均代码长度。(2)(2)用扩展霍夫曼编码法对操作码进行编用扩展霍夫曼编码法对操作码进行编码,限两种操作码长度,并计算平均代码
18、,限两种操作码长度,并计算平均代码长度。码长度。0.151.000.390.190.100.060.030.310.610.010.020.030.040.070.080.090.160.200.30霍夫曼编码的结果以及各编码的长度如下所霍夫曼编码的结果以及各编码的长度如下所示:示:0.30 0.20 0.16 0.09 0.08 0.07 0.04 0.03 0.02 0.010.30 0.20 0.16 0.09 0.08 0.07 0.04 0.03 0.02 0.01 11 01 101 001 1001 1000 0001 00001 000001 000000 11 01 101
19、001 1001 1000 0001 00001 000001 000000 2 2 3 3 4 4 4 5 6 6 2 2 3 3 4 4 4 5 6 6平均代码长度为平均代码长度为(0.30+0.20)(0.30+0.20)2+(0.16+0.09)2+(0.16+0.09)3 3+(0.08+0.07+0.04)+(0.08+0.07+0.04)4+0.034+0.035+5+(0.02+0.01)(0.02+0.01)6 6=1+0.75+0.76+0.15+0.18=1+0.75+0.76+0.15+0.18=2.84=2.84(2)(2)用扩展霍夫曼编码法对操作码进行编码,限用扩展
20、霍夫曼编码法对操作码进行编码,限两种操作码长度,并计算平均代码长度。两种操作码长度,并计算平均代码长度。(2)(2)采用长度为采用长度为2 2和长度为和长度为4 4两种编码:两种编码:0.30 0.20 0.16 0.09 0.08 0.07 0.04 0.03 0.02 0.010.30 0.20 0.16 0.09 0.08 0.07 0.04 0.03 0.02 0.01 00 01 1000 1001 1010 1011 1100 1101 1110 1111 00 01 1000 1001 1010 1011 1100 1101 1110 1111平均代码长度为平均代码长度为 (0.
21、30+0.20)(0.30+0.20)2+(1-0.30-0.20)2+(1-0.30-0.20)4=3.04=3.0指令字长度等于机器字长度的指指令字长度等于机器字长度的指令,称为令,称为单字长指令单字长指令;指令字长度等于半个机器字长度指令字长度等于半个机器字长度的指令,称为的指令,称为半字长指令半字长指令;指令字长度等于两个机器字长度指令字长度等于两个机器字长度的指令,称为的指令,称为双字长指令双字长指令。使用多字长指令的目的使用多字长指令的目的 提供足够的地址位来解决提供足够的地址位来解决访问内存任何单元的寻址问题,访问内存任何单元的寻址问题,但是主要缺点是必须两次或多但是主要缺点是必
22、须两次或多次访问内存以取出整条指令,次访问内存以取出整条指令,这就降低了这就降低了CPUCPU的运算速度,同的运算速度,同时又占用了更多的存储空间。时又占用了更多的存储空间。如果在一个指令系统中,如果各如果在一个指令系统中,如果各种指令字长度是相等的,称为种指令字长度是相等的,称为等等长指令字结构长指令字结构,这种指令字结构,这种指令字结构简单,且指令字长度是不变的。简单,且指令字长度是不变的。如果各种指令字长度随指令功能如果各种指令字长度随指令功能而异,就称为而异,就称为变长指令字结构变长指令字结构。这种指令字结构灵活,能充分利这种指令字结构灵活,能充分利用指令长度,但指令的控制较复用指令长
23、度,但指令的控制较复杂。杂。为便于书写和记忆而设定为便于书写和记忆而设定的,与机器指令一一对应。的,与机器指令一一对应。l例例 若某计算机要求有如下形式的若某计算机要求有如下形式的指令:三地址指令指令:三地址指令4 4条,单地址指令条,单地址指令254254条,零地址指令条,零地址指令1616条条(不要求有不要求有二地址指令二地址指令)。设指令字长为。设指令字长为1212位,位,每个地址码长为每个地址码长为3 3位,试用扩展操作位,试用扩展操作码为其编码。码为其编码。l解:在三地址指令中三个地址字段占解:在三地址指令中三个地址字段占3 33=93=9位。剩下位。剩下12-9=312-9=3位作
24、为操作码,四条指令的操位作为操作码,四条指令的操作码分别为作码分别为000000、001001、010010、011011。在单地址指令中,操作码可以扩展到在单地址指令中,操作码可以扩展到12-3=912-3=9位,其中前位,其中前3 3位的代码是上述四个操作码以外的位的代码是上述四个操作码以外的4 4个编码,即首位为个编码,即首位为1 1。编码范围是。编码范围是1xxxxxxxx1xxxxxxxx。共有共有2 28 8=256=256个编码,取其前个编码,取其前254254个,个,100000000100000000111111101111111101。剩下。剩下2 2个作为扩展用。个作为扩
25、展用。对于零地址指令,全部对于零地址指令,全部1212位指令代码都是位指令代码都是操作码,其中前操作码,其中前9 9位剩下位剩下2 2个编码与后个编码与后3 3位的位的8 8个个编码正好构成编码正好构成1616个操作码。个操作码。操作码操作码111111101000111111111111零地址指100000000111111101000011单地址指三地址指地址码 1操作码地址码 1 地址码 2 地址码 3lIntel 8086/8088Intel 8086/8088指令格式指令格式opcode单字长指令单字长指令opcodeA双字长指令双字长指令opcodeA1A2三字长指令三字长指令lI
展开阅读全文