【廣告】
CPU主要包括兩個部分,即控制器、運(yùn)算器,其中還包括高速緩沖存儲器及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制的總線。電子計(jì)算機(jī)三大核心部件就是CPU、內(nèi)部存儲器、輸入/輸出設(shè)備。CPU的功效主要為處理指令、執(zhí)行操作、控制時間、處理數(shù)據(jù)。
注:指令集的軟硬件層次之分:硬件指令集是硬件層次上由CPU自身提供的可執(zhí)行的指令集合。軟件指令集是指語言程序庫所提供的指令,只要安裝了該語言的程序庫,指令就可以執(zhí)行。
CPU出現(xiàn)于大規(guī)模集成電路時代,處理器架構(gòu)設(shè)計(jì)的迭代更新以及集成電路工藝的不斷提升促使其不斷發(fā)展完善。從初專用于數(shù)學(xué)計(jì)算到廣泛應(yīng)用于通用計(jì)算,從4位到8位、16位、32位處理器,后到64位處理器,從各廠商互不兼容到不同指令集架構(gòu)規(guī)范的出現(xiàn),CPU 自誕生以來一直在飛速發(fā)展。
為了改善性能,CPU已經(jīng)不是單條取指-->解了碼-->執(zhí)行的路線,而是分別為這3個過程分別提供獨(dú)立的取值單元,解了碼單元以及執(zhí)行單元。這樣就形成了流水線模式。
關(guān)于CPU的多核和多線程
1、CPU的物理個數(shù)由主板上的插槽數(shù)量決定,每個CPU可以有多核心,每核心可能會有多線程。
2、多核CPU的每核(每核都是一個小芯片),在OS看來都是一個獨(dú)立的CPU。
3、對于超線程CPU來說,每核CPU可以有多個線程(數(shù)量是兩個,比如1核雙線程,2核4線程,4核8線程),每個線程都是一個虛擬的邏輯CPU(比如windows下是以邏輯處理器的名稱稱呼的),而每個線程在OS看來也是獨(dú)立的CPU。
關(guān)于CPU上的高速緩存
1、高速的緩存是CPU的寄存器,它們和CPU的材料相同,靠近CPU或接近CPU,訪問它們沒有時延(<1ns)。但容量很小,小于1kb。
2、寄存器之下,是CPU的高速緩存。分為L1緩存、L2緩存、L3緩存,每層速度按數(shù)量級遞減、容量也越來越大。
3、每核心都有一個自己的L1緩存。L1緩存分兩種:L1指令緩存(L1-icache)和L1數(shù)據(jù)緩存(L1-dcache)。L1指令緩存用來存放已解了碼指令,L1數(shù)據(jù)緩存用來放訪問非常頻繁的數(shù)據(jù)。
4、L2緩存用來存放近期使用過的內(nèi)存數(shù)據(jù)。更嚴(yán)格地說,存放的是很可能將來會被CPU使用的數(shù)據(jù)。
5、多數(shù)多核CPU的各核都各自擁有一個L2緩存,但也有多核共享L2緩存的設(shè)計(jì)。無論如何,L1是各核私有的(但對某核內(nèi)的多線程是共享的)。