国产久草深夜福利精品_精品国产看高清国产毛片_成年日韩片av在线网站_亚洲国产综合777_免费高清一级在线观看_欧美色图中文字幕_老中医用嘴排阴毒 小雨_99精品无码视频在线播放_久久久精品强暴视频_国产aⅴ一区最新精品

多核與多線程技術(shù)的區(qū)別到底在哪里?
電子元件,電子元器件深圳市創(chuàng)唯電子有限公司
您現(xiàn)在的位置: 首頁(yè) > 電子技術(shù)
多核與多線程技術(shù)的區(qū)別到底在哪里?  2012/3/1
毫無(wú)疑問(wèn)的,“多核”、“多線程”此二詞已快成為當(dāng)今處理器架構(gòu)設(shè)計(jì)中的兩大顯學(xué),如同歷史戰(zhàn)國(guó)時(shí)代以“儒”、“墨”兩大派的顯學(xué),只不過(guò)當(dāng)年兩大治世思想學(xué)派是爭(zhēng)得你死我亡,而多核、多線程則是相互兼容并蓄,今日幾乎任何處理器都朝同時(shí)具有多核多線程的路線發(fā)展邁進(jìn)。雖然兩詞到處可見(jiàn),但可有人知此二者的實(shí)際差異?在執(zhí)行設(shè)計(jì)時(shí)又是以何者為重?到底是該多核優(yōu)先還是多線程提前?關(guān)于此似乎大家都想進(jìn)一步了解,本文以下試圖對(duì)此
  毫無(wú)疑問(wèn)的,“多核”、“多線程”此二詞已快成為當(dāng)今處理器架構(gòu)設(shè)計(jì)中的兩大顯學(xué),如同歷史戰(zhàn)國(guó)時(shí)代以“儒”、“墨”兩大派的顯學(xué),只不過(guò)當(dāng)年兩大治世思想學(xué)派是爭(zhēng)得你死我亡,而多核、多線程則是相互兼容并蓄,今日幾乎任何處理器都朝同時(shí)具有多核多線程的路線發(fā)展邁進(jìn)。

雖然兩詞到處可見(jiàn),但可有人知此二者的實(shí)際差異?在執(zhí)行設(shè)計(jì)時(shí)又是以何者為重?到底是該多核優(yōu)先還是多線程提前?關(guān)于此似乎大家都想進(jìn)一步了解,本文以下試圖對(duì)此進(jìn)行個(gè)中差異的解說(shuō),并盡可能在不涉及實(shí)際復(fù)雜細(xì)節(jié)的情形下,讓各位對(duì)兩者的機(jī)制觀念與差別性有所理解。

行程早于線程

若依據(jù)信息技術(shù)的發(fā)展歷程,在軟件程序執(zhí)行時(shí)的再細(xì)分、再切割的小型化單位上,先是有行程(Process),之后才有線程(Thread),線程的單位比行程更小,一個(gè)行程內(nèi)可以有多個(gè)線程,在一個(gè)行程下的各線程,都是共享同一個(gè)行程所建立的內(nèi)存尋址資源及內(nèi)存管理機(jī)制,包括執(zhí)行權(quán)階、內(nèi)存空間、堆棧位置等,除此之外各個(gè)線程自身僅擁有少許因?yàn)閳?zhí)行之需的變量自屬性,其余都依據(jù)與遵行行程所設(shè)立的規(guī)定。

相對(duì)的,程序與程序之間所用的就是不同的內(nèi)存設(shè)定,包括分頁(yè)、分段等起始地址的不同,執(zhí)行權(quán)階的不同,堆棧深度的不同等,一顆處理器若執(zhí)行了A行程后要改去執(zhí)行B行程,對(duì)此必須進(jìn)行內(nèi)存管理組態(tài)的搬遷、變更,而這個(gè)搬遷若是在處理器內(nèi)還好,若是在高速緩存甚至是系統(tǒng)主存儲(chǔ)器時(shí),此種切換、轉(zhuǎn)移程序?qū)?zhí)行效能的損傷就非常大,因?yàn)橥瓿砂徇w、切換程序的相同時(shí)間,處理器早就可以執(zhí)行數(shù)十到上千個(gè)指令。

兩種路線的加速思維

所以,想避免此種切換的效率損耗,可以從兩種角度去思考,第一種思考就是擴(kuò)大到整體運(yùn)算系統(tǒng)的層面來(lái)解決,在 一部計(jì)算機(jī)內(nèi)設(shè)計(jì)、配置更多顆的處理器,然后由同一個(gè)操作系統(tǒng)同時(shí)掌控及管理多顆處理器,并將要執(zhí)行的程序的各個(gè)程序,一個(gè)程序喂(也稱:發(fā)派)給一顆處理器去執(zhí)行,如此多顆同時(shí)執(zhí)行,每顆處理器執(zhí)行一個(gè)程序,如此就可以加快整體的執(zhí)行效率。

當(dāng)然!這種加速方式必須有一個(gè)先決條件,即是操作系統(tǒng)在編譯時(shí)就必須能管控、發(fā)揮及運(yùn)用多行程技術(shù),倘若以單行程的系統(tǒng)組態(tài)來(lái)編譯,那么操作系統(tǒng)就無(wú)法管控服務(wù)器內(nèi)一顆以上的處理器,如此就不用去談?wù)撚刹僮飨到y(tǒng)負(fù)責(zé)讓應(yīng)用程序的程序進(jìn)行同時(shí)的多顆同時(shí)性的執(zhí)行派送。

即便操作系統(tǒng)支持多程序,而應(yīng)用程序若依舊只支持單程序,那情形一樣是白搭,操作系統(tǒng)無(wú)法對(duì)單行程程序再行拆分,依然是只喂入單一顆處理器上去執(zhí)行,無(wú)從加速。

同時(shí)用多顆處理器來(lái)執(zhí)行,且每顆處理器執(zhí)行一個(gè)行程,這是一種加速法,另一種加速法則是:盡量不進(jìn)行內(nèi)存管理組態(tài)的切換,避免切換的效能折損,線程正是在此概念下所出現(xiàn)的產(chǎn)物。

不過(guò),線程也要程序的搭配才能發(fā)揮,線程的概念出現(xiàn)與落實(shí)已是“C++看消、Java看長(zhǎng)”的階段,所以C++只能通過(guò)API呼用的方式來(lái)支持與使用多線程,如此必須改寫過(guò)往的程序才行,改寫成有呼用到支持多線程的API才行。相對(duì)的,較C++晚問(wèn)世的Java則是原生支持多線程,不用改寫也能發(fā)揮及運(yùn)用多線程的特性及其加速效益。

有了線程后,執(zhí)行的分割、切割更加細(xì)膩,線程機(jī)制不僅在多顆處理器的系統(tǒng)內(nèi)可以加速,在單顆處理器內(nèi)也一樣能獲得好處,在多顆處理器的系統(tǒng)上每顆處理器不僅可以單獨(dú)執(zhí)行一個(gè)程序,當(dāng)然也可以單獨(dú)執(zhí)行一個(gè)線程,而在單處理器系統(tǒng)上因?yàn)槭∪?nèi)存管理組態(tài)的搬遷,所以一樣可以加速,很明顯的,線程使執(zhí)行的發(fā)派、分配更加細(xì)膩與靈活化。

線程的副作用

線程雖有好用的優(yōu)點(diǎn),不過(guò)它也有副作用的缺點(diǎn),且此一優(yōu)缺是一體兩面無(wú)從分割,缺點(diǎn)是各個(gè)線程共享同一組內(nèi)存管理組態(tài)及機(jī)制,倘若有一個(gè)線程的執(zhí)行發(fā)生錯(cuò)誤、瑕疵、或遭入侵等,其余在同一個(gè)行程內(nèi)的每個(gè)線程也都會(huì)遭受影響、波及,最嚴(yán)重是同一個(gè)行程內(nèi)的一切都錯(cuò)亂、毀壞,由此可知:線程其實(shí)是帶有若干安全性犧牲的加速法。

與《多核與多線程技術(shù)的區(qū)別到底在哪里?》相關(guān)列表
電話:400-900-3095
QQ:800152669
庫(kù)存查詢
Copyright(C) 2011-2021 Szcwdz.com 創(chuàng)唯電子 版權(quán)所有 備案號(hào):粵ICP備11103613號(hào)
專注電子元件代理銷售  QQ:800152669  電子郵件:sales@szcwdz.com  電話:400-900-3095