多核處理器基礎SMP&&BMP


多核處理器也稱片上多核處理器(Chip Multi-Processor,CMP)。

1.多核處理器的流行

多核出現前,商業化處理器都致力於單核處理器的發展,其性能已經發揮到極致,僅僅提高單核芯片的速度會產生過多熱量且無法帶來相應性能改善,但CPU性能需求大於CPU發展速度。盡管增加流水線提高頻率,但緩存增加和漏電流控制不力造成功率大幅增加,性能反而不如之前低頻率的CPU。功率增加,散熱問題也嚴重了,風冷已經不能解決問題了。

那么新技術必須出現-多核處理器。早在1996年就有第一款多核CPU原型Hydra2001IBM推出第一個商用多核處理器POWER4,2005IntalAMD多核處理器大規模應用。

多核處理器越來越流行,無論在服務器、桌面、上網本、平板、手機還是醫療設備、國防、航天等方面。

我們來了解一下基礎知識。

2.多核處理器分類-同構、異構

從硬件的角度來看,多核設計分為兩類。如果所有的核心或CPU具有相同的構架,那么定義為同構多核(homogeneous);如果架構不同,那么稱為異構(heterogeneous)多核。

從應用來看,同構多核處理器中大多數由通用處理器核構成,每個核可以獨立運行,類似單核處理器。而異構多核處理器往往同時繼承了通用處理器、DSPFPGA、媒體處理器、網絡處理器等。每個內核針對不同的需求設定的,從而提高應用的計算性能或實時性能。

目前的異構多處理器有:TI的達芬奇平台DM6000系列(ARM9+DSP)、XilinxZynq7000系列(雙核Cortex-A9+FPGA)、Cell處理器(164POWERPC+832位協處理器)等等。

同構多處理器就比較多了,Exynos4412freescale i.mx6 dualquad系列、TIOMAP4460等,IntelCore DuoCore2 Duo等。

3. 多核處理器運行模式-SMPAMPBMP

從軟件的角度來看,多核處理器的運行模式有三種:

SMP-對稱多處理,symmetric multi-processing

AMP-非對稱多處理,asymmetric multi-processing

BMP-邊界多處理(翻譯不確定),bound multi-processing

以下是三種模式的特點和優點:

 

簡單的解釋一下:

AMP-多個核心相對獨立的運行不同的任務,每個核心可能運行不同的操作系統或裸機程序,或者不同版本的操作系統。但是有一個主要核心,用來控制整個系統以及其它從核心。具有主從模式。舉個例子,比如一個主要核心控制用戶界面UI,從核心控制數據采集以及輸出。還有POS機,一個負責UI,一個負責交易。也就是兩者負責不同的任務。每個核心有自己的內存空間(同時會有共享的內存空間),另外兩者之間還有一定的通信機制。從硬件上來說,這種多處理模式可能是同構的,也可能是異構的,但大多情況是異構多處理器。如MCU+DSPMCU+FPGA等。同構的當然也有。比如Xilinx就提供了案例,Sun公司的Solari4.1.3系統也支持AMP模式(從主從角度來看,而不是多個操作系統)。Mars Board也可以運行AMP模式。

 

SMP-對稱多處理,這個是目前用的最多的,一個OS同等的管理各個內核,為各個內核分配工作負載。目前,大多數的系統都支持SMP模式,如LinuxVxworkswindows。這種模式就是簡單提高運行性能。比如PC機上雙核、四核運行windowslinux等。所有的核心共享內存。另外,這種模式的通常都是同構多核處理器,因為異構的結構不同,實現比較復雜。

 

BMP-邊界多處理,和SMP類似,也是一個OS管理所有內核,但是不同的是,BMP中,開發者可以指定將某個任務僅在某個指定內核上執行。

 

4.多核處理器相關術語

 

AP-Application Processor,應用處理器

BP-Baseband Processor,基帶處理器

以上在手機中出現的比較多,有的會將兩者集成到一個硅片中。

GPU-圖像處理單元,Graphic Processor Unit,有的PC芯片會將CPUGPU集成起來。

Soc-System On Chip,片上系統。這個定義多種,一般一個芯片上有多個內核都可以這樣說吧,這個我也不確定。有的說Xilinx Zynq7000的是SocCortexA9+FPGA0,有的說Exynos4412也是Soc(四核Cortex A9)。

2015-03-14  13:59:34

zamely

hust


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM