[发明专利]一种分布式数据驱动交点队列型片上通信结构在审
申请号: | 201410454893.7 | 申请日: | 2014-09-10 |
公开(公告)号: | CN104182373A | 公开(公告)日: | 2014-12-03 |
发明(设计)人: | 王镇;张磊;赵忠惠;陈亚宁;汪健 | 申请(专利权)人: | 中国兵器工业集团第二一四研究所苏州研发中心 |
主分类号: | G06F13/40 | 分类号: | G06F13/40 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林;耿英 |
地址: | 215163 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据 驱动 交点 队列 型片上 通信 结构 | ||
技术领域
本发明涉及一种片上通信结构,属于通信技术领域。
背景技术
微体系结构是处理器的躯干,而程序执行模型则是处理器的灵魂,建立有效的程序执行模型对体系结构至关重要。随着多核架构的出现,问题也随之而来,因为所有人都不知道如何在多核平台上有效的进行编程,David Patterson在其文章“The trouble with multicore”中说到“造芯片的家伙正忙着生产那些大多数程序员不知道如何编程的多核处理器”(IEEE Spectrum table of contents archive, 2010(47):28-32)。多核编程主要面临着三大挑战:负载均衡(load balancing)、顺序依赖(sequential dependency)和同步(synchronization)。
针对多核编程问题,研究者们进行着各种编程模型的尝试,目前已经有5种主要并行编程模型。MPI(Message Passing Interface)是MPI论坛发布的一个库,支持c、c++和Fortran语言。OpenMP(Open Multi Processing)是一种用于并行编程的规范,是在串行语言上的扩展,目前可以在C、C++和Fortran语言中使用。Intel IPP(Integrated Performance Primitives)是第二代Intel函数库,Intel为每种新的多核处理器都发布一个IPP函数库,专用于多核架构,同时提供了调度优化的函数库,其中涉及的领域有信号处理、音频视频、图像处理与编码等。Intel TBB (Threading Building Blocks),Intel线程构建模块,是一个为创建可靠、可移植的和可扩展的并行程序的C++模板库。MapReducesh是Google研究开发出来的一个针对大规模群组中的海量数据处理的分布式编程模型。
解决并行编程的另一思路是从硬件结构出发。数据驱动计算机(数据流计算机)是麻省理工的丹尼斯(Jack Dennis)在1972年提出的,它背离了传统冯·诺依曼计算机思想,最终目的是实现并行处理以提高运算速度,历经40年的实践检验,该模型已经证明其并行方面的有效性。与传统的冯·诺伊曼计算机不同,数据流计算机不是采用指令驱动操作,而是采用数据(操作数)驱动操作的一种执行方式,即当且仅当某一操作所需的操作数全部到齐后,此操作就立即开始执行。这样,如果有很多个操作均满足上述条件,他们就可以彼此并发执行而不受指令顺序执行的限制,从而充分开拓并行度。数据流是基于“异步性”和“函数性”的一种计算模型。“异步性”指数据流操作一旦收到其操作数后就开始执行;“函数性”指每一位数据流操作均消耗一组输入,产生一组输出而不存在副作用。显然,“异步性”是数据流中开拓并行性的基础;而“函数性”能确保任何两个并发操作可以任意次序的并发执行而不会相互干扰。
发明内容
本发明的目的是针对多核结构遇到的并行编程、核间通信等问题,本发明结合了数据流计算机及片上网络相关技术,将数据驱动机制与片上路由技术结合,提出了集总式数据驱动交点队列型片上通信网络。
为解决上述技术问题,本发明提供一种分布式数据驱动交点队列型片上通信结构,其特征是,由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个输出模块。
需要传递的数据通过片上通信网络通信;片上通信有两种模式:一种是“簇”内通信,即同“簇”的处理器核之间的数据交换;另一种是“簇”间,即先通过通信接口转发到不同的“簇”,然后再送给相应的处理器核。
数据驱动模块由通信队列、数据包处理模块、参数存储模块、标签更新模块及函数队列组成;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国兵器工业集团第二一四研究所苏州研发中心;,未经中国兵器工业集团第二一四研究所苏州研发中心;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410454893.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:服务器和信息浏览方法
- 下一篇:判断资源泄漏、预测资源使用情况的方法及装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置