【廣告】
在計(jì)算機(jī)體系結(jié)構(gòu)中,CPU 是對(duì)計(jì)算機(jī)的所有硬件資源(如存儲(chǔ)器、輸入輸出單元) 進(jìn)行控制調(diào)配、執(zhí)行通用運(yùn)算的核心硬件單元。CPU 是計(jì)算機(jī)的運(yùn)算和控制核心。計(jì)算機(jī)系統(tǒng)中所有軟件層的操作,終都將通過指令集映射為CPU的操作。
由于CPU訪問內(nèi)存以得到指令或數(shù)據(jù)的時(shí)間要比執(zhí)行指令花費(fèi)的時(shí)間長(zhǎng)很多,因此在CPU內(nèi)部提供了一些用來保存關(guān)鍵變量、臨時(shí)數(shù)據(jù)等信息的通用寄存器。所以,CPU需要提供 一些特定的指令,使得可以從內(nèi)存中讀取數(shù)據(jù)存入寄存器以及可以將寄存器數(shù)據(jù)存入內(nèi)存。
CPU有強(qiáng)大的算術(shù)運(yùn)算單 元,可以在很少的時(shí)鐘周期內(nèi)完成算術(shù)計(jì)算。同時(shí),有很大的緩存可以保存很多數(shù)據(jù)在里面。此外,還有復(fù)雜的邏輯控制單元,當(dāng)程序有多個(gè)分支的時(shí)候, 通過提供分支預(yù)測(cè)的能力來降低延了時(shí)。GPU是基于大的吞吐量設(shè)計(jì),有很多的算術(shù)運(yùn)算單元和很少的緩存。同時(shí)GPU支持大量的線程同時(shí)運(yùn)行,如果他們需要訪問同一個(gè)數(shù)據(jù),緩存會(huì)合并這些訪問,自然會(huì)帶來延了時(shí)的問題。盡管有延了時(shí),但是因?yàn)槠渌阈g(shù)運(yùn)算單元的數(shù)量龐大,因此能夠達(dá)到一個(gè)非常大的吞吐量的效果。
關(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è)叫做存儲(chǔ)器(也就是各種寄存器)的東西保存輸入和輸出數(shù)據(jù)。
4、CPU還要將一些常用的基本運(yùn)算工具(如加法器)放進(jìn)CPU,這部分負(fù)責(zé)運(yùn)算,稱為算術(shù)邏輯單元(ALU)。
5、CPU中還有一個(gè)控制器(CU),負(fù)責(zé)將存儲(chǔ)器中的數(shù)據(jù)送到ALU中去做運(yùn)算,并將運(yùn)算后的結(jié)果存回到存儲(chǔ)器中??刂破鬟€包含了一些控制信號(hào)。