日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

操作系统与多核处理器

發(fā)布時(shí)間:2023/12/6 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作系统与多核处理器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這篇文章解答了我心中的疑問,那就是操作系統(tǒng)會(huì)自動(dòng)調(diào)度cpu資源來處理多進(jìn)程,多線程的并發(fā)。 早在上世紀(jì)90年代末,就有眾多業(yè)界人士呼吁用CMP(單芯片多處理器)技術(shù)來替代復(fù)雜性較高的單線程CPU。IBM、惠普、Sun等高端服務(wù)器廠商,更是相繼推出了多核服務(wù)器CPU。不過,由于服務(wù)器價(jià)格高、應(yīng)用面窄,并未引起大眾廣泛的注意。直到AMD搶先手推出64位處理器后,英特爾才想起利用“多核”這一武器進(jìn)行“帝國反擊戰(zhàn)”。2005年4月,英特爾倉促推出簡單封裝雙核的奔騰D和奔騰四至尊版840。AMD在之后也發(fā)布了雙核皓龍(Opteron)和速龍(Athlon) 64 X2和處理器。但真正的“雙核元年”,則被認(rèn)為是2006年。這一年的7月23日,英特爾基于酷睿(Core)架構(gòu)的處理器正式發(fā)布。 雙核的優(yōu)勢不是頻率,而是對(duì)付同時(shí)處理多件事情。一個(gè)核心理論上同時(shí)只能干一件事,比如你同時(shí)在后臺(tái)BT下載,前臺(tái)一邊看電影一邊拷貝文件一邊聯(lián)QQ……,這么多程序同時(shí)需要CPU來響應(yīng),怎么辦?靠操作系統(tǒng)! window本身就是多線程操作系統(tǒng)(DOS就是單線程系統(tǒng),dos下2核4核和單核沒區(qū)別,處理一個(gè)任務(wù)時(shí)必須停下來等待處理結(jié)束才能干下一件事),它可以把每個(gè)處理任務(wù)劃分為多“份”(一個(gè)任務(wù)可以由多個(gè)進(jìn)程來實(shí)現(xiàn),把每個(gè)進(jìn)程又分為多個(gè)線程,然后由操作系統(tǒng)協(xié)調(diào)分配多核來處理排隊(duì)的線程,最后把處理結(jié)果合并),多個(gè)處理任務(wù)按順序排成隊(duì)列,這樣單核心的CPU可以一次處理一“份”,輪流處理每個(gè)程序的“份”,這樣你感覺就是CPU同時(shí)在干幾件事了。但如果CPU不夠強(qiáng)勁,同時(shí)排隊(duì)等待處理的東西太多了,你就會(huì)感覺系統(tǒng)在等待,有延時(shí),反應(yīng)慢等等癥狀。再或者某個(gè)程序出現(xiàn)錯(cuò)誤,死機(jī)了,很可能造成后面排隊(duì)的其他任務(wù)都在那里干等,造成系統(tǒng)無反應(yīng)的情況,按熱啟鍵都沒反應(yīng)。理論上如果現(xiàn)在有顆6G頻率的單核CPU,單論處理性能應(yīng)該與1個(gè)3G雙核近似,甚至更高一些,因?yàn)槟壳半p核比單核也就快不到2倍。 原本計(jì)算機(jī)一直以單核心的工作頻率作為性能的衡量,之所以放棄單核是因?yàn)槟壳暗募夹g(shù)水平令單核性能繼續(xù)提升遇到了瓶頸,4G P4的夭折讓依靠頻率提升性能的路子走進(jìn)死胡同,不得已改走多核心路線,以核心數(shù)量來彌補(bǔ)處理能力的不足。不過慢慢的這些多核心的頻率又開始奔3G去了,隨著45nm的出現(xiàn),雙核上4G應(yīng)該可以想象,所以一方面每個(gè)核心的性能還在發(fā)展,另一方面多核心集成的手段雙管齊下,這樣CPU的性能可以迅速提升,繼續(xù)保持摩爾定律。 多核CPU就是基板上集成有多個(gè)單核CPU,早期PD雙核需要北橋來控制分配任務(wù),核心之間存在搶二級(jí)緩存的情況,后期酷睿自己集成了任務(wù)分配系統(tǒng)(硬件上),再搭配操作系統(tǒng)(軟件上)就能真正同時(shí)開工,2個(gè)核心同時(shí)處理2“份”任務(wù),速度快了,萬一1個(gè)核心死機(jī),起碼另一個(gè)U還可以繼續(xù)處理關(guān)機(jī)、關(guān)閉軟件等任務(wù)。較早的操作系統(tǒng)如XP等需要裝雙核或多核補(bǔ)丁,能更好發(fā)揮性能或更穩(wěn)定,Vistia下就不需要。 目前幾乎所有的程序在編寫時(shí)是按單核心CPU寫的(多核心程序優(yōu)化對(duì)程序員來說是個(gè)噩夢(mèng),目前好像還沒有合適的編程軟件能讓程序員輕松編寫針對(duì)多核心的程序),因此對(duì)多核的利用率不是很高,分配任務(wù)時(shí),往往1個(gè)核心滿負(fù)荷,另一個(gè)還有空閑(留些空閑也對(duì),要應(yīng)付隨時(shí)發(fā)生的其它命令)。一般2核心性能也就比單核心高60~70%甚至更低。 4核或者將來的8核說白了還是多個(gè)核心獨(dú)自處理各自的“份”,不過人多力量大,速度快,響應(yīng)時(shí)間短,不易死機(jī)。當(dāng)然耗電、協(xié)調(diào)性都會(huì)是個(gè)考驗(yàn)。 補(bǔ)充: 原本有個(gè)說法(有陣子我自己就持這觀點(diǎn)):“目前的軟件都是為單核心編寫的,多核CPU處理起來也沒什么優(yōu)勢。” 經(jīng)過分析我們可以得知,參與任務(wù)分配的主角一是程序自己,二是操作系統(tǒng),即使如單任務(wù)的SuperPI,在雙核下成績也要比同頻率的單核快不少,這就是事實(shí)證明。理論分析:單線程程序很傻,不知道有2個(gè)CPU在前面等著,所以發(fā)出的請(qǐng)求應(yīng)該也是針對(duì)單核心的,但操作系統(tǒng)自動(dòng)將調(diào)用請(qǐng)求分配給了2個(gè)CPU,并在處理結(jié)束后將結(jié)果合并,所以單核心程序也能享受到多核的“照顧”。盡管操作系統(tǒng)分配的可能不完美,但畢竟比單CPU要快。 如果程序自己又對(duì)多線程處理進(jìn)行了優(yōu)化(重新編寫),那么就更完美了,可以達(dá)到2倍水平,對(duì)于這點(diǎn)5樓的朋友已經(jīng)能舉出具體的例子了。非常感謝。 再推測一下,根據(jù)上面的分析,2G雙核應(yīng)該比2G單核快近2倍,那么2G的4核應(yīng)該比2G的雙核快近2倍!如果有4G的雙核,那么應(yīng)該和2G的4核性能近似。

? ? ? ?對(duì)于多核CPU,優(yōu)化操作系統(tǒng)任務(wù)調(diào)度算法是保證效率的關(guān)鍵。一般任務(wù)調(diào)度算法有全局隊(duì)列調(diào)度和局部隊(duì)列調(diào)度。前者是指操作系統(tǒng)維護(hù)一個(gè)全局的任務(wù)等待隊(duì)列,當(dāng)系統(tǒng)中有一個(gè)CPU核心空閑時(shí),操作系統(tǒng)就從全局任務(wù)等待隊(duì)列中選取就緒任務(wù)開始在此核心上執(zhí)行。這種方法的優(yōu)點(diǎn)是CPU核心利用率較高。后者是指操作系統(tǒng)為每個(gè)CPU內(nèi)核維護(hù)一個(gè)局部的任務(wù)等待隊(duì)列,當(dāng)系統(tǒng)中有一個(gè)CPU內(nèi)核空閑時(shí),便從該核心的任務(wù)等待隊(duì)列中選取恰當(dāng)?shù)娜蝿?wù)執(zhí)行,這種方法的優(yōu)點(diǎn)是任務(wù)基本上無需在多個(gè)CPU核心間切換,有利于提高CPU核心局部Cache命中率。目前多數(shù)多核CPU操作系統(tǒng)采用的是基于全局隊(duì)列的任務(wù)調(diào)度算法

相關(guān)博客:移動(dòng)CPU異步多核和大小核的那些事?http://www.leiphone.com/1208-vv-cpu.html?


總結(jié)

以上是生活随笔為你收集整理的操作系统与多核处理器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。