不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

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

CPU基本知識(shí)大全

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

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

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

一、什么是CPU頻率嗎?

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

二、CPU超頻有什么用?

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

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

舉個(gè)例子:

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

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

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

1、CPU需要支持超頻

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

2、主板需要支持超頻

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

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

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

4、電源功率

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

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

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

五、超頻對(duì)cpu的影響

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

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

CPU 高速緩存知識(shí)

01概述

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

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

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

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

02CPU 的多級(jí)緩存

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

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

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

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

通過(guò)上圖可以知道:

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

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

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

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

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

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

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

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

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

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

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

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

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

Linu__ 上你可以通過(guò) coherency_line_size 配置查看它。

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

基本上來(lái)說(shuō),我們通常會(huì)想到如下的算法:

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

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

為了避免上述的兩種方案的問(wè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。如下圖所示。

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

這意味著,

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

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

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

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

Tag:每條 Cache Line 前都會(huì)有一個(gè)獨(dú)立分配的 24 bits用來(lái)存的 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 來(lái),找到是哪組。

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

這也意味著:

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

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

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

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

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

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

主頻:

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

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

核心:

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

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

線程:

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

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

架構(gòu):

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

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

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

緩存:

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

參數(shù)就算是說(shuō)完了。既然開(kāi)頭就說(shuō)了“CPU也跟人腦一樣,術(shù)業(yè)有專(zhuān)攻?!蹦墙酉聛?lái)就分析一波,什么樣的U適合干什么樣的工作。

游戲:

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

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

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

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

圖形渲染等工作需求:

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

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

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

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

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

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

總結(jié):

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

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

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

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


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

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

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

CPU基礎(chǔ)知識(shí)科普

cpu基礎(chǔ)知識(shí)詳解

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

CPU的基礎(chǔ)知識(shí)

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

電腦知識(shí)大全菜鳥(niǎo)必備知識(shí)

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

關(guān)于電腦知識(shí)大全菜鳥(niǎo)必備

813537