粗粒度可重构架构的操作调度技术
1. 引言
粗粒度可重构架构(CGRA)由大量处理单元(PE)阵列组成,这些PE通过网状网络互连,能执行常见的字级操作,如加法、减法和乘法。与现场可编程门阵列(FPGA)不同,CGRA牺牲了门级可重构性,具有低延迟、短重构时间和低功耗的特点,有助于加速系统性能。
CGRA编译器是关键组件,但目前没有能同时考虑数据和操作的编译器。这是因为CGRA中的稀疏连接性和分布式片上存储器给编译器的调度阶段带来了挑战。传统编译器在分配操作到PE并确定循环内核完成时间时,通常不考虑可路由性,导致结果不理想。因此,编译器需要管理操作数在PE之间的计算和流动,以有效地将操作分配到CGRA上。
2. 架构模型
假设一个4×4的CGRA,其中的PE是同质的,通过网状网络互连。每个节点可与其四个最近的邻居通信,处理元素从相邻节点读取输入并写入单个输出寄存器。一个小的专用寄存器文件可为PE提供操作数并存储结果,配置存储器为多路复用器、PE和寄存器文件提供控制信号。每个节点在每个周期要么进行计算,要么路由数据,但不能同时进行。
3. 问题描述
编译器的目标是基于二维网状的CGRA和循环密集型应用。假设CGRA的每行共享一个片上存储体和一个网络接口,编译器或应用程序员管理片上内存空间,数据访问成本取决于请求PE和请求数据位置之间的距离。
操作映射技术采用指令数据流图(IDFG),它是一个二分图G(V1, V2, E),其中V1表示指令块,V2表示数据块,E捕获指令和数据块之间的访问关系。为确定候选循环中可用的指令级并行性,进行数据依赖分析,并将依赖信息包含在IDFG中。
为
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



