Page 37 - 實現系統級效能、功耗與面積的3D-IC小晶片設計
P. 37
INNOVATIONS
容器的尺寸大小可以改變。
把一個FPGA區分成更小的模 組或容器,並讓它們直接存取到 DRAM記憶體和處理器。eFPGA是 以模組化方式建構,能根據需要以 區塊RAM (block RAM,BRAM)將 行與行之間的磚(tile)式結構「扣」 在一起。如此一來很容易增加一 個系統的互連/晶片上網路(NoC)/ AXI匯流排,並讓每個FPGA模組/ 容器都能存取記憶體/處理器。
掌控你的FPGA
首先,將程式碼容器化(containerize)/ 模組化(modularize)為子程式。
處理器上寫入程式碼,在需要的時 候呼叫那些子程式。
將FPGA切割成更小的模組或 容器,能讓它們直接存取DRAM記 憶體和處理器。有些演算法較簡單 且使用較少的LUT,有些則會用到 更多的LUT。舉例來說,利用Flex Logix的彈性互連結構,能讓容器 變成任何尺寸的長方形,直到整個 陣列的大小。
FPGA總能從快閃記憶體在 幾秒內進行可程式化的動作── 非常緩慢,且一般而言,並不是 常常這麼做:在開機時或需要升 級動作時才需要如此,像是升級 iPhone。
我們已經看著這個產業從簡 單的算術邏輯單元(ALU)開始、經 歷了處理器、微處理器、平行處 理器,再到SoC (包括處理器核心 與加速器)的轉變。而今天,我們 擁有可重新配置的SoC,它們可 以更充分地利用一個系統中具有 大量核心的優勢。
現在,將FPGA程式碼編寫成 能夠像包含在一個容器裡的子程 式那樣地運作,可以提供輸入資 料或指向系統記憶體的資料;然 後讓FPGA執行,接著傳遞結果視 為輸出資料,或是指向系統記憶 體中的資料。利用稀有的Verilog 編碼器寫入那些需要密集運算的 「子程式」,然後讓C++編碼器在
第三,容器可以在微秒內進行分頁。
eFPGA將讓資料中心和通訊 領域的客戶能繼續受益於FPGA 的平行可編程特性,同時降低功 耗、縮小尺寸並得以透過軟體控制 FPGA,以提高生產力、縮短上市 時程。基於所有這些理由,eFPGA 實現了運算架構的新典範轉移, 既透過整合來提高每個機架的運 算密度,又能讓更多的C++程式設 計人員能夠享受eFPGA的好處。
第二,讓容器/模組的尺寸可變。
然而,eFPGA已經可以領先的
由於以上種種原因,eFPGA 整合將加速並讓更多LUT被整合 在SoC裡,超越近十年來已售出 FPGA裡的LUT數量。
AI推論處理器上,以一秒好幾百萬 次速度被重新編程;這是必須的, 因為推論加速器處理一個類神經 網路層需要好幾十億次的運算, 在小於10微秒(microsecond)的 時間內重新配置,然後重新開始
2022年4月 | www.eettaiwan.com
35
運算。這個微秒級的重新配置能夠 運用在上述陣列裡的容器和模 組。當一個容器被重新配置,剩 餘的容器會繼續以全速運作。這 使得eFPGA可以像處理器一樣進 行分頁。