CN103106164A - 一种高效dma控制器 - Google Patents
一种高效dma控制器 Download PDFInfo
- Publication number
- CN103106164A CN103106164A CN2011103513123A CN201110351312A CN103106164A CN 103106164 A CN103106164 A CN 103106164A CN 2011103513123 A CN2011103513123 A CN 2011103513123A CN 201110351312 A CN201110351312 A CN 201110351312A CN 103106164 A CN103106164 A CN 103106164A
- Authority
- CN
- China
- Prior art keywords
- dma
- data
- dma controller
- bus
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002093 peripheral effect Effects 0.000 claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 14
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Images
Landscapes
- Bus Control (AREA)
Abstract
本发明公开了一种实现有效利用总线吞吐率和降低时延的高效DMA控制器。DMA控制器包括DMA控制模块,用于控制外设和内存间、不同外设间和不同内存区域间的高效批量数据传输;其数据传输中外设可以根据有效缓存空间大小的不同而向DMA控制器发送不同级别的传输请求信号,该级别信号表示了外设需要立即接受数据,或者可延缓一段时间接受数据;而DMA控制器可根据不同的外设要求向总线优先级调度模块修改DMA控制器在总线的调度优先级。采用了本发明的技术方案后,可以在DMA传输中完成外设与DMA控制器间的DMA传输,总线上存在多个主设备时候,DMA控制器这个主设备可以减少与其他设备抢占总线,提高了总线的吞吐率,也降低了总线上各个主设备由于抢占总线引起的时延。
Description
技术领域
本发明涉及集成电路技术领域,特别是一种直接存储器访问(DMA)的方法和装置,此DMA方法和装置可用于、但是不局限于数字信号处理装置中。
背景技术
处理器或者是数字信号处理器,主要用于数据的处理。处理器可以包括一个处理器核心,一个存储器,一个DMA控制器,一个外部总线接口,以及一个或者多个的外部接口用于实现芯片与外部的数据交互。处理器核心用于完成数据的处理操作,而数据的处理必然涉及数据源的读取和数据操作结果的储存操作。在数据的读写中,存在一类数据读写操作,即批量的数据读写,即将一个大块数据从一个存储区域搬移到令一个存储区域。
处理器中,DMA控制器实现了上述的大块数据搬移操作,从而将处理器核心从繁重的数据搬移操作中解放出来,处理器核心可以直接利用DMA搬移的数据进行数据处理,也可以将数据完成的数据有DMA控制器搬移到指定的地址空间。
在现有的DMA控制器实现方法中,当多个外设同事需要利用DMA控制器进行数据搬移时,DMA控制器的读写都采用固定的优先级或者优先级轮循的模式进行。一个外设在搬移数据时,可能导致另一个也需要利用DMA控制器进行数据搬移的外设一直处于等待状态,直到另一个外设完成了数据搬移后才可以进行数据搬移,因此,上述方法将导致数据的搬移具有很大延时,并且,也降低了系统的数据吞吐量。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种实现有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,解决现有DMA控制器装置在总线存在多个主设备时,大负载情况下延时和吞吐量问题。
(二)技术方案
为达到上述目的,本发明提供了一种实现有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,包括:可配置DMA控制器和外设的处理器、DMA控制器、可动态优先级调度的总线、具有向DMA发送传输请求信号的外设。处理器核心可以根据处理器执行任务的需要配置启动DMA控制器,以及可以利用DMA控制器传输数据的外设的工作模式,可接受DMA完成数据传输后发送的中断请求。DMA可以根据处理器对其的配置,进行存储器不同区域间数据传递、存储器与外设间数据传递和进行不同外设间数据传递。DMA可以接受多个外设的数据传输请求,该请求包含了数据实时性等级信息,DMA控制器进一步根据外设的数据传输实时性需求,请求总线调度模块设置DMA控制器的总线调度优先级,DMA在获得总线的控制权后,进行数据搬移操作。处理器系统中的可动态调度优先级总线模块,则根据其他模块的请求,动态设置总线上各个主设备的总线优先级。最后,作为DMA控制器进行数据源或者数据目的的外设模块,可以根据处理器的配置,启动DMA操作模式,使其可以接受DMA控制器的数据搬移操作,在工作启动后,外设可以根据其内部有效数据缓冲区的大小,向DMA控制器发送包含数据实时性需求等级的数据传输请求。
(三)有益效果
从上述技术方案可以看出,本发明具有以下有益效果:
1.本发明提供的有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,可使处理器具备各个数据存储区域间的数据搬移功能,将处理器核心从搬移数据工作中释放出来。
2.本发明提供的有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,使得外设可以有效的获取数据,或者及时的将准备好的数据由DMA控制器搬移到指定区域。
3.本发明提供的有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,使得处理器在总线上存在多个主设备的情况下,降低了不同主设备(包括DMA控制器)抢占总线的可能性。
4.本发明提供的有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,可以用DMA控制器根据数据的实时性需求,合理利用总线资源,在数据实时搬移数据时候,利用高优先级获取总线控制权,而在低数据实时性需求时候,则以较低的优先级获取总线的控制权。
附图说明
下面通过举例和并非作为限制的附图来描述本发明,图中相同的标号所表示的意义相同。
图1具备DMA控制器的处理器系统结构图
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1描述了包含本发明所描述的DMA控制器的处理器系统结构图。如图1所示,处理器核心101通过系统总线107和其他设备进行连接,从而实现访问其他设备的功能。存储器102同样通过系统总线107和其他设备进行连接,其作为总线上的从设备可以被处理器核心101和DMA控制器103等主设备进行存储器访问。DMA控制器103作为主设备可以利用总线107将数据从一个从设备搬移到另一个从设备。处理器系统中可以存在多个外设(104,105),这些外设同样挂在总线107上,接受主设备(101,103)的读写访问操作。可以被DMA控制器访问的外设(104,105)进行读写访问。而外设可以利用连接106向DMA控制器发送DMA操作请求信号,从而要求DMA实现DMA数据搬移。总线107上的总线优先级调度模块108可以接受DMA控制器103的优先级调度请求,设置DMA控制器具有一定的总线访问优先级。
以上描述了处理器系统中包含DMA控制器在内的各个模块是如何连接的,进一步的,以下以将一块数据从存储器102搬移到外设104为例描述DMA如何实现数据搬移的全过程。
首先,处理器核心101根据数据搬移的需求,通过总线107配置DMA控制器:配置数据源为存储器102的某一个地址;配置所需搬移的数据容量;配置数据搬移的目的地址为外设104的某一个地址;另外,根据需要还可配置每一次数据搬移的数据块大小等。
处理器核心101根据数据搬移的需求,通过总线107配置外设104。使其可工作于DMA数据搬移模式。
假设外设104内存在一个深度为16的FIFO由于接受DMA控制器发送的数据。那么可以是配置外设104可以向DMA控制器发送具备两个级别的传输请求信号。亦即当外设104的FIFO中有效数据深度只有4时,发送高级别的传输求情信号,请求DMA控制器尽快发送数据;当外设104的FIFO中有效数据深度为12时候,可以请求DMA控制器以低级别的操作发送数据。进一步的,可以配置上述DMA控制器每一次数据搬移的数据块大小为4,防止在FIFO有效数据深度为12时数据溢出的发生。
进一步的,当DMA控制器在接收到高级别的传输请求信号时候,可以通过请求总线调度模块108使DMA控制器尽快获得总线的控制权,使其能够尽快的从存储器102中读取数据,然后向外设104发送数据。当DMA控制器在接受到低级别的传输请求信号时候,则可以请求总线调度模块以较低的优先级获取总线控制器,假如此时处理器核心101亦需要访问总线,由于外设104并不迫切需要获得数据,可以使处理器101优先访问总线,等到处理器101释放总线后,DMA控制器再获得总线的控制权,从存储器102中读取数据,然后向外设104发送数据。
当所有DMA控制器完成了处理器核心101设定的数据搬移的容量后,利用中断的方式通知处理器101已经完成了此次数据搬移。
Claims (6)
1.一种实现有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器,其特征为DMA控制器包含一个数据通路用于DMA数据源和数据目的之间的数据传输;包含一个通道控制逻辑用于配置DMA数据传输方式;DMA传输请求接口;DMA优先级调度请求接口。
2.根据权利要求1所述DMA控制器,其特征在于控制器的数据通路模块根据数据搬移的源地址、目的地址,利用数据总线实现内存和外设间、内存和内存间、外设和外设间的数据读写操作。
3.根据权利要求1所述DMA控制器,其特征在于控制器的数据通路模块,可以并发的执行从数据源地址执行读操作、向数据目的地址执行写操作。
4.根据权利要求1所述的DMA控制器,其特征在于通道控制逻辑用于保存DMA控制器工作方法的配置,配置可包括数据源地址、目的地址、读写操作模式、读写优先级、DMA数据搬移完成后的动作。
5.根据权利要求1所述的DMA控制器,其特征在于传输请求接口接收DMA操作数据源地址、目的地址所对应的外设或者内存对于数据传输的DMA操作请求;接受该DMA读写操作的实时性需求信息。
6.根据权利要求1所述的DMA控制器,其特征在于优先级调度请求接口根据DMA控制器接收的实时性等级信息,决定DMA数据传输在总线上的优先级,DMA控制器通过优先级调度请求接口向总线调度器申请DMA控制器数据搬移的总线控制权。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2011103513123A CN103106164A (zh) | 2011-11-09 | 2011-11-09 | 一种高效dma控制器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2011103513123A CN103106164A (zh) | 2011-11-09 | 2011-11-09 | 一种高效dma控制器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN103106164A true CN103106164A (zh) | 2013-05-15 |
Family
ID=48314035
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2011103513123A Pending CN103106164A (zh) | 2011-11-09 | 2011-11-09 | 一种高效dma控制器 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103106164A (zh) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104572529A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种适用异构多核dsp的高效总线仲裁系统 |
| CN106326045A (zh) * | 2015-06-30 | 2017-01-11 | 展讯通信(上海)有限公司 | 一种检测总线延时的方法 |
| CN107291642A (zh) * | 2016-04-11 | 2017-10-24 | 罗伯特·博世有限公司 | 微控制器、控制设备和机动车辆 |
| CN107301139A (zh) * | 2016-04-15 | 2017-10-27 | 罗伯特·博世有限公司 | 存储器直接访问控制装置 |
| CN109379296A (zh) * | 2018-10-25 | 2019-02-22 | 盛科网络(苏州)有限公司 | 一种芯片实现上cpu协议报文层次化流量控制的方法及装置 |
| CN109739786A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 一种dma控制器和异构加速系统 |
| WO2023236051A1 (zh) * | 2022-06-07 | 2023-12-14 | 广东逸动科技有限公司 | 抢占总线的方法、装置、电子设备、控制系统及存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1052563A (zh) * | 1989-12-15 | 1991-06-26 | 国际商业机器公司 | 调节优先级仲裁的装置 |
| US6067408A (en) * | 1993-05-27 | 2000-05-23 | Advanced Micro Devices, Inc. | Full duplex buffer management and apparatus |
| JP2000215154A (ja) * | 1999-01-25 | 2000-08-04 | Matsushita Electric Ind Co Ltd | Dmaコントロ―ラ |
| CN102231142A (zh) * | 2011-07-21 | 2011-11-02 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
-
2011
- 2011-11-09 CN CN2011103513123A patent/CN103106164A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1052563A (zh) * | 1989-12-15 | 1991-06-26 | 国际商业机器公司 | 调节优先级仲裁的装置 |
| EP0432978B1 (en) * | 1989-12-15 | 1996-06-19 | International Business Machines Corporation | Apparatus for conditioning priority arbitration in buffered direct memory addressing |
| US6067408A (en) * | 1993-05-27 | 2000-05-23 | Advanced Micro Devices, Inc. | Full duplex buffer management and apparatus |
| JP2000215154A (ja) * | 1999-01-25 | 2000-08-04 | Matsushita Electric Ind Co Ltd | Dmaコントロ―ラ |
| CN102231142A (zh) * | 2011-07-21 | 2011-11-02 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104572529A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种适用异构多核dsp的高效总线仲裁系统 |
| CN106326045A (zh) * | 2015-06-30 | 2017-01-11 | 展讯通信(上海)有限公司 | 一种检测总线延时的方法 |
| CN106326045B (zh) * | 2015-06-30 | 2019-10-25 | 展讯通信(上海)有限公司 | 一种检测总线延时的方法 |
| CN107291642A (zh) * | 2016-04-11 | 2017-10-24 | 罗伯特·博世有限公司 | 微控制器、控制设备和机动车辆 |
| CN107301139A (zh) * | 2016-04-15 | 2017-10-27 | 罗伯特·博世有限公司 | 存储器直接访问控制装置 |
| CN107301139B (zh) * | 2016-04-15 | 2024-04-30 | 罗伯特·博世有限公司 | 存储器直接访问控制装置 |
| CN109379296A (zh) * | 2018-10-25 | 2019-02-22 | 盛科网络(苏州)有限公司 | 一种芯片实现上cpu协议报文层次化流量控制的方法及装置 |
| CN109739786A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 一种dma控制器和异构加速系统 |
| CN109739786B (zh) * | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种dma控制器和异构加速系统 |
| WO2023236051A1 (zh) * | 2022-06-07 | 2023-12-14 | 广东逸动科技有限公司 | 抢占总线的方法、装置、电子设备、控制系统及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7305510B2 (en) | Multiple master buses and slave buses transmitting simultaneously | |
| CN103106164A (zh) | 一种高效dma控制器 | |
| US7644207B2 (en) | High speed bus for isolated data acquisition applications | |
| CN102841869B (zh) | 一种基于fpga的多通道i2c控制器 | |
| JPH071495B2 (ja) | データ処理システム | |
| AU2010234773A1 (en) | Command and interrupt grouping for a data storage device | |
| EP1535169B1 (en) | Improved inter-processor communication system for communication between processors | |
| CN118550857B (zh) | 一种数据传输方法、装置、电子设备以及存储介质 | |
| KR20160056382A (ko) | 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법 | |
| CN108304334A (zh) | 应用处理器和包括中断控制器的集成电路 | |
| US8527684B2 (en) | Closed loop dynamic interconnect bus allocation method and architecture for a multi layer SoC | |
| CN112947857A (zh) | 一种数据搬移方法、装置、设备及计算机可读存储介质 | |
| CN114328350B (zh) | 一种基于axi总线的通讯方法、装置以及介质 | |
| WO2010096635A1 (en) | Methods and apparatus for resource sharing in a programmable interrupt controller | |
| US7774513B2 (en) | DMA circuit and computer system | |
| CN115904694A (zh) | 资源管理控制器 | |
| US7984212B2 (en) | System and method for utilizing first-in-first-out (FIFO) resources for handling differences in data rates between peripherals via a merge module that merges FIFO channels | |
| US8996772B1 (en) | Host communication device and method with data transfer scheduler | |
| US20020116561A1 (en) | System and method for data transmission | |
| CN116303169A (zh) | Dma控制装置和方法及芯片 | |
| US20080320193A1 (en) | Information processing apparatus | |
| CN115794712B (zh) | 一种支持x86架构的通用多主设备并行片内总线 | |
| CN221175403U (zh) | 一种内置dma控制模块的读取装置 | |
| KR20050064568A (ko) | 온-칩 직렬 주변장치 버스 시스템 및 그 운용방법 | |
| JPH11110342A (ja) | バス接続方法及び装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| DD01 | Delivery of document by public notice |
Addressee: Shenzhen Desay Microelectronic Technology Limited Company Document name: Notification of Passing Examination on Formalities |
|
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130515 |