[发明专利]专用计算芯片、DMA数据传输系统及方法有效

专利信息
申请号: 202011316625.0 申请日: 2020-11-20
公开(公告)号: CN112416826B 公开(公告)日: 2023-09-22
发明(设计)人: 武永红 申请(专利权)人: 成都海光集成电路设计有限公司
主分类号: G06F13/28 分类号: G06F13/28;G06F9/50;G06F15/78
代理公司: 北京兰亭信通知识产权代理有限公司 11667 代理人: 孙峰芳
地址: 610041 四川省成都市高新区天府大道*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 专用 计算 芯片 dma 数据传输 系统 方法
【权利要求书】:

1.一种专用计算芯片,其特征在于,包括:

至少两个直接内存存取DMA引擎和负载均衡控制器,各所述DMA引擎用于执行DMA队列环形缓冲区中的命令包,实现系统内存和设备内存之间的数据拷贝,所述负载均衡控制器用于根据DMA队列环形缓冲区中命令包的个数和命令包传输的数据量大小,并根据特殊命令的特征来分配权重,计算各所述DMA引擎的负载值,所述负载值反映各所述DMA引擎的忙闲状态,所述特殊命令包括用于实现模块间的同步的命令、用于轮询系统寄存器总线管理器SRBM寄存器空间的命令和用于轮询内存空间的命令中的至少一个。

2.根据权利要求1所述的专用计算芯片,其特征在于,所述专用计算芯片还包括:

计算单元,用于对输入的数据进行计算,并得到输出数据。

3.根据权利要求1所述的专用计算芯片,其特征在于,所述专用计算芯片为图像处理器GPU芯片。

4.一种DMA数据传输系统,其特征在于,包括:如权利要求1至3任一项所述的专用计算芯片,以及通用CPU芯片,所述通用CPU芯片包括DMA传输控制装置,所述DMA传输控制装置进一步包括:

DMA引擎确定模块,用于读取所述负载均衡控制器计算得到的各DMA引擎的负载值,确定负载值最小的DMA引擎;

队列创建模块,用于在系统内存上分配环形缓冲区、分配存放读指针值的地址空间以及分配存放写指针值的地址空间,然后在DMA引擎上创建DMA队列,并将环形缓冲区的地址和大小、存放读指针值的地址以及存放写指针值的地址写入DMA引擎的DMA队列相关寄存器,其中所述DMA引擎为负载值最小的DMA引擎;

写模块,用于向DMA队列环形缓冲区写入命令包;

相对地,所述专用计算芯片上的所述负载值最小的DMA引擎用于执行DMA队列环形缓冲区中的命令包,实现系统内存与设备内存之间的数据拷贝。

5.根据权利要求4所述的DMA数据传输系统,其特征在于,所述写模块用于读所述DMA队列的读指针,判断所述DMA队列环形缓冲区是否不为满,若所述DMA队列环形缓冲区不满,则向所述DMA队列环形缓冲区中写入命令包,并更新所述DMA队列的写指针;若所述DMA队列环形缓冲区满,则通知负载值最小的DMA引擎去读DMA队列环形缓冲区中存放的命令包、执行命令包及更新所述DMA队列的读指针,并在所述负载值最小的DMA引擎执行命令包的过程中轮询DMA队列的读指针,当所述DMA队列环形缓冲区不满时,继续向所述DMA队列环形缓冲区写入命令包,并更新所述DMA队列的写指针;

相对地,所述专用计算芯片上的所述负载值最小的DMA引擎用于查询所述DMA队列的写指针,并比较读指针,判断所述DMA队列环形缓冲区是否为空,若所述DMA队列环形缓冲区不空,则从所述DMA队列环形缓冲区读取命令包,并执行命令包,实现系统内存与设备内存之间的数据拷贝;若所述DMA队列环形缓冲区空,则DMA引擎停止执行命令包,处于空闲状态。

6.根据权利要求4所述的DMA数据传输系统,其特征在于,还包括:

系统内存,用于存储所述通用CPU芯片使用的数据;

设备内存,用于存储所述专用计算芯片使用的数据。

7.一种DMA数据传输方法,其特征在于,采用如权利要求4所述的DMA数据传输系统来实现,所述方法包括:

DMA引擎确定模块读取所述负载均衡控制器计算得到的各DMA引擎的负载值,确定负载值最小的DMA引擎;

队列创建模块在系统内存上分配环形缓冲区、分配存放读指针值的地址空间以及分配存放写指针值的地址空间,然后在DMA引擎上创建DMA队列,并将环形缓冲区的地址和大小、存放读指针值的地址以及存放写指针值的地址写入DMA引擎的DMA队列相关寄存器,其中所述DMA引擎为负载值最小的DMA引擎;

写模块向所述DMA队列环形缓冲区写入命令包,以及所述专用计算芯片上的所述负载值最小的DMA引擎执行DMA队列环形缓冲区中的命令包,实现系统内存与设备内存之间的数据拷贝。

8.根据权利要求7所述的DMA数据传输方法,其特征在于,其中写模块向所述DMA队列环形缓冲区写入命令包,以及所述专用计算芯片上的所述负载值最小的DMA引擎执行DMA队列环形缓冲区中的命令包,实现系统内存与设备内存之间的数据拷贝包括:

所述写模块读所述DMA队列的读指针,判断所述DMA队列环形缓冲区是否不为满,若所述DMA队列环形缓冲区不满,则向所述DMA队列环形缓冲区中写入命令包,并更新所述DMA队列的写指针;若所述DMA队列环形缓冲区满,则通知负载值最小的DMA引擎去读DMA队列环形缓冲区中存放的命令包、执行命令包及更新所述DMA队列的读指针,并在所述负载值最小的DMA引擎执行命令包的过程中轮询DMA队列的读指针,当所述DMA队列环形缓冲区不满时,继续向所述DMA队列环形缓冲区写入命令包,并更新所述DMA队列的写指针;

相对地,所述专用计算芯片上的所述负载值最小的DMA引擎查询所述DMA队列的写指针,并比较读指针,判断所述DMA队列环形缓冲区是否为空,若所述DMA队列环形缓冲区不空,则从所述DMA队列环形缓冲区读取命令包,并执行命令包,实现系统内存与设备内存之间的数据拷贝;若所述DMA队列环形缓冲区空,则DMA引擎停止执行命令包,处于空闲状态。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都海光集成电路设计有限公司,未经成都海光集成电路设计有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011316625.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top