欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第4章指令系统.ppt

    • 资源ID:2251775       资源大小:463.50KB        全文页数:82页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章指令系统.ppt

    1,第4章 指令系统,4.1 指令格式4.2 寻址方式4.3 指令类型4.4 复杂指令系统计算机和精简指令系统计算机4.5 指令系统举例,2,4.1 指令格式,4.1.1 指令四要素4.1.2 指令的地址数目4.1.3 指令的操作码4.1.4 指令长度,3,4.1.1 指令四要素,1)操作码表征指令的操作特性与功能。n 2n2)源操作数地址通过该地址取得所需的操作数。来源:寄存器组、主存或虚存、I/O设备3)目的操作数地址指出指令的操作结果被存放的地方。4)下一条指令的地址顺序执行:隐含(PC)+1 PC改变执行顺序:显式指出,4,4.1.2 指令的地址数目,根据地址码部分所给出地址的个数可分为:零地址指令、一地址指令、二地址指令、三地址指令、多地址指令1)零地址指令只有操作码,而没有地址码无需任何操作数操作数是隐含的,操作码,5,2)一地址指令单操作数指令隐含第二操作数,如:()(),6,3)二地址指令双操作数指令()()()进一步分类为 MM RR RM,7,4)三地址指令()()5)多地址指令用于处理成批数据,8,4.1.3 指令的操作码,1)指令操作码的两种编码方式定长编码(固定格式)操作码长度固定,且集中放在指令字的一个字段中。变长编码(可变格式)操作码的长度可变,且分散地放在指令字的不同字段中。,9,2)可变格式指令的扩展技术,指令字中用一个固定长度的字段表示基本操作码,对于不需要某个地址码的指令,可将操作码扩充到地址码字段。例如:某机器的指令长度为16位,其中4位基本操作码字段,3个4位地址码字段,采用操作码扩展技术可以形成多于16条指令。,10,一种扩展方法如下:15条三地址指令,操作码 0000111015条二地址指令,操作码 11110000 1111111015条一地址指令,操作码 111111110000 11111111111016条一地址指令,操作码 11111111111100001111111111111111 共61条,11,例题:假设某计算机指令长度为20位,具有二地址指令、一地址指令、零地址指令三类指令形式,在此情况下,这台计算机地址规定用6位表示,问:(1)若操作码字段固定为8位,现已设计出m条二地址指令,n条零地址指令,在此情况下,这台计算机最多可以设计出多少条一地址指令?(2)当二地址指令条数取最大值,且此基础上一地址指令条数也取最大值时,计算这台计算机最多指令数是多少?,12,答:(1)由于操作码的位数决定了指令系统的规模及指令的性质。所以一地址指令的条数:28-m-n=256-m-n(2)应为255+63+64=382条。,13,4.1.4 指令长度,1)指令长度与机器字长的关系机器字长是指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。指令长度一条指令中包含二进制代码的位数。单字长指令、半字长指令、双字长指令使用多字长指令的目的提供足够的地址位来解决访问主存任何单元的寻址问题。,14,2)等长指令字结构、变长指令字结构,等长指令字结构所有指令的长度都是相等的。指令字结构简单,指令译码和流水线执行较容易。变长指令字结构指令字长度随指令功能而异。指令字结构灵活,能缩短指令的平均长度,但指令的控制较复杂。,15,4.2 寻址方式,形成操作数或指令地址的方式,称为寻址方式。寻址方式分为两类指令寻址方式操作数寻址方式指令寻址方式顺序寻址方式跳跃寻址方式,16,操作数的寻址方式指令中地址码字段一般是由形式地址和寻址方式特征位(或字段)组成,并不是操作数的有效地址(实际地址)。所谓操作数的寻址方式,就是形成操作数的有效地址(EA)的方法。,17,确定一台计算机系统的寻址方式,必须综合考虑以下几点:指令内包含的地址尽量短,以缩短指令长度能访问尽可能大的存储空间寻址方法尽可能简单,简化硬件设计在不改变指令的情况下,改变地址的实际值,从而方便地访问数组、串、表格等复杂数据。,18,4.2.1 常用的基本寻址方式1)立即寻址指令的地址字段指出的是操作数本身。立即寻址方式的特点:指令执行速度快;在执行过程,操作数不能修改。EA=(PC),19,指令的地址码部分直接给出操作数在存储器中的地址(有效地址)。有效地址EA=A直接寻址方式的特点简单直观,便于硬件实现;要寻址大容量的主存空间,将造成指令长度加长。,2)直接寻址,20,3)间接寻址,指令中的地址码部分给出一个指示操作数有效地址的地址指示字;通过地址指示字找到操作数的有效地址,再由有效地址找到操作数。有效地址EA=(A),A,EA,21,间接寻址方式的特点:非常灵活,当操作数地址需改变时,不必修改指令,只要修改有效地址中的内容即可。一次间接需两次访问主存才能取得操作数,降低了指令执行速度。,22,4)寄存器寻址方式,操作数存放在CPU的通用寄存器中。指令中地址码部分给出某一通用寄存器的编号。EA=Ri,操作数,23,5)寄存器间接寻址,指令中地址码部分所指定的寄存器中内容是操作数的有效地址。有效地址EA=(Ri)寄存器间接寻址方式的特点只需访问存储器一次即可得到操作数;寄存器给出全字长的地址码,可寻址较大的存储空间。,操作数,主存,24,6)相对寻址,程序计数器PC的当前内容加上指令给出的形式地址形成操作数的有效地址。形式地址实际上规定了操作数地址和指令地址的相对位置,这个值称为相对位移量(Disp)。有效地址EA=(PC)+Disp,25,相对寻址方式的特点转移地址不是固定的,随着PC值的变化而变化,有利于程序的再定位。位移量一般用补码表示。如果位移量为8位,则寻址范围为(PC)128(PC)+127。,26,例题:若某计算机数据线、地址线均是8bit,有一条相对寻址的无条件转移指令存于主存的20H单元中,指令给出的位移量D=00010101B,设该指令占用2个字节,计算:(1)取该指令时PC的内容;(2)该指令执行结束时PC的内容。,27,7)变址寻址,指令地址码部分给出的形式地址与指令中指定的变址寄存器的内容相加开成操作数的有效地址。有效地址EA=(RX)+A,主存,操作数,X,通用寄存器,EA,28,8)基址寻址,指令地址码部分给出的形式地址与基址寄存器中的内容相加形成操作数的有效地址。有效地址EA=(Rb)+A,主存,操作数,X,通用寄存器,29,基址寻址中基址寄存器提供基准量而指令提供位移量;变址寻址中变址寄存器提供修改量而指令提供基准量。基址寻址面向系统,用于程序定位和扩大寻址空间;变址寻址面向用户,用于访问数组、向量、字符串等成批数据,以解决程序的循环控制问题。,30,4.2.2 复合型寻址方式,1)基址变址寻址方式EA=(Rb)+(Rx)+A2)相对间接寻址方式EA=(PC)+A)3)间接相对寻址方式EA=(PC)+(A)4)变址间接寻址方式EA=(Rx)+A)5)间接变址寻址方式EA=(Rx)+(A),31,例题:一种单地址指令的结构如下图所示:,其中I为间址特征,X为寻址模式,D为形式地址,设R为通用寄存器,也可作为变址寄存器。在下表中填入适当的寻址方式名称。,32,33,4.3 指令类型,设计指令系统,应考虑如下原则:完整性有效性 扩充性 兼容性,34,指令类型(按指令所完成的功能分类)数据传送指令算术逻辑运算指令移位操作指令浮点运算指令十进制运算指令字符串处理指令转移类指令堆栈操作指令输入/输出指令其他指令,35,1)数据传送指令,一般传送指令用来实现主存和寄存器之间、主存和主存、寄存器和寄存器之间的数据传送。数据交换指令数据块传送指令,36,2)算术逻辑运算指令,(1)算术运算指令 这类指令用于定点数的算术运算如:加、减、乘、除、加1、减1、求补、比较等指令(2)逻辑运算指令与、或、非、异或位操作:测试、清除、置位、求反等,算术逻辑运算指令通常根据运算结果设置状态位:Z、S、C、V、P,37,3)移位操作指令,算术移位(带符号数)逻辑移位(无符号数)循环移位:大循环、小循环双字移位,C,38,4)浮点运算指令5)十进制运算指令6)字符串处理指令如:字符串传送、字符串比较、字符串查找、字符串提取、字符串转换等7)转移类指令(1)转移指令无条件转移指令jump条件转移指令branch,39,转移指令的转移地址一般采用直接寻址的和相对寻址方式来确定。采用直接寻址方式,转移地址由指令地址码部分直接给出。采用相对寻址方式,则称为相对转移,转移地址为当前指令地址(PC的值)和指令地址部分给出的位移量相加。,40,16种可能采用的转移条件P=1 P=0 Z=1 Z=0S=1 S=0 V=1 V=0 无符号数 带符号数AB C+Z=0(SV)+Z=0,41,(2)循环控制指令(3)调用指令与返回指令call与jump和branch的主要差别是保留返回地址(用堆栈)保留、恢复寄存器内容的两种方法由调用程序保留、恢复由被调用程序保留、恢复,42,8)堆栈及堆栈操作指令,堆栈是以“先进后出”(FILO)方式工作的一个存储区。堆栈只有一个出口,即当前栈顶;用堆栈指针寄存器SP指定。压栈操作:,PUSH AX,12H,34H,1234H,43,弹栈的操作,POP BX,1234H,44,堆栈的两种生成方式自底向上生成方式(向低地址生长)压栈 PUSH A;(SP)-1 SP,(A)(SP)弹栈 POP A;(SP)A,(SP)+1 SP 自顶向下生成方式(向高地址生长)压栈 PUSH A;(SP)+1 SP,(A)(SP)弹栈 POP A;(SP)A,(SP)-1 SP,45,堆栈用途在一般结构的计算机中,堆栈主要用于暂存子程序、中断调用时的返回地址和现场以及用于传送参数。通常设置参数指针,利用它访问堆栈不受堆栈的FILO性质的限制在堆栈结构的计算机中(如HP-3000),堆栈作为提供操作数和保存运算结果的主要存储区,大多数指令皆访问堆栈(零地址指令)。,46,9)输入/输出(I/O)指令,输入输出指令完成主机与外部设备间的信息(数据信息、状态信息、控制信息)传送。通常输入输出指令有三种设置方式专用I/O指令独立编址用通用的数据传送指令实现I/O操作统一编址通过I/O处理机(通道)执行I/O操作,47,10)其他指令控制指令完成某种控制功能的指令,如等待指令、停机指令、空操作指令、开中断、关中断、置条件码指令等 特权指令具有特殊权限的指令。一般保留给操作系统使用。在多用户、多任务的计算机中必须设置。用于系统资源的管理和分配。例如:LLDT、LTR陷阱指令 例如:8086的INT n,48,CISC 技 术和RISC 技 术 代 表 着 目 前 计 算 机 指 令 系 统 的 两 个 截 然 不 同 的 优 化 方 向。,4.4 复杂指令系统计算机和精简指令系统计算机,设 置 一 些 功 能 复 杂 的 指 令,把 一 些 原 来 由 软 件 实 现 的、常 用 的 功 能 改 用 硬 件 的 指 令 实 现,以 提 高 计 算 机 的 执 行 速 度,这 种 计 算 机 系 统 就 被 称 为 复 杂 指 令 系 统 计 算 机,即Complex Instruction Set Computer,简 称CISC。,49,尽 量 简 化 计 算 机 指 令 功 能,只 保 留 那 些 功 能 简 单、能 在 一 个 节 拍 内 执 行 完 成 的 指 令,而 把 较 复 杂 的 功 能 用 一 段 子 程 序 来 实 现。通 过 简 化 计 算 机 指 令 功 能,使 指 令 的 平 均 执 行 周 期 减 少,从 而 提 高 计 算 机 的 工 作 主 频,且 大 量 使 用 通 用 寄 存 器,来 提 高 子 程 序 执 行 的 速 度。这 种 计 算 机 系 统 被 称 为 精 简 指 令 系 统 计 算 机,即Reduced Instruction Set Computer,简 称RISC。,50,1)RISC发展,1975年,IBM开始研制IBM 801。801是最早开始设计的RISC处理器,是PowerPC的前身。RISC-I机、RISC-II机、MIPS机研究成功。RISC-II是SPARC的前身。从20世纪80年代末至今,RISC体系快速发展并伴随64位处理器的出现日趋完善。,RISC技术开发思路起源于著名的“8020结论”,即约20的计算机指令完成约80的工作。,51,主流RISC芯片主要有:PowerPC(IBM)Alpha(DEC)HPPA(HP)Ultra SPARC(SUN)R10000(MIPS),52,2)RISC的主要特征,选取使用频率高的简单指令。指令长度固定,指令格式种类少,寻址方式种类少。只有取数/存数指令访存,其余指令的操作都在寄存器间进行。中通用寄存器数量相当多。大部分指令在一个机器周期内完成。以硬布线控制为主,不用或少用微程序控制。采用高级语言编程,优化编译以减少程序执行的时间。,53,3)RISC的优势,CPU执行程序所需时间 P=I*C*TI:机器指令数C:每条机器指令的平均周期数T:每个周期的执行时间IRISC ICISC CISC程序中较复杂的指令在RISC中用子程序完成CRISC CCISC RISC大部分指令在一个周期内完成TRISC TCISC RISC完成一个操作所经过的数据通路较短,54,4.5 指令系统举例,4.5.1 教学计算机TEC-2指令系统4.5.2 Pentium指令系统4.5.3 SPARC指令系统,55,4.5.1 教学计算机TEC-2指令系统,1)指令格式(1)单字长指令(16位),高6位:操作码;9、8位:条件码(C,Z,V,S)低8位:2个通用寄存器号(各4位)/相对转移位移量DISP(-128+127)/I/O端口地址(8位),56,(2)双字长指令(32位),57,2)指令分类(1)指令中的符号说明 OP操作码 DR/SR目的操作数寄存器/源操作数寄存器 SP堆栈指针寄存器 PC程序计数器 IPPC增量前的值(当前指令的地址)CND测试条件码,58,CND测试条件码,59,(2)按指令的地址数目和指令功能分类,空操作 NOP 开/关中断 EI/DI 进位位置位复位 STC/CLC状态字入/出栈 PSHF/POPF返回/中断返回 RET/IRET 动态停机 HALT装入微指令代码 LDMC,零地址指令(11条),60,一地址指令(12条),无符号乘 MUL SR;R0(高位积),R1(低位积)(R1)*(SR)无符号除 DIV SR;R0(余数),R1(商)(R0)(R1)/(SR)入栈 PUSH DR;SP(SP)-1,(SP)DR出栈 POP DR;DR(SP),SP(SP)+1,61,加1/减1 INC/DEC DR;DR(DR)+1/-1求反 NOT DR;DR/(DR)逻辑左移/右移 SHL/SHR DR算术右移 ASR DR与C循环左移/右移 RCL/RCR DR,62,二地址指令(17条),加/带进位加 ADD/ADC DR,SR 减/带借位减 SUB/SBB DR,SR 比较 CMP DR,SR;(DR)-(SR),不送结果 与/或/异或 AND/OR/XOR DR,SR 测试 TEST DR,SR;(DR)&(SR),不送结果 传送 MOV DR,SR/SR MOV DR,SR,63,传送 MOV DR,DATA/ADR MOV ADR,SR MOV DR,OFFSETSR;DR(OFFSET+(SR)MOV OFFSETSR,DR;OFFSET+(SR)(DR),64,例题:阅读下列源程序,指出其完成什么功能?MOV R8,1111;被加数(高位)MOV R9,2222;被加数(低位)MOV R10,3333;加数(高位)MOV R11,4444:加数(低位)ADD R9,R11;低位和ADC R8,R10;高位和RET;返回,65,I/O指令(2条),输入 IN PORT;R0(PORT)输出 OUT PORT;PORT(R0),66,转移指令(9条),无条件绝对转移 JP SR;PC(SR)条件绝对转移 JP CND,SR;条件满足(0或1)PC(SR),否则 PC(IP)+1,67,无条件绝对转移 JP ADR;PCADR条件绝对转移 JP CND,ADR;条件满足(0或1)PCADR,否则 PC(IP)+1,68,无条件相对转移 JR OBJ;PC(IP)+位移量DISP条件相对转移 JR CND,OBJ;条件满足(0或1)PC(IP)+位移量DISP,否则 PC(IP)+1,69,例题:阅读下列源程序,指出其完成什么功能?MOV R1,0;置累加器初值为0MOV R2,0A;最大加数MOV R3,0;加数初值OBJ:INC R3;加数ADD R1,R3;累加CMP R3,R2;判断是否累加完JR NZ,OBJ RET;若完成,返回,70,子程序调用指令(2条),调用 CALL SR;SP(SP)-1,(SP)(PC),PC(SR),调用 CALL ADR;SP(SP)-1,(SP)(PC),PCADR,71,4.5.2 Pentium指令系统,1)程序员所能见到的寄存器(1)通用寄存器 EAX、EBX、ECX、EDX ESP、EBP、ESI、EDI(2)6个16位的段寄存器 CS、SS、DS、ES、FS、GS(3)指令指针和标志寄存器 EIP、EFLAGS(32位),72,2)Pentium在实模式下32位地址的形成,段寄存器(CS、DS、ES、FS、GS、SS),基址寄存器(EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI),变址寄存器(EAX、EBX、ECX、EDX、EBP、ESI、EDI),放大因子1/2/4/8,位移量disp(0/8/32),16,73,3)Pentium的指令格式,指令由:0到4个可选指令前缀、1或2字节的操作码、一个可选的地址指示器、一个可选的位移量、一个可选的立即数字段组成。(1)前缀,74,(2)指令,75,4.5.3 SPARC指令系统,1)指令类型(1)算术运算/逻辑运算/移位指令(2)LOAD/STORE指令(3)控制转移指令(4)读/写专用寄存器指令(5)浮点运算指令(6)协处理器指令,76,2)SPARC的指令格式,SPARC采用等长指令字结构,所有指令均是32位,在存储器中是字地址对准的。SPARC的基本指令格式有三种:,格式1 CALL,格式2 SETHIBRANCH,77,格式3 其它整数指令,浮点/协处理器操作,78,3)SPARC指令的功能与寻址方式,(1)算术逻辑运算指令功能(rs1)OP(rs2)rd(rs1)OP Simm13 rd(2)LOAD/STORE指令功能(M)rd(rd)M M的地址=(rs1)+(rs2)M的地址=(rs1)+Simm13,79,(3)控制转移指令Branch 相对寻址JMPL 寄存器间接寻址,并将PC当前值保存在rd中CALL 相对寻址Trap 寄存器间接寻址RETT 寄存器间接寻址(4)读/写专用寄存器指令专用寄存器:PSR(程序状态字寄存器)Y(乘法步寄存器)WIM(窗口屏蔽寄存器)TBR(陷阱基址寄存器),80,4)SPARC指令的再定义,利用R0的值恒为0的特点,完成指令系统没有定义的操作。MOVE rs1,rdADD rs1,r0,rd;(r0)=0INC rdADD rs,1,rd;立即数imm13作为操作数,rs、rd为同一寄存器。,81,DEC rdSUB rs,1,rdNEG rdSUB r0,rs2,rdNOT rdXOR rs,-1,rdCLEAR rdADD r0,r0,rd CMP rs1,rs2SUBCC rs1,rs2,r0;(rs1)-(rs2)r0,置条件码,82,本章主要知识点,指令的四要素,指令按地址数目的分类,指令操作码的两种编码方式,指令操作码的扩展技术。指令和数据的寻址方式,各种数据寻址方式的寻址范围及有效地址表达式的表示。各种基本指令的功能。指令系统的两个优化方向:复杂指令系统计算机CISC和精简指令系统计算机RISC,RISC的特征。教学计算机的指令系统,SPARC的指令系统和Pentium的指令系统。,

    注意事项

    本文(第4章指令系统.ppt)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开