The embodiment of the specification provides a direct memory access method, device, dedicated computing chip and heterogeneous computing system. In the direct memory access method, DMA control block pointer is read from DMA control block pointer queue. According to the DMA control block pointer, the corresponding DMA control block is determined in the system memory. Determine the total length of DMA control information and input data in the DMA control block. Move DMA control information and input data to device memory according to DMA control block pointer and total length. Calculate the input data and get the output data. Write the output data to the device memory and get the length of the output data. According to the DMA control information and the length of the output data, the output data is moved from the device memory to the DMA control block.
【技术实现步骤摘要】
直接内存存取方法、装置、专用计算芯片及异构计算系统
本说明书一个或多个实施例涉及计算机
,尤其涉及一种直接内存存取方法、装置、专用计算芯片及异构计算系统。
技术介绍
异构计算是指由通用中央处理器(CentralProcessingUnit,CPU)进行数据处理整体流程的控制,当需要进行专用计算时,通用CPU调用专用计算芯片进行计算。具体地,通用CPU需要调用直接内存存取(DirectMemoryAccess,DMA)方法(一种通过专用的硬件模块实现内存数据的搬移方法),将专用计算的输入数据从系统内存传输到设备内存。专用计算芯片完成计算后,再把输出数据传输回系统内存。由此可以看出,在一次异构计算中,需要分别进行两次的DMA传输:输入数据的传输和输出数据的传输。具体地,输入数据的传输过程可以为:1)访问DMA描述符所在队列的指针,以读取输入数据的DMA描述符(用于描述输入数据的地址和长度)。2)访问输入数据的DMA描述符,以读取输入数据的地址和长度。3)根据输入数据的地址和长度,读取输入数据。输出数据的传输过程可以为:1)访问DMA描述符所在队列的指针,以读取输出数据的DMA描述符(用于描述输出数据的地址和长度)。2)访问输出数据的DMA描述符,以读取输出数据的地址和长度;3)根据输出数据的地址和长度,写入输出数据。综上,传统技术中,一次异构计算的过程需要执行六次访问操作。
技术实现思路
本说明书一个或多个实施例描述了一种直接内存存取方法、装置、专用计算芯片及异构计算系统,可以减小DMA
【技术保护点】
1.一种直接内存存取方法,其特征在于,包括:/n从直接内存存取DMA控制块指针队列中读取DMA控制块指针;/n根据所述DMA控制块指针,在系统内存中确定对应的DMA控制块,所述DMA控制块的内容包括DMA控制信息和输入数据;所述系统内存是指用于存储通用中央处理器CPU使用的数据的存储空间;/n确定所述DMA控制信息和所述输入数据的总长度;/n根据所述DMA控制块指针以及所述总长度,将所述DMA控制信息和所述输入数据搬移至设备内存;所述设备内存是指用于存储专用计算芯片的数据的存储空间;/n对所述输入数据进行相应的计算,得到输出数据;/n将所述输出数据写入所述设备内存;/n获取所述输出数据的长度;/n根据所述DMA控制信息以及所述输出数据的长度,将所述输出数据从所述设备内存搬移至所述DMA控制块。/n
【技术特征摘要】
1.一种直接内存存取方法,其特征在于,包括:
从直接内存存取DMA控制块指针队列中读取DMA控制块指针;
根据所述DMA控制块指针,在系统内存中确定对应的DMA控制块,所述DMA控制块的内容包括DMA控制信息和输入数据;所述系统内存是指用于存储通用中央处理器CPU使用的数据的存储空间;
确定所述DMA控制信息和所述输入数据的总长度;
根据所述DMA控制块指针以及所述总长度,将所述DMA控制信息和所述输入数据搬移至设备内存;所述设备内存是指用于存储专用计算芯片的数据的存储空间;
对所述输入数据进行相应的计算,得到输出数据;
将所述输出数据写入所述设备内存;
获取所述输出数据的长度;
根据所述DMA控制信息以及所述输出数据的长度,将所述输出数据从所述设备内存搬移至所述DMA控制块。
2.根据权利要求1所述的方法,其特征在于,所述DMA控制信息包括所述输出数据的偏移地址;
所述根据所述DMA控制信息以及所述输出数据的长度,将所述设备内存的所述输出数据搬移到所述DMA控制块,包括:
根据所述输出数据的偏移地址以及所述输出数据的长度,将所述输出数据从所述设备内存搬移至所述DMA控制块。
3.根据权利要求1所述的方法,其特征在于,所述DMA控制信息具有固定长度;所述确定所述DMA控制信息和所述输入数据的总长度,包括:
从DMA长度寄存器中读取所述输入数据的长度;所述输入数据的长度是由所述通用CPU根据当前所执行的异构计算方法确定的;
根据所述固定长度以及所述输入数据的长度,确定所述总长度。
4.一种专用计算芯片,其特征在于,包括:直接内存存取DMA长度寄存器、DMA控制块指针队列、DMA数据传输模块以及专用计算模块;
所述DMA长度寄存器,用于存储输入数据的长度以及输出数据的长度;
所述DMA控制块指针队列,用于存储多个DMA控制块指针;所述DMA控制块指针指向系统内存中的DMA控制块;所述DMA控制块的内容包括DMA控制信息和输入数据;
DMA数据传输模块,用于根据所述输入数据的长度、所述DMA控制信息的长度以及所述DMA控制块指针,将所述DMA控制信息以及所述输入数据从系统内存搬移至设备内存;还用于根据所述DMA控制...
【专利技术属性】
技术研发人员:廖恬瑜,潘国振,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。