使用可擴(kuò)展的多核處理器滿足嵌入式應(yīng)用程序中不斷提高的性能要求隨著處理從云擴(kuò)展到Internet的邊緣和端點,高端嵌入式應(yīng)用程序正在發(fā)生一種轉(zhuǎn)變。性能要求迅速提高,并且改變了處理器的體系結(jié)構(gòu)以及如何在設(shè)計中實現(xiàn)它們。這是增加使用多核處理器以提供更高性能的原因。當(dāng)今大多數(shù)高端處理器都可支持雙核和四核配置。有少數(shù)支持多達(dá)8個CPU內(nèi)核,但即使這樣也無法提供存儲,汽車,網(wǎng)絡(luò)和5G新興應(yīng)用所需的性能。下一代嵌入式應(yīng)用程序需要對更大的CPU群集和專用硬件加速器的可擴(kuò)展支持,以提供所需的性能。 嵌入式性能挑戰(zhàn) 先進(jìn)的過程節(jié)點不再像以前那樣提供更高的時鐘速度和更低的功耗,這已不是秘密。對于許多流程代來說,邏輯速度一直在提高,但是內(nèi)存訪問時間卻沒有。處理器中的限速路徑幾乎總是通過內(nèi)存。由于半導(dǎo)體物理的真正局限性,這種情況對于將來的工藝節(jié)點不太可能改變。 同時,嵌入式應(yīng)用中的最大時鐘速度達(dá)到了1GHz至2GHz的范圍??梢钥隙ǖ氖?,有一些例外情況的時鐘頻率高于2 GHz,但是對于大多數(shù)應(yīng)用來說,這是不可能的。功耗和面積都有限制,并且兩者都隨著時鐘速度而迅速增加。大多數(shù)嵌入式設(shè)計的時鐘頻率都低于1 GHz,隨著我們向未來邁進(jìn),這一點不會改變。對于大多數(shù)嵌入式設(shè)計而言,通過提高時鐘速度來提高性能并不是現(xiàn)實的方法。 這里的挑戰(zhàn)是嵌入式應(yīng)用程序的性能要求不斷提高。這是由競爭,新功能的添加以及應(yīng)用程序空間要求的變化所驅(qū)動的。例如,隨著對更大容量和更高訪問速度的需求,SSD驅(qū)動器的大小正在迅速增加。此外,還增加了計算存儲和人工智能,以延長驅(qū)動器壽命并改善數(shù)據(jù)訪問和性能。所有這些都提高了對SSD控制器和用于實現(xiàn)它們的處理器的性能要求。 提高處理器性能 已經(jīng)使用了許多方法來提高處理器性能。多年來,增加流水線級的數(shù)量已被用來應(yīng)對內(nèi)存速度的限制。例如,可以在16個FFC進(jìn)程中以1.8 GHz(最壞的情況)提供時鐘,具有兩個周期存儲器訪問權(quán)限的DesignWare?ARC?HS處理器10級流水線。時鐘對嵌入式設(shè)計的運(yùn)行速度有限制,因此在處理器的流水線中添加更多級將帶來有限的收益。將來這可能會改變,但是目前對于嵌入式設(shè)計而言,十級流水線是最佳選擇。 就性能增益與增加的面積和功耗而言,超標(biāo)量實現(xiàn)是一個不錯的權(quán)衡。從單發(fā)架構(gòu)過渡到雙發(fā)架構(gòu),可以在面積和功耗有限的情況下將RISC性能提高40%。對于嵌入式處理器來說,這是一個很好的權(quán)衡。轉(zhuǎn)向三發(fā)或四發(fā)將進(jìn)一步增加面積和功率,但性能降低的幅度較小。不惜一切代價實現(xiàn)性能從來都不是嵌入式處理器的目標(biāo)。 添加亂序(OoO)執(zhí)行可以在不提高時鐘速度的情況下提高嵌入式應(yīng)用程序的性能。通常,支持完整OoO的CPU對于嵌入式來說是過高的,有限的方法將在不增加處理器尺寸的情況下提供最佳性能。受限的OoO通常用于高端嵌入式處理器。 緩存用于使內(nèi)存更接近處理器,從而提高性能。緩存具有對處理器的單周期訪問,而性能的提高是信息在需要時被緩存的結(jié)果。通常將使用的代碼和數(shù)據(jù)保存在1級緩存中。較少使用的代碼和數(shù)據(jù)保存在訪問速度較慢的2級緩存或外部存儲器中,并根據(jù)需要進(jìn)行訪問。對于多核處理器,維護(hù)L1數(shù)據(jù)緩存之間的一致性也可以提高性能。L1緩存和一致性在嵌入式處理器中很常見,而L2緩存(和3級)僅用于高端應(yīng)用程序。 嵌入式設(shè)計越來越多地使用多個處理器。幾年前,典型的片上系統(tǒng)(SoC)具有一到兩個處理器。如今,即使對于低端設(shè)計,也有超過五個處理器很常見,并且數(shù)量還在不斷增加。為此,用于中高端嵌入式應(yīng)用程序的處理器提供了多核實現(xiàn)。支持兩個,四個和八個CPU內(nèi)核的處理器可用。使用Linux或其他操作系統(tǒng),可使程序員在CPU內(nèi)核之間實現(xiàn)平穩(wěn)運(yùn)行,同時平衡執(zhí)行以提高性能。 在嵌入式設(shè)計中,硬件加速器的使用正在增加。它們在卸載處理器的同時以最小的功率和面積提供了高性能。硬件加速器的主要缺點是它們不是可編程的。添加加速器以與處理器配合使用可以減輕這種情況。不幸的是,現(xiàn)有的處理器支持硬件加速器的能力有限或沒有。某些處理器(例如ARC處理器)支持自定義指令,這些指令使用戶能夠?qū)⒂布砑拥教幚砥鞴艿乐?。盡管自定義指令很有吸引力,但是硬件加速器還具有其他優(yōu)點,當(dāng)與處理器結(jié)合使用時,可以大大提高性能。 |