- 相關推薦
CPU計算原理是什么
CPU計算原理是什么?就好像計算 加減乘除,開方等等,為何CPU能以非常快的速度算出答案? 而CPU的速度有極限嗎?限制是甚麼?帶著這些問題一起看下文吧!
哪里有那么多要知道的,其實計算機的CPU只會做加法,它只知道1+1=10(二進制)其他的工作是由CPU的指令系統(控制單元)來完成的,比如乘法——把一個二進制數乘以二,就是把一個二進制數左邊移一位,除法剛好相反,右移一位。
比如求一個數的10倍:
先給這個數字左移2次=原來數字乘以2,
然后把乘以2的結果放在寄存器里(存儲單元),
再給這個數先左移2次=原來數的4倍,
然后,在給這個數字乘以2=原來數的8倍,
最后加上存放在寄存器里面的兩倍就=原來數字的10倍了。
這些都是由CPU的指令系統控制的,在做邏輯運算的時候(就是邏輯控制單元)在起作用了,其實就是一些奇怪的加法比如:
與運算就會被規定兩個不一樣的數字進行比較結果為0
或運算:
兩個不一樣的數字比較,只要有一個不為“0”那么,結果就不為“0”
CPU的速度取決于兩個方面的因素:
1、內部因素:
比如CPU的制作工藝:二級緩存的大小,運算頻率的高低等等
指令系統的設計:有沒有多媒體指令系統,指令的長度,是32位的指令系統,還是64位指令系統,每次處理的二進制位數是8位,6位、32位、64位、還是128位等等。
2、外部因素:
說是外部因素也不完全準確,最明顯的——前端總線的限制,分兩種:
(1)CPU的前端總線高,主板支持的前端總線低,就好像往一個大瓶子里便灌水的過程CPU的前端總線是瓶子主板的總線頻率就是水流,水流越小灌得就慢,就是說運行的速度就慢。
(2)CPU的前端總線低,主板支持的高,就好像用一個消防栓給一個毛細吸管里邊灌水一樣,水再大也沒有地方裝所以慢。
樓上的提到了超頻,可能一般人不太明白
簡單解釋一下:就好像你有一頭小毛驢,突然有一天你它跑得慢了,于是找了一根鞭子,打他一下,驢子就跑得飛快了,CPU好比驢子鞭子好比跳線(用來改變CPU的工作模式),實際上是改變了加在CPU針腳上的電壓,所以超頻后會發熱,時間長了就會像驢子一樣被“打得遍體鱗傷”
所以在超頻的時候一定要把散熱工作做足,不然驢子就罷工了。
拓展:CPU的工作原理
CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼。它把指令分解成一系列的微操作,然后發出各種控制命令,執行微操作系列,從而完成一條指令的執行。指令是計算機規定執行操作的類型和操作數的基本命令。指令是由一個字節或者多個字節組成,其中包括操作碼字段、一個或多個有關操作數地址的字段以及一些表征機器狀態的狀態字以及特征碼。有的指令中也直接包含操作數本身。
提取
第一階段,提取,從存儲器或高速緩沖存儲器中檢索指令(為數值或一系列數值)。由程序計數器(Program Counter)指定存儲器的位置,程序計數器保存供識別目前程序位置的數值。換言之,程序計數器記錄了CPU在目前程序里的蹤跡。提取指令之后,程序計數器根據指令長度增加存儲器單元。指令的提取必須常常從相對較慢的存儲器尋找,因此導致CPU等候指令的送入。這個問題主要被論及在現代處理器的快取和管線化架構。
解碼
CPU根據存儲器提取到的指令來決定其執行行為。在解碼階段,指令被拆解為有意義的片斷。根據CPU的指令集架構(ISA)定義將數值解譯為指令。一部分的指令數值為運算碼(Opcode),其指示要進行哪些運算。其它的數值通常供給指令必要的信息,諸如一個加法(Addition)運算的運算目標。這樣的運算目標也許提供一個常數值(即立即值),或是一個空間的定址值:暫存器或存儲器位址,以定址模式決定。在舊的設計中,CPU里的指令解碼部分是無法改變的硬件設備。不過在眾多抽象且復雜的CPU和指令集架構中,一個微程序時常用來幫助轉換指令為各種形態的訊號。這些微程序在已成品的CPU中往往可以重寫,方便變更解碼指令。
執行
在提取和解碼階段之后,接著進入執行階段。該階段中,連接到各種能夠進行所需運算的CPU部件。例如,要求一個加法運算,算數邏輯單元(ALU,Arithmetic Logic Unit)將會連接到一組輸入和一組輸出。輸入提供了要相加的數值,而輸出將含有總和的結果。ALU內含電路系統,易于輸出端完成簡單的普通運算和邏輯運算(比如加法和位元運算)。如果加法運算產生一個對該CPU處理而言過大的結果,在標志暫存器里,運算溢出(Arithmetic Overflow)標志可能會被設置。
寫回
最終階段,寫回,以一定格式將執行階段的結果簡單的寫回。運算結果經常被寫進CPU內部的暫存器,以供隨后指令快速存取。在其它案例中,運算結果可能寫進速度較慢,但容量較大且較便宜的主記憶體中。某些類型的指令會操作程序計數器,而不直接產生結果。這些一般稱作ldquo;跳轉(Jumps),并在程式中帶來循環行為、條件性執行(透過條件跳轉)和函式。許多指令也會改變標志暫存器的狀態位元。
這些標志可用來影響程式行為,緣由于它們時常顯出各種運算結果。例如,以一個比較指令判斷兩個值的大小,根據比較結果在標志暫存器上設置一個數值。這個標志可藉由隨后的跳轉指令來決定程式動向。在執行指令并寫回結果之后,程序計數器的值會遞增,反覆整個過程,下一個指令周期正常的提取下一個順序指令。如果完成的是跳轉指令,程序計數器將會修改成跳轉到的指令位址,且程序繼續正常執行。許多復雜的CPU可以一次提取多個指令、解碼,并且同時執行。這個部分一般涉及經典RISC管線,那些實際上是在眾多使用簡單CPU的電子裝置中快速普及(常稱為微控制(Microcontrollers))。
【CPU計算原理是什么】相關文章:
CPU的工作原理07-23
CPU工作原理知識07-01
計算機CPU的作用是什么07-25
細談CPU低功耗技術原理04-30
CPU主頻是什么04-27
cpu緩存是什么06-03
CPU頻率是什么02-07
CPU的頻率是什么07-26
cpu作用是什么06-03
CPU中Cache是什么06-01