本发明专利技术提供了一种DMA数据传输系统及方法和一种中央处理器,该DMA数据传输系统设置于CPU内部,该传输系统包括:数据存储器,用于存储多个DMA数据配置信息;列表寄存器,用于存储配置信息的存储位置信息;数据存储器和列表寄存器中的信息是由CPU配置的;DMA管理器,用于从列表寄存器中获取存储位置信息,并从数据存储器的相应位置获取配置信息,配置给DMA;DMA,用于执行数据传输。在本发明专利技术中,CPU通过其内部连线对DMA进行信息配置,节约了总线资源;且由于增加了DMA管理器和列表寄存器,CPU可以一次把多段数据传输的配置信息发送给DMA,DMA不间断的执行完多段数据传输,从而提高了CPU和DMA的工作效率。
【技术实现步骤摘要】
本专利技术涉及DMA数据传输
,特别是涉及一种DMA数据传输系统及方法和一种中央处理器。
技术介绍
直接存储器存取(DMA,Direct Memory Access)是提高微机系统数据传输效率的一项重要技术。DMA在存储器与I/O设备间直接传输数据,不需要CPU的参与。在支持DMA方式数据传输的微机系统中,DMA与CPU都挂接在系统总线上,由总线提供数据传输的通道。当系统设备产生DMA需求时,该系统设备向DMA发出请求;DMA收到请求后,向CPU发一个信号,申请占用系统总线或者挪用一个或几个CPU周期;CPU获得该信号后,将系统总线的控制权交给DMA,此时由DMA控制系统总线数据传输工作,实现在存储器与系统设备之间直接传输数据。由于DMA设置在CPU外部,因而DMA与CPU需要经过总线来完成访问控制权的交替,且CPU需经过总线对DMA进行信息配置;而总线的带宽是有限的,当有多个传输任务时,传输速度会受到影响。目前广泛应用的DMA一般都是进行一维数据的搬运,即DMA的源地址空间或者目标地址空间是一段连续的存储器空间。而在实际操作中,经常会需要搬运多段不连续的一维数据,即数据存储在多个不连续的存储器空间,每个存储器空间内部地址是连续的。现有的DMA传输多段不连续的一维数据的过程为:DMA向CPU发送中断请求,CPU对DMA进行传输一段一维数据的信息配置,DMA开始传输数据,数据传输完毕后,重复前述操作。即在每一段一维数据传输后,都要由DMA向CPU发送中断,并由CPU对DMA进行传输下一段一维数据的信息配置。而CPU的多次中断会给整个系统运行增加负担,降低CPU的工作效率,同时降低了数据传输的速度。由此可知,目前迫切需要本领域技术人员解决的一个技术问题就是:如何-->提高DMA传输数据的速度,以及在传输多段不连续的一维数据时,如何提高CPU的工作效率以及提高DMA的传输速度。
技术实现思路
本专利技术所要解决的技术问题是提供一种DMA数据传输系统及方法和一种CPU,能够提高DMA传输数据的速度,以及在传输多段不连续的一维数据时,大大提高CPU的工作效率和DMA的传输速度。为了解决上述问题,本专利技术公开了一种DMA数据传输系统,所述DMA数据传输系统设置于CPU内部,并通过系统总线和CPU外部通信,所述数据传输系统包括:数据存储器,用于存储多个DMA数据配置信息;列表寄存器,用于存储所述DMA数据配置信息的存储位置信息;所述数据存储器和列表寄存器中的信息是由CPU配置的;DMA管理器,用于从所述列表寄存器中获取所述配置信息的存储位置信息,并从所述数据存储器的相应位置获取所述配置信息,配置给DMA;DMA,用于依据所述配置信息执行数据传输。具体的,所述配置信息包括:源地址信息、目标地址信息、数据长度信息和控制信息。进一步,所述控制信息包括一个判断位,用于判断DMA是否继续执行数据传输。进一步,所述数据存储器和列表寄存器中的信息是由CPU一次配置完成的;DMA管理器在每次数据传输完成后,将下一次数据传输的信息配置给DMA。优选的,所述数据传输系统还包括加法器,在每次数据传输完成后,进行下一次数据传输时,DMA管理器设置所述加法器对所述列表寄存器中的存储位置信息进行加法运算,得到下一次DMA数据配置信息的存储位置信息。优选的,系统总线设有专用于DMA的数据接口。为了解决上述问题,本专利技术还公开了一种DMA数据传输方法,所述方法包括:-->CPU通过内部数据线执行以下操作:将多次DMA数据配置信息存储到数据存储器;并将所述DMA数据配置信息的存储位置信息存储到列表寄存器;DMA管理器从所述列表寄存器中依次获取DMA配置信息的存储位置信息,并从所述数据存储器的相应位置依次获取所述配置信息,配置给设置于CPU内部的DMA;所述DMA依次根据所述配置信息传输数据,通过系统总线和CPU外部进行通信。进一步,所述配置信息包括一个判断位;所述DMA管理器从所述数据存储器中依次获取所述配置信息时,读取所述判断位,用于判断DMA是否继续传输数据。具体的,所述数据存储器和列表寄存器中的信息是由CPU一次配置完成的;每次数据传输完成后,DMA管理器配置下一次数据传输的信息给DMA。具体的,在每次数据传输完成后,进行下一次数据传输时,DMA管理器设置所述加法器对所述列表寄存器中的存储位置信息进行加法运算,得到下一次DMA数据配置信息的存储位置信息。优选的,DMA通过设于系统总线上的专用数据接口与CPU外部进行通信。本专利技术还公开了一种中央处理器,该中央处理器包括总控制器、存储控制器和运算器,进一步还包括DMA数据传输系统,所述DMA数据传输系统包括:数据存储器,用于存储多个DMA数据配置信息;列表寄存器,用于存储所述DMA数据配置信息的存储位置信息;所述数据存储器和列表寄存器中的信息是由总控制器配置的;DMA管理器,用于从所述列表寄存器中获取所述配置信息的存储位置信息,并从所述数据存储器的相应位置获取所述配置信息,配置给DMA;DMA,用于依据所述配置信息执行数据传输。与现有技术相比,本专利技术具有以下优点:在本专利技术的解决方案中,DMA位于CPU内部,由此在进行CPU内部和-->CPU外部之间的数据传输时,DMA与CPU之间通过CPU内部的连线就完成了访问控制权的交替,并且CPU通过CPU内部的连线对DMA进行信息配置,从而节约了总线资源,减少了总线带宽的占用。此外,本专利技术中增加了DMA管理器和列表寄存器,当需要传输多段不连续的一维数据时,CPU可以一次把多个数据传输的配置信息发送给DMA,DMA可以不间断的执行完多段数据传输,从而大大减少了CPU中断的次数,提高了CPU和DMA的工作效率。附图说明图1是本专利技术DMA数据传输系统实施例的结构示意图;图2是本专利技术DMA数据传输方法实施例1的步骤流程图;图3是本专利技术DMA数据传输方法实施例2的步骤流程图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。参照图1,示出了本专利技术一种DMA数据传输系统实施例,所述DMA数据传输系统设置于CPU内部,并通过系统总线和CPU外部通信,所述数据传输系统具体可以包括:数据存储器101,用于存储多个DMA数据配置信息。其中,所述配置信息为数据传输的源地址信息、目标地址信息、数据长度信息和控制信息。优选的,所述控制信息中包括一个判断位,用于判断DMA是否继续执行数据传输。当判断DMA停止执行数据传输时,可以向CPU发送中断,通知CPU;也可以不向CPU发送中断,只是停止执行数据传输,此时CPU可以通过查看的方式获得DMA的状态。列表寄存器102,用于存储所述DMA数据配置信息的存储位置信息。其中,所述数据存储器和列表寄存器中的信息都是由CPU配置的。DMA管理器103,用于从所述列表寄存器中获取所述配置信息的存储位置信息,并从所述数据存储器的相应位置获取所述配置信息,配置给DMA104,-->即把所述数据传输的源地址信息、目标地址信息、数据长度信息和控制信息,存储到DMA104的寄存器中。DMA104,用于依据所述配置信息执行数据传输,即把指定的数据从源地址传输到目标地址。进一步,所述数据存本文档来自技高网...
【技术保护点】
一种DMA数据传输系统,其特征在于, 所述DMA数据传输系统设置于CPU内部,并通过系统总线和CPU外部通信,所述数据传输系统包括: 数据存储器,用于存储多个DMA数据配置信息; 列表寄存器,用于存储所述DMA数据配置信息 的存储位置信息; 所述数据存储器和列表寄存器中的信息是由CPU配置的; DMA管理器,用于从所述列表寄存器中获取所述配置信息的存储位置信息,并从所述数据存储器的相应位置获取所述配置信息,配置给DMA; DMA,用于依据所述 配置信息执行数据传输。
【技术特征摘要】
1、一种DMA数据传输系统,其特征在于,所述DMA数据传输系统设置于CPU内部,并通过系统总线和CPU外部通信,所述数据传输系统包括:数据存储器,用于存储多个DMA数据配置信息;列表寄存器,用于存储所述DMA数据配置信息的存储位置信息;所述数据存储器和列表寄存器中的信息是由CPU配置的;DMA管理器,用于从所述列表寄存器中获取所述配置信息的存储位置信息,并从所述数据存储器的相应位置获取所述配置信息,配置给DMA;DMA,用于依据所述配置信息执行数据传输。2、根据权利要求1所述的数据传输系统,其特征在于,所述配置信息包括:源地址信息、目标地址信息、数据长度信息和控制信息。3、根据权利要求2所述的数据传输系统,其特征在于,所述控制信息包括一个判断位,用于判断DMA是否继续执行数据传输。4、根据权利要求1所述的数据传输系统,其特征在于,所述数据存储器和列表寄存器中的信息是由CPU一次配置完成的;DMA管理器在每次数据传输完成后,将下一次数据传输的信息配置给DMA。5、根据权利要求4所述的数据传输系统,其特征在于,还包括加法器,在每次数据传输完成后,进行下一次数据传输时,DMA管理器设置所述加法器对所述列表寄存器中的存储位置信息进行加法运算,得到下一次DMA数据配置信息的存储位置信息。6、根据权利要求1所述的数据传输系统,其特征在于,系统总线设有专用于DMA的数据接口。7、一种DMA数据传输方法,其特征在于,所述方法包括:CPU通过内部数据线执行以下操作:将多次DMA数据配置信息存储到数据存储器;并将所述DMA数据配置信息的存储位置信息存储到列表寄...
【专利技术属性】
技术研发人员:石艳,
申请(专利权)人:北京红旗胜利科技发展有限责任公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。