计算机组成与结构:第十三章 处理器结构与功能.ppt

计算机组成与结构:第十三章 处理器结构与功能.ppt

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

图着色(GraphColoring)对于一个有节点和边组成的给定图为每一个节点指定一种颜色确保相邻节点的颜色不同同时做到使用的颜色数最少转换成编译器问题:分析程序并构成寄存器相关图若两个符号寄存器同时存活于同一个程序段区间尝试用n种颜色给图上色(n为真是寄存器数目)若过程不能完全成功,不能上色的节点将被放于存储器中图着色方法示意图为什么使用CISC(1)?简化编译器?有争议…很难利用复杂的机器码优化的难度很大可生成更小、更快的程序?程序占用内存少,但是…存储器价格趋于廉价较少的指令意味着待取的指令字节也少,大多指令要求更长的操作码寄存器引用要求更少的位数*******WilliamStallings

ComputerOrganization

andArchitecture

8thEdition第13章精简指令集计算机计算机的几个主要进展阶段(1)系列概念(Thefamilyconcept)IBMSystem/3601964DECPDP-8系列的概念将机器的结构与它的具体实现分离开微程序式控制器(Microporgrammedcontrolunit)最早由Wilkes于1951年提出由IBM于1964年引入其S/360生产线高速缓存存储器(Cachememory)最早由IBM于1969年在S/360模式85上实现商用计算机的几个主要进展阶段(2)固态RAM(SolidStateRAM)(参见存储器笔记)微处理器(Microprocessors)Intel40041971流水(Pipelining)将并行化引入机器取指令和指令执行周期多处理器(Multipleprocessors)下一个阶段-RISC精简指令集计算机(ReducedInstructionSetComputer)关键特征大量通用寄存器使用编译器技术用以优化寄存器的使用有限的和简单的指令集强调指令流水的优化处理器的比较CISC的推动力软件成本远超过硬件成本高级语言(HighLevelLanguage,HLL)的复杂度日益增加语义鸿沟(Semanticgap)以上问题产生了以下诉求:更大的指令集更多的寻址方式硬件实现各种高级语言语句例如:VAX机上的CASE机器指令CISC的意图降低编译器编写的难度提高指令执行的效率复杂操作能以微代码实现(microcode)支持更复杂的HLL指令的执行特征执行的操作(Operationsperformed)所用的操作数(Operandsused)执行顺序(Executionsequencing)很多研究用程序以HLL撰写在程序执行过程中还进行了动态研究的测试操作(Operations)赋值语句(Assignments)数据传送条件语句(Conditionalstatements(IF,LOOP))控制指令集的顺序调用-返回(call-return)过程非常耗时少量HLL指令会导致很多机器代码的操作HLL操作的加权相对动态频度[PATT82a]操作数(Operands)主要是局部变量优化的主选方向是对局部标量变量的存储和访问过程调用(ProcedureCalls)非常耗时取决于过程中用的参数和变量的数量同时取决于嵌套的深度大部分程序不会在大量调用后进行一系列相应的大量返回大多数变量是局部变量(参见访问局部性)推论(Implications)对HLL最好的支持是通过优化典型HLL程序中最耗时操作的性能使用大量寄存器可以优化操作数的访问精心谨慎地设计指令流水线例如:条件分支的预测等减少指令集大寄存器组方案的使用(LargeRegisterFile)基于软件依赖编译器来是寄存器使用最大化寄存器的分配由给定时间内使用最多的变量决定要求使用复杂的程序分析算法基于硬件简单地装备更多寄存器因此,更多变量能更长时间地保存在寄存器中局部变量的寄存器

(RegistersforLocalVariables)将局部变量保存在寄存器中降低主存的访问频率每一个进程(功能)调用只改变局部变量参数必须被传递结果必须被返回程序调用的变量必须被保存寄存器窗口(RegisterWindows)只有少数传送参数和局部变量过程动作的深度仅限定在一个相对窄的范围内使

文档评论(0)

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

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

1亿VIP精品文档

相关文档