《一种用于并发访问的数据存储器仲裁电路及仲裁方法.pdf》由会员分享,可在线阅读,更多相关《一种用于并发访问的数据存储器仲裁电路及仲裁方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104298628A43申请公布日20150121CN104298628A21申请号201410519692022申请日20140930G06F13/28200601G06F13/1820060171申请人中国电子科技集团公司第三十八研究所地址230001安徽省合肥市高新技术开发区香樟大道199号72发明人胡孔阳刘小明龚晓华刘玉胡海生王媛54发明名称一种用于并发访问的数据存储器仲裁电路及仲裁方法57摘要一种用于并发访问的数据存储器仲裁电路,包括用于连接外设通道请求接口的外设DMA通道一级仲裁模块,以固定优先级仲裁策略将请求同一存储器BLOCK的通道按从高优先级到低优先级排列;。
2、用于连接本地访存通道和核间访存通道的访存通道一级仲裁模块;用于连接外设DMA通道一级仲裁模块和访存通道一级仲裁模块的外设DMA通道与访存通道的二级仲裁模块;原子操作指令保护模块,为每个存储器BLOCK设置原子操作保护标志位。本发明孩提供了一种用于并发访问的数据存储器的仲裁方法。本发明的优点在于为多路外设DMA通道和多路访存通道并发请求多端口数据存储器提供了有效的仲裁策略,支持访存通道原子类型的请求,可以及时响应高优先级通道请求。51INTCL权利要求书2页说明书3页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书3页附图3页10申请公布号CN104298628ACN。
3、104298628A1/2页21一种用于并发访问的数据存储器仲裁电路,其特征在于包括外设DMA通道一级仲裁模块,用于连接外设通道请求接口,以固定优先级仲裁策略将请求同一存储器BLOCK的通道按从高优先级到低优先级排列,对于每个存储器BLOCK均存在相类似的逻辑,外设DMA通道一级仲裁模块初步预测出每个DMA通道的仲裁结果和每个存储器BLOCK的占用状态;访存通道一级仲裁模块,用于连接本地访存通道和核间访存通道,访存通道一次存储器请求可以请求多个存储器BLOCK,为保证执行行操作的一致性,要求一次请求中的多个存储器BLOCK同时获得仲裁权,两组访存通道按多核操作系统要求,以固定优先级仲裁策略进行。
4、仲裁判决;外设DMA通道与访存通道的二级仲裁模块,用于连接外设DMA通道一级仲裁模块和访存通道一级仲裁模块,将两个一级仲裁模块输出的仲裁结果结合原子操作指令保护模块输出的保护位标志联合判定,以访存优先级大于外设DMA通道为仲裁策略,重新判定外设DMA通道的仲裁结果和存储器BLOCK占用状态,生成多路通道的暂停和握手信号;原子操作指令保护模块,为每个存储器BLOCK设置原子操作保护标志位,当访存通道请求为原子操作指令时,相应存储器BLOCK保护标志位有效,此时,如果外设DMA通道有相同BLOCK请求,则判定其二级仲裁结果为失败。2如权利要求1所述的一种用于并发访问的数据存储器仲裁电路,其特征在于。
5、上述用于并发访问的数据存储器仲裁电路的仲裁方法如下所述步骤一判断外设DMA通道M是否存在对存储器BLOCKN的读写请求,并且通道M是否处于所有外设DMA通道中最高优先级,如果是,则转步骤二,如果否,则转步骤三;步骤二判断访存通道是否存在对存储器BLOCKN的读写请求,如果是,则转步骤三,如果否,则转步骤四;步骤三外设DMA通道M没有获得相应的仲裁权,如果通道M存在有效的存储器读写操作,则下一时钟周期前端输入寄存器需要保持上一周期的值;访存通道若存在相应存储器读写请求则获得对应的读写仲裁权;步骤四检测存储器BLOCKP的原子操作指令保护标志,如果有效,则转步骤三,如果无效,则转步骤五;步骤五外设。
6、DMA通道M获得存储器BLOCKP的访问仲裁权,其读写信号会被选择到相应的存储器输入端口,对于读操作,还需要将仲裁结果随流水线更新至后两级,以生成读出数据有效标志。3一种用于并发访问的数据存储器仲裁的仲裁方法,其特征在于具体包括下述步骤步骤一判断外设DMA通道M是否存在对存储器BLOCKN的读写请求,并且通道M是否处于所有外设DMA通道中最高优先级,如果是,则转步骤二,如果否,则转步骤三;步骤二判断访存通道是否存在对存储器BLOCKN的读写请求,如果是,则转步骤三,如果否,则转步骤四;步骤三外设DMA通道M没有获得相应的仲裁权,如果通道M存在有效的存储器读写操作,则下一时钟周期前端输入寄存器需。
7、要保持上一周期的值;访存通道若存在相应存储器读写请求则获得对应的读写仲裁权;权利要求书CN104298628A2/2页3步骤四检测存储器BLOCKP的原子操作指令保护标志,如果有效,则转步骤三,如果无效,则转步骤五;步骤五外设DMA通道M获得存储器BLOCKP的访问仲裁权,其读写信号会被选择到相应的存储器输入端口,对于读操作,还需要将仲裁结果随流水线更新至后两级,以生成读出数据有效标志。权利要求书CN104298628A1/3页4一种用于并发访问的数据存储器仲裁电路及仲裁方法技术领域0001本发明涉及一种应用于数字信号处理器的存储器仲裁电路,属数字信号处理器技术领域。背景技术0002随着微电子。
8、工艺水平的发展,数字信号处理器性能日益提高,处理器由单核向多核发展,集成的外设部件也越来越多,与此相对应,外设通道、指令访存通道、核间访存通道对数据存储器的带宽匹配提出了新的需求。在这种背景下,多路优先级不同的通道同时访问存储器时,便会出现复杂的仲裁和竞争关系,指令访存通道中的原子操作在仲裁过程中还需要提供特殊的保护逻辑。发明内容0003本发明的所要解决的技术问题在于提供一种能够解决多路外设DMADIRECTMEMORYACCESS,直接内存存取通道、多路访存通道对数据存储器的优先级仲裁的应用于数字信号处理器的数据存储器仲裁电路。0004本发明采用以下技术方案解决上述技术问题的一种用于并发访问。
9、的数据存储器仲裁电路,包括0005外设DMA通道一级仲裁模块,用于连接外设通道请求接口,以固定优先级仲裁策略将请求同一存储器BLOCK的通道按从高优先级到低优先级排列,对于每个存储器BLOCK均存在相类似的逻辑,外设DMA通道一级仲裁模块初步预测出每个DMA通道的仲裁结果和每个存储器BLOCK的占用状态;0006访存通道一级仲裁模块,用于连接本地访存通道和核间访存通道,访存通道一次存储器请求可以请求多个存储器BLOCK,为保证执行行操作的一致性,要求一次请求中的多个存储器BLOCK同时获得仲裁权,两组访存通道按多核操作系统要求,以固定优先级仲裁策略进行仲裁判决;0007外设DMA通道与访存通道。
10、的二级仲裁模块,用于连接外设DMA通道一级仲裁模块和访存通道一级仲裁模块,将两个一级仲裁模块输出的仲裁结果结合原子操作指令保护模块输出的保护位标志联合判定,以访存优先级大于外设DMA通道为仲裁策略,重新判定外设DMA通道的仲裁结果和存储器BLOCK占用状态,生成多路通道的暂停和握手信号;0008原子操作指令保护模块,为每个存储器BLOCK设置原子操作保护标志位,当访存通道请求为原子操作指令时,相应存储器BLOCK保护标志位有效,此时,如果外设DMA通道有相同BLOCK请求,则判定其二级仲裁结果为失败。0009数字信号处理器中的存储器仲裁电路存在于数据存储器和请求通道之间,是按照优先权利要求进行。
11、逻辑处理的电路模块,其作用主要在于00101、平衡存储器读写带宽与多路通道请求带宽,可满足多输入请求通道至多输出响应通道的选择。说明书CN104298628A2/3页500112、按通道优先级要求,响应存储器数据读写操作,保证高优先级的请求优先获得响应,低优先级的请求在高优先级传输间隙获得响应。00123、对于原子操作提供相应的保护机制,保证原子读写的一致性。0013原子操作是不可分割的,在执行完毕前不会被任何其它任务或事件中断。在数字信号处理器中,定义原子操作指令如下在原子操作指令中,读请求和写请求必须在同一执行行中配对使用,同时,剩下的指令槽上不允许出现普通访存指令。即原子操作为同一指令行。
12、上的一读和一写。0014本发明还提供了一种用于并发访问的数据存储器仲裁的仲裁方法,具体包括下述步骤0015步骤一判断外设DMA通道M是否存在对存储器BLOCKN的读写请求,并且通道M是否处于所有外设DMA通道中最高优先级,如果是,则转步骤二,如果否,则转步骤三;0016步骤二判断访存通道是否存在对存储器BLOCKN的读写请求,如果是,则转步骤三,如果否,则转步骤四;0017步骤三外设DMA通道M没有获得相应的仲裁权,如果通道M存在有效的存储器读写操作,则下一时钟周期前端输入寄存器需要保持上一周期的值;访存通道若存在相应存储器读写请求则获得对应的读写仲裁权;0018步骤四检测存储器BLOCKP的。
13、原子操作指令保护标志,如果有效,则转步骤三,如果无效,则转步骤五;0019步骤五外设DMA通道M获得存储器BLOCKP的访问仲裁权,其读写信号会被选择到相应的存储器输入端口,对于读操作,还需要将仲裁结果随流水线更新至后两级,以生成读出数据有效标志。0020本发明的优点在于为多路外设DMA通道和多路访存通道并发请求多端口数据存储器提供了有效的仲裁策略,支持访存通道原子类型的请求,可以及时响应高优先级通道请求,同时,由于采用纯组合逻辑电路,每个时钟周期均可更新仲裁结果,低优先级通道可以利用高优先级通道传输间隙得以访问存储器,兼顾了多路通道请求的实时性和存储器带宽充分利用的特点。附图说明0021图1。
14、本发明应用于数字信号处理器的数据存储器仲裁电路的结构框图;0022图2是数据存储器示意图;0023图3是多路并发访问数据存储器时序示意图。具体实施方式0024以下结合附图对本发明进行详细的描述。0025如图1所示,数据存储器仲裁电路由纯组合逻辑单元构成,其输入为多路访问请求通道经并串转换后寄存输出的读写端口,经过一级仲裁、二级仲裁共三个仲裁模块后输出至相应的存储器输入端口。0026仲裁以存储器BLOCK为单位,图1所示为针对存储器BLOCK0的仲裁选择,若存储器由N个N大于1BLOCK组成,则每个BLOCK均存在相应的应用于数字信号处理器的数据说明书CN104298628A3/3页6存储器仲裁。
15、电路。原子操作指令保护标志在二级仲裁模块影响各通道优先级选择及仲裁结果。与仲裁结果每周期更新行为相同,原子操作指令保护标志位同样每周期随访存指令更新。0027如图2所示,仲裁电路所支持的数据存储器由多个BLOCK构成,每个存储器BLOCK由多个存储器BANK构成,图2中所举例的存储器BANK深度为8KB,数据位宽为32BIT。0028如图3所示,T1时刻外设DMA通道0发起对存储器BLOCK0的读写请求,同时外设DMA通道1发起对存储器BLOCK1的请求,访存通道发起对存储器BLOCK2的请求,由于没有发生BLOCK冲突,3路访问通道均获得仲裁权。0029T2时刻外设DMA通道0发起对存储器B。
16、LOCK1的请求,同时外设DMA通道1也发起对存储器BLOCK1的请求,并与访存通道请求不冲突,此时访存通道与外设DMA通道1均获得仲裁权,外设DMA通道0失去仲裁权。0030T3时刻由于外设DMA通道均与访存通道相冲突,访存通道获得仲裁权,外设DMA通道均失去仲裁权。0031T4时刻访存通道发起原子操作请求,并且原子操作针对存储器BLOCK2,与此同时,外设DMA与访存通道没有发生BLOCK冲突,因而均可以获得仲裁权。0032T5时间段内受原子操作指令保护标志的影响,任何外设DMA通道发起的对存储器BLOCK2的请求均被阻塞,而外设DMA通道0发起的针对存储器BLOCK3的请求则可以被选择服。
17、务。0033数据存储器仲裁电路具体工作方式如下所述0034步骤一判断外设DMA通道M是否存在对存储器BLOCKN的读写请求,并且通道M是否处于所有外设DMA通道中最高优先级,如果是,则转步骤二,如果否,则转步骤三;0035步骤二判断访存通道是否存在对存储器BLOCKN的读写请求,如果是,则转步骤三,如果否,则转步骤四;0036步骤三外设DMA通道M没有获得相应的仲裁权,如果通道M存在有效的存储器读写操作,则下一时钟周期前端输入寄存器需要保持上一周期的值;访存通道若存在相应存储器读写请求则获得对应的读写仲裁权;0037步骤四检测存储器BLOCKP的原子操作指令保护标志,如果有效,则转步骤三,如果无效,则转步骤五;0038步骤五外设DMA通道M获得存储器BLOCKP的访问仲裁权,其读写信号会被选择到相应的存储器输入端口,对于读操作,还需要将仲裁结果随流水线更新至后两级,以生成读出数据有效标志。0039上述M和P是1到N之间的任一数字。0040以上所述仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。说明书CN104298628A1/3页7图1说明书附图CN104298628A2/3页8图2说明书附图CN104298628A3/3页9图3说明书附图CN104298628A。