CPU的基礎知識
我們通常會將CPU比喻為人類的大腦,是計算機的核心硬件,決定了一臺電腦的運算性能好壞。我們在選購CPU的時候,通常都會在網上查詢處理器型號參數(shù),主要是看主頻、核心、線程、緩存、架構等參數(shù),下面就讓小編帶你去看看CPU的基礎知識吧,希望能幫助到大家!
CPU的一些基本知識總結
關于CPU和程序的執(zhí)行
CPU是計算機的大腦。
1、程序的運行過程,實際上是程序涉及到的、未涉及到的一大堆的指令的執(zhí)行過程。
當程序要執(zhí)行的部分被裝載到內存后,CPU要從內存中取出指令,然后指令解碼(以便知道類型和操作數(shù),簡單的理解為CPU要知道這是什么指令),然后執(zhí)行該指令。再然后取下一個指令、解碼、執(zhí)行,以此類推直到程序退出。
2、這個取指、解碼、執(zhí)行三個過程構成一個CPU的基本周期。
3、每個CPU都有一套自己可以執(zhí)行的專門的指令集(注意,這部分指令是CPU提供的,CPU-Z軟件可查看)。
正是因為不同CPU架構的指令集不同,使得__86處理器不能執(zhí)行ARM程序,ARM程序也不能執(zhí)行__86程序。(Intel和AMD都使用__86指令集,手機絕大多數(shù)使用ARM指令集)。
注:指令集的軟硬件層次之分:硬件指令集是硬件層次上由CPU自身提供的可執(zhí)行的指令集合。軟件指令集是指語言程序庫所提供的指令,只要安裝了該語言的程序庫,指令就可以執(zhí)行。
4、由于CPU訪問內存以得到指令或數(shù)據的時間要比執(zhí)行指令花費的時間長很多,因此在CPU內部提供了一些用來保存關鍵變量、臨時數(shù)據等信息的通用寄存器。
所以,CPU需要提供 一些特定的指令,使得可以從內存中讀取數(shù)據存入寄存器以及可以將寄存器數(shù)據存入內存。
此外還需要提供加法、減、not/and/or等基本運算指令,而乘除法運算都是推算出來的(支持的基本運算指令參見ALU Functions),所以乘除法的速度要慢的多。這也是算法里在考慮時間復雜度時常常忽略加減法次數(shù)帶來的影響,而考慮乘除法的次數(shù)的原因。
5、除了通用寄存器,還有一些特殊的寄存器。典型的如:
PC:program counter,表示程序計數(shù)器,它保存了將要取出的下一條指令的內存地址,指令取出后,就會更新該寄存器指向下一條指令。
堆棧指針:指向內存當前棧的頂端,包含了每個函數(shù)執(zhí)行過程的棧幀,該棧幀中保存了該函數(shù)相關的輸入參數(shù)、局部變量、以及一些沒有保存在寄存器中的臨時變量。
PSW:program status word,表示程序狀態(tài)字,這個寄存器內保存了一些控制位,比如CPU的優(yōu)先級、CPU的工作模式(用戶態(tài)還是內核態(tài)模式)等。
6、在CPU進行進程切換的時候,需要將寄存器中和當前進程有關的狀態(tài)數(shù)據寫入內存對應的位置(內核中該進程的??臻g)保存起來,當切換回該進程時,需要從內存中拷貝回寄存器中。即上下文切換時,需要保護現(xiàn)場和恢復現(xiàn)場。
7、為了改善性能,CPU已經不是單條取指-->解碼-->執(zhí)行的路線,而是分別為這3個過程分別提供獨立的取值單元,解碼單元以及執(zhí)行單元。這樣就形成了流水線模式。
例如,流水線的最后一個單元——執(zhí)行單元正在執(zhí)行第n條指令,而前一個單元可以對第n+1條指令進行解碼,再前一個單元即取指單元可以去讀取第n+2條指令。這是三階段的流水線,還可能會有更長的流水線模式。
8、更優(yōu)化的CPU架構是superscalar架構(超標量架構)。這種架構將取指、解碼、執(zhí)行單元分開,有大量的執(zhí)行單元,然后每個取指+解碼的部分都以并行的方式運行。比如有2個取指+解碼的并行工作線路,每個工作線路都將解碼后的指令放入一個緩存緩沖區(qū)等待執(zhí)行單元去取出執(zhí)行。
9、除了嵌入式系統(tǒng),多數(shù)CPU都有兩種工作模式:內核態(tài)和用戶態(tài)。這兩種工作模式是由PSW寄存器上的一個二進制位來控制的。
10、內核態(tài)的CPU,可以執(zhí)行指令集中的所有指令,并使用硬件的所有功能。
11、用戶態(tài)的CPU,只允許執(zhí)行指令集中的部分指令。一般而言,IO相關和把內存保護相關的所有執(zhí)行在用戶態(tài)下都是被禁止的,此外其它一些特權指令也是被禁止的,比如用戶態(tài)下不能將PSW的模式設置控制位設置成內核態(tài)。
12、用戶態(tài)CPU想要執(zhí)行特權操作,需要發(fā)起系統(tǒng)調用來請求內核幫忙完成對應的操作。其實是在發(fā)起系統(tǒng)調用后,CPU會執(zhí)行trap指令陷入(trap)到內核。當特權操作完成后,需要執(zhí)行一個指令讓CPU返回到用戶態(tài)。
13、除了系統(tǒng)調用會陷入內核,更多的是硬件會引起trap行為陷入內核,使得CPU控制權可以回到操作系統(tǒng),以便操作系統(tǒng)去決定如何處理硬件異常。
關于CPU的基本組成
1、CPU是用來運算的(加法運算+、乘法運算__、邏輯運算and not or等),例如c=a+b。
2、運算操作涉及到數(shù)據輸入(input)、處理、數(shù)據輸出(output),a和b是輸入數(shù)據,加法運算是處理,c是輸出數(shù)據。
3、CPU需要使用一個叫做存儲器(也就是各種寄存器)的東西保存輸入和輸出數(shù)據。以下是幾種常見的寄存器(前文也介紹了一些)
MAR: memory address register,保存將要被訪問數(shù)據在內存中哪個地址處,保存的是地址值
MDR: memory data register,保存從內存讀取進來的數(shù)據或將要寫入內存的數(shù)據,保存的是數(shù)據值
AC: Accumulator,保存算術運算和邏輯運算的中間結果,保存的是數(shù)據值
PC: Program Counter,保存下一個將要被執(zhí)行指令的地址,保存的是地址值
CIR: current instruction register,保存當前正在執(zhí)行的指令
4、CPU還要將一些常用的基本運算工具(如加法器)放進CPU,這部分負責運算,稱為算術邏輯單元(ALU, Arithmetic Logic Unit)。
5、CPU中還有一個控制器(CU, Control Unit),負責將存儲器中的數(shù)據送到ALU中去做運算,并將運算后的結果存回到存儲器中。
控制器還包含了一些控制信號。
5、控制器之所以知道數(shù)據放哪里、做什么運算(比如是做加法還是邏輯運算?)都是由指令告訴控制器的,每個指令對應一個基本操作,比如加法運算對應一個指令。
6、例如,將兩個MDR寄存器(保存了來自內存的兩個數(shù)據)中的值拷貝到ALU中,然后根據指定的操作指令執(zhí)行加法運算,將運算結果拷貝會一個MDR寄存器中,最后寫入到內存。
7、這就是馮諾依曼結構圖,也就是現(xiàn)在計算機的結構圖。
關于CPU的多核和多線程
1、CPU的物理個數(shù)由主板上的插槽數(shù)量決定,每個CPU可以有多核心,每核心可能會有多線程。
2、多核CPU的每核(每核都是一個小芯片),在OS看來都是一個獨立的CPU。
3、對于超線程CPU來說,每核CPU可以有多個線程(數(shù)量是兩個,比如1核雙線程,2核4線程,4核8線程),每個線程都是一個虛擬的邏輯CPU(比如windows下是以邏輯處理器的名稱稱呼的),而每個線程在OS看來也是獨立的CPU。
這是欺騙操作系統(tǒng)的行為,在物理上仍然只有1核,只不過在超線程CPU的角度上看,它認為它的超線程會加速程序的運行。
4、要發(fā)揮超線程優(yōu)勢,需要操作系統(tǒng)對超線程有專門的優(yōu)化。
5、多線程的CPU在能力上,比非多線程的CPU核心要更強,但每個線程不足以與獨立的CPU核心能力相比較。
6、每核上的多線程CPU都共享該核的CPU資源。
例如,假設每核CPU都只有一個"發(fā)動機"資源,那么線程1這個虛擬CPU使用了這個"發(fā)動機"后,線程2就沒法使用,只能等待。
所以,超線程技術的主要目的是為了增加流水線(參見前文對流水線的解釋)上更多個獨立的指令,這樣線程1和線程2在流水線上就盡量不會爭搶該核CPU資源。所以,超線程技術利用了superscalar(超標量)架構的優(yōu)點。
7、多線程意味著每核可以有多個線程的狀態(tài)。比如某核的線程1空閑,線程2運行。
8、多線程沒有提供真正意義上的并行處理,每核CPU在某一時刻仍然只能運行一個進程,因為線程1和線程2是共享某核CPU資源的。可以簡單的認為每核CPU在獨立執(zhí)行進程的能力上,有一個資源是唯一的,線程1獲取了該資源,線程2就沒法獲取。
但是,線程1和線程2在很多方面上是可以并行執(zhí)行的。比如可以并行取指、并行解碼、并行執(zhí)行指令等。所以雖然單核在同一時間只能執(zhí)行一個進程,但線程1和線程2可以互相幫助,加速進程的執(zhí)行。
并且,如果線程1在某一時刻獲取了該核執(zhí)行進程的能力,假設此刻該進程發(fā)出了IO請求,于是線程1掌握的執(zhí)行進程的能力,就可以被線程2獲取,即切換到線程2。這是在執(zhí)行線程間的切換,是非常輕量級的。(WIKI: if resources for one process are not available, then another process can continue if its resources are available)
9、多線程可能會出現(xiàn)一種現(xiàn)象:假如2核4線程CPU,有兩個進程要被調度,那么只有兩個線程會處于運行狀態(tài),如果這兩個線程是在同一核上,則另一核完全空轉,處于浪費狀態(tài)。更期望的結果是每核上都有一個CPU分別調度這兩個進程。
關于CPU上的高速緩存
1、最高速的緩存是CPU的寄存器,它們和CPU的材料相同,最靠近CPU或最接近CPU,訪問它們沒有時延(<1ns)。但容量很小,小于1kb。
32bit:32__32比特=128字節(jié)
64bit:64__64比特=512字節(jié)
2、寄存器之下,是CPU的高速緩存。分為L1緩存、L2緩存、L3緩存,每層速度按數(shù)量級遞減、容量也越來越大。
3、每核心都有一個自己的L1緩存。L1緩存分兩種:L1指令緩存(L1-icache)和L1數(shù)據緩存(L1-dcache)。L1指令緩存用來存放已解碼指令,L1數(shù)據緩存用來放訪問非常頻繁的數(shù)據。
4、L2緩存用來存放近期使用過的內存數(shù)據。更嚴格地說,存放的是很可能將來會被CPU使用的數(shù)據。
5、多數(shù)多核CPU的各核都各自擁有一個L2緩存,但也有多核共享L2緩存的設計。無論如何,L1是各核私有的(但對某核內的多線程是共享的)。
一, CPU(中央處理器)全球目前分兩家來做,一家叫英特爾(牙膏大廠)一家叫AMD(農企),這兩家CPU還是很好分辨的,電子硬件鐵律就是買新不買舊!所以咱們只需要分辨出什么是新產品就可以!
1、 先說一個誤區(qū),以前所有人都覺的CPU要高,我多少多少預算,我就要買i7,i9。 其實這個是不對的,i3 i5 i7 i9 這只是英特爾對自家消費級產品的一個等級劃分而已,而且,CPU(中央處理器)這個東西僅僅是像人類大腦一樣,分辨數(shù)據,計算數(shù)據而已,跟整體電腦性能幾乎沒太大關系,也可以換個思路想,你覺得健全的身體更有作用呢還是有一個天才般的頭腦更強呢?這個問題看似很蠢,但是現(xiàn)實一點就是,可能你的工作需求根本不需要一個天才般得頭腦,更需要靈活的四肢,口語表達能力。你的感官等等。人類站在生物鏈的頂端不僅僅只靠大腦而已。
↑ 上面說的有點多,不過只是讓你們對電腦從新認知一下,顛覆你們被奸商洗腦的思想
2、說英特爾之前大家可以先百度一個協(xié)議,叫《瓦森納協(xié)定》,全稱為《關于常規(guī)武器和兩用物品及技術出口控制的瓦森納協(xié)定》目前共有美國、日本(無關緊要)、俄羅斯(無關緊要)、等40個成員國(不含中國),對某些國家禁止出售高技術產品等等。為什么在咱們家很少有公司能研發(fā)高技術產物,原因就在這個瓦森納協(xié)定里面,任何高科技產物,軍事方面醫(yī)療方面,生物方面美國都禁止其他國家出口給咱們,之前說的天河二號表示抱歉,天河二號前段處理器為4096顆FT-1500 16核心SPARC V9架構處理器,40nm制程,F(xiàn)T-1500處理器是由國防科技大學為天河1研發(fā)(天朝),主板是由浪潮集團研發(fā)(天朝)。并不全部自主研發(fā),中央處理器為英特爾提供,型號為E5 2692v2 12核處理器,16000個運算節(jié)點,每個節(jié)點配備兩顆E5 12核處理器,三個Phi 57核心的協(xié)處理器。
話說回來華為是真的強,作為電子硬件愛好的我是真的感受到華為的能力。自主研發(fā)能與美國高通抗衡。部分人說華為東拼西湊代工什么的,嗯?請現(xiàn)實點,沒有一家公司能全部自主研發(fā)!你這是雞蛋里面挑骨頭
那么大家現(xiàn)在只能見到英特爾的 i 系列,也就是消費級處理器。 那么這么多 i 系列,怎么區(qū)分呢?
3、說到i 系列,就要說說英特爾這個公司,前兩年是剛過40周年,發(fā)布了一個u,叫 i7 8086,這個u其實是致敬第一代__86架構 IMB PC處理器,所有PC端__86架構處理器的祖宗 Intel 8086,那么英特爾創(chuàng)始人之一戈登·摩爾在當時提出來一個很有意思的說法,延續(xù)至今,被大家稱為摩爾定律!摩爾定律大概意思當價格不變時,集成電路上可容納的元器件的數(shù)目,約每隔18-24個月便會增加一倍,性能也將提升一倍。換言之,每一美元所能買到的電腦性能,將每隔18-24個月翻一倍以上。這一定律揭示了信息技術進步的速度。那么英特爾也勉為其難的按照這個定律對自家處理器進行更新。
4、i7 6700(四核八線程 CPU主頻3.4Ghz 最大睿頻4.0Ghz 14nm工藝 )
i7 7700 (四核八線程 CPU主頻3.6Ghz 最大睿頻4.2Ghz 14nm工藝 )
i7 8700 (六核十二線程 CPU主頻3.2Ghz 最大睿頻4.6Ghz 14nm工藝 )
i7 9700K(八核八線程 CPU主頻3.6Ghz 最大睿頻4.9Ghz 14nm工藝 )
誒!有沒有發(fā)現(xiàn),同樣是i7 但是具體參數(shù)不一樣,核心也不一樣,頻率也不一樣。那么i3 也好i5也好 i7也好,后面第一個數(shù)字就代表年份。按照摩爾定律,他們價格其實是一樣的,老產品還會更便宜。也就是說你六年前能買到i7 6700,那么同樣的價格能買到現(xiàn)在的i7 8700,這也是諸多奸商行騙的一個手段,也是線下賣電腦為什么要說,i3不好i5好,頂配買i7。一方面是可以用老產品來混淆新產品,二是給你灌輸一個思想,買電腦處理器好就行。
那么區(qū)分就很簡單了,以i3 8100為例子,8就是第八代酷睿處理器,100說的是規(guī)格也可以叫核心完整性,你可以比喻一下,第八代處理器完整度是1000 你100 300 400就可以劃分出來,(當然性能不是按照這么劃分,規(guī)格按照這個參數(shù)比喻一下)那么i3 8350K 中的350就是i3 這個等級中最高的(范圍100-350)超過350,那就是400,這個規(guī)格就被劃分到 i5 8400,那么i5 劃分區(qū)域為(400-650)上至700 那就是i7 8700,是不是懂了!誒我去,原來就這么簡單?還以為能有多難!同代產品,等級越高性能越好。但是不同代產品差距就很大!!!!
5、例子:i5 7400(四核四線程 CPU主頻3.0Ghz 最大睿頻3.5Ghz 14nm工藝 )
對標:i3 8100 (四核四線程 CPU主頻3.6Ghz 無睿頻加速 14nm工藝 )
對標:i3 7100 (二核四線程 CPU主頻3.9Ghz 無睿頻加速 14nm工藝 )
誒,i3 8100這個第八代處理器居然要比第七代i5 7400還要強?價格呢?i3 8100全新盒裝1049元,(散片 845)。i5 7400性能低 全新盒裝1299元(散片1030)。
是不是沒有對比就沒有傷害,更別提i3 7100這個渣渣了,所以并不是i5牛皮i7頂級,是根據工藝來判斷,判斷標準上面都寫了。還有一點就是按照你的需求,盡管你是i7 9700K這樣的CPU,你其他硬件跟不上,跟斷手斷腳沒區(qū)別,還不如不買。那么如何來正確的搭配其他配件呢,啊哈哈哈哈哈,就看你們的留言了。支持過50人就繼續(xù)更新。畢竟你們不支持我也沒動力繼續(xù)寫下去呀。哈哈哈哈。
看不懂CPU?學會看CPU只需明白這5點,如此簡單!
第一點:CPU型號的含義
現(xiàn)在呢,根據英特爾和AMD的方式,可以將處理器分為4個級別:
1、 入門:Core i3/Ryzen 3
2、 普通:Core i5/Ryzen 5
3、 高級:Core i7/Ryzen 7
4、 發(fā)燒:Core i9/Ryzen 9
在入門級下面,還有常見的英特爾的賽揚、AMD速龍?zhí)幚砥鞯鹊龋诎l(fā)燒級上面,則有英特爾的__芯片組處理器以及AMD的線程撕裂者等等。
下面列舉一個例子,詳細解說其他部分,比如Intel Core i9-9900K!
其中,后面的第一個數(shù)字通常是表示第幾代產品,而這里的“9900K”的第1個9則表示是第9代產品。后面的其他數(shù)字,則表示同一代產品中的各種型號。
一般情況下,數(shù)值越高越好,因為這通常表示更多的核心線程或更高的頻率。
另外,英特爾CPU產品末尾帶字母“K”,則表示可以超頻。而且,英特爾CPU通常帶有核顯,如果帶有”F”代表沒有核顯。
AMD的Ryzen處理器都可以超頻,尾部的”__”通常表示意味著更高的處理器頻率。但是AMD的處理器很少帶核顯,如果末尾有字母”G”,則表示帶有核顯。
第二點:CPU的規(guī)格參數(shù)
CPU的組成其實是很復雜的,有許多的不同的規(guī)格和參數(shù),下面就簡單講其中幾個相對更重要的規(guī)格參數(shù)!
1、核心數(shù)量:是指CPU的物理核心數(shù)量,一般情況下核心數(shù)量越多越好,建議4核起步
2、線程數(shù)量:是指CPU可以處理的獨立進程數(shù),通常線程數(shù)越多越好,而理論上線程數(shù)等于內核數(shù)。不過,隨著多線程能力的加入(英特爾的超線程、AMD的SMT),一個物理核心是可以創(chuàng)建兩個線程的。
3、CPU頻率:是指芯片運行的速度,單位為GHz,數(shù)字越高越快。
4、CPU緩存:目前只有3個級別的緩存,分別為:L1的容量最小但速度最快,L2容量和速度居中,L3容量最大但速度低。
5、TDP:是指處理器在不進行AV__任務,保持基本頻率時,全速運行所能產生的最大熱量值,一般來說TDP越高性能越強。而我們了解這一點,是為了更好的選擇合適的散熱器!
6、IPC:是指同頻性能,主要是用于不同架構的CPU之間的性能對比。但是,這個參數(shù)一般會不標注,需要各位朋友自己去看相關評測數(shù)據。
第三點:CPU對應主板的挑選
關于CPU對應主板的挑選,因為里面涉及比較多的點,比如插槽、BIOS以及芯片組等等,實際情況比較復雜,所以最好的方法就是,直接去官方網站查看CPU支持列表,同時咨詢官方客服了解情況。
第四點:CPU型號的挑選
其實,我們想要了解CPU的知識,無非是想選擇合適的CPU,使得電腦性價比更高,所以下面就來說一下如何根據實際情況選擇CPU。
1、日常使用款
如果你只是簡單的上網看視頻、聽音樂或者日常辦公,那么雙核心或者4核心的入門CPU都是可以的了。但是,考慮到4核心普及度,還是建議購買4核心的CPU。
2、游戲款
如果是想玩游戲,那么Intel i5或者Ryzen 5系列處理器基本就可以了,因為游戲性能更多是看顯卡,所以綜合一下,顯卡花多點錢,整體性價比更高。
3、專業(yè)高性能款
如果你使用電腦時,偶爾需要會運行性能要求高的任務,比如視頻編輯等等,但是不會作為專職使用。那么,英特爾的i7、i9或者AMD Ryzen7、Ryzen9處理器都是可以的。
4、 專業(yè)工作站款
如果你是專職于視頻編輯,或者海量數(shù)據處理,那么建議使用HEDT平臺的產品,主要是AMD的線程撕裂者處理器以及英特爾的__芯片組產品,因為它們具有大量的核心線程數(shù)量,適用于多線程任務處理。
5、 超頻款
這個就簡單了,現(xiàn)在AMD的處理器基本都開放了超頻功能,而英特爾的CPU只有名稱后綴帶”K”字母,才開放了超頻。另外,還有注意配套的主板芯片組等等。
第五點:電腦整體配置
CPU的重要性不言而喻,但是電腦是一個整體,我們還需要考慮顯卡性能,存儲性能等等。
如果電腦配置不平衡,那么整體性能會大幅度下降,正如上面所說,玩游戲的電腦需要側重于顯卡,打個比方在同等的條件下,i7處理器+GT__1050顯卡的游戲性能,是比不上i5處理器+GT__1660顯卡的。
而電腦存儲性能,重點是容量,建議內存8GB起步,最好16GB。而電腦硬盤,大家都清楚SSD硬盤的性能是高于機械硬盤的。當然,還有其他需要考慮的問題,但是一定不要忘記整體配置的均衡是很重要的!
CPU的基礎知識相關文章:
★ 基礎的硬件知識
CPU的基礎知識
上一篇:電腦CPU溫度多少合適
下一篇:CPU基礎知識科普