计算机组成原理指令系统课件.ppt

上传人:牧羊曲112 文档编号:1547943 上传时间:2022-12-04 格式:PPT 页数:33 大小:303KB
返回 下载 相关 举报
计算机组成原理指令系统课件.ppt_第1页
第1页 / 共33页
计算机组成原理指令系统课件.ppt_第2页
第2页 / 共33页
计算机组成原理指令系统课件.ppt_第3页
第3页 / 共33页
计算机组成原理指令系统课件.ppt_第4页
第4页 / 共33页
计算机组成原理指令系统课件.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《计算机组成原理指令系统课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理指令系统课件.ppt(33页珍藏版)》请在三一办公上搜索。

1、第三章 指令系统,3.1 指令系统的定义及性能要求3.2 指令格式及指令类型3.3 指令和数据的编码及寻址方式3.4 堆栈寻址方式3.5 RISC机型,指令系统是指一台计算机所有机器指令的集合,构成了计算机的机器语言,是计算机硬件与上层软件的接口。计算机的指令系统决定了计算机的CPU的功能和结构。CISC和RISC是现代两大典型指令系统体系结构。设计一台机器的指令系统应考虑到其完备性和完整性、兼容性、均匀性、可扩充性。,指令格式,操作码表示指令要完成的操作,其长度决定了指令系统可以表示的指令条数;操作数是操作的对象,对象的类型由寻址方式部分决定,操作数(D),寻址方式,地址码,数值,寄存器,内

2、存地址,操作码(OP),指令分类:依据操作数个数来分,OP,OP D,OP D1 D2,OP D1 D2 D3,指令中地址个数的选取要考虑诸多的因素。从缩短程序长度,用户使用方便,增加操作并行度等方面来看,选用三地址指令格式较好;从缩短指令长度,减少访存次数,简化硬件设计等方面来看,一地址指令格式较好。对于同一个问题,用三地址指令编写的程序最短,但指令长度最长,而用二、一、零地址指令来编写程序,程序的长度一个比一个长,但指令的长度一个比一个短。,双操作数运算类指令的执行,对于双操作数运算类指令(如加法指令)来说,每条指令中都需要包含以下 个地址信息: 第一操作数地址A ; 第二操作数地址A ;

3、 操作结果存放地址A ; 下条将要执行指令的地址A 。这些地址信息可以明显地给出,称为显地址;也可以依照某种事先的约定,用隐含的方式给出,称为隐地址。,() 三地址双操作数指令 三地址双操作数指令有 个显地址,指令的含义为:(A )OP(A ) A假设指令存放在主存的 号单元中,第一、第二操作数分别存放在主存的 和 号单元中,结果存放在主存的 号单元,如图 所示。,执行一条三地址的加法指令需要访问 次主存。第一次从号单元中取指令,第二次从 号单元中取第一操作数,第三次从 号单元中取第二操作数,第四次将加法的结果保存到主存的号单元。,() 二地址双操作数指令 二地址双操作数指令有两个显地址,第一

4、操作数地址同时兼作结果存放地址(目的地址) ,指令的含义为 (A )OP(A ) A,执行一条二地址的加法指令同样需要访问 次主存。第一次从 号单元中取指令,第二次从 号单元中取第一操作数,第三次从 号单元中取第二操作数,第四次将加法的结果保存到主存的 号单元。,() 一地址双操作数指令 一地址双操作数指令只有一个显地址,参加运算的另一个操作数来自累加寄存器Acc 。指令的含义为: (Acc)OP(A ) Acc,执行一条一地址的加法指令只需要访问两次主存,第一次从 号单元中取指令,第二次从 号单元中取操作数。由于第一操作数和运算结果都放在累加寄存器中,所以读取第一操作数和存放加法的结果都不需

5、要访问主存。,() 零地址双操作数指令 零地址双操作数指令中只有操作码字段,操作数地址都是隐含的。操作数在堆栈的栈顶位置和次栈顶位置,它们分别从堆栈中弹出,送到运算器中进行运算,运算的结果再压入堆栈。执行一条零地址的加法指令访问主存的次数取决于堆栈的结构。,举例,例:分别利用三地址、二地址、一地址和零地址指令编制计算算术表达式x (ab c d) (e f)的程序。 解:假设a、b 、c 表示操作数,A 、B 、C 表示操作数所在存储地址。() 三地址指令程序 MUL A ,B ,X ADD X ,C ,X SUB X ,D ,X ADD E ,F ,Y DIV X ,Y ,X共需 条三地址指

6、令,每条指令 次访存,执行此程序共访存 次。,() 二地址指令程序 MOV X ,A MUL X ,B ADD X ,C SUB X ,D MOV Y ,E ADD Y ,F DIV X ,Y共需 条二地址指令,MOV 指令 次访存,算术运算指令 次访存,执行此程序共访存 次。,() 一地址指令程序LOAD E ADD F STORE XLOAD AMUL BADD CSUB DDIV XSTORE X共需 条一地址指令,每条指令 次访存,执行此程序共访存 次。,() 零地址指令程序PUSH APUSH BMULPUSH CADDPUSH DSUBPUSH EPUSH FADDDIVPOP X

7、共需 条指令,其中 条一地址的进、出栈指令, 条零地址的算术运算指令。进、出栈指令 次访存,算逻指令 次访存,执行此程序共访存 次。,例: 某一机器的指令系统,操作码 位,地址码均为 位,CPU 与主存之间每次传送 位数据。A 、B 、C 、D 、E 表示字地址,存放 位数据。 () 分别用三地址、二地址、一地址和零地址指令编写程序,计算A (B C) (D E)(不允许覆盖任何操作数,可以使用暂存单元) 。 () 分别计算所写程序的总字节数。 () 分别计算程序执行时的访存次数。, 三地址指令程序 SUB B ,C ,A SUB D ,E ,Tmp MUL A ,Tmp ,A 因为操作码 位

8、,地址码 位,所以:三地址指令程序中每条指令占 个字节,程序的字节总数为 个字节; 因为三地址指令占 个字节,每条指令需访存 次才能取出,接下来每条指令还需要访存 次,所以 条指令共访存 次。, 二地址指令程序 MOV A ,B SUB A ,C MOV Tmp ,D SUB Tmp ,E MUL A ,Tmp 二地址指令程序中每条指令占 个字节,程序的字节总数为 个字节; 因为二地址指令占 个字节,每条指令需访存 次才能取出。除取指令外,传送指令还需访存 次,运算指令还需访存 次,所以总的访存次数为: 次。,指令分类:依据指令功能来分,算术逻辑运算类指令(ADD、AND)移位指令和循环指令(

9、CLR、RL)传送类指令(MOV)串指令(CWB)顺序控制类指令(JMP)特权指令(CHMOD)输入输出指令(IN OUT或利用访存指令),指令系统的设计,指令的编/译码:操作码编码、操作数编码指令及操作数的寻址,操作码编码方式,固定长度、区域集中:可表示的指令个数有限,译码简单、快速可变长度、区域分散:控制器复杂,可表示的指令多 通常采用两者结合的方式进行设计,选择设计方案的原则是常用的指令尽量分配简短的操作码,以降低占用的存储空间,缩短译码时间,从而提高程序运行速度例:指令格式如下:如何表示61条指令,其中三地址、两地址、一地址指令各15条,零地址指令16条?能否表示更多条指令?,4位,4

10、位,4位,4位,OP,1111,1111 1111,1111 1111 1111,扩展窗口,扩展窗口,扩展窗口,OP,操作数的编码方式,立即数:直接将数据表示成二进制形式寄存器/存储器:直接给出寄存器或存储器的地址码(名称)即可;注:寄存器(CPU内部或外围设备内部)及存储器的编址方式:1)字编址、字节编址、位编址;2)统一编址、非统一编址,操作数的编码方式,例:设某机主存容量为MB ,机器字长 位,若最小寻址单位为字节(按字节编址) ,其地址码为多少位? 若最小寻址单位为字(按字编址) ,其地址码又为多少位? 解:若按字节编址,地址码应为 位( MB) ;若按字编址,地址码只需 位。,操作数

11、的编码方式,例:假设某外设接口中有 个寄存器,它们通过数据总线与CPU 相连,其总线地址如下: 数据寄存器FFH 命令字寄存器FFH 状态字寄存器FFH下列 条指令完成的操作分别是什么?() MOV FFH ,R() MOV R ,FFH() MOV R ,FFH() MOV FFH ,R,常用操作数寻址方式,立即寻址 imme直接寻址 EA=D间接寻址 EA=(D)寄存器直接寻址 EA=R寄存器间接寻址 EA=(R)寄存器变址寻址 EA=R+D相对寻址 EA=PC+D基址寻址 EA=BX+D隐含寻址 其他寻址方式(块寻址、段寻址)注:内存寻址时存在的对齐方式:大端序、小端序,例: 设寄存器R

12、 中的数值为H ,地址为H 的存储单元中存储的内容为H ,地址为H 的存储单元中存储的内容为H ,PC 的值为H ,问以下寻址方式下访问到的操作数的值是什么?() 寄存器寻址R ;() 寄存器间接寻址(R) ;() 直接寻址H ;() 间接寻址(H) ;() 相对寻址 H(PC) ;() 立即寻址 H 。 解:() 采用寄存器寻址,操作数在寄存器中,S (R) H 。() 采用寄存器间接寻址,操作数的有效地址在寄存器中,EA (R) ,操作数S (R) (H) H 。() 采用直接寻址,操作数的有效地址在指令中给出,EA H ,操作数S (H) H 。() 采用间接寻址,操作数有效地址在主存单

13、元中,EA (H) H ,操作数S (H) H 。() 采用相对寻址,操作数有效地址为PC 中的内容与指令中的位移量D 之和,即EA (PC) D H H H ,操作数S (H) H 。() 采用立即寻址,操作数直接在指令中给出,S H 。,常用指令寻址方式,顺序寻址方式跳跃寻址方式:直接、相对、间接,1、栈的分类: 用寄存器实现堆栈(串联堆栈) 内存中开辟堆栈区 自底向上生成堆栈 自顶向下生成堆栈2、栈的建立: 将栈顶地址传送到SP中3、栈的操作: PUSH/POP、MOV,栈及相关概念,从“20-80律”出发,人们开始了对指令系统合理性的研究,提出了精简指令系统的想法,出现了精简指令系统计算机,简称RISC。,80%不常用指令,复杂指令系统,20%常用指令,精简指令系统,RISC机型,RISC机:,指令数少长度固定,格式少、寻址方式少大多数指令一个机器周期可完成通用寄存器多,只有存数/取数指令访问存储器,指令格式,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号