一种模式可配的多通道DMA优先级仲裁电路及方法技术

技术编号:38920855 阅读:19 留言:0更新日期:2023-09-25 09:31
本发明专利技术涉及DMA控制器的通道仲裁方法,特别涉及一种模式可配的多通道DMA优先级仲裁电路及方法。一种用户可配置的多通道DMA优先级仲裁电路,包括第一轮询模块、第二轮询模块;所述第一轮询模块采用轮询模式,完成所有通道优先级仲裁;所述第二轮询模块采用CHn高优先级结合其他通道轮询响应的方式,完成CHn通道及其他通道的优先级仲裁。本发明专利技术将用户定义优先级和轮询优先级的仲裁方式进行了有机结合和优化,提出了一种用户可配置的优先级仲裁方法,将轮询模式和CHn高优先级模式有机结合;互为补充,可有效解决不同场景应用下的数据传输效率问题。效率问题。效率问题。

【技术实现步骤摘要】
一种模式可配的多通道DMA优先级仲裁电路及方法


[0001]本专利技术涉及DMA控制器的通道仲裁方法,特别涉及一种模式可配的多通道DMA优先级仲裁电路及方法。

技术介绍

[0002]DMA(Direct Memory Access)控制器是一种在SoC设计中用于快速传输数据的机制。当前大型SoC设计对数据传输速率和吞吐量的要求越来越高,采用CPU传输数据需占用大量时间,十分影响内核执行效率,DMA控制器就成为必不可少的模块,其完全由硬件电路实现,搬运数据不依靠CPU,可以在外设到内存、内存到外设、外设到外设、内存到内存之间传递数据,显著提高了系统并行运行能力,有效提升了CPU的效率。
[0003]当前的SoC芯片的发展趋势是外设资源越来越丰富,为了提高多外设的数据并行传输能力,所以DMA控制器也向通道化的方向发展,每个通道具备独立的寄存器组,可以通过用户配置选择对应某个外设,多个通道即可对应多个外设,同时进行数据传输,可以大幅提高内存与多个外设间数据传输的效率。如果仅使能一个DMA通道,则当该通道对应的外设产生一个DMA请求时,DMA控制就会立即响应该请求发起数据传输,当同时使能多个DMA通道时,各通道对应的外设就有可能同时产生DMA请求,则DMA控制器需要对同时到达的请求进行仲裁,因为同一时间仅允许一个DMA通道占用总线,该功能由DMA控制器内的通道仲裁模块完成。
[0004]目前各类多通道DMA控制器的通道仲裁方法,一般有以下几种:
[0005]1.固定优先级,按照通道号大小直接确定其优先级,比如6个通道1~6,按照通道号越小优先级越高的设定下,通道1优先级最高,通道2优先级次之,通道6优先级最低,该种仲裁方法非常不灵活,如果优先级最高的通道1一直有请求,会十分影响其他通道的数据传输效率。
[0006]2.用户定义优先级方式,用户对每个通道设置一个明确的优先级,当多个请求同时到达时,优先处理优先级高的通道;优先级可根据需要划分为多个等级,比如最高、高、中和低四种优先级,用户在启动DMA传输前可配置通道优先级寄存器来确定当前DMA通道的优先级等级,但是这种看似灵活可配的仲裁方法,实际在软件配置完寄存器后,在本次DMA传输过程中各通道的优先级已经变为固定优先级,通道转换就不够灵活,一定程度上影响DMA传输效率;
[0007]3.Round

Robin即轮询方式,该策略能够在多设备的请求中最有效的利用已知带宽,各通道优先级是一样的,可以使各设备有相同的几率被响应。
[0008]每一个通道采用“轮询”响应的形式,比如有6个通道的DMA优先级仲裁如下所示:
[0009]CH1

CH2

CH3

CH4

CH5

CH6

CH1

CH2
→…
[0010]在这种情况下,每个通道传输了一笔数据后,下一个通道就会被响应,一旦CH6或最后启用的通道得到了响应,并且没有其他通道处于挂起的状态,那么仲裁电路将进入空闲状态。
[0011]在空闲状态下,通道1(如果启用的话)总是先被响应,但是,如果DMA正在处理另一个通道x,则在x与最后通道之间的通道(X~6之间),都会在通道1之前被响应。所以在一定意义上说,所有通道都具有相同的优先级。该仲裁方式优点是所有通道的请求可以被同样的几率响应,但是这在都是同类型DMA通道请求的情况下可以发挥出优势,在有不同类型DMA通道的使用需求时,比如某一通道有特殊要求需要其请求被优先响应,这种情况下轮询仲裁方式就无法满足要求从而影响传输效率。

技术实现思路

[0012]针对以上现有技术中的不足,本专利技术提出一种用户可配置的多通道DMA优先级仲裁电路及方法,即有两种优先级模式:轮询模式Round

Robin和CHn高优先级模式,两种模式可由用户根据应用需要进行软件配置,两种模式有机结合,互为补充,可有效解决不同场景应用下的数据传输效率问题。
[0013]本专利技术解决其技术问题采用的技术方案是:一种用户可配置的多通道DMA优先级仲裁电路,包括第一轮询模块、第二轮询模块;所述第一轮询模块采用轮询模式,完成所有通道优先级仲裁;所述第二轮询模块采用CHn高优先级结合其他通道轮询响应的方式,完成CHn通道及其他通道的优先级仲裁。
[0014]优选地,CHn高优先级模式中,如果触发CHn通道的请求事件,CHn通道优先于当前突发传输的通道获得总线使用权。
[0015]优选地,第一轮询模块的输入为所有通道的请求信号,输出为轮询调度的结果。
[0016]优选地,第二轮询模块的输入为其他通道的请求信号和CHn通道的常设值,输出为CHn通道的请求信号和其他通道轮询调度结果的结合。
[0017]优选地,所述的CHn通道为用户可选的高优先级通道,重映射到请求最低位。
[0018]本专利技术还提供一种模式可配的多通道DMA优先级仲裁方法,该方法包括:
[0019]用户根据需要选择DMA的优先级模式:轮询模式或CHn高优先级模式;
[0020]当DMA优先级模式为轮询模式时,请求信号输入第一轮询模块后,所有通道参与轮询响应,输出轮询调度的结果;
[0021]当DMA优先级模式为CHn高优先级模式时,CHn通道的常设值及其他通道的请求信号输入第二轮询模块后,其他通道参与轮询响应,输出高优先级通道CHn的请求信号和其他通道的轮询调度结果的结合。
[0022]与现有技术相比,本专利技术具有的有益效果是:本专利技术将用户定义优先级和轮询优先级的仲裁方式进行了有机结合和优化,提出了一种用户可配置的优先级仲裁方法,即有两种优先级模式:轮询模式和CHn高优先级模式。CHn高优先级模式下,CHn通道单独调度,剩余通道采用轮询调度,单独调度的通道具有高优先级,即可实现对有特殊优先级要求的DMA通道请求的仲裁。
附图说明
[0023]图1为本专利技术实施例中轮询模块的电路图;
[0024]图2为本专利技术提供的模式可配的多通道DMA优先级仲裁电路的模式切换逻辑图。
具体实施方式
[0025]为了便于理解本专利技术,下面结合附图和具体实施例,对本研究进行更详细的说明。但是,本研究可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本研究公开内容的理解更加透彻全面。
[0026]本专利技术提供的模式可配的多通道DMA优先级仲裁电路,主要包括第一轮询模块、第二轮询模块,其中,第一轮询模块用于实现常规的轮询模式。第二轮询模块用于实现高优先级通道CHn单独调用和其他通道轮询相结合的高优先级模式。用户在高优先级模式下可以选择任意通道为高优先级通道,但是选定的高优先级通道的请求均为最低位,即请求信号req(0)。
[0027]1.第一轮询模块:
[0028]在轮询模式下,所有通道具有相同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用户可配置的多通道DMA优先级仲裁电路,其特征在于:包括第一轮询模块、第二轮询模块;所述第一轮询模块采用轮询模式,完成所有通道的优先级仲裁;所述第二轮询模块采用CHn高优先级结合其他通道轮询响应的方式,完成CHn通道及其他通道的优先级仲裁。2.根据权利要求1所述的用户可配置的多通道DMA优先级仲裁电路,其特征在于:CHn高优先级模式中,如果触发CHn通道的请求事件,CHn通道优先于当前突发传输的通道获得总线使用权。3.根据权利要求1所述的用户可配置的多通道DMA优先级仲裁电路,其特征在于:第一轮询模块的输入为所有通道的请求信号,输出为轮询调度的结果。4.根据权利要求1所述的用户可配置的多通道DMA优先级仲裁电路,其特征在于:第二轮询模块的输入为其他通道的请求信号和CH...

【专利技术属性】
技术研发人员:李诚李阳
申请(专利权)人:青岛本原微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1