多核處理器有哪些優(yōu)缺點?多核處理器和多線程開發(fā)有什么聯(lián)系?
處理器有很多類別,比如手機處理器、電腦處理器等,而按照處理器核數(shù)來區(qū)分,又可以分類單核處理器核多核處理器。為增進大家對處理器的認識,本文將對多核處理器予以介紹。如果你對處理器具有興趣,不妨繼續(xù)往下閱讀哦。
1、多核處理器
多核處理器是指在一枚處理器中集成兩個或多個完整的計算引擎(內(nèi)核),此時處理器能支持系統(tǒng)總線上的多個處理器,由總線控制器提供所有總線控制信號和命令信號。
2、多核處理器的優(yōu)點和缺點
從應(yīng)用需求上去看,越來越多的用戶在使用過程中都會涉及到多任務(wù)應(yīng)用環(huán)境,日常應(yīng)用中用到的非常典型的有兩種應(yīng)用模式。
一種應(yīng)用模式是一個程序采用了線程級并行編程,那么這個程序在運行時可以把并行的線程同時交付給兩個核心分別處理,因而程序運行速度得到極大提高。這類程序有的是為多路工作站或服務(wù)器設(shè)計的專業(yè)程序,例如專業(yè)圖像處理程序、非線視頻編緝程序、動畫制作程序或科學(xué)計算程序等。對于這類程序,兩個物理核心和兩顆處理器基本上是等價的,所以,這些程序往往可以不作任何改動就直接運行在雙核電腦上。
還有一些更常見的日常應(yīng)用程序。例如Office、IE等,同樣也是采用線程級并行編程,可以在運行時同時調(diào)用多個線程 協(xié)同工作,所以在 雙核處理器上的運行速度也會得到較大提升。例如,打開IE 瀏覽器上網(wǎng)??此坪唵蔚囊粋€操作,實際上瀏覽器進程會調(diào)用代碼解析、Flash播放、多媒體播放、Java、 腳本解析等一系列線程,這些線程可以并行地被雙核處理器處理,因而運行速度大大加快(實際上IE瀏覽器的運行還涉及到許多進程級的交互通信,這里不再詳述)。由此可見,對于已經(jīng)采用并行編程的軟件,不管是專業(yè)軟件,還是日常應(yīng)用軟件,在多核處理器上的運行速度都會大大提高。 日常應(yīng)用中的另一種模式是同時運行多個程序。
許多程序沒有采用并行編程,例如一些 文件壓縮軟件、部分游戲軟件等等。對于這些 單線程的程序,單獨運行在多核處理器上與單獨運行在同樣參數(shù)的單核處理器上沒有明顯的差別。但是,由于日常使用的最最基本的程序—— 操作系統(tǒng)——是支持 并行處理的,所以,當在多核處理器上同時運行多個單線程程序的時候,操作系統(tǒng)會把多個程序的指令分別發(fā)送給多個核心,從而使得同時完成多個程序的速度大大加快。另外,雖然單一的單線程程序無法體現(xiàn)出多核處理器的優(yōu)勢,但是多核處理器依然為 程序設(shè)計者提供了一個很好的平臺,使得他們可以通過對原有的單線程序進行并行設(shè)計優(yōu)化,以實現(xiàn)更好的程序運行效果。
一些游戲廠商正在對原來的一些單線程游戲進行優(yōu)化,采用并行編程使得游戲運行得更快。有的游戲可以使用一個線程實現(xiàn)人物動畫,而使用另一個線程來載入地圖信息?;蛘呤褂靡粋€線程來實現(xiàn)圖像渲染中的矩陣運算,而使用另一個來實現(xiàn)更高的人工智能運算。如今,大量的支持多核心的游戲涌現(xiàn)出來,從而使得多核處理器的優(yōu)勢能得到進一步的發(fā)揮。
優(yōu)點:多線程,在一個時鐘周期內(nèi)能處理更多的任務(wù)多任務(wù)處理 大緩存 高總線 這是單核處理器所達不到的
缺點:功耗較大,需要特定平臺支持 需要大容量內(nèi)存跟進 一般的軟件最多支持到兩線程(雙核)價格高
3、多核開發(fā)和多線程開發(fā)的區(qū)別
在本質(zhì)上,多核開發(fā)也就是利用多線程進行程序開發(fā),讓不同功能的進程在不同的核上運行,或者讓同一進程中不同功能的線程在不同的核上運行。以往我們學(xué)習(xí)的算法都是面向單線程的,而多核開發(fā)時要將這些算法改造成支持多線程的算法,然后系統(tǒng)運行時會將多線程分配到多核處理器上,以實現(xiàn)運行的加速。
不過和傳統(tǒng)的多線程編程方式有所不同, 多核開發(fā)對于同步鎖定等問題較簡單,但是需要仔細分析出可并行計算的代碼塊來,讓多線程能夠在一個任務(wù)中并行。多線程開發(fā)的時候,你并不知道有幾個物理CPU,而進行多核開發(fā)時,你肯定知道有多少個物理CPU了。
以上便是此次小編帶來的處理器相關(guān)內(nèi)容,通過本文,希望大家對處理器具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!