一种总线通信方法及系统的制作方法_4

文档序号:9910959阅读:来源:国知局
案,在二级缓存后增加了三级缓存,且三级缓存的容量大于二级缓存的容量,在三级缓存的容量存满时再向CPU发送DMA中断请求,相对于将总线数据从二级缓存转移到本地磁盘中,可以降低CPU转移总线数据的频率,从而降低CPU负载和磁盘负载,便于及时处理其他线程任务,提高设备性會K。
[0112]为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0113]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0114]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0115]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(R0M)、电可编程R0M、电可擦除可编程R0M、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0116]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【主权项】
1.一种总线通信方法,其特征在于,包括: 通过一级缓存接收总线数据; 在直接内存存取DMA数据传输启动时,将所述一级缓存接收的所述总线数据保存到二级缓存中,并将所述二级缓存中的所述总线数据保存到三级缓存中;所述三级缓存的容量大于所述二级缓存的容量; 在将所述三级缓存存满时,中断所述DMA数据传输,向CPU发送DMA中断请求,以使所述CPU在接收到所述DMA中断请求后将所述三级缓存中保存的所述总线数据提取到本地磁盘中。2.根据权利要求1所述的方法,其特征在于,所述一级缓存中包括多个设置有序号的一级缓存空间; 所述通过一级缓存接收总线数据,包括: 接收所述总线数据,并按照所述一级缓存空间的序号保存接收的所述总线数据,在将一个所述一级缓存空间存满后,再使用下一个所述一级缓存空间继续保存,直到将所有的所述一级缓存空间存满后,再重新按照所述一级缓存空间的序号保存接收的所述总线数据,覆盖每一个所述一级缓存空间中的原有数据。3.根据权利要求2所述的方法,其特征在于,所述二级缓存中包括多个设置有序号的二级缓存空间; 所述在直接内存存取DMA数据传输启动时,将所述一级缓存接收的所述总线数据保存到二级缓存中,包括: 在所述一级缓存中的任意一个所述一级缓存空间被存满时,记录被存满的所述一级缓存空间的序号; 在所述DMA数据传输启动时,检测所述二级缓存中是否存在可以保存数据的所述二级缓存空间; 如果存在,判断上一次保存数据的所述二级缓存空间的序号,并从可以保存数据的所述二级缓存空间中选择与上一次保存数据的所述二级缓存空间不同的所述二级缓存空间,将被存满的所述一级缓存空间中的所述总线数据保存到所选择的所述二级缓存空间中。4.根据权利要求3所述的方法,其特征在于,所述三级缓存中包括多个设置有序号的三级缓存空间; 所述将所述二级缓存中的所述总线数据保存到三级缓存中,包括: 检测所述二级缓存中是否存在尚未被存满的所述二级缓存空间; 如果存在,在将被存满的所述一级缓存空间中的所述总线数据保存到所选择的所述二级缓存空间中后,将所选择的所述二级缓存空间中的所述总线数据保存到尚未被存满的所述三级缓存空间中。5.根据权利要求1所述的方法,其特征在于,在所述向CPU发送DMA中断请求之后,还包括: 检测所述三级缓存中的所述总线数据是否已被保存到所述本地磁盘中; 如果是,则将所述三级缓存中的所述总线数据清空,并重新启动所述DMA数据传输。6.一种总线通信系统,其特征在于,包括: 接收模块,用于通过一级缓存接收总线数据; 保存模块,用于在直接内存存取DMA数据传输启动时,将所述一级缓存接收的所述总线数据保存到二级缓存中,并将所述二级缓存中的所述总线数据保存到三级缓存中;所述三级缓存的容量大于所述二级缓存的容量; 中断模块,用于在将所述三级缓存存满时,中断所述DMA数据传输,向CHJ发送DMA中断请求,以使所述CPU在接收到所述DMA中断请求后将所述三级缓存中保存的所述总线数据提取到本地磁盘中。7.根据权利要求6所述的系统,其特征在于,所述一级缓存中包括多个设置有序号的一级缓存空间; 所述接收模块,具体用于: 接收所述总线数据,并按照所述一级缓存空间的序号保存接收的所述总线数据,在将一个所述一级缓存空间存满后,再使用下一个所述一级缓存空间继续保存,直到将所有的所述一级缓存空间存满后,再重新按照所述一级缓存空间的序号保存接收的所述总线数据,覆盖每一个所述一级缓存空间中的原有数据。8.根据权利要求7所述的系统,其特征在于,所述二级缓存中包括多个设置有序号的二级缓存空间; 所述保存t吴块,包括: 记录单元,用于在所述一级缓存中的任意一个所述一级缓存空间被存满时,记录被存满的所述一级缓存空间的序号; 第一检测单元,用于在所述DMA数据传输启动时,检测所述二级缓存中是否存在可以保存数据的所述二级缓存空间; 选择单元,用于如果所述二级缓存中存在可以保存数据的所述二级缓存空间,判断上一次保存数据的所述二级缓存空间的序号,并从可以保存数据的所述二级缓存空间中选择与上一次保存数据的所述二级缓存空间不同的所述二级缓存空间,将被存满的所述一级缓存空间中的所述总线数据保存到所选择的所述二级缓存空间中。9.根据权利要求8所述的系统,其特征在于,所述三级缓存中包括多个设置有序号的三级缓存空间; 所述保存t吴块,还包括: 第二检测单元,用于检测所述三级缓存中是否存在尚未被存满的所述三级缓存空间; 保存单元,用于如果所述三级缓存中存在尚未被存满的所述三级缓存空间,在将被存满的所述一级缓存空间中的所述总线数据保存到所选择的所述二级缓存空间中后,将所选择的所述二级缓存空间中的所述总线数据保存到尚未被存满的所述三级缓存空间中。10.根据权利要求6所述的系统,其特征在于,还包括: 检测模块,用于检测所述三级缓存中的所述总线数据是否已被保存到所述本地磁盘中; 重启模块,用于如果所述三级缓存中的所述总线数据已被保存到所述本地磁盘中,则将所述三级缓存中的所述总线数据清空,并重新启动所述DMA数据传输。
【专利摘要】本申请公开了一种总线通信方法及系统,通过一级缓存接收总线数据;在DMA数据传输启动时,将一级缓存接收的总线数据保存到二级缓存中,并将二级缓存中的总线数据保存到三级缓存中;三级缓存的容量大于二级缓存的容量;在将三级缓存存满时,中断DMA数据传输,向CPU发送DMA中断请求,以使CPU在接收到DMA中断请求后将三级缓存中保存的总线数据提取到本地磁盘中。本申请提供的方案,在二级缓存后增加了三级缓存,且三级缓存的容量大于二级缓存的容量,在三级缓存的容量存满时再向CPU发送DMA中断请求,可以降低CPU转移总线数据的频率,从而降低CPU负载和磁盘负载,便于及时处理其他线程任务,提高设备性能。
【IPC分类】G06F13/16
【公开号】CN105677592
【申请号】CN201511032625
【发明人】汪宇雷
【申请人】北京经纬恒润科技有限公司
【公开日】2016年6月15日
【申请日】2015年12月31日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1