粗粒度可重构阵列的可重构缓冲结构
1. 引言
半导体技术已遭遇功耗墙,且离利用率墙也不远了。技术的不断缩小导致能量密度持续升高,但芯片只能承受有限的功率预算,这使得芯片可用面积可能无法充分利用,或者至少无法同时充分利用。如今,能源效率比单纯的计算能力更为重要,未来要提升计算性能,就必须大幅提高系统的能源效率。设计包含异构硬件和定制资源(如针对特定应用领域的加速器)的嵌入式系统,是应对这一挑战的有效方案。
粗粒度可重构阵列(CGRAs)具有可编程性、高计算吞吐量和高能源效率的特点,在这一领域颇具吸引力。将可重构加速器集成到片上系统(SoC)设计中有多种方式,比如与处理器紧密耦合,通过专用接口或共享寄存器文件进行通信;也可以共享CPU的末级缓存,但这需要合适的缓存一致性模型和协议;还能将硬件加速器连接到共享总线或片上网络(NoC),通过消息传递(如DMA传输)与系统其他部分通信,但访问共享资源的开销可能会影响加速器性能。
为解决这一问题,我们提出一种灵活的缓冲结构,可在运行时配置为可寻址RAM或像素缓冲。本文将这种缓冲用于将RISC处理器直接连接到一类名为紧密耦合处理器阵列(TCPAs)的CGRAs的边界处理元素。以边缘检测算法为例,展示如何将图像处理吞吐量提高到系统可用的内存带宽。
2. 相关工作
片上处理器阵列和粗粒度可重构架构(CGRA)的功能相似,界限并不清晰。例如PACT XPP和ADRES,它们都能通过运行时重构在多个上下文之间切换。ADRES与VLIW处理器紧密耦合,PACT的XPP架构在阵列的两个边界提供一列RAM,可配置为可寻址或流模式,但除了每个缓冲一个简单计数器外,没有复杂的地址生成器,若需要复杂的缓冲寻址方案,阵列的
粗粒度可重构阵列的可重构缓冲结构研究
超级会员免费看
订阅专栏 解锁全文
1782

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



