定義已更改,因此將影響設計過程。
在最新的周期性發展熱潮的刺激下,半導體行業進入了定制處理器的新黃金時代,但是這次“定制處理器”意味著不同的東西。
上一個時代,每家主要的半導體公司都擁有內部處理器:SuperH,PowerPC,V800,Alpha,MEP,Trimedia等,其中一些在特定領域比其他領域更加專業。但是,行業整合和維護專有架構的巨額花費導致其中的許多都逐漸消失,整個行業進入了“標準架構”的漫長時期,而定制處理器填補了諸如音頻處理等應用領域的空白。
“在過去的幾年中,出現了用于圖像處理、無線基帶、LiDAR、圖形和神經網絡的領域專用內核,” Codasip營銷副總裁Chris Jones說。
這樣,定制處理器已發展為意味著針對特定任務類別進行了優化的處理器。微體系結構和指令集由最終將運行的軟件來確定。如今,對可實現標準ISA專有指令擴展的定制工具的需求很高。
Jones說:“對于設計團隊來說,這是一種高效而低風險的方式,以實現他們的'秘密配方'。”此外,設計過程現在比以往任何時候都更關注軟件,這對建模和性能分析工具提出了要求,以簡化自定義體系結構。RISC-V運動為定制化在背后做出了巨大貢獻,因為其模塊化架構為非標準擴展提供了空間,專有軟件IP技術可以嵌入在定制指令中,而不會犧牲行業標準ISA和隨附生態系統的優勢。”
定制處理器曾經是指從頭開始設計的CPU,但是其定義是隨著時間而發展和擴展的。
“用戶可配置IP的可用性意味著設計人員可以選擇最適合其目標應用的總線和寄存器寬度,緩存大小,流水線級數和其他處理器功能,” OneSpin解決方案產品設計驗證的專家Nicolae Tusinschi說。“雖然最終的處理器可能不被認為是定制的,但大量可能的配置意味著所選的特定功能集可能在所有用戶中都是唯一的。如果處理器IP以RTL形式交付或生成,并且如果許可協議允許,則用戶可以將設計更改為真正定制的程度。”
他同意RISC-V ISA進一步擴展了自定義處理器的概念,因為其指令集體系結構定義了不同的數據寬度和可選指令的多種類別,包括特權模式擴展和變體。這些功能的任何選擇均被視為符合ISA。
“由于RISC-V是一種不依賴于單個供應商的開放式體系結構,因此用戶可以從多個IP供應商甚至從開源資源庫中選擇許多不同的處理器。從簡單的控制器到具有亂序執行、多級緩存和其他高級功能的并行處理系統,RISC-V被明確定義為可以在各種微體系結構上實施。” Tusinschi說。
Tusinschi說,RISC-V ISA還可以添加用戶定義的擴展,例如新指令,從而為設計開發適合最終應用的處理器提供了更大的靈活性。“因此,許多RISC-V處理器是真正的定制產品,具有定制的功能選擇,定制的微體系結構和定制的擴展,同時仍符合ISA。這個更復雜的設計過程對驗證具有重要意義。僅僅遵守是不夠的。任何RISC-V驗證解決方案都必須處理可選功能,驗證包括微體系結構在內的完整設計,并且足夠靈活以包含用戶擴展。”
同時,消費者、工業和汽車產品對高性能計算的需求也在不斷增長,以提供創新的“哇”的體驗。
“功率和熱約束推動了除高性能之外對高功率效率(每瓦性能)的需求。” Cadence的Tensilica IP產品管理、市場營銷和業務開發高級總監Lazaar Louis指出,“定制處理器有助于滿足這些需求。”
例如,消費者視頻通話產品需要幾個特定領域的處理器,包括音頻、圖像和AI處理,才能提供引人入勝的體驗。同樣,自動駕駛汽車需要信號處理器來預處理攝像頭、雷達、激光雷達和超聲傳感器數據。下一步是感知車輛的周圍環境,包括行人和其他車輛的位置。Louis解釋說,下一步是決策,以估算路徑規劃和駕駛員協助。
圖1:自動駕駛汽車處理器。來源:Cadence
過去,許多定制處理器都使用專有指令集。這種方法的缺點是限制了這些處理器的用途。好處是,工具集和體系結構更改由供應商維護,他們對確保其可靠和安全有既得利益。由加州大學伯克利分校的一個小組開發的RISC-V允許根據需要擴展開放式指令集。
“定制處理器的主要問題是對定制指令以及基本核心集的驗證,以確保任何定制都不會改變整體功能,” Breker Verification Systems的副總裁兼首席營銷官Dave Kelf說。“定制處理器公司經常為用戶執行此驗證過程。RISC-V將需要類似的驗證機制,并且在處理器周圍如雨后春筍般涌現的開源社區很可能提供了這一點。一個驗證平臺可以自動測試處理器周圍的子系統,并且其模塊化程度足以添加必要的指令,從而可以對處理器以及定制指令進行全面測試。這樣的系統將大大增加RISC-V擴展的成功。”
定制化的計算尺
可以肯定的是,人們對定制處理器的理解存在差異,特別是在定制級別的方面。有這么多的選項和用例,定制似乎遵循著按比例擴大的趨勢。如果沒有這些工具,開發就會變得很復雜。
Synopsys和其他公司提供了一種工具,使工程團隊可以設計定制的專有專用處理器。“使用該工具,你可以指定處理器,然后從中生成RTL,軟件開發套件(至關重要的的一環),指令集模擬器,編譯器和調試器以及整個GUI基礎結構,” Synopsys的ASIP工具產品營銷經理Markus Willems說。
這些工具具有廣泛的適用性,Willens說。“我們看到各種各樣的客戶提出了各種關于定制他們想做什么的想法。它的范圍從更改給定的ISA和微體系結構的特殊性到下一個級別,在該級別上,給定指令集體系結構得到擴展以添加特殊指令。這總是從給定的ISA作為起點開始,一直到構建非常定制的東西,這是一個經過很好調整的ISA,從外部可以看作是RTL的一部分或專用功能。這可以在普通的固定RTL實現中完成,但是在這里你想用更具可編程性的實體替換狀態機,以保持一定的靈活性并降低狀態機的復雜性。有各種各樣的定制正在發生。”
反過來,這也說明了系統架構師今天在尋求最佳設計的道路上必須進行的權衡取舍。Willems越來越多地看到那些架構師在如何進行權衡方面取得了清晰的結果。這種做法已經由來已久。
“在上世紀90年代的處理器設計歷史中,我們幾乎沒有看到這種創新,至少在指令集本身方面沒有創新,因為在那里僅僅能依靠[制造]流程來進行改進。” Willems說,“轉到下一個節點,你將獲得2倍、3倍,并且無需做太多工作即可獲得更高的頻率。但這沒什么用,我們進入了多核設計,起初是異構的,因此你只需做多個相同的事情即可。但這導致了一定的飽和度。現在,我們顯然看到了將多核體系結構調整為更多專用內核的更加專業化的時代。”
芯片制造商通常對如何將算法切成什么樣并分別使用何種專用處理器有很好的理解。他們知道哪些組件需要更高的性能,哪些組件必須專門用于滿足特定的吞吐量要求,以及哪些組件最耗電。但是隨之而來的挑戰是弄清楚應該將算法的哪些部分以及應用程序的哪些部分映射到與之相應的事物上。這會影響時序、吞吐量和功耗,這是EDA在幫助工程師在短時間內探索各種體系結構(尤其是在C語言可編程級別)的巨大機會。
“沒有人敢說,'我想為一系列專用處理器做匯編編碼,然后發現我選錯了處理器。” Willems說到,“各種高級編程語言也是我們在定制處理器中關心的關鍵要素,你可以在Cuda圖形處理以及神經網絡處理器中看到這一點,其中編程語言實質上就是你所需要的一個形象的切入點。但是對于大多數人來說,仍然是C和C ++。”
高度抽象的工作有助于理解性能,因此擁有準確的處理器模型并在該處理器上運行關鍵內核至關重要。但是在微體系結構級別還有更多的優化可能。
內存設計增加了其他整個優化級別。“通常,它不是處理器本身,” Willems說。它可以輸入和輸出數據,并確保數據可以及時供不同的處理器使用。不同內存架構和處理器的I / O接口之間的權衡是定制處理器設計的關鍵要素。”
定制處理器的設計挑戰
任何處理器設計中的關鍵指標都涉及功耗-每次操作每瓦/毫瓦的性能。
“通常情況下,數字運算很困難,因此你必須分析所有傳感器數據,并且將信號處理與決策結合在一起,需要在這些邊緣設備上進行很多工作。” Willems說“為這種與硬件鏈接的處理器設計編譯器,和設計仿真器是一項需要完全不同技能的任務。你需要將這些技能組合在一起。必須對團隊進行相應的組織,以便擁有正確的專業知識。如果你有硬件背景,現在決定要更加專注于定制處理器,那就意味著不能從IP供應商處購買。你開始對內部進行設計,而軟件開發套件的主題就是這一舉措的障礙。
在定制處理器的發展中,為了使跨越整個半導體生態系統的工程團隊能夠實現其目標,成功歸結于ISA、工具、團隊和權衡的進步。這種勢頭已經轉向從可執行格式中獲取創意,創建早期仿真模型以及執行基于概要的分析,而不是過時的電子表格方法。
但是隨著AI和機器學習的激增,專用處理元素的機會在不斷增長。
“你看到的架構越多,受到啟發的人就越多,” Willems說。“整個市場僅憑人們使用更專業的處理器在市場上取得成功就觸發了自身的發展。”
原文標題:什么是定制化處理器?
文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
處理器
+關注
關注
68文章
19165瀏覽量
229128 -
cpu
+關注
關注
68文章
10825瀏覽量
211150 -
AI
+關注
關注
87文章
30146瀏覽量
268414
原文標題:什么是定制化處理器?
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論