一种基于乒乓操作的高效率控制器及其方法

文档序号:6640310阅读:304来源:国知局
一种基于乒乓操作的高效率控制器及其方法
【专利摘要】本发明涉及一种基于乒乓操作的高效率控制器,与外部DSP核连接,包括外部接口模块,用于实现控制器与外部DSP之间的数据传递;主状态机模块,用于完成状态的跳转,通过将计算时间掩盖搬运数据的时间,实现乒乓功能;寄存器组,用于实现外部DSP与本控制器的信息交互;存储分配单元,用于完成内部存储的分配,为实现乒乓操作提供存储资源基础。有益效果为:将内部存储资源分为两部分,在前半部分运算时,搬运后半部分所需的数据,从而掩盖部分搬运数据的时间,实现乒乓操作流程,提高实际运算效率。
【专利说明】一种基于乒乓操作的高效率控制器及其方法

【技术领域】
[0001] 本发明涉及控制器,尤其涉及基于乒乓操作的高效率控制器及其方法。

【背景技术】
[0002] 未来的新型雷达系统将是数字的、开放的、甚至软件化的结构,先进雷达总的趋势 是向阵列化、一体化、精细化、智能化方向发展,其先进性主要体现在性能提升,功能增加, 体制变化和新技术新算法应用方面,雷达总体的发展对处理芯片以及处理系统提出了多通 道、高带宽、大容量、巨型计算的应用需求。为此,信号处理的核心芯片必须不断升级,以满 足雷达系统的应用需求。
[0003] 由于搬运数据一般是由DM完成,而搬运时间很大程度取决于外部总线的通道建 立时间,在多核系统中,该时间是不可控的,因此搬运时间将大大增加,从而使处理器整体 运算效率下降,搬运数据的时间已成为运算效率提升的瓶颈问题。


【发明内容】

[0004] 本发明目的在于克服以上现有技术之不足,提供一种基于乒乓操作的高效率控制 器,具体有以下技术方案实现: 所述基于乒乓操作的高效率控制器,与外部DSP核连接,包括 外部接口模块,用于实现控制器与外部DSP之间的数据传递; 主状态机模块,用于完成状态的跳转,通过将计算时间掩盖搬运数据的时间,实现乒乓 功能; 寄存器组,用于实现外部DSP与本控制器的信息交互; 存储分配单元,用于完成内部存储的分配,为实现乒乓操作提供存储资源基础。
[0005] 所述基于乒乓操作的高效率控制器的进一步设计在于,所述主状态机模块状态设 置,在启动"乒"部分运算后,直接搬运"乓"部分所需数据,实现将搬运数据的时间掩盖。 [0006] 所述基于乒乓操作的高效率控制器的进一步设计在于,所述存储分配单元为静态 随机存储器,包括系统存储单元与数据存储单元,所述系数存储单元由八个存储块组成,数 据存储由三十二个存储块组成,在乒乓操作时,数据存储分为前后各十六个存储块,分别作 为"乒"、"乓"部分运算的存储资源。
[0007] 根据所述基于乒乓操作的高效率控制器,提供一种基于乒乓操作的高效率控制方 法,包括如下步骤: 1) 主状态机模块检测配置信息,若配置信息有效,则读入配置信息,转入步骤2); 2) 主状态机模块分析配置信息中的运算类型,若运算类型合法,则进入步骤3); 3) 主状态机模块查询DM是否空闲,若DM忙则保持查询状态直到检测到DM空闲,将 搬运第一批源数据时DMA所需的参数传入DMA ; 4) DM搬运第一批源数据,当收到搬运结束的信号时,转入步骤5); 5) 判断是否需要搬运第二批源数据,若需要则转入步骤6),若不需要则转入步骤8); 6) 查询DM是否空闲,若DM忙则保持查询状态直到检测到DM空闲,将搬运第二批源 数据时DM所需的参数传入DMA,配置完成后转入步骤7); 7) DM搬运第二批源数据,当收到搬运结束的信号时,转入步骤8); 8) 在该状态下拉低与DM相关的所有信号,转入步骤9); 9) 查询运算阵列是否空闲,若运算阵列忙则保持查询状态直到检测到运算阵列空闲, 启动运算阵列; 10) 若需要乒乓操作且为第一次乒乓,则转入步骤2),否则查询运算阵列是否计算完 毕,若收到计算完成信号,则转入步骤11); 11) 查询DM是否空闲,若DM忙则保持查询状态直到检测到DM空闲,将搬运结果数 据时DM所需的参数传入DMA,配置完成后进入步骤12); 12) DM搬运结果数据,当收到搬运结束的信号时,转入步骤13); 13) 若需要乒乓操作且为最后一次乒乓,则转入步骤11),若需要乒乓操作但不是最后 一次乒乓,则转入步骤2),若整个算法完成,则转入步骤1 ),主状态机模块处于等待状态。
[0008] 本发明的优点如下: 本发明提供的基于乒乓操作的高效率控制器,将内部存储资源分为两部分,在前半部 分运算时,搬运后半部分所需的数据,从而掩盖部分搬运数据的时间,实现乒乓操作流程, 提商实际运算效率。

【专利附图】

【附图说明】
[0009] 图1是RASP体系结构示意图。
[0010] 图2是主状态机状态转换图。
[0011] 图3是mem_sel赋值图(兵兵操作)。
[0012] 图4是乒乓操作示意图。

【具体实施方式】
[0013] 下面结合附图对本发明方案进行详细的说明。
[0014] 本实施例提供的基于乒乓操作的高效率控制器,与外部DSP核连接,主要由外部 接口模块、主状态机模块、寄存器组以及存储分配单元组成。其中,外部接口模块,用于实 现控制器与外部DSP之间的数据传递;主状态机模块,用于完成状态的跳转,通过将计算时 间掩盖搬运数据的时间,实现乒乓功能;寄存器组,用于实现外部DSP与本控制器的信息交 互;存储分配单元,用于完成内部存储的分配,为实现乒乓操作提供存储资源基础。
[0015] 进一步的,主状态机模块状态设置,在启动"乒"部分运算后,直接搬运"乓"部分 所需数据,实现将搬运数据的时间掩盖。
[0016] 本实施例中,存储分配单元为静态随机存储器,包括系统存储单元与数据存储单 元,系数存储单元由八个存储块组成,数据存储由三十二个存储块组成,在乒乓操作时,数 据存储分为前后各十六个存储块,分别作为"乒"、"乓"部分运算的存储资源。
[0017] 以一款专用可重构应用处理器核(RASP)作为验证平台。RASP的总体架构如图1 所示,其主体结构包括主控制器、重构控制器、可重构计算阵列、存储器、DM和AXI接口。其 中主控制器即为本发明方案所述控制器。
[0018] 本实施例提供的基于乒乓操作的高效率控制器,其主状态机模块中,共有如下几 个状态: IDLE :若配置信息有效,则读入配置信息,此时进入READY状态。
[0019] READY :这时分析配置信息中的运算类型,若运算类型合法,则进入INPUT_ADDR1_ READY状态。
[0020] INPUT_ADDR1_READY :查询DM是否空闲,若DM忙则保持查询状态直到检测到 DM空闲,将搬运第一批源数据时DM所需的参数传入DMA,配置完成后进入INPUT_ADDR1_ TRANS状态。
[0021] INPUT_ADDR1_TRANS :DMA搬运第一批源数据,当收到搬运结束的信号时,进入 INPUT_ADDR1_TRANS_FINISH 状态。
[0022] INPUT_ADDR1_TRANS_FINI SH:判断是否需要搬运第二批源数据,若需要则进入 INPUT_ADDR2_READY状态,若不需要则直接进入CALCULATE_READY状态。
[0023] INPUT_ADDR2_READY :查询DM是否空闲,若DM忙则保持查询状态直到检测到 DM空闲,将搬运第二批源数据时DM所需的参数传入DMA,配置完成后进入INPUT_ADDR2_ TRANS状态。
[0024] INPUT_ADDR2_TRANS :DMA搬运第二批源数据,当收到搬运结束的信号时,进入 INPUT_ADDR2_TRANS_FINISH 状态。
[0025] INPUT_ADDR2_TRANS_FINISH :在该状态下拉低与DMA相关的所有信号,进入 CALCULATE_READY 状态。
[0026] CAIXULATE_READY :查询运算阵列是否空闲,若运算阵列忙则保持查询状态直到检 测到运算阵列空闲,启动运算阵列,进入CAIXULATE状态。
[0027] CAIXULATE :若需要乒乓操作且为第一次乒乓,则跳回READY状态,否则查询运算 阵列是否计算完毕,若收到计算完成信号,则进入RESULT_TRANS_READY状态。
[0028] RESULT_TRANS_READY :查询DM是否空闲,若DM忙则保持查询状态直到检测到 DM空闲,将搬运结果数据时DM所需的参数传入DMA,配置完成后进入RESULT_TRANS状 态。
[0029] RESULT_TRANS :DMA搬运结果数据,当收到搬运结束的信号时,进入RESULT_ TRANS_FINISH 状态。
[0030] RESULT_TRANS_FINISH :若需要乒乓操作且为最后一次乒乓,则跳回RESULT_ TRANS_READY状态,若需要乒乓操作但不是最后一次乒乓,则跳回READY状态,若整个算法 完成,则跳回IDLE状态。
[0031] 状态转换图如图2所示。
[0032] 本实施例提供的基于乒乓操作的高效率控制器,其存储分配单元由一组3位的信 号mem_ sel控制,三位分别代表系数存储,数据存储前16个bank,数据存储后16个bank。 每一位中,0代表该部分存储单元给DMA_P0RT使用,1代表该部分存储单元给运算阵列使 用。非兵兵操作下,当搬运源数据或结果时,mem_sel的3位均为0 ;当运算时,mem_sel的 3位均为1 ;当可以进行乒乓操作时,mem_sel的赋值如图3所示。
[0033] 本实施例提供的基于乒乓操作的高效率控制器,其乒乓流程如图4所示。在计算 数据存储前16个bank的结果时,搬运数据存储后16个bank的数据;在计算数据存储后16 个bank的结果时,搬运数据存储前16个bank的数据。
[0034] 系统测试: 以典型算法FFT为例,基于VCS平台进行仿真测试,分别取样Ik点FFT,4k点FFT和 32k点FFT,采取连续两次同点数非乒乓操作与乒乓操作对比的方式,得到效率提升对比表 如表1所示。
[0035] 表 1

【权利要求】
1. 一种基于兵兵操作的高效率控制器,与外部DSP核连接,其特征在于包括 外部接口模块,用于实现控制器与外部DSP之间的数据传递; 主状态机模块,用于完成状态的跳转,通过将计算时间掩盖搬运数据的时间,实现兵兵 功能; 寄存器组,用于实现外部DSP与本控制器的信息交互; 存储分配单元,用于完成内部存储的分配,为实现兵兵操作提供存储资源基础。
2. 根据权利要求1所述的基于兵兵操作的高效率控制器,其特征在于所述主状态机模 块状态设置,在启动"兵"部分运算后,直接搬运"兵"部分所需数据,实现将搬运数据的时 间掩盖。
3. 根据权利要求1所述的基于兵兵操作的高效率控制器,其特征在于所述存储分配单 元为静态随机存储器,包括系统存储单元与数据存储单元,所述系数存储单元由八个存储 块组成,数据存储由H十二个存储块组成,在兵兵操作时,数据存储分为前后各十六个存储 块,分别作为"兵"、"兵"部分运算的存储资源。
4. 如权利要求1-3任一项所述的基于兵兵操作的高效率控制器,提供一种基于兵兵操 作的高效率控制方法,其特征在于包括如下步骤: 1) 主状态机模块检测配置信息,若配置信息有效,则读入配置信息,转入步骤2); 2) 主状态机模块分析配置信息中的运算类型,若运算类型合法,则进入步骤3); 3) 主状态机模块查询DMA是否空闲,若DMA忙则保持查询状态直到检测到DMA空闲,将 搬运第一批源数据时DMA所需的参数传入DMA ; 4. DMA搬运第一批源数据,当收到搬运结束的信号时,转入步骤5); 5) 判断是否需要搬运第二批源数据,若需要则转入步骤6),若不需要则转入步骤8); 6) 查询DMA是否空闲,若DMA忙则保持查询状态直到检测到DMA空闲,将搬运第二批源 数据时DMA所需的参数传入DMA,配置完成后转入步骤7); 7. DMA搬运第二批源数据,当收到搬运结束的信号时,转入步骤8); 8) 在该状态下拉低与DMA相关的所有信号,转入步骤9); 9) 查询运算阵列是否空闲,若运算阵列忙则保持查询状态直到检测到运算阵列空闲, 启动运算阵列; 10) 若需要兵兵操作且为第一次兵兵,则转入步骤2),否则查询运算阵列是否计算完 毕,若收到计算完成信号,则转入步骤11); 11) 查询DMA是否空闲,若DMA忙则保持查询状态直到检测到DMA空闲,将搬运结果数 据时DMA所需的参数传入DMA,配置完成后进入步骤12); 12. DMA搬运结果数据,当收到搬运结束的信号时,转入步骤13); 13) 若需要兵兵操作且为最后一次兵兵,则转入步骤11),若需要兵兵操作但不是最后 一次兵兵,则转入步骤2),若整个算法完成,则转入步骤1 ),主状态机模块处于等待状态。
【文档编号】G06F9/38GK104461465SQ201410833374
【公开日】2015年3月25日 申请日期:2014年12月29日 优先权日:2014年12月29日
【发明者】潘红兵, 李丽, 钱禹, 任稳稳, 陈铠, 周海斌, 何书专, 沙金, 李伟 申请人:南京大学, 中国电子科技集团公司第十四研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1