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

    计算机组成原理17-指令系统.ppt

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

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

    计算机组成原理17-指令系统.ppt

    ,林楠办公室:211办公电话:0371-63888959,计算机组成原理,第七章 指令系统,逻辑功能:计算 0+1机器指令:001 00 01汇编语言:ADD r1,r2,计算机系统包括硬件和软件两大组成部分。硬件:指构成计算机的CPU、主存、外设等物理装置。软件:系统软件和各种用户应用软件。指令:CPU中控制器发布的操作命令。指令系统:一台计算机所能执行的全部指令的集合。一台特定的计算机只能执行自己指令系统中的指令。因此,指令系统就是计算机的机器语言。,软硬件分工就在:指令系统,程序员在指令系统上设计系统软件,不需要关心硬件设计。,硬件设计去实现指令系统的操作,所以要了解指令的结构。,Review:指令系统,指令:CPU中控制器发布的操作命令。指令格式:一条指令应完成以下功能:执行什么操作?(操作码)操作数到哪里去取?结果送到哪里?(地址码)为了使程序自动执行还应该指出下一条指令的地址。,操作码,地址码,MOV r,mADD r1,r2,指令的操作码:用于指明本条指令的操作功能。例如:算术加、减,逻辑与、或,读、写内存,读、写外设指令的地址码:用于给出被操作数的地址。包括:参加运算的一或多个操作数地址,运算结果的保存地址,Review:指令格式,3)栈指针SP,2)存储单元地址,1)寄存器号,操作数存放的存储结构操作数地址1)CPU寄存器组寄存器号2)内存 存储单元地址3)栈(内存中)栈指针4)Cache、辅存不考虑,4,4,4,数据存储的物理结构与存取方式,Review:指令格式,Review:指令格式,操作码,地址码,指令格式小结:,固定长度(IBM/PC)扩展长度(PDP-11)交叉安排(NOVA),四地址三地址二地址单地址零地址,三种方案,按操作数个数划分,第七章 指令系统,7.1、指令系统概述7.2、指令的格式 7.2.1、地址码结构 7.2.2、操作码结构7.3、指令的寻址方式7.4、指令的类型与功能,操作码,地址码,MOV r,mADD r1,r2,PC程序计数器(PC)+1 PC,寻址,下一条 要执行的 指令地址 本条指令中 的 操作数地址,指令寻址,1)顺序,(PC)+1 PC,2)跳跃,由转移指令指出(JMP),LDA 1000,ADD 1001,DEC 1200,JMP 7,LDA 2000,SUB 2001,INC,STA 2500,LDA 1100,.,0,1,2,3,4,5,6,7,8,9,PC,+1,指令地址寻址方式,指令地址,指令,顺序寻址,1,顺序寻址,2,顺序寻址,3,跳跃寻址,7,顺序寻址,8,7.3、指令的寻址方式,第七章 指令系统,7.1、指令系统概述7.2、指令的格式 7.2.1、地址码结构 7.2.2、操作码结构7.3、指令的寻址方式7.4、指令的类型与功能,操作码,地址码,MOV r,mADD r1,r2,PC程序计数器(PC)+1 PC,寻址,寻址,下一条 要执行的 指令地址 本条指令中 的 操作数地址,7.3、指令的寻址方式,从硬件角度来说,研究各种寻址方式的主要目的是:1)扩大寻址空间2)为编程提供方便究竟设置哪些寻址方式,取决于寻址方式能否为编程提供方便。常见寻址方式:1)立即寻址 2)直接寻址3)寄存器直接寻址 4)隐含寻址5)间接寻址6)寄存器间接寻址7)相对寻址8)基址寻址9)变址寻址10)堆栈寻址,7.3、指令的寻址方式,1)立即寻址(操作数在指令中)立即寻址是一种特殊的寻址方式,指令中操作码后不是操作数地址,而是操作数本身,这样的数称为立即数。,操作码,特点:在取指令时,操作码和操作数同时取出;指令执行过程中不访问存储器,提高了指令的执行速度;但是,立即数的位数限制了数的表示范围。用于:设置常数(地址常数、数据常数)。例如:MOV BX,2000H,BX 2000H(设置地址常数)MOV CX,100,CX 100(设置数据常数),立即数,特点:不需作任何寻址运算,简单直观便于硬件实现;指令执行过程中,访问一次存储器;但是,A的位数决定了操作数的寻址范围;寻找不同操作数必须通过编程改变A。用于:顺序程序设计中涉及到的单独变量或数值。例如:写出求5+7程序 MOV AL,A;AL(A)ADD AL,B;AL(AL)+(B)MOV C,AL;HLT,2)直接寻址(操作数在内存中)操作数的有效地址 EA=A(A为操作数地址),操作码,直接地址A,主存,7,5,12,操作数地址:A,B,C,7.3、指令的寻址方式,5,AL,寄存器,12,3)寄存器直接寻址(操作数在寄存器中)操作数的有效地址 EA=Ri(Ri为操作数地址),操作码,寄存器组,操作数,操作数,寄存器号:AX,特点:指令执行过程中,不需要访问内存,提高指令执行速度;寄存器号位数少,缩短指令长度。用于:操作数已在寄存器中,可直接进行操作。例如:ADD AX,BX;(AX)+(BX)AX,7.3、指令的寻址方式,直接地址Ri,BX,4)隐含寻址(操作数在累加器中),一些特殊指令的操作数地址隐含在操作码中,指令字中少了一个地址字段,可缩短指令字长。,寻址特征,A,ACC,暂存,另一个操作数隐含在 ACC(累加器)中,例如:,MOVS 指令,源操作数的地址隐含在 SI 中,目的操作数的地址隐含在 DI 中,7.3、指令的寻址方式,5)间接寻址(操作数地址、操作数均在内存中)操作数的有效地址EA=(A)(A为操作数地址的地址),操作码,间接地址A,操作数间接地址,操作数,操作数地址,操作数地址,操作数,主存,7.3、指令的寻址方式,间接指示器:存储单元,操作数地址,特点:指令执行过程中,需要两次访存,指令执行速度慢;扩大了操作数的寻址范围;便于编程。,主要用于:查表 通过间接寻址方式,我们可以写一个程序去访问一个有效的地址表,地址表的每一项实际上就是间接指示器。在程序执行前可以对这个表的每一项进行修改,这样无论哪种执行情 况,程序本身不必修改。,7.3、指令的寻址方式,操作码,间接地址A,操作数间接地址,操作数,操作数地址,操作数地址,操作数,主存,间接指示器:存储单元,操作数地址,多重间址,7.3、指令的寻址方式,操作码,间接地址A,操作数间接地址,操作数间址,操作数间址,操作数间址,操作数间址,主存,间接指示器:存储单元,操作数间接地址,操作数地址,操作数地址,操作数间接地址,操作数,操作数,操作数地址,6)寄存器间接寻址(操作数地址在寄存器中,操作数在内存中)操作数的有效地址EA=(Ri)(Ri为操作数地址的地址),操作码,间接地址Ri,操作数,操作数,操作数,寄存器号,操作数,主存,寄存器组,操作数地址,操作数地址,7.3、指令的寻址方式,间接指示器:寄存器,特点:这种寻址方式指令短,指令执行过程中,只需一次访存;便于循环程序编程。,用于:解决循环程序设计的问题例如:求SUM=1+2+3+100 XOR AX;/AX清0 MOV CX,N;/CX=100设循环次数 MOV BX,OFFSET NUM1;/BX=第一个数地址 OK:ADD AX,BX;/寄存器间接寻址 INC BX;/BX=BX+1 LOOP OK;/条件判断 CX=CX-1=0?MOV SUM,AX;/AX送到SUM存储单元 HLT/结束通过修改寄存器BX(操作数的地址),使它形成数组元素的连续地址,加第1个后加第2个最后实现循环程序。,100,操作数,操作数,1,主存,SUM,N,NUM1,2,NUM2,3,NUM3,100,NUM100,7.3、指令的寻址方式,段起始地址,40K,BX,40K,0,AX,7)相对寻址(相对当前指令地址)操作数的有效地址EA=(PC)A(形式地址),指令,操作数,主存,操作码,形式地址A,当前指令地址,程序计数器 PC,ALU,操作数,-A,+A,7.3、指令的寻址方式,PC,特点:A 的位数决定操作数的寻址范围;解决了程序浮动搬家的问题:编程时只要保证其相对距离不变,就可在主存中任意浮动,源程序不改仍能保证程序正确执行;广泛用于转移指令。,8)变址寻址 操作数有效地址 EA=A(形式地址)(IX)变址寄存器IX内容:由程序员设定,程序执行过程中可变。形式地址A:在程序执行过程中不可变。,操作码,形式地址A,变址值,IX,变址寄存器,7.3、指令的寻址方式,特点:比相对寻址扩大了寻址范围;是循环程序设计的需要,主要针对数组进行快速的重复运算,数据块的传递等。(设A为数组的首地址),ALU,-变址值,A,操作数,主存,操作数,+变址值,例如:SUM=1+2+3+100(大数组进行快速重复计算)程序:XOR AX;/AX=0 MOV CX,100;/CX计数器=100 MOV IX,0;/IX变址寄存器=0START:ADD AX,NUM1 IX;/变接寻址:NUM1+(IX)INC IX;/IX=(IX)+1 LOOP START;/判断CX=CX-1=0?MOV SUM,AX;HLT,100,操作数,结果数,1,主存,SUM,N,NUM1,2,NUM2,3,NUM3,100,NUM100,7.3、指令的寻址方式,0,IX,0,AX,100,CX,例如:将DA1单元起100个数据传送到DA2单元起的存储区中。程序:MOV CX,100MOVIX,0MOV DI,0LOP:MOV AL,DA1 IX/DA1+(IX)MOV DA2 DI,AL/DA2+(DI)INCIX/IX=(IX)+1INCDI/DI=(DI)+1LOOPLOP/判断CX=CX-1=0?HLT,55H,37H,46H,主存,37H,DA1,46H,55H,100个,DA2,7.3、指令的寻址方式,37H,AL,0,IX,0,DI,100个,ALU,9)基址寻址 操作数有效地址EA=(BR)A(形式地址)基址寄存器BR起始地址由操作系统确定,程序执行中不可变。形式地址A是一个偏移量(可正、可负),程序执行过程中可变。,操作码,A,基址值,寄存器号BR,BR,-A,+A,基址值,7.3、指令的寻址方式,操作数,主存,操作数,特点:可扩大寻址范围;有利于多道程序。,用于:基址寻址方式,主要用来解决程序的动态定位问题。在多道程序的环境下,用户不可决定自己使用的主存区,因而在 编程时常按(以零为基准地址)相对地址来编写,当程序被放入 主存时,操作系统根据主存空间情况给基址寄存器赋值,从而将 虚地址转化为实地址。(a)一个简单的程序(b)原封不动的装入主存为400号单元起的存储区中。程序地址0 LOAD 1,62 SUB 1,84 STORE 1,10 6 A8 B 10,STORE 1,10,LOAD 1,6,SUB 1,8,A,主存,B,400,402,404,406,408,7.3、指令的寻址方式,设置基址寄存器,400,10)堆栈寻址用于:(1)子程序嵌套、子程序递归和可再入性。(2)多重循环(3)中断程序的链接(4)逆波兰表达式求值举例:子程序嵌套(指子程序可以再次调用子程序。)递归调用子程序需保证每次调用时不能破坏前面调用时所用到的参数和产生的结果,递归子程序又必须有递归结束条件,以防止调用无法嵌套。为保证调用时不破坏前面调用时所用到的参数和产生的结果,要求每次调用时将要用到的参数和中间结果不存放到存储区中,也就是每次调用时都应重新分配存放参数及结果存储区,实现这一点的最好方法是采用栈(后进先出)。,7.3、指令的寻址方式,7.3、指令的寻址方式(小结,要求记忆),寻址方式 操作数地址 操作数存放位置1)立即寻址 指令中2)隐含寻址 隐含指定某寄存器号 特定寄存器3)直接寻址 存储单元地址 内存4)寄存器直接寻址 寄存器号 寄存器5)间接寻址 存储单元地址存储单元地址 内存6)寄存器间接寻址 寄存器号存储单元地址 内存7)相对寻址PC+A(可变)内存8)基址寻址 基址寄存器+A(可变)内存9)变址寻址 A+变址寄存器(可变)内存10)堆栈寻址 SP 堆栈,答:数据寻址是指确定本条指令的数据地址;指令寻址是确定下一条将要执行的指令地址。指令寻址和数据寻址的区别在于寻址的对象不同,一个是确定程序计数器PC的内容,另一个是寻找指令中的操作数所在的地址,并以此找到操作数。另外,指令寻址比较简单,分为顺序寻址和跳跃寻址两种,而数据寻址种类较多;常用的有立即寻址、寄存器寻址、寄存器间接寻址、基址寻址、变址寻址等。,什么是数据寻址和指令寻址?简述它们的区别。,7.3、指令的寻址方式(举例),例1)根据操作数所在的位置,指出其寻址方式:操作数在寄存器中,为寻址方式操作数地址在寄存器中,为寻址方式操作数在指令中,为寻址方式操作数地址在指令中,为寻址方式操作数地址等于某一寄存器内容与位移量之和,为,寻址方式1、直接寻址2、寄存器直接寻址3、寄存器间接寻址4、基址寻址5、变址寻址6、相对寻址7、堆栈寻址8、立即数寻址,2,3,8,1,4,5,6,7.3、指令的寻址方式(举例),例2)指令格式如下所示,其中OP为操作码,试分析指令格式的特点。(一个机器字两字节),解:1)此指令等于一个机器字长,是单字长二地址指令2)操作码字段OP共7位,可以指定128条指令。3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个),所以是RR型指令,两个操作数均在寄存器中。4)这种指令结构常用于算术逻辑运算类指令。,15 97 430,7.3、指令的寻址方式(举例),例3)指令格式如下所示,OP为操作码字段,试分析指令格式特点。(一个机器字两字节),解:1)该指令32位,是双字长二地址指令,用于访问存储器。2)操作码字段OP为6位,可以指定64种操作。3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(变址寻址:由变址寄存器+位移量A决定)所以是RS型指令。,15 10 7 4 3 0,7.3、指令的寻址方式(举例),例4)一种二地址RS型指令的结构如下所示:,其中I为间接寻址标志位,X为寻址模式,A为偏移量。通过I,X,A的组合,可构成下表所示的寻址方式。请写出六种寻址方式的名称。,6位 4位 1位 2位 16位,解:1)直接寻址2)相对寻址 3)变址寻址4)寄存器间接寻址 5)间接寻址6)基址寻址,7.3、指令的寻址方式(举例),例5)设相对寻址的转移指令占2个字节,第1个字节是操作码,第2个字节是相对位移量A(用补码表示)。每当CPU从存储器取出一个字节后,(PC)+1=PC1)设当前PC的内容为2003H,要求转移到200AH地址,则该转移指 令第2个字节的内容是什么?解:200A(2003+2)=05 H2)设当前PC的内容为2008H,要求转移到2001H地址,求该转移指令第2个字节内容。解:2001(2008+2)=-9(补码 F7H),7.3、指令的寻址方式(举例),指令1,指令1,2003H,200AH,指令3,2005H,2004H,PC,PC,指令3,例6)设字长和指令长度均为24位,若指令系统可完成108种操作,且具有直接、间接、变址、基址、相对、立即等6种寻址方式,则在直接寻址范围最大化的前提下,指令字中操作码占几位?寻址特征位占几位?可直接寻址的范围是多少?一次间接寻址的范围是多少?解:指令系统可完成108种操作,所以指令字种操作码至少占7位,6种寻址方式,所以指令寻址特征至少3位,24 7 3=14,所以可直接寻址范围是214,字长位24位,一次间接寻址的地址范围是224,7.3、指令的寻址方式(举例),操作码,寻址特征,地址码,CPU一次从存储器中取一个字(数据字或指令字)。,例7)某机器采用一地址格式的指令系统,允许直接和间接寻址。机器配备有如下寄存器,均为16位:ACC(累加器),PC(程序计数器),MDR(数据缓冲寄存器),MAR(地址寄存器),RX(变址寄存器),RB(基址寄存器)IR(指令寄存器)1)若采用单字长指令,共能完成105种操作,求最大直接寻址范围 与间接寻址范围?解:因为MDR数据缓冲寄存器16位,所以一机器字长16位,因为IR指令寄存器为16位,且单字长指令,所以一条指令16位,完成105种操作,所以操作码7位,寻址方式有:直接、间接,寄存器有:变址寄存器,基址寄存器 所以寻址特征位2位,16 7 2=7,所以直接寻址范围27,一次间接寻址范围216。,7.3、指令的寻址方式(举例),操作码 7,寻址特征2,地址码7,例7)某机器采用一地址格式的指令系统,允许直接和间接寻址。机器配备有如下寄存器,均为16位:ACC(累加器),PC(程序计数器),MDR(数据缓冲寄存器),MAR(地址寄存器),RX(变址寄存器),RB(基址寄存器)IR(指令寄存器)2)若采用双字长指令,格式如下,其中操作码与寻址特征位数不变,求最大直接寻址范围?解:32 7 2=23,所以最大直接寻址范围为2 23。,7.3、指令的寻址方式(举例),操作码7,寻址特征2,地址码7,地址码16,复习与作业,复习章节:第7章 指令系统7.2、操作数类型和操作类型7.3、寻址方式作业:P335 2、4、16、17、19,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开