Global Sources
電子工程專輯
 
電子工程專輯 > 嵌入式技術
 
 
嵌入式技術  

多執行緒推動下一代嵌入式SoC發展

上網時間: 2006年06月14日     打印版  Bookmark and Share  字型大小:  

關鍵字:MIPS  34K  多執行緒 

世界各地的設計師都面臨著越來越嚴格的系統成本和功耗方面的限制,同時被要求他們的設計增加更多的性能和功能。

以前的做法是提高處理器的時脈頻率,但是這種方法通常會增加功耗。此外記憶體性能的提升不能與處理器技術的進步保持一致(圖1),兩者之間性能上的不匹配限制了系統性能方面的提高。因此提高處理器頻率的方法事倍功半。

圖1:處理器與記憶體不匹配成為系統性能的瓶頸。

還有一種選擇是採用多核心系統,但是這要付出更大晶片面積和更高成本的代價。任何性能的提高都會導致相應的晶片成本和系統功耗。

另一種選擇是採用兩個或多個執行單元的多發射處理器,但是它們會爭奪硬體資源,也存在著晶片面積問題。此外很多情況下,為了最好地利用多條管線不得不對軟體做出修改。

然而多執行緒解決方案可透過增加處理器的利用率來隱藏記憶體延遲的問題。當一個執行緒停止時,其他執行緒就立即饋入管線,因而顯著增加應用的吞吐能力。

單核心上的多執行緒

最新發佈的MIPS32 34K核心系列可提供單核心上的多執行緒能力,因而具有更高的系統性能、更低的系統成本和功耗,同時保留現有軟體架構上的投資。34K核心針對高度平行的應用,如視訊轉換盒、VoIP、多功能印表機或數位電視,可透過同時處理軟體的多個執行緒實現系統級平行。

圖2:MIPS32 34K 處理器設計。

減少總擁有成本和功耗

更高的效率有助於設計師減少系統中的其他硬體模組,如專用的數位訊號處理器(DSP)。更高的應用吞吐能力保證了實現同樣的性能所需的頻率比傳統處理器低,因而可降低整體功耗。此外,透過充分利用每個時脈週期的所有運算能力可提升性能。

34K核心系列技術

基於成熟的24KE微架構,34K核心系列採用9階執行管線連接少量硬體,可處理虛擬處理單元(VPE)、執行緒關聯(TC)和服務品質(QoS)優先級。

如圖2所示,每個執行緒都擁有其專用硬體,稱做執行緒關聯(TC)。這使每個執行緒都可以擁有自己的具備預取功能的指令緩衝器,因此核心能以逐個時脈的方式在執行緒間進行切換,以使管線盡可能完整。這些做法可以避免開銷高昂的關聯交換。

每個TC都擁有自己的通用暫存器,一個PC(程式計數器)可保證TC執行來自於複雜作業系統(如Linux)上的一個執行緒。一個TC還和其它TC共享資源,特別是在作業系統核心(OS Kernel)上的優先程式碼可使用CP0暫存器。

圖3:服務品質分級。

共享的CP0暫存器組和與其關聯的TC構成一個VPE。執行一個執行緒(如利用一個TC)的VPE與一個獨立的MIPS CPU非常類似,完全符合MIP32架構的要求。

所有執行緒(在任意VPE中)共享同一個快取記憶體,所以不會發生快取記憶體一致性的問題。這消除了多核和多處理器系統中存在的問題,在這些系統中要用多個週期和額外的邏輯來管理不同的處理器並保證快取記憶體的一致性。

根據應用的需求,34K核心可以配置多達5個TC,這些TC由最多兩個VPE支援。正是這種VPE和TC的結合提供了最高的晶片面積效率和靈活的解決方案。

服務品質(QoS)

QoS引擎從執行的執行緒中循環選取指令,逐個週期的交叉執行指令,以使總體應用的吞吐能力最大化。這樣就可以使處理器頻寬在不同執行緒之間很好的共享,因而充分利用各自的處理‘間隙’。或者透過向特定執行緒分配專用的處理頻寬,也可以實現如通訊、視訊和音訊處理等即時任務所需要的服務品質。

服務品質由分級方法處理(如圖3),這樣用戶就可以將不同等級的處理頻寬編程分配給現有的TC。基於分配的頻寬,整合的策略管理器(Policy Manager)可以向單個TC分配優先級,持續監控執行緒進度,在需要時為分發調度器(Dispatch Scheduler)提供重要‘提示’。分發調度器也可以逐週期的調度執行緒到執行單元,以保證服務品質要求。

軟體應用模型

另一個關鍵點是大多數配置將執行現有軟體而無需修改,對於系統開發者來說這是縮短產品上市時間的主要優勢。

圖4:AMVP(基於VPE的非對稱多處理)系統可同時執行兩個作業系統。

以最簡單的多執行緒形式,基於VPE的非對稱多處理(AMVP)系統可保證兩個作業系統同時執行,每一個作業系統又在基於自己VPE的TC上(圖4)執行。大多數情況下這兩個作業系統很可能是兩個已有的作業系統(例如針對控制平面應用的Linux和針對數據平面應用的RTOS),這些系統以前執行在兩個獨立的MIPS核心上。

將兩個功能結合到一個核心可減少成本、晶片面積和功耗。這個單晶片、單核心SoC可以由兩個作業系統用基本相同方式進行控制,正如以前那樣使作業系統、應用程式程式碼的改變降到最低,因而提供一條向更高性能SoC元件轉移的低風險路徑。

34K是高度可配置的核心,圖5說明了這一點。用戶可以在一個VPE上執行住宅網路閘道的控制平面功能,而在第二個VPE上使用4個TC支援多通道VoIP,因而大幅的降低了系統成本。

本文小結

儘管嵌入式環境是高度並行的,目前的單執行緒處理器類別還沒有開發出有效的並行設計。不斷增加的時脈頻率可增加性能方面的優勢,但是記憶體延遲嚴重地限制了系統吞吐能力。多發射超純量處理器由於額外的晶片成本和設計複雜性,也會導致回報遞減。另一個選擇是多核設計,其已經在提高系統性能方面取得了一定的成功,但是這通常可能使晶片成本和功耗增加,因而阻礙了在許多嵌入式設計中的應用。

圖5:最終設計靈活性─支援多VoIP通道的住宅網路閘道。

34K核心系列利用多執行緒技術達到了設計平衡。透過以平行的方式處理多個軟體執行緒,34K核心隱藏了記憶體延遲的問題,可顯著提高系統性能和節省成本,同時只需增加很少的晶片面積。34K核心系列可滿足嵌入式應用的即時要求,能為用戶的即時任務分配專用處理頻寬。

作者:Vivek Sardana

產品行銷經理

MIPS公司




投票數:   加入我的最愛
我來評論 - 多執行緒推動下一代嵌入式SoC發展
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首