全球各地的SoC研發業者都正面臨日趨嚴苛的成本與功耗限制,卻又必須在產品設計中加入更好的效能與更多的功能。
以往有些業者藉由提高處理器的時脈速度來增加效能,但這樣通常會提高系統的耗電量。並且因為記憶體技術發展跟不上處理器技術,如(圖一)所示,這種時脈速度不匹配的情況讓系統效能難以大幅提升。因此提高時脈速度所獲得的效能提昇反而呈現遞減的現象。
《圖一 處理器與記憶體速度不匹配,造成系統效能提昇的瓶頸》 |
|
<資料來源:http://www.sun.com>
採用多重核心是另一種提升效能的方法,但這種方案會因核心晶片尺寸成倍數增加而付出更高的成本。效能提昇的代價就是大幅增加的矽元件成本以及系統耗電量。
搭配兩個以上的多重執行管線核心也是另一項提升效能的方法。此方案仍有晶片尺寸大幅增加的缺點,而且如何充分利用多個執行管線以達高效能仍是一大難題,因此使用者常需要修改軟體,才能達到多重執行管線所帶來的效能。
以上所列的三種提升效能的方法都有其限制以及附帶的高成本、高功耗代價。本文所要介紹的多重執行緒方案即是要以最少的代價來達到最大的效能提昇。多重執行緒核心,藉由多重執行緒來消彌記憶體存取延遲時所浪費的週期。當某個執行緒因記憶體存取延遲或其他原因而停止運作時,多重執行緒核心可立即選擇處理其他執行緒以填補執行管線的空檔,如此一來核心執行管線使用率大幅增加,應用程式的處理流量也因此大幅提升。
在單核心環境執行多重執行緒
MIPS32 34K系列核心能在單核心內執行多重執行緒,提供SoC業者一個嶄新的核心方案,讓業者可以運用既有的軟體基礎建設來提高系統效能、降低系統成本及功耗。34K核心非常適用於各種需要高效能及高度即時處理的應用,例如機上盒(set-top-box)、VoIP、多功能印表機及數位電視等。這些產品系統上都有許多工作需要同時處理,34K能利其多個執行緒對這些工作予以平行處理。
降低總持有成本與功耗
除了多重執行緒功能外,34K還具備有數位訊號處理延伸指令集,因此讓業者能省去系統中如DSP的硬體元件以降低整體成本。另外由於效能的提高,同樣的功能需求可以較低的時脈頻率來達成,系統功耗也因而降低。
34K系列核心技術
從已發展成熟的24KE微架構所開發出34K系列核心,運用九級執行管線,另加少量的額外硬體以為虛擬處理單元(VPE)、執行緒狀態(TC)以及服務品質(QoS)控制等之用。
(圖二)虛線以下為支援二個虛擬處理元件(VPE)及五個執行緒(Thread)的34K硬體方塊圖,虛線以上軟體部份顯示在五個執行緒上執行的五個程序(Process),以及在二個虛擬處理元件上運轉的二個作業系統。
如圖所示,硬體部份中每個執行緒都有自己專屬的執行緒狀態硬體資源(Thread Context;TC),每個TC中包含了執行緒自己專屬的一組普通暫存器(General-Purpose Register)以及程式指令位址計數器(Program Counter),可用來支援像Linux這種作業系統中的一個程序(Process)獨立執行。另外每個執行緒也都擁有自己的指令緩衝區及指令預先擷取的機制,如此一來核心即可在無任何延遲之下於每個時脈切換執行不同的執行緒(程序),執行管線也因此可一直保持在忙碌狀態。
在每個虛擬處理元件(VPE)中,執行緒除了各自有自己的TC之外,彼此之間則分享例如給作業系統核心所專用的各種系統控制暫存器等其他資源。
共用的系統控制暫存器與所屬TC即構成一個VPE(如圖二所示,二個TC屬於VPE0,三個屬於VPE1)。一個在執行某個執行緒的VPE,就像是一個獨立、且完全相容於MIPS32架構規格的MIPS中央處理器。
在多核心與多處理器系統中,由於各個核心或處理器各有自己的快取記憶體,因此必須耗用許多運算週期以及硬體邏輯來協調管理不同的核心或處理器,以確保快取記憶的內容同步(Cches coherency)。34K核心中所有的VPE以及所有執行緒都共用一個相同的快取記憶裝置,因此避免了這個問題。
在不同的應用需求下,34K核心可設定最多5個TC以及2個VPE。這種組合提供了最高的空間使用效率與運用彈性。
服務品質(QoS)
34K核心系列的多執行緒技術還搭配QoS的功能。在基本設定狀況之下,QoS引擎以輪流的方式,在每個週期交錯處理可運作的執行緒指令,以達到最大的整體應用處理流量。所有執行緒藉此方式,公平分享處理器的效能頻寬,有效運用執行緒彼此因記憶體存取或其他因素所造成的執行空窗週期。另一方面,在不同的應用狀況之下,使用者也可以設定QoS引擎來針對不同執行緒給予不同的處理頻寬,如此即可讓像是通訊、視訊與音訊處理等有即時性要求的工作達到服務品質的目標。
如(圖三)所示,服務品質的運作以階層方式來完成。首先使用者(Software Application)按QoS的需求為不同執行緒設定不同的處理頻寬,硬體內建的規則管理機制(Policy Manager)會根據所分配到的頻寬,給予執行緒一個優先等級,並同時觀察執行緒的處理進度,依狀況隨時向排程器(Dispatch Scheduler)提供執行緒優先順序的參考資訊。Dispatch Scheduler然後依此資訊於每個週期安排一個執行緒供執行單元執行,如此即可達到使用者所設定的QoS要求。
軟體運用模式
最後要談的是多執行緒核心的軟體運用模式。34K核心可依不同組態運用於許多不同的軟體運用模式上,本文將只列舉其中二種模式供讀者參考,如(圖四)與(圖五)。另外特別值得一提的是大部份的現有軟體不經修改即可在這些軟體運用模式上使用,此一優點對必須快速推出產品的系統研發業者有非常的重要性。
如圖四所示,在一個最簡單的多重執行緒運用模式中,AMVP(Asymmetric Multiprocessing on VPEs)系統讓兩個作業系統(OS)同時運作,每個作業系統在自己專屬的VPE上執行自己的執行緒。在大多數的狀況下,這兩個作業系統通常是以往分別在不同MIPS核心上運作的傳統作業系統(例如像支援控制層面應用的Linux,以及負責處理資料應用的RTOS)。
將所有功能整合至單一核心可以節省成本、尺寸以及功耗。這種單晶片、單核心的SoC,可以像以前一樣由兩個作業系統來進行控制,使用者也幾乎不必修改作業系統或程式碼,因此是一個超低風險進階至更高效能SoC元件的方法。
《圖四 一個AMVP(Asymmetric Multiprocessing on VPEs)同時執行兩個作業系統》 |
|
另一個軟體運用模式如(圖五)所示。由於34K具有極佳的組態設定彈性,業者可在一個VPE上執行像是家用閘道器的控制功能,並在第二個VPE上透過4個TC來支援4個VoIP頻道,藉此大幅降低系統成本。
結論
雖然極多的嵌入式系統具有各種功能必需同時運算處理的特性,但單執行緒處理器並無法利用這種特性來有效地提昇處理的效率,提高時脈速度固然可以提高效能,但記憶體存取延遲卻嚴重限制系統效能的提昇幅度。多重執行管線的超純量(superscaler)處理器,因為會造成矽元件成本增加以及設計複雜度,效能也無法大幅提昇。另一種方法則是多核心設計,這種方法確實能在某些系統中提昇效能,但矽元件成本以及耗電量隨核心數目呈倍數增加,也使這項技術無法運用於眾多嵌入式產品。
34K系列核心以多重執行緒技術避免了上述的缺點,藉由同時處理多個軟體執行緒來消除記憶體延遲所造成的影響,大幅提升系統效能、節省成本,並減少功耗及晶片尺寸增加的幅度。同時MIPS 34K系列核心的QoS功能讓使用者能針對即時處理作業配置專屬的處理頻寬,以滿足嵌入式應用的即時處理要求。
(作者任職於MIPS Technologies)
|
|
高效能的多重執行緒技術,能讓設計人員省去許多系統元件,例如額外的數位訊號處理器(DSP)。客戶也可運用先前方案中已開發的軟體使以前所作的投資能被充分利用,以上的特點大幅降低了總使用成本。相關介紹請見「多重執行緒技術:提昇嵌入式系統效能的新推手」一文。 |
|
英特爾的超執行緒技術用意在提昇處理器的效能,但卻有技術專家指出,這種技術反而造成伺服器的效能出差錯。專業技術人員指出,就安裝SQL Server與Citrix Terminal Server的系統而言,支援英特爾超執行緒技術的主機板在沈重工作負荷下的效能顯著降低;但一解除HT,系統就恢復預期中的水準。你可在「超執行緒有損伺服器效能?」一文中得到進一步的介紹。 |
|
多重執行緒遊戲引擎已成為遊戲設計的關鍵技術,讓研發業者能將遊戲中特定部份的程式 碼,例如物理模擬與人工智慧,分配至多個執行緒中。運用多核心處理器以及支援HT技術, 每個邏輯核心都能獨立處理特定的執行緒,將運算負荷平均分配至不同的邏輯核心。在「多核心處理器與多重執行緒」一文為你做了相關的評析。 |
|
|
|
|
|
美普思科技(MIPS)推出 MIPS32 34K 內核系列,它是針對高性能和成本敏感的嵌入式應用的一種革命性多線程解決方案。34K 核心系列是首個執行MIPS MT ASE,並利用包括 MIPS DSP ASE 成熟的 24KE 微架構的產品。34K 內核的多工能力可顯著降低整體晶片尺寸、成本和功耗。相關介紹請見「MIPS新解決方案為嵌入市場提供重要系統性能」一文。 |
|
Express Logic以MIPS32 34K MT處理器內核系列新推出了ThreadX RTOS,該公司與MIPS合作開發的ThreadX/MT,為用於MIPS 34K內核的ThreadX嵌入式版本,採用了MIPS MT ASE的多線程能力,當用於34K處理器內核時,其性能具有重大的提高。獲得34K內核許可的用戶即可使用該解決方案。你可在「Express Logic以MIPS32 34KMT處理器內核推出了ThreadX RTOS」一文中得到進一步的介紹。 |
|
美普思科技(MIPS)發表新款32位元可合成嵌入式處理器核心,這款內建DSP功能的MIPS32 24KE 系列核心匯整RISC/DSP功能,可提供消費性電子廠商降低成本、晶片尺寸與功耗的解決方案。 適合視訊轉換器、數位電視、DVD錄影機、語音交換器、IP電話與數位相機等產品上。在「MIPS新型32位元處理器核心內建DSP」一文為你做了相關的評析。 |
|
|
|