分享到:

V-PIM中低功耗分体多端口向量寄存器文件设计

1引言“存储墙”问题是高性能计算机系统所面临的挑战之一。在DRAM器件中嵌入处理逻辑形成的PIM(Processor-In-Memory)结构具有高带宽、低延迟、低功耗的结构特点,是缓解“存储墙”问题的有效途径[1],成为体系结构研究的热点。内部采用何种逻辑结构来发挥PIM的结构特点成为PIM研究的重点之一。向量结构曾经占据高性能计算主导地位近20年,并且由于本身具有开发数据并行的天然优势仍然在高、中低端计算领域得到广泛应用[2]。因此我们提出向量处理逻辑与DRAM相结合的向量PIM(V-PIM,Vector-PIM)结构,由于向量结构可以充分利用存储系统的带宽,V-PIM结构在利用PIM的结构特点方面将非常有吸引力。V-PIM中的向量结构采用寄存器-寄存器形式,流水化向量功能单元的数据和结果均需要访问寄存器,向量寄存器位于数据通路的关键路径上,其访问时间、所占面积、能源的消耗严重影响着V-PIM的性能。寄存器文件已经成为现代微...  (本文共3页) 阅读全文>>

《计算机学报》2006年01期
计算机学报

多寄存器组网络处理器上的寄存器分配技术

1引言随着互联网应用的快速发展,网络设备逐渐形成了一个高速增长的市场.相应地,网络应用的增多,也对网络设备提出了更高的要求.一方面,网络带宽的急剧增大要求网络设备要有足够快的处理速度.比如OC-768要求的网络带宽达到40Gbps,这时为了赶上数据包涌入的速度,网络设备处理一个64字节数据包的时间不足13ns.另一方面,新兴的网络应用,比如QoS(Quality of Service),VPN(V irtual Pri-vate Network)等,需要对数据包进行深度处理,而不仅仅像以前只做做简单的路由转发.宽带宽、深处理意味着留给网络设备处理每个包的时间变短,任务增多.因此,网络设备必须具备极高的处理能力.早期在网络设备中采用的是通用处理器.但是由于通用处理器面向的都是字处理、科学计算等通用程序,运行网络应用程序时性能较差,不能赶上不断增长的网络速度.随后出现了针对网络应用的特点而设计的ASIC(Application Sp...  (本文共7页) 阅读全文>>

《计算机应用与软件》2006年02期
计算机应用与软件

一种寄存器分配的优化策略

1引言随着技术的不断发展,高性能处理器的结构越来越复杂,编译器在发挥这一类处理器性能上所扮演的角色也越来越重要。寄存器作为机器硬件结构中有限的宝贵资源,这就使得寄存器分配技术成为编译器后端最为重要的优化技术之一。寄存器分配的目的是将程序中的变量尽可能保存在寄存器中,而一旦寄存器不够用,就要把变量保存到内存中去。问题的关键就在于如何最大限度地减少访存次数。从这一点出发,我们提出了在寄存器和cache之间再加一级缓冲寄存器的设想,使它们专门用于寄存器的快速恢复和保留,这也是论文所基于的目标体系结构S-M ach ine在R ISC基础上的扩展。针对这一特点,笔者提出了一种以图着色为框架并集成了缓冲寄存器优化的寄存器分配策略,并在专门为S-M ach ine开发的配套编译器SWCC上实现了该算法。2寄存器分配概述寄存器分配是代码生成的一个阶段,由它决定在程序的不同执行点上,哪些变量应该放在寄存器中。从八十年代到九十年代,对全局寄存器分...  (本文共3页) 阅读全文>>

《电路与系统学报》2006年01期
电路与系统学报

一种新的减少媒体处理器中寄存器文件复杂度的方法

1引言现有DSP和媒体处理器都采用了指令级并行ILP(Instruction Level Parallelism)的设计[1]。在传统的有多个并行功能单元的ILP处理器中有一个限制了其规模的主要问题,这就是共享寄存器文件RF(Register File)和功能单元FU(Function Unit)之间的连接关系[3]。当超长指令VLIW(Very Long Instruction Word)构造处理器需要支持大量并行操作时会遇到问题,尤其是在支持多个功能单元时,RF和旁路电路[9]变得十分复杂。当功能单元的数量增大到n个时,处理器的总线和寄存器文件的读和写端口的数量将分别为2 n和n,这样导致芯片面积和功耗的增加[3]。由于功能单元是采用流水的,会产生另一个问题。旁路电路的设计[4,5]是为了减少相关操作在流水级之间的延时,而做到后一级指令及时使用,不必等待。这种旁路电路以及芯片的面积至少有O(n2)的复杂性[4],即其复杂性可...  (本文共6页) 阅读全文>>

《计算机研究与发展》2019年04期
计算机研究与发展

二进制翻译中动静结合的寄存器分配优化方法

二进制翻译[1]是一种即时编译技术,其核心目标是将一种体系结构的指令序列转换成功能等价的另一种可执行指令序列,已广泛用于软件安全分析[2-3]、程序行为分析[4]、软件逆向工程、系统虚拟等领域,并已成为软件移植[5]的主流技术之一.二进制翻译的过程可分为前端解码、中间优化以及后端编码3个部分.前端解码的主要工作类似于反汇编,依据源指令的特点分离出每条机器指令,将二进制可执行程序翻译成中间代码;中端优化的主要工作是优化生成的中间代码,通过分析中间代码组织关系简化中间代码,常用的冗余代码消除方法有常量传播[6]、变量活性分析[7]和标志位优化等[8];后端编码的主要工作是本地目标代码的生成,将优化后的中间代码转换生成本地可执行的代码序列,其中包含寄存器分配过程.寄存器分配无论是在高性能应用程序编译,还是在高性能程序翻译,又或者在充分利用高性能处理器的目标上,都有着重要的研究意义,好的寄存器分配方式可以有效提高程序执行效率.寄存器分配...  (本文共11页) 阅读全文>>

《计算机应用》2014年09期
计算机应用

降低寄存器软错误的静态寄存器重分配方法

0引言软错误,也称为单粒子翻转(Single Event Upset,SEU),是半导体电路中的一种瞬态故障现象,通常是由外部的高能粒子辐射、电压扰动等外部的电子噪声诱发[1-2]。虽然软错误不会损害硬件电路,但是它可以通过改变处理器的状态或者存储单元的值,影响程序的正常运行。近年来随着处理器逐步采用深亚微米制造工艺,在性能得到大幅提升的同时,处理器对造成软错误的各种干扰却变得更加敏感。同时芯片集成晶体管数的指数级增长也使得系统整体的软错误率(SoftError Rate,SER)迅速增加[3]。在继性能和功耗问题之后,软错误导致的计算可信性已日益成为业界关注的热点。由于寄存器的访问非常频繁,发生在其中的软错误能够迅速扩散到系统的其他部分。如果寄存器不能够被很好保护的话,发生在其中的软错误将成为影响程序可靠性的关键因素之一。关于寄存器文件的保护,已经提出了许多方法,但大多数都是微体系结构层面的解决方案[4-7]。基于寄存器在不同...  (本文共5页) 阅读全文>>