第2章计算机指令集结构祥解.ppt

  1. 1、本文档共203页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章计算机指令集结构祥解.ppt

第2章 计算机指令集结构 主讲: 顾一禾 本章学习内容 指令集结构的分类 寻址方式设计 指令集结构的功能设计 数据类型、数据表示、数据结构的基本概念 各类数据表示方法 指令格式的设计与优化 实现RISC设计的技术手段 MIPS指令集结构简介 2.1 指令集结构的分类 指令集(指令系统) 机器所具有的全部指令的集合。 在机器上直接运行的程序均是由指令组成的。 指令集设计的内容 确定指令的格式、类型、功能 确定指令的操作、操作数的类型及大小 确定操作数的访问(寻址)方式。 指令系统的性能评价 指令集中一般包含两类指令: (1) 非特权指令 主要供用户使用。包括算逻指令、数据传送指令、控制转移指令、浮点运算指令、字符串指令、十进制指令和系统指令等。 (2) 特权指令 主要供系统程序员使用,一般不允许用户使用。若用户希望使用这类指令,必须先通过访管指令调用操作系统,再由操作系统控制执行某些特权指令。其中包括I/O指令、停机等待指令、存储管理保护指令、控制系统状态指令以及诊断指令等。 不同风格的指令系统 CISC:复杂指令集计算机 RISC:精简指令集计算机 2.1.1 指令集结构的分类 1. 指令集分类的五个因素 ⑴ 在CPU中操作数的存放方法。 如操作数可存放在内存、寄存器和堆栈等不同类型的存储单元中。 ⑵ 在每条指令中显式指明的操作数个数。 ⑶ 操作数的寻址方式。 ⑷ 指令系统所提供的操作类型。 ⑸ 操作数的类型与大小。 区别不同指令集结构的主要因素 CPU中用来存储操作数的存储单元的主要类型 堆栈 累加器 通用寄存器组 2.1.2 指令集结构的三种类型 ⑴ 堆栈型 指令中的操作数默认存放在堆栈的栈顶。 ⑵ 累加器型 指令中的操作数默认存放在累加器中。 ⑶ 通用寄存器型 指令中明确给出操作数所在的寄存器。 通用寄存器结构的分类 根据操作数的来源不同,又可将通用寄存器结构进一步分为: 寄存器—存储器结构(RM结构) 操作数可来自存储器 寄存器—寄存器结构(RR结构) 所有操作数都是来自通用寄存器组 RR结构也称为load-store结构。 load-store结构强调,只有load指令和store指令能够访问存储器。 存储器—存储器结构(MM结构) 4种指令集结构中操作数位置及结果去向 灰色块:操作数   黑色块:结果 TOS(Top Of Stack):栈顶 操作数的给出方式 对于不同类型的指令集结构,操作数的位置、个数以及操作数的给出方式也不同。 显式给出:用指令字中的操作数字段给出 隐式给出:使用事先约定好的存储单元 对于一条有两个源操作数和一个目的操作数的指令,指令中显式表示的操作数的个数随CPU存取操作数方式的不同而不同。 例:设A、B、C均保存在存储器单元中,且在运算过程中不破坏A、B的值,则在三种不同类型的指令系统中实现C=A+B的指令序列为: 例:请将下面的一段高级语言程序,用堆栈型、累加器型、寄存器-寄存器型指令编写完成同样功能的汇编语言程序。若操作码占一字节,存储器地址占二字节,操作数占四字节。    A=B+C    B=A+C    D=A-B ⑴ 计算三种指令代码序列从存储器取指所需的总字节数。 ⑵ 计算三种指令代码序列取数或存数所需的总字节数。 ⑶ 比较三种结构所需的指令字节数和需传送的总字节数。 说明:减法为目的操作数减去源操作数 堆栈型 PUSH B PUSH C ADD POP A ; A=B+C PUSH A PUSH C ADD POP B ; B=A+C PUSH A PUSH B SUB POP D ; D=A-B 累加器型 LOAD B ADD C STORE A ; A=B+C ADD C ;A还在累加器中 STORE B ; B = A+C LOAD A SUB B STORE D ; D=A-B 寄存器-寄存器型 LOAD R1 ,B LOAD R2,C ADD R1 ,R2 ;R1=R1 +R2 STORE A,R1 ;A=B+C ADD R1 ,R2 ;R1=R1 +R2 STORE B,R1 ; B = A+C LOAD R2 ,A SUB R2,R1 ;R2=R2 -R1 STORE D,R2 ;D = A-B 三种类型指令集结构的优缺点 通用寄存器指令集结构的优势 通用寄存器结构是现代指令集结构的主流 通用寄存器结构在灵活性和提高性能方面的明显优势 (1)寄存器的访问速度比存储器快。 (2) 编译器可以更加容易、有效地分配和使用寄存器。 (3)寄存器用于存放变量的好处: ① 减

文档评论(0)

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

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

1亿VIP精品文档

相关文档