下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、多核與多線程技術(shù)的區(qū)別到底在哪里?毫無(wú)疑問(wèn)的,“多核”、“多線程”此二詞已快成為當(dāng)今處理器架構(gòu)設(shè)計(jì)中的兩大顯學(xué),猶如歷史戰(zhàn)國(guó)時(shí)代以“儒”、“墨”兩大派的顯學(xué),只不過(guò)當(dāng)年兩大治世思想學(xué)派是爭(zhēng)得你死我亡,而多核、多線程則是互相兼容并蓄,今天幾乎任何處理器都朝同時(shí)具有多核多線程的路途進(jìn)展邁進(jìn)。雖然兩詞處處可見(jiàn),但可有人知此二者的實(shí)際差異?在執(zhí)行設(shè)計(jì)時(shí)又是以何者為重?到底是該多核優(yōu)先還是多線程提前?關(guān)于此似乎大家都想進(jìn)一步了解,本文以下試圖對(duì)此舉行個(gè)中差異的解說(shuō),并盡可能在不涉及實(shí)際復(fù)雜詳情的情形下,讓各位對(duì)兩者的機(jī)制觀念與差別性有所理解。行程早于線程若依據(jù)信息技術(shù)的進(jìn)展歷程,在軟件程序執(zhí)行時(shí)的再細(xì)分
2、、再切割的小型化單位上,先是有行程(process),之后才有線程(thread),線程的單位比行程更小,一個(gè)行程內(nèi)可以有多個(gè)線程,在一個(gè)行程下的各線程,都是分享同一個(gè)行程所建立的內(nèi)存尋址資源及內(nèi)存管理機(jī)制,包括執(zhí)行權(quán)階、內(nèi)存空間、堆棧位置等,除此之外各個(gè)線程自身僅擁有少許由于執(zhí)行之需的變量自屬性,其余都依據(jù)與遵行行程所設(shè)立的規(guī)定。相對(duì)的,程序與程序之間所用的就是不同的內(nèi)存設(shè)定,包括分頁(yè)、分段等起始地址的不同,執(zhí)行權(quán)階的不同,堆棧深度的不同等,一顆處理器若執(zhí)行了a行程后要改去執(zhí)行b行程,對(duì)此必需舉行內(nèi)存管理組態(tài)的搬遷、變更,而這個(gè)搬遷若是在處理器內(nèi)還好,若是在高速緩存甚至是系統(tǒng)主存儲(chǔ)器時(shí),此種
3、切換、轉(zhuǎn)移程序?qū)?zhí)行效能的損傷就十分大,由于完成搬遷、切換程序的相同時(shí)光,處理器早就可以執(zhí)行數(shù)十到上千個(gè)命令。兩種路途的加速思維所以,想避開(kāi)此種切換的效率損耗,可以從兩種角度去思量,第一種思量就是擴(kuò)大到整體運(yùn)算系統(tǒng)的層面來(lái)解決,在一部計(jì)算機(jī)內(nèi)設(shè)計(jì)、配置更多顆的處理器,然后由同一個(gè)操作系統(tǒng)同時(shí)掌控及管理多顆處理器,并將要執(zhí)行的程序的各個(gè)程序,一個(gè)程序喂(也稱(chēng):發(fā)派)給一顆處理器去執(zhí)行,如此多顆同時(shí)執(zhí)行,每顆處理器執(zhí)行一個(gè)程序,如此就可以加快整體的執(zhí)行效率。固然!這種加速方式必需有一個(gè)先決條件,即是操作系統(tǒng)在編譯時(shí)就必需能管控、發(fā)揮及運(yùn)用多行程技術(shù),倘若以單行程的系統(tǒng)組態(tài)來(lái)編譯,那么操作系統(tǒng)就無(wú)法
4、管控服務(wù)器內(nèi)一顆以上的處理器,如此就不用去議論由操作系統(tǒng)負(fù)責(zé)讓?xiě)?yīng)用程序的程序舉行同時(shí)的多顆同時(shí)性的執(zhí)行派送。即便操作系統(tǒng)支持多程序,而應(yīng)用程序若依然只支持單程序,那情形一樣是白搭,操作系統(tǒng)無(wú)法對(duì)單行程程序再行拆分,依舊是只喂入單一顆處理器上去執(zhí)行,無(wú)從加速。同時(shí)用多顆處理器來(lái)執(zhí)行,且每顆處理器執(zhí)行一個(gè)行程,這是一種加速法,另一種加速法則是:盡量不舉行內(nèi)存管理組態(tài)的切換,避開(kāi)切換的效能折損,線程正是在此概念下所浮現(xiàn)的產(chǎn)物。不過(guò),線程也要程序的搭配才干發(fā)揮,線程的概念浮現(xiàn)與落實(shí)已是“c+看消、java看長(zhǎng)”的階段,所以c+只能通過(guò)api呼用的方式來(lái)支持與用法多線程,如此必需改寫(xiě)過(guò)往的程序才行,改寫(xiě)
5、成有呼用到支持多線程的api才行。相對(duì)的,較c+晚問(wèn)世的java則是原生支持多線程,不用改寫(xiě)也能發(fā)揮及運(yùn)用多線程的特性及其加速效益。有了線程后,執(zhí)行的分割、切割越發(fā)細(xì)膩,線程機(jī)制不僅在多顆處理器的系統(tǒng)內(nèi)可以加速,在單顆處理器內(nèi)也一樣能獲得益處,在多顆處理器的系統(tǒng)上每顆處理器不僅可以單獨(dú)執(zhí)行一個(gè)程序,固然也可以單獨(dú)執(zhí)行一個(gè)線程,而在單處理器系統(tǒng)上由于省去內(nèi)存管理組態(tài)的搬遷,所以一樣可以加速,很顯然的,線程使執(zhí)行的發(fā)派、分配越發(fā)細(xì)膩與靈便化。線程的副作用線程雖有好用的優(yōu)點(diǎn),不過(guò)它也有副作用的缺點(diǎn),且此一優(yōu)缺是一體兩面無(wú)從分割,缺點(diǎn)是各個(gè)線程分享同一組內(nèi)存管理組態(tài)及機(jī)制,倘若有一個(gè)線程的執(zhí)行發(fā)生錯(cuò)誤
6、、瑕疵、或遭入侵等,其余在同一個(gè)行程內(nèi)的每個(gè)線程也都會(huì)遭遇影響、波及,最嚴(yán)峻是同一個(gè)行程內(nèi)的一切都錯(cuò)亂、毀壞,由此可知:線程其實(shí)是帶有若干平安性犧牲的加速法。此外有人會(huì)誤解,就字面上而言,多核表示同時(shí)光有多顆處理器在執(zhí)行,每顆處理器可以執(zhí)行一個(gè)行程或一個(gè)線程,但是一顆具有多線程能力的處理器并不表示它可以同時(shí)執(zhí)行多個(gè)線程,實(shí)際上在同一時(shí)光內(nèi)一顆具多線程功效的處理器也依舊是執(zhí)行一個(gè)線程而已,只是多線程處理器的內(nèi)部可以將原有線程的相關(guān)信息及變量臨時(shí)擱擺,然后去執(zhí)行其它的線程,執(zhí)行完后在切換回本來(lái)執(zhí)行到一半的線程,甚至沒(méi)執(zhí)行完也可以切換回歸,且囫圇切換過(guò)程都在處理器內(nèi)舉行,不用與快取與內(nèi)存舉行搬遷置換
7、,如此以迅速換線程執(zhí)行的方式來(lái)加速。相對(duì)于此的,一顆不具多線程能力的處理器,執(zhí)行一個(gè)線程到一半若想改執(zhí)行另一個(gè)線程,就必需將原線程、現(xiàn)線程的相關(guān)內(nèi)容與信息搬遷到快取或內(nèi)存,然后自快取及內(nèi)存引入另一個(gè)線程,因?yàn)榇艘话徂D(zhuǎn)頗耗時(shí),所以多半挑選將原有的線程執(zhí)行完再引入下一個(gè)線程,如此在時(shí)光上可能還比較經(jīng)濟(jì)。然而無(wú)論一線程完整執(zhí)行后再執(zhí)行下一個(gè)線程,還是舉行線程的進(jìn)出搬遷轉(zhuǎn)移,都不會(huì)比具備多線程能力的處理器來(lái)的迅速有效。至此我們可以歸納收拾:1.多核、多處理器系統(tǒng)中的每顆處理器(每個(gè)核),同時(shí)光內(nèi)可以執(zhí)行各自不同的行程(或線程)。2.一顆多線程能力的處理器,無(wú)論是支持二線程、四線程、八線程,這些線程都必
8、需是在同一個(gè)行程內(nèi),所以一顆處理器(一個(gè)核)還是只能執(zhí)行一個(gè)行程,雙核處理器就能夠同時(shí)執(zhí)行兩個(gè)不同的行程(或線程),四核就可以同時(shí)不同的四個(gè)行程(或線程)。3.倘若是執(zhí)行不支持多線程的程序,其執(zhí)行上的分拆最多只到行程而未到線程,那么每顆處理器內(nèi)的多線程功效就無(wú)從發(fā)揮,而這類(lèi)的程序歷史較長(zhǎng)期,相對(duì)的原生支持多線程的程序歷史較短,不過(guò)信息技術(shù)的腳步一直發(fā)展迅速,兩種不同層次的支持僅差距數(shù)年時(shí)光。產(chǎn)業(yè)實(shí)際進(jìn)展可為證實(shí)真的是多核優(yōu)于、先于多線程嗎?關(guān)于此可通過(guò)產(chǎn)業(yè)實(shí)際進(jìn)展做為應(yīng)證,sun的ultrasparc t1處理器(研發(fā)代號(hào):niagara)是八核四線程的設(shè)計(jì),但接續(xù)的ultrasparc t2
9、處理器(研發(fā)代號(hào):niagara 2)則是八核八線程的設(shè)計(jì),所以是核多、核優(yōu)先,然后再來(lái)拉跋、提升線程的執(zhí)行。同樣的,ibm為microsoft xbox 360所設(shè)計(jì)的xenon處理器,是個(gè)三核二線程的設(shè)計(jì),核數(shù)依舊是高于線程數(shù),又如ibm、sony、toshiba三家業(yè)者合研的cell處理器,現(xiàn)有第一代的cell(研發(fā)代號(hào):dd1)是九核,組態(tài)上是八核媒體(spe)、一核泛用(ppe),新一代的cell(研發(fā)代號(hào):dd2)也針對(duì)ppe的部分舉行雙線程進(jìn)展,如此再次表示核比線程重要,當(dāng)cell僅舉行增一線程的擴(kuò)展改進(jìn)時(shí),而非再增一核,即可知這僅是一次小幅的改進(jìn)?!岸嗪恕薄ⅰ岸嗑€程”之外 還有“多令”、“多機(jī)”最后,且讓我們談?wù)勁c多核、多線程不同加速走向的“多令”,“多令”是筆者發(fā)明的詞,指的是比執(zhí)行行程(process)、線程(thread)更基底層次的執(zhí)行命令(instruction),多核的作法是盡可能在同時(shí)光內(nèi)執(zhí)行多個(gè)行程,多令則是盡可能在同時(shí)光內(nèi)執(zhí)行多個(gè)命令,學(xué)術(shù)上的vliw與產(chǎn)業(yè)上的e皆是多令理念下的架構(gòu)。到目前為止
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 掃雪活動(dòng)總結(jié)500字(26篇)
- 慶元旦領(lǐng)導(dǎo)講話稿合集10篇
- 感恩節(jié)班會(huì)活動(dòng)總結(jié)
- 怒海潛將觀后感10篇
- 校園科技節(jié)活動(dòng)實(shí)施計(jì)劃方案
- 2013山西道法試卷+答案+解析
- 基于云原生應(yīng)用的移動(dòng)目標(biāo)防御技術(shù)研究
- 二零二五年度農(nóng)業(yè)項(xiàng)目收購(gòu)意向協(xié)議書(shū)范本3篇
- 二零二五年度地下管線施工安全責(zé)任協(xié)議書(shū)參考3篇
- 制造業(yè)技術(shù)工作總結(jié)
- (二模)遵義市2025屆高三年級(jí)第二次適應(yīng)性考試試卷 地理試卷(含答案)
- 二零二五隱名股東合作協(xié)議書(shū)及公司股權(quán)代持及回購(gòu)協(xié)議
- 四川省成都市武侯區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末考試化學(xué)試題
- 2025年計(jì)算機(jī)二級(jí)WPS考試題目
- 高管績(jī)效考核全案
- 2024年上海市中考英語(yǔ)試題和答案
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》知識(shí)培訓(xùn)
- 初一到初三英語(yǔ)單詞表2182個(gè)帶音標(biāo)打印版
- 《人力資源管理》全套教學(xué)課件
- 2024年秋季人教版七年級(jí)上冊(cè)生物全冊(cè)教學(xué)課件(2024年秋季新版教材)
- 年度重點(diǎn)工作計(jì)劃
評(píng)論
0/150
提交評(píng)論