引言
帶寬是影響FPGA加速器的重要因素,因為大量的並行計算對數據量要求很大。如果加速器對數據的訪問是不規則的,那麼cache miss就會大大影響加速器性能。這篇來自FPGA2019會議的報告,向我們展示瞭如何來更好的處理cache miss問題,提高對緩存的利用率以及提高加速器效率。
01 Cache miss的問題
假設DDR可以提供12.8GB/s的帶寬,FPGA上的並行加速器的數據輸入帶寬為0.8GB/s,可以並列16個這種加速器。這些加速器通過arbiter來直接訪問DDR。如果它們訪問的數據是連續規則的,那麼DDR的帶寬可以被充分利用。但是這些加速器需要的數據在DDR中並不是規則排列的,如圖1.1。這樣就會造成頻繁的訪問DDR,這樣DDR的帶寬就不夠用,造成的結果就是加速器會受到延遲,效率無法得到提升。就如同圖1.1所示,實際上有效利用的DDR帶寬只有0.8GB/s。