论文部分内容阅读
微处理器受到高能粒子轰击或噪声干扰等恶劣环境的影响,将发生瞬态故障。这些瞬态故障可能引起软错误(Soft Error),甚至失效,这将对微处理器的可靠性产生较大的影响。随着集成电路制造工艺的进步,单片上能够集成的晶体管数目将呈指数增长,这将使得微处理器面临越来越严重的软错误威胁。目前,多核微处理器已经逐渐成为市场的主流。容软错误(Soft Error Tolerance)技术一般都需要某种程度的冗余,而多核微处理器中天然的冗余资源为容软错误设计提供了新的解决思路。如何有效地利用多核微处理器中的冗余资源来增强微处理器的容软错误能力,进而提高其可靠性,就成了亟待解决的问题,对其进行深入研究具有重要的理论意义和实用价值。本文的研究工作围绕多核微处理器容软错误设计中的一系列关键技术展开。首先研究了多核微处理器容软错误执行模型,容软错误执行模型关系到程序如何高效、正确、可靠地在多核微处理器上执行,这也是发挥多核冗余资源优势实现容软错误设计的关键所在。其次,本文对具体的容软错误加固技术进行了研究,任何容软错误微处理器都要采用不同层次的加固技术对软错误进行屏蔽、检测或恢复,本文主要研究了门级的冗余技术和体系结构级的控制流检测技术。最后,本文对微处理器可靠性评估模型进行了研究,以便能在设计流程的早期就对微处理器可靠性进行定量评估,从而对设计选择和优化进行有效地指导。本文所作的主要创新工作包括:(I)本文提出了两种多核微处理器容软错误执行模型,包括:(1)基于现场保存与恢复的双核冗余执行模型DCR。在该模型中,两份相同的线程在两个具有现场保存与恢复功能的内核上冗余执行。通过增强内核的功能,使得该模型在能够有效恢复软错误的同时,具有较低的容错专用核间队列带宽需求和实现复杂度。(2)可重构的三核冗余执行模型TCR。该模型通过增强内核的冗余,在三个不同的内核上执行三份相同的线程,发现软错误以后可以进行动态重构,从而以较低的容错专用核间队列带宽需求和较高的执行性能实现了对软错误的有效屏蔽。(II)本文提出了两种基于异步电路技术的门级冗余结构,包括:(1)基于异步C单元的双模冗余结构DMR。该结构采用异步C单元对双模冗余单元的输出进行屏蔽,有效地降低了硬件冗余度,在具有对SEU(Single Event Upset)故障屏蔽能力的同时,有效地降低了芯片的面积开销。(2)基于异步双沿触发寄存器的时空三模冗余结构TSTMR。本文借鉴异步电路中解同步电路显式分离主从锁存器的结构,提出了双沿触发寄存器(DCTREG)。TSTMR结构通过采用DCTREG,将时间冗余应用到门级,从而实现对SEU和SET(Single Event Transient)故障的全面屏蔽。(III)本文提出了一种增强型控制流检测技术ECFC,该技术主要包括检测方法和实现方法两部分:(1)基于节点和边的签名检测方法。该方法通过将签名同时赋予控制流图中的节点和边,实现了比经典的基于节点的签名检测方法更严格的控制流检测,并且可以杜绝经典检测方法中可能出现的非法转移误判和调整签名冲突的情况。(2)软硬件结合的控制流检测实现方法。该实现方法由编译器在程序中插入签名数据,在程序执行的过程中,执行完控制流转移指令后自动触发一次硬件检测操作。该实现方法具有二进制代码量小、性能高、检错及时等优点。(IV)本文提出了一种综合考虑芯片面积和性能开销的可靠性评估模型:该模型采用一种新的评估量化标准,以实现对微处理器可靠性的定量评估。采用该评估模型,可以在设计流程中对采用了不同容软错误技术的微处理器的可靠性进行准确的定量评估,有利于对设计选择和优化进行指导。本文还在此评估模型下,对上述容软错误执行模型、门级冗余结构和体系结构级控制流检测技术进行了可靠性评估。本文通过对容软错误执行模型、容软错误加固技术和可靠性评估模型的研究,对容软错误多核微处理器的设计实现进行了有益的探索。本文的实现、验证和评估结果表明,上述技术是有效的,能够应用于容软错误多核微处理器的设计和实现。