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