DSP ache
W
Description
DSP ache
Shared by: benbenzhou
-
Stats
- views:
- 36
- posted:
- 7/29/2010
- language:
- Chinese
- pages:
- 11
Document Sample


一种面向多核 DSP 的小容量紧耦合快速共享数据池*
陈书明 汪东 陈小文 万江华
国防科技大学计算机学院微电子所,长沙,410073
摘要 本文结合片上便笺式存储器(SPM)的结构特点,提出了一种面向异构多核 DSP 的新型
小容量紧耦合共享存储结构——快速共享数据池(FSDP)。FSDP 在存储层次上与一级 Cache 平
行,可以被访存指令直接访问,采用多体并行的结构、交叉访问模式和基于硬件信号灯的自动同
步机制,支持多个 DSP 核的并行访问与快速的核间数据交换,两核之间交换单个数据只需 4 拍。
本文构建了 FSDP 的模拟模型,并进行了 RTL 级设计实现和分析。多种典型测试程序的验证表
明,FSDP 对于 DSP 核间细粒度共享数据的传输具有很高的效率,相比同类的 VS-SPM 结构能
够将程序性能提高 37%,与传统的共享数据 Cache 结合使用能够将异构多核 DSP 的性能提高
13%。
关键词 便笺存储器;共享存储;多核 DSP;释放一致性
中图法分类号 TP333
1. 引言
多核数字信号处理器(DSP)是近年来针对高性能嵌入式应用而出现的一类多核微处理
器(CMP)。相比传统的单核处理器,多核处理器在提高并行处理能力的同时也需要更高的
存储带宽和更灵活的存储结构 [1]。便笺存储器(SPM)是一种小容量的片上存储器,具有全
局地址空间,可以由访存指令直接访问[2]。SPM仅仅包含存储阵列和译码逻辑,没有Cache
那样复杂的Tag比较逻辑和替换策略,在电路面积和功耗方面比Cache更具优势。另外,SPM
采用固定的存储映射方式,没有访问失效问题,能够保证单拍(或确定节拍)的访问时间,
便于用户显式地管理和调度其中的数据,适合嵌入式实时计算的特点[1][3][4] [5]。
根据多核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% [8]。
Issenin 等人也认为,如果通过数据重用技术,将经常使用的数据放在小容量的 SPM 中,用
片内局部传输代替片外全局传输, 不但可以节省约一半的功耗, 而且大大提高了传输效率[9]。
Kandemir 和 Suhendra 等人基于一种虚拟共享便笺式存储器 的多核处理器原型[10],
(VS-SPM)
*
基金项目:国家高技术研究发展计划 课题 ,
(863 计划) (2007AA01Z108) 国家自然科学基金项目(60473079)
和教育部博士点基金项目(20059998026)
1
如图 1 所示。通过任务映射、调度、SPM 划分和数据分配等编译优化算法,提高片内数据
重用性,减少不必要的片外访存,其宣称的实验结果能够把嵌入式应用的性能提高 80%。
这些已有的工作主要是从软件的角度研究如何优化 SPM 的存储分配与管理,而且大部
分是基于单核处理器的研究,对于多核处理器环境下 SPM 的体系结构研究还不够充分。特
别在共享存储的方式下,必须根据实际应用中核间数据共享与传输的特点,研究速度快、结
构灵活的 SPM 存储结构。本文提出的 FSDP 采用多体并行和交叉访问的方式,访问延迟小,
存取速度快;提供了硬件信号灯和软件查询两种同步机制,同步开销低,编程使用灵活。
3. 异构多核 DSP 总体结构
FSDP
CB
同步
AHB DSP-1 DSP-2 DSP-3 DSP-4
控制
CAN
L1D L1P L1D L1P L1D L1P L1D L1P
以太网
RISC核
RISC
存控接口
共享L2 Cache /SRAM
调试接口
总线 MB
DSTCE NI
接口
APB
Timer UART GPIO EMCI
图 1 异构多核 DSP“SDSP”的总体结构
异构多核 DSP“SDSP”的总体结构如图 1 所示,它由四个精简的 32 位浮点 DSP 核与
一 个 32 位 的 RISC 核 构 成 。 DSP 核 采 用 课 题 组 自 行 研 制 的 32 位 高 性 能 浮 点 DSP
“YHFT-DSP700”的精简内核[11]。该 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
通道-1 通道-2 通道-3 通道-4
SA SB SA SB SA SB SA SB
1 1 2 2 3 3 4 4
存控逻辑 存控逻辑 存控逻辑 存控逻辑
交叉开关
控制寄 读写队列 读写队列 读写队列 读写队列
存器组
……
R W R W R W R W
DSP-1 DSP-2 DSP-3 DSP-4
配置总线
图 2 FSDP 的组成结构及其与 DSP 核的连接关系
FSDP 采用多体并行交叉访问的机制,提供了“私有”和“共享”两种工作模式,支持
多个 DSP 核的并行访问与核间数据流的传输。FSDP 基于释放一致性共享存储模型,为用户
提供了硬件自动阻塞和软件手工查询两种同步机制。多核 DSP 程序产生的中间结果、公共
变量、系数常量、查找表等数据结构都可以通过 FSDP 实现快速的细粒度数据传输与交换。
而大批量的全局数据和用户程序则存放在片外存储器中,通过两级 Cache 进行访问。下面,
本文将详细介绍 FSDP 的组成结构和关键技术。
4.1 带旁路的读写队列与解耦的存控逻辑
为了缓存因访问冲突或同步失败而被阻塞的读/写访问,我们为每个 DSP 核分别设置了
读/写队列,直接缓存各个 DSP 核 Load/Store 单元发出的访问请求。为了缩短访问延迟,我
们为读/写队列设置了旁路逻辑。当没有访问冲突且核间同步握手成功时,读写请求不需进
入读写队列,由旁路逻辑将请求直接发送给相应的存控逻辑。这一设计缩短了访问延迟,有
效增强了 FSDP 的传输效率。下图 3 给出了带旁路的读写队列结构。为了加快地址译码速度,
本文将地址译码逻辑和访问控制逻辑进行了解耦处理,将译码器置于旁路逻辑之前, 缩短控
制逻辑的关键路径,提高了 FSDP 的访问速度。
二选开关 二选开关
Tag Tag
? ?
读 写
旁 旁
路 读队列 路 写队列
地址译码器
R W
RdRdy WrtEN
L/S单元
图 3 带旁路的读写队列
4.2 双模式操作与交叉访问
本文为 FSDP 设计了“私有”和“共享”两种工作模式。
在私有模式下,任意 DSP 核 DSP-i 只能读写与其对应通道内的两个存储体 SAi 和
,不能访问其他的通道;
SBi(i=1,2,3,4)
3
在共享模式下,每个 DSP 核可以读取另外三个通道的数据,但不能向其中写入数
据。任意 DSP 核必须通过其对应通道的两个存储体与其他 DSP 核交换共享数据。
可见,在私有模式下,所有的存储体都不存在访问竞争,访问速度快。在共享模式下,
FSDP 不存在多核写冲突的问题,简化了维护数据一致性的硬件开销,提高了核间共享数据
的传输速度,有利于提高嵌入式应用的实时性。
在任务流水的计算模式下,DSP 核间的共享数据相继构成“生产者-消费者”关系:前
一个核的计算输出直接作为下一个核的计算输入。 为了有效支持这种传输模式,我们在 FSDP
中采用了交叉访问的机制:
当“生产者”DSP-i 向存储体 SAi 写入第一块共享数据之后,释放该存储体,转而
向 SBi 写入第二块共享数据;
“消费者”DSP-j(j≠i)启动读访问,从 SAi 读出第一块共享数据;
当这一过程完成后,双方交叉,DSP-i 释放存储体 SBi,向 SAi 写入第三块共享数
据,DSP-j 则从 SBi 读出第二块共享数据,依此类推,直至传输完成。
因此,在写入第一块共享数据之后, 读写操作就可以并行执行。当双方的计算负载均衡,
速度匹配的时候,DSP 核之间可以进行流水传输,同步等待延迟最小,传输效率达到最高。
4.3 释放一致性模型与基于信号灯的快速同步机制
在共享存储的释放一致性(RC)模型中,同步操作包括“获取”和“释放”两种操作,
分别用于取得对共享存储单元的独占性访问权和解除这一访问权。参照基本的 RC 模型,本
文为 FSDP 设计了一套简洁、高效的控制逻辑和同步机制。
首先,为每个存储体设置 3 个“信号灯”寄存器,分别对应除本通道之外的其他 3 个
DSP 核,作为同步/互斥操作的硬件锁。“信号灯”寄存器映射了全局共享的物理地址,通过
公共配置总线与四个 DSP 核相连。每个“信号灯”具有“点亮”和“熄灭”两种状态,分
别表示存储体内的共享数据“已写入”和“已读出” 。DSP 核通过同步指令改写“信号灯”
寄存器的状态,实现核间的同步操作。具体的数据一致性协议为:
当“生产者”DSP-i 向某个存储体写入共享数据后,将其“信号灯”置为“点亮”
状态。若这批共享数据有 2~3 个“消费者”,则点亮相应的 2~3 个“信号灯”。在
某个“信号灯”处于“熄灭”状态时,相应的 DSP 核对该存储体的读请求全部进
入读队列等待。
当“消费者”DSP-j 读出某个存储体的共享数据后,将该存储体与自己对应的“信
号灯”置为“熄灭”状态。当某个存储体的所有 3 个“信号灯”都“熄灭”时,该
存储体被释放,处于可写状态;否则,DSP 核对该存储体的写请求全部进入写队
列等待。
“点亮”和“熄灭”信号灯的顺序一致性由 DSP 核对公共配置总线的独占性访问
来保证。
,一次同步
需要说明的是,DSP 核不一定要将其对应的存储体写满才能点亮“信号灯”
操作所传输的数据量最小可以是一个字节,最大不超过单个存储体的容量。
由于 FSDP 的访存通路与同步操作通路(即配置总线)是相互分离的,因此可能出现同
步操作指令通过配置总线先于访存指令提前执行的错误情况。 本文通过软件延迟槽的方式解
决这一问题:由编译器通过指令调度技术,在最后一条共享数据的读指令和“熄灯”指令之
,作为等待共享数据返回的延迟槽,确保最后一个
间插入 1~2 条无关指令或空操作(NOP)
读请求被处理之后再执行“熄灯”操作。具体所需的软件延迟槽数量取决于 DSP 流水线的
设计。对于本文而言,如果 DSP 核在发出 Load 指令的第 3 拍没有接收到返回的数据,则暂
停指令派发,因此只需要 2 个延迟槽。图 4 给出了两个 DSP 核 i 和 j 传递共享数据的实例。
4
DSP-i: DSP-j:
…… ……
ST x100, A; LD x001, R0;
ST x101, B; LD x010, R1;
ST x110, C; ADD R0,R1; // 延迟槽
SL_ON SL_SiB1; //点亮信号灯 SiB1 NOP ; // 插入的延迟槽
SL_OFF SL_SiA1; //熄灭信号灯 SiA1
同步
ST x000, G; LD x101, R0;
ST x010, H; LD x110, R1;
SL_ON SL_SiA1; //点亮信号灯 SiA1 ADD R0,R1; // 延迟槽
INC R0; // 延迟槽
…… SL_OFF SL_SiB1; //熄灭信号灯SiB1
(a)延迟槽与同步操作的程序实例
SAi SBi SAi SBi
x000 … x100 x000 G x100 A
x001 E x101 x001 H x101 B
x010 F x110 x010 x110 C
... … ... … ... … ... …
DSP-i DSP-j DSP-i DSP-j
(b)存储体的内容变化与信号灯状态
图 4 两个 DSP 核通过两个存储体传递共享数据的例子
本文最终的优化设计表明,任意两个 DSP 核利用一对 LOAD-STORE 指令再加上一次
同步操作,总共只需 4 拍即可完成一个共享数据字的传递, 从而实现了核间细粒度共享数据
的快速传输。当需要传输的共享数据量超过 FSDP 单通道存储容量时,可以将数据分块,进
行多次传输。
除了这种对程序员透明的硬件同步机制之外,FSDP 还支持基于软件查询的同步机制。
即在每次改变信号灯状态前,插入一段查询“信号灯”状态的例程,然后根据查询的结果决
定程序的流向。
4.4 消除读访问冲突
在 FSDP 的共享模式下存在多 DSP 核同时读一个存储体的冲突。虽然利用仲裁逻辑配
合队列机制可以缓解冲突,但是,这种方式降低了 FSDP 的并行性。另外,可以采用存储体
复制或者采用多端口存储体的方式。为此,本文进行了对比实验,结果表明,4 个 1KB 大
小的单端口 SRAM 在工作频率和面积上都优于 4 端口 1KB 的全定制 SRAM 模块,而且单
端口 SRAM 可以由 EDA 工具快速编译生成,便于设计实现。因此,对于 FSDP 这类小容量
的便笺存储器, 本文采用存储体复制的方式解决访问冲突: 将原来的每个存储体换成 4 个同
样大小的单端口存储体,构成具有 4 个虚拟端口的存储体,如图 5 所示。
在处理读写访问时,存控逻辑自动进行数据写复制和读端口的分配工作, 读写过程中对
用户都是透明的。这种方式完全消除了多核的读访问冲突,实现了最大的共享访问带宽,提
高了 FSDP 的并行性和实时性。
5
S1 S1 S1 S1S1
S1 S1 S1
S1 S1
S1 A S1 A SA AA SB AA
SA A SB A
1A 1A 4A 4A
存控逻辑 存控逻辑
图 5 存储体复制构成虚拟多端口存储体
5. 性能分析
5.1 分析模型与设计实现
本文构建了整个 SDSP 的 C 语言模拟器 SDSP-Sim。SDSP-Sim 是一个时钟精确的模拟
器,能够运行经过编译和手工分配的多核 DSP 应用程序,报告程序运行的各种统计信息和
计算结果。每个处理器核占用一个模拟进程,RISC 与 DSP 核之间采用进程通信的方式传输
控制信息。本文以 MediaBench 基准程序集为基础,选择了 6 组典型的多媒体类与通信类应
用程序,用于评测 FSDP 的性能,如表 1 所示。为了满足多核 DSP 的并行计算需求,对于
原来复杂度较低的一些测试程序,例如 PEGWIT 和 JPEG_c,本文扩大了它们的数据集。对
于 MP3 解码程序 MP3_d 则将其扩展为两路并行解码器 2MP3_d。由于 SDSP 的并行编译器
开发工作还没有完成,本文仍采用手工的方式对测试程序进行并行化映射。
表 1 用于性能评测的测试程序说明
程 序 说 明
PEGWIT 一种公钥加密与验证程序,采用了 SHA1 安全散列算法
RASTA 支持 PLP 和 RASTA 技术的语音识别器,能够同时处理附加噪声和频谱失真
GSM 欧洲 GSM 06.10 暂行标准全速率语音自动译码器,
JPEG_c JPEG 格式的有损图像压缩程序(本文采用 1280*1024 的图像分辨率)
MP3_d MP3 音频解码器,码率 128Kbps,40fps
MPEG-2 视频压缩编码器,主要计算内核是离散余弦变换(本文采用分辨率为
MPEG2_e
352*288 的 CIF 格式图像, Y:U:V=4:2:0, 30fps,逐行扫描)
本文采用 SMIC 0.13μm CMOS 工艺库对 FSDP 进行了设计实现。其中各存储体采用
EDA 工具生成的单端口 SRAM。下表 2 给出了 FSDP 的各项设计指标。其中, “无阻塞读延
迟”是指在同步成功且没有冲突的情况下,从 DSP 核发出读请求到获得返回数据之间的时
间间隔。
表 2 0.13μm CMOS 工艺下四通道 FSDP 的各项性能指标
性能指标 设计结果
容量 1KB×8 体
工作频率 350MHz
面积 3.4×106 um2
峰值带宽(最大并行) 43.75Gbps
无阻塞读延迟 2拍
无阻塞写延迟 1拍
5.2 性能对比
6
对于多核处理器共享 SPM 的研究,前人的工作主要是针对 SPM 的编译优化和数据划
分算法的研究。文献[5][10]介绍的 VS-SPM(虚拟共享便笺存储器)原型结构与本文的 FSDP
有类似之处,它根据 SPM 与处理器核的关系,将 SPM 分成本地 SPM 和远程 SPM,各个处
理器核通过共享总线访问各 SPM 模块。下表 3 对比了本文的 FSDP 与 VS-SPM 在结构上的
差异。VS-SPM 主要是针对编译优化和数据划分算法优化而设计的,其硬件优化程度和访问
速度都不及 FSDP,而且没有解决多个处理器核并行访问冲突的问题,不支持核间数据的流
水传输。
表 3 FSDP 与 VS-SPM 的结构对比
访问延迟 访问方式 对流水传输的支持 同步机制
不区分本地和远程,无 双体交叉方式, 硬件信号灯或
FSDP 支持
阻塞延迟为 2 拍 并行访问时无冲突 软件查询
本地延迟 1 拍, 共享总线方式,
VS-SPM 不支持 软件同步
远程延迟 4~16 拍 并行访问时有冲突
本文建立了 VS-SPM 的结构模型,将 DSP 核间同样一批共享数据先后映射到 VS-SPM
和 FSDP 的存储空间上,分别得到两种结构下程序的执行时间 TVS-SPM 和 TF-SDP,然后按照(1)
式计算出 FSDP 相对 VS-SPM 的性能加速比。
TVS SPM
ASDP:VSSPM (1)
TFCC SDP
图 6 给出了 6 组测试程序的实验结果。结果表明,通过 FSDP 在 DSP 核之间传输共享
数据相比通过 VS-SPM 传输具有明显的性能优势,6 组程序的平均性能加速比达到了 1.37。
1.8 VS-SPM FSDP
1.7
1.6
1.5 1.42 1.46
1.4 1.37 1.39
1.33 1.25
1.3
性能加速比
1.2
1.1
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
GSM PEGWIT RASTA JPEG_c 2MP3_d MPEG2_e
图 6 FSDP 相对 VS-SPM 的性能加速比
在引入 FSDP 之前,异构多核 DSP 主要通过共享 L2 Cache 传输 DSP 核间的共享数据。
为了评测 FSDP 对系统性能的加速作用, 本文比较了下列三种数据映射方式下异构多核 DSP
的计算性能:
(1) 仅用 L2 Cache:DSP 核间的共享数据全部通过 L2 传输;
(2) 仅用 FSDP:DSP 核间的共享数据全部通过 FSDP 传输;
(3) FSDP + L2:将 DSP 核间的不规则共享数据映射到 FSDP 的地址空间,其余的
共享数据流仍通过 L2 传输。
利用 SDSP-Sim 软件模拟器分别得到上述三种映射方式下程序的执行时间,然后以第一
种映射方式下的执行时间为基准,计算出另外两种方式的性能加速比,结果如图 7 所示:
7
1.5 仅用L2 Cache 仅用FSDP FSDP + L2 Cache
1.4
1.3
1.16 1.19
1.2 1.13 1.15 1.11
1.1 1 1.05
1 1 1 1 1
性能加速比 1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
GSM PEGWIT RASTA JPEG_c 2MP3_d MPEG2_e
图 7 三种数据映射方式下系统的计算性能对比
实验结果表明,在 FSDP + L2 Cache 方式下,程序的性能是最高的。6 组程序的平均性
能加速比为 1.13。本文分析认为:
1) 对 于 核 间 共 享 数 据 包 含 大 量 细 粒 度 数 据 和 不 规 则 数 据 流 的 应 用 程 序 ( 例 如
PEGWIT 和 RASTA),仅用 FSDP 相比仅通过 L2 Cache 传输共享数据具有更高
的计算性能;
2) 对于核间共享数据量较大和数据流分布比较密集的应用程序(例如 2MP3_d 和
MPEG2_e),仅用 FSDP 传输共享数据的计算性能较低,这是因为 FSDP 对共享
数据的分块处理使得同步开销在执行时间中的比例增大,影响了总执行时间;
3) FSDP 与共享数据 Cache 结合使用进一步提高了共享存储多核 DSP 的片内数据重
用性,减少了对片外数据的长延迟访问,因而能够获得最佳的计算性能。其中,
对于需要紧耦合共享的小容量数据或者非常不规则的短数据流,优先选择通过
FSDP 传输,减少通过共享 Cache 的长延迟访问开销;反之,对于大块数据的共享
或者规则数据流的传输,则宜采用共享 Cache 的方式,降低数据频繁分块的同步
开销。
5.3 扩展性分析
在消除了 FSDP 的访问冲突之后,所有 DSP 核可以同时访问不同的存储体。理论上来
看,FSDP 的访问带宽可以随着 DSP 核数量的增长而线性增长, 具有良好的可扩展性。为此,
我们进行了分析与实验。 定义 B 为 FSDP 的有效访问带宽,即在考虑访存延迟和工作频率的
情况下所有 DSP 核访问 FSDP 的实际存储带宽;N 表示 DSP 核的数量。本文在 N=1~8 的
情况下分别对 FSDP 进行了单独的设计实现,得到了 B 与 N 的关系,如图 8 所示。
3.3
3
有效访问带宽B(GB/s)
2.7
2.4
2.1
1.8
1.5
1.2
0.9
0.6
0.3
0
1 2 3 4 5 6 7 8
DSP核的数量N
图 8 FSDP 有效访问带宽与 DSP 核数量的关系
8
由实验结果可见,当 N 小于 5 时, B 快速增长,与 N 呈近似的线性关系。随着 N 的进
一步增大,DSP 核与存储体之间的控制逻辑开销、互连总线和交叉开关端口数量以 O(N2)
量级增长,FSDP 的工作频率开始下降,访问延迟越来越大,FSDP 的有效访问带宽增长十
分缓慢。因此,FSDP 更适合于 5 核以内的多核 DSP。当 DSP 核数量超过 8 核以上时,我
们将以 4 核为一个超节点进行结构扩展。超节点内部采用 FSDP 实现紧耦合的数据传输,超
节点之间通过片上网络(NoC)或者其他共享存储结构进行数据传输。
7 结束语
相比传统的 Cache 结构,便笺式存储器具有更灵活的结构、简洁的控制逻辑、更低的访
问延迟和方便的数据管理等诸多优势。本文针对多核 DSP 架构设计的快速共享数据缓冲池
FSDP 结合了便笺式存储器的结构特点和共享存储结构的编程需要,采用软/硬件联合的设计
方法,为多核 DSP 之间传输细粒度共享数据提供了一个紧耦合的快速通路,相比共享二级
Cache 和 DMA 传输方式具有更好的传输效率,是一种新型而实用的、可扩展多核共享存储
结构。今后,我们将深入研究面向多核处理器的高性能共享存储结构,增强片上存储的可扩
展性和可重构能力,进一步提高多核 SoC 的存储带宽。
参考文献
[1] Ozturk O., Kandemir M., Karakoy M., etc. Customized on-chip memories for embedded chip
multiprocessors //ACM/IEEE Asia South Pacific Design Automation Conference (ASP-DAC’05), Shanghai, China,
2005. New York: ACM Press, 2005: 743-748.
[2] Panda P. R., Dutt N. D. and Nicolau A. Efficient utilization of scratch-pad memory in embedded processor
applications //1997 European Design and Test Conference (ED&TC'97), Paris, France, 1997. Washington, DC.:
IEEE CS Press, 1997: 7-11.
[3] Verma M., Petzold K., Wehmeyer L., etc. Scratchpad sharing strategies for multiprocess embedded
systems: a first approach //IEEE 2005 3rd Workshop on Embedded Systems for Real-Time Multimedia
(ESTIMEDIA’05), New York, USA, 2005. Washington, DC.: IEEE CS Press, 2005: 115-120.
[4] Kandemir M., Ramanujam J., etc. Dynamic management of scratch-pad memory space //the 38th Design
Automation Conference (DAC’01), Las Vegas, USA, 2001. Washington, DC.: IEEE CS Press, 2001: 690-695.
[5] Suhendra V., Raghavan C., Mitra T. Integrated scratchpad memory optimization and task scheduling for
mpsoc architectures //2006 International Conference on Complilers, Architecture and Synthesis for Embedded
System (CASES’06), Seoul, Korea. 2006. New York: ACM Press, 2006: 401-410.
[6] Rixner S., Dally W. J., Khailany B., Mattson P., etc. Register organization for Media processing //6th
Symposium on High-Performance Computer Architecture (HPCA’00), Toulouse, France, 2000. Washington, DC.:
IEEE CS Press, 2000: 375-386.
[7] Wang Guang, Shen Xubang. The design of a buffer architecture for multi-media stream microprocessor.
Journal of Natural Science of Heilongjiang University, China, 2005, 22(2): 248~253.(in Chinese)
(王光, 沈绪榜. 一种用于多媒体流处理器的缓冲器体系结构设计. 黑龙江大学自然科学学报, 2005, 22(2):
248~253)
[8] Banakar R., Steinke S., Lee B., etc. Scratchpad memory: a design alternative for cache on chip memory in
embedded systems //10th International Symposium on Hardware/Software Co-design (CODES'02), Estes Park,
Colorado, USA., 2002. New York: ACM Press, 2002: 73-78.
[9] Issenin I., Brockmeyer E., Durinck B., Dutt N. Multiprocessor system-on-chip data reuse analysis for
exploring customized memory hierarchies //43rd Design Automation Conference (DAC’06), San Francisco,
California, USA. 2006. New York: ACM Press, 2006: 49-52.
[10] Kandemir M., Ramanujam J., Choudhary A. Exploiting shared scratch pad memory space in embedded
multiprocessor systems //the 39th Design Automation Conference (DAC 2002), New Orleans, USA, 2002. New
York: ACM Press, 2002: 219-224.
[11] Shuming Chen, Li Zhentao, Wan Jianghua, etc. Research and development of high performance YHFT
digital signal processor. Journal of Computer Research and Development, China, 2006, 43(6): 993-1000. (in
Chinese)
9
(陈书明, 李振涛, 万江华, 等. “银河飞腾”高性能数字信号处理器研究进展. 计算机研究与发展, 2006,
43(6): 993-1000)
A small close-coupled Fast Shared Data Pool for Multi-Core DSPs
Chen Shuming, Wang Dong, Chen Xiaowen, Wan Jianghua
Microelectronics Institute, School of Computer, National University of Defense Technology,
Changsha, 410073
Abstract Improving the performance of Multi-Core Digital Signal Processors (MC-DSPs) for
embedded applications needs the support of higher memory bandwidth and more flexible memory
structures. This paper proposes a new shared Scratch-Pad Memory (SPM) structure for MC-DSPs,
Fast Shared Data Pool (FSDP). FSDP is on the same hierarchy with L1 cache and can be directly
accessed by LOAD/STORE instructions. FSDP is organized as parallel multi-bank structures with
an interleaving access strategy and auto synchronous scheme based on hard signal-lamps. It
supports high-speed parallel access and fast data words exchange. FSDP is a close-coupled share
memory structure and it takes only four cycles to transmit a word between any two cores. We
build the behavior simulator of FSDP and make its RTL implementation. The simulation with
several typical benchmarks shows that FSDP is well suited to transmitting the fine-grain shared
data in MC-DSPs. It achieves computation speedup ratio of 1.1 and 1.14 compared with
traditional shared L2 caches and DMA units.
.
Keywords:SPM; shared memory; multi-core DSP; release consistency
作者简介
Chen Shuming, male, born in Sep. 1961. He has been professor of National University of Defense Technology
since 1998. His main research interests are microprocessor and VLSI design, parallel processing and DSP
techniques.
陈书明,男,1961 年 9 月生,博士,教授,博士生导师,主要研究方向为微处理器体系结构、VLSI 设计及
高性能 DSP 技术。
Wang Dong,male,born in Oct. 1979, received Ph.D. degree of microelectronics from
National University of Defense Technology in 2007. His research interest is microprocessor
architecture and VLSI design.
汪东,男,1979 年 10 月生,博士,助理研究员,主要研究领域为微处理器设计。
Chen Xiaowen, male, born in June 1982, a candidate of Ph.D. degree, main research interest
is microprocessor architecture.
10
陈小文,男,1982 年 6 月生,博士研究生,研究方向为微处理器体系结构;
Wan Jianghua, male, born in Aug. 1977, received Ph.D. degree of computer science and technology from
National University of Defense Technology in 2006. His main research interest is microprocessor architecture.
万江华,男,1977 年 8 月生,博士,助理研究员,研究方向为微处理器体系结构。
Research Background
This paper belongs to the memory optimization problem of Multi-Core Digital Signal
Processors (MC-DSPs), which are emerging embedded multi-core SoCs for high performance
multimedia and wireless applications. Improving the performance of MC-DSPs often suffers from
limited memory bandwidth and long access latency caused by the long data-path between CPU
kernels and memories. Scratch-pad memory (SPM) is a type of low capacity high-speed on-chip
memories mapped with global addresses, which has been proven to be an effective structure to
supplement conventional caches hierarchy. The related work on SPMs mainly deals with the
memory space partition and management for SPMs in terms of software optimization, and mostly
based on uni-core processors. However, the exploration about SPMs organization in multi-core
processors with shared memories is still rare.
This paper proposes a new shared SPMs structure for MC-DSPs, Fast Shared Data Pool
(FSDP). FSDP is organized as parallel multi-bank structures with an interleaving access strategy
and auto synchronous scheme based on physical signal-lamps. FSDP is a close-coupled share
memory structure and it takes only four cycles to transmit a word between any two cores. The
simulation with typical benchmarks shows that FSDP is well suited to transmitting fine-grain
shared data in MC-DSPs. It can offer speedup ratio of 1.1 and 1.14 respectively compared with
shared data transmission through traditional shared L2 caches and DMA units.
This paper comes from a project funded by National High Tech Project of China (No.
2007AA01Z108)and National Science Foundation of China (No.60473079). The goal of this
project is constructing a MC-DSP consisted of four 32-bit floating-point DSP cores. This kind of
MC-DSP will be widely used in the base stations of next-generation wireless communication and
high speed video processing applications. The main research results of our team include high
performance 32-bit DSPs, Series of YHFT-DSP.
:
联系方式(按下列地址与第二作者联系)
,汪东
湖南长沙国防科大计算机学院教务办(410073)
电话:13975813099
EMAIL: nudtjum@163.com
11
Get documents about "