一种应用于非易失处理器中的分段并行压缩方法及系统的制作方法

文档序号:6500845阅读:354来源:国知局
一种应用于非易失处理器中的分段并行压缩方法及系统的制作方法
【专利摘要】本发明公开了一种应用于非易失处理器中的分段并行压缩方法及系统,涉及低功耗处理器领域。所述方法包括:S1、确定非易失处理器中分段易失存储单元的状态位应划分的分段数;S2、编写离线/在线混合算法,用离线分段算法对各状态位分段进行压缩仿真得到各分段平均压缩时间相等的划分,以及平均压缩时间和各分段压缩时间标准差;S3、根据状态位分段数和离线分段算法所得到的各分段长度设计非易失处理器;S4、连接各状态位分段与并行压缩单元中的相应压缩模块,用在线控制算法对压缩时间标准差较大的各状态位分段进行动态负载平衡,完成压缩备份。所述系统包括易失处理逻辑单元、分段易失存储单元、并行压缩单元和分段非易失存储单元。
【专利说明】—种应用于非易失处理器中的分段并行压缩方法及系统
【技术领域】
[0001]本发明涉及低功耗处理器设计领域,尤其涉及一种应用于非易失处理器中的分段并行压缩方法及系统。
【背景技术】
[0002]近年来,随着微处理器和低功耗领域的发展,非易失处理器(NonvolatileProcessor)受到越来越多的关注。非易失处理器是将传统处理器中寄存器及以上级别存储单元全部替换为非易失存储单元的新型处理器,它具备零待机、高速休眠与唤醒、间断供电条件下连续工作等传统处理器不具备的特点,在低功耗嵌入式领域有着传统处理器不可比拟的优势。
[0003]常见的非易失处理器采用全替换技术,实现方式是将所有的系统寄存器全部替换为非易失寄存器,可以进行寄存器级别并行化的备份,但是这种技术会使得芯片面积大幅增加。并行化阈值游程压缩(Parallel Run-Length Codec, PRLC)架构是一种利用比较和压缩来减少备份量从而减小非易失处理器芯片面积增长的技术。由于系统状态在某一特定应用程序下仅有少部分状态位变化,通过与参考向量异或运算后可以产生大量O状态位,通过游程编码压缩可以大大减小待备份的状态位个数,减少了非易失寄存器个数,从而相比于采用全替换技术的非易失处理器减小了芯片的面积。
[0004]本发明提出了一种分段并行压缩架构(Segment-based Parallel Compression,SPaC),即,将系统寄存器状态位分为多段后进行并行压缩备份。这种架构能够在性能和面积中寻求一个平衡点以满足设计者的相应约束。同时为了提高整体性能,本发明设计了一种离线与在线混合的算法来平衡各段的压缩时间。

【发明内容】

[0005](一)技术问题
[0006]本发明提供一种应用于非易失处理器中的并行压缩系统及方法,解决以下技术问题:常用的全替换技术虽然具有很快的备份与恢复速度,但是由于非易失寄存器的面积比普通寄存器大很多,所以使得非易失处理器芯片总面积增加;PRLC架构通过比较与压缩减少备份所需的非易失寄存器数目,从而减小了非易失处理器芯片面积,但是压缩与解压缩过程使得其备份和恢复速度相比全替换技术大幅下降,本发明提供一种同时满足非易失处理器芯片面积和压缩时间性能约束的分段并行压缩的技术方案。
[0007](二)技术方案
[0008]为解决上述技术问题,本发明提供了一种应用于非易失处理器中的分段并行压缩方法,包括以下步骤:
[0009]S1、根据非易失处理器芯片的设计面积与速度指标以及面向实际应用程序进行仿真得到的寄存器状态位仿真结果,确定非易失处理器中分段易失存储单元应划分的分段数,其中,面向实际应用程序进行仿真得到的寄存器状态位存储于分段非易失处理器的易失存储单元中;
[0010]S2、编写离线/在线混合算法,利用离线/在线混合算法中的离线分段算法对分段易失存储单元中的的各状态位分段进行压缩仿真,利用压缩仿真结果确定各状态位分段的长度和压缩后的长度,以及各状态位分段的平均压缩时间、压缩时间标准差和压缩后长度;
[0011 ] 所述步骤S2具体为:
[0012]S21、编写离线/在线混合算法,包括离线分段算法和在线控制算法;
[0013]S22、利用离线分段算法对已分段的状态位进行压缩仿真,采用迭代方式得到使各状态位分段的平均压缩时间相等的划分,利用压缩仿真结果确定各状态位分段的长度以及压缩后的长度,其中每次迭代对具有最长压缩时间的状态位分段长度减小一定步长,对具有最短压缩时间的状态位分段长度增加一定步长,步长由各状态位分段的压缩时间标准差决定,同时计算各状态位分段的平均压缩时间和压缩时间标准差。
[0014]S3、根据非易失处理器中分段易失存储单元的寄存器状态位的分段数以及由离线算法得到的各状态位长度设计非易失处理器的并行压缩单元和分段非易失存储单元,其中,并行压缩单元中压缩模块的个数与步骤Si得到的分段数相等,分段非易失存储单元的分段数与步骤Si得到的分段数相等,其各段长度与离线分段算法所得到的压缩后长度相等;
[0015]S4、将分段易失存储单元中的各状态位分段与并行压缩单元中的相应压缩模块连接,利用离线/在线混合算法中的在线控制算法平衡由离线分段算法得到的各分段的平均压缩时间,然后进行压缩,并将压缩完毕的分段存入处理器的分段非易失存储单元,完成压缩备份过程。
[0016]所述步骤S4具体为:
[0017]S41、根据离线/在线混合算法中离线分段算法得到的各状态位分段的压缩时间标准差,将所述标准差小于某一阈值的分段与并行压缩单元中的相应压缩模块直连,将所述标准差大于或等于所述阈值的分段通过MUX与并行压缩单元中的所有压缩模块互连;
[0018]S42、利用并行压缩单元的压缩模块对各状态位分段进行压缩,将并行压缩单元各压缩模块的压缩完成情况信息输入在线算法控制器,由在线算法控制器输出个压缩模块前的MUX选择信号,确定各压缩模块的输入选择,控制先压缩完成的状态位分段所对应的压缩模块用于压缩其他未压缩完成的状态位分段;
[0019]S43、将并行压缩单元压缩完成的系统寄存器状态位分段存入非易失存储单元,完成压缩备份。
[0020]所述离线/在线混合算法包括离线分段算法和在线控制算法,其中,离线分段算法用于对分段易失存储单元中已分段的系统寄存器状态位进行压缩仿真,平衡各段平均压缩时间,具体步骤如下:
[0021]步骤a、利用对分段易失存储单元中已分段的状态位的压缩仿真确定各状态位分段的平均压缩时间及压缩时间标准差;
[0022]步骤b、采用迭代方式得到各状态位分段的最终平均压缩时间,其中每次迭代对具有最长压缩时间的状态位分段长度减小一定步长,对具有最短压缩时间的状态位分段长度增加一定步长,步长由各分段的压缩时间标准差决定;[0023]所述在线分段算法用于对压缩时间标准差较大的分段进行动态负载平衡,具体步骤如下:
[0024]步骤a、利用并行压缩单元的各个压缩模块的压缩完成情况确定各压缩模块的输入选择;
[0025]步骤b、通过MUX选择复用已完成压缩的分段所连接的压缩模块,将先压缩完成的状态位分段所对应的压缩模块用于压缩其他未压缩完成的状态位分段,提高压缩模块利用率,从而动态平衡各段压缩时间。
[0026]本发明还提供了一种应用于非易失处理器中的分段并行压缩系统,包括易失处理逻辑单元、分段易失存储单元、并行压缩单元和分段非易失存储单元。
[0027]所述易失处理逻辑单元,即处理器的运算和控制逻辑部分,用于控制处理器中的分段并行压缩操作。
[0028]所述分段易失存储单元,即易失型处理器中的存储寄存器部分,包括用离线分段算法分段的易失寄存器,与并行压缩单元连接。
[0029]所述并行压缩单元,包括压缩模块、多路选择器MUX和用于动态调整各状态位分段的在线算法控制器,该并行压缩单元分别与分段易失存储单元和分段非易失存储单元连接;
[0030]所述压缩模块用于压缩对应的分段易失存储单元中的状态位分段;所述多路选择器MUX,其输入端与分段易失存储单元中压缩时间标准差较大的状态位分段连接,输出端与并行压缩单元中所有压缩模块互连;所述在线算法控制器输入端与并行压缩单元的所有压缩模块连接,其输出端与MUX连接,用于检测压缩模块的压缩完成情况、控制先压缩完成的状态位分段所对应的压缩模块用于压缩其他未压缩完成的分段。
[0031]所述分段非易失存储单元,包括由分段易失存储单元分段数确定的非易失寄存器,与并行压缩单元连接,用于存储已经压缩完成的状态位分段。
[0032](三)有益效果
[0033]与传统全替换技术和PRLC技术相比,SPaC架构综合了 二者各自的优点,能够在非易失处理器芯片面积和压缩时间性能中寻求一个平衡点以满足设计者的相应约束。同时,相比于平均分段、只采用离线分段算法,采用离线/在线混合算法在同样的非易失处理器芯片面积约束下能达到最快的整体备份与恢复速度。实验结果显示,SPaC架构能够提供一种比全替换技术的非易失处理器芯片面积减少16%,同时比采用PRLC架构的非易失处理器速度提高83%的设计方案。
【专利附图】

【附图说明】
[0034]图1是本发明提出的应用于非易失处理器中的分段并行压缩系统结构图;
[0035]图2是本发明提出的应用于非易失处理器中的分段并行压缩流程图;
[0036]图3是本发明提出的在非易失处理器中采用分段并行压缩架构时处理器芯片面积随着分段数增加的变化趋势;
[0037]图4是本发明提出的在非易失处理器中采用分段并行压缩架构时压缩时间随着分段数增加的变化曲线;
[0038]图5是本发明提出的在非易失处理器中采用分段并行压缩架构时用到的的离线/在线混合算法的硬件结构示意图;
[0039]图6是本发明提出的在非易失处理器中采用分段并行压缩架构并分别采用平均划分、离线算法和离/在线混合算法时的压缩时间比较图。
【具体实施方式】
[0040]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。
[0041]图1是本发明提出的应用于非易失处理器中的分段并行压缩系统结构图,包括易失处理逻辑单元、分段易失存储单元、并行压缩单元和分段非易失存储单元。
[0042]易失处理逻辑单元,即处理器的运算和控制逻辑部分,用于控制处理器中的分段并行压缩操作。
[0043]所述分段易失存储单元,即易失型处理器中的存储寄存器部分,包括用离线分段算法分段的易失寄存器,与并行压缩单元连接。
[0044]所述并行压缩单元,包括压缩模块、多路选择器MUX和用于动态调整各状态位分段的在线算法控制器,该并行压缩单元分别与分段易失存储单元和分段非易失存储单元连接;
[0045]所述压缩模块用于压缩对应的分段易失存储单元中的状态位分段;所述多路选择器MUX,其输入端与分段易失存储单元中压缩时间标准差较大的状态位分段连接,输出端与并行压缩单元中所有压缩模块互连;所述在线算法控制器输入端与并行压缩单元的所有压缩模块连接,其输出端与MUX连接,用于检测压缩模块的压缩完成情况、控制先压缩完成的状态位分段所对应的压缩模块用于压缩其他未压缩完成的分段。
[0046]所述分段非易失存储单元,包括由分段易失存储单元分段数确定的非易失寄存器,与并行压缩单元连接,用于存储已经压缩完成的状态位分段。
[0047]图2是本发明提出的应用于非易失处理器中的分段并行压缩流程图,包括以下步骤:
[0048]S1、根据非易失处理器芯片的设计面积与速度指标以及面向实际应用程序进行仿真得到的寄存器状态位仿真结果,确定非易失处理器中分段易失存储单元应划分的分段数,其中,面向实际应用程序进行仿真得到的寄存器状态位存储于分段非易失处理器的易失存储单元中。
[0049]在已知处理器设计面积和压缩时间性能约束的情况下,通过对已知应用程序的分析仿真得到不同分段下的面积与压缩时间,分别如图3、图4所示。图3是本发明提出的在非易失处理器中采用分段并行压缩架构时处理器芯片面积随着分段数增加的变化趋势。由图3可以看出,非易失处理器的芯片面积随着系统寄存器状态位分段数的增大而增大。图4是本发明提出的在非易失处理器中采用分段并行压缩架构时压缩时间随着分段数增加的变化曲线,可以看出,压缩时间随着分段数的增加而变长。通过仿真得到芯片面积和压缩时间随着分段数增加的变化曲线后,根据实际的处理器芯片面积和压缩时间性能约束选择满足约束的分段数即可,可能有多个分段数满足所述约束,选择一个最合适的分段数,此实施例中选择满足约束的最小分段数,以便于后续在线控制算法平衡并行压缩模块中压缩模块的负载。
[0050]S2、编写离线/在线混合算法,包括离线分段算法和在线控制算法,利用离线分段算法对已分段的状态位进行压缩仿真,采用迭代方式得到使各状态位分段的平均压缩时间相等的划分,利用压缩仿真结果确定各状态位分段的长度以及压缩后的长度,其中每次迭代对具有最长压缩时间的状态位分段长度减小一定步长,对具有最短压缩时间的状态位分段长度增加一定步长,步长由各状态位分段的压缩时间标准差决定,同时计算各状态位分段的平均压缩时间和压缩时间标准差。
[0051]离线分段算法通过改变各分段的长度来平衡压缩时间。设系统寄存器状态位向量为V,需要划分为M个分段。最简单的方式是平均划分,但是这样会由于各分段的平均压缩时间不同而导致较大差异。本发明提出的离线算法通过迭代的方式,不断增加平均压缩时间短的分段的长度和减小平均压缩时间长的分段的长度来寻找一个使各段平均压缩时间相等的划分方案。离线分段算法如下所示:
[0052]
【权利要求】
1.一种应用于非易失处理器中的分段并行压缩方法,其特征在于,包括以下步骤: 51、根据非易失处理器芯片的设计面积与速度指标以及面向实际应用程序进行仿真得到的寄存器状态位仿真结果,确定非易失处理器中分段易失存储单元应划分的分段数,其中,面向实际应用程序进行仿真得到的寄存器状态位存储于分段非易失处理器的易失存储单元中; 52、编写离线/在线混合算法,利用离线/在线混合算法中的离线分段算法对分段易失存储单元中的的各状态位分段进行压缩仿真,利用压缩仿真结果确定各状态位分段的长度和压缩后的长度,以及各状态位分段的平均压缩时间、压缩时间标准差和压缩后长度; 53、根据非易失处理器中分段易失存储单元的寄存器状态位的分段数以及由离线算法得到的各状态位长度设计非易失处理器的并行压缩单元和分段非易失存储单元,其中,并行压缩单元中压缩模块的个数与步骤SI得到的分段数相等,分段非易失存储单元的分段数与步骤SI得到的分段数相等,其各段长度与离线分段算法所得到的压缩后长度相等; 54、将分段易失存储单元中的各状态位分段与并行压缩单元中的相应压缩模块连接,利用离线/在线混合算法中的在线控制算法平衡由离线分段算法得到的各分段的平均压缩时间,然后进行压缩,并将压缩完毕的分段存入分段非易失存储单元,完成压缩备份过程。
2.如权利要求1所述的方法,其特征在于,所述步骤S2具体为: 521、编写离线/在线混合算法,包括离线分段算法和在线控制算法; 522、利用离线分段算法对已分段的状态位进行压缩仿真,采用迭代方式得到使各状态位分段的平均压缩时间相等的划分,利用压缩仿真结果确定各状态位分段的长度以及压缩后的长度,其中每次迭代对具有最长压缩时间的状态位分段长度减小一定步长,对具有最短压缩时间的状态位分段长度增加一定步长,步长由各状态位分段的压缩时间标准差决定,同时计算各状态位分段的平均压缩时间和压缩时间标准差。
3.如权利要求1所述的方法,其特征在于,所述步骤S4具体为: 541、根据离线/在线混合算法中离线分段算法得到的各状态位分段的压缩时间标准差,将所述标准差小于某一阈值的分段与并行压缩单元中的相应压缩模块直连,将所述标准差大于或等于所述阈值的分段通过MUX与并行压缩单元中的所有压缩模块互连; 542、利用并行压缩单元的压缩模块对各状态位分段进行压缩,将并行压缩单元各压缩模块的压缩完成情况信息输入在线算法控制器,由在线算法控制器输出个压缩模块前的MUX选择信号,确定各压缩模块的输入选择,控制先压缩完成的状态位分段所对应的压缩模块用于压缩其他未压缩完成的状态位分段; 543、将并行压缩单元压缩完成的系统寄存器状态位分段存入非易失存储单元,完成压缩备份。
4.如权利要求1~3中任一权利要求所述的方法,其特征在于,所述离线/在线混合算法包括离线分段算法和在线控制算法; 所述离线分段算法用于对分段易失存储单元中已分段的系统寄存器状态位进行压缩仿真,平衡各段平均压缩时间,具体步骤如下: 步骤a、利用对分段易失存储单元中已分段的状态位的压缩仿真确定各状态位分段的平均压缩时间及压缩时间标准差;步骤b、采用迭代方式得到各状态位分段的最终平均压缩时间,其中每次迭代对具有最长压缩时间的状态位分段长度减小一定步长,对具有最短压缩时间的状态位分段长度增加一定步长,步长由各分段的压缩时间标准差决定; 所述在线分段算法用于对压缩时间标准差较大的分段进行动态负载平衡,具体步骤如下: 步骤a、利用并行压缩单元的各个压缩模块的压缩完成情况确定各压缩模块的输入选择; 步骤b、通过MUX选择复用已完成压缩的分段所连接的压缩模块,将先压缩完成的状态位分段所对应的压缩模块用于 压缩其他未压缩完成的状态位分段,提高压缩模块利用率,从而动态平衡各段压缩时间。
5.一种应用于非易失处理器中的分段并行压缩系统,其特征在于,包括易失处理逻辑单元、分段易失存储单元、并行压缩单元和分段非易失存储单元; 所述易失处理逻辑单元,即处理器的运算和控制逻辑部分,用于控制处理器中的分段并行压缩操作; 所述分段易失存储单元,即易失型处理器中的存储寄存器部分,包括用离线分段算法分段的易失寄存器,与并行压缩单元连接; 所述并行压缩单元,包括压缩模块、多路选择器MUX和用于动态调整各状态位分段的在线算法控制器,该并行压缩单元分别与分段易失存储单元和分段非易失存储单元连接;所述分段非易失存储单元,包括由分段易失存储单元分段数确定的非易失寄存器,与并7TT压缩单兀连接。
6.如权利要求5所述系统,其特征在于,所述压缩模块用于压缩对应的分段易失存储单元中的状态位分段。
7.如权利要求5所述系统,其特征在于,所述多路选择器MUX,其输入端与分段易失存储单元中压缩时间标准差较大的状态位分段连接,输出端与并行压缩单元中所有压缩模块互连。
8.如权利要求5所述系统,其特征在于,所述在线算法控制器输入端与并行压缩单元的所有压缩模块连接,其输出端与MUX连接,用于检测压缩模块的压缩完成情况、控制先压缩完成的状态位分段所对应的压缩模块用于压缩其他未压缩完成的分段。
【文档编号】G06F9/38GK103955355SQ201310086340
【公开日】2014年7月30日 申请日期:2013年3月18日 优先权日:2013年3月18日
【发明者】盛骁, 王逸群, 刘勇攀, 杨华中 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1