System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于乱迭代序可重构处理器的数据处理方法技术_技高网
当前位置: 首页 > 专利查询>重庆大学专利>正文

一种基于乱迭代序可重构处理器的数据处理方法技术

技术编号:40966868 阅读:4 留言:0更新日期:2024-04-18 20:47
本发明专利技术提出一种基于乱迭代序可重构处理器的数据处理方法,包括,构建基于乱序迭代执行的动态可重构处理器;将应用伪代码中的内存访问算子L<subgt;0</subgt;、L<subgt;1</subgt;、L<subgt;2</subgt;进行标注;其中,L<subgt;0</subgt;表示加载算子A[i][j],L<subgt;1</subgt;表示加载算子A[k][i],L<subgt;2</subgt;表示加载算子A[k][j];L<subgt;0</subgt;、L<subgt;1</subgt;、L<subgt;2</subgt;三个算子串行执行,并且分别布局在所述动态可重构处理器的访存单元LSU<subgt;0</subgt;、LSU<subgt;1</subgt;、LSU<subgt;2</subgt;上;基于所述动态可重构处理器执行乱序迭代,其中所述乱序迭代以流水线方式工作,包括4个阶段:取迭代、发射、执行和写回。通过本发明专利技术提出的方法,可从源头上解决非模板计算无法内存划分的问题,从而提升可重构处理器的并行数据访存能力。

【技术实现步骤摘要】

本专利技术属于动态可重构处理器领域。


技术介绍

1、近年来,随着摩尔定律的消退,通过扩展集成规模来提高通用处理器(generalpurpose processor,gpp)的性能是不可持续的,但现代应用仍然对高性能和高能效平台提出了很高的要求。专用集成电路(application specific integrated circuit,asic)能够为特定应用实现最大性能和效率,但缺乏灵活性。理想情况下,本专利技术希望架构能够接近asic的效率,同时保持像gpp一样的灵活性。粗粒度可重构阵列(coarse-grainedreconfigurable array,cgra)是实现这一目标的有前途的解决方案。cgra具有数十个可动态配置和连接的分布式处理单元(processing element,pe),可提供高吞吐量和灵活的数据路径,从而为各种应用提供高能效解决方案。

2、为了挖掘cgra的潜力,模调度被广泛用于使循环以流水线方式执行,其中相邻循环迭代之间的启动间隔(initiation interval,ii)是主要关注点。ii越小表示性能越高,但同时也需要并行数据访问才能为多个pe提供数据。而且,cgra的片上存储器通常组织在多个存储块中,用于并行访问。在涉及多个引用的数据数组中,内存划分通常用于将原始数据数组划分到多个内存块中进行存储。然而,内存划分仅限于具有固定访问模式的规则内存引用,这通常出现在模板计算中。对于非模板计算由于它包含具有可变距离的数组引用,因此访问模式将随着迭代变量而变化。因此,在非模板计算中,它很难对不规则的数组引用进行静态的内存划分,从而导致访问冲突和性能损失。

3、为了避免在非模板计算中出现访问冲突,最简单的方法是将ii增大到这些数组引用的数量,并将这些不规则数组引用静态地安排分开,以便在控制步骤中只有一个数组引用。这种权宜之计可以在静态调度cgra上轻松实现,只需编译器进行更改,但它将导致显着的性能损失。另一种方法是按算子粒度动态调度这些数组引用。通过对动态调度cgra进行积极的流水线处理,将动态检测和解决访问冲突,从而提高性能。理想情况下,没有冲突,并且实现了1的ii。但是,在大多数情况下,检测到冲突,并且流水线必须停止。因此,动态调度cgra可以在一定程度上提高非模板程序的性能,但由于每个pe都需要复杂的调度器,因此它具有显着的硬件开销。在fpga的高级综合(high-level synthesis,hls)中,也有一些工作通过遍历整个迭代域,将非模板循环转换为图,然后从图层面利用数据并行性,从而产生了相当大的数据并行性;然而,这些工作不仅需要大量的编译工作,而且还会产生昂贵的硬件开销。因此,利用非模板计算的迭代内数据并行性(例如静态cgra和动态cgra)是很困难的,而利用图级数据并行性(例如基于图的内存划分)的成本也很高。利用迭代间级别的数据并行性似乎是一个不错的选择,但它很难从传统的静态编译技术(如循环转换)中获得收益。


技术实现思路

1、本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。

2、为此,本专利技术的目的在于提出一种基于乱迭代序可重构处理器的数据处理方法,用于提升可重构处理器的并行数据访存能力。

3、为达上述目的,本专利技术第一方面实施例提出了一种基于乱迭代序可重构处理器的数据处理方法,包括:

4、构建基于乱序迭代执行的动态可重构处理器;

5、将应用伪代码中的内存访问算子l0、l1、l2进行标注;其中,l0表示加载算子a[i][j],l1表示加载算子a[k][i],l2表示加载算子a[k][j];l0、l1、l2三个算子串行执行,并且分别布局在所述动态可重构处理器的访存单元lsu0、lsu1、lsu2上;

6、基于所述动态可重构处理器执行乱序迭代,其中所述乱序迭代以流水线方式工作,包括4个阶段:取迭代、发射、执行和写回。

7、另外,根据本专利技术上述实施例的一种基于乱迭代序可重构处理器的数据处理方法还可以具有以下附加的技术特征:

8、进一步地,在本专利技术的一个实施例中,所述构建基于乱序迭代执行的动态可重构处理器,包括:

9、构建迭代生成引擎、迭代重排序引擎和可重构计算引擎;其中,

10、所述迭代生成引擎迭代变量生成器和n个地址生成器组成,其中n表示支持的最大同时内存访问算子数,通过配置累加器的步幅、初始值和结束值,所述地址生成器可以为各种内存访问算子生成地址;

11、所述迭代重排序引擎包括迭代缓存、计划内存访问表、迭代选择单元和重新排序缓存;

12、所述可重构计算引擎包括多组高速暂存存储器、具有网状互连的pe阵列。

13、进一步地,在本专利技术的一个实施例中,还包括通过重新排序缓存rob消除乱序迭代执行产生的读后写war冒险和写后写waw冒险,通过迭代选择单元isu动态检测访问冲突和写后读raw冒险,其中,

14、所述rob包括深度为m的可随机访问fifo、解复用器、m×n-1交叉开关和n-1个raw重用缓冲,其中m和n表示ib大小和支持的最大内存引用数,所述可随机访问fifo的每个元素包括三段:存储地址s、结果就绪标志r和结果数据d;

15、所述isu包含m个访问冲突检测模块acdm、m个raw检测模块ramdm和n个缓冲队列。

16、进一步地,在本专利技术的一个实施例中,所述通过重新排序缓存rob消除乱序迭代执行产生的读后写war冒险和写后写waw冒险,包括:

17、迭代执行时,如果rafifo未满,则从irg向ib获取迭代;同时,包含迭代存储地址的新元素被发送到rafifo,其中就绪标志设置为false;

18、一旦rce完成迭代的执行,则通过随机访问将数据写回rob中相应元素的数据段,并将就绪标志设置为true;如果rafifo前面的元素的就绪标志为true,则相应的数据将被写回到spm的存储块中。

19、进一步地,在本专利技术的一个实施例中,所述通过迭代选择单元isu动态检测访问冲突和写后读raw冒险,包括:

20、在acdm中,通过将ib中迭代的所有内存加载算子的地址与pmat中最后发出的迭代的地址进行比较,用于检测到读后读rar数据重用;一旦rar存在,相应的内存加载算子将不会造成访问冲突;

21、通过将ib中迭代的前n-1内存加载地址与pmat保存的流水线中执行的内存加载地址进行比较,中间有(n-1)(n-2)/2个比较器,用于检测到来自流水线执行的访问冲突;

22、通过将ib中迭代的前n-1内存加载地址与pmat的有序的内存存储地址进行比较,用于检测到有序存储的访问冲突;如果来自ib的迭代中的某个加载地址存在访问冲突,则不会考虑该迭代的问题;

23、除了访问冲突检测外,每次迭代还会发送到rawdm以检测raw冒险,rawdm将rob的rafifo中的就绪标志和存储地址作为输入,并确定当本文档来自技高网...

【技术保护点】

1.一种基于乱迭代序可重构处理器的数据处理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述构建基于乱序迭代执行的动态可重构处理器,包括:

3.根据权利要求2所述的方法,其特征在于,还包括通过重新排序缓存ROB消除乱序迭代执行产生的读后写WAR冒险和写后写WAW冒险,通过迭代选择单元ISU动态检测访问冲突和写后读RAW冒险,其中,

4.根据权利要求3所述的方法,其特征在于,所述通过重新排序缓存ROB消除乱序迭代执行产生的读后写WAR冒险和写后写WAW冒险,包括:

5.根据权利要求3所述的方法,其特征在于,所述通过迭代选择单元ISU动态检测访问冲突和写后读RAW冒险,包括:

6.根据权利要求1所述的方法,其特征在于,所述基于所述动态可重构处理器执行乱序迭代,包括:

7.根据权利要求1所述的方法,其特征在于,所述基于所述动态可重构处理器执行乱序迭代,包括:

8.一种基于乱迭代序可重构处理器的数据处理装置,其特征在于,包括以下模块:

【技术特征摘要】

1.一种基于乱迭代序可重构处理器的数据处理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述构建基于乱序迭代执行的动态可重构处理器,包括:

3.根据权利要求2所述的方法,其特征在于,还包括通过重新排序缓存rob消除乱序迭代执行产生的读后写war冒险和写后写waw冒险,通过迭代选择单元isu动态检测访问冲突和写后读raw冒险,其中,

4.根据权利要求3所述的方法,其特征在于,所述通过重新排序缓存rob消除乱序...

【专利技术属性】
技术研发人员:刘大江梁跃
申请(专利权)人:重庆大学
类型:发明
国别省市:

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

1