一种用于多处理器的多端口访存控制器制造技术

技术编号:11580673 阅读:92 留言:0更新日期:2015-06-10 13:59
本实用新型专利技术涉及一种用于多处理器的多端口访存控制器,包括指令通道,其输入端分别与多处理器的外设DMA通道、内核DMA通道的输出端相连,其输出端与仲裁模块的输入端相连,仲裁模块的输出端与存储器阵列的输入端相连,存储器阵列的输出端与数据通道的输入端相连,数据通道的输出端分别与多处理器的外设DMA通道、内核DMA通道的输入端相连。本实用新型专利技术为多路DMA通道并发请求提供了有效的响应机制,兼顾请求响应的实时性和存储器带宽充分利用的特点,能够提高访存数据的吞吐率,减小因为地址冲突所造成的等待时间。

【技术实现步骤摘要】

本技术涉及数字信号处理
,尤其是一种用于多处理器的多端口访存控制器
技术介绍
多端口访存控制器的技术是为了解决在多处理器核和集成高速外设的片上网中,大量数据的存储和交换工作。对于由SRAM构成的存储器阵列,既要利用其读写端口简单易操作的特性,又要兼顾多通道并发请求仲裁机制的合理性,充分发挥最大的数据带宽。以往多端口访存控制器沿用请求和数据串入串出的特点,对由单口 SRAM所构成的存储器,当多路请求同时生效并且冲突时,往往会按优先级选择其中某一路进入存储单元,其余请求则会等待,降低了访存数据的吞吐率。
技术实现思路
本技术的目的在于提供一种能够提高访存数据的吞吐率,减小因为地址冲突所造成的等待时间的用于多处理器的多端口访存控制器。为实现上述目的,本技术采用了以下技术方案:一种用于多处理器的多端口访存控制器,包括指令通道,其输入端分别与多处理器的外设DMA通道、内核DMA通道的输出端相连,其输出端与仲裁模块的输入端相连,仲裁模块的输出端与存储器阵列的输入端相连,存储器阵列的输出端与数据通道的输入端相连,数据通道的输出端分别与多处理器的外设DMA通道、内核DMA通道的输入端相连。所述指令通道由第一、二 BANK选择模块、第一请求合并模块、第二请求合并模块、第一串行化模块和第二串行化模块组成,所述第一 BANK选择模块的输入端与外设DMA通道的输出端相连,第一 BANK选择模块的输出端与第一请求合并模块的输入端相连,第一请求合并模块的输出端与第一串行化模块的输入端相连;所述第二 BANK选择模块的输入端与内核DMA通道的输出端相连,第二 BANK选择模块的输出端与第二请求合并模块的输入端相连,第二请求合并模块的输出端与第二串行化模块的输入端相连,第一串行化模块、第二串行化模块的输出端均与仲裁模块的输入端相连。所述存储器阵列由多个存储器BLOCK组成,每个存储器BLOCK由多个存储器BANK组成。所述数据通道由输出寄存器、DMA通道选择模块、数据排序模块、数据合并模块和数据输出缓冲模块组成,所述输出寄存器的输入端与存储器阵列的输出端相连,输出寄存器的输出端与DMA通道选择模块的输入端相连,DMA通道选择模块的输出端与数据排序模块的输入端相连,数据排序模块的输出端与数据合并模块的输入端相连,数据合并模块的输出端与内设第三串行化模块的数据输出缓冲模块的输入端相连,数据缓冲模块的输出端分别与外设DMA通道、内核DMA通道的输入端相连。所述第一请求合并模块、第二请求合并模块的电路相同,所述第一请求合并模块由五级二选一数据选择器组成,其中,第一级二选一数据选择器C2的输入端与第一 BANK选择模块的输出端相连,第一级二选一数据选择器C2的输出端与第二级二选一数据选择器C4的输入端相连,第二级二选一数据选择器C4的输出端与第三级二选一数据选择器CS的输入端相连,第三级二选一数据选择器CS的输出端与第四级二选一数据选择器C16的输入端相连,第四级二选一数据选择器C16的输出端与第五级二选一数据选择器C32的输入端相连,第五级二选一数据选择器C32的输出端与第一串行化模块的输入端相连;第一级二选一数据选择器C2的个数为外设DMA通道个数和内核DMA通道个数之和的二分之一,第二级二选一数据选择器C4的个数为第一级二选一数据选择器C2的个数的二分之一,第三级二选一数据选择器CS的个数为第二级二选一数据选择器C4的个数的二分之一,第四级二选一数据选择器C16的个数为第三级二选一数据选择器CS的个数的二分之一,第五级二选一数据选择器C32的个数为第四级二选一数据选择器C16的个数的二分之一。所述第一串行化模块、第二串行化模块的电路相同,所述第一串行化模块由多个寄存器和多个二选一数据选择器交替排序组成,寄存器和二选一数据选择器的个数均为外设DMA通道个数和内核DMA通道个数之和,各个二选一数据选择器的第一输入端均接第一请求合并模块的输出端,各个二选一数据选择器的第二输入端接与其相邻的寄存器的输出端Q端,各个二选一数据选择器的控制端stall接倒数第二个寄存器的输出端Q端,各个二选一数据选择器的输出端接与其相邻的寄存器的输入端D端,各个寄存器的控制端HOLD端与仲裁模块的仲裁结果输出端arbt端相连,最后一个寄存器的输出端Q端作为第一串行化模块的输出端与仲裁模块的输入端相连。所述数据合并模块由多个寄存器和多个三十二选一数据选择器交替排序组成,寄存器和数据选择器的个数均为外设DMA通道个数和内核DMA通道个数之和,各个数据选择器的输入端均接数据排序模块的输出端,各个数据选择器的输出端均接与其相邻的寄存器的输入端D端,各个数据选择器的控制端stall接外设DMA通道、内核DMA通道的输出端,各个寄存器的输出端Q端作为数据合并模块的输出端与数据输出缓冲模块的输入端相连。由上述技术方案可知,本技术在指令通道中将同一时刻多通道的请求选择至目标存储器BANK,后经并串行化模块输出至仲裁模块,在获取仲裁权后将读写请求选择至相应存储器输入端口 ;对于各存储器BANK返回的读数据,同样按照其所对应的DMA通道号选择至相应的DMA数据通道,再经数据合并和串行化后输出。由于经多端口访存控制器输出的读数据顺序与输入的读请求不一定相同,在DMA通道一端,需要按照数据所附加的ID号与请求ID相匹配。本技术为多路DMA通道并发请求提供了有效的响应机制,兼顾请求响应的实时性和存储器带宽充分利用的特点,能够提高访存数据的吞吐率,减小因为地址冲突所造成的等待时间。【附图说明】图1为本技术的电路框图。图2、3、4、5为本技术中存储器阵列、第一请求合并模块、第一串行化模块、数据合并模块的电路原理图。【具体实施方式】一种用于多处理器的多端口访存控制器,包括指令通道30,其输入端分别与多处理器的外设DMA通道10、内核DMA通道20的输出端相连,其输出端与仲裁模块40的输入端相连,仲裁模块40的输出端与存储器阵列50的输入端相连,存储器阵列50的输出端与数据通道60的输入端相连,数据通道60的输出端分别与多处理器的外设DMA通道10、内核DMA通道20的输入端相连,如图1所示。指令通道30用于连接多路DMA请求接口,针对每个存储器BANK串行化读写请求,对于每一个存储器BANK均存在这样一组逻辑;仲裁逻模块用于按固定优先级判定仲裁结果;存储器阵列50是由单口 SRAM所组成的存储器BANK和存储器BLOCK,用于响应经仲裁模块40输出的读写数据请求;数据通道60,用于连接存储器数据输出端口,针对每个DMA请求通道合并读出数据并将其串行化后输出,对于每一个DMA请求通道均在这样一组逻辑。如图1所示,所述指令通道30由第一、二 BANK选择模块、第一请求合并模块31、第二请求合并模块、第一串行化模块32和第二串行化模块组成,所述第一 BANK选择模块的输入端与外设DMA通道10的输出端相连,第一 BANK选择模块的输出端与第一请求合并模块31的输入端相连,第一请求合并模块31的输出端与第一串行化模块32的输入端相连;所述第二 BANK选择模块的输入端与内核DMA通道20的输出端相连,第二 BANK选择模块的输出端与第二本文档来自技高网...

【技术保护点】
一种用于多处理器的多端口访存控制器,其特征在于:包括指令通道(30),其输入端分别与多处理器的外设DMA通道(10)、内核DMA通道(20)的输出端相连,其输出端与仲裁模块(40)的输入端相连,仲裁模块(40)的输出端与存储器阵列(50)的输入端相连,存储器阵列(50)的输出端与数据通道(60)的输入端相连,数据通道(60)的输出端分别与多处理器的外设DMA通道(10)、内核DMA通道(20)的输入端相连。

【技术特征摘要】

【专利技术属性】
技术研发人员:胡孔阳刘小明龚晓华刘玉胡海生王媛
申请(专利权)人:中国电子科技集团公司第三十八研究所
类型:新型
国别省市:安徽;34

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

1