核心概念
減少 RISC-V 向量擴展 (RVV) 中向量暫存器的數量,可在保持良好效能的同時,顯著縮減小型處理器的面積。
摘要
減少向量暫存器數量之 RISC-V V 向量擴展 (RVV) 研究論文摘要
文獻資訊:
Jacobs, E., Utyansky, D., Hassan, M., & Roecker, T. (2024). RISC-V V Vector Extension (RVV) with reduced number of vector registers. arXiv preprint arXiv:2410.08396v1.
研究目標:
本研究旨在探討減少 RISC-V 向量擴展 (RVV) 中向量暫存器數量對小型處理器面積和效能的影響。
研究方法:
作者分析了數個常見的數位訊號處理核心,包括矩陣乘法、向量累加、點積和矩陣向量乘法,比較了不同向量暫存器數量和不同資料塊大小對這些核心執行效率的影響。
主要發現:
研究發現,將向量暫存器數量減少到 16 個甚至 8 個,可以顯著縮減處理器面積,同時在許多應用中仍能保持良好的效能。例如,對於矩陣乘法核心,使用 10 個向量暫存器可以達到 89% 到 100% 的乘法累加單元利用率,而使用 4 個向量暫存器則可以達到 44% 到 50% 的利用率。
主要結論:
作者建議將向量暫存器數量減少到 16 個或 8 個作為 RVV 標準的一部分,以滿足小型嵌入式系統的需求。
研究意義:
此研究為小型嵌入式系統的 RISC-V 向量擴展設計提供了新的思路,有助於在有限的資源下實現更高的效能和更低的功耗。
研究限制與未來方向:
本研究主要關注定點運算核心,未來可以進一步探討減少向量暫存器數量對浮點運算核心的影響。此外,還可以研究更高記憶體頻寬對核心效能的影響。
統計資料
標準的「V」擴展需要 32 個向量暫存器,本文建議將其減少到 16 個或 8 個暫存器。
在小型處理器設計中,完整的 RVV 1.0 向量暫存器檔案(32 個 64 位元向量暫存器)約佔整體邏輯面積的 30%。
將向量暫存器檔案減半(16 個 64 位元向量暫存器)或減少到四分之一大小(8 個 64 位元向量暫存器)可以分別節省 15% 到 23% 的處理器面積。
8 個 64 位元向量暫存器的向量暫存器檔案總共有 512 個暫存器位元。這與 RV32E 版本的 RISC-V 中具有 16 個 32 位元暫存器的純量暫存器檔案中的位元數相同。
引述
"Reducing the number of vector registers does not generate a completely new programming model: although the resulting core does not have binary code compatibility with the standard RVV, compiling for it just requires parameterization of the vector register file size in the compiler."
"Many useful signal processing kernels require few registers."
"Our analysis shows that important kernels can be efficiently implemented with fewer than 32 vector registers, the number required by the RVV 1.0 standard."