指令系统解析课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《指令系统解析课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统 解析 课件
- 资源描述:
-
1、第第4 4章章 指令系统指令系统本章学习内容本章学习内容l指令格式指令格式l寻址方式寻址方式lRISCRISC技术技术l指令系统设计举例指令系统设计举例12/5/202214.1 4.1 指令系统的基本概念指令系统的基本概念4.1.14.1.1、指令与指令系统、指令与指令系统l指令指令(机器指令):控制计算机执行某种操作的命令。(机器指令):控制计算机执行某种操作的命令。l指令字指令字(指令码):表示一条指令的一串二进制代码。(指令码):表示一条指令的一串二进制代码。l机器语言机器语言:用机器指令设计的编程语言,是:用机器指令设计的编程语言,是计算机硬件计算机硬件实体直接表示控制信息的语言实体
2、直接表示控制信息的语言。l机器语言程序机器语言程序:用机器语言编制的程序。任何用其它语:用机器语言编制的程序。任何用其它语言编制的程序,都必须经过言编制的程序,都必须经过“翻译翻译”,翻译为机器语,翻译为机器语言程序,才能在机器中正确的运行。言程序,才能在机器中正确的运行。l指令系统指令系统(指令集):一台计算机所能执行的全部指令(指令集):一台计算机所能执行的全部指令的集合。的集合。12/5/20222完善的指令系统应具备的特征完善的指令系统应具备的特征l 完备性完备性 l 高效性高效性 l 规整性规整性 l 兼容性兼容性 12/5/20223p操作码操作码:指定指令所要完成的操作;:指定指
3、令所要完成的操作;p操作数的来源;操作数的来源;p结果去向;结果去向;p下一条指令的地址。下一条指令的地址。因此,一条指令的基本格式为:因此,一条指令的基本格式为:操作码操作码 地址码地址码4.1.2 4.1.2 指令的格式指令的格式12/5/202241 1四地址指令四地址指令l四地址指令四地址指令格式格式:OP AOP A1 1 A A2 2 A A3 3 A A4 4lA A1 1:第一源操作数的:第一源操作数的地址地址;lA A2 2:第二源操作数的地址;:第二源操作数的地址;lA A3 3:存放操作结果的地址;:存放操作结果的地址;lA A4 4:指示下一条要执行指令的地址。:指示下
4、一条要执行指令的地址。l指令功能指令功能:(A(A1 1)OP(A)OP(A2 2)A)A3 3;A A4 4指示下条指令地址。指示下条指令地址。一、指令中地址码格式一、指令中地址码格式主存主存地址、地址、寄存器寄存器地址、地址、I/OI/O端口端口地址地址12/5/202252 2三地址指令三地址指令l格式格式:OP AOP A1 1 A A2 2 A A3 3lA A1 1:第一源操作数的地址;:第一源操作数的地址;lA A2 2:第二源操作数的地址;:第二源操作数的地址;lA A3 3:存放操作结果的地址;:存放操作结果的地址;l指令功能指令功能:(A(A1 1)OP(A)OP(A2 2
5、)A)A3 3;程序计数器;程序计数器PCPC指指示下条指令地址。示下条指令地址。12/5/20226l格式为:格式为:OP AOP A1 1 A A2 2 lA A1 1、A A2 2:是操作数所在的地址。:是操作数所在的地址。l指令功能指令功能:(A A1 1)OP(A)OP(A2 2)A A1 1 或或 (A(A1 1)OP()OP(A A2 2)A A2 2l源地址源地址:仅提供操作数的地址:仅提供操作数的地址l目的地址目的地址:既提供一个操作数,又是存放结果的地址。:既提供一个操作数,又是存放结果的地址。l二地址指令的几种形式二地址指令的几种形式 存储器存储器存储器型存储器型(SSS
6、S型)指令型)指令 寄存器寄存器寄存器型寄存器型(RRRR型)指令型)指令 寄存器寄存器存储器型存储器型(RSRS型)指令型)指令3 3二地址指令二地址指令12/5/202274 4一地址指令(单地址指令)一地址指令(单地址指令)l格式:格式:OP AOP AlA A提供操作数的地址。提供操作数的地址。l一地址指令有两种情况:一地址指令有两种情况:只需一个操作数只需一个操作数,其功能为:,其功能为:OP(A)A OP(A)A,如,如INCINC、DECDEC、NEGNEG等。等。涉及双操作数涉及双操作数:另一个操作数通常采用:另一个操作数通常采用隐含寻址隐含寻址的方法,的方法,将操作数隐含在约
7、定的将操作数隐含在约定的累加器累加器ACAC中,其指令功能为:中,其指令功能为:(AC)OP(A)AC(AC)OP(A)AC。12/5/202285 5零地址指令零地址指令l格式:格式:OP OP l零地址指令有两种情况:零地址指令有两种情况:不需操作数的不需操作数的控制型指令控制型指令,如,如HLTHLT、WAITWAIT、NOPNOP等。等。堆栈支持堆栈支持的的零地址零地址指令:操作数隐含在堆栈中,指令:操作数隐含在堆栈中,其地址隐含在其地址隐含在SPSP中。如中。如RETRET(过程返回)、(过程返回)、IRETIRET(中断返回)。(中断返回)。12/5/202291.1.定长编码定长
8、编码:所有指令的操作码长度相同。指令:所有指令的操作码长度相同。指令译码简单,易于硬件设计。译码简单,易于硬件设计。2.2.可变长编码可变长编码:不同指令的操作码长度可以不同,:不同指令的操作码长度可以不同,通常采用通常采用扩展操作码扩展操作码技术。技术。l扩展操作码技术扩展操作码技术:当指令长度一定时当指令长度一定时,将操作,将操作数数地址多地址多的指令选择的指令选择短的操作码短的操作码,操作数,操作数地址地址少少的指令选择的指令选择较长操作码较长操作码。从而在不增加指令。从而在不增加指令长度的情况下扩展操作码长度,长度的情况下扩展操作码长度,使其能表示更使其能表示更多的指令多的指令。二、指
9、令中操作码格式二、指令中操作码格式12/5/202210例:设某机的指令长度为例:设某机的指令长度为1616位。操作码为位。操作码为4 4位,具有三个地位,具有三个地址字段,每个地址字段长为址字段,每个地址字段长为4 4位。要求有位。要求有1515条三地址指令,条三地址指令,1515条二地址指令,条二地址指令,1515条一地址指令和条一地址指令和1616条零地址指令。条零地址指令。15 1215 1211 811 87 47 43 03 0OPOP A A1 1A A2 2A A3 30000 0000 xxxx xxxx xxxx1110 1110 xxxx xxxx xxxx1111111
10、1 00000000 xxxx xxxx1515条条三三地址指令地址指令11111111 11101110 xxxx xxxx11111111 11111111 00000000 xxxx1515条条二二地址指令地址指令11111111 11111111 11101110 xxxx1515条条一一地址指令地址指令11111111 11111111 11111111 0000000011111111 11111111 11111111 111111111616条条零零地址指令地址指令12/5/202211三、指令字长与机器字长三、指令字长与机器字长1.1.定长定长指令字指令字指令字长指令字长固定
11、固定l结构简单、便于控制,不易扩展,平均指令长结构简单、便于控制,不易扩展,平均指令长度长。度长。2.2.变长变长指令字指令字指令字长指令字长可变可变l指令长度为字节的整数倍,如单字长指令、双指令长度为字节的整数倍,如单字长指令、双字长指令、半字长指令等。字长指令、半字长指令等。l平均指令长度短,易于扩展,但不同指令执行平均指令长度短,易于扩展,但不同指令执行时间不一致,控制比较复杂。时间不一致,控制比较复杂。12/5/202212l机器字长机器字长l 计算机能直接处理的计算机能直接处理的二进制数据的位数二进制数据的位数l 计算机性能的一个重要的指标计算机性能的一个重要的指标 l 指令字长指令
12、字长l 一条指令中包含一条指令中包含二进制代码的位数二进制代码的位数l 取决于操作码的长度、操作数的地址的长度和操作取决于操作码的长度、操作数的地址的长度和操作数地址的个数数地址的个数l 指令的长度有固定的,也有不固定的。为了充分利指令的长度有固定的,也有不固定的。为了充分利用存储空间,指令的长度通常为字节的整数倍。用存储空间,指令的长度通常为字节的整数倍。n 两者之间没有固定的关系两者之间没有固定的关系 l 单字长指令单字长指令 l 半字长指令半字长指令 l 双字长指令双字长指令 12/5/2022134.1.3 4.1.3 指令的类型指令的类型 l 数据传送类指令数据传送类指令 用于实现用
13、于实现通用寄存器通用寄存器之间、通用寄存器与存储之间、通用寄存器与存储单元之间、存储器不同单元之间的数据传送单元之间、存储器不同单元之间的数据传送 l 运算类指令运算类指令 l算数运算算数运算l逻辑运算逻辑运算12/5/202214l 移位类指令移位类指令 12/5/202215l程序控制类指令程序控制类指令l转移类指令转移类指令 l子程序调用与返回指令子程序调用与返回指令 l输入输出(输入输出(I/OI/O)类指令)类指令输入输出(输入输出(I/OI/O)类指令完成主机与外围设备)类指令完成主机与外围设备间的数据传送间的数据传送 l其他指令其他指令 12/5/2022164.2 4.2 寻址
14、方式寻址方式寻址的基本概念寻址的基本概念l寻址方式寻址方式操作数的寻址方式操作数的寻址方式:指令的寻址方式指令的寻址方式:l有效地址有效地址EAEA:l形式地址:形式地址:l操作数寻址操作数寻址就是按一定的寻址方式由形式地址就是按一定的寻址方式由形式地址得到有效地址得到有效地址。形成本条指令的形成本条指令的操作数地址的方法操作数地址的方法形成形成下一条下一条要执行要执行指令的地址指令的地址的方法的方法操作数的实际地址。操作数的实际地址。指令字中给定的地址。指令字中给定的地址。12/5/2022171 1、立即寻址、立即寻址l指令字中的地址码部分直接给出操作数。指令字中的地址码部分直接给出操作数
15、。lDATA=ADATA=Al例如:例如:MOV MOV#1000H#1000H,RnRnlRnRn,操作数在指令字中,取指令时即取出操作数,操作数在指令字中,取指令时即取出操作数,不必访存取操作数不必访存取操作数4.2.14.2.1、数据寻址数据寻址形式地址形式地址寻址方式寻址方式操作码操作码A A立即寻址立即寻址OPOP例:一地址指令例:一地址指令12/5/2022182 2、直接寻址、直接寻址l地址码部分直接给出地址码部分直接给出操作数操作数在内存中在内存中的有效地址的有效地址EAEA。lEA=AEA=AlDATA=(EA)=(A)DATA=(EA)=(A)l例如:例如:MOV MOV
16、1000H,1000H,RnRnl无需计算无需计算EAEA,执行指令时,需一次访存取操作数,执行指令时,需一次访存取操作数形式地址形式地址寻址方式寻址方式操作码操作码A A直接寻址直接寻址OPOPDATADATA内存内存12/5/202219l指令字中的地址码部分给出的指令字中的地址码部分给出的是是操作数地址的地址操作数地址的地址或是或是指示操作数地址的地址指示字指示操作数地址的地址指示字。lEA=(A)EA=(A)lDATA=(EA)=(A)DATA=(EA)=(A)l例如:例如:MOV MOV (1000H),(1000H),RnRnl一级间址方式需两次访存才能取得操作数一级间址方式需两次
17、访存才能取得操作数形式地址形式地址寻址方式寻址方式操作码操作码A A间接寻址间接寻址OPOPEAEA内存内存DATADATA一级间址一级间址3 3、间接寻址、间接寻址12/5/202220l指令字中的地址码部分给出指令字中的地址码部分给出某一通用寄存器号某一通用寄存器号,该,该寄存器的内容寄存器的内容即为指令所需的即为指令所需的操作数操作数。lEA=REA=Ri ilDATA=(RDATA=(Ri i)l例如:例如:MOV MOV R R1 1,R R2 2l操作数在寄存器中,无需访存取操作数,速度快操作数在寄存器中,无需访存取操作数,速度快形式地址形式地址寻址方式寻址方式操作码操作码R Ri
18、 i寄存器直接寻址寄存器直接寻址OPOP4 4、寄存器直接寻址(寄存器寻址)、寄存器直接寻址(寄存器寻址)DATADATA寄存器组寄存器组R R0 0R Ri i12/5/202221l指令字中的地址码部分所指定的指令字中的地址码部分所指定的寄存器中内容是操寄存器中内容是操作数在内存中的有效地址作数在内存中的有效地址。lEA=(REA=(Ri i)lDATA=(RDATA=(Ri i)l例如:例如:MOV MOV(R R1 1),),R R2 2l取操作数时需要一次访存取操作数时需要一次访存EAEADATADATA内存内存形式地址形式地址寻址方式寻址方式操作码操作码R Ri i寄存器间接寻址寄
展开阅读全文