作者:Michael Thompson, 新思科技高級產品營銷經理
由于工藝節點從云端拓展到互聯網邊緣與端點,高端嵌入式應用也隨之發生轉變。性能需求迅速演進,并改變了處理器架構及其在設計中的實現方式。這是增加多核處理器的應用以提供更高性能的背后原因。目前大多數高端處理器都支持雙核和四核配置。有些處理器最多支持8個CPU核心,但即便如此無法滿足存儲、汽車、網絡和5G等新興應用的性能需求。下一代嵌入式應用需要對大型CPU集群和專用硬件加速器提供可擴展的支持,以實現所需的性能。大型多核處理器需要新的架構方法來提供更高的性能,并且不會給嵌入式設計者帶來其他實現和時序收斂問題。
嵌入式性能面臨的挑戰
毋庸諱言,先進工藝節點已無法像從前那樣提供更高時鐘頻率和更低功耗。各代工藝節點的邏輯速度在持續增長,但內存訪問時間卻沒有變化(圖1)。處理器中的限速路徑幾乎總是經過內存。由于半導體物理學的真正局限性,這類情況在未來工藝節點上也不太可能發生轉變。
圖1:嵌入式存儲器性能差距
同時,嵌入式應用的最高時鐘頻率已達到1GHz–2GHz范圍(圖2)。誠然,有些時鐘頻率高于2GHz,但這是例外。對于多數應用而言,這是無法實現的。功耗和面積都是有限的,這兩者都會隨著時鐘頻率迅速增加。大多數嵌入式設計的時鐘頻率都低于1GHz。未來這一趨勢不會改變。就多數嵌入式設計而言,通過增加時鐘頻率來提高性能是不現實的。
問題在于針對嵌入式應用的性能需求在不斷增多。這是由競爭、新特性的添加和應用空間需求的變化所造成的。例如,更大容量和更高訪問速度的需求使得SSD驅動器的尺寸迅速增大。此外,計算機儲存和AI功能也被添加至嵌入式應用中,以延長驅動器壽命和提升數據訪問性能。因此上述綜合因素都對SSD控制器以及用于實現新功能的處理器提出了更高的性能需求。
提高處理器性能
許多方法已經用于提高處理器性能。多年來,增加流水線級數一直被用于解決內存限速問題。例如,DesignWare? ARC? HS處理器具有10級流水線,兩個周期的內存訪問,能夠在16FFC工藝中提供1.8GHz的時鐘頻率(最差情況下)。嵌入式設計的時鐘頻率是有限制的,因此在處理器的流水線上增加更多的處理級別并不會帶來什么改善。今后這一情況可能會改變,但現如今10級流水線是嵌入式設計的最佳選擇。
就性能增益與增加的面積和功耗對比而言,超標量實現是一個很好的折衷方案。從單一發射架構轉變至雙發射架構能夠在面積和功耗有限增加的情況下將RISC性能提升40%。對于嵌入式處理器來說,這是一個很好的折衷方案。采用三發射或四發射架構將會進一步增加CPU面積與功耗,且性能提升幅度較小。以任何代價提高性能從來都不是嵌入式處理器的目標。
添加亂序(OoO)執行可以提高嵌入式應用的性能,且不會增加時鐘頻率。通常,支持完整亂序的CPU會給嵌入式應用帶來適得其反的效果。而采用有限亂序的方法可以在不增加處理器面積的情況下獲得最佳性能提升。有限亂序通常用于高端嵌入式處理器。
緩存的目的是為了讓內存更加靠近處理器,從而提高性能。緩存支持處理器的單周期數據存取。將處理器所需信息存放于緩存中能夠提升性能。經常使用的代碼和數據保存在一級緩存中。使用較少的代碼和數據保存在訪問速度較慢的二級緩存或外部內存中,并在需要時進行讀取。對于多核處理器來說,保持一級數據緩存之間的一致性也可以提高性能。一級緩存和一致性在嵌入式處理器中很常見,而二級緩存(和三級緩存)僅用于高端應用。
在嵌入式設計中采用多個處理器的趨勢正不斷演進。幾年前,一個典型的片上系統(SoC)只包含一到兩個處理器。如今,即便是低端設計,處理器數量也超過5個,而且還在不斷增加。為了支撐這一轉變,中高端嵌入式應用的處理器提供了多核實現方式。支持兩個、四個和八個CPU核心的處理器已經推出。程序員可以使用Linux或其他操作系統在CPU內核之間順暢地進行操作,同時平衡執行以提高性能。
硬件加速器正越來越多地應用于嵌入式設計。它們以最小的功耗和面積提供高性能,同時減輕處理器的負擔。硬件加速器的主要缺點是它們的不可編程性。添加加速器使之與處理器并行工作可以緩解這種情況。然而,現有處理器只能有限度地支持硬件加速器,有的甚至無法提供支持。有些處理器(如ARC處理器)支持自定義指令,允許用戶向處理器流水線添加硬件。盡管自定義指令很誘人,但硬件加速器也帶來了其他好處,與處理器并行使用時,可以顯著提高性能。
嵌入式應用的處理器性能提升存在許多挑戰。處理器已經支持更深層次的流水線技術,超標量實現和亂序功能能夠有所幫助,但也只能到此為止。緩存技術已經非常豐富,一致性也是如此,因此不太可能取得進一步的進展。在設計中采用更多的CPU核心數與硬件加速器是嵌入式設計人員正采取的更高性能實現途徑。
下一代嵌入式處理器架構
下一代處理器將支持大型多核實現和硬件加速(圖3)。處理器供應商要做的不僅僅是向現有處理器添加接口。支持4個或8個CPU內核的處理器已經達到了最大頻率限制,并且在時序收斂方面可能會出現重大問題。增加更多的內核只會讓這一問題變得更糟糕。下一代處理器必須從內部處理器互連的完全重構開始,改進時序收斂,解決速度限制,并增加內部帶寬。外部接口的帶寬也必須增加,以支持數據進出處理器。
圖3:下一代嵌入式處理器架構
服務質量(QoS)技術在片上網絡(NOC)中得到了廣泛的應用,但在多核處理器中的應用卻很有限。這種情況將在下一代處理器中發生改變,讓程序員能夠管理每個CPU核心和加速器的內部帶寬,從而最大限度地提高性能。這取決于應用,雖然并非每個設計都需要服務質量技術,但在其他設計中,它對于確保可預測性能至關重要。
大型處理器集群的優勢
大型多核處理器比小型多核處理器具有優勢。采用一個具有12個CPU核心的處理器,而不是使用具有4個CPU核心的三個處理器集群,將減少CPU核心之間的延遲,并支持對內核的直接窺探。大型處理器集群的另一個優勢是能提供更優越的軟件擴展性。具有12個CPU核心的處理器為程序員提供了更大的軟件分區靈活性,用于處理任務的核心數量可以根據需要的性能動態進行分配。在多個處理器集群中,由于缺乏CPU內核之間的統一訪問,因此很難獲得這種級別的軟件性能控制。
大型多核處理器也將從與硬件加速器的緊密耦合中獲得優勢。將硬件加速器接口移動到處理器內部,而不是通過SoC總線連接它們,將減少SoC總線上的延遲和流量,同時提高數據共享和系統性能。采用共享用戶寄存器也可以提高加速器上可編程控制的效率。
ARC HS5x/HS6x
新思科技公司(Synopsys)下一代DesignWare ARC HS5x和ARC HS6x處理器IP利用前面描述的許多方法來提高處理器性能。這些處理器具有高速10級、雙發射流水線,在功耗和面積有限的情況下提高了功能單元的利用率。ARC 64位 HS6x處理器具有完整的64位流水線和寄存器文件,支持64位虛擬地址空間和52位物理地址空間,可以直接尋址當前和未來的大內存,并支持128位加載和存儲,以實現高效的數據移動。
圖4:DesignWare ARC HS5x/HS6x處理器IP框圖
32位ARC HS5x和64位HS6x處理器的多核版本都包含一個先進的高帶寬內部處理器互連結構,其設計旨在通過異步時鐘和高達800 GB/s的內部聚合帶寬來簡化時序收斂。新款ARC HS處理器的多核版本包括一個創新的互連結構,可連接多達12個核心,支持多達16個硬件加速器的接口。為了進一步簡化時序收斂,每個核位于自己的功率域中,并且與其他核具有異步時鐘關系。跟所有ARC處理器一樣,HS5x和HS6x處理器都高度可配置,并采用ARC Processor Extension(APEX)技術,支持自定義指令,可滿足每個嵌入式應用的獨特性能、功耗和面積要求。
為了加速軟件開發,ARC HS5x和HS6x處理器由ARC MetaWare開發工具套件提供支持,可生成高效代碼。處理器的開源軟件支持包括Zephyr實時操作系統、優化的Linux內核、GNU編譯器集合(GCC)、GNU調試器(GDB)和相關的GNU編程實用程序(二進制工具)。
總結
由于嵌入式應用的性能需求將日益增多,嵌入式應用中所采用的處理器也必須隨之提高性能。鑒于面積與功耗的有限性,以及處理器性能簡易提升已取得進展,這將面臨挑戰。先進工藝節點不再像以前那樣帶來性能提升,嵌入式處理器的速度也受到了限制。超標量和亂序功能在高端處理器中很常見,但64位(盡管必要)提供的性能提升有限。新一代多核處理器需要支持8個以上的CPU核心數,并需要采用硬件加速器內部互連結構。新處理器如DesignWare ARC HS5x和HS6x處理器IP將提供可擴展的性能和功能,并讓設計師能夠解決其嵌入式應用的功耗和面積需求。新款處理器采用先進的架構與高速內部互連結構,不僅滿足了當今高端嵌入式應用的性能需求,同時也為未來設計留下了足夠空間。
編輯:hfy
-
處理器
+關注
關注
68文章
19312瀏覽量
230033 -
cpu
+關注
關注
68文章
10872瀏覽量
211996 -
嵌入式處理器
+關注
關注
0文章
255瀏覽量
30752
發布評論請先 登錄
相關推薦
評論