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