《温度敏感的混合存储架构及其数据分配策略方法.pdf》由会员分享,可在线阅读,更多相关《温度敏感的混合存储架构及其数据分配策略方法.pdf(13页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103176799 A(43)申请公布日 2013.06.26CN103176799A*CN103176799A*(21)申请号 201310063686.4(22)申请日 2013.02.28G06F 9/44(2006.01)G06F 12/08(2006.01)(71)申请人山东大学地址 250061 山东省济南市历下区经十路17923号(72)发明人贾智平 李新 李阳 王冠华(74)专利代理机构济南圣达知识产权代理有限公司 37221代理人郑华清(54) 发明名称温度敏感的混合存储架构及其数据分配策略方法(57) 摘要本发明具体公开了一种温度敏感的混合存储架构。
2、及其数据分配策略方法,包括以下步骤:(1)根据存储部件cache和SPM的面积模型,设计不同cache/SPM容量比例的floorplan;(2)根据嵌入式处理器的温度模型,计算出针对不同cache/SPM容量比例的存储系统温度变化周期中cache/SPM使用时间t1/t2比,选择t1/t2比最大的floorplan作为设计方案;(3)根据步骤(2)得到的设计方案,设计数据分配策略;在限定峰值温度的条件下,利用贪心算法实现将数据分配到cache或SPM,从而得到最短的数据访问时间。(51)Int.Cl.权利要求书1页 说明书7页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请。
3、权利要求书1页 说明书7页 附图4页(10)申请公布号 CN 103176799 ACN 103176799 A1/1页21.温度敏感的混合存储架构及其数据分配策略方法,其特征在于,包括以下步骤:(1)根据存储部件cache和SPM的面积模型,设计不同cache/SPM容量比例的floorplan;(2)根据嵌入式处理器的温度模型,计算出针对不同cache/SPM容量比例的存储系统温度变化周期中cache/SPM使用时间t1/t2比,选择t1/t2比最大的floorplan作为设计方案;(3)根据步骤(2)得到的设计方案,设计数据分配策略;在限定峰值温度的条件下,利用贪心算法实现将数据分配到c。
4、ache或SPM,从而得到最短的数据访问时间。2.如权利要求1所述的分配策略方法,其特征在于:步骤(1)所述的设计不同cache/SPM容量比例的floorplan的方法如下:使用cache模型cacti确定不同容量cache的比例关系,用相同容量cache面积的60%来确定SPM面积,并据此设计不同cache/SPM容量比例的floorplan。3.如权利要求1所述的分配策略方法,其特征在于:步骤(2)所述的温度模型是指嵌入式处理器的等效RC模型。4.如权利要求1所述的分配策略方法,其特征在于:步骤(2)中所述的计算出针对不同cache/SPM容量比例的存储系统温度变化周期中cache/SP。
5、M使用时间t1/t2比,其具体过程如下:在系统工作时,通过交替使用Cache和SPM两种部件,交替降低SPM和Cache的工作功率P,实现对其交替降温,得到cache和SPM的温度变化曲线,当系统工作一定时间后,cache和SPM的温度变化逐渐稳定,并呈现周期性趋势,在t1时间段内,SPM工作,SPM的温度从低温TS_low上升到温度阈值Tmax,而cache暂停工作,其温度从温度阈值Tmax降到低温TC_low;在t2时间段内,cache工作,其温度从低温TC_low上升到温度阈值Tmax,而SPM暂停工作,其温度从温度阈值Tmax降到低温TS_low;这一规律用以下四个公式表示:上述公式中。
6、,t1表示温度变化周期内,SPM工作的时间段;t2表示温度变化周期内,cache工作的时间段;Tmax表示存储系统的温度阈值(cache和SPM为同一值);Tamb表示环境温度;TC_low、TS_low分别表示cache和SPM可降低到的最低温度;RC、CC表示cache的热阻、热容;RS、CS表示SPM的热阻、热容;PC、PS分别表示cache和SPM的工作功率;由于访问SPM时命中率为100%,而且不需要地址匹配过程,节省了比较的时间和cache未命中时访问主存的时间,因此通过使用SPM比cache的次数多来提高系统的实时性能,选择t1/t2比最大的floorplan作为设计方案。权 利。
7、 要 求 书CN 103176799 A1/7页3温度敏感的混合存储架构及其数据分配策略方法技术领域0001 本发明属于嵌入式实时系统领域,具体涉及到基于高速缓存cache和SPM(Scratchpad memory)的混合存储架构的设计,以及相应的温度敏感的数据分配策略。背景技术0002 近年来,随着半导体工艺的迅速发展,嵌入式系统的性能大幅度提高。然而,半导体工艺的发展在提高芯片集成度的同时,也带来了高功耗密度和高温度。统计表明,约每三年处理器的功耗密度就会翻一番,过高的功耗密度导致芯片内部的发热量急剧增加,芯片内部的温度也随之升高。而高温给嵌入式系统带来了各方面的负面影响:高温会降低晶体。
8、管开关速度,从而降低系统性能;高温会加速应力迁移、电介质崩溃,从而降低系统的可靠性;高温会增加漏电流和冷却功耗,从而增加系统的能量开销。由于以上原因,温度敏感的软硬件设计已经成为了嵌入式实时系统中的一个热点问题。0003 现有的控制系统温度的策略,有的是基于原有的降低功耗的策略。虽然温度与功耗与相关,但仅从功耗方面考虑而不研究温度模型并不能准确的预测和控制温度。等效RC模型(equivalent RC model)是目前广泛应用的温度模型,它主要利用了传热现象和电气现象的对偶性特点,如图1所示:传热现象中的热阻类似于电路中的电阻,热流可以看做是一个通过热阻的“电流”,热流通过热阻后会产生类似于。
9、“电压”的温度差;传热中的热容类似于电路中的电容,可以对温度(“电流”)变化的瞬时行为建模。0004 0005 根据上式,可求得计算实时温度的公式为0006 0007 经过足够长的时间后,部件可达到稳定温度:0008 Tsteady(t)PR+Tamb(3)0009 其中,P为t时间内相应部件的平均功耗,R为相应部件的热阻,C为相应部件的热容,Tamb为环境温度。R和C的计算公式如下:0010 0011 CcdA (5)0012 其中,d为部件的厚度,A为部件的横截面积,k为导热系数,c为单位体积内的热容。0013 美国维吉尼亚州大学的计算机结构LAVA实验室基于等效RC模型,开发了一个准确、。
10、快速并且实用性强的功率-温度模型HotSpot,为系统架构级温度研究奠定了基础。此后,众多科研和技术人员以HotSpot为温度建模工具,利用DVFS、任务迁移、任务调度等多种手段试图解决嵌入式系统的高温问题。0014 以上的技术主要针对任务执行时,处理器中执行单元的优化利用。这是因为处理说 明 书CN 103176799 A2/7页4器中执行单元(ALU等)的温度普遍高于其他组件,是整个处理器中局部温度最高点。与之前的技术不同,本发明主要解决嵌入式系统中存储部件的温度问题。一方面片上存储系统占据了处理器芯片的大片面积(在StrongArm系列芯片中,缓存占据了60%的芯片面积),并且具有极高的。
11、集成度;另一方面,漏电功耗随着温度的上升呈指数增长的趋势,温度上升势必会导致存储系统的漏电功耗大幅增加。因此温度敏感的片上存储系统的设计和数据分配策略的对嵌入式实时系统有很大实际意义。0015 除传统的高速缓存cache组件外,SPM(Scratchpad Memory)作为一种新型存储方式,近年来受到越来越多的关注。高速缓存cache和SPM都是集成在片上的SRAM,但通常高速缓存cache是由硬件控制的,对程序员是不可见的;与高速缓存cache不同,SPM中的内容是由软件控制的,是一种片上可编程的存储器。与高速缓存cache相比,SPM由于不需要地址比较电路,因此具有面积小、功耗低、访问快。
12、等优点。当然,由于SPM的内容有软件控制,这在提高使用灵活性的同时,也增加了编程的难度。发明内容0016 本发明的目的是在降低嵌入式系统中片上存储子系统温度的同时,保持甚至提高其访问速度,确保系统的实时性。为此,本发明采用了基于高速缓存cache和便签式存储器SPM两种组件的片上存储系统,并通过交替使用高速缓存cache和SPM的方式,降低存储系统的温度。通过设计不同的芯片布局图floorplan,调整cache/SPM容量比,寻找满足温度约束条件下,实时性能最优的设计方案。0017 为实现上述目的,本发明采用如下技术方案:0018 温度敏感的混合存储架构及其数据分配策略方法,包括以下步骤:0。
13、019 (1)根据存储部件高速缓存cache和便签式存储器SPM的面积模型,设计不同cache/SPM容量比例的floorplan;0020 (2)根据嵌入式处理器的温度模型,计算出针对不同cache/SPM容量比例的存储系统温度变化周期中cache/SPM使用时间t1/t2比,选择t1/t2比最大的floorplan作为设计方案;0021 (3)根据步骤(2)得到的设计方案,设计数据分配策略;在限定峰值温度的条件下,利用贪心算法实现将数据分配到cache或SPM,从而得到最短的数据访问时间。0022 步骤(1)所述的设计不同cache/SPM容量比例的floorplan的方法如下:使用cac。
14、he模型cacti确定不同容量cache的比例关系,用相同容量cache面积的60%来确定SPM面积,并据此设计不同cache/SPM容量比例的floorplan。0023 步骤(2)所述的温度模型是指嵌入式处理器的等效RC模型。0024 步骤(2)中所述的计算出针对不同cache/SPM容量比例的存储系统温度变化周期中cache/SPM使用时间t1/t2比,其具体过程如下:在系统工作时,通过交替使用Cache和SPM两种部件,交替降低SPM和Cache的工作功率P,实现对其交替降温,得到cache和SPM的温度变化曲线,当系统工作一定时间后,cache和SPM的温度变化逐渐稳定,并呈现周期性。
15、趋势,在t1时间段内,SPM工作,SPM的温度从低温TS_low上升到温度阈值Tmax,而cache暂停工作,其温度从温度阈值Tmax降到低温TC_low。在t2时间段内,cache工作,其温度从低温TC_low上升到温度阈值Tmax,而SPM暂停工作,其温度从温度阈值Tmax降到低温TS_low;这一规说 明 书CN 103176799 A3/7页5律用以下四个公式表示:0025 0026 0027 0028 0029 上述公式中,t1表示温度变化周期内,SPM工作的时间段;t2表示温度变化周期内,cache工作的时间段;Tmax表示存储系统的温度阈值(cache和SPM为同一值);Tamb。
16、表示环境温度;TC_low、TS_low分别表示cache和SPM可降低到的最低温度;RC、CC表示cache的热阻、热容;RS、CS表示SPM的热阻、热容;PC、PS分别表示cache和SPM的工作功率。0030 由于访问SPM时命中率为100%,而且不需要地址匹配过程,节省了比较的时间和cache未命中时访问主存的时间,因此通过使用SPM比cache的次数多来提高系统的实时性能,选择t1/t2比最大的floorplan作为设计方案。0031 针对程序的循环部分,利用贪心算法设计数据分配算法如下:0032 步骤a.初始化标志位Flag=1,循环执行计数Ite_count=0;0033 步骤b。
17、.判断循环执行计数Ite_count是否小于总循环次数N,若是,跳转到步骤c;若否,跳转到步骤k;0034 步骤c.判断标志位是否为1,若是,跳转到步骤d;若否,跳转到步骤h;0035 步骤d.计算本次可以分配数据到SPM的循环次数:0036 Ite_on_spm=min(N-ite_count,t1);0037 步骤e.把此后Ite_on_spm次循环中,需要的(ite_count*datasize)大小的数据从主存复制到SPM;0038 步骤f.循环执行Ite_on_spm次,循环执行计数Ite_count增加ite_on_spm;0039 步骤g.设置标志位Flag=0,跳转到步骤a;0。
18、040 步骤h.计算本次可以分配数据到cache的循环次数:0041 Ite_on_cache=min(N-ite_count,t2);0042 步骤i.循环执行Ite_on_cache次,循环执行计数Ite_count增加ite_on_cache;0043 步骤g.设置标志位Flag=1,跳转到步骤a;0044 步骤k.结束。0045 本发明的有益效果是:(1)通过交替使用SPM和Cache,降低存储系统的温度,提高嵌入式系统的可靠性;(2)通过选择t1/t2比高的floorplan,在数据分配策略中尽可能提高SPM的优先级,从而提高嵌入式系统的实时性。针对测试程序matrix,使用原始的存。
19、储结构和数据分配策略,存储系统(Cache)的最高温度为73.84,循环执行共需要74600个时钟周期;采用本发明的混合存储架构和数据分配策略,存储系统(Cache+SPM)的最高温度为65.44,降低了11.4%,循环执行共需要52560个时钟周期,降低了29.5%。附图说明说 明 书CN 103176799 A4/7页60046 图1是RC等效温度模型原理图。0047 图2是针对matrix基准测试程序的高速缓存cache和便签式存储器SPM温度变化趋势图。0048 图3是原始的alpha EV6芯片布局图。0049 图4是本发明设计的包括32k cache和16k SPM的芯片布局图。0。
20、050 图5是本发明设计的针对混合存储结构的温度敏感的数据分配算法流程图。具体实施方式0051 下面结合附图对本发明进行详细说明:0052 (1)设计不同Cache/SPM容量比例的floorplan。0053 从公式(2)可以看出,通过改变部件的功耗P或者热阻R都可以达到控制相应部件实时温度的目的。热阻和热容都与部件的面积有关,而cache和SPM的面积由其容量和制造工艺决定。同时,存储部件cache和SPM的功耗也主要由其容量和制造工艺决定。由此可见,在相同制造工艺的情况下,存储部件cache和SPM的容量是其温度的决定因素。因此本发明在系统设计阶段改变通过SPM和Cache的容量比,改变。
21、其工作功率P和热阻R。在本发明中,使用cache模型cacti确定不同容量cache的比例关系,用相同容量cache面积的60%来确定SPM面积,并据此设计不同cache/SPM容量比例的floorplan;0054 本发明设计的混合存储结构基于温度研究领域常用的Alpha处理器,标准的Alpha EV6处理器的floorplan如图3所示。0055 标准Alpha EV6处理器片上存储系统包括一个64KB大小的,2路组相连的写回型一级数据缓存(Level1data cache),并不包含SPM组件。因此,在本发明的实验环境中,我们将Alpha EV6原有的与数据缓存结构相同容量相等的一级指令。
22、缓存的一部分改用作SPM(根据同等容量下,Scratchpad Memory的面积是cache面积的66%,即使将指令缓存的部分面积用作与cache等容量的SPM,指令缓存仍有剩余,我们暂时忽略这种指令缓存容量的改变对系统性能的影响)。0056 为了验证不同SPM/Cache比对系统性能的影响,本发明在设计了多种不同的floorplan。我们用集成的cache模型CACTI来确定不同容量的cache的面积。并用简单有效的SPM面积模型,即认为SPM面积为相同容量的cache面积的66%,来确定SPM的面积。我们在实验中选取了目前应用中常用cache和SPM的容量,将cache和SPM分别设定为。
23、8KB、16KB、32KB、64KB。为了便于比较和进行floorplan设计,我们把不同容量的cache和SPM的面积都与AlphaEV6原始的64KB cache的面积作比较,得出表1结果(ev6处理器原始64k cache为1,其它为相应存储部件与64k cache的面积比)。0057 表1不同容量的cache和SPM面积比较0058 Scratchpad Memory Cache8KB 0.46 0.7016KB 0.49 0.74说 明 书CN 103176799 A5/7页70059 32KB 0.55 0.8364KB 0.66 10060 据此,本发明中设计了cache和SPM。
24、分别设定为8KB、16KB、32KB、64KB的共16种floorplan,图4为包括32KB cache和16KB SPM的floorplan样例。0061 (2)根据温度模型,计算出针对特定程序的热平衡周期的t1/t2比。0062 为了比较不同的t1/t2,本发明实现了反应floorplan温度变化的特性TAMF(Temperature Aware Memory Floorplanner)模拟工具。TAMF以不同的floorplan、阈值温度、程序信息为输入,输出程序的运行过程中,根据实时温度动态分配数据的结果和程序的执行周期。在设计TAMF的数据分配算法时,假设处理器各部件上都安装了温度。
25、传感器,并可以获取实时的部件温度来动态调整数据分配方法。在TAMF模拟工具中,用HotSpot温度模型来模拟温度传感器,根据处理器的floorplan和个部件的工作功率计算出实时温度。0063 根据功耗模型Wattch,我们可以计算出单行64字节、2路组相连的8KB、16KB、32KB、64KB的Cache在工作时的平均功耗。并根据近似模型,把SPM的平均功耗计算为相同容量的Cache的60%。得到不同容量的Cache和SPM工作时的平均功耗如表2:0064 表2不同容量的cache和SPM的平均功耗0065 Scratchpad Memory Cache8KB 1.6574 2.762316。
26、KB 2.8998 4.833132KB 4.7090 7.848464KB 7.5885 12.64750066 根据上述温度模型和前面设计出的floorplan,针对给定的程序,TAMF就能计算出SPM和cache的温度变化情况和程序的执行情况,从而选择出满足温度约束的条件下,实时性能最好的floorplan设计。为了简化数据分配中数据依赖度等复杂因素,本发明现阶段只针对程序中的循环部分,以一次循环所需的数据为单位分配数据。为验证本发明的有效性,我们增大了DSPstone系列基准测试程序中matrix程序的数据量,并以其为基准测试了本发明的设计和算法。计算出t1/t2如下表:0067 表3。
27、不同SPM/Cache容量比下的t1/t20068 SPM/Cache t1 t2 t1/t264/64 1 3 0.33333364/32 1 6 0.166667说 明 书CN 103176799 A6/7页864/16 2 198 0.01010164/8 2 198 0.01010132/64 2 5 0.432/32 2 8 0.2532/16 4 59 0.06779732/8 4 196 0.02040816/64 136 8 1716/32 136 15 9.06666716/16 136 64 2.12516/8 136 64 2.1258/64 68 8 8.58/32 6。
28、8 15 4.5333338/16 68 132 0.5151528/8 68 132 0.5151520069 0070 (3)选择针对特定程序的最大的t1/t2比,并以此设计数据分配策略。0071 除极个别的特例外,现有的嵌入式处理器并不带有能实时监测部件温度的温度传感器,因此通过实时监测部件温度来动态调整数据分配的方法在现阶段并不可行。本发明根据模拟实验得到的cache/SPM使用时间t1/t2比,来确定何时调整数据分配方式。考虑到数据分配的复杂性,本发明现阶段只针对程序的循环部分的数据分配情况;针对程序的循环部分,设计数据分配算法如下:0072 0.初始化标志位Flag=1,循环执行计。
29、数Ite_count=0;0073 1.判断循环执行计数Ite_count是否小于总循环次数N,若是,跳转到2;若否,跳转到100074 2.判断标志位是否为1,若是,跳转到3;若否,跳转到7;0075 3.计算本次可以分配数据到SPM的循环次数:0076 Ite_on_spm=min(N-ite_count,t1);0077 4.把此后Ite_on_spm次循环中,需要的(ite_count*datasize)大小的数据从主存复制到SPM;0078 5.循环执行Ite_on_spm次,循环执行计数Ite_count增加ite_on_spm;说 明 书CN 103176799 A7/7页900。
30、79 6.设置标志位Flag=0,跳转到1;0080 7.计算本次可以分配数据到cache的循环次数:0081 Ite_on_cache=min(N-ite_count,t2);0082 8.循环执行Ite_on_cache次,循环执行计数Ite_count增加ite_on_cache;0083 9.设置标志位Flag=1,跳转到1;0084 10.结束。0085 算法的流程图如图5所示。在此算法中,通过限制每次把数据分配到SPM或者Cache的循环次数少于t1或t2,可以确保温度不会超过阈值。在实时性方面:选择出的t1,t2是在floorplan的所有方案中选出的t1/t2最大方案,使得系统。
31、尽可能多的使用访问速度快的SPM;算法初始化时,首先设置标志位Flag=1,使得系统优先使用访问速度较快的SPM。0086 针对测试程序matrix,使用原始的存储结构和数据分配策略,存储系统(Cache)的最高温度为73.84,循环执行共需要74600个时钟周期;采用本发明的混合存储架构和数据分配策略,存储系统(Cache+SPM)的最高温度为65.44,降低了11.4%,循环执行共需要52560个时钟周期,降低了29.5%。0087 综上所述,本发明设计了温度敏感的基于cache和SPM(Scratchpad memory)的混合存储架构,以及相应的温度敏感的数据分配策略。由实验结果可见,本发明能在保证存储系统温度不超过温度阈值的前提下,最大可能的提高嵌入式系统的实时性能。说 明 书CN 103176799 A1/4页10图1图2说 明 书 附 图CN 103176799 A10。