首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到16条相似文献,搜索用时 62 毫秒
1.
刘旸  张兆庆 《计算机科学》2004,31(3):158-160
寄存器栈在减少程序调用时的内存访问上发挥了重要作用。但是.并非任何时候栈寄存器的使用都是没有代价的.有时栈溢出的代价甚至非常高。为了解决这个问题,本文提出了一种解决自递归函数中大量栈寄存器的使用导致过高栈溢出代价的算法,对寄存器分配中的简化过程进行了改进.并提出了一种减轻寄存器压力的优化方法。本算法在开放源码编译器ORC(Open Research Compiler是IA-64开放源码编译器的名称)上得到了实现。在IA-64上运行的实验结果证明,该算法对于执行频率很高,而且寄存器压力大的自递归函数有很明显的优化效果。  相似文献   

2.
寄存器分配与指令调度是编译器优化过程中的两项重要任务.由于这两个阶段通常是独立完成的,寄存器分配往往会引入不必要的伪相关,从而影响指令调度的效率和结果,影响最终性能的提高.本文提出了寄存器队列模型,并在其基础上提出了一种结合实现寄存器分配和指令调度的算法,该算法能够在保证每条指令的执行时间最早的同时使用最少数目的寄存器.它的另外一个优点是具有线性的时间和空间复杂度,而且易于硬件实现.  相似文献   

3.
提出了很多结合技术使得指令调度与寄存器分配之间进行一些信息交互,在没有引入过多溢出代码的情况下提高了指令级并行度,从而提高了性能。按照算法的特征分类介绍了几种影响力较大的算法,同时作了简单的评价和效果比较,最后介绍了有关指令调度和寄存器分配结合的一些新方向。  相似文献   

4.
多级自旋转移力矩磁性存储器(MLC STT-RAM)是一种新型的非易失性存储介质。不同于采用电荷方式来存储信息的SRAM,MLC STT-RAM利用自旋偏振电流通过磁隧道结(MTJ)改变自由层的磁层方向来存储信息,能够天然地避免电磁干扰。文章利用MLC STT-RAM的抗电磁辐射特性,探索在航天抗辐照环境下将其作为存储介质用于寄存器设计。在MLC STT-RAM中,每个存储单元有4种不同的阻抗状态,不同的阻抗状态之间的转换具有不同的能耗和延迟的代价。而传统的基于SRAM的寄存器分配技术并没有考虑不同的写状态转换的影响,其在没有考虑溢出优先级的情况下启发式地选择潜在溢出变量,因此该方法不适合用在MLC STT-RAM的寄存器分配中。针对该问题,提出了一种面向写状态转换的MLC STT-RAM寄存器分配的溢出优化策略。具体来说,首先,通过每个写状态转换频率的线性组合来构成溢出代价模型。然后,根据溢出代价模型针对性地选择溢出变量,选择代价低的变量保存在寄存器中,而代价高的变量倾向于被溢出,从而便实现了面向MLC STT-RAM的寄存器分配策略的优化设计。  相似文献   

5.
在数字信号处理器(DSP)设计中.硬件循环指令对系统性能的提升具有重要意义.为实现硬件循环,本文引入硬件栈设计的思想,讨论了硬件栈带来的好处和它的不足;并详细介绍了为减少硬件栈的访问周期采用的几种优化方法,最终实现了硬件栈单周期的存储访问和调度.  相似文献   

6.
多寄存器组网络处理器上的寄存器分配技术   总被引:1,自引:0,他引:1  
针对传统的图着色寄存器分配算法不能直接处理网络处理器的操作问题,提出了一种多寄存器组网络处理上的寄存器分配技术.在依次分析了一个符号寄存器可能位于哪些寄存器组?如果没有候选组,该如何解决这种冲突?如果有多个候选组,该选用哪个组等问题的基础上,通过将这些方法与图着色寄存器分配算法相融合,在IXP上实现了这种多寄存器组的寄存器分配,提高了它的可编程性.这种方法也可运用到其它具有类似寄存器结构的处理器上.  相似文献   

7.
8.
针对寄存器交换方法在降低寄存器软错误率过程中,未考虑寄存器分配过程对软错误所带来影响的问题,提出一种基于活跃变量对于软错误影响的静态寄存器重分配方法。首先,引入活跃变量权值来评估其对寄存器软错误的影响;然后,提出两条规则,在进行寄存器交换后对活跃变量进行寄存器的重新分配。该方法在更小粒度的活跃变量层次,进一步降低了寄存器软错误率。实验和分析表明,相对于寄存器交换方法,该策略能进一步降低30%的寄存器软错误率,增强了寄存器的可靠性。  相似文献   

9.
BWDSP是一款自主设计的国产VLIW(超长指令字)数字信号处理器,支持SIMD技术,其SIMD指令可以在4个宏上同时执行4个32位计算,对寄存器使用有特殊规则,Open64编译器的寄存器分配策略并不适用于这种规则.本文对BWDSP SIMD指令的寄存器分配优化技术进行了研究,并在BWDSP的编译器OCC上得以实现.  相似文献   

10.
针对X86系统仿真中基于静态寄存器分配的代码翻译机制导致的目标代码膨胀率高、翻译引擎和执行引擎间切换开销大两方面问题,提出了以寄存器映射、自定义指令和影子寄存器为基础的软硬协同优化方法。寄存器映射优化将对内存中模拟的源机器寄存器的操作转化为对本地机器寄存器操作,降低了翻译后目标代码膨胀率;自定义指令和影子寄存器优化将引擎切换时上下文的备份和恢复操作简化为2条自定义指令,提升了引擎切换效率。相比协同优化前,X86仿真系统Linux-0.2的翻译后目标代码膨胀率降低了21.9%,开关机时间获得了1.35的加速比。测试结果表明了该协同优化方法对于提升系统仿真效率具有可行性和有效性。  相似文献   

11.
基于遗传算法提出了溢出代码和访存压力敏感的机器学习来调试寄存器分配的权值函数。不同于以往采用目标程序的运行时间作为适应值,通过静态分析寄存器分配产生的溢出代码和基本块中的访存压力来构建适应值,以减少学习时间。这些分析被限定在热点函数中,在保证适应值精度的同时进一步加快了学习速度。实验表明,快速学习仅需要考虑热点函数的编译时间,整个CPU2000CINT测试集在5 h内即可学习完毕。大部分CPU2000CINT测试例子的性能得到了提高。其中perlbmk的性能提升最高可达到7.2%。  相似文献   

12.
通过分簇结构实现向量化执行是一种高效而灵活的体系结构选择.在编译中间表示里,向量指令与标量指令交叠出现.分簇结构向量化实现的特殊方式给传统的寄存器分配框架带来了挑战.针对该问题,本文从向量指令的表示形式、Callee/Caller寄存器划分、向量寄存器分配等进行研究,并给出全局与局部向量寄存器的分配方法.  相似文献   

13.
文章介绍了一种新的堆栈式寄存器堆的设计原理和设计技术,与通常堆栈式寄存器堆不同,该设计将栈顶寄存器组设为通用寄存器,增加了栈顶寄存器组的访问效率,同时通过缓冲寄存器及其控制使得该装置具有对不同字长的数据进行自适应存储的能力。该装置可以用于支持后缀语法或者对编码长度有限制的微处理器设计中。  相似文献   

14.
IA-64架构是Intel公司开发出的新一代64位微处理器体系结构,它的设计思想介于传统的RISC(精简指令集计算机)和并行处理器之间,其特殊的寄存器栈机制为应用程序提供了大量可用的通用寄存器,作者对支持IA-64的编译器进行了设计和实现,过程了IA-64的寄存器结构,寄存器栈轮转做了一些深入研究,本文对比传统处理器架构中的寄存器结构,对该寄存器栈机制在编译器中实现的重要特点进行了阐述。  相似文献   

15.
在体现EPIC设计思想的Itanium微处理器中,寄存器堆的管理是通过寄存器堆栈引擎(RSE)技术实现的。EPIC硬件简单,动态同时多线程(DSMT)易于开发线程级并行,针对结合二者优点的EDSMT微体系结构,我们提出一种基于映射表的寄存器堆管理方法—MTRSE。该方法兼容Itanium体系结构,支持同时多线程,并提高了寄存器资源使用效率。实验表明,当线程数为3或4时,该方法对于寄存器资源有40%使用效率的提升。  相似文献   

16.
对采用谓词执行优化技术后的编译代码,为了更高效地进行寄存器分配,首先介绍了Sias等人提出的一种基于二进制决策图(BDD)的谓词分析系统;然后在其基础上,对传统寄存器分配算法进行改进,给出了一种建立精化干涉图的新算法;最后将算法在学院研制的YHFT—DSP/700芯片的编译器上实现,实验结果表明,减少了所需寄存器数目,缩短了代码执行时间,获得了较好的性能提高.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号