一种用于片上多核通信的全硬件数据驱动装置制造方法及图纸

技术编号:17007317 阅读:35 留言:0更新日期:2018-01-11 03:44
本发明专利技术公开了一种用于片上多核通信的全硬件数据驱动装置,设置在系统总线与处理器之间,包括数据包接收模块、数据包发送模块、数据完备性检查模块、关系生成器和寄存器组。采用数据驱动装置驱动处理器的执行,避免软件实现的时序开销。数据驱动装置采用全硬件实现,实现数据驱动的加速,提高驱动效率。该装置与处理器的体系结构,尤其是指令集无关。采用此驱动装置,使得系统能够支持函数语言风格编程,便于发挥出多处理器的效能,也便于编写比较复杂的控制算法程序,同时无数据依赖关系的函数可全并行,支持函数级的并发及乱序执行。

【技术实现步骤摘要】
一种用于片上多核通信的全硬件数据驱动装置
本专利技术属于片上多核通信
,尤其涉及一种用于片上多核通信的全硬件数据驱动装置。
技术介绍
多核时代,系统处理器核间的数据交换机制成为了影响性能的关键,一方面高性能系统中会存在需进行大量运算的处理核以提供强大的解算能力,另一方面,典型应用的数据通信需求非常大,每个处理器的运算结果都有可能与其他处理器进行交换。随着技术的发展,处理器核间可以提供与计算能力相匹配的高带宽,但依然存在两个主要问题:(1)程序控制开销复杂。通信结构需引入复杂的程序控制开销,降低通信效率;(2)使用麻烦。通信程序需程序员专门优化,人工参与程度较高,使用烦琐,不利于单核程序向多核程序的移植和调试。软件系统如何有效利用其架构优势进行数据的快速发送与接收已然成为研究热点。申请号为201510210877.8的专利技术专利公开了一种用于多核DSP间的片上通信方法及数据装置,其为每个DSP内核配置了独立的数据通信装置,各DSP内核通过数据通信装置发送事务至目的DSP核,通过数据通信装置接收与发送数据,一定程度上解放了处理器,但是其需提供复杂的全局事务管理单元,且数据装置接收发送都是被动式的,需要处理器进行复杂的管理控制,一定程度上降低了通信效率。申请号为201110164421.4的专利技术专利公开了一种基于FPGA多核系统的核间通信方法,其提供了两种通信结构方式,相邻处理器核间通过点对点的通信方式,非相邻核间通过共享缓冲、邮箱及互斥量的方式通信,此结构虽可根据需求提供合适的通信结构,但同样需要软件配合,有一定的程序控制开销。解决程序控制开销及使用便利性的另一思路是从硬件结构出发。数据驱动计算机(数据流计算机)是麻省理工的丹尼斯(JackDennis)在1972年提出的,它背离了传统冯诺依曼计算机思想,最终目的是实现并行处理以提高运算速度,历经40年的实践检验,该模型已经证明其并行方面的有效性。与传统的冯·诺伊曼计算机不同,数据流计算机不是采用指令驱动操作,而是采用数据(操作数)驱动操作的一种执行方式,即当且仅当某一操作所需的操作数全部到齐后,此操作就立即开始执行。这样,如果有很多个操作均满足上述条件,他们就可以彼此并发执行而不受指令顺序执行的限制,从而充分开拓并行度。数据流是基于“异步性”和“函数性”的一种计算模型。“异步性”指数据流操作一旦收到其操作数后就开始执行;“函数性”指每一位数据流操作均消耗一组输入,产生一组输出而不存在副作用。显然,“异步性”是数据流中开拓并行性的基础;而“函数性”能确保任何两个并发操作可以任意次序的并发执行而不会相互干扰。但是现有商业多核处理器一般没有类似部件,通信系统和存储系统是各自独立的设计。研究型的通用数据驱动处理器则只带有指令级的数据完备性检测模块,粒度过细无法与片内通信系统互动。
技术实现思路
本专利技术所要解决的技术问题是克服现有技术中的缺陷,在现有数据驱动计算机软硬件研究的成果上,结合多核微控制器发展的趋势,提出一种与片内通信网络配套的全硬件数据驱动装置。这种结构的硬件按照混合(Hybrid)数据流计算机组织,以经典处理器核为处理单元,使得用户可以采用函数语言(FunctionalProgrammingLanguage)风格进行编程。通过利用函数的执行时间隐藏核间通信时延;利用函数之间的时空分布关系,隐藏外部存储器访问时延,达到以合理功耗提升性能的目的。为解决上述技术问题,本专利技术提供一种用于片上多核通信的全硬件数据驱动装置,其特征是,设置在系统总线与处理器之间,包括数据包接收模块、数据包发送模块、数据完备性检查模块、关系生成器和寄存器组;数据包接收模块从系统总线接收属于自己的数据,同时数据包接收模块中的关系生成器利用函数标号和参数序号计算该数据在数据完备性检查模块中的参数存储器中地址,将有效数据存入该地址;数据完备性检查模块中的标识生成器利用写操作信号建立该数据的有效标志;如果一个函数所需的数据都被标记为有效,则该函数标号进入数据完备性检查模块中的函数队列,当函数队列非空时,经过中断请求生成请求信号请求处理器的执行;处理器在接收到请求信号后从函数队列取出函数标号,并计算出相关程序地址入口,实现函数计算;计算过程中从参数存储器读取相关数据,标识生成器利用这个读操作信号来将该数据的有效位清零,等待下一次触发;函数计算完成后将结果发送给后继函数。处理器的执行步骤为:将结果写入数据包发送模块的结果寄存器,然后从相应地址空间取出数据完备性检查模块关系存储器中的后继函数信息;旁路控制模块根据相关信息判断该数据是本地数据还是外部数据;本地数据则经过数据发送旁路送到数据包接收模块,外部数据则封包后发送给后继的处理器处理。数据完备性检查模块中,函数队列是FIFO,参数存储器和关系存储器是普通SRAM存储器,标识存储器是1位存储器,标识存储器在初始化时将未使用的存储单元对应的标记位置1,使用的标记位置清零。参数与关系存储器通过关系生成器依据函数标号与参数标号划分为不同的槽,每个槽存储空间用来存储参数,参数的个数通过关系生成器控制。处理器执行完函数后,利用函数标签在关系存储器寻找后继函数的信息,关系存储器利用“end”标记符来表征关系的结束。函数标号是处理器核内部相关代码段的唯一标号,用来关联代码段、函数的参数及后继函数之间的关系。参数序号将具体的数据与函数标号绑定。本专利技术所达到的有益效果:数据驱动的核心是将数据与相关操作建立联系。通常情况下会采用软件编程来实现,以至于会降低计算性能。本专利技术采用独立的全硬件数据驱动装置,引入了函数标号,参数序号和“关系”三个概念。函数标号是本处理器核内部相关代码段的唯一标号,用来关联代码段、参数及后继函数之间的关系。参数序号则将具体的数据与函数标号绑定。“关系”则用来表征该函数与后继函数的数据关联。对应的硬件模块为数据完备性检测模块和关系存储器。本专利技术的优点在于:(1)采用数据驱动装置驱动处理器的执行,避免软件实现的时序开销。(2)数据驱动装置采用全硬件实现,实现数据驱动的加速,提高驱动效率(3)该装置与处理器的体系结构,尤其是指令集无关。处理器可以采用超标量处理器,也可以采用最简单的无流水线处理器;(4)采用此装置,使得系统能够支持函数语言风格编程,便于发挥出多处理器的效能,也便于编写比较复杂的控制算法程序,同时无数据依赖关系的函数可全并行,支持函数级的并发及乱序执行。附图说明图1是数据驱动装置在系统的位置;图2是数据驱动装置结构图;图3是数据完备性检测模块;图4是接收操作流水线划分;图5是发送操作流水线划分。具体实施方式下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。<一>、装置结构如图1和图2,全硬件数据驱动装置在系统应用中处于总线与处理器之间的一层,包括数据包接收模块、数据包发送模块、数据完备性检查模块、关系生成器和寄存器组,实现数据包的接受、数据包的发送、数据完备性检测以及驱动CPU的执行功能。接受过程实现数据包的解包,数据完备性检测以及驱动CPU的执行;发送过程实现CPU发送数据的封包及发送。发送过程中会实现旁路功能。工作流程如下:首本文档来自技高网
...
一种用于片上多核通信的全硬件数据驱动装置

【技术保护点】
一种用于片上多核通信的全硬件数据驱动装置,其特征是,设置在系统总线与处理器之间,包括数据包接收模块、数据包发送模块、数据完备性检查模块、关系生成器和寄存器组;数据包接收模块从系统总线接收属于自己的数据,同时数据包接收模块中的关系生成器利用函数标号和参数序号计算该数据在数据完备性检查模块中的参数存储器中地址,将有效数据存入该地址;数据完备性检查模块中的标识生成器利用写操作信号建立该数据的有效标志;如果一个函数所需的数据都被标记为有效,则该函数标号进入数据完备性检查模块中的函数队列,当函数队列非空时,经过中断请求生成请求信号请求处理器的执行;处理器在接收到请求信号后从函数队列取出函数标号,并计算出相关程序地址入口,实现函数计算;计算过程中从参数存储器读取相关数据,标识生成器利用这个读操作信号来将该数据的有效位清零,等待下一次触发;函数计算完成后将结果发送给后继函数。

【技术特征摘要】
1.一种用于片上多核通信的全硬件数据驱动装置,其特征是,设置在系统总线与处理器之间,包括数据包接收模块、数据包发送模块、数据完备性检查模块、关系生成器和寄存器组;数据包接收模块从系统总线接收属于自己的数据,同时数据包接收模块中的关系生成器利用函数标号和参数序号计算该数据在数据完备性检查模块中的参数存储器中地址,将有效数据存入该地址;数据完备性检查模块中的标识生成器利用写操作信号建立该数据的有效标志;如果一个函数所需的数据都被标记为有效,则该函数标号进入数据完备性检查模块中的函数队列,当函数队列非空时,经过中断请求生成请求信号请求处理器的执行;处理器在接收到请求信号后从函数队列取出函数标号,并计算出相关程序地址入口,实现函数计算;计算过程中从参数存储器读取相关数据,标识生成器利用这个读操作信号来将该数据的有效位清零,等待下一次触发;函数计算完成后将结果发送给后继函数。2.根据权利要求1所述的一种用于片上多核通信的全硬件数据驱动装置,其特征是,处理器的执行步骤为:将结果写入数据包发送模块的结果寄存器,然后从相应地址空间取出数据完备性检查模块关系存储器中的后继函数信息;旁路控制模块根据相关信息判断该数据是本地数据还是外部...

【专利技术属性】
技术研发人员:王镇张磊汪健
申请(专利权)人:北方电子研究院安徽有限公司
类型:发明
国别省市:安徽,34

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

1