可配置可扩展 t*core 处理器 及在天文图像处理中的应用
DESCRIPTION
可配置可扩展 T*CORE 处理器 及在天文图像处理中的应用. - 面向 AST3 项目的硬件加速器设计 郭炜 天津大学 VLSI 设计与应用研究所 天文信息技术联合实验室. 1. 2. 内容大纲. 传输触发体系结构与 T*CORE. 面向天文图像处理的 T*CORE 设计. 未来芯片将整合数千个小核心. 未来芯片将整合数千个小核 , 而不是只依赖于某个单一的复杂核。 多任务处理技术可使整体的运算吞吐量高很多。 许多小核及小的存储器的芯片,芯片面积减少,功耗大为降低 。 - Intel fellow ShekharBorkar. 嵌入式解决方案. - PowerPoint PPT PresentationTRANSCRIPT
可配置可扩展 T*CORE 处理器及在天文图像处理中的应用
- 面向 AST3 项目的硬件加速器设计
郭炜天津大学
VLSI设计与应用研究所天文信息技术联合实验室
传输触发体系结构与 T*CORE
内容大纲
1
面向天文图像处理的 T*CORE 设计2
未来芯片将整合数千个小核心
•未来芯片将整合数千个小核 , 而不是只依赖于某个单一的复杂核。 多任务处理技术可使整体的运算吞吐量高很多。 许多小核及小的存储器的芯片,芯片面积减少,
功耗大为降低 。 - Intel fellow ShekharBorkar
嵌入式解决方案
•专用芯片 (ASIC : Application Specific Integrated Circuit)
缺少灵活性•通用处理器( CPU , DSP )
效率低、功耗大•专用指令集处理器 (ASP/ASIP: Application Specific Inst
ruction processor ) 兼顾灵活性、高性能、低功耗等优点
• 传输触发体系结构 : Transport Triggered Architecture (TTA)
由 TU Delft 的 H. Corporaal 等在 1991 年提出 属于 ASP/ASIP
传输触发体系结构( TTA )
TTA 处理器指令格式
instruction
operation
source
• TTA 处理器只包含一种操作:数据传输操作 MOVE•超长指令字 (VLIW)
•模块化•松耦合•可配置可扩展•高性能•低成本•低功耗
TTA 处理器的优势 / 劣势
•架构组合和设计空间不确定
•编译器设计复杂•代码优化的困难•指令膨胀迅速
T*CORE 处理器
• T*CORE 是基于 TTA 架构可配置可扩展的处理器 一种处理器模板 更多的可配置性与扩展性 更灵活的指令架构 特制的软硬件协同设计流程及相关工具集 硬件模块库
T*CORE 处理器设计的关键
• 可配置性可扩展性扩大了 T*CORE 处理器架构的选择范围 , 进行设计空间探索尤为重要。
需要在更高的抽象层次上对架构进行仿真,通过设计空间探测获得最优架构方案
• 支持自定义的指令及更多可见的编程细节使得手工编程几乎成为不可能。
一个高效的可重定目标编译器是 T*CORE 处理器的性能得以充分发挥的关键
• 高效的软硬件协同设计方法及相关工具集的设计是决定 T*CORE 能否被广泛应用的关键 .
软硬件协同设计流程及工具集
T*CORE A0424v1 芯片
•面向音频解码 (mp3) 的应用•2009年 6月,采用 GSMC 0.13um CMOS 工艺 ,
成功 MPW 流片
MP3 解码性能分析
MP3输入 边信息解码 比例因子解码 Huff man解码 立体声处理
混叠消除
短块DCT
长块DCT
叠加和频率反转 子代合成 输出
1.28% 0.18% 0.29% 6.88% 5.76%
5.38%
16.48%
2.82% 44.7% 14.99%
Tcore处理部分 85.61%
计算密集型部分采用硬件加速器 – Tcore 协处理器
面向 MP3 解码 SoC 架构
C*Core(C3101)芯片 eRam
EBI
IPI
ExternalFlash
ExternalSRAM
INTC
MLB
MLB interface
T*Core核
Instrram
Data ram
T*Core 芯片
PLL/Clock gen
Power/sleep
Pin mux etc.
输出缓存
Codec 97
24K bytes 14K bytes
20K bytes
Timer
SoC架构
实现实时MP3解码的工作频率: 30MHz;功耗: < 1W
T*CORE A0424v1 硬件架构
T*CORE A0424v1 指令架构
1.指令宽度 96-bit ,分为 4 个 slot ,宽度分别为 16-bit , 16-bit , 32bit , 32bit
2.只有 slot1 可以执行跳转操作
3.各个 slot 所支持的立即数宽度不同
•实现指令压缩•提高代码密度
T*CORE A0424v1 空操作复用
空指令复用 + 特殊的 load/store 单元设计 : DCT32 节省 81%
Data RAM
Instruction RAM
Logic of Tcore
T*CORE A0424v1 版图
传输触发体系结构与 T*CORE
内容大纲
1
面向天文图像处理的 T*CORE 设计2
天文图像空间变换核降晰算法
•天文图像相减: 同一天区不同时刻拍摄的天文照片 ( 源图像 ) 同模板图像(参考
图像)进行差异比较,分析出不同时刻星迹变化情况。
•降晰处理: 由于气象、背景光线等因素导致图像清晰度不同,每个恒星的
点扩散函数不同,因此在相减之前必须对模板图像进行降晰处理。
• Alard等人提出的空间变换核降晰算法 : 在时间空间 ( 而不是在傅立叶空间 ) 完成卷积核的计算
执行降晰运算,即执行卷积运算:
最后对 C 和源图像执行相减操作,得到变源。
其中 , R: 模版图像 ; K: 核函数 ; C: 降晰后的模版图像
空间变换核降晰算法各模块所占计算比重
•对使用 Alard 算法所实现的软件 ISIS 分析
功能 所占计算比重
求局部核函数 16.2 %
求局部核函数系数 5.6 %
求解核函数 3.9 %
执行降晰运算 74.3%
计算量最大部分为执行降晰运算
•以图像大小为 2K×2K、卷积核为 19×19为例,执行降晰运算时需要的计算为 2K×2K×19×19=1.51×109次
j1
nsteps_y
nsteps_x0i1 ×
R 图像
Make_kernel( x , y , K )
(x,y)
C图像
(x,y)
ⅢⅠ Ⅳ
kernel
Ⅱ
降晰运算的硬件设计
•自定义的浮点数格式 将双精度 64-bit 浮点格式的数据变为自定义 32-bit 浮
点格式的数据,硬件面积减少约一倍。
对精度的影响
符号 阶码 尾数
31 30-25 24-0位:
类型 SNR(db) 单精度 75.220086
自定义 93.263391
降晰运算的硬件设计
•数据存储方式和计算流程 根据所采用的降晰运算的规律,分析了数据复用的可行
性,在设计 Tcore 处理器的应用软件时,采用特殊的数据存储方式
1 19 37 38 56 74 ...
...75 76 92 93
× × × ×MAC_1 MAC_19MAC_18MAC_2
DATA_RAM_1
DATA_RAM_1
DATA_RAM_1
DATA_RAM_2 DATA_RAM_18 DATA_RAM_19
DATA_RAM_18 DATA_RAM_19
...
R_1 R_20 R_2 R_21 R_18 R_37 R_19 R_19
~K_1
...75 76 92 93
~K_2 ~K_18 ~K_19
...... ...
...75 76 92 93 ...75 76 92 93
... 1 19 37 38 56 74...... ...... 1 19 37 38 56 74...... ...... 1 19 37 38 56 74...... ......
... ... ... ... ... ... ... ...
降晰运算的硬件设计
•Tcore 协处理器内部架构
DATA RAM_1
bus socketconnection point
...
1
19
2
LOAD_STORE_1
MAC_1
DATA RAM_2
LOAD_STORE_2
MAC_2
DATA RAM_3
LOAD_STORE_3
MAC_3
... ... ...
INSTRUCTION FETCH UNIT
PROGRAM MEMORY
...
DATA RAM_19
LOAD_STORE_19
MAC_19
...3
4
...
...
...
...
CONTROL REGISTER
PLBINTERFACE
Result_RAM
...
降晰运算的硬件设计
•硬件系统结构图
CPU DMA
Bus
T*coreDDR2
Controller
SRAM
PCIE
Host
PCIEPHY
DDR2
FPGA
•性能比较(仅卷积运算部分)
方案 主频 (HZ) 功耗 (W) 计算时间 (ms)
纯软件 2.66G 130 61062
本文设计 125M 1.79 3301
有待解决的问题
•大尺寸图像 (10K x 10K) ,卷积核 (30 x 30). 多个 T*CORE架构 问题:图像划分,核间通讯,存储墙
CPU DMA
Bus
T*core1DDR2
C ontroller
SRAM
PCIE
Host
PCIEPHY
DDR2
FPGA
T*core2
谢谢 !