學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦硬件知識 > CPU知識 >

CPU基本知識大全

時(shí)間: 懷健20 分享

CPU 的全稱是 Central Processing Unit(中央處理器),是電腦中最硬核組件。CPU 是計(jì)算機(jī)最核心組件。CPU 核心:從程序或應(yīng)用程序獲取指令并執(zhí)行計(jì)算。這個(gè)過程可以分為三個(gè)關(guān)鍵階段:提取,解碼和執(zhí)行。下面就讓小編帶你去看看CPU基本知識大全,希望能幫助到大家!

CPU超頻小知識:CPU什么情況下需要超頻?CPU超頻需要什么條件?

一、什么是CPU頻率嗎?

CPU頻率其實(shí)就是指CPU在一秒內(nèi)發(fā)生脈沖的次數(shù),單位是赫茲,同一款CPU在一秒內(nèi)發(fā)生脈沖的次數(shù)越多,就說明它的運(yùn)行速度越快。

二、CPU超頻有什么用?

CPU超頻的作用是可以使工作頻率提高,并讓其在高于其額定的頻率狀態(tài)下穩(wěn)定工作,能夠讓cpu發(fā)揮更強(qiáng)大的性能,以提高電腦的運(yùn)行速度。通常所說的超頻簡單來說就是人為提高CPU的外頻或倍頻,使之運(yùn)行頻率得到大幅提升,即CPU超頻。

公式:CPU主頻=CPU倍頻__CPU外頻;

舉個(gè)例子:

例如:i7 9700K基礎(chǔ)頻率大小3.6GHz,通過設(shè)置超頻,讓其頻率固定在5Ghz,超過它原來限制的頻率上。

打個(gè)比方說,我們在跑步的時(shí)候,以5米/S的速度進(jìn)行跑步,但是您想要快點(diǎn)跑到終點(diǎn),這時(shí)候您就需要加速跑,這時(shí)您的速度調(diào)到了7米/S,你的步頻就加快了。

三、CPU超頻需要什么條件?

1、CPU需要支持超頻

intel在CPU市場實(shí)行了嚴(yán)格的產(chǎn)品等級劃分,只有CPU帶K后綴的型號,例如i7-9700K,才可以支持超頻,其它CPU頻率已經(jīng)鎖死了。而AMD這邊良心點(diǎn),因?yàn)橐獡屨际袌龇蓊~,目前幾乎全系CPU采用不鎖頻技術(shù),均支持超頻。

2、主板需要支持超頻

在intel主板芯片組中,Z開頭才支持超頻,例如Z370、Z390主板,而在AMD主板芯片組中,__開頭、B開頭的主板芯片組支持超頻,例如__470、B450。一般主板采用6相核心供電或者更多的主板就可以進(jìn)行超頻嘗試。

3、CPU散熱器加強(qiáng)

由于CPU超頻之后,會帶來更高的溫度表現(xiàn),如果散熱器太垃圾,超頻產(chǎn)生的巨量熱量無法盡快散熱,導(dǎo)致溫度飆升,CPU穩(wěn)定性就會大大折扣。

4、電源功率

超頻后CPU的耗電是大幅度增加,所以電源功率有合理預(yù)留一定的空間。

四、CPU什么情況下需要超頻?

當(dāng)你對這塊CPU的性能不滿意的時(shí)候,這時(shí)候可以考慮通過超頻來提升性能。

五、超頻對cpu的影響

由于CPU超頻之后,主板和CPU的溫度升高,對硬件使用壽命會有一定的影響。如果超頻不當(dāng),還有可能造成CPU損壞、縮肛(CPU無法穩(wěn)定運(yùn)行在默認(rèn)出廠的頻率上)等問題。

以上就是裝機(jī)之家分享的CPU超頻小知識,如果CPU在平時(shí)夠用的情況下,是無需超頻的,正常使用即可,只有當(dāng)性能不夠的情況下,例如老處理器,才可以嘗試超頻,以提高CPU的性能。

CPU 高速緩存知識

01概述

在計(jì)算機(jī)系統(tǒng)中,CPU高速緩存(英語:CPU Cache,在本文中簡稱緩存)是用于減少處理器訪問內(nèi)存所需平均時(shí)間的部件。在金字塔式存儲體系中它位于自頂向下的第二層,僅次于CPU寄存器。其容量遠(yuǎn)小于內(nèi)存,但速度卻可以接近處理器的頻率。

當(dāng)處理器發(fā)出內(nèi)存訪問請求時(shí),會先查看緩存內(nèi)是否有請求數(shù)據(jù)。如果存在(命中),則不經(jīng)訪問內(nèi)存直接返回該數(shù)據(jù);如果不存在(失效),則要先把內(nèi)存中的相應(yīng)數(shù)據(jù)載入緩存,再將其返回處理器。

緩存之所以有效,主要是因?yàn)槌绦蜻\(yùn)行時(shí)對內(nèi)存的訪問呈現(xiàn)局部性(Locality)特征。這種局部性既包括空間局部性(Spatial Locality),也包括時(shí)間局部性(Temporal Locality)。有效利用這種局部性,緩存可以達(dá)到極高的命中率。

在處理器看來,緩存是一個(gè)透明部件。因此,程序員通常無法直接干預(yù)對緩存的操作。但是,確實(shí)可以根據(jù)緩存的特點(diǎn)對程序代碼實(shí)施特定優(yōu)化,從而更好地利用緩存。

02CPU 的多級緩存

CPU 緩存離 CPU 核心更近,由于電子信號傳輸是需要時(shí)間的,所以離 CPU 核心越近,緩存的讀寫速度就越快。但 CPU 的空間很狹小,離 CPU 越近緩存大小受到的限制也越大。所以,綜合硬件布局、性能等因素,CPU 緩存通常分為大小不等的三級緩存。

CPU 緩存的材質(zhì) SRAM 比內(nèi)存使用的 DRAM 貴許多,所以不同于內(nèi)存動輒以 GB 計(jì)算,它的大小是以 MB 來計(jì)算的。比如,在我的 Linu__ 系統(tǒng)上,離 CPU 最近的一級緩存是 32KB,二級緩存是 256KB,最大的三級緩存則是 20MB。

你可能注意到,三級緩存要比一、二級緩存大許多倍,這是因?yàn)楫?dāng)下的 CPU 都是多核心的,每個(gè)核心都有自己的一、二級緩存,但三級緩存卻是一顆 CPU 上所有核心共享的。

程序執(zhí)行時(shí),會先將內(nèi)存中的數(shù)據(jù)載入到共享的三級緩存中,再進(jìn)入每顆核心獨(dú)有的二級緩存,最后進(jìn)入最快的一級緩存,之后才會被 CPU 使用,就像下面這張圖。

通過上圖可以知道:

L1緩分成兩種,一種是指令緩存,一種是數(shù)據(jù)緩存。L2緩存和L3緩存不分指令和數(shù)據(jù)。

L1和L2緩存在每一個(gè)CPU核中,L3則是所有CPU核心共享的內(nèi)存。

L1、L2、L3的越離CPU近就越小,速度也越快,越離CPU遠(yuǎn),速度也越慢。

緩存要比內(nèi)存快很多,那么我們來看下他們的訪問速度是什么樣的。

L1 的存取速度:4 個(gè)CPU時(shí)鐘周期

L2 的存取速度:11 個(gè)CPU時(shí)鐘周期

L3 的存取速度:30 個(gè)CPU時(shí)鐘周期

RAM內(nèi)存的存取速度:100 個(gè)CPU時(shí)鐘周期以上

根據(jù)上面的訪問速度可知,如果 CPU 所要操作的數(shù)據(jù)在緩存中,則直接讀取,這稱為緩存命中。命中緩存會帶來很大的性能提升,因此,我們的代碼優(yōu)化目標(biāo)是提升 CPU 緩存的命中率。

通常我們查看 CPU 緩存時(shí)會發(fā)現(xiàn)有 2 個(gè)一級緩存(比如 Linu__ 上就是上圖中的 inde__0 和 inde__1),這是因?yàn)?,CPU 會區(qū)別對待指令與數(shù)據(jù)。比如,“1+1=2”這個(gè)運(yùn)算,“+”就是指令,會放在一級指令緩存中,而“1”這個(gè)輸入數(shù)字,則放在一級數(shù)據(jù)緩存中。雖然在馮諾依曼計(jì)算機(jī)體系結(jié)構(gòu)中,代碼指令與數(shù)據(jù)是放在一起的,但執(zhí)行時(shí)卻是分開進(jìn)入指令緩存與數(shù)據(jù)緩存的,因此我們要分開來看二者的緩存命中率。

03提升L1數(shù)據(jù)緩存的命中率

在說明這個(gè)問題之前。我們需要了解一個(gè)術(shù)語 Cache Line。緩存基本上來說就是把后面的數(shù)據(jù)加載到離自己近的地方,對于CPU來說,它是不會一個(gè)字節(jié)一個(gè)字節(jié)的加載的,因?yàn)檫@非常沒有效率,一般來說都是要一塊一塊的加載的,對于這樣的一塊一塊的數(shù)據(jù)單位,術(shù)語叫“Cache Line”,一般來說,一個(gè)主流的CPU的Cache Line 是 64 Bytes,64Bytes也就是16個(gè)32位的整型,這就是CPU從內(nèi)存中撈數(shù)據(jù)上來的最小數(shù)據(jù)單位。

比如:Cache Line是最小單位(64Bytes),所以先把Cache分布多個(gè)Cache Line,比如:L1有32KB,那么,32KB/64B = 512 個(gè) Cache Line。

Linu__ 上你可以通過 coherency_line_size 配置查看它。

Cache的數(shù)據(jù)放置的策略決定了內(nèi)存中的數(shù)據(jù)塊會拷貝到CPU Cache中的哪個(gè)位置上,因?yàn)镃ache的大小遠(yuǎn)遠(yuǎn)小于內(nèi)存,所以,需要有一種地址關(guān)聯(lián)的算法,能夠讓內(nèi)存中的數(shù)據(jù)可以被映射到Cache中來。這個(gè)有點(diǎn)像內(nèi)存地址從邏輯地址向物理地址映射的方法,但不完全一樣。

基本上來說,我們通常會想到如下的算法:

一種方法是,任何一個(gè)內(nèi)存地址的數(shù)據(jù)可以被緩存在任何一個(gè)Cache Line里,這種方法是最靈活的,但是,如果我們要知道一個(gè)內(nèi)存是否存在于Cache中,我們就需要進(jìn)行O(n)復(fù)雜度的Cache遍歷,這是很沒有效率的。

另一種方法,為了降低緩存搜索算法,我們需要使用像Hash Table這樣的數(shù)據(jù)結(jié)構(gòu),最簡單的hash table就是做“求模運(yùn)算”,比如:我們的L1 Cache有512個(gè)Cache Line,那么,公式:(內(nèi)存地址 mod 512)__ 64 就可以直接找到所在的Cache地址的偏移了。但是,這樣的方式需要我們的程序?qū)?nèi)存地址的訪問要非常地平均,不然沖突就會非常嚴(yán)重。這成了一種非常理想的情況了。

為了避免上述的兩種方案的問題,于是就要容忍一定的hash沖突,也就出現(xiàn)了 N-Way 關(guān)聯(lián)。也就是把連續(xù)的N個(gè)Cache Line綁成一組,然后,先把找到相關(guān)的組,然后再在這個(gè)組內(nèi)找到相關(guān)的Cache Line。這叫 Set Associativity。如下圖所示。

對于 N-Way 組關(guān)聯(lián),可能有點(diǎn)不好理解,舉個(gè)例子進(jìn)行說明,Intel 大多數(shù)處理器的L1 Cache都是32KB,8-Way 組相聯(lián),Cache Line 是64 Bytes。

這意味著,

32KB的可以分成,32KB / 64 = 512 條 Cache Line。

因?yàn)橛? Way,于是會每一Way 有 512 / 8 = 64 條 Cache Line。

于是每一路就有 64 __ 64 = 4096 Byts 的內(nèi)存。

為了方便索引內(nèi)存地址,

Tag:每條 Cache Line 前都會有一個(gè)獨(dú)立分配的 24 bits用來存的 tag,其就是內(nèi)存地址的前24bits

Inde__:內(nèi)存地址后續(xù)的6個(gè)bits則是在這一Way的是Cache Line 索引,2^6 = 64 剛好可以索引64條Cache Line

Offset:再往后的6bits用于表示在Cache Line 里的偏移量

當(dāng)拿到一個(gè)內(nèi)存地址的時(shí)候,先拿出中間的 6bits 來,找到是哪組。

然后,在這一個(gè)8組的cache line中,再進(jìn)行O(n) n=8 的遍歷,主要是要匹配前24bits的tag。如果匹配中了,就算命中,如果沒有匹配到,那就是cache miss,如果是讀操作,就需要進(jìn)向后面的緩存進(jìn)行訪問了。L2/L3同樣是這樣的算法。而淘汰算法有兩種,一種是隨機(jī)一種是LRU。現(xiàn)在一般都是以LRU的算法(通過增加一個(gè)訪問計(jì)數(shù)器來實(shí)現(xiàn))

這也意味著:

L1 Cache 可映射 36bits 的內(nèi)存地址,一共 2^36 = 64GB的內(nèi)存

當(dāng)CPU要訪問一個(gè)內(nèi)存的時(shí)候,通過這個(gè)內(nèi)存中間的6bits 定位是哪個(gè)set,通過前 24bits 定位相應(yīng)的Cache Line。

就像一個(gè)hash Table的數(shù)據(jù)結(jié)構(gòu)一樣,先是O(1)的索引,然后進(jìn)入沖突搜索。

因?yàn)橹虚g的 6bits 決定了一個(gè)同一個(gè)set,所以,對于一段連續(xù)的內(nèi)存來說,每間隔4096的內(nèi)存會被放在同一個(gè)組內(nèi),導(dǎo)致緩存沖突。

此外,當(dāng)有數(shù)據(jù)沒有命中緩存的時(shí)候,CPU就會以最小為Cache Line的單元向內(nèi)存更新數(shù)據(jù)。當(dāng)然,CPU并不一定只是更新64Bytes,因?yàn)樵L問主存實(shí)在是太慢了,所以,一般都會多更新一些。好的CPU會有一些預(yù)測的技術(shù),如果找到一種pattern的話,就會預(yù)先加載更多的內(nèi)存,包括指令也可以預(yù)加載。這叫 Prefetching 技術(shù)。關(guān)于預(yù)取技術(shù)是如何影響性能的請看我們下面的案例。

CPU(一篇有點(diǎn)搞笑的CPU科普)

主頻:

我們常在CPU的信息里看到 3.0GHz、3.7GHz等就是CPU的主頻,嚴(yán)謹(jǐn)?shù)恼f他是CPU內(nèi)核的時(shí)鐘頻率,但是我們也可以直接理解為運(yùn)算速度。

舉個(gè)有趣的例子:CPU的主頻相當(dāng)于我們胳膊的肌肉(力量),主頻越高,力量越大。

核心:

我們更多聽到的是,這個(gè)CPU是幾核幾核的。如2核、4核、6核、8核、16核等等。

這個(gè)核心可以理解為我們?nèi)祟惖母觳玻?核就是兩條胳膊,4核就是4條胳膊,6核就是6條胳膊。

線程:

光有胳膊(核心)和肌肉(頻率)是干不了活的,還必須要有手(線程)才行。

一般來說,單核配單線程、雙核配雙線程,就相當(dāng)于一條胳膊長一只手。后來由于技術(shù)越來越厲害,造出了一條胳膊長兩只手的情況,這樣干活的效率就大大的提高了。

架構(gòu):

現(xiàn)在胳膊有了,肌肉有了,手也有了,就差一個(gè)工具就可以干活了,這個(gè)工具就是CPU的架構(gòu),架構(gòu)對性能的影響巨大。

所以說有句話叫“拋開架構(gòu)看核心、頻率都是耍流氓!”這就是為啥以前AMD的CPU雖然核心數(shù)量和頻率都比同時(shí)期的英特爾高,但是依然流傳著“i3戰(zhàn)A8,i5秒全家、i7轟成渣”這樣的說法了。

這個(gè)時(shí)候可能有的人不理解了,怎么看架構(gòu)呢?這個(gè)其實(shí)不用擔(dān)心,因?yàn)橐话銇碚f,每一代CPU的架構(gòu)都是一樣的,比如i3-8100、i5-8500、i7-8700都是8代的CPU,使用的架構(gòu)也是一樣的,現(xiàn)在官方店在售的也都是最新款。

緩存:

緩存也是CPU里一項(xiàng)很重要的參數(shù)。由于CPU的運(yùn)算速度特別快,在內(nèi)存條的讀寫忙不過來的時(shí)候,CPU就可以把這部分?jǐn)?shù)據(jù)存入緩存中,以此來緩解CPU的運(yùn)算速度與內(nèi)存條讀寫速度不匹配的矛盾,所以緩存是越大越好。

參數(shù)就算是說完了。既然開頭就說了“CPU也跟人腦一樣,術(shù)業(yè)有專攻?!蹦墙酉聛砭头治鲆徊ǎ裁礃拥腢適合干什么樣的工作。

游戲:

由于游戲運(yùn)行需要的是粗暴直接的計(jì)算工作,所以主頻高的CPU會更有優(yōu)勢。

這就好比我的工作是要搬個(gè)磚,肌肉強(qiáng)點(diǎn),力氣大才是硬性需求。就算我有8條胳膊16只手,看起來張牙舞爪的很厲害,但是我搬磚的時(shí)候根本用不到,而且這些胳膊大多力氣又小,所以效果并不會很好。

所以,有游戲需求的玩家可以選擇主頻高點(diǎn)的CPU,核心和線程數(shù)少一點(diǎn)無所謂。(4核4線程就差不多了)

整體來說,英特爾i3、i5、i7和銳龍2代的CPU主頻都挺高的,很適合玩游戲。英特爾后面帶“K”的CPU不僅主頻更高,而且是支持超頻的(需要用Z系或__系主板)。新出的銳龍2代CPU主頻也很高,而且性價(jià)比也還不錯。

圖形渲染等工作需求:

對于需要進(jìn)行大量并行運(yùn)算的圖形渲染來說,多核心多線程同時(shí)工作能比單核心高主頻的傻大粗節(jié)省大量的時(shí)間。

綠巨人雖然搬磚能力出眾,但是如果讓他去完成一幅復(fù)雜的拼圖,速度自然是比那種有多條胳膊和多只手同時(shí)工作的小機(jī)靈慢了不少。

適合圖形渲染和視頻制作的CPU:

日常家用,偶爾玩LOL、DNF等

這一類的用戶平時(shí)就是看看網(wǎng)頁,看看視頻、看文檔、玩玩LOL、DNF等游戲。

這類用戶可以選擇自帶核顯的CPU,如699元的AMD 銳龍3 2200G、英特爾600塊的奔騰G5500,或者800元的i3-8100。這類CPU的自帶的HD630核顯完全可以輕松解碼4K視頻以及流暢運(yùn)行LOL、DNF這類游戲,省下的錢買塊固態(tài)硬盤,加條內(nèi)存豈不是美滋滋。(使用核顯請盡量組雙通道內(nèi)存條,為什么可以看我內(nèi)存條的文章)

總結(jié):

1.游戲用戶選擇高主頻的CPU,4核4線程差不多就夠用了。如英特爾i3-8350K、i5-8600K(這種帶K的CPU還可以通過超頻來達(dá)到更高的頻率,不過要搭配較貴的Z370系主板使用);銳龍二代CPU也很不錯,建議購買后綴帶__的如 銳龍R5 2600__,雖然本身性價(jià)比并不突出,但是好在可以搭配AMD平臺較便宜的B350主板進(jìn)行超頻。

2.對于需要做圖形渲染工作的用戶來說,多核心多線程的CPU是最優(yōu)的選擇。AMD多核心多線程的銳龍系列性價(jià)比非常的高。

3.普通用戶,如果沒有大型游戲需求,AMD的銳龍R3 2200G絕對是最有性價(jià)比的選擇。首先是4核4線程3.5GHz,性能足夠用,而且自帶的核顯性能也不俗,LOL、DNF毫無壓力,還能省下買顯卡的錢。

4.選擇CPU的時(shí)候,一定要詢問店家是不是支持自己的主板。有時(shí)候雖然接口針腳數(shù)量是一樣的,但是可能并不兼容。(英特爾,別左右瞎看了,說的就是你)


CPU基本知識大全相關(guān)文章:

CPU基礎(chǔ)知識大全詳解

CPU的基礎(chǔ)知識大全

CPU基礎(chǔ)知識科普

cpu基礎(chǔ)知識詳解

電腦CPU的相關(guān)知識

CPU的基礎(chǔ)知識

2019超詳細(xì)電腦硬件及電腦配置知識大全講解

電腦知識大全菜鳥必備知識

電腦必備的基礎(chǔ)知識大全

關(guān)于電腦知識大全菜鳥必備

813537