一种复杂SOC的片上通信方法技术

技术编号:18496953 阅读:21 留言:0更新日期:2018-07-21 20:06
本发明专利技术涉及一种复杂SOC的片上通信方法,包括主处理器接收到待求解信号,将待求解信号的处理算法分解为多个openCL调用,并发送到通信与数据管理池中,通信与数据管理池再将接收到的多个openCL调用依次发送到通信环路上,多个openCL调用经过通信环路上的各个信号处理模块进行处理后回到通信与数据管理池,由通信与数据管理池汇总发送到主处理器中。本发明专利技术基于通信和数据管理池的单向环状结构调度,可解决当存在大量信号处理模块时的通信管理,可以使得复杂SoC内的处理模块在进行通信时能够保证传输效率,避免星形和总线形拓扑结构在芯片设计时候的难度,并解决多个处理模块可完成同一个openCL调度时的竞争和冲突问题。

An on-chip communication method for complex SOC

The invention relates to a complex SOC on chip communication method, including the main processor receiving the signal to be solved. The processing algorithm to be solved is decomposed into multiple openCL calls, and sent to the communication and data management pool, and the communication and data management pool send the received multiple openCL calls to the communication loop in turn. Multiple openCL calls are processed through each signal processing module on the communication loop and then returned to the communication and data management pool and sent to the main processor by the communication and data management pool summary. Based on the one-way circular structure scheduling of communication and data management pool, the invention can solve the communication management when there is a large number of signal processing modules, which can make the processing module in the complex SoC guarantee the transmission efficiency, avoid the difficulty of the star and bus topology in the design of the chip, and solve the problem. A processing module can complete the competition and conflict when scheduling the same openCL.

【技术实现步骤摘要】
一种复杂SOC的片上通信方法
本专利技术涉及通信数据处理技术,尤其涉及一种复杂SOC的片上通信方法。
技术介绍
半导体制造工艺的快速发展使得芯片上可以集成更大规模的硬件资源,SoC趋向于由多种类型的CPU、DSP和面向应用的硬件加速引擎的多核异构系统芯片,而对于多处理模块间的通信,现有的星形和总线形拓扑结构面对大量信号处理处理时会存在竞争和冲突问题,并且使得主处理器负荷过大,降低主处理器的任务处理能力,另外,现有的通信结构设计难度高,不利于扩展和开放,因此急需针对SOC通信进行重新设计,使得从基于计算的设计转变为基于通信的设计,并实现可扩展的通信架构。面向异构系统通用的开放式、标准化、统一的调度和的通信架构具有广阔的发展前景。
技术实现思路
本专利技术为了解决上述技术问题,提供了一种复杂SOC的片上通信方法,包括以下步骤:S1、当主处理器接收到待求解信号时,则将待求解信号的处理算法分解为多个openCL调用,发送到通信与数据管理池中;S2、通信与数据管理池接收到多个openCL调用后,依次将多个openCL调用发送到通信环路上;S3、通信环路将openCL调用单向传递到各个信号处理模块上;S4、信号处理模块接收openCL调用并进行处理,当openCL调用处理好后,再发送到通信环路上;S5、处理好的openCL调用随通信环路回到通信与数据管理池中。进一步的,所述复杂SOC的片上通信方法基于一种复杂SOC的片上通信结构,所述复杂SOC的片上通信结构包括主处理器、通信与数据管理池、单向闭合的通信环路和多个信号处理模块,所述通信与数据管理池和多个信号处理模块均挂载在通信环路上,所述主处理器与通信与数据管理池连接。信号处理模块用于运行openCL的具体计算。进一步的,所述步骤S2还包括:存储openCL调用的调用队列。进一步的,所述步骤S1之后还包括:主处理器启动对通信与数据管理池的侦听,当侦听到通信与数据管理池中的调用队列为空时,则确认当前所有openCL调用执行完毕。进一步的,所述openCL调用包括状态标签,所述状态标签包括未执行状态和已完成状态。进一步的,在步骤S2中,所述依次将多个openCL调用发送到通信环路上之前还包括:设置openCL调用的状态标签为未执行状态。进一步的,在步骤S4中,所述的信号处理模块接收openCL调用并进行处理,当openCL调用处理好后,还包括:将openCL调用的状态标签设置为已完成状态。进一步的,所述信号处理模块包括空闲状态和调用状态,所述信号处理模块处理openCL调用时为调用状态,否则为空闲状态,所述通信与数据管理池和多个信号处理模块为通信环路上的节点;当信号处理模块处于空闲状态时,监控通信环路,当未执行状态的openCL调用经过时,截取该openCL调用的信息进行处理,并设置当前信号处理模块为调用状态,当信号处理模块处于调用状态时,将直接将通信环路上经过的openCL调用传递到下一个节点。进一步的,通信与数据管理池读取通信环路返回的包含openCL调用的状态标签信息,并将此信息更新到调用队列中的对应openCL调用中。进一步的,所述步骤S5之后还包括:当通信与数据管理池中的调用队列为空时,则确认当前所有openCL调用执行完毕,通信与数据管理池汇总各个信号处理模块处理的结果,然后与主处理器进行通信。本专利技术具有以下有益效果:1、本专利技术提供的复杂SoC的通信方法可实现芯片内多处理模块间通信,简化了通信的复杂度,基于通信和数据管理池的单向环状结构调度,可解决当存在大量信号处理模块时的通信管理,可以使得复杂SoC内的处理模块在进行通信时能够保证传输效率,避免星形和总线形拓扑结构在芯片设计时候的难度。2、本专利技术提供的复杂SoC的通信方法通过基于通信与数据管理池将openCL调用依次通过信号处理模块的方法,可解决多个处理模块可完成同一个openCL调度时的竞争和冲突问题,简化了仲裁机制。附图说明图1是本专利技术具有5个信号处理模块的复杂SOC的片上通信结构示意图;图2是一个openCL调用在单向通信环路中被执行的流程图;图3是一个openCL调用执行完成后在单向通信环路上的运行流程图。具体实施方式下面结合附图对本专利技术的较佳实施例进行详细阐述,以使本专利技术的优点和特征更易被本领域技术人员理解,从而对本专利技术的保护范围作出更为清楚的界定。实施例1:本实施例中的一种复杂SOC的片上通信方法包括以下步骤:S1、当主处理器接收到待求解信号时,则将将待求解信号的处理算法分解为多个openCL调用,发送到通信与数据管理池中;S2、通信与数据管理池接收到多个openCL调用后,依次将多个openCL调用发送到通信环路上;S3、通信环路将openCL调用单向传递到各个信号处理模块上;S4、信号处理模块接收openCL调用并进行处理,当openCL调用处理好后,再发送到通信环路上;S5、处理好的openCL调用随通信环路回到通信与数据管理池中。实施时,主处理器将一项信号处理工作分解为多个openCL的调用,所有的调用被主处理器传送给通信与数据管理池存储的openCL调用队列,通信与数据管理池将openCL调用分发给信号处理模块,信号处理模块负责运行openCL的具体计算,信号处理模块可以由标准化的openCL接口调用。本实施例主要目的在于为具有多个处理模块的多核异构处理芯片提供一种基于标准化的openCL调用封装,并调用处理模块进行处理的片上通信方法。复杂SoC被设计为由一个主处理器、一个通信和数据管理池、一个单向闭合通信环路和多个信号处理模型组成。基于通信和数据管理池的单向环状结构调度,可解决当存在大量信号处理模块时的通信管理,可以使得复杂SoC内的处理模块在进行通信时能够保证传输效率,避免星形和总线形拓扑结构在芯片设计时候的难度,基于通信与数据管理池和处理模块共同维护openCL调度的状态标签方法,可解决多个处理模块可完成同一个openCL调度时的竞争和冲突问题。实施例2:本实施例中的一种复杂SOC的片上通信方法包括以下步骤:SA1、当主处理器接收到待求解信号时,则将待求解信号的处理算法分解为多个openCL调用,发送到通信与数据管理池中;SA2、主处理器启动对通信与数据管理池的侦听,当侦听到通信与数据管理池中的调用队列为空时,则确认当前所有openCL调用执行完毕;SA3、通信与数据管理池接收到多个openCL调用后,存储openCL调用的调用队列,并设置openCL调用的状态标签为未执行状态,然后依次将多个openCL调用发送到通信环路上;openCL调用包括状态标签,所述状态标签包括未执行状态和已完成状态;SA4、通信环路将openCL调用单向传递到各个信号处理模块上;SA5信号处理模块接收openCL调用并进行处理,当openCL调用处理好后,将openCL调用的状态标签设置为已完成状态,再发送到通信环路上;SA6、处理好的openCL调用随通信环路回到通信与数据管理池中,通信与数据管理池读取通信环路返回的包含openCL调用的状态标签信息,并将此信息更新到调用队列中的对应openCL调用中。实施例3:本实施例中的一种复杂SOC的片上通信方法包括以下步骤:SB1、当主处理器接收到待求解本文档来自技高网...

【技术保护点】
1.一种复杂SOC的片上通信方法,其特征在于,包括以下步骤:S1、当主处理器接收到待求解信号时,则将待求解信号的处理算法分解为多个openCL调用,发送到通信与数据管理池中;S2、通信与数据管理池接收到多个openCL调用后,依次将多个openCL调用发送到通信环路上;S3、通信环路将openCL调用单向传递到各个信号处理模块上;S4、信号处理模块接收openCL调用并进行处理,当openCL调用处理好后,再发送到通信环路上;S5、处理好的openCL调用随通信环路回到通信与数据管理池中。

【技术特征摘要】
1.一种复杂SOC的片上通信方法,其特征在于,包括以下步骤:S1、当主处理器接收到待求解信号时,则将待求解信号的处理算法分解为多个openCL调用,发送到通信与数据管理池中;S2、通信与数据管理池接收到多个openCL调用后,依次将多个openCL调用发送到通信环路上;S3、通信环路将openCL调用单向传递到各个信号处理模块上;S4、信号处理模块接收openCL调用并进行处理,当openCL调用处理好后,再发送到通信环路上;S5、处理好的openCL调用随通信环路回到通信与数据管理池中。2.根据权利要求1所述的复杂SOC的片上通信方法,其特征在于,所述复杂SOC的片上通信方法基于一种复杂SOC的片上通信结构,所述复杂SOC的片上通信结构包括主处理器、通信与数据管理池、单向闭合的通信环路和多个信号处理模块,所述通信与数据管理池和多个信号处理模块均挂载在通信环路上,所述主处理器与通信与数据管理池连接。3.根据权利要求1所述的复杂SOC的片上通信方法,其特征在于,所述步骤S2还包括:存储openCL调用的调用队列。4.根据权利要求3所述的复杂SOC的片上通信方法,其特征在于,所述步骤S1之后还包括:主处理器启动对通信与数据管理池的侦听,当侦听到通信与数据管理池中的调用队列为空时,则确认当前所有openCL调用执行完毕。5.根据权利要求3所述的复杂SOC的片上通信方法,其特征在于,所述openCL调用包括状态标签,所述状态标签包括未执行状态和已完成状态。6....

【专利技术属性】
技术研发人员:刘建王云邢彦文夏丽敏李霄陈杰钟晨
申请(专利权)人:深圳市德赛微电子技术有限公司
类型:发明
国别省市:广东,44

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

1