专利名称:一种面向cpu流水线的错误恢复电路的制作方法
技术领域:
本发明涉及一种面向CPU流水线的错误恢复电路,具体涉及一种基于片上错误监测,面向CPU流水线应用并根据监测结果可切换的错误恢复电路,属于集成电路设计领域。
背景技术:
随着晶体管尺寸的不断缩小,单位面积上集成的晶体管数急剧增加,集成电路的功耗问题成为和功能、面积同等重要的考虑因素。旨在降低电路功耗的动态电压频率调节(DVFS)技术,因其显著地效果,逐渐成为重要的低功耗技术。动态电压频率调节依赖于对主电路工作状态和性能的监测。系统级监测手段主要是传感器,这种方法能一定程度地反映系统当前工作情况,但是片外监测往往依赖于传感器的精度,且很难选择可靠的监测点,因而难以真实反映芯片内部各部分的实际情况。在芯片内部插入关键单元和复制关键路径的方法可以较真实地反映芯片内部全局参数的变化,但由于这些副本与关键单元和路径所处的片内环境并不完全相同,对局部参数,如局部噪声、工艺波动的变化并不敏感,因而它们反映出的也不是电路的真实情况,大大影响了电压调节的效果。片上监测方法通过在系统芯片主电路关键路径的末端插入片上监测电路,实时监测电路的工作情况,将工艺偏差、电源电压波动、温度变化、噪声等因素的影响归结为关键路径上的片上监测电路延时特性的变化。当电压降低到电路会出现错误的临界电压以下时,片内逻辑就会出现时序违规,这些时序违规被片上监测电路监测,就会产生相应的错误信号,作为工作电压调节模块的调节依据。片上监测的方法可以实时监测主电路在工作时的出错水平,反映全局和局部扰动对电路的真实影响,同时通过引入错误纠正机制,可进一步释放主电路设计阶段为克服工艺偏差、工作电压波动、温度变化、环境噪声等不利影响预留的电压余量,对工作电压进行动态的调节,从而使功耗达到最优。基于片上监测的动态电压频率调节技术,将电路的工作条件,如温度、工艺、噪声等的变化归结为电路的时序变化,通过片上监测手段实时监测电路工作的时序变化,指导电路动态地调节工作参数。只有找到满足系统性能的最低工作电压点,才能尽可能地减小电路设计时为最坏情况(Worst Case)预留的电压或频率余量,以获得最大的功耗收益。在动态地寻找系统工作任意时刻的最低电压点时,会让系统产生出错的风险,因此必须设置一定的错误恢复机制,在系统出错时,可以帮助其从错误状态中恢复过来。国内外实现这种错误恢复的方式主要有两种原地错误恢复方式和上层错误恢复方式。原地错误恢复方式是在电路的片上监测单元监测到时序错误后,使用门控时钟的方法,将电路的时钟信号暂停一个周期,在此期间用正确的信号取代错误信号输出。在同一个周期中流水线各级产生的错误都可以在暂停的一个时钟周期内被恢复,但是对于不同周期中产生的错误必须分别在出错后立即暂停时钟信号进行恢复。这种错误恢复方式的片上监测单元结构复杂,监测单元本身的功耗较高;且对于工作电压、频率以及温度等工作条件使电路频繁出错时,对每个出错的时钟周期,CPU时钟都要暂停一个周期等待错误信号的恢复,因此恢复时的代价较高,极大影响了系统的吞吐率且降低功耗效果不显著。上层错误恢复方式多用于流水线结构的设计中,也须借助于片上监测单元,与原地恢复不同的是,这种恢复方式将所有同一个周期中产生的错误都归结为一个错误,而且在片上监测单元监测到时序错误后,并不立即进行改错,而是等待流水线中没有出错的各级操作执行完成,即等待出错的那一级操作随流水线执行至最后一级之前,然后通过重新执行出错的指令来恢复错误。在重新执行出错的指令时,该指令后面的指令也在重新执行,因此上层恢复方式可以通过一次恢复操作完成对一个流水线周期(指填充满流水线所要花费的周期数,为N个周期,N为流水线级数)中所有错误的恢复。这种恢复方式进行一次恢复要耗费N个周期,当系统错误率很高,同一个流水线周期中有多个错误产生时,这些错误都可以通过一次上层恢复而得到恢复。因此在系统错误率较高时,上层错误恢复方式对系统吞吐率的影响更小,降低功耗的效果更好;但是当系统错误率较低时,恢复时的代价较高,降低功耗效果不明显。目前动态电压频率调节电路的恢复方式只是单一地使用上面两种方式中的一种,但是其系统应用具有较大的局限性,对于需要在比较宽的频率范围内工作的应用,错误率的变化较大,单一的错误恢复方式很难使系统的吞吐率和功耗达到最优化。
发明内容
发明目的本发明的目的在于针对现有片上监测系统中错误恢复方式的局限性,提供一种面向CPU流水线的错误恢复电路,可以在片上监测电路监测到电路时序错误后,根据电路的系统需求和工作状态动态地选择系统的错误恢复方式,能够在原地错误恢复方式和上层错误恢复方式两种错误恢复方式间灵活切换。技术方案本发明所述的面向CPU流水线的错误恢复电路,包括片上监测电路、错误信号统计模块、电压频率控制模块、错误恢复控制模块、原地错误恢复模块和上层错误恢复模块。所述片上监测电路集成在具有N级流水线结构的CPU内核的前N-1级流水线的各级流水线末端,监测工作电路每个时钟周期的时序信息,其中N是大于等于3且小于20的正整数;所述片上监测电路将监测到的错误信号送入所述错误信号统计模块。所述错误信号统计模块统计一段时钟周期内错误信号数量占总的周期数的百分比,即为错误率Rerr0ro所述电压频率控制模块控制系统工作电压与频率的升高和降低,同时控制调节的精度,所述电压频率控制模块和所述错误统计模块分别将系统状态和错误率Rotot送入所述错误恢复控制模块;所述电压频率控制模块根据所述错误恢复控制模块中的相应控制信号进行系统工作电压与频率的调节。所述错误恢复控制模块中有设定好的比较阈值Tthreshtjld,并根据阈值比较选择机制的结果,确定将原地错误恢复方式选择信号输入到原地错误恢复模块或将上层错误恢复方式选择信号输入到上层错误恢复模块,动态选择原地错误恢复方式或上层错误恢复方式,并将电压频率调节信号送到所述电压频率控制模块,指导系统状态的调节,实现两种不同错误恢复方式的动态切换。所述片上监测电路中包括主锁存器电路、从锁存器电路、影子锁存器电路、错误信号产生电路、原地错误纠正选择器、亚稳态监测电路和错误信号整合电路;通过在时钟上升沿和下降沿分别对输入信号采样,将采样结果对比,判断电路是否出现时序违规,同时实现原地错误恢复时的数据替换功能。其中主锁存器电路与影子锁存器电路的输入端与片上监测电路的数据输入端相连;主锁存器电路的原地待恢复数据信号与影子锁存器电路的原地恢复数据信号连接到原地错误纠正选择器输入端,原地错误恢复控制信号输入端连接到原地错误纠正选择器的另一个输入端;原地错误纠正选择器的原地恢复数据输出信号连接到从锁存器电路;从锁存器电路的输出信号分别连接到数据输出端、亚稳态监测电路输入端、错误信号产生电路输入端;影子锁存器电路的延迟采样数据输出信号连接到错误信号产生电路的另一个输入端;错误信号产生电路产生时序监测错误信号输入到错误信号整合电路输入端;亚稳态监测电路产生的亚稳态监测错误信号输入到错误信号整合电路的另一个输入端;错误信号整合电路的输出为上监测电路的错误信号输出端。所述片上监测电路包括两个输入端口和两个输出端口,分别为数据输入端、原地错误恢复控制信号输入端、数据输出端和错误信号输出端。数据输入端与片上监测电路所插入位置的前一级流水线的数据信号输出端相连;原地错误恢复控制信号输入端与原地错误恢复模块的原地错误恢复控制信号输出端相连;数据输出端与片上监测电路所插入位置的后一级流水线的数据信号输入端相连;错误信号输出端与一个错误信号传递整合电路输入端相连。错误信号传递整合电路由N-1个寄存器与N-2个两输入或门交替连接组成,用于将流水线各级产生的错误信号随指令向后级传递并最终整合为一个错误信号;两输入或门的一个输入端连接寄存器输出端,另一个输入端与片上监测电路的错误信号输出端相连。所述错误信号统计模块包括两个计数器,分别计算CPU工作的周期数和错误信号的数量。所述错误恢复控制模块具有三个输入端及三个输出端,分别为错误率输入端、系统状态输入端、比较阈值输入端以及电压频率调节信号输出端、原地错误恢复方式选择信号输出端、上层错误恢复方式选择信号输出端;其中,错误率输入端、系统状态输入端、比较阈值输入端分别连接到一个8位寄存器输入端,错误率输入端连接到寄存器一,系统状态输入端连接到寄存器二,比较阈值输入端连接到寄存器三;寄存器一和寄存器二的输出端分别连接到一个8位加法器的数据输入端,加法器的进位输入端置O ;加法器的和输出端连接到一个比较器的数据输入端,寄存器三的输出端连接到比较器的另一个数据输入端斗匕较器的另外三个输入端置O ;比较器的大于和等于输出端连接到一个或门,或门的输出连接到一个多路选择器MUXl的选择端;比较器小于输出端连接到另一个多路选择器MUX2 ;多路选择器MUXl和多路选择器MUX2的“I”端接高电平,“O”端接低电平;多路选择器MUXl的输出信号为原地错误恢复方式选择信号,多路选择器MUX2的输出信号为上层错误恢复方式选择信号;错误率输入端、系统状态输入端、原地错误恢复方式选择信号以及上层错误恢复方式选择信号同时还连接到一个状态机,状态机的输出为电压频率调节信号。所述错误恢复控制模块在错误恢复时产生相应的电压频率控制信号输入到所述电压频率控制模块,电压频率控制信号中包含时钟控制信号和电压控制信号,时钟控制信号通过调节时钟频率和相位来配合指令的重新执行或数据的原地替换,电压控制信号通过调节系统的工作电压来配合指令的重新执行或数据的原地替换,时钟控制信号和电压控制信号相互配合,系统没有时序错误时,升高频率或者降低电压,系统出现错误信号时,降低频率的同时升高电压,达到恢复系统时序错误同时使系统在较低功耗条件下正常工作的目的。所述阈值比较选择机制是比较比较参数Iref和比较阈值Tthrestold的大小,比较参数Tm由公式Trrf=Remr+Vtemp/Vmax+Ftemp/Fmax得到。比较阈值是选择的界限值,比较参数Iref包括三个数值的算术和(注对三个重要影响因子拟合,形成综合的影响结果),分别为错误率、工作电压比和工作频率比。其中,错误率即为错误信号统计模块统计的系统一定时钟周期内的错误率,工作电压比是电路的当前工作电压与电路的最大工作电压的比值,工作频率比是电路的当前工作频率与电路的最大工作频率的比值。所述阈值比较选择机制通过以下过程建立首先,找出比较阈值。在电路的设计阶段,根据电路电源管理模块的调节方式,计算一定调节步长下电路的各工作点的错误率、工作电压比和工作频率比的算术和,即为比较参数,并分别采用上层错误恢复方式和原地错误恢复方式进行错误恢复,得到两种错误恢复方式下的功耗收益。找出上层错误恢复方式功耗收益大于原地错误恢复方式功耗收益的工作点,在此工作点下的比较参数即为比较阈值。设定比较阈值,通过可编程的方式将找出的比较阈值设定到错误恢复控制模块中,作为选择错误恢复方式的比较标准。其次,选择错误恢复方式。通过可编程方式将比较阈值Ttostold设定到错误恢复控制模块中,错误恢复控制模块通过将比较参数与既定的比较阈值比较,如果比较参数大于等于比较阈值则选择上层错误恢复方式,如果比较参数小于比较阈值则选择原地错误恢复方式。当比较参数TMf超过比较阈值TtostoldW,上层错误恢复方式的功耗收益较高。当比较参数Iref小于比较阈值Tthreshtjld时,原地错误恢复方式的功耗收益较高。同时错误恢复控制模块会根据相应的错误恢复方式产生相应的电压频率控制信号,电压频率控制模块调节系统工作电压与频率到相应的值,达到功耗最优的效果。本发明与现有技术相比,其有益效果是1、本发明提供了对具有N级流水线的CPU内核的在线时序监测,寻找电路的最低可能工作电压,减小在设计阶段为电路预留的工作电压余量,从而大幅度降低电路功耗,地提闻电路的能效。2、本发明提供了两种不同的错误恢复方法,一种是原地错误恢复方式,另一种是上层错误恢复方式,从而可以根据电路的系统需求和工作状态灵活的选择系统的错误恢复方式,并动态的在两种恢复方法中切换。当电路工作在比较宽的工作频率范围时,本发明比单一的原地错误恢复或者上层错误恢复方式适用于更多的应用场合,吞吐率更高,功耗降低的收益更高,克服了上层错误恢复方式适用范围小的局限,解决了单一的错误恢复方式在比较宽的工作频率范围内的系统应用场合局限、吞吐率低和功耗收益不理想的问题。3、本发明设置了阈值比较选择机制,用于在两种恢复方式中的切换选择。比较阈值是选择的界限值,将三个重要影响因素进行综合考虑,即综合错误率、工作电压比和工作频率比三者的影响,折算成最终的切换阈值。这样可以综合考虑电路的工作状态,从而更好的判断电路进行何种错误恢复方式才能达到最佳的低功耗效果。
图1为本发明的结构框图2为本发明中错误恢复电路的结构框图;图3为本发明中错误恢复控制模块的电路图;图4为本发明中片上监测电路的结构框图;图5为本发明阈值比较选择机制建立的流程图;图6为比较参数TMf的函数曲线图(注其中,横坐标为错误率,纵坐标为比较参数);图7为恢复效率Erecovery (包括原地错误恢复效率Erecovery_local和上层错误恢复效率Erecovery_global)对比较参数Traf的函数曲线图(注其中,横坐标为比较参数,纵坐标为恢复效率)。
具体实施例方式下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。实施例1 :如图1所示,本发明面向CPU流水线的错误恢复电路,包括片上监测电路1、错误信号统计模块2、电压频率控制模块3、错误恢复控制模块4、原地错误恢复模块5和上层错误恢复模块6,片上监测电路I集成在具有N级流水线结构的CPU内核的前N-1级流水线的各级流水线末端(其中N是大于3且小于20的正整数),监测工作电路每个时钟周期的时序信息,生成错误信号;而对于没有添加片上监测单元的第N级流水线,需在设计时保证其时序的宽松,使其不易出错。错误恢复电路的具体组成结构如图2所示,片上监测电路I将监测到的错误信号送到错误信号统计模块2,错误信号统计模块2统计一定时钟周期内监测到的错误率,包括两个计数器,分别计算CPU工作周期数和错误信号的数量;错误信号统计模块2统计的错误率和电压频率控制模块3的系统状态(工作电压和工作频率)送到错误恢复控制模块4,电压频率控制模块3根据错误恢复控制模块4中的相应控制信号进行系统工作电压与频率的调节,同时控制调节的精度。错误恢复控制模块4中有设定好的比较阈值Itoshtjld,并根据阈值比较选择机制的结果选择将原地错误恢复方式选择信号送到原地错误恢复模块5或将上层错误恢复方式选择信号送到上层错误恢复模块6。同时,错误恢复控制模块4将系统的电压频率调节信号送到电压频率控制模块3中,以实现系统工作状态的动态调节。片上监测电路I结构如图4所示,包括主锁存器电路,从锁存器电路,影子锁存器电路,错误信号产生电路,原地错误纠正选择器,亚稳态监测电路,错误信号整合电路,通过在时钟上升沿和下降沿分别对输入信号采样,将采样结果对比,判断电路是否出现时序违规,同时实现原地错误恢复时的数据替换功能。片上监测电路I包括两个输入端口和两个输出端口,分别为数据输入端、原地错误恢复控制信号输入端、数据输出端和错误信号输出端。其中主锁存器电路与影子锁存器电路的输入端与片上监测电路的数据输入端相连;主锁存器电路的原地待恢复数据信号与影子锁存器电路的原地恢复数据信号连接到原地错误纠正选择器输入端,原地错误恢复控制信号输入端连接到原地错误纠正选择器的另一个输入端;原地错误纠正选择器的原地恢复数据输出信号连接到从锁存器电路;从锁存器电路的输出信号分别连接到数据输出端、亚稳态监测电路输入端、错误信号产生电路输入端;影子锁存器电路的延迟采样数据输出信号连接到错误信号产生电路的另一个输入端;错误信号产生电路产生时序监测错误信号输入到错误信号整合电路输入端;亚稳态监测电路产生的亚稳态监测错误信号输入到错误信号整合电路的另一个输入端;错误信号整合电路的输出为上监测电路的错误信号输出端。片上监测电路在流水线中的连接方式如图1所示,数据输入端与片上监测电路所插入位置的前一级流水线的数据信号输出端相连;原地错误恢复控制信号输入端与原地错误恢复模块的原地错误恢复控制信号输出端相连;数据输出端与片上监测电路所插入位置的后一级流水线的数据信号输入端相连;错误信号输出端与一个错误信号传递整合电路输入端相连。错误信号传递整合电路由N-1个寄存器与N-2个两输入或门交替连接组成,用于将流水线各级产生的错误信号随指令向后级传递并最终整合为一个错误信号;两输入或门的一个输入端连接寄存器输出端,另一个输入端与片上监测电路的错误信号输出端相连。错误恢复控制模块的电路图如图3所示,具有三个输入端及三个输出端,分别为错误率输入端、系统状态输入端、比较阈值输入端以及电压频率调节信号输出端、原地错误恢复方式选择信号输出端、上层错误恢复方式选择信号输出端。其中,错误率输入端、系统状态输入端、比较阈值输入端分别连接到一个8位寄存器输入端,错误率输入端连接到寄存器一,系统状态输入端连接到寄存器二,比较阈值输入端连接到寄存器三;寄存器一和寄存器二的输出端分别连接到一个8位加法器的数据输入端,加法器的进位输入端置O ;加法器的和输出端连接到一个比较器的数据输入端,寄存器三的输出端连接到比较器的另一个数据输入端;比较器的另外三个输入端置O ;比较器的大于和等于输出端连接到一个或门,或门的输出连接到一个多路选择器(MUXl)的选择端;比较器小于输出端连接到另一个多路选择器(MUX2);MUX1和MUX2的“I”端接高电平,“O”端接低电平;MUX1的输出信号为原地错误恢复方式选择信号,MUX2的输出信号为上层错误恢复方式选择信号;错误率输入端、系统状态输入端、原地错误恢复方式选择信号以及上层错误恢复方式选择信号同时还连接到一个状态机,状态机的输出为电压频率调节信号。错误恢复选择模块4包含阈值比较选择机制,并且生成电压频率调节信号来指导电压频率控制模块3对系统工作状态动态调节;错误恢复控制模块4在错误恢复时会产生相应的电压频率调节信号输入到电压频率控制模块,电压频率控制信号中包含时钟控制信号和电压控制信号,时钟控制信号通过调节时钟频率和相位来配合指令的重新执行或数据的原地替换,电压控制信号通过调节系统的工作电压来配合指令的重新执行或数据的原地替换,时钟控制信号和电压控制信号相互配合,系统没有时序错误时,升高频率的同时降低电压,系统出现错误信号时,降低频率的同时升高电压,达到恢复系统时序错误同时较低功耗条件下正常工作的目的。当选择原地错误恢复方式时,电压频率控制模块3会将时钟门控信号送到原地错误恢复模块5,把相关电路的时钟信号停一拍,原地错误恢复模块5将原地错误恢复控制信号送到片上监测电路1,完成正确信号对错误信号的原地替换。当选择上层错误恢复方式时,上层错误恢复模块6将流水线刷新信号送到流水线相关电路模块,并配合其他控制模块完成上层错误恢复。如图5所示,错误恢复控制模块4中的阈值比较选择机制通过以下过程建立首先,找出比较阈值Tttosh()ld。在电路的设计阶段,假设电路的动态电压调节的步长为Vstep,电路的动态频率调节的步长为Fstep,电路的动态电压调节的最小工作电压为Vmin,最大工作电压为Vmax,电路的动态频率调节的最小工作频率为Fmin,最大工作频率为Fmax。电路动态调节的工作点分别为Vmin+n*Vstep或Fmin+k*Fstep,其中,O(Vmax-Vmin)/
Vstep,(Fmax-Fmin) /Fstep,且n,k均为整数。比较阈值Tthreshtjld包括错误率Rerra、工作
电压比Vtemp/Vmax和工作频率比Ftemp/Fmax,其中,电路的当前工作电压Vtemp=Vmin+i*V_电路的当前工作频率 Ftemp = Fmin+j*Fstep,0 ( i ( (Vfflax-Vfflin)/Vstep,O ( j ( (Fmax-Fmin)/Fstep,且i,j均为整数。在电路动态调节的各工作点分别计算比较参数TMf=ROTOT+Vt p/Vmax+Ft p/Fmax的值。由于错误率Rctm与工作电压比Vtemp/Vmax成反比关系,与工作频率比Ftemp/Fmax成正比关系,公式 Tref=Rerror+Vtemp/Vmax+Ftemp/Fmax 可改写为 Tref=RerrOT+m/RerrOT+n*RerrOT,其中,m, η 为大于O的常数,所以Iref对于错误率Rotot的函数曲线在第一象限内具有最低点,如图6所示。在电路设计阶段,电路工作在不同的工作点时,分别在每一个工作点上使用上层错误恢复方式和原地错误恢复方式去恢复电路工作状态,同时测量使用这两种恢复方式时的恢复效率,其中原地错误恢复效率为EMCOTOTy—1()Μ1,上层错误恢复效率为EMCOTOTy—gl()bal。得到恢复效率Erec0Very (分别为原地错误恢复效率Era()VOTy—1()μ1和上层错误恢复效率EMCOT y—gl()bal )与比较参 数Iref的关系曲线,恢复效率与比较参数Iref成线性关系,如图7所示。当比较参数Tref超过某一个值时,上层错误恢复方式的功耗收益较高。当TMf小于这个数值时,原地错误恢复方式的功耗收益较高。这个值即为比较阈值T—ld。选定好比较阈值Tthreshtjld后,通过可编程的方式将找出的比较阈值Tthreshtjld设定到错误恢复控制模块4中,作为选择错误恢复方式的比较标准。电路一旦给定,此比较阈值Tthreshold就是固定的,在工作过程中无须更改。其次,选择错误恢复方式。由于错误信号统计模块2和电源管理模块3每个时钟周期都会更新传递到错误恢复控制模块4的错误率Rotot、工作电压比VtMP/Vmax和工作频率比Ft P/F_,错误恢复控制模块4每个时钟周期都会计算当前的比较参数TMf的值,并将电路当前工作时的比较参数TMf与既定的比较阈值Tthreshtjld比较。如果比较参数TMf大于比较阈值Tthreshtjld,则错误恢复控制模块4将上层错误恢复方式选择信号送到上层恢复方式模块6,选择上层错误恢复方式;如果比较参数TMf小于比较阈值Tth—,则错误恢复控制模块4将原地错误恢复方式选择信号送到原地错误恢复模块5,选择原地错误恢复方式。错误恢复控制模块4根据比较阈值Tthreshtjld选择相应的错误恢复方式,同时会根据相应的错误恢复方式产生相应的电压控制信号和频率控制信号,电源管理模块3调节系统工作电压到相应的值,达到功耗最优的效果。本发明根据电路的错误率和系统状态,通过和既定的比较阈值进行比较来选择合适的错误恢复方式,取得最大的功耗收益。如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
权利要求
1.一种面向CPU流水线的错误恢复电路,包括片上监测电路(I)、错误信号统计模块(2)、电压频率控制模块(3)、错误恢复控制模块(4)、原地错误恢复模块(5)和上层错误恢复模块(6),其特征在于所述片上监测电路(I)集成在具有N级流水线结构的CPU内核的前N-1级流水线的各级流水线末端,监测工作电路每个时钟周期的时序信息,其中N是大于等于3且小于20的正整数;所述片上监测电路(I)将监测到的错误信号送入所述错误信号统计模块(2);所述错误信号统计模块(2)统计一段时钟周期内错误信号数量占总的周期数的百分比,即为错误率Rotot;所述电压频率控制模块(3)控制系统工作电压与频率的升高和降低,同时控制调节的精度,所述电压频率控制模块(3)和所述错误统计模块(2)分别将系统状态和错误率Rotot 送入所述错误恢复控制模块(4);所述电压频率控制模块(3)根据所述错误恢复控制模块(4)中的相应控制信号进行系统工作电压与频率的调节;所述错误恢复控制模块(4)中有设定好的比较阈值Tttoestold,并根据阈值比较选择机制的结果,确定将原地错误恢复方式选择信号输入到原地错误恢复模块(5)或将上层错误恢复方式选择信号输入到上层错误恢复模块(6),动态选择原地错误恢复方式或上层错误恢复方式,并将电压频率调节信号送到所述电压频率控制模块(3),指导系统状态的调节,实现两种不同错误恢复方式的动态切换。
2.根据权利要求1所述的面向CPU流水线的错误恢复电路,其特征在于所述片上监测电路(I)包括主锁存器电路、从锁存器电路、影子锁存器电路、错误信号产生电路、原地错误纠正选择器、亚稳态监测电路和错误信号整合电路;通过在时钟上升沿和下降沿分别对输入信号采样,将采样结果对比,判断电路是否出现时序违规,同时实现原地错误恢复时的数据替换功能;其中主锁存器电路与影子锁存器电路的输入端与片上监测电路的数据输入端相连;主锁存器电路的原地待恢复数据信号与影子锁存器电路的原地恢复数据信号连接到原地错误纠正选择器输入端,原地错误恢复控制信号输入端连接到原地错误纠正选择器的另一个输入端;原地错误纠正选择器的原地恢复数据输出信号连接到从锁存器电路;从锁存器电路的输出信号分别连接到数据输出端、亚稳态监测电路输入端、错误信号产生电路输入端;影子锁存器电路的延迟采样数据输出信号连接到错误信号产生电路的另一个输入端;错误信号产生电路产生时序监测错误信号输入到错误信号整合电路输入端;亚稳态监测电路产生的亚稳态监测错误信号输入到错误信号整合电路的另一个输入端;错误信号整合电路的输出为上监测电路的错误信号输出端。
3.根据权利要求2所述的面向CPU流水线的错误恢复电路,其特征在于所述片上监测电路(I)包括两个输入端口和两个输出端口,分别为数据输入端、原地错误恢复控制信号输入端、数据输出端和错误信号输出端;数据输入端与片上监测电路所插入位置的前一级流水线的数据信号输出端相连;原地错误恢复控制信号输入端与原地错误恢复模块的原地错误恢复控制信号输出端相连;数据输出端与片上监测电路所插入位置的后一级流水线的数据信号输入端相连;错误信号输出端与一个错误信号传递整合电路输入端相连;错误信号传递整合电路由N-1个寄存器与N-2个两输入或门交替连接组成,用于将流水线各级产生的错误信号随指令向后级传递并最终整合为一个错误信号;两输入或门的一个输入端连接寄存器输出端,另一个输入端与片上监测电路的错误信号输出端相连。
4.根据权利要求1所述的面向CPU流水线的错误恢复电路,其特征在于所述错误信号统计模块(2)包括两个计数器,分别计算CPU工作的周期数和错误信号的数量。
5.根据权利要求1所述的面向CPU流水线的错误恢复电路,其特征在于所述错误恢复控制模块(4)具有三个输入端及三个输出端,分别为错误率输入端、系统状态输入端、比较阈值输入端以及电压频率调节信号输出端、原地错误恢复方式选择信号输出端、上层错误恢复方式选择信号输出端;其中,错误率输入端、系统状态输入端、比较阈值输入端分别连接到一个8位寄存器输入端,错误率输入端连接到寄存器一,系统状态输入端连接到寄存器二,比较阈值输入端连接到寄存器三;寄存器一和寄存器二的输出端分别连接到一个8位加法器的数据输入端,加法器的进位输入端置O ;加法器的和输出端连接到一个比较器的数据输入端,寄存器三的输出端连接到比较器的另一个数据输入端;比较器的另外三个输入端置O ;比较器的大于和等于输出端连接到一个或门,或门的输出连接到一个多路选择器(MUXl)的选择端;比较器小于输出端连接到另一个多路选择器(MUX2);多路选择器(MUXl)和多路选择器(MUX2)的“I”端接高电平,“O”端接低电平;多路选择器(MUXl)的输出信号为原地错误恢复方式选择信号, 多路选择器(MUX2)的输出信号为上层错误恢复方式选择信号;错误率输入端、系统状态输入端、原地错误恢复方式选择信号以及上层错误恢复方式选择信号同时还连接到一个状态机,状态机的输出为电压频率调节信号。
6.根据权利要求1所述的面向CPU流水线的错误恢复电路,其特征在于所述错误恢复控制模块(4)在错误恢复时产生相应的电压频率控制信号输入到所述电压频率控制模块 (3),电压频率控制信号中包含时钟控制信号和电压控制信号,时钟控制信号通过调节时钟频率和相位来配合指令的重新执行或数据的原地替换,电压控制信号通过调节系统的工作电压来配合指令的重新执行或数据的原地替换,时钟控制信号和电压控制信号相互配合, 系统没有时序错误时,升高频率或者降低电压,系统出现错误信号时,降低频率的同时升高电压,达到恢复系统时序错误同时使系统在较低功耗条件下正常工作的目的。
7.根据权利要求1所述的面向CPU流水线的错误恢复电路,其特征在于所述阈值比较选择机制是比较比较参数TMf和比较阈值Tttoestold的大小,比较参数TMf由公式
全文摘要
本发明公开一种面向CPU流水线的错误恢复电路,包括片上监测电路(1)、错误信号统计模块(2)、电压频率控制模块(3)、错误恢复控制模块(4)、原地错误恢复模块(5)和上层错误恢复模块(6),所述片上监测电路(1)集成在具有N级流水线结构的CPU内核的前N-1级流水线的各级流水线末端,监测工作电路每个时钟周期的时序信息,其中N是大于等于3且小于20的正整数。本发明提供了对具有N级流水线的CPU内核的在线时序监测,寻找电路的最低可能工作电压,减小在设计阶段为电路预留的工作电压余量,从而大幅度降低电路功耗,地提高电路的能效。
文档编号G06F11/07GK103019876SQ20121057473
公开日2013年4月3日 申请日期2012年12月26日 优先权日2012年12月26日
发明者单伟伟, 田朝轩, 朱肖, 郭银涛, 茅锦亮, 金海坤, 孙华芳 申请人:东南大学