【廣告】
因?yàn)镃PU有大量的緩存和復(fù)雜的邏輯控制單元,因此它非常擅長邏輯控制、串行的運(yùn)算。相比較而言,GPU因?yàn)橛写罅康乃阈g(shù)運(yùn)算單元,因此可以同時(shí)執(zhí)行大量的計(jì)算工作,它所擅長的是大規(guī)模的并發(fā)計(jì)算, 計(jì)算量大但是沒有什么技術(shù)含量,而且要重復(fù)很多次。這樣一說,我們利用GPU來提高程序運(yùn)算速度的方法就顯而易見了。使用CPU來做復(fù)雜的邏輯控制,用GPU來做簡單但是量大的算術(shù)運(yùn)算,就能夠大大地提高程序的運(yùn)行速度。
關(guān)于CPU的基本組成
1、CPU是用來運(yùn)算的(加法運(yùn)算 、乘法運(yùn)算*、邏輯運(yùn)算and not or等),例如c=a b。
2、運(yùn)算操作涉及到數(shù)據(jù)輸入(input)、處理、數(shù)據(jù)輸出(output),a和b是輸入數(shù)據(jù),加法運(yùn)算是處理,c是輸出數(shù)據(jù)。
3、CPU需要使用一個(gè)叫做存儲器(也就是各種寄存器)的東西保存輸入和輸出數(shù)據(jù)。
4、CPU還要將一些常用的基本運(yùn)算工具(如加法器)放進(jìn)CPU,這部分負(fù)責(zé)運(yùn)算,稱為算術(shù)邏輯單元(ALU)。
5、CPU中還有一個(gè)控制器(CU),負(fù)責(zé)將存儲器中的數(shù)據(jù)送到ALU中去做運(yùn)算,并將運(yùn)算后的結(jié)果存回到存儲器中??刂破鬟€包含了一些控制信號。
關(guān)于CPU的多核和多線程
1、CPU的物理個(gè)數(shù)由主板上的插槽數(shù)量決定,每個(gè)CPU可以有多核心,每核心可能會有多線程。
2、多核CPU的每核(每核都是一個(gè)小芯片),在OS看來都是一個(gè)獨(dú)立的CPU。
3、對于超線程CPU來說,每核CPU可以有多個(gè)線程(數(shù)量是兩個(gè),比如1核雙線程,2核4線程,4核8線程),每個(gè)線程都是一個(gè)虛擬的邏輯CPU(比如windows下是以邏輯處理器的名稱稱呼的),而每個(gè)線程在OS看來也是獨(dú)立的CPU。