一种动态可重构处理器的数据缓存预取方法技术

技术编号:21184353 阅读:67 留言:0更新日期:2019-05-22 15:01
本发明专利技术公开了一种动态可重构处理器的数据缓存预取方法,包括以下步骤:1)可重构处理器缓存预取时,偏移量处理单元获得最佳偏移量,发送给预取地址生成模块;2)预取度调节模块通过预取精度与迭代总数据量这两个参量动态调节预取度,并发送给预取地址生成模块;3)预取地址生成模块根据基地址、最佳偏移量和动态预取度生成预取地址及数量。本发明专利技术提供的一种动态可重构处理器的数据缓存预取方法,该方法提前将数据从主存储器加载到缓存存储器上,降低了处理器访问数据时间,提升了预取准确度。

A Data Cache Prefetching Method for Dynamic Reconfigurable Processors

The invention discloses a data cache prefetching method for a dynamic reconfigurable processor, which includes the following steps: 1) when the cache prefetching of a reconfigurable processor is performed, the offset processing unit obtains the optimal offset and sends it to the prefetch address generation module; 2) the prefetch degree adjustment module dynamically adjusts the prefetch degree by two parameters: the prefetch accuracy and the total iteration data quantity, and sends it to the prefetch address generation module. Module; 3) Prefetch address generation module generates prefetch address and number according to base address, optimal offset and dynamic prefetch degree. The present invention provides a data cache prefetching method for dynamic reconfigurable processors. The method loads data from main memory to cache memory in advance, reduces the time of accessing data by processors, and improves the accuracy of prefetching.

【技术实现步骤摘要】
一种动态可重构处理器的数据缓存预取方法
本专利技术属于高速缓存管理领域,具体涉及一种动态可重构处理器的数据缓存预取方法。
技术介绍
受指令流驱动,基于冯.诺依曼体系结构的处理器在性能和功耗两方面不能满足日益膨胀的应用需求;受数据流驱动的专用计算(如ASIC),电路结构是根据功能定制或者半定制的,功耗低且运算速度非常快,但是缺乏灵活性和扩展性,应用的发展超前于硬件的设计。可重构处理器是在运行时通过配置流来动态改变运算单元阵列的功能(功能的改变往往只消耗几个或者十几个时钟周期),然后通过数据流来驱动运算单元阵列进行计算。所以可重构处理器既有指令驱动处理器的灵活性,又具有接近数据驱动芯片的性能和功耗。可重构处理器主要由控制单元、数据通路、存储器和输入/输出接口四部分组成。与指令流处理器的主要区别在于,控制单元通过发送配置信息而不是指令的方式控制数据通路的行为,存储器中所存储的是配置信息而不是指令。其中配置信息是重点,是与传统处理器的主要区别之处,它用来组织数据通路实现特定的功能,其自身特点能够弥补传统处理器不足。缓存技术的出现是为了弥补处理器与存储器之间的速度差异。硬件预取是现代高性能处理器的一个重要特性。准确的硬件数据预取可以减少主存延迟的带来负面影响,并显著提高处理器的性能。Sandboxprefetching、Feedbackdirectedprefetching、Globalhistorybuffer包括其他多核处理器(CMP)的预取方法面向的都是基于冯.诺依曼体系结构的处理器。算法也可以使用在可重构处理器上,但是没有考虑可重构处理器本身的特点。基于可重构处理器缓存配置信息的特点,并根据配置信息的特点,可实现缓存预取方法。方法
技术实现思路
本专利技术目的是提供一种动态可重构处理器的数据缓存预取方法,该方法提前将数据从主存储器加载到缓存存储器上,降低了处理器访问数据时间,提升了预取准确度。本专利技术采用如下技术方案来实现的:一种动态可重构处理器的数据缓存预取方法,包括以下步骤:1)可重构处理器缓存预取时,偏移量处理单元获得最佳偏移量,发送给预取地址生成模块;2)预取度调节模块通过预取精度与迭代总数据量这两个参量动态调节预取度,并发送给预取地址生成模块;3)预取地址生成模块根据基地址、最佳偏移量和动态预取度生成预取地址及数量。本专利技术进一步的改进在于,步骤1)的具体实现方法如下:101)当访问来自L2cache的基地址时,来自偏移列表中52个偏移量,将基地址与偏移量之和添加到bloom滤波器中,下面给出了该偏移列表:102)当L2cache再次访问时,如果在bloom滤波器中找到地址,即缓存命中(Cache-hit),那此地址对应的偏移量分数加1;103)经过256次访问之后,找到最高分对应的偏移量即为最佳偏移量。本专利技术进一步的改进在于,步骤2)的具体硬件实现方法如下:201)由配置信息直接获取迭代次数,由程序计数器获得执行一次过程中的访存数据量,迭代次数与访存数据量乘积即为迭代总数据量;202)利用bloom滤波器的特性,并使用两个硬件计数器来跟踪预取的准确度,得到预取精度;203)在获得了预取精度和配置信息的迭代总数据量后,分别与各自阈值作比较,进行动态调节。本专利技术进一步的改进在于,步骤3)的具体实现方法如下:301)预取地址生成模块对来自L2缓存的基地址与最佳偏移量生成预取缓存行地址,预取度决定产生的预取数量,公式如下:预取地址预取度=基地址+最佳偏移量*预取度。本专利技术具有如下有益的技术效果:本专利技术提出了一种面向可重构处理器的缓存预取方法,设计其数据缓存预取架构以及相应的算法,避免了预取上浪费实际高速缓存空间和内存带宽,改善缓存缺失率,从而提升了性能。现代高性能计算器采用硬件预取技术来减轻长时间内存延迟的影响。本专利技术从可重构处理器的配置信息特点出发,提出其缓存预取方法,利用预取精度与配置信息的迭代总数据量两个参数来生成预取地址及其数量。预取精度可利用bloom滤波器的特性,并使用两个硬件计数器来跟踪预取器的准确度。预取精度低时,如果将预取地址取到缓存中,不仅不会提高性能,还会增加硬件开销,将是无用的预取,故预取度不增加;预取精度高时,可适当增加预取度,因为此时配置信息可能被重用。迭代总数据量是迭代次数与访存数据量的乘积,迭代次数可由配置信息直接获取,访存数据量可由程序计数器获取。通过以上操作,可通过硬件获得预取精度与迭代总数据量,然后根据不同的情况,动态调节预取度,从而提升了预取精度,避免了内存带宽和缓存空间的浪费。附图说明图1面向可重构处理器的数据缓存预取方法硬件设计图图2偏移量处理单元硬件结构图3Bloom滤波器工作原理图图4随机序列命中率情况,其中,图4(a)为第1至5组随机序列命中率结果比较,图4(b)为第6至10组随机序列命中率结果比较,图4(c)为第11至15组随机序列命中率结果比较。具体实施方式以下结合附图和实施例对本专利技术做出进一步的说明。主要特点:1.基于可重构处理器缓存配置信息的特点,采用预取精度和配置信息的迭代总数据量作为参数,通过其与阈值作比较后的大小作为参考,来动态地调节预取度(degree),即发出预取的个数。2.采用偏移量处理单元,面向基地址找到来自偏移量列表中52个偏移量中的最佳偏移量。3.预取度调节模块能够根据预取精度与配置信息的迭代总数据量这两个参数与阈值比较所得大小情况来动态地调节预取度。4.设计预取地址生成模块,对来自偏移量处理单元的最佳偏移量、Feedback中得到的degree以及基地址进行处理,进而生成预取缓存行地址与数量。主要优点:1.由于采用计算最佳偏移量时,所发出的预取均是在处理单元中进行,并不会向Cache发出预取地址,只会发出对应最佳偏移量的预取地址,故其节省了硬件开销。2.可重构处理器预取方法能够根据配置信息特点动态调节预取度,避免了硬件的无用开销,提高了预取效率。3.可重构处理器预取算法预取精度较高,从而提高缓存命中率,提高可重构处理器的性能。本专利技术所提出的面向可重构处理器的缓存预取方法硬件部分由三部分构成:偏移量处理单元、预取度调节模块、预取地址生成模块,如图1。本专利技术中偏移量处理单元采用来自偏移量列表中52个偏移量,对来自L2高速缓存的基地址通过将基地址加偏移量添加到bloom滤波器中选出最佳偏移量,并将其发送给预取地址生成器;预取度调节模块通过预取精度与迭代总数据量这两个参量来动态调节预取degree;预取地址生成模块根据基地址、最佳偏移量以及预取degree生成预取地址以及其数量,并将其发送给主存。具体方法如下:1)偏移量处理单元偏移量处理单元由四部分组成:偏移量列表、Bloom滤波器、分数表、检测块(分数比较器),硬件结构如图2。偏移量处理单元主要是面向基地址找到来自偏移量列表中52个偏移量中的最佳偏移量。当访问到来自L2高速缓存的基地址时,来自偏移量列表中52个偏移量,将基地址与偏移量之和添加到布隆(Bloom)滤波器中。当高速缓存再次访问时,如果在bloom滤波器中找到地址,即缓存命中(Cache-hit),那此地址对应的偏移量分数加1,分数表记录该偏移量所得分数情况。经过256次访问之后,分数比较器对来自分数表中的分数进行比较本文档来自技高网
...

【技术保护点】
1.一种动态可重构处理器的数据缓存预取方法,其特征在于,包括以下步骤:1)可重构处理器缓存预取时,偏移量处理单元获得最佳偏移量,发送给预取地址生成模块;2)预取度调节模块通过预取精度与迭代总数据量这两个参量动态调节预取度,并发送给预取地址生成模块;3)预取地址生成模块根据基地址、最佳偏移量和动态预取度生成预取地址及数量。

【技术特征摘要】
1.一种动态可重构处理器的数据缓存预取方法,其特征在于,包括以下步骤:1)可重构处理器缓存预取时,偏移量处理单元获得最佳偏移量,发送给预取地址生成模块;2)预取度调节模块通过预取精度与迭代总数据量这两个参量动态调节预取度,并发送给预取地址生成模块;3)预取地址生成模块根据基地址、最佳偏移量和动态预取度生成预取地址及数量。2.根据权利要求1所述的一种动态可重构处理器的数据缓存预取方法,其特征在于,步骤1)的具体实现方法如下:101)当访问来自L2cache的基地址时,来自偏移列表中52个偏移量,将基地址与偏移量之和添加到bloom滤波器中,下面给出了该偏移列表:102)当L2cache再次访问时,如果在bloom滤波器中找到地址,即缓存命中(Cache-hit),那此地址对应的偏移量分数加1;103)经过256...

【专利技术属性】
技术研发人员:杨晨侯佳王逸洲周奇耿莉
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1