首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一种面向多核DSP的小容量紧耦合快速共享数据池

一种面向多核DSP的小容量紧耦合快速共享数据池

1. 引言
      多核数字信号处理器(DSP)是近年来针对高性能嵌入式应用而出现的一类多核微处理器(CMP)。相比传统的单核处理器,多核处理器在提高并行处理能力的同时也需要更高的存储带宽和更灵活的存储结构。便笺存储器(SPM)是一种小容量的片上存储器,具有全局地址空间,可以由访存指令直接访问。SPM仅仅包含存储阵列和译码逻辑,没有Cache那样复杂的Tag比较逻辑和替换策略,在电路面积和功耗方面比Cache更具优势。另外,SPM采用固定的存储映射方式,没有访问失效问题,能够保证单拍(或确定节拍)的访问时间,便于用户显式地管理和调度其中的数据,适合嵌入式实时计算的特点。
      根据多核DSP的应用需求,并结合SPM的结构特征和共享存储的编程优势,本文提出了一种面向多核DSP的快速共享数据缓冲池FSDP,对其进行了设计实现和模拟分析。分析结果表明,FSDP对于DSP核间细粒度共享数据(例如某些全局变量、公共系数矩阵等)的传输具有很高的效率,相比类似的VS-SPM结构能够将程序性能提高37%,与传统的共享数据Cache结合使用能够将异构多核DSP的性能提高13%。
      本文的组织结构如下。第2部分介绍了国内外的研究现状,第3部分介绍了异构多核DSP的总体结构原型,第4部分详细介绍了FSDP的组成结构、访问方法和同步机制。第5部分介绍了设计优化方法,构建了关于最佳单体容量的分析模型。第6部分介绍了设计实现和模拟分析结果。最后一部分总结了全文。
2. 相关工作
      近年来,国外学者在SPM领域已经展开了积极的研究。Banakar等人针对计算密集型应用,使用专用工具(CACTI)计算出了各种容量的SPM和Cache的面积和功耗,使用Trace模拟器进行了性能对比。结果表明,同样容量的SPM的平均功耗比Cache降低了40%。Issenin等人也认为,如果通过数据重用技术,将经常使用的数据放在小容量的SPM中,用片内局部传输代替片外全局传输,不但可以节省约一半的功耗,而且大大提高了传输效率。Kandemir和Suhendra等人基于一种虚拟共享便笺式存储器(VS-SPM)的多核处理器原型,如图1所示。通过任务映射、调度、SPM划分和数据分配等编译优化算法,提高片内数据重用性,减少不必要的片外访存,其宣称的实验结果能够把嵌入式应用的性能提高80%。
       这些已有的工作主要是从软件的角度研究如何优化SPM的存储分配与管理,而且大部分是基于单核处理器的研究,对于多核处理器环境下SPM的体系结构研究还不够充分。特别在共享存储的方式下,必须根据实际应用中核间数据共享与传输的特点,研究速度快、结构灵活的SPM存储结构。本文提出的FSDP采用多体并行和交叉访问的方式,访问延迟小,存取速度快;提供了硬件信号灯和软件查询两种同步机制,同步开销低,编程使用灵活。

3. 异构多核DSP总体结构




图1 异构多核DSP“SDSP”的总体结构

      异构多核DSP“SDSP”的总体结构如图1所示,它由四个精简的32位浮点DSP核与一个32位的RISC核构成。DSP核采用课题组自行研制的32位高性能浮点DSP“YHFT-DSP700”的精简内核。该DSP内核主频300MHz,8流出超长指令字(VLIW)结构。四个DSP内核共享存储空间。每个DSP核具有私有的一级数据Cache(L1D)和一级指令Cache(L1P),共享二级Cache/SRAM(L2)和FSDP。FSDP与L1D处于同一个存储层次,具有不可Cache的全局存储空间,可以被四个DSP核的访存指令直接访问。

      RISC核采用开放体系结构与源码的LEON处理器。LEON是一款高度可配置的32位通用RISC处理器,兼容SPARC V8指令集,采用7级整数流水线,指令Cache和数据Cache分离。片上集成了AMBA 2.0总线,挂接存储控制器、PCI模块、CAN接口等外设模块。

4. 快速共享数据缓冲池FSDP体系结构

      FSDP是一个四通道共享存储结构,每个DSP核对应一个通道,每个通道包括两个大小相同的存储体SAi和SBi(i=1,2,3,4)、存控逻辑和读写队列。四个通道依次顺序编址,通过高速交叉开关(Crossbar)构成整个共享数据缓冲池,如图2所示。另外,FSDP采用了一组控制寄存器,通过公共的配置总线与四个DSP核相连,用于同步/互斥、状态查询、优先级控制等操作。



图2 FSDP的组成结构及其与DSP核的连接关系

      FSDP采用多体并行交叉访问的机制,提供了“私有”和“共享”两种工作模式,支持多个DSP核的并行访问与核间数据流的传输。FSDP基于释放一致性共享存储模型,为用户提供了硬件自动阻塞和软件手工查询两种同步机制。多核DSP程序产生的中间结果、公共变量、系数常量、查找表等数据结构都可以通过FSDP实现快速的细粒度数据传输与交换。而大批量的全局数据和用户程序则存放在片外存储器中,通过两级Cache进行访问。下面,本文将详细介绍FSDP的组成结构和关键技术。

4.1 带旁路的读写队列与解耦的存控逻辑

      为了缓存因访问冲突或同步失败而被阻塞的读/写访问,我们为每个DSP核分别设置了读/写队列,直接缓存各个DSP核Load/Store单元发出的访问请求。为了缩短访问延迟,我们为读/写队列设置了旁路逻辑。当没有访问冲突且核间同步握手成功时,读写请求不需进入读写队列,由旁路逻辑将请求直接发送给相应的存控逻辑。这一设计缩短了访问延迟,有效增强了FSDP的传输效率。下图3给出了带旁路的读写队列结构。为了加快地址译码速度,本文将地址译码逻辑和访问控制逻辑进行了解耦处理,将译码器置于旁路逻辑之前,缩短控制逻辑的关键路径,提高了FSDP的访问速度。




图3 带旁路的读写队列

继承事业,薪火相传
返回列表