【廣告】
CPU,是電子計(jì)算機(jī)的主要設(shè)備之一,電腦中的核心配件。其功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。CPU是計(jì)算機(jī)中負(fù)責(zé)讀取指令,對(duì)指令譯碼并執(zhí)行指令的核心部件。每個(gè)CPU都有一套自己可以執(zhí)行的專門的指令集(注意,這部分指令是CPU提供的,CPU-Z軟件可查看)。正是因?yàn)椴煌珻PU架構(gòu)的指令集不同,使得x86處理器不能執(zhí)行ARM程序,ARM程序也不能執(zhí)行x86程序。(Intel和AMD都使用x86指令集,手機(jī)絕大多數(shù)使用ARM指令集)。
因?yàn)镃PU有大量的緩存和復(fù)雜的邏輯控制單元,因此它非常擅長(zhǎng)邏輯控制、串行的運(yùn)算。相比較而言,GPU因?yàn)橛写罅康乃阈g(shù)運(yùn)算單元,因此可以同時(shí)執(zhí)行大量的計(jì)算工作,它所擅長(zhǎng)的是大規(guī)模的并發(fā)計(jì)算, 計(jì)算量大但是沒有什么技術(shù)含量,而且要重復(fù)很多次。這樣一說,我們利用GPU來(lái)提高程序運(yùn)算速度的方法就顯而易見了。使用CPU來(lái)做復(fù)雜的邏輯控制,用GPU來(lái)做簡(jiǎn)單但是量大的算術(shù)運(yùn)算,就能夠大大地提高程序的運(yùn)行速度。
CPU控制技術(shù)的主要形式,插入控制。CPU 對(duì)于操作控制信號(hào)的產(chǎn)生,主要是通過指令的功能來(lái)實(shí)現(xiàn)的,通過將指令發(fā)給相應(yīng)部件,達(dá)到控制這些部件的目的。實(shí)現(xiàn)一條指令功能,主要是通過計(jì)算機(jī)中的部件執(zhí)行一序列的操作來(lái)完成。較多的小控制元件是構(gòu)建集中處理模式的關(guān)鍵,目的是為了更好的完成CPU數(shù)據(jù)處理操作。
除了嵌入式系統(tǒng),多數(shù)CPU都有兩種工作模式:內(nèi)核態(tài)和用戶態(tài)。這兩種工作模式是由PSW寄存器上的一個(gè)二進(jìn)制位來(lái)控制的。內(nèi)核態(tài)的CPU,可以執(zhí)行指令集中的所有指令,并使用硬件的所有功能。
關(guān)于CPU上的高速緩存
1、高速的緩存是CPU的寄存器,它們和CPU的材料相同,靠近CPU或接近CPU,訪問它們沒有時(shí)延(<1ns)。但容量很小,小于1kb。
2、寄存器之下,是CPU的高速緩存。分為L(zhǎng)1緩存、L2緩存、L3緩存,每層速度按數(shù)量級(jí)遞減、容量也越來(lái)越大。
3、每核心都有一個(gè)自己的L1緩存。L1緩存分兩種:L1指令緩存(L1-icache)和L1數(shù)據(jù)緩存(L1-dcache)。L1指令緩存用來(lái)存放已解了碼指令,L1數(shù)據(jù)緩存用來(lái)放訪問非常頻繁的數(shù)據(jù)。
4、L2緩存用來(lái)存放近期使用過的內(nèi)存數(shù)據(jù)。更嚴(yán)格地說,存放的是很可能將來(lái)會(huì)被CPU使用的數(shù)據(jù)。
5、多數(shù)多核CPU的各核都各自擁有一個(gè)L2緩存,但也有多核共享L2緩存的設(shè)計(jì)。無(wú)論如何,L1是各核私有的(但對(duì)某核內(nèi)的多線程是共享的)。