东南大学soc课件13 可重构计算(3学时)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 重构发生的时间
– 静态重构:预先配置 – 动态重构:实时配置
• 主处理器与可重构件的连接紧密关系
– 紧耦合连接 – 松耦合连接
可重构处理器的发展回顾
探索期
PADDI 1990 PADDI-2 1993 DP-FPGA 1994
发展期
Garp 1997 Pleiades 1997
高速发展期
新起点
EGRA 2009
主控核和可重构阵列的耦合程
度加深: 紧耦合:协处理器、共享寄存 器组等方式
REMARC 1998 MorphoSys 1999
Chameleon 2000 ADRES MorphICs 2003 2000 XPP 2003 Zippy 2003
可重构处理器的发展回顾
探索期
PADDI 1990
– 大规模并行计算对数据量的 高要求 – 处理器和存储器的速度差异 增大 – 存储瓶颈凸显
• 控制流处理
CONTEXT MEMORY
2013-6-4
– 面向新一代复杂的媒体应用 – 传统架构的弱项,制约性能
软件编译器的发展
• 并行编程模型 • 软硬件自动划分 • 手工软硬件划分 • 数据流部分源码 转换 • 分析算法的DFG • 对DFG进行自动 的布局布线及代 码生成工作 • 编译工具自动生 成可执行代码
可重构处理器的发展回顾
探索期
PADDI 1990
发展期
PADDI-2 1993 DP-FPGA 1994 Garp 1997 Pleiades 1997 RAW 1997 PipeRench 1998
高速发展期
新起点
Matrix 1996 RaPID 1996
CHESS 1999
DReAM 2000
MorphoSys 1999
2013-6-4
Zippy 2003
硬件架构的发展
ADRES
• 紧耦合 – 协处理器、寄存器组耦合 • 控制流处理 – H.264等复杂算法 – 单元的条件执行操作等 – 针对性更强的处理(VLIW)
XPP
PipeRench 1998 REMARC 1998 MorphoSys 1999
Matrix 1996 RaPID 1996
CHESS 1999
DReAM 2000
RAW 1997 PipeRench 1998
EGRA 2009
可重构阵列的粒度:
REMARC 1998 MorphoSys 1999
细粒度→中间粒度→粗粒度
Chameleon 2000 ADRES MorphICs 2003 2000 XPP 2003 Zippy 2003
2013-6-4
ADRES 2003
Chameleon 2000 MorphICs 2000
XPP 2003
Zippy 2003
架构设计中的关键问题
主控核 (RISC)
• 阵列设计
– 计算的核心,长久的主题
• 存储体系
RPU
RCA
LOAD & STORE CONTROLLER
DATA MEMORY
矢量处 理器
从性能角度: 改变传统RISC处 理器等架构1D 的计算模式,引 入2D运算——时 间维度和空间维 度。
RISC
CISC
Regis ter
Regis ter
Regis ter
Regis ter
Regis ter
Regis ter
Regis ter
Regis ter
可重构 计算
东南大学
性能对比
…
Memory
DMA
7
多种架构的出现
多核 RISC
DSP
超标量 处理器
VLIW
ASIC
CISC 矢量处 理器
东南大学
RISC+FPGA
可重构计算的出现
Regis ter Regis ter
超标量 处理器
Regis ter Regis ter
VLIW
Regis ter Regis ter
DSP
Regis ter Regis ter
• 手工完成对可重 构阵列的功能以 及Memory进行 配置
全自动编译
半自动编译
手工映射
电路即图
图 即 电 路
PE配置 1 2
1 2
3
4
5
3
4
5
6
7
6
7
图即电路: 应用程序的数据流图通过compiler可 直接映射到电路上 电路即图: 配置信息可以改变电路的datapath, 互连采用点对点直接互连
可重构计算
1
可重构计算
• 可重构计算研究背景 • 可重构计算发展历史 • 关键问题
东南大学
MASK费用增高
Golden Moore
4000
每套掩模成本(万美元)
3500
3000
2500 2000 1500 1000 500 0 0.18um 0.13um 90nm 65nm 工艺尺寸 45nm 22nm
S2
R1
S3
R0
S2
R0
S3
R1
1
*
*
*
*
2
+
5
-
5
3
S0 S1
>>
>>
S0 S1
4
-
-
+
+
编译器设计中的关键问题
C程序 软硬件划分
源码转换
架构描述 主控核 C编译
C程序 ↓ 手工解决 源码转换 ↓ 适合映射的 目的 代码
本质 传统的串行
编程模型
DFG 映射
代码合并
DFG切割
• 大切割粒度 • 约束条件众多 • 需要新的算法
1
e
2
f
路由配置
e
1
f
2
3
g
4
h
5
i
3
g h i
4
5
6
7
6
7
图即电路: 应用程序的数据流图通过compiler可 直接映射到电路上 电路即图: 配置信息可以改变电路的datapath, 互连采用点对点直接互连
26
2D运算
时间维: 时间上,数据流在阵列中逐级 传递。 空间维: 空间上,可以有多个功能单 元同时执行。
半自动编译流程
可重构计算
• 可重构计算研究背景 • 可重构计算发展历史 • 关键问题
Hale Waihona Puke Baidu东南大学
可重构中的关键问题
阵列设计
存储层次
关键 问题
控制流处理
编程模型 DFG切割
阵列设计中的诸多参数
• • • • • • •
阵列规模 互连方式 流水方式 RF(层次、大小、布局) 阵列异构性(功能、粒度) 配置(层次、编码) ……
电路即图
a b c d
图 即 电 路
Reg配置 1
e
a
b
c
d
2
f
1
e f
2
3
g
4
h
5
i
3
g h i
4
5
6
7
6
7
图即电路: 应用程序的数据流图通过compiler可 直接映射到电路上 电路即图: 配置信息可以改变电路的datapath, 互连采用点对点直接互连
25
电路即图
a b c d
a
b
c
d
图 即 电 路
灵活性(适用范围)
不灵活
部分灵活
充分灵活
芯片面积成本不再制约性能目标
Cost Per Transistor Reduction
22nm之后,成本下降 已经不是追求目标, 而提升性能成为主要 任务。
可重构计算
• 可重构计算研究背景 • 可重构计算发展历史 • 关键问题
可重构计算概念的产生与定义
• 概念的产生
硬件架构的发展
Zippy
• 混合架构 – 主控核+可重构阵列 • RPU的设计 – Buffer、FIFO等形式的局 部存储结构和DMA等 – 控制器
Morphosys
PipeRench 1998 REMARC 1998 Chameleon 2000 MorphICs 2000
ADRES 2003 XPP 2003
互连方式
cross-bar
t=3
t=4
流水方式
可变流水
• 软件确定流水路径 • 优点 – 阵列利用率高 – 流水级数和并发数不定,调度空间大 • 缺点 – 流水技术不固定,增加硬件开销 PE – 映射过程困难
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
Money
Scaling-down
3
Foundry费用增高
16nm ~12-15B $ 22nm ~8-10B $ 32nm ~5-7B $ 45nm ~3.5-5B $ 65nm ~2.5-3B $
$$$$$$
Golden Moore
Money
Scaling-down
通信、媒体、导航标准不断发展
细指令 每次循环都需要对每条指令进行取指、译码的操作 寄存器堆空间有限,需要大量的访问外存操作 生成大量的跳转指令,打断流水线
Major Challenges
}
addflag
0
addflag
0
bp[i][j] rfp[i][j] bp[i][j] 128
可重构映射
!
flag1
==
flag2
rfp[i][j]
REMARC 1998 MorphoSys 1999
Chameleon 2000 ADRES MorphICs 2003 2000 XPP 2003 Zippy 2003
可重构处理器的发展回顾
探索期
PADDI 1990
发展期
PADDI-2 1993 DP-FPGA 1994 Garp 1997 Pleiades 1997
高速发展期
新起点
Matrix 1996 RaPID 1996
CHESS 1999
DReAM 2000
RAW 1997 PipeRench 1998
EGRA 2009
数据流处理流水化: 三级流水操作(装载、 执行、写回)
REMARC 1998 MorphoSys 1999
Chameleon 2000 ADRES MorphICs 2003 2000 XPP 2003 Zippy 2003
通信标准、媒体标准等不断演进,要求芯片有通用性,以适应市场的需求
通信标准
媒体标准
芯片通用性要求增加
东南大学
6
芯片通用性要求增加
• SoC系统为了实现多种功能,传统做法需 要增加特定程序的硬件加速器,因此对芯 片的通用性提出更高的要求。
ARM A9 2D/3D Graphic Engine ISP GPS GSM/CDMA Video WiFi Codec Baseband Baseband Baseband 可重构处理器 Engine Engine Engine Engine Bus Matrix
– 20世纪60 年代,由加州大学洛杉矶分校的 G.Estrin教授首先提出 – 计算机可以通过一个主处理器加上一组可重构 硬件来实现
• 定义
– 目前还没有严格的定义 – 广义的定义
• 芯片在制造后具有可重构能力 • 能够实现很大程度的算法到计算引擎的空间映射
可重构计算的分类
• 可重构件的粒度
– 细粒度:FPGA、Garp等 – 粗粒度:Matrix、REMARC、MorphoSys等
C源程序代码 传统汇编代码
if (addflag) {
} else {
for (i=0;i<8;i++) { for (j=0;j<8;j++) { rfp[i][j]=bp[i][j]+rfp[i][j]; } } for (i=0;i<8;i++) { for (j=0;j<8;j++) { rfp[i][j]=bp[i][j]+128; } }
发展期
PADDI-2 1993 DP-FPGA 1994 Garp 1997 Pleiades 1997
高速发展期
新起点
Matrix 1996 RaPID 1996
CHESS 1999
DReAM 2000
RAW 1997 PipeRench 1998
EGRA 2009
倾向于阵列异构: 数据通路的位宽异构、执行单元 功能异构、粗细粒度异构
性能 面积 功耗
互连
• 互连对象
– 单元之间 – 单元与局部RF – 单元与输入输出端口
路由灵活度 阵列利用率
• 互连方式
– cross-bar – 8NN – ……
芯片面积
流水方式
配置大小 互连规模
cross-bar
映射难易 编译器约束
8NN
流水方式
固定流水
• 硬件确定流水路径 • 优点 – 流水级数固定,硬件开销较小 – 映射过程容易 • 缺点 – 阵列利用率较低 – 流水级数和并发数固定
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
t=1
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
t=2
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
一次完成多个PE的配 置工作 提供大量的局部互连 资源,存储局部化 可以映射循环和分支 ,一次配置可以多次复 用。
可重构计算与通用/专用计算的比较
100-1000
通用计算
能效(单位:MOPS/mW)
可重构计算
专用计算
专用集成电路ASIC
10-100
可重构处理器
1-10
可编程DSP
0.1-1
通用处 理器GPP
or
PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE PE
PE PE PE PE PE PE PE PE PE PE PE PE
互连方式
8NN
设计空间探索