發布日期:2022-07-15 點擊率:41
以前的做法是提高處理器的時鐘頻率,但是這種方法通常會增加功耗。此外存儲器性能的提升不能與處理器技術的進步保持一致(圖1),兩者之間性能上的不匹配限制了系統性能方面的提高。因此提高處理器頻率的方法事倍功半。
圖1:處理器與存儲器不匹配成為系統性能的瓶頸。
還有一種選擇是采用多內核系統,但是這要付出更大芯片面積和更高成本的代價。任何性能的提高都會導致相應的芯片成本和系統功耗。
另一種選擇是采用兩個或多個執行單元的多發射處理器,但是它們會爭奪硬件資源,也存在著芯片面積問題。此外很多情況下,為了最好地利用多條流水線不得不對軟件做出修改。
然而多線程解決方案可通過增加處理器的利用率來隱藏存儲器延遲的問題。當一個線程停止時,其他線程就立即饋入流水線,從而顯著增加應用的吞吐能力。
單內核上的多線程
最新發布的MIPS32 34K內核系列可提供單內核上的多線程能力,因而具有更高的系統性能、更低的系統成本和功耗,同時保留現有軟件架構上的投資。34K內核針對高度并行的應用,如機頂盒、VoIP、多功能打印機或數字電視,可通過同時處理軟件的多個線程實現系統級并行。
圖2:MIPS32 34K 處理器設計。
減少總擁有成本和功耗
更高的效率有助于設計師減少系統中的其他硬件模塊,如專用的數字信號處理器(DSP)。更高的應用吞吐能力保證了實現同樣的性能所需的頻率比傳統處理器低,從而可降低整體功耗。此外,通過充分利用每個時鐘周期的所有計算能力可提升性能。
34K內核系列技術
基于成熟的24KE微架構,34K內核系列采用9級執行流水線連接少量硬件,可處理虛擬處理單元(VPE)、線程關聯(TC)和服務質量(QoS)優先級。
圖3:服務質量分級。
如圖2所示,每個線程都擁有其專用硬件,稱做線程關聯(TC)。這使每個線程都可以擁有自己的具備預取功能的指令緩沖器,因此核心能以逐個時鐘的方式在線程間進行切換,以使流水線盡可能完整。這些做法可以避免開銷高昂的關聯交換。
每個TC都擁有自己的通用寄存器,一個PC(程序計數器)可保證TC運行來自于復雜操作系統(如Linux)上的一個線程。一個TC還和其它TC共享資源,特別是在操作系統內核(OS Kernel)上的優先代碼可使用CP0寄存器。
共享的CP0寄存器組和與其關聯的TC構成一個VPE。運行一個線程(如利用一個TC)的VPE非常類似于一個獨立的MIPS CPU,完全符合MIP32架構的要求。
所有線程(在任意VPE中)共享同一個高速緩存,所以不會發生高速緩存一致性的問題。這消除了多核和多處理器系統中存在的問題,在這些系統中要用多個周期和額外的邏輯來管理不同的處理器并保證高速緩存的一致性。
圖4:AMVP(基于VPE的非對稱多處理)系統可同時運行兩個操作系統。
根據應用的需求,34K核心可以配置多達5個TC,這些TC由最多兩個VPE支持。正是這種VPE和TC的結合提供了最高的芯片面積效率和靈活的解決方案。
服務質量(QoS)
QoS引擎從運行的線程中循環選取指令,逐個周期的交叉執行指令,以使總體應用的吞吐能力最大化。這樣就可以使處理器帶寬在不同線程之間很好的共享,從而充分利用各自的處理“間隙”。或者通過向特定線程分配專用的處理帶寬,也可以實現如通信、視頻和音頻處理等實時任務所需要的服務質量。
服務質量由分級方法處理(如圖3),這樣用戶就可以將不同等級的處理帶寬編程分配給現有的TC。基于分配的帶寬,集成的策略管理器(Policy Manager)可以向單個TC分配優先級,持續監控線程進度,在需要時為分發調度器(Dispatch Scheduler)提供重要“提示”。分發調度器也可以逐周期的調度線程到執行單元,以保證服務質量要求。
軟件應用模型
另一個關鍵點是大多數配置將運行現有軟件而無需修改,對于系統開發者來說這是縮短產品上市時間的主要優勢。
以最簡單的多線程形式,基于VPE的非對稱多處理(AMVP)系統可保證兩個操作系統同時運行,每一個操作系統又在基于自己VPE的TC上(圖4)運行。大多數情況下這兩個操作系統很可能是兩個已有的操作系統(例如面向控制平面應用的Linux和面向數據平面應用的RTOS),這些系統以前運行在兩個獨立的MIPS內核上。
圖5:最終設計的靈活性——支持多VoIP通道的住宅網關。
將兩個功能結合到一個核心可減少成本、芯片面積和功耗。這個單芯片、單核心SoC可以由兩個操作系統用基本相同方式進行控制,正如以前那樣使操作系統、應用程序代碼的改變降到最低,從而提供一條向更高性能SoC器件轉移的低風險路徑。
34K是高度可配置的內核,圖5說明了這一點。用戶可以在一個VPE上運行住宅網關的控制平面功能,而在第二個VPE上使用4個TC支持多通道VoIP,從而大大的降低了系統成本。
本文小結
盡管嵌入式環境是高度并發的,目前的單線程處理器類別還沒有開發出有效的并發設計。不斷增加的時鐘頻率可增加性能方面的優勢,但是內存延遲嚴重地限制了系統吞吐能力。多發射超標量處理器由于額外的裸片成本和設計復雜性,也會導致回報遞減。另一個選擇是多核設計,其已經在提高系統性能方面取得了一定的成功,但是這通常可能使芯片成本和功耗增加,從而阻礙了在許多嵌入式設計中的應用。
34K核心系列利用多線程技術達到了設計的平衡。通過以并行的方式處理多個軟件線程,34K核心隱藏了內存延遲的問題,可顯著提高系統性能和節省成本,同時只需增加很少的芯片面積。34K核心系列可滿足嵌入式應用的實時要求,能為用戶的實時任務分配專用處理帶寬。
作者:Vivek Sardana
產品行銷經理
MIPS公司