SMP對稱多處理結構

SMP對稱多處理結構

SMP的全稱是"對稱多處理"(Symmetrical Multi-Processing)技術,是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享記憶體子系統以及匯流排結構

基本介紹

  • 中文名:對稱多處理
  • 外文名:SMP(Symmetrical Multi-Processing)
  • 類別:處理技術
  • 特點:套用廣泛
基本介紹,套用優勢,產品的優勢,軟體的影響,高級電源管理,

基本介紹

它是相對非對稱多處理技術而言的、套用十分廣泛的並行技術。在這種架構中,一台電腦不再由單個CPU組成,而同時由多個處理器運行作業系統的單一複本,並共享記憶體和一台計算機的其他資源。雖然同時使用多個CPU,但是從管理的角度來看,它們的表現就像一台單機一樣。系統將任務佇列對稱地分布於多個CPU之上,從而極大地提高了整個系統的數據處理能力。所有的處理器都可以平等地訪問記憶體、I/O外部中斷。在對稱多處理系統中,系統資源被系統中所有CPU共享,工作負載能夠均勻地分配到所有可用處理器之上。 我們平時所說的雙CPU系統,實際上是對稱多處理系統中最常見的一種,通常稱為"2路對稱多處理",它在普通的商業、家庭套用之中並沒有太多實際用途,但在專業製作,如3DMax Studio、Photoshop等軟體套用中獲得了非常良好的性能表現,是組建廉價工作站的良好夥伴。隨著用戶套用水平的提高,只使用單個的處理器確實已經很難滿足實際套用的需求,因而各伺服器廠商紛紛通過採用對稱多處理系統來解決這一矛盾。在國內市場上這類機型的處理器一般以4個或8個為主,有少數是16個處理器。但是一般來講,SMP結構的機器可擴展性較差,很難做到100個以上多處理器,常規的一般是8個到16個,不過這對於多數的用戶來說已經夠用了。這種機器的好處在於它的使用方式和微機或工作站的區別不大,編程的變化相對來說比較小,原來用微機工作站編寫的程式如果要移植到SMP機器上使用,改動起來也相對比較容易。SMP結構的機型可用性比較差。因為4個或8個處理器共享一個作業系統和一個存儲器,一旦作業系統出現了問題,整個機器就完全癱瘓掉了。而且由於這個機器的可擴展性較差,不容易保護用戶的投資。但是這類機型技術比較成熟,相應的軟體也比較多,因此現在國內市場上推出的並行機大量都是這一種。PC伺服器中最常見的對稱多處理系統通常採用2路、4路、6路或8路處理器。目前UNIX伺服器可支持最多64個CPU的系統,如Sun公司的產品Enterprise 10000。SMP系統中最關鍵的技術是如何更好地解決多個處理器的相互通訊和協調問題。
要組建SMP系統,首先最關鍵的一點就是需要合適的CPU相配合。我們平時看到的CPU都是單顆使用,所以看不出來它們有什麼區別,但是,實際上,支持SMP功能並不是沒有條件的,隨意拿幾塊CPU來就可以建立多處理系統那簡直是天方夜談。要實現SMP功能,我們使用的CPU必須具備以下要求:
1、CPU內部必須內置APIC(Advanced Programmable Interrupt Controllers)單元。Intel 多處理規範的核心就是高級可程式中斷控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通過彼此傳送中斷來完成它們之間的通信。通過給中斷附加動作(actions),不同的CPU可以在某種程度上彼此進行控制。每個CPU有自己的APIC(成為那個CPU的本地APIC),並且還有一個I/O APIC來處理由I/O設備引起的中斷,這個I/O APIC是安裝在主機板上的,但每個CPU上的APIC則不可或缺,否則將無法處理多CPU之間的中斷協調。
2、相同的產品型號,同樣類型的CPU核心。例如,雖然Athlon和Pentium III各自都內置有APIC單元,想要讓它們一起建立SMP系統是不可能的,當然,即使是Celeron和Pentium III,那樣的可能性也為0,甚至Coppermine核心的Pentium III和Tualatin的Pentium III也不能建立SMP系統--這是因為他們的運行指令不完全相同,APIC中斷協調差異也很大。
3、完全相同的運行頻率。如果要建立雙Pentium III系統,必須兩顆866MHz或者兩顆1000MHz處理器,不可以用一顆866MHz,另一顆1000MHz來組建,否則系統將無法正常點亮。
4、儘可能保持相同的產品序列編號。即使是同樣核心的相同頻率處理器,由於生產批次不同也會造成不可思議的問題。兩個生產批次的CPU作為雙處理器運行的時候,有可能會發生一顆CPU負擔過高,而另一顆負擔很少的情況,無法發揮最大性能,更糟糕的是可能導致當機,因此,應該儘可能選擇同一批生產的處理器來組建SMP系統。

套用優勢

對稱多處理 (SMP) 廣泛套用於 PC 領域,能夠顯著提升台式計算機的性能。SMP 能使單晶片上多個相同的處理子系統運行相同的指令集,而且都對存儲器I/O外部中斷具有同等的訪問許可權。作業系統 (OS) 的單份拷貝就能控制所有核心,使任何處理器都能運行所有的執行緒,而無需考慮核心、套用或中斷服務的區分。
1:多重因素推動移動設備對 SMP 的需求不斷增長SMP 將推動移動套用和設備不斷發展進步,而這正是目前單核解決方案所無法實現的。SMP 能激活執行任務所需的某個特定核心或多個核心,從而使 OEM 廠商能夠實現高度可擴展的性能與電源,充分滿足當今業界最流行的套用以及未來潛在的創新套用。無障礙 Web 瀏覽等大量新型套用對移動設備提出了更高的峰值計算性能要求。目前的單核解決方案無法滿足這一需求,只有 SMP 才能在移動設備的空間尺寸及電源限制條件下實現上述性能需求。我們固然可通過增加單核解決方案的尺寸來滿足性能需求,但若增加功耗則對移動設備來說是不可接受的。SMP 正是滿足此類需求的唯一架構技術。可以預見,高級移動套用將像現在的 PC 套用一樣複雜,而 PC 領域開發的執行緒技術也將有望移植到移動手持終端上。推動 PC 處理器不斷發展的挑戰(例如單核心晶片性能略有提高就需要大幅加大矽晶片技術的複雜性)也同樣推動移動手持終端轉向多核心架構。此外,在較大型的單核心解決方案上實現更高性能會使成本和複雜性直線上升,從而因更複雜的設計和驗證過程最終導致產品上市時間拖延。PC 市場是促進 SMP 技術推廣的催化劑,目前許多 PC 都內置了雙核乃至四核處理器。ARM Ltd. 一直積極推動 SMP 技術向手持終端市場發展,並推出了 Cortex™-A9 MPCore 架構。為了支持最新系列的 SMP 核心,諸如 Linux 和 Symbian 等作業系統紛紛增加了對 SMP 的支持。SMP 將為採用一至四核乃至更多核心的產品提供高度可擴展的產品發展規劃,滿足未來需求。SMP 高度可擴展的發展規劃可全面滿足從低到高各級設備的需求,幫助開發人員充分利用現有的軟體投資,確保推出的產品能夠迎合不同市場對各種性能級別的需求。移動局限性
要想獲得成功,SMP 就必須克服眾多移動設備自身存在的局限問題,而尺寸、成本以及功耗屬於最顯而易見的問題。消費者期望獲得可方便地裝入口袋或錢包中的超小型移動設備,而且一次充電就能全天無憂。此外,移動設備的成本也是市場必須考慮的問題。SMP 可全面解決上述移動技術面臨的局限問題,確保設備滿足消費者的要求。SMP 將幫助高級套用提高運行效率,不過我們也必須注意,增加的核心不能在功耗方面造成消極影響。在 SMP 設備中採用新技術必須確保功耗不超過單核心的水平。隨著移動手持終端開始支持過去只有 PC 才具備的 Web 瀏覽、多媒體和 WLAN 連線等功能,以及語音和藍牙等標準移動功能,用戶對性能的需求越來越高。不過,在移動環境中,提升性能不僅必須確保高效性,而且還必須根據實際需求滿足相應的功耗要求。只有根據不同的使用情況最佳化功耗和性能,才能最大限度地延長電池工作時間並實現最高性能。SMP 使智慧型電話能夠集成 PC 以及傳統電話的功能,讓單部移動設備滿足用戶對功耗與性能的需求。ARM 目前在移動設備市場上占據主導地位,因而我們既需要支持傳統代碼,又需要支持功能豐富的工具。展望未來,SMP 將必須確保支持可實現正常工作的傳統代碼,同時還要節約功耗,提高性能。我們必須解決的最後一個移動局限問題,就是在儘可能減小晶片尺寸的同時提供足夠大的存儲器高速快取,以確保多核心工作不會出現當機問題。如果單內核心設備需要的高速快取量為 N,那么多核心設備保持良好性能所需的快取量就應為 4*N。此外,我們還要考慮數據一致性和系統存儲器一致性等其他存儲器設計問題,才能確保所有處理器都能在準確時間存取當時的數據。ARM Cortex-A9 MPCore
圖 2:ARM® Cortex™-A9 MPCore™為移動設備實現可擴展的功率與性能為了滿足移動手持設備市場對可擴展功率與性能的需求,ARM 推出了 Cortex-A9 MPCore 架構。該架構與 ARM Cortex-A8 相比,可將處理效率提高 20% (IPC),從而幫助設計人員以更低的頻率完成更多的工作。Cortex-A9 MPCore 可在一個群集中支持多達 4 個核心,能夠為客戶設計產品、滿足特定需求提供高度的靈活性。Cortex-A9 MPCore 包含豐富的特性,如:高效超標量管線能夠以低功耗實現優異的峰值性能;
NEON 媒體處理引擎可加速媒體處理功能;
比前代 ARM FPU 性能提高一倍的浮點單元;
最佳化的 1 級高速快取可最大限度地降低時延與功耗;
Thumb®-2 技術可將存儲器要求降低 30%;
TrustZone® 技術支持可靠的安全套用;
L2 高速快取控制器支持低時延、高頻寬存儲器存取;
CoreSight多核心調試與跟蹤架構可在開發調試期間提高可視性。
Cortex-A9 MPCore 核心比 Cortex-A8 更小,在降低功耗的同時提高了處理效率。可擴展峰值性能與高級電源管理相結合,使 Cortex-A9 MPCore 性能超過了同類單核心架構,並可為多核心設計提供明顯的優勢。Cortex-A9 MPCore 不但能夠實現可擴展至多個市場的統一平台,同時還可充分利用通用軟體開發來降低研發成本,加速產品的上市進程。

產品的優勢

目前,製造商希望投資於一款能夠使其在不同級別產品中充分利用與擴展、並同時滿足未來需求的平台。SMP 能夠以真正的性能可擴展性全面滿足這一需求。與只能提高單個核心速度的前代解決方案不同,SMP 將為整個多核心實現真正的可擴展性,為每一款產品實現性能與功耗的最佳組合。SMP 將允許製造商在統一的平台上以更高的性能支持如上網本等未來產品。一旦 SMP 的軟體開發完成,設計人員便可根據未來需要添加多個處理器,而且這對軟體將保持透明。SMP 設計可為製造商滿足未來套用需求打下堅實的基礎。

軟體的影響

SMP 可為各個層面的軟體大幅提高性能。對於不支持 SMP 的軟體,我們可使用作業系統任務管理器在每個核心上啟動進程來實現並行工作。並行進程執行自然會提升性能,雖然其效率不如執行緒級處理那么高,但也不會對套用開發人員造成更多的設計麻煩。
圖 3:SMP 可在軟體的進程與執行緒層面上提高性能隨著移動設備性能的不斷提升,用戶套用的複雜性也在不斷增加,在此情況下,應用程式應更多地以並行方式進行編寫(如採用執行緒方式),因此,我們便可充分發揮 SMP 的真正優勢與增益。執行緒構成進程,不必反覆返回作業系統尋求資源。套用開發人員不但要採用並行方式進行軟體設計,而且還必須注意進程中執行緒的互動方式。 某些套用本身就是多執行緒的,從而使 SMP 能夠實現更高的性能,更快的回響時間以及更出色的整體用戶體驗。如 Google 的 Chrome 等 web 瀏覽器就採用了多執行緒技術,因此能夠與 SMP 技術實現高度互補。預計這些 PC web 瀏覽器所使用的這種技術也將用於移動領域。 Symbian 和 Linux 移動作業系統均全面支持 SMP。這種支持針對移動環境進行了專門最佳化,將使所有處理器核心的單一作業系統核心映像以及調度器中的負載平衡能夠幫助確定在哪個核心上運行哪個任務或執行緒。 在處理原有軟體時,我們必須注意正確的任務同步,以避免系統鎖死。在 SMP 系統中,作業系統可在安排低優先權任務運行在一個不同核心上的同時,讓一個具有較高優先權的任務運行在另一個核心上。如果軟體包含不明確的同步,則會產生導致鎖死情況的錯誤判斷。通過正確使用信號量互斥量以及自旋鎖等軟體技術,SMP 核心的編程軟體將可實現 SMP 的全部優勢。 SMP 系統上的開發與調試工具至關重要。設計人員需要進一步了解晶片情況才能緊跟軟體處理技術。在多個核心上同時運行多個執行緒的情況下,功能強大的新型工具將可幫助製造商快速向市場推出令人驚奇的全新產品。

高級電源管理

SMP 提供的可擴展電源優勢可用來擴展核心頻率與工作核心的數量。Cortex-A9 MPCore 能夠分別啟用與關閉不同的核心。如果核心處於開啟狀態,則必須運行在相同的時鐘頻率下。因此,為了高效使用 SMP 核心的電源管理,必須通過測試來確定以下兩種選項的性能與功耗基準:一、在關閉其它核心的同時,以最高時鐘頻率在單個核心上全速運行進程;二、多核心同時運行進程,但運行的時鐘頻率降低。SMP 採用的其它電源管理技術還包括動態電壓與頻率縮放 (DVFS),可根據所需的性能來調節匹配系統的頻率與電壓。作業系統可實現負載平衡,這也有助於改善電源管理,並幫助設計人員針對功耗來最佳化系統。TI OMAP 4 平台是業界率先推出的、基於 ARM Cortex-A9 MPCore 的雙核心架構之一。該架構與專業處理引擎進行了平衡,可實現無與倫比的移動多媒體性能。
圖 4:TI 全新 OMAP 4 平台為移動設備帶來 SMPOMAP 4 平台的主要特性包括:核心 ARM Cortex-A9 MPCore SMP 通用處理器,可提高性能與效率;
IVA 3 硬體加速器,可實現真正的 1080p 多標準高清錄製與回放功能;
影像信號處理器 (ISP) 支持高質量影像與視頻捕獲,可實現堪比 SLR 的數字高性能,捕獲 2000 萬像素的靜態影像;
Imagination Technologies POWERVR™ SGX540 3D 影像核心支持 3D 用戶界面,可實現更大的顯示屏、逼真的圖像以及直觀易用的觸控螢幕等套用;
音頻後端 (ABE) 處理器可為顯著降低功耗提供虛擬低功耗音頻晶片;
靈活的系統支持:
複合型 TV 輸出
HDMI v1.3 輸出可驅動高清顯示屏
色彩豐富的更大顯示屏支持
外設接口:MIPI 串列攝像機和串列顯示屏接口、MIPI® SLIMbusSM、MMC/SD、USB 2.0 移動高速、UART 以及 SPI 等
支持各大作業系統:Linux(包括 Android 和 LiMo)、Microsoft Windows Mobile 和 Symbian;
45 納米移動工藝技術可提高性能與電源效率;
最佳化的電源與音頻管理配套晶片:TWL6030 和 TWL6040
TI 是唯一一家可為 SMP 提供所有主要移動作業系統支持的公司,這些作業系統包括 Symbian、Linux 以及 Microsoft Windows Mobile 等。OMAP 4 平台是移動產業有關 SMP 轉型的領先解決方案,其架構專為最佳化 SMP 性能而精心設計。例如,我們在設計時對存儲器架構、高速快取量以及存儲器接口等給予了充分的考慮,能夠以最低的延遲實現最佳性能。OMAP 4 配套提供的 TI 綜合軟體套件專為 SMP 編寫,可充分發揮 SMP 架構內在的處理性能增強與省電優勢。OMAP 4 平台採用市場上最先進高效的電源管理技術,可進一步節省電源。該處理器充分利用 TI SmartReflex™ 2 的電源和性能管理技術,可提供各種智慧型、自適應性軟硬體技術,能夠根據器件工作情況、操作模式以及溫度等動態控制電壓、頻率與電源,具體包括:動態電壓與頻率縮放 (DVFS);
自適應電壓縮放 (AVS);
動態電源切換 (DPS);
靜態漏電管理 (SLM);
自適應體偏壓 (ABB);
針對速度較慢器件的順向偏壓 (FBB)
逆向偏壓 (RBB),可為速度較快的器件減少漏電
OMAP 4 平台充分利用 TI 在移動設備領域的專業知識與豐富經驗,可為當前及未來套用提供基於 SMP 的最新處理器解決方案。OMAP 4 SMP 的強大功能
OMAP 4 SMP 的強大功能
圖 5:OMAP 4 SMP 可實現類似 PC 的 Web 瀏覽體驗在第二個使用案例中,一位消費者正在使用手機欣賞 H.264 視頻。這種多媒體套用案例通常不適用於多執行緒處理技術,因此最好採用單核心工作。在本例中,OMAP 4 將兩個核心之中的一個關閉,並讓另一個核心在更高頻率下工作,從而可提供出色的多媒體內容。由於只有一個核心工作,因而可降低功耗。 圖 6:OMAP 4 實現出色的多媒體內容結論
SMP 對滿足新一代移動設備的高性能與低功耗需求將至關重要。SMP 具有可擴展的功率與性能,能夠為單核心解決方案提供獨特的優勢。未來套用將更多地使用多執行緒技術,這將推動 SMP 成為我們的首選平台。TI 的 OMAP 4 平台是率先提供 SMP 技術的產品,不但能夠實現可擴展的通用處理性能,同時還可提升多媒體處理領域(影像、圖像、音頻與視頻)的功能。我們必須注意,SMP 不會吸收這些多媒體領域的功能,這些多媒體領域需要可在最低功耗下實現最高性能的專門引擎。OMAP 4 可提供 SMP 的最佳化組合,能夠與非對稱多處理技術 (AMP) 配合工作。TI OMAP 4 平台是在移動設備中推進 SMP 技術的領先解決方案,可支持未來奇妙的套用。當前對 SMP 進行投資,將來就可實現無縫的軟體重複使用,OEM 廠商也可在各個層次的產品上實現其設計方案的擴展,並全面滿足未來的長遠需求。

相關詞條

熱門詞條

聯絡我們