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

文档序号:35548918发布日期:2023-09-23 22:06阅读:85来源:国知局
一种模式可配的多通道DMA优先级仲裁电路及方法与流程

本发明涉及dma控制器的通道仲裁方法,特别涉及一种模式可配的多通道dma优先级仲裁电路及方法。


背景技术:

1、dma(direct memory access)控制器是一种在soc设计中用于快速传输数据的机制。当前大型soc设计对数据传输速率和吞吐量的要求越来越高,采用cpu传输数据需占用大量时间,十分影响内核执行效率,dma控制器就成为必不可少的模块,其完全由硬件电路实现,搬运数据不依靠cpu,可以在外设到内存、内存到外设、外设到外设、内存到内存之间传递数据,显著提高了系统并行运行能力,有效提升了cpu的效率。

2、当前的soc芯片的发展趋势是外设资源越来越丰富,为了提高多外设的数据并行传输能力,所以dma控制器也向通道化的方向发展,每个通道具备独立的寄存器组,可以通过用户配置选择对应某个外设,多个通道即可对应多个外设,同时进行数据传输,可以大幅提高内存与多个外设间数据传输的效率。如果仅使能一个dma通道,则当该通道对应的外设产生一个dma请求时,dma控制就会立即响应该请求发起数据传输,当同时使能多个dma通道时,各通道对应的外设就有可能同时产生dma请求,则dma控制器需要对同时到达的请求进行仲裁,因为同一时间仅允许一个dma通道占用总线,该功能由dma控制器内的通道仲裁模块完成。

3、目前各类多通道dma控制器的通道仲裁方法,一般有以下几种:

4、1.固定优先级,按照通道号大小直接确定其优先级,比如6个通道1~6,按照通道号越小优先级越高的设定下,通道1优先级最高,通道2优先级次之,通道6优先级最低,该种仲裁方法非常不灵活,如果优先级最高的通道1一直有请求,会十分影响其他通道的数据传输效率。

5、2.用户定义优先级方式,用户对每个通道设置一个明确的优先级,当多个请求同时到达时,优先处理优先级高的通道;优先级可根据需要划分为多个等级,比如最高、高、中和低四种优先级,用户在启动dma传输前可配置通道优先级寄存器来确定当前dma通道的优先级等级,但是这种看似灵活可配的仲裁方法,实际在软件配置完寄存器后,在本次dma传输过程中各通道的优先级已经变为固定优先级,通道转换就不够灵活,一定程度上影响dma传输效率;

6、3.round-robin即轮询方式,该策略能够在多设备的请求中最有效的利用已知带宽,各通道优先级是一样的,可以使各设备有相同的几率被响应。

7、每一个通道采用“轮询”响应的形式,比如有6个通道的dma优先级仲裁如下所示:

8、ch1→ch2→ch3→ch4→ch5→ch6→ch1→ch2→…

9、在这种情况下,每个通道传输了一笔数据后,下一个通道就会被响应,一旦ch6或最后启用的通道得到了响应,并且没有其他通道处于挂起的状态,那么仲裁电路将进入空闲状态。

10、在空闲状态下,通道1(如果启用的话)总是先被响应,但是,如果dma正在处理另一个通道x,则在x与最后通道之间的通道(x~6之间),都会在通道1之前被响应。所以在一定意义上说,所有通道都具有相同的优先级。该仲裁方式优点是所有通道的请求可以被同样的几率响应,但是这在都是同类型dma通道请求的情况下可以发挥出优势,在有不同类型dma通道的使用需求时,比如某一通道有特殊要求需要其请求被优先响应,这种情况下轮询仲裁方式就无法满足要求从而影响传输效率。


技术实现思路

1、针对以上现有技术中的不足,本发明提出一种用户可配置的多通道dma优先级仲裁电路及方法,即有两种优先级模式:轮询模式round-robin和chn高优先级模式,两种模式可由用户根据应用需要进行软件配置,两种模式有机结合,互为补充,可有效解决不同场景应用下的数据传输效率问题。

2、本发明解决其技术问题采用的技术方案是:一种用户可配置的多通道dma优先级仲裁电路,包括第一轮询模块、第二轮询模块;所述第一轮询模块采用轮询模式,完成所有通道优先级仲裁;所述第二轮询模块采用chn高优先级结合其他通道轮询响应的方式,完成chn通道及其他通道的优先级仲裁。

3、优选地,chn高优先级模式中,如果触发chn通道的请求事件,chn通道优先于当前突发传输的通道获得总线使用权。

4、优选地,第一轮询模块的输入为所有通道的请求信号,输出为轮询调度的结果。

5、优选地,第二轮询模块的输入为其他通道的请求信号和chn通道的常设值,输出为chn通道的请求信号和其他通道轮询调度结果的结合。

6、优选地,所述的chn通道为用户可选的高优先级通道,重映射到请求最低位。

7、本发明还提供一种模式可配的多通道dma优先级仲裁方法,该方法包括:

8、用户根据需要选择dma的优先级模式:轮询模式或chn高优先级模式;

9、当dma优先级模式为轮询模式时,请求信号输入第一轮询模块后,所有通道参与轮询响应,输出轮询调度的结果;

10、当dma优先级模式为chn高优先级模式时,chn通道的常设值及其他通道的请求信号输入第二轮询模块后,其他通道参与轮询响应,输出高优先级通道chn的请求信号和其他通道的轮询调度结果的结合。

11、与现有技术相比,本发明具有的有益效果是:本发明将用户定义优先级和轮询优先级的仲裁方式进行了有机结合和优化,提出了一种用户可配置的优先级仲裁方法,即有两种优先级模式:轮询模式和chn高优先级模式。chn高优先级模式下,chn通道单独调度,剩余通道采用轮询调度,单独调度的通道具有高优先级,即可实现对有特殊优先级要求的dma通道请求的仲裁。



技术特征:

1.一种用户可配置的多通道dma优先级仲裁电路,其特征在于:包括第一轮询模块、第二轮询模块;所述第一轮询模块采用轮询模式,完成所有通道的优先级仲裁;所述第二轮询模块采用chn高优先级结合其他通道轮询响应的方式,完成chn通道及其他通道的优先级仲裁。

2.根据权利要求1所述的用户可配置的多通道dma优先级仲裁电路,其特征在于:chn高优先级模式中,如果触发chn通道的请求事件,chn通道优先于当前突发传输的通道获得总线使用权。

3.根据权利要求1所述的用户可配置的多通道dma优先级仲裁电路,其特征在于:第一轮询模块的输入为所有通道的请求信号,输出为轮询调度的结果。

4.根据权利要求1所述的用户可配置的多通道dma优先级仲裁电路,其特征在于:第二轮询模块的输入为其他通道的请求信号和chn通道的常设值,输出为chn通道的请求信号和其他通道轮询调度结果的结合。

5.根据权利要求1-4任一项所述的用户可配置的多通道dma优先级仲裁电路,其特征在于:所述的chn通道为用户可选的高优先级通道,重映射到请求最低位。

6.一种模式可配的多通道dma优先级仲裁方法,其特征在于,该方法包括:


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

技术研发人员:李诚,李阳
受保护的技术使用者:青岛本原微电子有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1