<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 學(xué)習(xí)方法與實(shí)踐 > 多核時(shí)代,嵌入式編程和應(yīng)用之出路

          多核時(shí)代,嵌入式編程和應(yīng)用之出路

          作者: 時(shí)間:2008-02-04 來源:網(wǎng)絡(luò)博客 收藏

          2007年7月中旬,英特爾公司在大連召開“2007英特爾中國(guó)多核技術(shù)學(xué)術(shù)論壇”,來自全國(guó)40多所高校的近百名教師濟(jì)濟(jì)一堂,探討多核時(shí)代的軟件編程方法和應(yīng)用方案。

          本文引用地址:http://www.ex-cimer.com/article/78693.htm

          摩爾定律=晶體管預(yù)算+最低功耗+最低成本

          Intel副總裁兼中國(guó)產(chǎn)品開發(fā)總經(jīng)理王文漢博士指出,摩爾定律也隨著時(shí)代的變遷而變換著內(nèi)容。1965年誕生的摩爾定律預(yù)測(cè)每?jī)赡昃w管的密度翻一番。最早是在芯片上晶體管密度提高;后來變?yōu)樗俣忍嵘?,?a target="_blank" href="http://www.ex-cimer.com/news/tagshow.aspx?tag=CPU">CPU的主頻越來越快;此時(shí)又帶來了散熱問題,因此現(xiàn)在追求能耗的降低。既追求密度、又追求功耗和成本的結(jié)果,就誕生了多核。

          Intel處理器目前的主頻不是追求快,但密度要高,因此未來1~2年多核將獨(dú)領(lǐng)風(fēng)騷,到2008年,10個(gè)Intel處理器中有8個(gè)是多核。今后3~5年,Intel將沒有單核。

          不過,過去CPU沒有多核,現(xiàn)在多核編程與單核之間的落差非常大,所以市場(chǎng)上對(duì)多核軟件的需要產(chǎn)生了迫切要求,同時(shí)為軟件開發(fā)人員帶來了機(jī)會(huì)。在多核軟件領(lǐng)域,沒有第一也沒有最后,全世界都站在同一條起跑線上,希望中國(guó)的軟件工程師抓住此機(jī)會(huì)。

          多核環(huán)境下軟件的特點(diǎn)是:開源,虛擬化,圖形化,并行性。據(jù)Gartner Dataquest于2007年2月公布的報(bào)告,今后5年開源軟件的年增長(zhǎng)率將達(dá)到24.3%。過去采用分時(shí)化,現(xiàn)在是虛擬化:一個(gè)高速處理器可以虛擬成多個(gè)計(jì)算單元;同樣,多核也可虛擬成一個(gè)高速處理器?,F(xiàn)在的Silicon Life(硅時(shí)代)非常注重有好的圖形效果,例如google圖形搜索,游戲中3D場(chǎng)景出現(xiàn),因此下一代軟件將在圖形上下足功夫。涉及到未來多核的應(yīng)用方式,如何進(jìn)行并行化編程,如何利用多核的龐大的計(jì)算功能?這是一個(gè)巨大的挑戰(zhàn)。

          圖1 多核環(huán)境下軟件的特點(diǎn)

          多核編程的挑戰(zhàn)

          多核的產(chǎn)生是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)發(fā)展之必然,這也帶來了設(shè)計(jì)思想的根本轉(zhuǎn)變。

          武漢大學(xué)電子信息學(xué)院楊劍鋒副教授認(rèn)為,多核的困難之處在于答案是無解的。他以一個(gè)小學(xué)生的奧數(shù)題進(jìn)行舉例:在一個(gè)三角形中放入小三角形,再放入一條線,讓同學(xué)們數(shù)里面有多少三角形,結(jié)果每個(gè)同學(xué)數(shù)出的結(jié)果是不同的。他又把同學(xué)們分成幾人一組,以團(tuán)隊(duì)的形式數(shù),結(jié)果每組正確率大大上升。楊教授的結(jié)論是:多核會(huì)產(chǎn)生時(shí)間線程的不同,因此多核、多線程就像解三角形這類數(shù)學(xué)題,解題時(shí)要考慮到各種情形,尤其困難之處在于每個(gè)程序員的方法別人是難以模仿和檢驗(yàn)的。通過多人的集體智慧,成功率可大大提高。

          浙江大學(xué)計(jì)算機(jī)學(xué)院的陳天洲教授指出,開發(fā)多核軟件需要市場(chǎng)上出現(xiàn)多核編譯器。他說:“從單核到多核,移植是個(gè)大問題,尤其是軟件架構(gòu)的移植。在單核時(shí)代,出現(xiàn)了操作系統(tǒng),使人們看不見后面的硬件。目前能否有編譯器,使寫軟件的人,不論是寫Java還是C++,可利用編譯器自動(dòng)把任務(wù)分配到多核上。這是個(gè)挑戰(zhàn)。”其他教授補(bǔ)充道,至于同構(gòu)還是異構(gòu)的,雙核還是32核的,任務(wù)是如何分配的,應(yīng)該是后臺(tái)編譯器的工作。就像學(xué)開車、開飛機(jī),沒必要先了解如何造汽車、造飛機(jī)。

          英特爾亞太研發(fā)公司戰(zhàn)略拓展經(jīng)理芮斌舉了另一個(gè)多核軟件的例子,有人問他:多核就像十月懷胎,肚子里的孩子如何能讓十個(gè)媽媽每人懷一個(gè)月?面對(duì)SMP(對(duì)稱多處理),有的應(yīng)用只能串行,不能并行。芮斌的答案是,多核的任務(wù)是讓十個(gè)媽媽懷十個(gè)孩子。

          可見,多核必須要找到用武之地,如果用不好,不僅浪費(fèi)資源,而且更加耗電。浙大程教授指出:異構(gòu)核適合比較密集的應(yīng)用,例如多媒體視頻處理,壓縮/解壓縮,有個(gè)組合,一個(gè)主做,另一個(gè)輔助。不過,這當(dāng)然帶來了很多的麻煩,包括軟件設(shè)計(jì)上的。

          多核在嵌入式的應(yīng)用

          “這些年來,嵌入式技術(shù)方面總是滯后于PC;但現(xiàn)在差距在縮小。” Intel中國(guó)嵌入式產(chǎn)品事業(yè)部技術(shù)市場(chǎng)經(jīng)理王禾介紹道。由于Intel全面引入了多核,因此,Intel在努力尋找需要高性能、超低功耗的領(lǐng)域。

          在商業(yè)上的應(yīng)用,例如機(jī)場(chǎng),現(xiàn)在大都是電子客票,每臺(tái)機(jī)器都是嵌入式計(jì)算機(jī)。美國(guó)賣CD、DVD的商店,有一個(gè)大型的計(jì)算機(jī),有大型的存儲(chǔ)器和眾多觸摸屏,顧客可根據(jù)需要選擇不同的CD與DVD節(jié)目來試聽。777飛機(jī)上每個(gè)座位上都有一臺(tái)VoD(視頻點(diǎn)播)電視。工業(yè)自動(dòng)化上的大型流水線。

          無風(fēng)扇也是多核的優(yōu)勢(shì),特別適合沒有噪音的場(chǎng)合。在醫(yī)療領(lǐng)域中,手術(shù)設(shè)備可采用多核處理器。一些人機(jī)交互產(chǎn)品也需要沒有噪音的多核產(chǎn)品。

          在安全監(jiān)控系統(tǒng)中,傳統(tǒng)模式是“攝像機(jī)+錄像機(jī)”,采用多核后,不僅一臺(tái)機(jī)器可以錄下內(nèi)容,還能監(jiān)控,同時(shí)完成存儲(chǔ),并可很快被調(diào)出,而且還是多路。

          在物流上,可以實(shí)現(xiàn)豐富的人機(jī)交換。例如連鎖商場(chǎng)連接至整個(gè)大型庫(kù)房網(wǎng)絡(luò),這里如果缺貨,哪個(gè)州/省、哪家商店有立刻可以查到;另外,如何加密保護(hù)自己商店的內(nèi)容也是下一步的課題。

          由于多核是典型的高性能、低功耗,也很適合野外應(yīng)用,例如地質(zhì)儀器。

          當(dāng)然,嵌入式不是原始技術(shù),是綜合技術(shù)。在應(yīng)用之后,要讓人感覺不到多核。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: 多核 嵌入式 編程 應(yīng)用

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();