[发明专利]一种数据流结构循环依赖的加速系统、加速装置及其加速方法有效
申请号: | 201710439619.6 | 申请日: | 2017-06-12 |
公开(公告)号: | CN107368287B | 公开(公告)日: | 2020-11-13 |
发明(设计)人: | 欧焱;张承龙;叶笑春;张浩;王达 | 申请(专利权)人: | 北京中科睿芯科技有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京科龙寰宇知识产权代理有限责任公司 11139 | 代理人: | 孙皓晨 |
地址: | 100095 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据流 结构 循环 依赖 加速 系统 装置 及其 方法 | ||
本发明公开一种数据流结构循环依赖的加速系统、加速装置及其加速方法,其中所述加速系统包括:循环体节点域,为包含在循环体内部的所有节点;前驱节点,设置在循环体上游节点和所述循环体节点域之间,用于确定流入所述循环体节点域的数据中是否包含上次循环产生的数据,以及确定是否包含新的外部数据;后继节点,设置在所述循环体节点域和循环体下游节点之间,用于确定所述循环体节点域中的数据是否需要流出循环体,以及确定所述循环体节点域中的数据是否需要重新流入循环体。
技术领域
本发明涉及数据流体系结构技术领域,特别涉及数据流体系结构循环依赖的加速系统、加速装置及其方法。
背景技术
随着计算机硬件处理能力的增加,数据流体系结构凭借着高指令并行度\较少的数据存取操作等优势再次得到了广泛关注。在数据流体系结构当中,程序可以转化为数据流图。数据流图是有向图,其中每个节点表示程序中的一段代码,有向线段代表节点间的数据流向。传统的冯诺依曼结构中,指令的之间的数据传递是通过存储器进行交互的,需要上一条指令将数据存入存储器当中后,下一条指令从存储器中将数据读取出来。共享数据的处理单元之间会因为锁机制降低性能,频繁地访问存储器也会带来功耗的提升。数据流体系结构则将数据直接在指令之间进行传递,减少了指令之间传递数据的功耗,并且消除了锁机制造成的性能降低。另外数据流体系结构还能够支持指令级的并行,提高了指令的并行度。
循环体是程序代码中常见的结构,传统的数据流图中对于循环体的操作是将循环体展开,将多次的循环代码展开为单次的确定代码,这样能够解决循环体反复执行代码的问题。但是使用这种方法,若循环的次数过多,会造成展开的代码过大,物理存储单元无法完全装载的问题,从而限制数据流图的规模。
为了能够缓解数据传统的数据流体系结构中循环体数据流图的扩展带来的影响,扩大数据流图的规模,常用的方法是:对于循环理代码中出现了循环体通常使用的方法是使用特殊指令,让循环体的首节点能够不断向循环体内部的下游节点发送数据进行计算,如图1所示,数据流图中不存在环,循环体有x层,其中第一层节点数为n,第二层节点数为m,最后一层节点数为t。第一层节点源源不断产生数据,最后一层节点判断当次循环的数据是否转发出去。x,m,n,t和节点之间的连接线随着程序的具体情况而改变。这些数据可能来自于自我计算(循环次数),也可能来自于访存,之后的循环体的节点不断接受前驱节点的数据并计算,循环体最后的节点判断是否需要将当次循环中的数据转发至循环体外部。这种结构存在着以下两个问题:
1)当出现循环依赖时,如图2所示,上述的方法只能够分块操作,在执行计算完毕得到a[i+8]的数据之后,存储在存储器中,接着又从存储器中取出数据开始下次循环。其中N代表循环次数,a,b,c,d为4个不相干的数组,省略号代表不对四个数组赋值但又与循环相关的表达式,如m[i]=i等。这样就造成了不必要的访存功耗,并且降低了循环的执行效率。
2)若出现如图3所示的情况,a[i]与b[i]不再重复使用,即只使用一次数据。其中N为循环次数,a,b,c为3个不相干的数组,省略号代表不对3个数组赋值但又与循环相关的表达式,如m[i]=i等。采用传统的数据流体系结构的映射,会导致这个表达式需要3份操作数存储空间(需要a、b、c三份存储空间),在操作数的存储空间有限的情况下,限制了数据流图的规模。
基于以上存在的问题,传统的循环体映射方法对硬件的要求巨大,而且并没有从根本上缓解无环数据流图造成的循环依赖问题,即使在数据流图中没有循环依赖,传统的方法也需要大量的数据存储空间。因此本领域技术人员亟需一种在可接受的存储空间的范围内解决循环依赖的技术。
发明内容
本发明针对现有技术的不足,首先提出了一种数据流体系结构循环依赖的加速系统,包括:
循环体节点域,为包含在循环体内部的所有节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科睿芯科技有限公司,未经北京中科睿芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710439619.6/2.html,转载请声明来源钻瓜专利网。