计算机组成原理指令系统课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机组成原理指令系统课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 指令系统 课件
- 资源描述:
-
1、第三章第三章 指令系统指令系统n3.1 指令系统的定义及性能要求指令系统的定义及性能要求n3.2 指令格式及指令类型指令格式及指令类型n3.3 指令和数据的编码及寻址方式指令和数据的编码及寻址方式n3.4 堆栈寻址方式堆栈寻址方式n3.5 RISC机型机型 指令系统是指一台计算机所有机指令系统是指一台计算机所有机器指令的集合,构成了计算机的机器器指令的集合,构成了计算机的机器语言,是计算机硬件与上层软件的接语言,是计算机硬件与上层软件的接口。计算机的指令系统决定了计算机口。计算机的指令系统决定了计算机的的CPU的功能和结构。的功能和结构。CISC和和RISC是现代两大典型指令系统体系结构。是现
2、代两大典型指令系统体系结构。设计一台机器的指令系统应考虑到其设计一台机器的指令系统应考虑到其完备性和完整性、兼容性、均匀性、完备性和完整性、兼容性、均匀性、可扩充性。可扩充性。裸机裸机软件软件指令系统指令系统指令格式指令格式 操作码表示指令要完成的操作,其长度决操作码表示指令要完成的操作,其长度决定了指令系统可以表示的指令条数;操作数是定了指令系统可以表示的指令条数;操作数是操作的对象,对象的类型由寻址方式部分决定操作的对象,对象的类型由寻址方式部分决定操作数(操作数(D)寻址方式寻址方式地址码地址码数数值值寄寄存存器器内内存存地地址址操作码操作码(OP)指令分类:依据操作数个数来分 OP O
3、P D OP D1 D2 OP D1 D2 D3 指令中地址个数的选取要考虑诸多的因指令中地址个数的选取要考虑诸多的因素。从缩短程序长度,用户使用方便,增加素。从缩短程序长度,用户使用方便,增加操作并行度等方面来看,选用三地址指令格操作并行度等方面来看,选用三地址指令格式较好;从缩短指令长度,减少访存次数,式较好;从缩短指令长度,减少访存次数,简化硬件设计等方面来看,一地址指令格式简化硬件设计等方面来看,一地址指令格式较好。对于同一个问题,用三地址指令编写较好。对于同一个问题,用三地址指令编写的程序最短,但指令长度最长,而用二、一、的程序最短,但指令长度最长,而用二、一、零地址指令来编写程序,
4、程序的长度一个比零地址指令来编写程序,程序的长度一个比一个长,但指令的长度一个比一个短。一个长,但指令的长度一个比一个短。双操作数运算类指令的执行n对于双操作数运算类指令(如加法指令)来对于双操作数运算类指令(如加法指令)来说,每条指令中都需要包含以下说,每条指令中都需要包含以下 个地址信个地址信息:息: 第一操作数地址第一操作数地址A ; 第二操作数地址第二操作数地址A ; 操作结果存放地址操作结果存放地址A ; 下条将要执行指令的地址下条将要执行指令的地址A 。n这些地址信息可以明显地给出,称为显地址;这些地址信息可以明显地给出,称为显地址;也可以依照某种事先的约定,用隐含的方式也可以依照
5、某种事先的约定,用隐含的方式给出,称为隐地址。给出,称为隐地址。n()() 三地址双操作三地址双操作数指令数指令 三地址双操作数指令有三地址双操作数指令有 个显地址,指令的含义为:个显地址,指令的含义为:(A A )OPOP(A A ) A A假设指令存放在主存的假设指令存放在主存的 号号单元中,第一、第二操作数分别单元中,第一、第二操作数分别存放在主存的存放在主存的 和和 号单元中,结果存放在主存的号单元中,结果存放在主存的 号单元,如图号单元,如图 所示。所示。执行一条三地址的加法指令需要访问执行一条三地址的加法指令需要访问 次主存。次主存。第一次从号单元中取指令,第二次从第一次从号单元中
6、取指令,第二次从 号单元中取第一操作数,第三次从号单元中取第一操作数,第三次从 号单元号单元中取第二操作数,第四次将加法的结果保存到主中取第二操作数,第四次将加法的结果保存到主存的号单元。存的号单元。n()() 二地址双操作数指令二地址双操作数指令 二地址双操作数指令有两个显地址,第一操二地址双操作数指令有两个显地址,第一操作数地址同时兼作结果存放地址(目的地作数地址同时兼作结果存放地址(目的地址)址) ,指令的含义为,指令的含义为 (A )OP(A ) A执行一条二地址的加法指令同样需要访问执行一条二地址的加法指令同样需要访问 次次主存。第一次从主存。第一次从 号单元中取指令,第二次号单元中
7、取指令,第二次从从 号单元中取第一操作数,第三次从号单元中取第一操作数,第三次从 号单元中取第二操作数,第四次将加法的号单元中取第二操作数,第四次将加法的结果保存到主存的结果保存到主存的 号单元。号单元。n()() 一地址双操作数指令一地址双操作数指令 一地址双操作数指令只有一个显地一地址双操作数指令只有一个显地址,参加运算的另一个操作数来自累加址,参加运算的另一个操作数来自累加寄存器寄存器Acc 。指令的含义为。指令的含义为: (Acc)OP(A ) Acc执行一条一地址的加法指令只需要访问两次主执行一条一地址的加法指令只需要访问两次主存,第一次从存,第一次从 号单元中取指令,第二次从号单元
8、中取指令,第二次从 号单元中取操作数。由于第一操作数和号单元中取操作数。由于第一操作数和运算结果都放在累加寄存器中,所以读取第一运算结果都放在累加寄存器中,所以读取第一操作数和存放加法的结果都不需要访问主存。操作数和存放加法的结果都不需要访问主存。n()() 零地址双操作数指令零地址双操作数指令 零地址双操作数指令中只有操作码字段,零地址双操作数指令中只有操作码字段,操作数地址都是隐含的。操作数在堆栈的栈操作数地址都是隐含的。操作数在堆栈的栈顶位置和次栈顶位置,它们分别从堆栈中弹顶位置和次栈顶位置,它们分别从堆栈中弹出,送到运算器中进行运算,运算的结果再出,送到运算器中进行运算,运算的结果再压
9、入堆栈。执行一条零地址的加法指令访问压入堆栈。执行一条零地址的加法指令访问主存的次数取决于堆栈的结构。主存的次数取决于堆栈的结构。举例n例:分别利用三地址、二地址、一地址和零地址指令例:分别利用三地址、二地址、一地址和零地址指令编制计算算术表达式编制计算算术表达式x (ab c d) (e f)的程序。)的程序。 解:假设解:假设a、b 、c 表示操作数,表示操作数,A 、B 、C 表示操作表示操作数所在存储地址。数所在存储地址。n()() 三地址指令程序三地址指令程序 MUL A ,B ,X ADD X ,C ,X SUB X ,D ,X ADD E ,F ,Y DIV X ,Y ,Xn共需
10、共需 条三地址指令,每条指令条三地址指令,每条指令 次访存,执行此次访存,执行此程序共访存程序共访存 次。次。n()() 二地址指令程序二地址指令程序 MOV X ,A MUL X ,B ADD X ,C SUB X ,D MOV Y ,E ADD Y ,F DIV X ,Yn共需共需 条二地址指令,条二地址指令,MOV 指令指令 次访存,算术运次访存,算术运算指令算指令 次访存,执行此程序共访存次访存,执行此程序共访存 次。次。n()() 一地址指令程序一地址指令程序LOAD E ADD F STORE XLOAD AMUL BADD CSUB DDIV XSTORE Xn共需共需 条一地址
11、指令,每条指令条一地址指令,每条指令 次访存,执行此次访存,执行此程序共访存程序共访存 次。次。n()() 零地址指令程序零地址指令程序PUSH APUSH BMULPUSH CADDPUSH DSUBPUSH EPUSH FADDDIVPOP Xn共需共需 条指令,其中条指令,其中 条一地址的进、出栈指令,条一地址的进、出栈指令, 条零地址的算术运算指令。进、出栈指令条零地址的算术运算指令。进、出栈指令 次访次访存,算逻指令存,算逻指令 次访存,执行此程序共访存次访存,执行此程序共访存 次。次。n例:例: 某一机器的指令系统,操作码某一机器的指令系统,操作码 位,位,地址码均为地址码均为 位
12、,位,CPU 与主存之间每次传与主存之间每次传送送 位数据。位数据。A 、B 、C 、D 、E 表示字地表示字地址,存放址,存放 位数据。位数据。 ()() 分别用三地址、二地址、一地址和零地分别用三地址、二地址、一地址和零地址指令编写程序,计算址指令编写程序,计算A (B C) (D E)(不允许覆盖任何操作数,可以使)(不允许覆盖任何操作数,可以使用暂存单元)用暂存单元) 。 ()() 分别计算所写程序的总字节数。分别计算所写程序的总字节数。 ()() 分别计算程序执行时的访存次数。分别计算程序执行时的访存次数。 三地址指令程序三地址指令程序 SUB B ,C ,A SUB D ,E ,T
展开阅读全文