关键字 |
注册文件,软错误,脆弱性因素,自我免疫力 |
介绍 |
在过去的十年里,尽管日益复杂的架构,和新技术的快速发展,技术扩展了软错误成为处理器崩溃的一个主要来源在许多系统在纳米时代。软错误引起的带电粒子在high-atmospheric主要是危险的,在沉重的阿尔法粒子可用[1]。然而,趋势todayA¢年代纳米技术如积极缩小了低能粒子,更大量的高能粒子,导致适当的充电引发一场软错误。此外,有一个普遍预测软错误将成为导致不可接受的错误率的问题在不久的将来,即使在的应用[2]。研究人员主要和传统上专注于减轻软错误在内存和缓存结构[4][5][13],由于其大的尺寸。另一方面,相对较少的工作已经进行了注册文件虽然他们非常敏感对软错误[8]。尽管整个小区注册文件的足迹,它比任何其他更频繁地访问体系结构组件[6][9]。因此,破损的数据在任何登记,如果不照顾,在处理器的其他部分可能传播迅速,导致剧烈的系统可靠性问题[6]。事实上,软错误登记文件可以大量的系统故障的原因[10]。最近,Blome et al。[8]表明,大量的故障影响处理器通常来自寄存器文件。 Therefore, some processors protect their registers with Error Correction Code (ECC) [11], but such solutions may be prohibitive in certain applications (like embedded) due to the significant impact in terms of area and power [14]. Moreover, power consumption was conventionally a major concern in embedded systems due to their considerable effects on the system. To bridge the gap, there is an aggravated need of techniques to increase the register file integrity against soft errors with a small effect on both area and power overhead. This paper addresses this challenge by introducing a novel technique, called Self- Immunity to improve the resiliency of register files to soft errors, especially desirable for processors that demand high register file integrity under stringent constraints. |
答:我们的贡献在摘要如下: |
(1)提出了一种技术来改善对软错误的注册文件的免疫力将ECC存储在寄存器的未使用的部分。 |
(2)我们解决该地区的问题和权力开销,通常是一个负面的副作用在寄存器文件保护实现高区和节电有轻微降解寄存器文件中的漏洞减少(7%)相比,一个完整的保护计划。 |
本文的其余部分组织如下。第二部分总结了以前的工作在第三节礼物我们提出的技术。第四节展览的实现细节和第五节评估寄存器文件减少脆弱性和给出了比较先进的。最后,第六节总结了纸。 |
二世。相关工作和背景 |
最早的注册文件保护方案如三模冗余(咯)和ECC可以获得高水平的容错,但他们可能不是合适的解决方案在嵌入式系统中由于他们的权力和面积开销。最近,法等。[14]表明,保护整个寄存器文件secd有大约20%功率开销。 |
该方法在[15]利用Cross-parity检查方法纠正多个寄存器中的错误文件。穗状花序等。[16]表明,有一个很少获得(2%)在容错缓存如果他们增加保护双重纠错而获得相当大的开销 |
大楼建筑脆弱性因素(AVF)的概念,引入了穆克吉[3],燕等。[19]提出了注册脆弱性因素(裂谷热)来描述软错误登记的可能性可以扩散到其他系统部件。一般来说,一个值写入寄存器,然后经常读,后来又写一个新值。因此,任何软错误地发生 |
“写入”或“读-写”间隔将对系统没有影响,因为它会自动纠正下一个写操作。另一方面,“write-read”和“read-read”区间被认为是脆弱的是图1中所示。寄存器的裂谷热的定义是所有脆弱的间隔的长度之和除以长度之和的有生之年[19]。()=ΣΣ最后,假设寄存器文件的总脆弱性的脆弱性的总和所有寄存器[21]。 |
![](//www.cheescube.com/articles-images/IJAREEIE-937-g001.gif) |
纯软件方法在编译水平引入了燕等。[19]重新安排的指令以减少寄存器文件的裂谷热但拟议的技术并不总是非常有效,因为它可能会增加执行周期,甚至一些基准的裂谷热[19]。 |
为了减少面积和权力处罚,燕等。[19]提出保护寄存器的一个子集,而不是完整的保护方案和修改寄存器分配算法分配最敏感的寄存器对软错误保护寄存器。取得了裂谷热减少23%,41%,67%和93%保护2、4、8和16 64分别注册。 |
蒙特西诺斯等。[9]决定哪些寄存器值应该保护在运行时通过硬件逻辑但运行时预测是非常昂贵的能源[22]。 |
李等。[7]提出了一个编译技术降低裂谷热保护的一小部分内存和脆弱的寄存器的值写内存插入加载/存储指令但它增加运行时和代码大小。 |
另一个重要的方法是在寄存器复制“IRR”[17],利用这一事实大部分的寄存器值小于或等于16位宽为64位架构。这些值可以复制在同一个注册对软错误增加免疫力。 |
的基本冲突,同时最大程度地保护寄存器文件免疫力软错误减少寄存器文件的漏洞,减少(无论是全部或部分保护方案)和电力管理费用增加了区域。 |
三世。提出SELF-IMMUNITY技术 |
我们建议利用寄存器值不需要所有的寄存器的位代表一个特定的值。然后,上未使用的寄存器可以利用增加registerA¢s免疫通过存储相应的交会汉明码[11],而不需要额外的比特。汉明码是由k,原词的比特数和p,所需的 |
wordnumberwillofparitybe位(大约[23]。登录)那么,ourproposedthecode guaranteestechnique,,最优(w +日志thebitvalue-width + 1) ofofktheis theregistervalue文件,它可以包括k,所需的比特数来表示值,和相应的ECC的那个值。换句话说,价值及其ECC应该存储在寄存器的位宽。因此,以下条件应该是有效的(+日志+ 1≤)。因此,最优值k是52岁的64位架构和57 64位架构。 |
例如,当研究64位架构,其中每个寄存器可以代表一个64位的值,我们可以利用寄存器值,这需要小于或等于52位通过存储相应的ECC位上未使用的六位登记提高免疫力软错误登记文件1。我们称之为技术Self-Immunity,我们称这种值“52字节”值。在另一方面,我们称为寄存器值,需要超过52位代表“over-52-bit”寄存器值。图2显示了不同的应用程序使用寄存器值的百分比的MiBench基准[12]MIPS架构的编译 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-937-g002.gif) |
可以注意到,在所有基准测试的大多数寄存器值“52字节”值。换句话说,上六位88%的注册文件中存储的数据实际上是未使用的。因此,我们在这些可用比特可以存储相应的ECC和增加registerA¢年代免疫力。 |
除了前面的关键观察,“52字节寄存器值的贡献在总脆弱的间隔是远远超过“over-52-bit”寄存器值的贡献。在图3中,每个基准测试报告的一部分脆弱的间隔。证明,脆弱的分数间隔“52字节值平均为93%。 |
1。注意,该技术不会使用负值。 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-937-g003.gif) |
答:问题描述 |
1)目标: |
我们的技术的目标是减少theregister文件脆弱性与最小影响区域和功率开销。让N的总数寄存器andV寄存器的漏洞,然后注册文件的脆弱性(Σ)。自从权力overhead2主要源于访问编码器和译码器,它大约可以建模通过访问[22]。让M是保护寄存器值的数量和访问的数量,然后总功率开销 |
2)我们的技术的有效性: |
在一个完整的保护方案,ECC一代执行每次写操作执行同样的ECC校验每个读操作。我们的技术决定保护Self-Immunity价值不同,如果它是有效的,那么它激活了ECC发电机计算ECC碎片。否则,ECC代跳过。同样,在每一个寄存器读操作,而不是总是检查ECC,我们的技术检查是否ECC被嵌入到寄存器的值,且仅当它是,ECC执行检查。是显示在图2中,平均12%的数据将被存储在寄存器文件没有保护。因此,我们的技术降低了M和它可能导致减少消耗功率。 |
如图3所示,当学习64位架构,总数的93%(平均)vulnerableintervals脆弱的间隔是有效的寄存器值我们的技术。换句话说,大约93%的vulnerableintervals可能刀枪不入的。因此,ourtechnique承诺大幅减少寄存器文件的脆弱性。 |
b .架构对于我们提出的技术 |
区分的关键挑战ECC块是否嵌入在寄存器的值,是处理器没有足够的信息来做出这个决定时读值寄存器。因此,我们需要区分“52字节寄存器值”和“over-52-bit”寄存器值。,self-π位与每个寄存器相关联,我们最初clearall self-π比特来表示没有任何自我免疫力。为了简单起见,我们将解释的建议的体系结构所需的算法在两个不同的步骤。 |
我们只考虑将shownlater动态能力和更多的细节。 |
我们制定我们的问题类似于[22]。 |
写进注册-图4说明wheneveran指令写一个值到一个登记它检查上面的六位的值如果他们是“0”。如果他们(52位寄存器值情况下),相应的self-π位设置为“1”表示Self-Immunity的存在。ECC值生成并存储在寄存器的上未使用的部分。因此,数据值和ECC寄存器存储在一起。在第二种情况下(超过- 52字节寄存器值),相应的self-π位设置为“0”,没有编码值写入寄存器。 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-937-g004.gif) |
阅读从一个寄存器读取操作,theself-πbit用于区分Self-Immunity案例和一个非Self-Immunity情况。在第一种情况下,该值和相应的ECC登记存储在一起,因此读值应该解码。在第二种情况下,存储的值不是编码结果没有需要解码显示在图5。 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-937-g005.gif) |
c .节电潜力 |
在本节中,我们解释了为什么我们提出的架构将消耗更少的能量。在我们的建议的体系结构中,“over-52-bit”寄存器值编码和解码,因此编码和解码操作不执行每个读和写操作,因为它发生在一个完整的保护计划。这可能降低我们的建议的体系结构的功耗,因为只有在执行编码和解码操作的情况下52字节寄存器值。 |
图6表明,平均总数的12%和13%的读和写操作,分别是发生在“52岁以上一些“寄存器的值。因此,我们建议的体系结构可能消耗更少的能量,因为编码器和译码器是较小的次访问。 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-937-g006.gif) |
自部署编码器的输入在我们的架构是52位而不是64位,它生成5个奇偶校验位而不是6奇偶校验位。同样,解码器用于我们的架构需要63位(52位数据+ 5位ECC)作为输入,而不是38位。换句话说,我们的建议的体系结构使用不太复杂的编码器和译码器。这也可能导致进一步节省功耗的条款。最后,我们建议的体系结构减少保护寄存器的比特总数从38位33位,因此切换功率消耗低。简而言之,节能主要是由于更少的ECC操作,使用更少的复杂的ECC发生器和检查程序,对ECC并没有额外的存储。 |
四、实现细节 |
由于多个bit-errors的概率是很大程度上低于单比特错误[20],一位错误模式被认为是。在我们的故障注入环境中,故障注入在飞,而处理器执行应用程序。在每个故障注入模拟,一个随机选择的64注册并登记在选择随机,然后翻转。请注意,一个写操作清除之前的登记错误注入。同样,使用均匀分布,随机周期选为软错误发生的时间。这保证了错误将被注入只有当程序执行[20]。因为注入故障可能产生无限循环,看门狗定时器实现所需数量的执行周期。我们停止时的仿真循环计数超过两倍数量的周期在无故障的情况下。 |
对评估提出的技术,我们使用不同的应用程序从MiBench基准编制MIPS架构[12]考虑可能出现的不同情况,对寄存器的利用率。进行了模拟使用MIPS模型模拟器[18]。仿真终止时,相应的输出信息(注册文件的最终结果、内容、执行时间和状态的处理器)存储,用于仿真进行分类。我们利用以下类别的分类,提出了[10][20]: |
一个¯¸错误的答案:应用程序终止normallybut产生的结果是不正确的。一个¯ |
一个¯¸潜伏性:应用程序正常终止,resultsare正确但是最终模拟寄存器文件的内容是不同于绝对没错的情况 |
一个¯¸Effect-Less:应用程序正常结束,结果是正确的,和寄存器文件的内容类似于无故障的情况下。一个¯ |
一个¯¸例外:处理器检测到故障注入引发一个异常(例如,无效的地址除外)。一个¯ |
一个¯¸断开:应用程序未能终止创造结果与一个预定义的时间limit.A¯ |
一个¯¸停滞:处理器计算预期resultsin时间大于无故障的情况下的时间。 |
一个¯¸崩溃:处理器未能正常终止。每个基准模拟10000次。因此,10000软错误注入随机注册文件中。这个数字符合那些被其他研究用来保持模拟的总时间合理。对于一个公平的比较,我们认为三个模型的处理器: |
基础:一个正常的处理器(没有实现anyprotection技术)。一个¯ |
IRR:容错模型,实现一种In-RegisterReplication技术[17]。这里的技术选择,因为它试图实现一个类似的目标作为我们提出的技术。 |
SI:容错版本,我们建议的技术,一个¯ |
Self-Immunity,实现 |
实验结果和评价 |
正如预期的那样,我们建议维持高水平的容错技术相比,“基地”的情况。表1中所示,我们提出技术有效提高了寄存器文件完整性主要通过减少错误的数量在每个类别。此外,在一些基准达到零错误的数量。平均而言,我们建议的方法误差减少100%,87%,93%,93%,100%,以下类别:r模拟和综合报告所示图。 |
![图像](//www.cheescube.com/articles-images/IJAREEIE-937-g007.gif) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-937-g008.gif) |
![图像](//www.cheescube.com/articles-images/IJAREEIE-937-g009.gif) |
调查使用我们提出的技术的优点的面积开销攻击“完全ECC”和部分保护,我们实现了和合成Xilinx XC2V600不同版本的64位,64 -入口,双读端口,单写端口寄存器文件。图10显示了比较结果的裂谷热还原和面积开销。注意到,我们的技术达到一个好的地区储蓄与轻微的退化(7%)寄存器文件减少漏洞而“完全ECC”。此外,保护16 64注册“16的eccs”可以实现类似的裂谷热还原我们的结果,但我们的技术占地面积减少了63%。另一方面,保护4注册“4的eccs”面积开销类似我们的技术,但我们的技术达到1.3 x改进裂谷热还原。由于本文的主要目标是64位嵌入式处理器,一个synthesizable DLX处理器的硬件描述语言(VHDL)模型是用来调查每个技术的性能和权力处罚。也从Xilinx Xpower工具被用来估计的总功耗在每一个不同的处理器为adcpm解码器基准应用程序版本。由于使用编码器和译码器不太复杂的如前所述,我们建议的体系结构的关键路径更短。因此,我们的技术提高了性能与其他竞争对手相比。图11所示,我们的技术有一个最低对性能的影响和权力。 It achieves 54% delay reduction and consumes with 94% less power compared to “Fully ECC”. Furthermore, protecting 16 out of 64 registers “16 ECCs” achieves similar RVF reduction as mentioned before, but our technique achieves a 47% performance improvement and consumes 87% less power. On the other hand, our technique consumes 75% less power and achieves 29% improvement in terms of delay overhead compared to “4ECCs” 4 . It can be concluded that our technique achieves the best overall result compared to state-of-the-art in register file vulnerability reduction. |
六。结论 |
嵌入式系统严格的成本约束下,地区,性能,和可靠性不能简单地妥协,我们提出一个软错误的减排技术注册文件。实验不同的嵌入式系统应用程序证明我们提出Self-Immunity技术有效减少寄存器文件的脆弱性和实现系统故障覆盖率高。此外,我们的技术是通用的,因为它可以为不同体系结构实现最小对成本的影响。 |
VII.ACKNOWLEDGMENT |
我要感谢P。斯、煤斗、ECE部门曾指导通过成功地完成工作,并感谢ECE部门教授扩展他们的帮助和支持技术对论文的看法和激励有效地完成工作和成功。 |
表乍一看 |
|
|
数据乍一看 |
|
|
引用 |
- 格雷格Bronevetsky Bronis r . de Supinski,“软错误漏洞迭代线性代数方法,”22日年度超级计算国际会议上,155 - 164年,2008页。4我们假设生成/检查ECC操作没有执行inparallel写/读操作。
- J.L. Autran p .罗氏s Sauze g . Gasiot d . Munteanu·洛m . Zampaolo和j .波莱尔”实时中子和CMOS 130海里SRAM的阿尔法软件出错率测试:高度与地下测量,“在ICICDT„08年,233 - 236年,2008页。
- 穆克吉轮韦弗,j .埃米尔”栏目莱因哈特和t·奥斯汀,”一个系统性的方法来计算高性能微处理器的体系结构脆弱性因素,”国际研讨会上微体系结构(MICRO-36) 29-40, 2003页。
- T.J.戴尔”白皮书的好处Chippkill-Correct ECC PC服务器内存,”在1997年11月IBM Microelectonics部门。
- 金和A.K. Somani”,一种自适应写错误检测技术在芯片上的多级缓存的缓存系统,”在微处理器和微系统杂志》,页561 - 570,1999年3月。
- g . Memik M.T. Kandemir和o . Ozturk寄存器文件增加免疫力瞬态错误”,在设计、自动化和测试在欧洲,586 - 591年,2005页。
- Jongeun李和AviralShrivastava”,编译器优化减少软错误的注册文件,”在2009年lct
- 杰森·A . Blome Shantanu Gupta, ShuguangFeng和斯科特•Mahlke”的软错误对嵌入式处理器的保护,”在这种情况下一个¢06年,421 - 463年,2006页。
- p .蒙特西诺斯,w·刘,j . Torrellas”使用寿命预测保护注册登记文件对软错误,“可靠的系统和网络,286 - 296年,2007页。
- M . Rebaudengo M . s . Reorda, M。Violante”,准确分析的影响软错误的指令和数据缓存管线式微处理器、”相关的数据¢03,602 - 607年,2003页。
- 我科伦和c m·克里希纳容错系统。圣马特奥市CA:摩根考夫曼,2007。
- MiBench (http://www.eecs.umich.edu/mibench/)。
- t . Slegel et al,”IBMA¢s s / 390 G5微处理器设计,“在IEEE微,19日于页。12日至23日,1999年。
- m·法、A . Namazi和火花隙Miremadi”一个节能电路级技术保护寄存器文件从生产部,并设置在嵌入式处理器,”在2009年可靠的系统和网络,页195 - 204,DNSA¢09年。
- k·沃尔特,c . Galke和热处理VIERHAUS”,在线的技术错误检测和校正与Cross-Parity检查处理器寄存器,”杂志的电子测试:理论和应用19日pp.501 - 510, 2003。
- 穗状花序和T.M.麦”,我们需要任何超过单一位误差校正(ECC) ?,“ in Memory Technology, Design and Testing, Records of the International Workshop on 9-10, pp. 111– 116, 2004.
- m . Kandala w·张,l .杨”area-efficient方法对瞬态错误改善寄存器文件的可靠性,”在先进信息网络和应用研讨会,AINAW ' 07年,第803 - 798页,2007年。
- http://archc.sourceforge.net/。
- 小君燕(音译),“Compiler-guided注册可靠性改进对软错误,”在EMSOFT¢05年,203 - 209年,2005页
|