共查询到20条相似文献,搜索用时 265 毫秒
1.
2.
安腾处理器引入了硬件控制的寄存器栈,寄存器栈引擎能够自动地改变寄存器栈帧指针,对栈寄存器进行保存和恢复,从而有效地减少跨越过程调用时的寄存器值的保存和重新载入.每个过程使用的栈寄存器数量可以通过alloc指令显式地指定.通常的过程内寄存器分配方法给过程分配最大需要数量的栈寄存器.但过多的栈寄存器使用会引起寄存器栈溢出/载入.如果频繁出现这样的寄存器栈溢出/载入,将严重影响程序执行性能.该文提出了一种创新的算法,能够有效地减少RSE代价.该算法已经在开放源码编译器ORC中得到了实现.实验表明,SpeclNT2000在使用该算法后性能普遍提高,perlbmk的性能提高了14%,而crafty也有3.2%的性能提高. 相似文献
3.
主要介绍了C8051F500中的SPI(Serial Perripheral Interface)接口,尤其是对SPI0CKR时钟速率控制寄存器、SPI0CFG配置寄存器、SPI0CN控制寄存器、SPI0DAT数据寄存器、Shift Register移位寄存器的结构和功能进行了详细介绍,并深入研究了SPI接口的通信过程。通过仿真,验证了主机与从机之间的数据传输以及各个寄存器的功能。 相似文献
4.
5.
向量处理逻辑与DRAM相结合形成向量PI(MV-PIM)结构,可充分利用PIM结构的高带宽特性。向量寄存器文件是V-PIM的关键资源,其端口数和容量大小直接影响着向量处理器的频率和功耗。设计一个低功耗、高速、多端口的向量寄存器文件是向量处理器数据通路设计的重要任务之一。文章描述了采用多个端口数较少的寄存器体通过交叉互连构成多端口向量寄存器文件的设计方案,实验表明多体交叉结构的向量寄存器文件在功耗、面积等方面比单一的多端口结构具有明显优势。 相似文献
6.
黄彩霞 《计算机工程与科学》2009,31(10)
在体现EPIC设计思想的Itanium微处理器中,寄存器堆的管理是通过寄存器堆栈引擎(RSE)技术实现的。EPIC硬件简单,动态同时多线程(DSMT)易于开发线程级并行,针对结合二者优点的EDSMT微体系结构,我们提出一种基于映射表的寄存器堆管理方法—MTRSE。该方法兼容Itanium体系结构,支持同时多线程,并提高了寄存器资源使用效率。实验表明,当线程数为3或4时,该方法对于寄存器资源有40%使用效率的提升。 相似文献
7.
HC02解码器中使用的寄存器主要有两个32位信息寄存器和两个18位地址寄存器。本文对这些寄存器及其控制逻辑电路进行了详细的论述。 相似文献
8.
高级综合技术的研究在当前倍受关注。在进行资源分配时,为了减少互连线的数目,提高设计质量,应对数据路径综合中所需的寄存器进行合并。通过对寄存器合并问题进行研究分析,给出一种高级综合中的寄存器合并算法。经实验证明,该算法具有速度快、效率高的特点,应用在高级综合系统中时,可提高综合设计的质量。 相似文献
9.
10.
IA-64架构是Intel公司开发出的新一代64位微处理器体系结构,它的设计思想介于传统的RISC(精简指令集计算机)和并行处理器之间,其特殊的寄存器栈机制为应用程序提供了大量可用的通用寄存器,作者对支持IA-64的编译器进行了设计和实现,过程了IA-64的寄存器结构,寄存器栈轮转做了一些深入研究,本文对比传统处理器架构中的寄存器结构,对该寄存器栈机制在编译器中实现的重要特点进行了阐述。 相似文献
11.
3种提高软件流水有效性的算法:比较和结合 总被引:1,自引:0,他引:1
软件流水是开发循环程序指令级并行性的技术,它通过并行执行连续的多个循环体来加快循环的执行速度.在软件流水中,循环体的重叠增加了寄存器需求,导致寄存器压力增大,当目标处理机所提供的寄存器不足时,软件流水可能失败.在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
寄存器结构及其分配是软件流水算法的关键之一.为支持多重循环的软件流水,该文提出一种新颖的寄存器结构:半共享跳跃式流水寄存器堆.它可以有效地解决多重循环软件流水下的特殊问题,即:同层次和跨层次的寄存器重命名问题以及断流问题;有效地消除外层循环的体间读写相关,提高程序的指令级并行度.它有3种分配方式可供灵活使用:单个寄存器、流水寄存器和寄存器组方式.流水寄存器方式对生存期确定的、局限于一个循环层次的寄存器重命名问题提供简单而有效的支持.寄存器组分配方式解决了多重循环软件流水时变量生存期不确定的情况.跳跃操作为 相似文献
13.
寄存器分配与指令调度是编译器优化过程中的两项重要任务.由于这两个阶段通常是独立完成的,寄存器分配往往会引入不必要的伪相关,从而影响指令调度的效率和结果,影响最终性能的提高.本文提出了寄存器队列模型,并在其基础上提出了一种结合实现寄存器分配和指令调度的算法,该算法能够在保证每条指令的执行时间最早的同时使用最少数目的寄存器.它的另外一个优点是具有线性的时间和空间复杂度,而且易于硬件实现. 相似文献
14.
针对集成电路规模扩大、片内寄存器数量激增,导致验证难度加大的问题,提出一种轻量级寄存器模型。首先,设计精简的底层结构,配合参数化设置减少寄存器模型在运行时的内存消耗;然后,分析模块级、系统级等不同层次的寄存器验证需求,使用SystemVerilog语言实现验证所需的各项功能;最后,开发内建测试用例和寄存器模型自动生成工具,缩短寄存器模型所处验证环境的建立时间。实验结果表明,在运行时内存消耗方面,该寄存器模型为通用验证方法学(UVM)寄存器模型的21.65%;在功能方面,可应用于传统的UVM验证环境和非UVM验证环境,对25类寄存器的读写属性、复位值、后门访问路径等功能进行检查。该轻量级寄存器模型在工程实践中拥有良好的通用性和灵活性,满足寄存器验证需求,能有效提高寄存器验证的效率。 相似文献
15.
Feipei Lai Yung-kuang Chao Chia-Jung Hsieh 《International journal of parallel programming》1994,22(4):409-434
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.
17.
18.
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. 相似文献