首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 265 毫秒
1.
针对寄存器交换方法在降低寄存器软错误率过程中,未考虑寄存器分配过程对软错误所带来影响的问题,提出一种基于活跃变量对于软错误影响的静态寄存器重分配方法。首先,引入活跃变量权值来评估其对寄存器软错误的影响;然后,提出两条规则,在进行寄存器交换后对活跃变量进行寄存器的重新分配。该方法在更小粒度的活跃变量层次,进一步降低了寄存器软错误率。实验和分析表明,相对于寄存器交换方法,该策略能进一步降低30%的寄存器软错误率,增强了寄存器的可靠性。  相似文献   

2.
刘旸  张兆庆 《计算机学报》2004,27(9):1198-1206
安腾处理器引入了硬件控制的寄存器栈,寄存器栈引擎能够自动地改变寄存器栈帧指针,对栈寄存器进行保存和恢复,从而有效地减少跨越过程调用时的寄存器值的保存和重新载入.每个过程使用的栈寄存器数量可以通过alloc指令显式地指定.通常的过程内寄存器分配方法给过程分配最大需要数量的栈寄存器.但过多的栈寄存器使用会引起寄存器栈溢出/载入.如果频繁出现这样的寄存器栈溢出/载入,将严重影响程序执行性能.该文提出了一种创新的算法,能够有效地减少RSE代价.该算法已经在开放源码编译器ORC中得到了实现.实验表明,SpeclNT2000在使用该算法后性能普遍提高,perlbmk的性能提高了14%,而crafty也有3.2%的性能提高.  相似文献   

3.
主要介绍了C8051F500中的SPI(Serial Perripheral Interface)接口,尤其是对SPI0CKR时钟速率控制寄存器、SPI0CFG配置寄存器、SPI0CN控制寄存器、SPI0DAT数据寄存器、Shift Register移位寄存器的结构和功能进行了详细介绍,并深入研究了SPI接口的通信过程。通过仿真,验证了主机与从机之间的数据传输以及各个寄存器的功能。  相似文献   

4.
一种基于寄存器压力的VLIW DSP分簇算法   总被引:1,自引:0,他引:1  
寄存器是程序运行时最宝贵的资源之一,软件流水在对VLIW DSP指令调度的同时,会显著增加寄存器的压力,从而导致寄存器溢出,软件流水中止。在以往的研究中,软件流水之前的指令分簇会更多地考虑指令并行性,往往会把寄存器的压力交给寄存器分配阶段,当物理寄存器不够分配时会造成寄存器溢出。通过考察指令运行时的寄存器压力情况对指令进行分簇,这样可根据各个簇的寄存器压力的动态信息减少寄存器的溢出,提高指令运行效率。  相似文献   

5.
向量处理逻辑与DRAM相结合形成向量PI(MV-PIM)结构,可充分利用PIM结构的高带宽特性。向量寄存器文件是V-PIM的关键资源,其端口数和容量大小直接影响着向量处理器的频率和功耗。设计一个低功耗、高速、多端口的向量寄存器文件是向量处理器数据通路设计的重要任务之一。文章描述了采用多个端口数较少的寄存器体通过交叉互连构成多端口向量寄存器文件的设计方案,实验表明多体交叉结构的向量寄存器文件在功耗、面积等方面比单一的多端口结构具有明显优势。  相似文献   

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

7.
HC02解码器中使用的寄存器主要有两个32位信息寄存器和两个18位地址寄存器。本文对这些寄存器及其控制逻辑电路进行了详细的论述。  相似文献   

8.
高级综合技术的研究在当前倍受关注。在进行资源分配时,为了减少互连线的数目,提高设计质量,应对数据路径综合中所需的寄存器进行合并。通过对寄存器合并问题进行研究分析,给出一种高级综合中的寄存器合并算法。经实验证明,该算法具有速度快、效率高的特点,应用在高级综合系统中时,可提高综合设计的质量。  相似文献   

9.
虚拟寄存器结构   总被引:3,自引:1,他引:2  
廖恒  李三立 《计算机学报》1996,19(11):801-809
虚拟存会器概念在名已经沿用近30年,鉴于面向寄存器的RISC结构的迅速发展以及寄存器对指令级并行性的重要性,本文首先提出了虚拟寄存器的新概念。虚拟寄存器结构是指令级并行调度和发射Trace Merging算法在处理机体系结构上的一种实现方法。  相似文献   

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

11.
3种提高软件流水有效性的算法:比较和结合   总被引:1,自引:0,他引:1  
李文龙  陈彧  林海波  汤志忠 《软件学报》2005,16(10):1822-1832
软件流水是开发循环程序指令级并行性的技术,它通过并行执行连续的多个循环体来加快循环的执行速度.在软件流水中,循环体的重叠增加了寄存器需求,导致寄存器压力增大,当目标处理机所提供的寄存器不足时,软件流水可能失败.在Itanium处理机上评估了NAS和SPEC2000基准程序中的软件流水循环的寄存器需求,发现静态寄存器不足是造成软件流水失败的主要原因,提出了3种增加软件流水个数、提高软件流水有效性的算法:限制循环展开因子的算法(register sensitive unrolling,简称RSU)、堆栈寄存器分配算法(stacked registerallocation,简称SRA)以及变量类型转换的算法(variabletype conversion,简称VTC).RSU根据静态寄存器需求确定一个合理的展开因子,增加了软件流水的成功率;SRA和VTC分别使用空闲的堆栈寄存器和旋转寄存器来充当静态寄存器,提高了寄存器的利用率.在面向Itanium处理器的开放源码编译器ORC(open research compiler)上实现了这3种算法,通过NAS程序的测试比较了这3种算法的有效性,同时对它们的结合应用进行了研究和实验.  相似文献   

12.
一种支持多重循环软件流水的寄存器结构   总被引:1,自引:0,他引:1  
容红波  汤志忠 《软件学报》2000,11(3):401-409
寄存器结构及其分配是软件流水算法的关键之一.为支持多重循环的软件流水,该文提出一种新颖的寄存器结构:半共享跳跃式流水寄存器堆.它可以有效地解决多重循环软件流水下的特殊问题,即:同层次和跨层次的寄存器重命名问题以及断流问题;有效地消除外层循环的体间读写相关,提高程序的指令级并行度.它有3种分配方式可供灵活使用:单个寄存器、流水寄存器和寄存器组方式.流水寄存器方式对生存期确定的、局限于一个循环层次的寄存器重命名问题提供简单而有效的支持.寄存器组分配方式解决了多重循环软件流水时变量生存期不确定的情况.跳跃操作为  相似文献   

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

14.
针对集成电路规模扩大、片内寄存器数量激增,导致验证难度加大的问题,提出一种轻量级寄存器模型。首先,设计精简的底层结构,配合参数化设置减少寄存器模型在运行时的内存消耗;然后,分析模块级、系统级等不同层次的寄存器验证需求,使用SystemVerilog语言实现验证所需的各项功能;最后,开发内建测试用例和寄存器模型自动生成工具,缩短寄存器模型所处验证环境的建立时间。实验结果表明,在运行时内存消耗方面,该寄存器模型为通用验证方法学(UVM)寄存器模型的21.65%;在功能方面,可应用于传统的UVM验证环境和非UVM验证环境,对25类寄存器的读写属性、复位值、后门访问路径等功能进行检查。该轻量级寄存器模型在工程实践中拥有良好的通用性和灵活性,满足寄存器验证需求,能有效提高寄存器验证的效率。  相似文献   

15.
Inline expansion and interprocedural register allocation are two general approaches used for interprocedural optimization. However, there are certain situations which prevent either of them from being applied smoothly to procedure calls. Especially, interactions between inlining and register allocation can cause an inlined version of a program to run more slowly than its noninlined counterpart. This paper describes a method of integrating inlining and interprocedural register allocation to reduce the procedure call overhead without this negative effect. We use profile information to identify the heavy called procedures regions and the register usage information of each code site to optimize the placement of the register save/restore code. This method also takes full advantage offree-use registers at each procedure call site. The average performance improvement is 1.21 compared with the previous schemes that performed either of them independently.  相似文献   

16.
王显著  李三立  黄震春 《计算机学报》1998,21(12):1112-1118
本文讨论了开发Java处理器的指令级并行性的策略,提出采用虚拟寄存器技术的Java处理器(VRJP)结构,并给出了判断相关性和管理虚拟寄存器的方法。分析和实验表明,VRJP能够有效地开发Java的指令级并行性,提高Java程序的执行效率。在VRJP中,大多数虚拟寄存器都不需要对应的物理寄存器,大大降低了物理寄存器的访问频率。  相似文献   

17.
寄存器旋转技术为每一个循环迭代都提供一组专用的寄存器,从而减少对循环展开的需求。针对如何在IA-64二进制翻译中处理旋转寄存器的问题,提出一种在二进制翻译器的后端直接模拟寄存器旋转特性的解决方案,实验结果证明了该方法在二进制翻译中处理软件流水操作代码的有效性。  相似文献   

18.
针对在反编译IA32体系结构可执行程序过程中涉及的寄存器参数恢复问题,基于IA32适用的ABI约定,分析寄存器参数的特征,借鉴数据流分析中到达-定义分析及使用-定义链等经典方法,利用寄存器定义和使用等信息,提出一种寄存器参数的识别、处理及实参恢复的方法。  相似文献   

19.
针对超标量深流水线中物理寄存器资源冲突造成的流水线阻塞问题,提出了一种多指令共享同一物理寄存器资源的非阻塞指令发射方法。该方法可在物理寄存器资源冲突下继续分配物理寄存器,利用发射缓冲队列临时缓冲冲突的指令,增加发射流水级实际可分配的物理寄存器数量,释放发射窗口,提高物理寄存器使用的并行性。实验结果表明:相对于传统重命名方法,该方法可减少27.3%的物理寄存器资源实现传统方法相同的性能。  相似文献   

20.
The registers constraints are usually taken into account during the scheduling pass of an acyclic data dependence graph (DAG): any schedule of the instructions inside a basic block must bound the register requirement under a certain limit. In this work, we show how to handle the register pressure before the instruction scheduling of a DAG. We mathematically study an approach which consists in managing the exact upper-bound of the register need for all the valid schedules of a considered DAG, independently of the functional unit constraints. We call this computed limit the register saturation (RS) of the DAG. Its aim is to detect possible obsolete register constraints, i.e., when RS does not exceed the number of available registers. If it does, we add some serial edges to the original DAG such that the worst register need does not exceed the number of available registers. We propose an appropriate mathematical formalism for this problem. Our generic processor model takes into account superscalar, VLIW and EPIC/IA64 architectures. Our deeper analysis of the problem and our formal methods enable us to provide nearly optimal heuristics and strategies for register optimization in the face of ILP.  相似文献   

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

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