硬件/软件分区中加速器的集成耦合与时钟频率分配
1. 引言
硬件/软件分区是将应用程序的内核从微处理器转移到定制硬件加速器上执行的技术,它能显著提升应用性能并降低能耗,在专用集成电路(ASIC)和现场可编程门阵列(FPGA)的实现中都具有重要意义。随着FPGA在商业微处理器平台中的应用日益广泛,这种分区技术变得愈发关键。
以往大多数硬件/软件分区方法并未考虑加速器与微处理器的不同耦合方式,也未对加速器进行时钟频率分配。现代平台(如FPGA)通常支持多种耦合方式和多个不同的时钟频率。例如,Xilinx Spartan 3支持四种不同的时钟频率,Xilinx Virtex II则最多支持八种。
加速器与微处理器的耦合方式主要有两种:紧密耦合和松散耦合。紧密耦合的加速器可直接访问微处理器的内存或缓存,但所有紧密耦合的加速器必须以相同的时钟频率运行,且该频率通常是这些加速器中最慢的频率。松散耦合的加速器通过桥接器访问内存,因此每个加速器可以有独特的优化时钟频率。然而,可用的时钟频率数量往往有限,这就产生了如何将有限的时钟频率分配给加速器以实现性能最大化的问题。
2. 问题定义与描述
2.1 两级微处理器 - 加速器分区
该问题是将加速器划分为紧密耦合集和松散耦合集,假设每个松散耦合的加速器可以以其独特的时钟频率运行。目标是最小化所有加速器的执行时间,使用的目标函数如下:
[
\sum_{i = 1}^{n} \left( \frac{TC_{i}.cycles_{comp}}{TC_{i}.freq_{clk}} + \frac{TC_{i}.accesses_{mem}}{TC_{i}.freq_{
超级会员免费看
订阅专栏 解锁全文
247

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



