首页> 中国专利> 一种面向粗粒度可重构系统的多模式动态可配高速访存接口

一种面向粗粒度可重构系统的多模式动态可配高速访存接口

摘要

一种面向粗粒度可重构系统的多模式动态可配高速访存接口,基于传统的访存接口,增加了访问模式可配置功能:针对不同的数据分布类型,可以在系统运行过程中,动态地配置成相应的四种访问模式。包括:单数据传输模式、猝发数据传输模式、二维数据传输模式、链式数据传输模式。此访存接口可以根据配置信息和数据分布形式,提前向片外同步动态存储器发起多个数据访问请求,从而减少数据和配置的访问延迟。

著录项

  • 公开/公告号CN104820659A

    专利类型发明专利

  • 公开/公告日2015-08-05

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN201510281857.X

  • 申请日2015-05-28

  • 分类号

  • 代理机构江苏永衡昭辉律师事务所;

  • 代理人王斌

  • 地址 210096 江苏省南京市四牌楼2号

  • 入库时间 2023-12-18 10:16:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-02

    授权

    授权

  • 2015-09-02

    实质审查的生效 IPC(主分类):G06F15/78 申请日:20150528

    实质审查的生效

  • 2015-08-05

    公开

    公开

说明书

技术领域

本发明涉及嵌入式可重构设计领域,一种面向粗粒度动态可重构系统的多模式动态可配高速访存接口设计,可用于高性能可重构系统,实现并加速可重构处理器与片外同步动态存储器的数据传输。

背景技术

通用处理器和专用集成电路(ASIC)一直以来都是两种主要的计算模式。随着对计算效率的要求不断提高,一种兼顾通用处理器灵活性和专用集成电路高效性的可重构计算技术开始进入人们眼帘。可重构计算技术通过对运算单元的配置,能够将某一算法转换为数据流的形式,提高运算效率。这里提到的粗粒度动态可重构处理器就是一种基于可重构计算技术的片上系统芯片(SOC)。

本发明中的可重构数据访存接口针对的片外同步动态存储器是DDR2 SDRAM存储芯片。该存储器具有三维结构,在数据读写之前需要完成页、行、列的选择和激活,其中行的激活和预充电过程需要大量时间。针对这样的外存特性,大部分存储接口都采用页重排的机制,存储器不同页相对独立,可以同时进行页的激活和预充电,通过将相邻两次访存操作分布在不同页上,可以有效地覆盖行的激活和预充电时间。本发明在此基础上增加了针对多种访问模式的访存机制。

发明内容

本发明的目的在于:可重构处理器芯片设计过程中,高吞吐量的外存访问接口的设计关系到整个芯片的性能,需要满足各种算法的访存需求。目前可重构处理器的访存接口仅针对某一类算法进行优化,或者没有对算法进行访存优化,本发明提出一个优化范围更广的访存接口,能够针对13大类算法进行访存优化的,适用于可重构处理器的外存访问接口,采取合适的方案提高二级缓存命中率,减少内存访问时延,提高处理器存储系统数据吞吐率,提升处理器芯片性能。

本发明的技术方案如下:应用于由系统总线、可重构处理器、多模式动态可配高速访存接口、片外同步动态存储器构成的可重构外存访问系统;其中系统总线和可重构处理器向访存接口发起数据请求,访存接口对数据请求完成处理后,向片外同步动态存储器发起外存访问请求,完成数据的访问.多模式动态可配高速访存接口针对不同的数据分布类型,可以在系统运行过程中,动态地配置成相应的四种访问模式,包括:单数据传输模式、猝发数据传输模式、二维数据传输模式、链式数据传输模式,并根据配置信息和数据分布形式,提前发起多个数据访问请求,从而减少数据访问延迟。

所述的多模式动态可配高速访存接口包括配置接口、可重构系统数据接口、总线接口、配置控制器、功能执行模块、外部存储器接口;其中,配置控制器能够解析从可重构处理单元发送来的配置信息;可重构系统数据接口用于多模式动态可配高速访存接口与可重构阵列的数据交互;总线接口完成系统总线上的访存请求;功能执行模块根据配置信息完成数据通路的重构,包括单数据传输模块、猝发数据传输模块、二维数据传输模块、链式数据传输模块,相应的这些模块分别支持单数据传输模式、猝发数据传输模式、二维数据传输模式、链式数据传输模式;单数据传输模块和猝发数据传输模式与AHB传输协议中的定义相同;外部存储器接口与片外同步动态存储器进行交互,完成数据的传递。

所述功能执行模块中的二维数据传输模块,包括数据行地址缓存、数据行长缓存、跳转长度缓存、数据行条目数缓存、数据行计数器、数据索引号计数器、数据请求地址缓存;其中,数据行地址缓存、跳转长度缓存、数据行条目数缓存用于缓存从配置模块接受的相关配置信息;数据行计数器用于记录当前数据请求在数据块中的行信息;数据索引号计数器用于记录当前数据请求在数据块中的位置信息;数据请求地址缓存用于记录当前数据请求的物理地址。

所述功能执行模块中的链式数据传输模式包括行1个节点首地址缓存、7个节点跳转步长缓存、8个节点长度缓存、节点数缓存、节点计数器、数据索引号计数器、数据请求地址缓存;其中,1个节点首地址缓存、7个节点跳转步长缓存、8个节点长度缓存、节点数缓存用于缓存从配置模块接受的相关配置信息;节点计数器用于记录当前数据请求在数据链的第N个节点中;数据索引号计数器用于记录当前数据请求位于当前节点的第N个;数据请求地址缓存用于记录当前数据请求的物理地址。

所述多模式动态可配高速访存接口以二维数据传输模式工作时,主要流程为:(1)从配置信息中获取二维数据块的数据行地址、数据行长度、跳转长度、数据行条目数,将数据索引号计数器和数据行计数器设置为0,(2)开始通过外部存储器接口向片外同步动态存储器发送数据请求,使用数据索引号计数器记录当前行已发起的数据请求个数 ,(3)当数据索引号计数器与数据行长度相等时,数据行计数器加1,数据请求地址缓存加上跳转长度 ,(4)当数据行计数器与行数相等时,结束数据请求的发送,(5)当片外同步动态存储器发来请求缓存满信号时,暂停数据请求的发送。

所述多模式动态可配高速访存接口以链式数据传输模式工作时,主要流程为:(1)从配置信息中获取N-1个节点跳转步长、1个节点首地址、N个数据链的节点长度、节点数N(N不大于8),将数据计数器和节点计数器设置为0,(2)开始通过外部存储器接口向片外同步动态存储器发送数据请求,使用数据计数器记录当前节点已发起的数据请求个数 ,(3)当数据索引号计数器与当前节点长度相等时,节点计数器加1,数据请求地址缓存加上当前节点跳转长度 ,(4)当节点计数器与节点数相等时,结束数据请求的发送,(5)当片外同步动态存储器发来请求缓存满信号时,暂停数据请求的发送。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为多模式动态可配高速访存接口结构框图

图2为二维数据传输模块结构框图;

图3为链式数据传输模块结构框图;

图4为二维数据传输模块执行流程图;

图5为链式数据传输模块执行流程图。

具体实施方式

下面结合附图对本发明作更进一步说明。

如图1所示,本发明应用于由系统总线、可重构处理器、多模式动态可配高速访存接口、片外同步动态存储器构成的可重构外存访问系统。其中系统总线和可重构处理器向访存接口发起数据请求,访存接口对数据请求完成处理后,向片外同步动态存储器发起外存访问请求,完成数据的访问。多模式动态可配高速访存接口包括配置接口、可重构系统数据接口、总线接口、配置控制器、功能执行模块、外部存储器接口。其中,配置控制器能够解析从可重构处理单元发送来的配置信息;可重构系统数据接口用于多模式动态可配高速访存接口与可重构阵列的数据交互;总线接口完成系统总线上的访存请求;功能执行模块根据配置信息完成数据通路的重构,包括单数据传输模块、猝发数据传输模块、二维数据传输模块、链式数据传输模块,相应的这些模块分别支持单数据传输模式、猝发数据传输模式、二维数据传输模式、链式数据传输模式。单数据传输模块和猝发数据传输模式与传统AMBA2.0 AHB传输协议中的定义相同。外部存储器接口与片外同步动态存储器进行交互,完成数据的传递。

如图2所示,功能执行模块中的二维数据传输模块,包括数据行地址缓存、数据行长缓存、跳转长度缓存、数据行条目数缓存、数据行计数器、数据索引号计数器、数据请求地址缓存。其中,数据行地址缓存、数据行长度缓存、跳转长度缓存、数据行条目数缓存用于缓存从配置模块接受的相关配置信息;数据行计数器用于记录当前数据请求在数据块中的行信息;数据索引号计数器用于记录当前数据请求在数据块中的位置信息;数据请求地址缓存用于记录当前数据请求的物理地址。

如图3所示,功能执行模块中的链式数据传输模式包括行1个节点首地址缓存、7个节点跳转步长缓存、8个节点长度缓存、节点数缓存、节点计数器、数据索引号计数器、数据请求地址缓存。其中,1个节点首地址缓存、7个节点跳转步长缓存、8个节点长度缓存、节点数缓存用于缓存从配置模块接受的相关配置信息;节点计数器用于记录当前数据请求在数据链的第N个节点中;数据索引号计数器用于记录当前数据请求位于当前节点的第N个;数据请求地址缓存用于记录当前数据请求的物理地址。

如图4所示,多模式动态可配高速访存接口以二维数据传输模式工作时,主要流程为:首先从配置信息中获取二维数据块的数据行地址、数据行长度、跳转长度、数据行条目数,将数据索引号计数器和数据行计数器设置为0。然后开始通过外部存储器接口向片外同步动态存储器发送数据请求,使用数据索引号计数器记录当前行已发起的数据请求个数 。接着当数据索引号计数器与数据行长度相等时,数据行计数器加1,数据请求地址缓存加上跳转长度 ,同时当数据行计数器与行数相等时,结束数据请求的发送。最后当片外同步动态存储器发来请求缓存满信号时,暂停数据请求的发送。

如图5所示,多模式动态可配高速访存接口以链式数据传输模式工作时,主要流程为:首先从配置信息中获取N-1个节点跳转步长、1个节点首地址、N个数据链的节点长度、节点数N(N不大于8),将数据计数器和节点计数器设置为0。然后通过外部存储器接口向片外同步动态存储器发送数据请求,使用数据计数器记录当前节点已发起的数据请求个数 。接着,当数据索引号计数器与当前节点长度相等时,节点计数器加1,数据请求地址缓存加上当前节点跳转长度 ,时当节点计数器与节点数相等时,结束数据请求的发送。最后,当片外同步动态存储器发来请求缓存满信号时,暂停数据请求的发送。

下面结合实例对本发明作更进一步的说明。

本实例在FPGA上进行仿真实验。采用如下测试系统:一个包含4个8*8运算阵列的可重构处理器、一个ARM7嵌入式处理器、两片容量为256MB的DDR2片外同步动态存储器以及本发明描述的访存接口。对比系统采用传统访存接口,通过AMBA2.0 AHB总线与可重构处理器相连,对比系统的其他模块与本发明的测试系统相同。实验时在可重构处理器上运行FFT(快速傅里叶变换)算法,比较测试系统和对比系统的运行时间。由于两者均使用相同的可重构处理器,所以性能差异体现在访存接口的性能上。实验结果表明,当外部时钟为40Mhz时,64点的FFT算法在测试系统上运行一次需要9.01us,在对比系统上运行一次需要11.55 us,由此可见FFT算法的外存访问效率提高了32%。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号