[发明专利]直接内存存取方法、装置、专用计算芯片及异构计算系统有效
| 申请号: | 201810488487.0 | 申请日: | 2018-05-21 |
| 公开(公告)号: | CN110515872B | 公开(公告)日: | 2020-07-31 |
| 发明(设计)人: | 廖恬瑜;潘国振 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F13/28 | 分类号: | G06F13/28 |
| 代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁;周良玉 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 直接 内存 存取 方法 装置 专用 计算 芯片 系统 | ||
本说明书实施例提供一种直接内存存取方法、装置、专用计算芯片及异构计算系统,在直接内存存取方法中,从DMA控制块指针队列中读取DMA控制块指针。根据DMA控制块指针,在系统内存中确定对应的DMA控制块。确定DMA控制块中的DMA控制信息和输入数据的总长度。根据DMA控制块指针以及总长度,将DMA控制信息和输入数据搬移至设备内存。对输入数据进行相应的计算,得到输出数据。将输出数据写入设备内存,并获取输出数据的长度。根据DMA控制信息以及输出数据的长度,将输出数据从设备内存搬移至DMA控制块。
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种直接内存存取方法、装置、专用计算芯片及异构计算系统。
背景技术
异构计算是指由通用中央处理器(Central Processing Unit,CPU)进行数据处理整体流程的控制,当需要进行专用计算时,通用CPU调用专用计算芯片进行计算。具体地,通用CPU需要调用直接内存存取(Direct Memory Access,DMA)方法(一种通过专用的硬件模块实现内存数据的搬移方法),将专用计算的输入数据从系统内存传输到设备内存。专用计算芯片完成计算后,再把输出数据传输回系统内存。由此可以看出,在一次异构计算中,需要分别进行两次的DMA传输:输入数据的传输和输出数据的传输。
具体地,输入数据的传输过程可以为:1)访问DMA描述符所在队列的指针,以读取输入数据的DMA描述符(用于描述输入数据的地址和长度)。2)访问输入数据的DMA描述符,以读取输入数据的地址和长度。3)根据输入数据的地址和长度,读取输入数据。输出数据的传输过程可以为:1)访问DMA描述符所在队列的指针,以读取输出数据的DMA描述符(用于描述输出数据的地址和长度)。2)访问输出数据的DMA描述符,以读取输出数据的地址和长度;3)根据输出数据的地址和长度,写入输出数据。综上,传统技术中,一次异构计算的过程需要执行六次访问操作。
发明内容
本说明书一个或多个实施例描述了一种直接内存存取方法、装置、专用计算芯片及异构计算系统,可以减小DMA传输中的数据访问次数,从而可以提高异构计算的性能。
第一方面,提供了一种直接内存存取方法,包括:
从直接内存存取DMA控制块指针队列中读取DMA控制块指针;
根据所述DMA控制块指针,在系统内存中确定对应的DMA控制块,所述DMA控制块的内容包括DMA控制信息和输入数据;所述系统内存是指用于存储通用中央处理器CPU使用的数据的存储空间;
确定所述DMA控制信息和所述输入数据的总长度;
根据所述DMA控制块指针以及所述总长度,将所述DMA控制信息和所述输入数据搬移至设备内存;所述设备内存是指用于存储专用计算芯片的数据的存储空间;
对所述输入数据进行相应的计算,得到输出数据;
将所述输出数据写入所述设备内存;
获取所述输出数据的长度;
根据所述DMA控制信息以及所述输出数据的长度,将所述输出数据从所述设备内存搬移至所述DMA控制块。
第二方面,提供了一种专用计算芯片,包括:直接内存存取DMA长度寄存器、DMA控制块指针队列、DMA数据传输模块以及专用计算模块;
所述DMA长度寄存器,用于存储输入数据的长度以及输出数据的长度;
所述DMA控制块指针队列,用于存储多个DMA控制块指针;所述DMA控制块指针指向系统内存中的DMA控制块;所述DMA控制块的内容包括DMA控制信息和输入数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810488487.0/2.html,转载请声明来源钻瓜专利网。





