一种分布式数据驱动交点队列型片上通信结构制造技术

技术编号:10708129 阅读:137 留言:0更新日期:2014-12-03 14:23
本发明专利技术公开了一种分布式数据驱动交点队列型片上通信结构,由8╳8交点队列型片上通信结构与实现数据驱动的数据驱动模块组成;数据驱动模块与处理器相连,组成多核处理器单元,并扩展组成处理器阵列;每个处理器在数据驱动模块的驱动工作模式下,互不干扰的并行操作;8╳8交点队列型片上通信结构,具有8个输入端口和8个输出端口,包括三种模块:处理器标签过滤器、“簇”标签过滤器、输出端口。本发明专利技术的方法打破了片上通信网络性能瓶颈-握手闭环,实现了低延迟的路由通信功能;采用全阵列排布的结构,可以全并行工作,并降低了并行编程难度,具有高带宽的性能;有效降低了调度模块调度算法的复杂度,提高了调度效率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种分布式数据驱动交点队列型片上通信结构,由8╳8交点队列型片上通信结构与实现数据驱动的数据驱动模块组成;数据驱动模块与处理器相连,组成多核处理器单元,并扩展组成处理器阵列;每个处理器在数据驱动模块的驱动工作模式下,互不干扰的并行操作;8╳8交点队列型片上通信结构,具有8个输入端口和8个输出端口,包括三种模块:处理器标签过滤器、“簇”标签过滤器、输出端口。本专利技术的方法打破了片上通信网络性能瓶颈-握手闭环,实现了低延迟的路由通信功能;采用全阵列排布的结构,可以全并行工作,并降低了并行编程难度,具有高带宽的性能;有效降低了调度模块调度算法的复杂度,提高了调度效率。【专利说明】一种分布式数据驱动交点队列型片上通信结构
本专利技术涉及一种片上通信结构,属于通信

技术介绍
微体系结构是处理器的躯干,而程序执行模型则是处理器的灵魂,建立有效的程序执行模型对体系结构至关重要。随着多核架构的出现,问题也随之而来,因为所有人都不知道如何在多核平台上有效的进行编程,David Patterson在其文章“The trouble withmulticore”中说到“造芯片的家伙正忙着生产那些大多数程序员不知道如何编程的多核处理器” (IEEE Spectrum table of contents archive, 2010 (47): 28-32)。多核编程主要面临着三大挑战:负载均衡(load balancing)、顺序依赖(sequential dependency)和同步(synchronizat1n)。 针对多核编程问题,研究者们进行着各种编程模型的尝试,目前已经有5种主要并行编程模型。MPI (Message Passing Interface)是MPI论坛发布的一个库,支持C、c++和Fortran语言。0penMP(0pen Multi Processing)是一种用于并行编程的规范,是在串行语言上的扩展,目前可以在C、C++和Fortran语言中使用。Intel IPP(IntegratedPerformance Primitives)是第二代Intel函数库,Intel为每种新的多核处理器都发布一个IPP函数库,专用于多核架构,同时提供了调度优化的函数库,其中涉及的领域有信号处理、音频视频、图像处理与编码等。Intel TBB (Threading Building Blocks), Intel线程构建模块,是一个为创建可靠、可移植的和可扩展的并行程序的C++模板库。MapReducesh是Google研究开发出来的一个针对大规模群组中的海量数据处理的分布式编程模型。 解决并行编程的另一思路是从硬件结构出发。数据驱动计算机(数据流计算机)是麻省理工的丹尼斯(Jack Dennis)在1972年提出的,它背离了传统冯?诺依曼计算机思想,最终目的是实现并行处理以提高运算速度,历经40年的实践检验,该模型已经证明其并行方面的有效性。与传统的冯.诺伊曼计算机不同,数据流计算机不是采用指令驱动操作,而是采用数据(操作数)驱动操作的一种执行方式,即当且仅当某一操作所需的操作数全部到齐后,此操作就立即开始执行。这样,如果有很多个操作均满足上述条件,他们就可以彼此并发执行而不受指令顺序执行的限制,从而充分开拓并行度。数据流是基于“异步性”和“函数性”的一种计算模型。“异步性”指数据流操作一旦收到其操作数后就开始执行;“函数性”指每一位数据流操作均消耗一组输入,产生一组输出而不存在副作用。显然,“异步性”是数据流中开拓并行性的基础;而“函数性”能确保任何两个并发操作可以任意次序的并发执行而不会相互干扰。
技术实现思路
本专利技术的目的是针对多核结构遇到的并行编程、核间通信等问题,本专利技术结合了数据流计算机及片上网络相关技术,将数据驱动机制与片上路由技术结合,提出了集总式数据驱动交点队列型片上通信网络。 为解决上述技术问题,本专利技术提供一种分布式数据驱动交点队列型片上通信结构,其特征是,由8X8交点队列型片上通信结构与实现数据驱动的数据驱动模块组成;通信网络的4个端口分别连接函数驱动模块,另外4个端口用于扩展;数据驱动模块与处理器相连,组成了一个多核处理器单元,称之为“簇”;以“簇”为基本单元进行扩展组成一个处理器阵列;每个处理器在数据驱动模块的驱动工作模式下,互不干扰的并行操作;8X8交点队列型片上通信结构,具有8个输入端口和8个输出端口,包括三种模块:处理器标签过滤器、“簇”标签过滤器、输出端口 ;其基本结构是:输出端口 PortO_oUt、Port2_out> Port4_out、Port6_out对应的每个输出节点上连接着处理器标签过滤器;输出端口 Portl_out、Port3_out、Port5_out、Port7_out对应的每个输出节点上则连接着“簇”标签过滤器,每个输出端口上连接着I个输出模块。 需要传递的数据通过片上通信网络通信;片上通信有两种模式:一种是“簇”内通信,即同“簇”的处理器核之间的数据交换;另一种是“簇”间,即先通过通信接口转发到不同的“簇”,然后再送给相应的处理器核。 数据驱动模块由通信队列、数据包处理模块、参数存储模块、标签更新模块及函数队列组成;通信队列用于缓存来自于片上通信网络器的数据包;数据包处理模块用于控制通信队列接收数据包,并提取数据包中的函数号、数据号与数据;参数存储模块根据数据包的函数号和数据号生成相应的地址并在对应单元中存储数据;标签更新模块若检测到某个函数号的数据号都到达,即该函数的数据完备,则将函数号送至函数队列;函数队列用于缓存函数号,等待处理器提取;执行时,处理器根据函数号从参数存储模块提取与该函数号关联的有效数据。 有效数据输入时,各节点的处理器标签过滤器同时检测输入端口送入的数据,当该数据的处理器标签与自己不匹配时忽略数据,若匹配则进入接受操作,同时发送输出请求信号给相应的输出模块,若收到允许信号则直接把数据送入输出模块,一个时钟周期内,若未收到允许信号则将数据送入交点处缓存队列,等待允许信号到达时再发送;同时,各节点的“簇”标签过滤器检测输入端口送入的数据,当该数据的簇标签与本节点的标签匹配时,接收此数据,若与本节点“簇”标签不匹配,则“簇”标签过滤器各节点分别查找各自的路由表中的标签,若匹配到路由表中的标签,则将该节点数据根据匹配的结果进行转发,并生成发送请求信号,若匹配不到节点路由表中的标签,则直接忽略此数据。 处理器标签过滤器工作过程为:当输入端口送入的数据有效时,数据被寄存在第一级寄存器,同时取出处理器标号与处理器标签寄存器中的值,若匹配则产生匹配信号,当匹配信号有效且数据有效或者FIFO非空时产生仲裁请求信号;匹配成功后,数据进入第二个寄存器,等待响应信号,若在下一个时钟到来之前,响应信号已经来到且FIFO为空,则数据直接通过多路选择器与三态门直接发送至数据总线上;若没有响应信号,则数据进入FIFO队列等待仲裁输出。 输出模块由两部分组成:输出寄存器与仲裁器;输出寄存器用于寄存输出数据;仲裁器采用轮询匹配算法,以优先级编码器实现循环调度器,包括以下步骤:第本文档来自技高网
...

【技术保护点】
一种分布式数据驱动交点队列型片上通信结构,其特征是,由8╳8 交点队列型片上通信结构与实现数据驱动的数据驱动模块组成;通信网络的4个端口分别连接函数驱动模块,另外4个端口用于扩展;数据驱动模块与处理器相连,组成了一个多核处理器单元,称之为“簇”;以“簇”为基本单元进行扩展组成一个处理器阵列;每个处理器在数据驱动模块的驱动工作模式下,互不干扰的并行操作;8╳8 交点队列型片上通信结构,具有8个输入端口和8个输出端口,包括三种模块:处理器标签过滤器、“簇”标签过滤器、输出端口;其基本结构是:输出端口Port0_out、Port2_out、Port4_out、Port6_out对应的每个输出节点上连接着处理器标签过滤器;输出端口Port1_out、Port3_out、Port5_out、Port7_out对应的每个输出节点上则连接着“簇”标签过滤器,每个输出端口上连接着1个输出模块。

【技术特征摘要】

【专利技术属性】
技术研发人员:王镇张磊赵忠惠陈亚宁汪健
申请(专利权)人:中国兵器工业集团第二一四研究所苏州研发中心
类型:发明
国别省市:江苏;32

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

1