[发明专利]处理器系统及其多通道内存拷贝DMA加速器和方法有效
申请号: | 201110425530.7 | 申请日: | 2011-12-16 |
公开(公告)号: | CN102567256A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 苏文;苏孟豪 | 申请(专利权)人: | 龙芯中科技术有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京远大卓悦知识产权代理事务所(普通合伙) 11369 | 代理人: | 史霞 |
地址: | 100190 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 系统 及其 通道 内存 拷贝 dma 加速器 方法 | ||
技术领域
本发明涉及计算机硬件体系结构和处理器设计技术领域,特别涉及一种支持异步访存、内存读写并行的基于处理器内嵌多通道直接内存访问(Direct Memory Access,DMA)的处理器系统及其多通道内存拷贝DMA加速器和方法。
背景技术
在现有计算机系统中,内存拷贝(Memory Copy)是一种在内存不同位置之间传输数据的重要操作。其广泛存在于操作系统和各类应用程序当中,相关研究发现内存拷贝操作在TCP/IP协议处理中可以占到总时间开销的20%-40%。在操作系统中,内存拷贝操作通过系统内核定义的标准系统函数memcpy、bcopy等实现其功能。针对不同的计算机体系结构,操作系统对该组函数的具体实现也不同。在用户程序中,C语言标准库(ANSIC)也对内存拷贝操作提供了函数实现。
如图1所示,为现有的内存拷贝处理器系统结构,包括处理器核(CPU)1、二级缓存(Cache)模块2、内存3,其中,处理器核包括控制单元11、运算部件12、寄存器堆13、译码和访存单元14、一级缓存(Cache)模块15等。典型的内存拷贝操作,在微观上可以将其分解为对内存的一系列交替的读写操作。处理器核先对A地址发出一个读操作,当其完成后,发出一个写操作将读回的值V(A)写入地址B;之后向A+1发出读请求,将读回结果V(A+1)写入B+1;反复执行这一过程直到整个内存拷贝操作完成。
现有的一种内存拷贝加速方法是进行指令重排优化的内存拷贝方法,该方法根据特定体系结构处理器的流水线特点,对内存拷贝操作程序指令进行重新排列,以获得连续不断的访存流并提高访存效率并降低延迟。其在操作系统内核内存拷贝函数中内嵌相应汇编指令代码替换原有通用C代码来提高程序执行效率。并根据特定体系结构的特点重排汇编访存指令,以减少处理器执行指令时的流水线停顿,如MIPS体系结构下内存拷贝函数将load和store指令四四分组排列。
现有的一种内存拷贝加速方法是内存拷贝与访问同步优化的内存拷贝方法,该方法通过增加额外的硬件模块来记录分析内存拷贝操作和内存访问操作的地址,从而不阻塞处理器来提高指令执行效率。并在操作系统中提供优化的拷贝操作原语,以实现拷贝过程与其他内存访问过程的同步。
现有的内存拷贝加速方法具有以下缺点:
(一)系统效率低。现有技术进行内存拷贝时仍需要处理器执行相关访存和控制指令,导致整个拷贝过程中处理器无法进行其他操作,其本质上属于处理器控制的串行同步内存拷贝。
(二)拷贝速度慢。现有技术的处理器内部一般集成1-2个访存部件,只有当前访存指令完成后才能执行后面的访存指令,因此现有内存拷贝方法在微观上只是对内存的串行访问,无法同时进行不相关的内存读写操作,导致拷贝速度慢。
(三)不具有通用兼容性。该方法与处理器结构和程序指令集紧密相关,不同体系结构下优化后的内存拷贝程序不能相互兼容。
发明内容
本发明的目的在于提供一种处理器系统及其多通道内存拷贝DMA加速器和方法,其具有高带宽、低延迟,高并行度,可重配置化,平台无关性的优点。
为实现本发明目的而提供的一种处理器系统,包括处理器核,以及内存,还包括通过数据总线连接在处理器核及内存之间的多通道DMA加速器;
所述多通道DMA加速器,用于在处理器核发出内存拷贝命令产生数据读写请求时,根据所述数据读写请求的任务信息判断并分解所述数据读写请求的任务信息,并根据分解后的数据读写请求的任务信息,以及其中多个读写通道的读写频率和优先级,以及所述读写通道的标记位的值,控制多个读写通道并行向内存发出多次读写请求,完成数据读写。
较优地,所述的处理器系统,还包括连接在内存及多通道DMA加速器之间的缓存模块,用于缓存在内存和多通道DMA加速器之间传输的数据。
较优地,所述多通道DMA加速器包括至少一DMA引擎模块和两个接口;
所述DMA引擎模块,用于根据所述数据读写请求的任务信息判断并分解所述数据读写请求的任务信息,并根据分解后的数据读写请求的任务信息,以及其中多个读写通道的读写频率和优先级,以及所述读写通道的标记位的值,控制多个读写通道并行向内存发出多次读写请求;
所述至少两个接口,为至少一个数据接口和一个控制与通信接口;
所述数据接口,用于,传输所述内存拷贝命令的数据读写请求所需要读写的数据;
所述控制与通信接口,用于与所述处理器核和内存进行通信,接收处理器核配置数据,并根据所述配置数据配置并存储至所述读写通道的配置寄存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110425530.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种网络控制方法及装置
- 下一篇:一种用于汽车内部骨架的连续玻纤增强材料