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 带旁路的读写队列
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |