亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        CPU計算和GPU計算

        2017-06-27 08:07:07李旻昊
        中國科技縱橫 2017年9期
        關(guān)鍵詞:大數(shù)據(jù)

        李旻昊

        摘 要:本文先介紹了CPU和GPU的相關(guān)知識,包括他們的歷史、架構(gòu)、以及目前發(fā)展的現(xiàn)狀。然后來闡述兩者在使用上的區(qū)別以及使用場景的不同。最后也是本文的重點,講述如何使用GPU來加快程序的運算速度,尤其是在大數(shù)據(jù)的處理這一方面,并且介紹NVIDIA公司所推出的CUDA運算平臺。

        關(guān)鍵詞:CPU;GPU;大數(shù)據(jù)

        中圖分類號:TP338 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-2064(2017)09-0029-02

        CPU與GPU是每一臺電腦中都必不可少的部件。簡單來說,CPU就是一臺電腦中的“大腦”,能夠協(xié)調(diào)電腦中各個部件的運作。相比之下,GPU就顯得低調(diào)了很多。它處于顯卡之中,是顯卡的“心臟”,并且在以往的概念中,GPU并沒有CPU那般地位重要。

        CPU和GPU都遵循著摩爾定律,即當(dāng)價格不變時,集成電路上可以容納的元器件的數(shù)目,約每隔18-24個月便會增加一倍,性能也將會增加一遍。我們不可否認(rèn)的是,即使科技不斷的進(jìn)步,可以容納的元器件的數(shù)目也會有一個上限。這時,我們會用何種方式來提高性能呢?科學(xué)家們不停的探索這一方面的內(nèi)容,給出的答案的其中之一就是使用GPU編程。如何利用GPU來編程?它和CPU的區(qū)別在哪里?它適用于怎么樣的程序?能提高的性能有多少?這四個問題就是本文想要闡述的。下面就讓我們一起進(jìn)入電子元器件的世界。

        1 CPU(中央處理器)

        下面先介紹一下CPU(中央處理器)相關(guān)的知識。包括指令集,物理結(jié)構(gòu),流水線架構(gòu),以及目前CPU發(fā)展的六個階段。

        1.1 指令集

        我們?nèi)粘J褂秒娔X的過程中可能會思考下面的一個問題:為什么我雙擊了桌面上的一個圖標(biāo),程序就開始運行了?你也可能已經(jīng)猜到了答案:我們向電腦發(fā)出了一條命令。這條命令是什么,誰處理這條命令,這個問題就是我們這一節(jié)要弄明白的問題。

        當(dāng)我們雙擊了圖標(biāo)之后,就向計算機(jī)發(fā)出了一條命令。這條命令被CPU所接受,然后CPU開始解析這條命令并且向計算機(jī)其他部件發(fā)出信號,包括從硬盤取出相應(yīng)的程序,放到內(nèi)存中運行。這就是一條指令帶給計算機(jī)的工作。如果還不能夠理解,也沒有關(guān)系,只需要知道我們給計算機(jī)發(fā)出的命令都可以轉(zhuǎn)換成指令的形式就足夠了。

        當(dāng)然,計算機(jī)能夠接受的指令有很多很多,總體來說分成兩大類:復(fù)雜指令集和精簡指令集。

        復(fù)雜指令集也稱CISC。在CISC微處理器中,指令是按照順序來執(zhí)行的,其優(yōu)點就是控制簡單,但是因為只能夠順序執(zhí)行,因此它的運行速度不盡如人意。我們現(xiàn)在使用的所有的Intel處理器都是CISC,也就是x86和x86-64架構(gòu)的。

        精簡指令集稱作RISC。John Cocke對CISC機(jī)進(jìn)行研究之后發(fā)現(xiàn),程序中出現(xiàn)頻率達(dá)到80%的指令只占指令集中所有指令的20%(這也是著名的28定律)。復(fù)雜的指令系統(tǒng)會增加微處理器的復(fù)雜頂,導(dǎo)致計算機(jī)運行的速度降低。因此RISC誕生了,它的指令格式統(tǒng)一,種類比較少,尋址方式也簡單了很多,自然處理速度也有了提高。目前在高檔的服務(wù)器中都采用了RISC指令集。

        1.2 物理結(jié)構(gòu)

        計算機(jī)之父馮·諾依曼曾經(jīng)提出過存儲程序原理,把程序本身當(dāng)作數(shù)據(jù)來對待,程序和該程序處理的數(shù)據(jù)用同樣的方式存儲。大致的思想如圖1所示。

        可以看到,運算器、控制器和內(nèi)存儲器是被放在CPU之中的,這也是目前CPU的物理結(jié)構(gòu)。運算器也稱做運算邏輯部件,可以執(zhí)行各種算術(shù)運算操作和邏輯操作。內(nèi)存儲器包括寄存器和CPU緩存,用來保存指令執(zhí)行過程中臨時存放的寄存器操作數(shù)和中間操作結(jié)果??刂撇考饕菍χ噶钸M(jìn)行翻譯,并且發(fā)出為完成每條指令所要執(zhí)行的各個操作的控制信號。

        在CPU中,上述三個部件是必不可少的。當(dāng)然隨著技術(shù)的發(fā)展,目前CPU還有很多其他的部件,感興趣的讀者可以自行搜索相關(guān)資料。

        1.3 流水線架構(gòu)

        在說流水線架構(gòu)之前,我們需要先弄清楚CPU的工作流程。CPU從存儲器中取出指令,放入指令寄存器,并且進(jìn)行譯碼。然后發(fā)出各種控制命令,執(zhí)行微操作,從而完成一條指令的執(zhí)行。詳細(xì)來說,主要分成下述四個步驟:

        (1)提取。用程序計數(shù)器來指定存儲器的位置,然后從存儲器中檢索指令。

        (2)解碼。根據(jù)我們提取到的指令來決定其執(zhí)行行為。根據(jù)CPU的指令集,指令會被拆解成有意義的片段。

        (3)執(zhí)行。我們根據(jù)相應(yīng)的指令片段,來鏈接到各種CPU運算部件,進(jìn)行相應(yīng)的操作。

        (4)寫回。最終,我們將在執(zhí)行階段得到的結(jié)果簡單的寫回。通常他會被寫進(jìn)CPU內(nèi)部的寄存器中,也有可能會被寫進(jìn)速度較慢但是容量較大的內(nèi)存中。這時,一條指令已經(jīng)完成,程序計數(shù)器值會遞增,來提取下一條指令并且重復(fù)上述的過程。

        這就是CPU的工作流程。在流水線架構(gòu)誕生之前,我們的指令都是一條完成后再接著另一條的,這樣做效率就會很低,因為并不是所有部件都無時無刻的在工作。比如,在執(zhí)行階段,指令存儲器就沒有辦法很好的利用起來。為了解決這樣的問題,流水線架構(gòu)誕生了。簡單來說,就是能夠充分利用每一個部件。在第n條指令解碼的時候,我們可以提前提取第n+1條指令。然后在第n條指令執(zhí)行之時,CPU會去對第n+1條指令進(jìn)行解碼。詳細(xì)的流程如圖2所示。

        有了流水線架構(gòu),CPU的工作效率大大提高。

        1.4 發(fā)展的六個階段

        CPU發(fā)展已經(jīng)有40多年的歷史了。我們通常將其分成六個階段。

        (1)第一階段(1971年-1973年)。這是4位和8位低檔微處理器時代,代表產(chǎn)品是Intel4004處理器。

        (2)第二階段(1974年-1977年)。這是8位中高檔微處理器時代,代表產(chǎn)品是Intel8080。此時指令系統(tǒng)已經(jīng)比較完善了。

        (3)第三階段(1978年-1984年)。這是16位微處理器的時代,代表產(chǎn)品是Intel8086。相對而言已經(jīng)比較成熟了。

        (4)第四階段(1985年-1992年)。這是32位微處理器時代,代表產(chǎn)品是Intel80386。已經(jīng)可以勝任多任務(wù)、多用戶的作業(yè)。

        (5)第五階段(1993年-2005年)。這是奔騰系列微處理器的時代。

        (6)第六階段(2005年至今)。是酷睿系列微處理器的時代,這是一款領(lǐng)先節(jié)能的新型微架構(gòu),設(shè)計的出發(fā)點是提供卓然出眾的性能和能效。

        2 GPU(圖像處理器)

        讀完了CPU的介紹,現(xiàn)在我們來簡單介紹一下GPU。因為CPU和GPU的工作流程和物理結(jié)構(gòu)大致是類似的,因此這里不再重復(fù)了。我們僅僅介紹一下GPU的功能和目前主流的供應(yīng)商。

        相比于CPU而言,GPU的工作更為單一。在大多數(shù)的個人計算機(jī)中,GPU僅僅是用來繪制圖像的。如果CPU想畫一個二維圖形,只需要發(fā)個指令給GPU,GPU就可以迅速計算出該圖形的所有像素,并且在顯示器上指定位置畫出相應(yīng)的圖形。

        由于GPU會產(chǎn)生大量的熱量,所以通常顯卡上都會有獨立的散熱裝置。

        除此之外,GPU的供應(yīng)商比CPU供應(yīng)商更多一些。主流的供應(yīng)商有:

        (1)Intel,基本都為集成顯卡。

        (2)Nvidia,也就是我們常說的N卡,在運算速度上有較大的優(yōu)勢。

        (3)AMD(ATI),我們常說的A卡,通常在圖形渲染上做的比N卡好。

        (4)其他廠商,包括3dfx,Matrox,SiS和VIA。這些都是相對比較小眾的公司。

        3 CPU和GPU的比較

        現(xiàn)在,我們來比較一下CPU和GPU??纯此麄兏髯栽谀男╊I(lǐng)域能夠發(fā)揮出自己的作用。我們從兩個角度入手:設(shè)計結(jié)構(gòu)和使用場景。

        3.1 設(shè)計結(jié)構(gòu)

        我們先從CPU開始說起。CPU有強大的算術(shù)運算單元,可以在很少的時鐘周期內(nèi)完成算術(shù)計算。同時,有很大的緩存可以保存很多數(shù)據(jù)在里面。此外,還有復(fù)雜的邏輯控制單元,當(dāng)程序有多個分支的時候,通過提供分支預(yù)測的能力來降低延時。具體的結(jié)構(gòu)如圖3所示。

        下面我們來討論GPU的設(shè)計結(jié)構(gòu)。GPU是基于大的吞吐量設(shè)計,有很多的算術(shù)運算單元和很少的緩存。同時GPU支持大量的線程同時運行,如果他們需要訪問同一個數(shù)據(jù),緩存會合并這些訪問,自然會帶來延時的問題。盡管有延時,但是因為其算術(shù)運算單元的數(shù)量龐大,因此能夠達(dá)到一個非常大的吞吐量的效果。如圖4所示。

        3.2 使用場景

        顯然,因為CPU有大量的緩存和復(fù)雜的邏輯控制單元,因此它非常擅長邏輯控制、串行的運算。相比較而言,GPU因為有大量的算術(shù)運算單元,因此可以同時執(zhí)行大量的計算工作,它所擅長的是大規(guī)模的并發(fā)計算,計算量大但是沒有什么技術(shù)含量,而且要重復(fù)很多次。

        這樣一說,我們利用GPU來提高程序運算速度的方法就顯而易見了。我們使用CPU來做復(fù)雜的邏輯控制,用GPU來做簡單但是量大的算術(shù)運算,就能夠大大地提高程序的運行速度。下面我們來介紹一下Nvidia所推出的CUDA運算平臺。

        4 CUDA

        CPU程序員的挑戰(zhàn)不只是在GPU上獲得出色的性能,還要協(xié)調(diào)系統(tǒng)處理器與GPU上的計算調(diào)度、系統(tǒng)存儲器和GPU存儲器之間的數(shù)據(jù)傳輸。為了解決這樣的問題,Nvidia決定開發(fā)一種與C類似的語言和編程環(huán)境,通過克服多種并行帶來的挑戰(zhàn)來提高GPU程序員的生產(chǎn)效率。這個系統(tǒng)的名稱為CUDA,表示“計算統(tǒng)一設(shè)備體系結(jié)構(gòu)”。

        在CUDA中,這些并行形式的統(tǒng)一主題就是CUDA線程。CUDA線程是最低級別的并行,可以執(zhí)行一次操作。例如,如果我們有200個CUDA線程,那我們就可以同時進(jìn)行200個算術(shù)運算,這樣一來程序的吞吐率就有了提高。

        就目前來看,CUDA的應(yīng)用場景是非常廣泛的。在消費級市場上,幾乎每一款重要的視頻程序都已經(jīng)使用CUDA加速。除此之外,在科研界和金融市場,CUDA都有相應(yīng)的使用場景。不可否認(rèn)的是,在未來,GPU計算必將成為主流。

        參考文獻(xiàn)

        [1]John L. Hennessy, David A. Patterson. Computer Architecture: A Quantitative Approach[M].人民郵電出版社,2013.

        猜你喜歡
        大數(shù)據(jù)
        基于在線教育的大數(shù)據(jù)研究
        中國市場(2016年36期)2016-10-19 04:41:16
        “互聯(lián)網(wǎng)+”農(nóng)產(chǎn)品物流業(yè)的大數(shù)據(jù)策略研究
        中國市場(2016年36期)2016-10-19 03:31:48
        基于大數(shù)據(jù)的小微電商授信評估研究
        中國市場(2016年35期)2016-10-19 01:30:59
        大數(shù)據(jù)時代新聞的新變化探究
        商(2016年27期)2016-10-17 06:26:00
        淺談大數(shù)據(jù)在出版業(yè)的應(yīng)用
        今傳媒(2016年9期)2016-10-15 23:35:12
        “互聯(lián)網(wǎng)+”對傳統(tǒng)圖書出版的影響和推動作用
        今傳媒(2016年9期)2016-10-15 22:09:11
        大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
        新聞世界(2016年10期)2016-10-11 20:13:53
        基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
        科技視界(2016年20期)2016-09-29 10:53:22
        數(shù)據(jù)+輿情:南方報業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
        中國記者(2016年6期)2016-08-26 12:36:20
        性人久久久久| 中文亚洲成a人片在线观看| 国产激情免费观看视频| 97精品一区二区三区| 伊人激情av一区二区三区| 伊人久久大香线蕉免费视频 | 亲子乱aⅴ一区二区三区下载| 91精品国产免费青青碰在线观看| 日本办公室三级在线看| 久久天天躁狠狠躁夜夜av浪潮| 人妻丰满熟妇av无码片| 日韩亚洲制服丝袜中文字幕| 国产激情视频在线观看首页| 国产三级a三级三级| 成人欧美一区二区三区a片| 五月天无码| 国产精品一区二区韩国av| 色视频线观看在线网站| 国产精品久久久久久久成人午夜| 国产一区,二区,三区免费视频| av黄色在线免费观看| 国产精品美女久久久久久 | 免费观看性欧美大片无片| 亚洲欧美日韩国产综合久| 日韩在线精品免费观看| a级国产乱理伦片| 中国精学生妹品射精久久| 一片内射视频在线观看| 国产人妖网站在线视频| 超清纯白嫩大学生无码网站| 中文字幕一区二区三区在线不卡 | 亚洲综合视频一区二区| 亚洲妇女自偷自偷图片| 九九在线视频| 久久精品女人天堂av麻| 日日噜噜夜夜狠狠va视频v| 日韩精品一区二区三区视频| 亚洲国产欲色有一二欲色| 天堂资源中文网| 亚洲av片不卡无码久久| 亚洲精品天堂在线观看|