第3章指令系统.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 1.VLIW和EPIC概念 VLIW中文含义是“超长指令字”,即一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。在这种指令系统中,编译器把许多简单、独立的指令组合到一条指令字中。当这些指令字从主存中取出放到处理器中时,它们被容易地分解成几条简单的指令,这些简单的指令被分派到一些独立的执行单元去执行。 EPIC中文含义是“显式并行指令代码”。 EPIC是从VLIW中衍生出来的,通过将多条指令放入一个指令字,有效的提高了CPU各个计算功能部件的利用效率,提高了程序的性能。 3.5.3 VLIW和EPIC * IA-64彻底突破IA-32的架构,最大限度地开发了指令级并行操作。 Intel公司反对将IA-64划归到RISC或CISC的类别中,因为他们认为这是EPIC架构,是一种基于超长指令字的设计,它合并了RISC和VLIW技术方面的优势。最早采用这种技术的处理器是Itanium。 2.Intel的IA-64 2010.9 重庆文理学院 某微机指令格式如下所示: 2010.9 重庆文理学院 * 3.3.1 堆栈结构 1.寄存器堆栈 用一组专门的寄存器构成寄存器堆栈,又称为硬堆栈。这种堆栈的栈顶是固定的,寄存器组中各寄存器是相互连接的,它们之间具有对应位自动推移的功能,即可将一个寄存器的内容推移到相邻的另一个寄存器中去。 * 寄存器堆栈 图3-14 寄存器堆栈结构 * 2.存储器堆栈 从主存中划出一段区域来作堆栈,这种堆栈又称为软堆栈,堆栈的大小可变,栈底固定,栈顶浮动,故需要一个专门的硬件寄存器作为堆栈栈顶指针SP,简称栈指针。栈指针所指定的主存单元,就是堆栈的栈顶。 图3-15 存储器堆栈结构 高地址 低地址 堆栈区 * 自底向上生成堆栈的进栈 堆栈的栈底地址大于栈顶地址,通常栈指针始终指向栈顶的满单元。进栈时,SP的内容需要先自动减1,然后再将数据压入堆栈。 2000 1FFF (SP)-1→SP 修改栈指针 (A)→(SP) 将A中的数据压入堆栈 SP 2000 A 2000 原栈顶 单元 现栈顶 单元 1FFF * 自底向上生成堆栈的出栈 出栈时,需要先将堆栈中的数据弹出,然后SP的内容再自动加1。 2000 ((SP))→A 将栈顶内容弹出,送入A中 (SP)+1→SP 修改栈指针 SP 1FFF A 1FFF 原栈顶 单元 现栈顶 单元 1FFF 2000 * 3.2.2 堆栈操作 堆栈操作既不是在堆栈中移动它所存储的内容,也不是把已存储在栈中的内容从栈中抹掉,而是通过调整堆栈指针而给出新的栈顶位置,以便对位于栈顶位置的数据进行操作。 在一般计算机中,堆栈主要用来暂存中断断点、子程序调用时的返回地址、状态标志及现场信息等,也可用于子程序调用时参数的传递,所以用于访问堆栈的指令只有进栈(压入)和出栈(弹出)两种。 * 在堆栈计算机中,堆栈是保存操作数和运算结果的唯一场所。此时的算术逻辑类指令中没有地址码字段,故称为零地址指令。参加运算的两个操作数隐含地从堆栈顶部弹出,送到运算器中进行运算,运算的结果再隐含地压入堆栈。如果将算术表达式改写为逆波兰表达式,用零地址指令进行运算是十分方便的。例如:有算术表达式a×b+c÷d,运算结果送x,这个算术表达式可以用逆波兰法表示成为ab×cd÷+。 3.2.2 堆栈操作(续) * PUSH A ;数据a压入堆栈 PUSH B ;数据b压入堆栈 MUL ;完成a×b PUSH C ;数据c压入堆栈 PUSH D ;数据d压入堆栈 DIV ;完成c÷d ADD ;完成a×b+c÷d POP X ;结果存入X单元 执行一条零地址的双操作数运算指令,如果是软堆栈,则需要访问4次主存;如果是硬堆栈,则只需要访问一次主存。 3.2.2 堆栈操作(续) * 一台计算机的指令系统可以有上百条指令,这些指令按其功能可以分成几种类型。 3.4 指令类型 * 1.一般传送指令 一般传送指令具有数据复制的性质,即数据从源地址传送到目的地址,而源地址中的内容保持不变。一般传送类指令常用助记符MOV表示,根据数据传送的源和目的的不同,又可分为: ⑴ 主存单元之间的传送。 ⑵ 从主存单元传

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档