计算机组成原理第七章指令系统)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成原理第七章指令系统)课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 第七 指令系统 课件
- 资源描述:
-
1、第七章第七章 指指 令令 系系 统统7.1 机器指令机器指令 7.2 操作数类型和操作类型操作数类型和操作类型 7.3 寻址方式寻址方式 7.4 指令格式举例指令格式举例 7.5 RISC 技术技术 一、考试范围2二、复习要点二、复习要点 1)理解指令的基本格式、定长与扩展操作码格式。理解指令的基本格式、定长与扩展操作码格式。2)掌握指令寻址方式的基本概念、常见寻址方式及)掌握指令寻址方式的基本概念、常见寻址方式及其有效地址的计算。其有效地址的计算。3)了解)了解CISC和和RISC的基本概念的基本概念3 指令指令是指示计算机执行某项运算或处理功能的是指示计算机执行某项运算或处理功能的命令,一
2、台计算机支持的全部指令构成这台计命令,一台计算机支持的全部指令构成这台计算机的指令系统。指令系统与机器的运行性能、算机的指令系统。指令系统与机器的运行性能、硬件结构的复杂程度和制造成本、使用的方便硬件结构的复杂程度和制造成本、使用的方便性等密切相关,是设计一台计算机的基本依据。性等密切相关,是设计一台计算机的基本依据。指令系统的评价指令系统的评价:1)完备性)完备性 指令齐全,编程方便指令齐全,编程方便2)高效性)高效性 程序占内存空间少,运行速度快程序占内存空间少,运行速度快3)规则性)规则性 指令和数据使用规则统一简单,易指令和数据使用规则统一简单,易学易记学易记4)兼容性)兼容性 同一系
3、列机器,程序向上兼容同一系列机器,程序向上兼容4一、指令的一般格式一、指令的一般格式 操作码字段操作码字段 地址码字段地址码字段1.操作码操作码反映机器做什么操作反映机器做什么操作(3)扩展操作码技术扩展操作码技术(1)定长码)定长码指令系统中,所有指令指令系统中,所有指令OP码长度相等码长度相等优点:规则性好,编译效率高优点:规则性好,编译效率高缺点:指令平均长度长(占空间大,执行速度低)。缺点:指令平均长度长(占空间大,执行速度低)。(2)变长码)变长码操作码长度不等(复杂长,简单短)操作码长度不等(复杂长,简单短)优点:指令平均长度短优点:指令平均长度短缺点:规则性差,编译效率低缺点:规
4、则性差,编译效率低操作码的长度随地址数的减少而增加操作码的长度随地址数的减少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作码位操作码8 位操作码位操作码12 位操作码位操作码16 位操作码位操作码15条三地址指令条三地址指令15条二地址指令条二地址指令15条一地址指令条一地址指令16条零地址指令
5、条零地址指令2.地址码地址码(1)四地址四地址(2)三地址三地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作数地址第一操作数地址A2 第二操作数地址第二操作数地址A3 结果的地址结果的地址A4 下一条指令地址下一条指令地址若若 PC 代替代替 A4(A1)OP(A2)A38 8 8 8 OP A1 A2 A3(A1)OP(A2)A34 次访存次访存4 次访存次访存寻址范围寻址范围 26=64寻址范围寻址范围 28=256若若 A3 用用 A1 或或 A2 代替代替设指令字长为设指令字长为 32 位位操作码固定为操作码固定为 8 位位(3)二地址二地址OP A1 A28 12 1
6、2或或4 次访存次访存若若ACC 代替代替 A1(或或A2)若结果存于若结果存于 ACC (4)一地址一地址(5)零地址零地址OP A18 24无地址码无地址码(ACC)OP(A1)ACC2 次访存次访存寻址范围寻址范围 212=4 K寻址范围寻址范围 224=16 M 3次访存次访存(A1)OP(A2)A1微型机微型机(A1)OP(A2)A2小型机小型机二、指令字长二、指令字长指令字长决定于指令字长决定于操作码的长度操作码的长度指令字长指令字长=存储字长存储字长2.指令字长指令字长 可变可变操作数地址的长度操作数地址的长度操作数地址的个数操作数地址的个数1.指令字长指令字长 固定固定按字节的
7、倍数变化按字节的倍数变化8n举例:举例:1、假设指令字长为、假设指令字长为16位,操作数的地址码为位,操作数的地址码为6位,位,指令有零地址、一地址、二地址三种格式。指令有零地址、一地址、二地址三种格式。(1)设操作码固定,若零地址指令有)设操作码固定,若零地址指令有P种,一地种,一地址指令有址指令有Q种,则二地址指令有多少种?种,则二地址指令有多少种?(2)采用扩展操作码技术,若二地址指令有)采用扩展操作码技术,若二地址指令有X种,种,零地址指令有零地址指令有Y种,则一地址指令最多有几种?种,则一地址指令最多有几种?解:解:(1)24-P-Q(2)设一地址指令有)设一地址指令有Z种,则种,则
8、(24-X)26-Z 26=YZ=Z=(24-X)26-Y2-62、某计算机指令字长为、某计算机指令字长为16位,采用位,采用R-R寻址方式,寻址方式,共有共有16个寄存器,指令系统有三地址、二地址、一个寄存器,指令系统有三地址、二地址、一地址及零地址指令,采用扩展操作码技术设计指令地址及零地址指令,采用扩展操作码技术设计指令系统。系统。12OPOPA A1 1A A2 2A A3 34 4位位4 4位位4 4位位4 4位位OPOP1515条三地址指令条三地址指令0000 XXXX YYYY ZZZZ0000 XXXX YYYY ZZZZ1110 XXXX YYYY ZZZZ1110 XXXX
9、 YYYY ZZZZ111111111515条二地址指令条二地址指令11111111 0000 XXXX YYYY 0000 XXXX YYYY1111 1110 XXXX YYYY1111 1110 XXXX YYYY1111 11111111 11111515条一地址指令条一地址指令1111 11111111 1111 0000 XXXX 0000 XXXX1111 1111 1110 XXXX1111 1111 1110 XXXX1111 1111 11111111 1111 11111616条零地址指令条零地址指令1111 1111 11111111 1111 1111 0000 00
10、001111 1111 1111 11111111 1111 1111 1111扩展标志扩展标志扩展标志扩展标志扩展标志扩展标志OPOPA1A1A2A2OPOPA1A1指令操作码扩展指令操作码扩展113指令操作码扩展指令操作码扩展2:0000000 0 XXXX YYYY ZZZZ XXXX YYYY ZZZZ1111110 0 XXXX YYYY ZZZZ XXXX YYYY ZZZZ1111111 1 11101110 0000 0000 XXXX XXXX1111111 1 11101110 1111 1111 XXXX XXXX1111111 1111 11111 1111 1111
11、0000 00001111111 1111 11111 1111 1111 1111 11111616条零地址指令条零地址指令1111111 1 00000000 XXXX YYYY XXXX YYYY1111111 1 11011101 XXXX YYYY XXXX YYYY1111111 1 11111111 00000000 XXXX XXXX1111111 1 11111111 11101110 XXXX XXXX1515条三地址指令条三地址指令1414条二地址指令条二地址指令1616条一地址指令条一地址指令1515条一地址指令条一地址指令3131一、操作数类型一、操作数类型地址地址数
12、字数字字符字符逻辑数逻辑数无符号整数无符号整数定点数、浮点数、十进制数定点数、浮点数、十进制数ASCII逻辑运算逻辑运算二、数据在存储器中的存放方式二、数据在存储器中的存放方式字地址字地址 为为 低字节低字节 地址地址字地址字地址 为为 高字节高字节 地址地址37621540字地址字地址04低字节低字节04512673字地址字地址04低字节低字节(小端方式)(小端方式)(大端方式)(大端方式)154字节字节32位存储器位存储器字地址字地址0字地址字地址4半字地址半字地址8半字地址半字地址10半字地址半字地址12字节地址字节地址15半字地址半字地址22字节地址字节地址14字节地址字节地址19 字
13、节地址字节地址18字节地址字节地址16字节地址字节地址17字节地址字节地址20字节地址字节地址21地址地址048121620在数据对准边界存储的计算机中,对于以二进制表示的存储地址来在数据对准边界存储的计算机中,对于以二进制表示的存储地址来说,说,半字地址的最低位、字地址的最低两位和双字地址的最低三位半字地址的最低位、字地址的最低两位和双字地址的最低三位恒为零。恒为零。这种方式的整个字的存储时间要短,需要这种方式的整个字的存储时间要短,需要1个存储周期。个存储周期。按字存储时有大端和小端二种排放格式。即高字节内容放在高字节按字存储时有大端和小端二种排放格式。即高字节内容放在高字节地址中为小端模
14、式。地址中为小端模式。存储器中的数据存放(存储字长为存储器中的数据存放(存储字长为 32 位)位)1632位、位、4个字节个字节地址地址048字节字节半字的一半半字的一半一字的一字的3/4半字半字 有的计算机不要求对准边界存储数据,如有的计算机不要求对准边界存储数据,如下图所示,但这种方式增加硬件的复杂程度,下图所示,但这种方式增加硬件的复杂程度,并且有可能导致访问次数增加。例如存储一个并且有可能导致访问次数增加。例如存储一个字,则需要字,则需要2个存储周期。个存储周期。半字另一半半字另一半一字的一字的1/4半字半字三、操作类型三、操作类型1.数据传送数据传送源源目的目的寄存器寄存器寄存器寄存
15、器寄存器寄存器寄存器寄存器存储器存储器存储器存储器存储器存储器存储器存储器置置“1”,清,清“0”2.算术逻辑操作算术逻辑操作加、减、乘、除、增加、减、乘、除、增 1、减、减 1、求补、浮点运算、十进制运算、求补、浮点运算、十进制运算与、或、非、异或、位操作、位测试、位清除、位求反与、或、非、异或、位操作、位测试、位清除、位求反如如 8086MOVESTORELOADMOVEPUSHPOP例如例如MOVEMOVEADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TEST3.移位操作移位操作算术移位算术移位4.转移转移(
16、1)无条件转移无条件转移 JMP(2)条件转移条件转移结果为零转结果为零转 (Z=1)JZ结果溢出转结果溢出转 (O=1)JO结果有进位转(结果有进位转(C=1)JC跳过一条指令跳过一条指令 SKP循环移位(带进位和不带进位)循环移位(带进位和不带进位)如如300305306307SKP DZ D=0 则跳则跳逻辑移位逻辑移位完成触发器完成触发器(3)调用和返回调用和返回CALL SUB1.CALL SUB2.CALL SUB2RETURNRETURN.主程序主程序地址地址200021002101子程序子程序SUB1240025002501256025612700主存空间分配主存空间分配程序执
17、行流程程序执行流程子程序子程序SUB2IN AX,nOUT DX,ALOUT n,AXOUT DX,AX(4)陷阱(陷阱(Trap)与陷阱指令与陷阱指令意外事故的中断意外事故的中断 设置供用户使用的陷阱指令设置供用户使用的陷阱指令如如 8086 INT TYPE 软中断软中断提供给用户使用的陷阱指令,完成系统调用提供给用户使用的陷阱指令,完成系统调用5.输入输出输入输出 一般不提供给用户直接使用一般不提供给用户直接使用 在出现事故时,由在出现事故时,由 CPU 自动产生并执行(隐指令)自动产生并执行(隐指令)IN AL,DXIN AX,DX入入 端口地址端口地址 CPU 的寄存器的寄存器出出
18、CPU 的寄存器的寄存器 端口地址端口地址如如如如IN AL,nOUT n,AL寻址方式寻址方式 确定确定 本条指令本条指令 的的 操作数地址操作数地址下一条下一条 欲执行欲执行 指令指令 的的 指令地址指令地址指令寻址指令寻址数据寻址数据寻址寻址方式寻址方式一、指令寻址一、指令寻址顺序顺序(PC)+1 PC跳跃跳跃由转移指令指出由转移指令指出LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址寻址方式指令地址寻址方式指令地址指令地址指令指令顺序寻址顺序寻址1顺序寻址顺序寻址2顺序
19、寻址顺序寻址3跳跃寻址跳跃寻址7顺序寻址顺序寻址8二、数据寻址二、数据寻址 形式地址形式地址 指令字中的地址指令字中的地址 有效地址有效地址 操作数的真实地址操作数的真实地址 约定约定 指令字长指令字长=存储字长存储字长=机器字长机器字长1.立即寻址立即寻址 指令执行阶段不访存指令执行阶段不访存 A 的位数限制了立即数的范围的位数限制了立即数的范围形式地址形式地址 A操作码操作码寻址特征寻址特征OP#A立即寻址特征立即寻址特征立即数立即数 可正可负可正可负 补码补码形式地址形式地址 A 就是操作数就是操作数2.直接寻址直接寻址EA=A操作数操作数主存主存寻址特征寻址特征LDAAAACC 执行阶
20、段访问一次存储器执行阶段访问一次存储器 A 的位数决定了该指令操作数的寻址范围的位数决定了该指令操作数的寻址范围 操作数的地址不易修改(必须修改操作数的地址不易修改(必须修改A)有效地址由形式地址直接给出有效地址由形式地址直接给出3.隐含寻址隐含寻址操作数地址隐含在操作码中操作数地址隐含在操作码中ADDA操作数操作数主存主存寻址特征寻址特征AACC暂存暂存ALU另一个操作数另一个操作数隐含在隐含在 ACC 中中如如 8086MUL 指令指令被乘数隐含在被乘数隐含在 AX(16位)或位)或 AL(8位)中位)中MOVS 指令指令源操作数的地址隐含在源操作数的地址隐含在 SI 中中目的操作数的地址
21、隐含在目的操作数的地址隐含在 DI 中中 指令字中少了一个地址字段,可缩短指令字长指令字中少了一个地址字段,可缩短指令字长4.间接寻址间接寻址EA=(A)有效地址由形式地址间接提供有效地址由形式地址间接提供OPA寻址特征寻址特征AEA主存主存EAA1EA A1主存主存 EA10 执行指令阶段执行指令阶段 2 次访存次访存 可扩大寻址范围可扩大寻址范围 便于编制程序便于编制程序OPA寻址特征寻址特征A一次间址一次间址多次间址多次间址操作数操作数操作数操作数多次访存多次访存 子程序子程序主程序主程序8081201202转转 子程序子程序转转 子程序子程序间接寻址编程举例间接寻址编程举例(A)=81
22、(A)=202 间址特征间址特征JMP A 5.寄存器寻址寄存器寻址EA=Ri 执行阶段不访存,只访问寄存器,执行速度快执行阶段不访存,只访问寄存器,执行速度快OPRi寻址特征寻址特征 寄存器个数有限,可缩短指令字长寄存器个数有限,可缩短指令字长操作数操作数R0RiRn寄存器寄存器有效地址即为寄存器编号有效地址即为寄存器编号EA=(Ri)6.寄存器间接寻址寄存器间接寻址 有效地址在寄存器中,有效地址在寄存器中,操作数在存储器中,执行阶段访存操作数在存储器中,执行阶段访存操作数操作数主存主存OPRi寻址特征寻址特征 便于编制循环程序便于编制循环程序地址地址R0RiRn寄存器寄存器有效地址在寄存器
23、中有效地址在寄存器中7.基址寻址基址寻址(1)采用专用寄存器作基址寄存器采用专用寄存器作基址寄存器EA=(BR)+ABR 为基址寄存器为基址寄存器OPA操作数操作数主存主存寻址特征寻址特征ALUBR 可扩大寻址范围可扩大寻址范围 便于程序搬家便于程序搬家 BR 内容由操作系统或管理程序确定内容由操作系统或管理程序确定 在程序的执行过程中在程序的执行过程中 BR 内容不变,形式地址内容不变,形式地址 A 可变可变(2)采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作数操作数主存主存寻址特征寻址特征ALUOPR0AR0 作基址寄存器作基址寄存器 由用户指定哪个通用寄存器作为基址寄存器由用户
24、指定哪个通用寄存器作为基址寄存器通用寄存器通用寄存器R0Rn-1R1 基址寄存器的内容由操作系统确定基址寄存器的内容由操作系统确定 在程序的执行过程中在程序的执行过程中 R0 内容不变,形式地址内容不变,形式地址 A 可变可变8.变址寻址变址寻址EA=(IX)+AOPA操作数操作数主存主存寻址特征寻址特征ALUIX 可扩大寻址范围可扩大寻址范围 便于处理数组问题便于处理数组问题 IX 的内容由用户给定的内容由用户给定 IX 为变址寄存器(专用)为变址寄存器(专用)在程序的执行过程中在程序的执行过程中 IX 内容可变,形式地址内容可变,形式地址 A 不变不变通用寄存器也可以作为变址寄存器通用寄存
25、器也可以作为变址寄存器例例 设数据块首地址为设数据块首地址为 D,求求 N 个数的平均值个数的平均值直接寻址直接寻址变址寻址变址寻址LDA DADD D+1ADD D+2ADD D+(N-1)DIV#NSTA ANSLDA#0LDX#0INXCPX#NBNE MDIV#NSTA ANS共共 N+2 条指令条指令共共 8 条指令条指令ADD X,DMX 为变址寄存器为变址寄存器D 为形式地址为形式地址(X)和和#N 比较比较(X)+1 X结果不为零则转结果不为零则转9.相对寻址相对寻址 EA=(PC)+AA 是相对于当前指令的位移量(可正可负,补码)是相对于当前指令的位移量(可正可负,补码)A
展开阅读全文