『壹』 cpu的性能指標有哪些
CPU的性能指標有工作頻率、Cache容量、指令系統和邏輯結構等參數。
CPU是一塊超大規模的集成電路,是一台計算機的運算核心和控制核心。它的功能主要是解釋計算機指令以及處理計算機軟體中的數據。
計算機的性能在很大程度上由CPU的性能決定,而CPU的性能主要體現在其運行程序的速度上。而衡量CPU的性能就是工作頻率、Cache容量、指令系統和邏輯結構等這些指標了。
(1)cpu程序狀態字包含哪些信息擴展閱讀:
性能參數:
1、主頻:時鍾頻率,單位是兆赫(MHz)或千兆赫(GHz),用來表示CPU的運算、處理數據的速度。通常,主頻越高,CPU處理數據的速度就越快。
2、外頻:CPU的基準頻率,單位是MHz。CPU的外頻決定著整塊主板的運行速度,絕大部分電腦系統中外頻與主板前端匯流排不是同步速度的,而外頻與前端匯流排頻率又很容易被混為一談。
3、倍頻系數:CPU主頻與外頻之間的相對比例關系。在相同的外頻下,倍頻越高CPU的頻率也越高。
4、緩存:緩存的結構和大小對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統內存和硬碟。
『貳』 關於單片機 CPU的程序狀態字的問題
PSW:程序方好配式字寄存器
第零位:奇偶校驗位P(如果累加器A里1的個數是單數,p=1,否則P=0)
第一位:f1用戶自定義位1(由用戶自行設定)
第二位:OV溢出位(當帶符歲襪笑號數的運算結果超過-127~128時或無符號數乎含乘積大於255及除數為0時,OV置
一)
第三位RS0第四位RS1是數據寄存器選擇位。
rs0=0,rs1=0時 選擇第0組,r0-R7的地址是00H-07H.
rs0=1,rs1=0時 選擇第1組,r0-R7的地址是08H-0FH.
rs0=0,rs1=1時 選擇第2組,r0-R7的地址是10H-17H.
rs0=1,rs1=1時 選擇第3組,r0-R7的地址是18H-1FH.
第五位:AC半進位位。第三位向第四位有進位或借位時置一,常用於十進制調整指令或八進制運算。
第六位:F0用戶自定義。
第七位:CY進位標志。由進位或借位時置一。
你的程序中:
mov A.#7FH
ADD A.#47H
結果為A=C6H=11000110B
1有4個,雙數,所以第零位:P=0;
F0=RS1=RS0=F1=0不變;
相加的過程中,第四位向第五位有進位。所以AC=1;
第七位:CY無溢出,所以為0
『叄』 CPU的狀態屬於程序狀態字PSW的一位,這里的PSW是什麼意思
PSW即程序拍纖狀態字,Program
Status
Word
程序狀態寄存器PSW是計算機系統的核心部件——控制器的一部分,PSW用來存放兩類信息:一類是體現當前指令執行結果的各種狀態信息,如有無進位(CF位),有無溢出(OF位),結果正負(SF位)拿賀睜,結果是否為零(ZF位),奇偶標志位消歲(PF位)等;另一類是存放控制信息,如允許中斷(IF位),跟蹤標志(TF位)等。有些機器中將PSW稱為標志寄存器FR(Flag
Register)。
『肆』 cpu的性能與哪些因素有關,各自什麼含義
CPU的性能主要體現在其運行程序的速度上。影響運行速度的性能指標包括主頻、外頻、以及緩存大小。
主頻
主頻也叫時鍾慧春碼頻率,單位是兆赫(MHz)或千兆赫(GHz),用來表示CPU的運算、處理數據的速度。通常,主頻越高,CPU處理數據的速度就越快。
CPU的主頻=外頻×倍頻系數。主頻和實際的運算速度存在一定的關系,但並不是一個簡單的線性關系。所以,CPU的主頻與CPU實際的運算能力是沒有直接關系的,主頻表示在CPU內數字脈沖信號震盪森滾的速度。
外頻
外頻是CPU的基準頻率,單位是MHz。CPU的外頻決定著整塊主板的運行速度。
緩存
緩存大小也是CPU的重要指標之一,而且緩存的結構和大小前哪對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統內存和硬碟。
實際工作時,CPU往往需要重復讀取同樣的數據塊,而緩存容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到內存或者硬碟上尋找,以此提高系統性能。但是由於CPU晶元面積和成本的因素來考慮,緩存都很小。
(4)cpu程序狀態字包含哪些信息擴展閱讀:
工作過程:
CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,並對指令解碼。它把指令分解成一系列的微操作,然後發出各種控制命令,執行微操作系列,從而完成一條指令的執行。指令是計算機規定執行操作的類型和操作數的基本命令。
指令是由一個位元組或者多個位元組組成,其中包括操作碼欄位、一個或多個有關操作數地址的欄位以及一些表徵機器狀態的狀態字以及特徵碼。有的指令中也直接包含操作數本身。
參考資料來源:CPU-網路
『伍』 CPU上的各種數據的含義
主頻:主頻也叫時鍾頻率,單位是兆赫(MHz)或千兆赫(GHz),用來表示CPU的運算、處理數據的速度。通常,主頻越高,CPU處理數據的速度就越快。
外頻:外頻是CPU的基準頻率,單位是MHz。CPU的外頻決定著整塊主板的運行速度。通俗地說,在台式機中,所說的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點是很好理解的。
匯流排頻率:前端匯流排(FSB)是將CPU連接到北橋晶元的匯流排。前端匯流排(FSB)頻率(即匯流排頻率)是直接影響CPU與內存直接數據交換速度。有一條公式可以計算,即數據帶寬=(匯流排頻率×數據位寬)/8,數據傳輸最大帶寬取決於所有同時傳輸的數據的寬度和傳輸頻率。
倍頻系數:倍頻系數是指CPU主頻與外頻之間的相對比例關系。在相同的外頻下,倍頻越高CPU的頻率也越高。
緩存:緩存大小也是CPU的重要指標之一,而且緩存的結構和大小對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統內存和硬碟。
CPU的主頻=外頻×倍頻系數。主頻和實際的運算速度存在一定的關系,但並不是一個簡單的線性關系。所以,CPU的主頻與CPU實際的運算能力是沒有直接關系的,主頻表示在CPU內數字脈沖信號震盪的速度。在Intel的處理器產品中,也可以看到這樣的例子:
1 GHz Itanium晶元能夠表現得差不多跟2.66 GHz至強(Xeon)/Opteron一樣快,或是1.5 GHz Itanium 2大約跟4 GHz Xeon/Opteron一樣快。CPU的運算速度還要看CPU的流水線、匯流排等各方面的性能指標。
『陸』 CPU的基礎知識大全
中央處理器(CPU)其實是一塊超大規模的集成電路,用顯微鏡觀察一平方毫米的地方都有超密集的電路集成。是一台電腦的運算核心和控制核心,它的功能主要是解釋計算機指令以及處理各種軟體數據。下面就讓我帶你去看看關於CPU 的基礎 知識大全 吧,希望能幫助到大家!
CPU 的基礎知識
CPU是計算機的大腦。
1、程序的運行過程,實際上是程序涉及到的、未涉及到的一大堆的指令的執行過程。
當程序要執行的部分被裝載到內存後,CPU要從內存中取出指令,然後指令解碼(以便知道類型和操作數,簡單的理解為CPU要知道這是什麼指令),然後執行該指令。再然後取下一個指令、解碼、執行,以此類推直到程序退出。
2、這個取指、解碼、執行三個過程構成一個CPU的基本周期。
3、每個CPU都有一套自己可以執行的專門的指令集(注意,這部分指令是CPU提供的,CPU-Z軟體可查看)。
正是因為不同CPU架構的指令集不同,使得x86處理器不能執行ARM程序,ARM程序也不能執行x86程序。(Intel和AMD都使用x86指令集,手機絕大多數使用ARM指令集)。
註:指令集的軟硬體層次之分:硬體指令集是硬體層次上由CPU自身提供的可執行的指令集合。軟體指令集是指語言程序庫所提供的指令,只要安裝了該語言的程序庫,指令就可以執行。
4、由於CPU訪問內存以得到指令或數據的時間要比執行指令花費的時間長很多,因此在CPU內部提供了一些用來保存關鍵變數、臨時數據等信息的通用寄存器。
所以,CPU需要提供 一些特定的指令,使得可以從內存中讀取數據存入寄存器以及可以將寄存器數據存入內存。
此外還需要提供加法、減、not/and/or等基本運算指令,而乘除法運算都是推算出來的(支持的基本運算指令參見ALU Functions),所以乘除法的速度要慢的多。這也是演算法里在考慮時間復雜度時常常忽略加減法次數帶來的影響,而考慮乘除法的次數的原因。
5、除了通用寄存器,還有一些特殊的寄存器。典型的如:
PC:program counter,表示程序計數器,它保存了將要取出的下一條指令的內存地址,指令取出後,就會更新該寄存器指向下一條指令。
堆棧指針:指向內存當前棧的頂端,包含了每個函數執行過程的棧幀,該棧幀中保存了該函數相關的輸入參數、局部變數、以及一些沒有保存在寄存器中的臨時變數。
PSW:program status word,表示程序狀態字,這個寄存器內保存了一些控制位,比如CPU的優先順序、CPU的工作模式(用戶態還是內核態模式)等。
6、在CPU進行進程切換的時候,需要將寄存器中和當前進程有關的狀態數據寫入內存對應的位置(內核中該進程的棧空間)保存起來,當切換回該進程時,需要從內存中拷貝回寄存器中。即上下文切換時,需要保護現場和恢復現場。
7、為了改善性能,CPU已經不是單條取指-->解碼-->執行的路線,而是分別為這3個過程分別提供獨立的取值單元,解碼單元以及執行單元。這樣就形成了流水線模式。
例如,流水線的最後一個單元——執行單元正在執行第n條指令,而前一個單元可以對第n+1條指令進行解碼,再前一個單元即取指單元可以去讀取第n+2條指令。這是三階段的流水線,還可能會有更長的流水線模式。
8、更優化的CPU架構是superscalar架構(超標量架構)。這種架構將取指、解碼、執行單元分開,有大量的執行單元,然後每個取指+解碼的部分都以並行的方式運行。比如有2個取指+解碼的並行工作線路,每個工作線路都將解碼後的指令放入一個緩存緩沖區等待執行單元去取出執行。
9、除了嵌入式系統,多數CPU都有兩種工作模式:內核態和用戶態。這兩種工作模式是由PSW寄存器上的一個二進制位來控制的。
10、內核態的CPU,可以執行指令集中的所有指令,並使用硬體的所有功能。
11、用戶態的CPU,只允許執行指令集中的部分指令。一般而言,IO相關和把內存保護相關的所有執行在用戶態下都是被禁止的,此外 其它 一些特權指令也是被禁止的,比如用戶態下不能將PSW的模式設置控制位設置成內核態。
12、用戶態CPU想要執行特權操作,需要發起系統調用來請求內核幫忙完成對應的操作。其實是在發起系統調用後,CPU會執行trap指令陷入(trap)到內核。當特權操作完成後,需要執行一個指令讓CPU返回到用戶態。
13、除了系統調用會陷入內核,更多的是硬體會引起trap行為陷入內核,使得CPU控制權可以回到 操作系統 ,以便操作系統去決定如何處理硬體異常。
關於CPU的基本組成
1、CPU是用來運算的(加法運算+、乘法運算__、邏輯運算and not or等),例如c=a+b。
2、運算操作涉及到數據輸入(input)、處理、數據輸出(output),a和b是輸入數據,加法運算是處理,c是輸出數據。
3、CPU需要使用一個叫做存儲器(也就是各種寄存器)的東西保存輸入和輸出數據。以下是幾種常見的寄存器(前文也介紹了一些)
MAR: memory address register,保存將要被訪問數據在內存中哪個地址處,保存的是地址值
MDR: memory data register,保存從內存讀取進來的數據或將要寫入內存的數據,保存的是數據值
AC: Accumulator,保存算術運算和邏輯運算的中間結果,保存的是數據值
PC: Program Counter,保存下一個將要被執行指令的地址,保存的是地址值
CIR: current instruction register,保存當前正在執行的指令
4、CPU還要將一些常用的基本運算工具(如加法器)放進CPU,這部分負責運算,稱為算術邏輯單元(ALU, Arithmetic Logic Unit)。
5、CPU中還有一個控制器(CU, Control Unit),負責將存儲器中的數據送到ALU中去做運算,並將運算後的結果存回到存儲器中。
控制器還包含了一些控制信號。
5、控制器之所以知道數據放哪裡、做什麼運算(比如是做加法還是邏輯運算?)都是由指令告訴控制器的,每個指令對應一個基本操作,比如加法運算對應一個指令。
6、例如,將兩個MDR寄存器(保存了來自內存的兩個數據)中的值拷貝到ALU中,然後根據指定的操作指令執行加法運算,將運算結果拷貝會一個MDR寄存器中,最後寫入到內存。
7、這就是馮諾依曼結構圖,也就是現在計算機的結構圖。
關於CPU的多核和多線程
1、CPU的物理個數由主板上的插槽數量決定,每個CPU可以有多核心,每核心可能會有多線程。
2、多核CPU的每核(每核都是一個小晶元),在OS看來都是一個獨立的CPU。
3、對於超線程CPU來說,每核CPU可以有多個線程(數量是兩個,比如1核雙線程,2核4線程,4核8線程),每個線程都是一個虛擬的邏輯CPU(比如windows下是以邏輯處理器的名稱稱呼的),而每個線程在OS看來也是獨立的CPU。
這是欺騙操作系統的行為,在物理上仍然只有1核,只不過在超線程CPU的角度上看,它認為它的超線程會加速程序的運行。
4、要發揮超線程優勢,需要操作系統對超線程有專門的優化。
5、多線程的CPU在能力上,比非多線程的CPU核心要更強,但每個線程不足以與獨立的CPU核心能力相比較。
6、每核上的多線程CPU都共享該核的CPU資源。
例如,假設每核CPU都只有一個"發動機"資源,那麼線程1這個虛擬CPU使用了這個"發動機"後,線程2就沒法使用,只能等待。
所以,超線程技術的主要目的是為了增加流水線(參見前文對流水線的解釋)上更多個獨立的指令,這樣線程1和線程2在流水線上就盡量不會爭搶該核CPU資源。所以,超線程技術利用了superscalar(超標量)架構的優點。
7、多線程意味著每核可以有多個線程的狀態。比如某核的線程1空閑,線程2運行。
8、多線程沒有提供真正意義上的並行處理,每核CPU在某一時刻仍然只能運行一個進程,因為線程1和線程2是共享某核CPU資源的。可以簡單的認為每核CPU在獨立執行進程的能力上,有一個資源是唯一的,線程1獲取了該資源,線程2就沒法獲取。
但是,線程1和線程2在很多方面上是可以並行執行的。比如可以並行取指、並行解碼、並行執行指令等。所以雖然單核在同一時間只能執行一個進程,但線程1和線程2可以互相幫助,加速進程的執行。
並且,如果線程1在某一時刻獲取了該核執行進程的能力,假設此刻該進程發出了IO請求,於是線程1掌握的執行進程的能力,就可以被線程2獲取,即切換到線程2。這是在執行線程間的切換,是非常輕量級的。(WIKI: if resources for one process are not available, then another process can continue if its resources are available)
9、多線程可能會出現一種現象:假如2核4線程CPU,有兩個進程要被調度,那麼只有兩個線程會處於運行狀態,如果這兩個線程是在同一核上,則另一核完全空轉,處於浪費狀態。更期望的結果是每核上都有一個CPU分別調度這兩個進程。
關於CPU上的高速緩存
1、最高速的緩存是CPU的寄存器,它們和CPU的材料相同,最靠近CPU或最接近CPU,訪問它們沒有時延(<1ns)。但容量很小,小於1kb。
32bit:32__32比特=128位元組
64bit:64__64比特=512位元組
2、寄存器之下,是CPU的高速緩存。分為L1緩存、L2緩存、L3緩存,每層速度按數量級遞減、容量也越來越大。
3、每核心都有一個自己的L1緩存。L1緩存分兩種:L1指令緩存(L1-icache)和L1數據緩存(L1-dcache)。L1指令緩存用來存放已解碼指令,L1數據緩存用來放訪問非常頻繁的數據。
4、L2緩存用來存放近期使用過的內存數據。更嚴格地說,存放的是很可能將來會被CPU使用的數據。
5、多數多核CPU的各核都各自擁有一個L2緩存,但也有多核共享L2緩存的設計。無論如何,L1是各核私有的(但對某核內的多線程是共享的)。
史上最通俗易懂的CPU知識!
cpu
CPU知識科普
CPU有幾個重要的參數:主頻、核心、線程、緩存、架構。那麼他們到底是什麼意思,又有啥聯系呢?以下知識通俗易懂,看完秒懂。
一、主頻
我們常在CPU的參數里看到3.0GHz、3.7GHz等就是CPU的主頻,嚴謹的說他是CPU內核的時鍾頻率,但是我們也可以直接理解為運算速度。
舉個有趣的例子:CPU的主頻相當於我們胳膊的肌肉(力量),主頻越高,力量越大。
主頻
二、核心
我們更多聽到的是,這個CPU是幾核幾核的,如2核、4核、6核、8核、16核等等。
這個核心可以理解為我們人類的胳膊,2核就是兩條胳膊,4核就是4條胳膊,6核就是6條胳膊。
核心
三、線程
光有胳膊(核心)和肌肉(頻率)是幹不了活的,還必須要有手(線程)才行。
一般來說,單核配單線程、雙核配雙線程或者雙核四線程、四核八線程等等,就相當於一條胳膊長一隻手。後來由於技術越來越厲害,造出了一條胳膊長兩只手的情況,這樣幹活的效率就大大的提高了。
四、架構
現在胳膊有了,肌肉有了,手也有了,就差一個工具就可以幹活了,這個工具就是CPU的架構,架構對性能的影響巨大。
新老架構區別很大
所以說有句話叫「拋開架構看核心、頻率都是耍流氓!」這就是為啥以前AMD的CPU雖然核心數量和頻率都比同時期的英特爾高,但是依然流傳著「i3戰A8,i5秒全家、i7轟成渣」這樣的說法了。
這個時候可能有的人不理解了,怎麼看架構呢?這個其實不用擔心,因為一般來說,每一代CPU的架構都是一樣的,比如i3-8100、i5-8500、i7-8700都是8代的CPU,使用的架構也是一樣的,現在官方店在售的也都是最新款,因此架構主要看最一代處理器就夠了。
五、緩存
緩存也是CPU里一項很重要的參數。由於CPU的運算速度特別快,在內存條的讀寫忙不過來的時候,CPU就可以把這部分數據存入緩存中,以此來緩解CPU的運算速度與內存條讀寫速度不匹配的矛盾,所以緩存是越大越好。
參數就算是說完了。既然開頭就說了「CPU也跟人腦一樣,術業有專攻。」那接下來就分析一波,什麼樣的U適合干什麼樣的工作。
需求:游戲
由於游戲運行需要的是粗暴直接的計算工作,所以主頻高的CPU會更有優勢。
這就好比我的工作是要搬個磚,肌肉強點,力氣大才是硬性需求。就算我有8條胳膊16隻手,看起來張牙舞爪的很厲害,但是我搬磚的時候根本用不到,而且這些胳膊大多力氣又小,所以效果並不會很好。
所以,有游戲需求的玩家可以選擇主頻高點的CPU,核心和線程數少一點無所謂。(當然不能太少,至少雙核四線程起步吧,如今主流都是4核4線程就差不多了)
適合游戲的高主頻CPU
整體來說,英特爾i3、i5、i7和銳龍2代的CPU主頻都挺高的,很適合玩游戲。英特爾後面帶「K」的CPU不僅主頻更高,而且是支持超頻的(需要用Z系或X系主板)。新出的AMD銳龍2代CPU主頻也很高,而且性價比也還不錯。
需求:圖形渲染等專業工作需求
對於需要進行大量並行運算的圖形渲染來說,多核心多線程同時工作能比單核心高主頻的傻大粗節省大量的時間。
綠巨人雖然搬磚能力出眾,但是如果讓他去完成一幅復雜的拼圖,速度自然是比那種有多條胳膊和多隻手同時工作的小機靈慢了不少。
綠巨人有力使不出啊
適合圖形渲染和視頻製作的CPU(多核、大緩存、性能強):
圖形渲染 多核多線程CPU
此外,還有AMD二代銳龍R5 2600X、R7 2700/2700X以及Intel八代酷睿i7 8700/K等都很適合。
需求:日常家用,偶爾玩LOL、DNF等
這一類的用戶平時就是看看網頁,看看視頻、看文檔、玩玩LOL、DNF等游戲。
這類用戶可以選擇自帶核顯的CPU,如英特爾600塊的奔騰G5500,或者800元的i3-8100。這類CPU的自帶的HD630核顯完全可以輕松解碼4K視頻以及流暢運行LOL、DNF這類游戲,省下的錢買塊固態硬碟,加條內存豈不是美滋滋。
註:使用核顯請盡量組雙通道內存條,以提升核顯性能。預算有限可以上2條4GB組建8GB雙通道,預算充裕直接上2條8GB組16GB雙通道大內存。
總結 :
1.游戲用戶選擇高主頻的CPU,4核4線程差不多就夠用了。如i3 8100/i5 8400等,此外英特爾i3-8350K、i5-8600K(這種帶K的CPU還可以通過超頻來達到更高的頻率,不過要搭配較貴的Z370系主板使用);AMD銳龍二代CPU也很不錯,建議購買後綴帶X的如,銳龍R5 2600X,雖然本身性價比並不突出,但是好在可以搭配AMD平台較便宜的B350主板進行超頻。
2.對於需要做圖形渲染工作的用戶來說,多核心多線程的CPU是最優的選擇。AMD多核心多線程的銳龍系列性價比非常的高。
3.普通用戶,如果沒有大型游戲需求,英特爾的i3-8100絕對是最有性價比的選擇。首先是4核4線程3.6GHz,性能足夠用,而且自帶的核顯性能也不俗,還能省下買顯卡的錢。
4.選擇CPU的時候,一定要詢問店家是不是支持自己的主板。有時候雖然介面針腳數量是一樣的,但是可能並不兼容。(英特爾,別左右瞎看了,說的就是你)
那些關於CPU的知識,你真的懂了嗎?
關於cpu和程序的執行
CPU是計算機的大腦。
1、程序的運行過程,實際上是程序涉及到的、未涉及到的一大堆的指令的執行過程。
當程序要執行的部分被裝載到內存後,CPU要從內存中取出指令,然後指令解碼(以便知道類型和操作數,簡單的理解為CPU要知道這是什麼指令),然後執行該指令。再然後取下一個指令、解碼、執行,以此類推直到程序退出。
2、這個取指、解碼、執行三個過程構成一個CPU的基本周期。
3、每個CPU都有一套自己可以執行的專門的指令集(注意,這部分指令是CPU提供的,CPU-Z軟體可查看)。
正是因為不同CPU架構的指令集不同,使得x86處理器不能執行ARM程序,ARM程序也不能執行x86程序。(Intel和AMD都使用x86指令集,手機絕大多數使用ARM指令集)。
註:指令集的軟硬體層次之分:硬體指令集是硬體層次上由CPU自身提供的可執行的指令集合。軟體指令集是指語言程序庫所提供的指令,只要安裝了該語言的程序庫,指令就可以執行。
4、由於CPU訪問內存以得到指令或數據的時間要比執行指令花費的時間長很多,因此在CPU內部提供了一些用來保存關鍵變數、臨時數據等信息的通用寄存器。
所以,CPU需要提供 一些特定的指令,使得可以從內存中讀取數據存入寄存器以及可以將寄存器數據存入內存。
此外還需要提供加法、減、not/and/or等基本運算指令,而乘除法運算都是推算出來的(支持的基本運算指令參見ALU Functions),所以乘除法的速度要慢的多。這也是演算法里在考慮時間復雜度時常常忽略加減法次數帶來的影響,而考慮乘除法的次數的原因。
5、除了通用寄存器,還有一些特殊的寄存器。典型的如:
PC:program counter,表示程序計數器,它保存了將要取出的下一條指令的內存地址,指令取出後,就會更新該寄存器指向下一條指令。
堆棧指針:指向內存當前棧的頂端,包含了每個函數執行過程的棧幀,該棧幀中保存了該函數相關的輸入參數、局部變數、以及一些沒有保存在寄存器中的臨時變數。
PSW:program status word,表示程序狀態字,這個寄存器內保存了一些控制位,比如CPU的優先順序、CPU的工作模式(用戶態還是內核態模式)等。
6、在CPU進行進程切換的時候,需要將寄存器中和當前進程有關的狀態數據寫入內存對應的位置(內核中該進程的棧空間)保存起來,當切換回該進程時,需要從內存中拷貝回寄存器中。即上下文切換時,需要保護現場和恢復現場。
7、為了改善性能,CPU已經不是單條取指-->解碼-->執行的路線,而是分別為這3個過程分別提供獨立的取值單元,解碼單元以及執行單元。這樣就形成了流水線模式。
例如,流水線的最後一個單元——執行單元正在執行第n條指令,而前一個單元可以對第n+1條指令進行解碼,再前一個單元即取指單元可以去讀取第n+2條指令。這是三階段的流水線,還可能會有更長的流水線模式。
8、更優化的CPU架構是superscalar架構(超標量架構)。這種架構將取指、解碼、執行單元分開,有大量的執行單元,然後每個取指+解碼的部分都以並行的方式運行。比如有2個取指+解碼的並行工作線路,每個工作線路都將解碼後的指令放入一個緩存緩沖區等待執行單元去取出執行。
9、除了嵌入式系統,多數CPU都有兩種工作模式:內核態和用戶態。這兩種工作模式是由PSW寄存器上的一個二進制位來控制的。
10、內核態的CPU,可以執行指令集中的所有指令,並使用硬體的所有功能。
11、用戶態的CPU,只允許執行指令集中的部分指令。一般而言,IO相關和把內存保護相關的所有執行在用戶態下都是被禁止的,此外其它一些特權指令也是被禁止的,比如用戶態下不能將PSW的模式設置控制位設置成內核態。
12、用戶態CPU想要執行特權操作,需要發起系統調用來請求內核幫忙完成對應的操作。其實是在發起系統調用後,CPU會執行trap指令陷入(trap)到內核。當特權操作完成後,需要執行一個指令讓CPU返回到用戶態。
13、除了系統調用會陷入內核,更多的是硬體會引起trap行為陷入內核,使得CPU控制權可以回到操作系統,以便操作系統去決定如何處理硬體異常。
關於CPU的基本組成
1、CPU是用來運算的(加法運算+、乘法運算__、邏輯運算and not or等),例如c=a+b。
2、運算操作涉及到數據輸入(input)、處理、數據輸出(output),a和b是輸入數據,加法運算是處理,c是輸出數據。
3、CPU需要使用一個叫做存儲器(也就是各種寄存器)的東西保存輸入和輸出數據。以下是幾種常見的寄存器(前文也介紹了一些)
MAR: memory address register,保存將要被訪問數據在內存中哪個地址處,保存的是地址值
MDR: memory data register,保存從內存讀取進來的數據或將要寫入內存的數據,保存的是數據值
AC: Accumulator,保存算術運算和邏輯運算的中間結果,保存的是數據值
PC: Program Counter,保存下一個將要被執行指令的地址,保存的是地址值
CIR: current instruction register,保存當前正在執行的指令
4、CPU還要將一些常用的基本運算工具(如加法器)放進CPU,這部分負責運算,稱為算術邏輯單元(ALU, Arithmetic Logic Unit)。
5、CPU中還有一個控制器(CU, Control Unit),負責將存儲器中的數據送到ALU中去做運算,並將運算後的結果存回到存儲器中。
控制器還包含了一些控制信號。
5、控制器之所以知道數據放哪裡、做什麼運算(比如是做加法還是邏輯運算?)都是由指令告訴控制器的,每個指令對應一個基本操作,比如加法運算對應一個指令。
6、例如,將兩個MDR寄存器(保存了來自內存的兩個數據)中的值拷貝到ALU中,然後根據指定的操作指令執行加法運算,將運算結果拷貝會一個MDR寄存器中,最後寫入到內存。
7、這就是馮諾依曼結構圖,也就是現在計算機的結構圖。
關於CPU的多線和多進程
1、CPU的物理個數由主板上的插槽數量決定,每個CPU可以有多核心,每核心可能會有多線程。
2、多核CPU的每核(每核都是一個小晶元),在OS看來都是一個獨立的CPU。
3、對於超線程CPU來說,每核CPU可以有多個線程(數量是兩個,比如1核雙線程,2核4線程,4核8線程),每個線程都是一個虛擬的邏輯CPU(比如windows下是以邏輯處理器的名稱稱呼的),而每個線程在OS看來也是獨立的CPU。
這是欺騙操作系統的行為,在物理上仍然只有1核,只不過在超線程CPU的角度上看,它認為它的超線程會加速程序的運行。
4、要發揮超線程優勢,需要操作系統對超線程有專門的優化。
5、多線程的CPU在能力上,比非多線程的CPU核心要更強,但每個線程不足以與獨立的CPU核心能力相比較。
6、每核上的多線程CPU都共享該核的CPU資源。
例如,假設每核CPU都只有一個"發動機"資源,那麼線程1這個虛擬CPU使用了這個"發動機"後,線程2就沒法使用,只能等待。
所以,超線程技術的主要目的是為了增加流水線(參見前文對流水線的解釋)上更多個獨立的指令,這樣線程1和線程2在流水線上就盡量不會爭搶該核CPU資源。所以,超線程技術利用了superscalar(超標量)架構的優點。
7、多線程意味著每核可以有多個線程的狀態。比如某核的線程1空閑,線程2運行。
8、多線程沒有提供真正意義上的並行處理,每核CPU在某一時刻仍然只能運行一個進程,因為線程1和線程2是共享某核CPU資源的。可以簡單的認為每核CPU在獨立執行進程的能力上,有一個資源是唯一的,線程1獲取了該資源,線程2就沒法獲取。
但是,線程1和線程2在很多方面上是可以並行執行的。比如可以並行取指、並行解碼、並行執行指令等。所以雖然單核在同一時間只能執行一個進程,但線程1和線程2可以互相幫助,加速進程的執行。
並且,如果線程1在某一時刻獲取了該核執行進程的能力,假設此刻該進程發出了IO請求,於是線程1掌握的執行進程的能力,就可以被線程2獲取,即切換到線程2。這是在執行線程間的切換,是非常輕量級的。(WIKI: if resources for one process are not available, then another process can continue if its resources are available)
9、多線程可能會出現一種現象:假如2核4線程CPU,有兩個進程要被調度,那麼只有兩個線程會處於運行狀態,如果這兩個線程是在同一核上,則另一核完全空轉,處於浪費狀態。更期望的結果是每核上都有一個CPU分別調度這兩個進程。
關於CPU上的高速緩存
1、最高速的緩存是CPU的寄存器,它們和CPU的材料相同,最靠近CPU或最接近CPU,訪問它們沒有時延(<1ns)。但容量很小,小於1kb。
32bit:32__32比特=128位元組
64bit:64__64比特=512位元組
2、寄存器之下,是CPU的高速緩存。分為L1緩存、L2緩存、L3緩存,每層速度按數量級遞減、容量也越來越大。
3、每核心都有一個自己的L1緩存。L1緩存分兩種:L1指令緩存(L1-icache)和L1數據緩存(L1-dcache)。L1指令緩存用來存放已解碼指令,L1數據緩存用來放訪問非常頻繁的數據。
4、L2緩存用來存放近期使用過的內存數據。更嚴格地說,存放的是很可能將來會被CPU使用的數據。
5、多數多核CPU的各核都各自擁有一個L2緩存,但也有多核共享L2緩存的設計。無論如何,L1是各核私有的(但對某核內的多線程是共享的)。
CPU 的基礎知識大全相關 文章 :
★ cpu基礎知識詳解
★ 2019超詳細電腦硬體及電腦配置知識大全講解
★ 電腦知識大全菜鳥必備
★ 計算機硬體基礎知識學習
★ 電腦入門基本知識大全
★ 電腦硬體入門學習
★ 電腦入門基本知識有哪些
★ 計算機網路基礎技能大全
★ 計算機網路知識大全
★ 常識科普知識大全
『柒』 CPU包含哪些部件,各個組成部件的功能是什麼
1、控制器
CPU的控制器包括用電信號指揮整個電腦系統的執行及儲存程序命令的蔽旦電子線路。像一個管弦樂隊的指揮者,控制器不執行程序命令,而是指揮系統的其它部分做這些工作。控制器必須與算術邏輯單元和內存都有緊密的合作與聯系。
2、指令解碼器
指令解碼器為CPU翻譯指令,然後這些指令才能夠被執行。
3、程序計數器
程序計數器是一個特別的門插銷。當有新的指令送入PC時,PC會被加1。因此它按照順序通過CPU必須執行的任務。然而,也有一些指令能夠讓CPU不按順序執行指令,而是跳躍到另-些指令。
4、算術邏輯單元
算術邏輯單元包含執行所有算術/邏輯操作的電子線路。算術邏輯單元能夠執宏山擾行四種算術操作(數學計算):加、減、乘、除
算術邏輯單元也能執行邏輯操作。一個邏輯操作通常是一個 對照。它能夠對比數字、字母或特殊文字。電腦就可以根據對比結果採取行動。
5、寄存器
寄存器是位於CPU內部的特殊存儲單元。存儲在這里的數據的存取比存儲在其它內存單元(如: RAM、ROM)的數據的存取要快。
CPU內不同部分的寄存器有不同的功能。在控制器中,寄存器用來存儲電腦唯虧當前的指令和操作數。同時,ALU中的寄存器被叫做累加器,用來儲存算術或邏輯操作的結果。
『捌』 cpu通常是指什麼
1、cpu通常是指控制器和運算器。
2、
3、中央處理器(CentralProcessingUnit),簡稱CPU,是1971年推出的一個計算機的運算核心和控制核心,是信息處理、程序運行的最終執行單頌碰告元。CPU包含運算邏輯部件、寄存器部件和控制部件等,並具有處吵襲理指令、執行操作、控制時間、處理數據等功能。其自產生以來,在邏輯結構、運行效率以及功能外延上取得了巨大發展。
4、
5、CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,並對指令解碼。它把指令分解成一系列的微操作,然後發出各種控制命令,執行微操作系列,從而完成一條指令的執行。指令是計算機規定執行操作的類型和操作數的基本命令。指野明令是由一個位元組或者多個位元組組成,其中包括操作碼欄位、一個或多個有關操作數地址的欄位以及一些表徵機器狀態的狀態字以及特徵碼。有的指令中也直接包含操作數本身。
更多關於cpu通常是指什麼,進入:https://www.abcgonglue.com/ask/788d5b1616096869.html?zd查看更多內容
『玖』 cpu上的信息代表什麼意思
辨別Intel CPU: S-Spec編碼最關鍵
① 處理器系列名稱
② OPN碼查詢CPU詳細信息的重要代碼。通過它可以查詢到這款CPU的主頻、針腳、二級緩存、前端匯流排、核心數等必須的重要信息。CPU針腳數查詢網站(注意編碼零=哦)http://procts.amd.com/en-us/DesktopCPUResult.aspx
③ 生產工作周(例如 1044 為2010年第44工作周生產的產品)
④ 序列號
⑤ 二維碼
⑥ AMD公司商標(AMD及箭頭標識)以及版權登記日
⑦ 處理器製造地 (DIFFUSED IN GERMANY MADE IN MALAYSIA的意思是由AMD德國工廠進行核心晶圓晶元生產,然後交由馬來西亞的封裝工廠進行測試,封讓明裝,出廠,發往全球各地消費市場)
注意:AM3都是938針的,AM2都是940針的,AM3的CPU可以用在AM2、AM3的主板上
『拾』 cpu各參數的含義
首先是處理器(Processor)框內的信息:
1、名稱(Name):代表CPU的名字,比如E2140,Q6600之類。
2、代號(CodeName):代表CPU核心架構的代號,不同扒首核心的cpu性能差距很大。比如SmithField和Presler核心的奔騰D,同頻率的性能遠不如conroe核心的酷睿2,實際上1.6G的酷睿2性能大約相當於3G的奔騰D。目前的主流桌面雹基級cpu就是amd的k10和intel的conroe(這倆都是架構,對應多個核心),相對來說conroe架構的性能更強勁一些,不過k10差的也不是很明顯,都是好東西,再也沒有奔騰D時代那種比較垃圾的架構了。
3、封裝(Package):即用絕緣的材料將cpu內核和其他原件一塊打包的技術。封裝技術對CPU來說很重要,但是對購買cpu的人來說沒必要在意,都是很成熟的技術,沒啥問題。
4、工藝(Technology):就是通常所指的65nm,45nm等等。工藝越先進就是指這里的數字越小,然後對CPU而言,相同面積上可集成的晶體管數目就越多,CPU體積就越小,可以更好的控製成本,而且工藝越高,CPU的功耗和發熱量就越小,可超頻性就越強。買CPU的時候當然是工藝越高越好,功耗低,散熱小,好超頻!
5、核心電壓(Core Voltage):核心電壓是一個很重要的參數,尤其是對超頻來說。一般的核心電壓越低,越容易超頻。因為核心電壓低了,可提升的餘地就大,功耗就低,發熱量就小,有利於超頻玩。所以高手選CPU的時候很注重修訂(下面介紹),CPU不同的修訂代表了不同的品質,一些就體現在核心電壓這塊,苛刻的玩家甚至只買生產日期是哪一年那一周的那一批次的產品。
6、規格(Specification):就是對CPU的描述,沒啥意思。
7、系列(Family)、擴展系列(Ext.Family)、型號(Model)、擴展型號(Ext.Model):應該是CPU廠商對CPU的定義,該CPU屬於那一系列哪一個型號。對一般人沒用。
8、步進(Stepping)、修訂(Reversion):代表了CPU廠商對該CPU的的改進信息,類似我們開發程序時候的版本號。隨著CPU廠商對CPU的改進,步進和修訂都會增加,這些改進包括了核心電壓、功耗、發熱量、穩定性、超頻性、支持指令集等各方面。一般較新的步進的CPU都比老的好一些,但世事無絕對,可能之前步進的CPU超頻性更好一些呢,這也說不準。這個參數還是比較重要地,買CPU的時候盡量選擇步進新的,畢竟CPU廠不會將它越改越爛。
以上就是處理器(Processor)框內的信息,買到一個CPU後,可對比這些信息,瞅瞅這個CPU是不是真滴,也可看看CPU是否自己中意的那個修訂版的。
然後是時鍾(Clock)框內的信息,如果是多核心CPU,可在下面選核心,這里顯示核心的時鍾狀態。
1、核心速度(Core Speed):就是主頻,誰都知道啥意思,算是CPU最重要的性能參數吧。越高越好,超頻後也可在這里體現出來。計算方法是主頻 = 外頻 * 倍頻。
2、倍頻(Multiplier):就是主頻與外頻的比例。當一個CPU主頻相對較低,製作工藝較高,倍頻也較高,這意味著這個CPU超頻比較厲害,比如賽揚系列。大多數CPU的倍頻是不允許修改的。但現在的AMD出了不少黑盒版CPU,黑盒版意味著CPU的倍頻是可以修改的,這就更容易超頻了。此外intel的高端至尊系列好像外頻也是不鎖的。
3、匯流排速度(Bus Speed):其實就是外頻吧。同主頻的情況下,外頻越高(倍頻不同)性能也就越高。
4、前端匯流排(FSB):前端匯流排就是連接CPU跟北橋晶元的源此謹匯流排,這個頻率當然是越高越好,但前提是主板支持。對Intel的CPU來說,前端匯流排連接了CPU跟內存控制器(北橋內),CPU操作內存通過內存控制器進行,所以帶寬不夠的話,會發揮不出CPU的性能。對AMD的U來說,這里顯示的是HT Link之類的字元,HT即Hyper Transport,是AMD特有的技術,AMD的CPU因為把內存控制器集成到了CPU內部,所以操作內存不需要通過北橋也就沒前端匯流排這一說。
對Intel的CPU來說,一般外頻 * 2 = 內存頻率,內存頻率 * 2 = 前端匯流排頻率,這是因為他們被設置工作在同步狀態下,所以超頻的時候,不僅CPU外頻,同步超的有內存的頻率,前端匯流排的頻率。當然也可以設置他們工作在非同步的狀態,不過據說這時候超頻容易失敗。
AMD的CPU來說,其HT的帶寬很高,據說HT在800M的狀態下,就抵得上FSB1600M。現在HT速率都在1000M以及以上。可見其先進性,但是Intel卻沒用這個技術。
最後是緩存(Cache)框信息:
1、L1數據(L1 data):代表一級數據緩存。這里Intel的U和AMD的U又有所不同,一般的Intel的U這個數據一般比較小,AMD的一般比較大一些。這是因為現代(之前的不管了)Intel的L1緩存里存放的是「目錄」而不是實際的數據,實際的數據存放在L2中,CPU取數據的時候首先到L1中取的數據在L2中的地址,然後從L2中取得數據。而AMD的L1存放的就是實際的數據了。
2、L1跟蹤(L1 Trace):L1 Trace這個名字是對Intel的CPU而言的,AMD的CPU這里顯示的應該是L1 Code之類的字元。這個地方代表的意義是L1 指令緩存的大小。
3、L2緩存(L2 Cache):這里代表L2緩存的大小。對L2 緩存來說,據說,0-256k范圍內的數據命中率(就是說CPU要用到的數據恰好在0-256k范圍內)超過90%,超過256k的部分命中率為10%左右。所以,128k的賽揚明顯感到比512k的笨四慢,但是L2都超過512k之後,速度就感覺不出明顯的差別了。
4、L3(三級緩存):最新的CPU都有三級緩存了,這個緩存自然是越大越好。為啥緩存越做越大呢?據有的資料上說,這是因為要解決什麼什麼延遲的問題,挺復雜。反正對CPU來說是越大越好的。
對於Intel和AMD的CPU來說不能單純的比較他們二級緩存的大小來評價性能高低,因為他們的一級緩存存的東西不一樣,而CPU用到的數據80%都可在一級緩存中找到,只有20%才要到二級緩存以及三級緩存中去找。AMD的一級緩存存儲的是實際數據,相對Intel的CPU實際數據存在二級緩存中,取數據都要到二級緩存,AMD的CPU效率還是挺高的。