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