首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 187 毫秒
1.
SMT处理器的资源分配一般是通过调控各线程的取指过程间接实现的,这种间接调控有时会导致资源滥用和饥饿,从而严重浪费资源并降低整体性能.以往的改进措施往往实现代价较大,且不能消除资源分配的"不均衡性",因此效果不太理想.文中提出一种新的SMT处理器资源调控机制——线程感知寄存器重命名TSRR(Thread-Sensitive Register Renaming),消除了资源分配的"不均衡性",其优点如下:(1)资源分配自动适应线程运行状态的变化,实现"按需分配";(2)通过调控重命名寄存器文件(RRF)的分配来间接控制其它资源分配,实现代价较低;(3)兼顾资源分配的效率和公平,既防止了资源滥用和饥饿,又充分发掘各线程的性能潜力.此外,TSRR还可以间接降低RRF的尺寸要求和取指逻辑的复杂度.  相似文献   

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

3.
两级分配多可用重命名寄存器   总被引:2,自引:1,他引:1  
杨华  崔刚  刘宏伟  杨孝宗 《计算机学报》2006,29(10):1729-1739
提出了一种新的寄存器重命名机制——两级分配多可用重命名寄存器,简称2L-MuRR,其特点如下:(1)对重命名寄存器文件(RRF)的占用要经过两级重命名和分配过程,减少了无效占用时间.(2)RRF被划分为多个不同宽度的字段,根据目标值的大小进行按字段分配,这样使每个重命名寄存器都是多可用的.(3)同一重命名寄存器内的多个目标值的写(或读)操作可以合并成一次完成,减少了RRF的访问次数和读/写端口的压力.模拟实验表明,2L-MuRR显著提高了RRF的存储能力(70%以上),能以较少的重命名寄存器满足SMT高并行度的要求,有效缓解了寄存器文件的设计压力.  相似文献   

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

5.
多端口寄存器堆有助于挖掘指令级和线程级并行性,但同时带来面积、能耗和访问时间的压力.文章面向超标量和SMT处理器,给出了一种方法,即通过增加一个小的活跃值堆(Active Value File,AVF)选择性地保存处于活跃周期(从产生到最后一次使用之间)的物理寄存器值.AVF结构可分担主寄存器堆的访问压力并降低端口数目,实现简单且具有写过滤的特点.在获得较大幅度能耗降低的同时不影响时钟频率且IPC损失较小.  相似文献   

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

7.
在序列密码算法中,反馈移位寄存器的操作使用频率高且移位位宽和反馈网络灵活多变,针对目前还没有一个通用可配置,支持不同规模的移位寄存器实现方法。本文利用通用可重构处理器基本运算单元数据流和控制流可配置的特点,充分挖掘移位寄存器中并行流水潜力,在通用可重构处理器上,设计反馈移位寄存器的四种不同实现方案,并对算子在通用处理器以及可重构处理器模型上进行性能对比分析。实验表明,运用可重构的方法实现A5密码算法中的反馈移位寄存器效率较Intel ATOM230处理器提高12.6倍,最后在考虑可重构处理器资源制约的条件下,对反馈移位寄存器的实现方法进行优化讨论。  相似文献   

8.
并串转换电路在通信接口中具有广泛的应用,可编程逻辑阵列由于具备灵活、可重构等特点非常适应于并串转换硬件电路的实现。为了解决硬件电路结构中资源与性能的矛盾,分析比较了移位寄存器、计数器与组合逻辑条件判定三种不同的并串转换硬件电路结构,并通过设计仿真对其进行了功能验证和性能评估。实验结果表明采用移位寄存器的实现方法具有最优的速度性能,采用计数器的实现方法具有最优的性价比,采用组合逻辑条件判定的实现方法具有最少的寄存器资源消耗,可根据实际应用需求合理选择并串转换硬件电路实现方式。  相似文献   

9.
在日常使用中,大家经常会碰到对文件进行重命名的情况,比如从网站下载了若干图片、影视资源,或者工作中需要对文件重命名后方便管理,这个时候就需要用到重命名了。对文件的重命名本身并不难,只要选中文件,通过右键菜单中选择重命名即可(可以直接按F2),但是如果大量的文件要重命名,按照这种方式就太繁琐了,那么应该如何对文件进行批量重命名呢?下面就给大家介绍几种简单易行的方法。  相似文献   

10.
王晓勇  张盛兵  黄嵩人 《微型电脑应用》2011,27(11):56-58,64,70
超标量技术的应用,使DSP设计中的数据相关控制变得尤为重要。介绍并实现了一种多发射DSP的数据相关控制机制。在指令的译码和执行周期进行寄存器地址指针比较,根据比较器的结果及指针有效信号检测指令间的数据相关,再通过结果前推与寄存器冒险控制相结合的方式来消除数据依赖,减少流水线的停顿,提高处理器的性能。  相似文献   

11.
Power PC 620是Power PC系列中用于高档工作站和高速服务器的第一种芯片,它采用了许多先进的微结构。例如:采用了动态转移预测、推测执行、寄存器更名、保留站和高带宽总线接口等新的结构技术,以提高指令的并行性,使其能持续达到每个周期执行4条指令的速度。本文详细地介绍了Power PC620的结构特点及其主要的性能。  相似文献   

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

13.
SMA:前瞻性多线程体系结构   总被引:4,自引:1,他引:3  
肖刚  周兴铭  徐明  邓鹍 《计算机学报》1999,22(6):582-590
提出了一种新的ILP处理器体系结构-前瞻性多线程体系的结构,简称SMA.它结合了前瞻性执行机制和多线程执行机制,以整个线程为长步进行前瞻性执行,多个线程并行执行并且共享处理器硬件资源,这样,处理器既通过组合每个线程的指令窗口形成一个大的动态指令窗口,开发出程序中更大的ILP,又利用多线程执行机制屏蔽各种长延迟操作,达到较高的资源利用率;介绍了SMA执行模型,并讨论了SMA处理器的实现和其中的关键技  相似文献   

14.
The popularity of multimedia applications made them a major theme in embedded systems. The key component for supporting multimedia application well is embedded processor. Thus, we have designed and implemented an embedded processor, called UniDual processor, to achieve this objective. Its key features are the integration of instructions of reduced instruction set computers (RISCs) and digital signal processors (DSPs) as well as the support of special instruction set and shared‐based clustered register architecture. However, an important issue of UniDual that remains open is how to efficiently allocate registers. In this paper, we present a scheduling and instruction transformation approach to resolve the aforementioned issue. The proposed approach schedules instructions and then transforms overlapped instructions into RISC and DSP instructions by taking communication overhead and hardware limitations into account. Compared with the greedy approach, the evaluation shows that our work is relatively effective in performance and code size reduction. Copyright © 2012 John Wiley & Sons, Ltd.  相似文献   

15.
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种算法的有效性,同时对它们的结合应用进行了研究和实验.  相似文献   

16.
Timing speculative (TS) architecture is promising for improving the energy efficiency of microprocessors. Error recovery units, designed for tolerating occasional timing errors, have been used to support a wider range of voltage scaling, therefore to achieve a better energy efficiency. More specifically, the timing error rate, influenced mainly by data forwarding, is the bottleneck for voltage down-scaling in TS processors. In this paper, a new Timing Error Aware Register Allocation method is proposed. First, we designed the Dependency aware Interference Graph (DIG) construction to get the information of Read after Write (RAW) in programs. To build the construction, we get the disassemble code as input and suppose that there are unlimited registers, the same way as so-called virtual registers in many compilers. Then we change the disassemble codes to the SSA form for each basic block to make sure the registers are defined only once. Based on the DIG construction, registers were reallocated to eliminate the timing error, by loosening the RAW dependencies. We construct the DIG for each function of the program and sort the edge of DIG by an increasing weight order. Since a smaller weighted-edge value means that its owner nodes have more frequent access in instruction flows, we expect it in different registers with no read-write dependency. At the same time, we make sure that there are no additional new spill codes emerging in our algorithm to minimize the rate of spill code. A high rate of spill code will not only decrease the performance of the system but also increase the unexpected read-write dependency. Next, we reallocate the registers by weight order in turn to loosen the RAW dependencies. Furthermore, we use the NOP operation to pad the instructions with a minimal distance value of 2. Experiment results showed that the average distance of RAW dependencies was increased by over 20%.  相似文献   

17.
为了提高片上Flash在嵌入式应用中的读取速度,提出了一种基于预取和缓存原理的片上Flash加速控制器。该控制器包括预取缓存和高速缓存两种加速方案。其中预取缓存方案采用位宽扩展和预取技术加速顺序指令的读取,并采用分支缓存存储非顺序指令,降低由非顺序指令造成的预取缺失代价;而高速缓存方案采用组相联和路预测技术,提高指令重用率,减少Flash访问次数,降低系统功耗。针对不同的应用场景,两种加速方案既可通过寄存器来静态切换,也可通过软件流程来自适应动态切换,从而获得最佳的读取速度提升。多项基准程序的测试结果表明了所提出的片上Flash加速控制器在性能和功耗优化上的可行性和高效性。  相似文献   

18.
High-performance microprocessors are currently designed with the purpose of exploiting instruction level parallelism (ILP). The techniques used in their design and the aggressive scheduling techniques used to exploit this ILP tend to increase the register requirements of the loops. This paper reviews hardware and software techniques that alleviate the high register demands of aggressive scheduling heuristics on VLIW cores. From the software point of view, instruction scheduling can stretch lifetimes and reduce the register pressure. If more registers than those available in the architecture are required, some actions (such as the injection of spill code) have to be applied to reduce this pressure, at the expense of some performance degradation. From the hardware point of view, this degradation could be reduced if a high-capacity register file were included without causing a negative impact on the design of the processor (cycle time, area and power dissipation). Novel organizations for the register file based on clustering and hierarchical organization are necessary to meet the technology constraints. This paper proposes the used of a clustered organization and proposes an aggressive instruction scheduling technique that minimizes the negative effect of the limitations imposed by the register file organization.  相似文献   

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

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