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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 利用多核PC技術(shù)進行圖形編程

          利用多核PC技術(shù)進行圖形編程

          作者: 時間:2010-10-12 來源:網(wǎng)絡(luò) 收藏

           在PC行業(yè),處理正在引起相當(dāng)大的反響,很大程度上是因為Intel和 AMD兩家公司都各自發(fā)布了其首款處理器。這些首款處理器都是在一個物理處理器中包含有兩個核,或者計算引擎,因此命名為雙核處理器。具有兩個以上核的處理器也即將面市。

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

            多核與多處理器

            多處理器系統(tǒng)多年前已經(jīng)出現(xiàn),它與多核系統(tǒng)的主要區(qū)別是多核系統(tǒng)只有一個物理處理器,這個物理處理器包含兩個或更多個核,而多處理器系統(tǒng)有兩個或更多個物理處理器。多核系統(tǒng)也共享計算資源,在多處理器系統(tǒng)中這些資源常常是被復(fù)制的,如L2高速緩存和前端總線。多核系統(tǒng)與多處理器系統(tǒng)性能相似,但成本常常要低得多,原因是多核處理器比多個相同的單個處理器價格要低,也不需要支持多個處理器的母板,如多處理器插頭。

            多任務(wù)

            像多處理器系統(tǒng)一樣,多核系統(tǒng)能同時執(zhí)行多個計算任務(wù)。這一點在如Windows XP多任務(wù)操作系統(tǒng)(OS)中很有利,此時可以同時運行多個應(yīng)用程序。多任務(wù)指OS在兩個任務(wù)間快速切換的能力,表面上看,這些任務(wù)同時執(zhí)行。當(dāng)運行在多核系統(tǒng)上時,多任務(wù)OS能真正同時執(zhí)行多個任務(wù),而不只是表面上看起來是。例如,在雙核系統(tǒng)上,兩個應(yīng)用——如National Instruments LabVIEW 和Microsoft Excel,各自都能同時訪問一個獨立的處理器核,因此,提高了如進行數(shù)據(jù)記錄的應(yīng)用程序的整體性能。

            

          雙核系統(tǒng)可實現(xiàn)多任務(wù)操作系統(tǒng) www.elecfans.com


            圖1:雙核系統(tǒng)可實現(xiàn)多任務(wù)操作系統(tǒng),如Windows XP,真正同時執(zhí)行兩個任務(wù)。

            多線程

            多線程將多任務(wù)思想延伸到應(yīng)用程序,所以可以將一個單獨應(yīng)用程序內(nèi)的具體操作分成具體線程,各線程都能并行運行。這樣,OS就不僅能在不同應(yīng)用程序間,也可在一個應(yīng)用程序的每個線程間劃分處理時間。在多線程NI LabVIEW程序中,例如一個應(yīng)用程序可分為3個線程:1個用戶接口線程、1個數(shù)據(jù)采集線程和1個分析線程。可以給這些線程分配優(yōu)先權(quán),各自獨立運行。因此,在多線程應(yīng)用程序中,多任務(wù)能與正在其他系統(tǒng)上運行的其他應(yīng)用程序一起并行進行。

            采用多線程的應(yīng)用優(yōu)點很多,包括CPU使用效率更高,系統(tǒng)可靠性更高,多核系統(tǒng)的性能得到提高。

            更高效地使用CPU

            在很多應(yīng)用程序中,資源可以同時調(diào)用,如在儀器中。完成這種調(diào)用常常需要花費很長時間。在單線程應(yīng)用中,同步調(diào)用有效阻止或防止了應(yīng)用程序內(nèi)的任何其他任務(wù)的執(zhí)行,直到該調(diào)用完成。多線程避免了這種情況的發(fā)生。當(dāng)一個線程出現(xiàn)同步調(diào)用時,其他不依賴此調(diào)用的程序部分在其他線程下運行。應(yīng)用程序繼續(xù)執(zhí)行,而不是等到此同步調(diào)用完成后再繼續(xù)執(zhí)行。這樣,如果應(yīng)用程序的任何一個線程準備運行,則CPU都可運行該線程,所以,多線程應(yīng)用最大程度提高了CPU效率。

            系統(tǒng)可靠性更高

            通過將應(yīng)用程序分成不同的執(zhí)行線程,可以避免次要操作影響最重要操作的執(zhí)行。最常見的例子是用戶接口可能對時間更關(guān)鍵的操作的影響。屏幕更新或響應(yīng)用戶事件經(jīng)常會降低應(yīng)用程序的執(zhí)行速度。給用戶接口線程賦予的優(yōu)先權(quán)比其他對時間要求更關(guān)鍵的操作事件的優(yōu)先權(quán)要低些,就能保證用戶接口操作不會阻止CPU執(zhí)行更重要的操作,如采集數(shù)據(jù)或過程控制。

            提高多核系統(tǒng)的性能

            多線程最誘人的優(yōu)點之一是可以利用多核系統(tǒng)完備的計算能力。在幾個線程都同時準備運行的多線程應(yīng)用程序中,每個核可以運行不同的線程,應(yīng)用程序?qū)崿F(xiàn)了真正的并行任務(wù)執(zhí)行。這樣不僅增強了前面討論的CPU使用效率更高和系統(tǒng)可靠性更高這兩個優(yōu)點,而且使性能得到徹底提高。

            的優(yōu)點

            根據(jù)定義,虛擬儀器有助于利用PC業(yè)的每一個創(chuàng)新。多核處理也一樣。開發(fā)能充分利用多核處理器計算能力的軟件時,就需要本質(zhì)上具備并行性的開發(fā)工具。由于其順序特征,如C 和C++這種基于文本的編程語言就要求調(diào)用函數(shù),有計劃地產(chǎn)生和管理線程。同時,由于文本語言的順序的、一行接一行的特點,如何使不同代碼部分的并行運行可視化常常很困難。

            相比之下,像LabVIEW一類的環(huán)境可方便地表示并行過程,這是因為數(shù)據(jù)流本來就是并行的。在圖形環(huán)境下并行代碼的執(zhí)行進行可視化更容易,在這種環(huán)境下,圖形代碼的兩個并行執(zhí)行路徑并行放置。LabVIEW代碼也天生就是多線程。LabVIEW能識別程序中的多線程機會,由執(zhí)行系統(tǒng)處理多線程實現(xiàn)和通信。例如,兩個沒有任何依賴關(guān)系而運行的獨立環(huán)在各自的線程內(nèi)自動執(zhí)行。當(dāng)在多核系統(tǒng)中執(zhí)行LabVIEW代碼時,多線程在多個處理器核上運行,而不需用戶進行任何干預(yù)。

            

          LabVIEW中圖形編程的并行特點自動實現(xiàn)多線程 www.elecfans.com

            圖2: LabVIEW中的并行特點自動實現(xiàn)多線程,這些多線程在多核處理器上運行,而不需用戶進行任何干預(yù)。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 多核 圖形編程

          評論


          相關(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); })();