cpu的運算大綱

CPU的位寬對CPU性能的影響絕不亞於主頻。位寬是指微處理器一次執行指令的數據帶寬。處理器的尋址位寬增長很快,業界已使用過4、8、16位尋址再到目前主流的32位,而64位尋址浮點運算已經逐步成爲CPU的主流產品。下面是小編帶來的關於cpu每秒做多少次運算的內容,歡迎閱讀!

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針腳上的電壓,所以超頻後會發熱,時間長了就會像驢子一樣被“打得遍體鱗傷”所以在超頻的時候一定要把散熱工作做足,不然驢子就了。

相關64位處理器的優勢推薦:

32位CPU一次只能處理32位,也就是4個字節的數據;而64位CPU一次就能處理64位即8個字節的數據。如果我們將總長128位的指令分別按照16位、32位、64位爲單位進行編輯的話:舊的16位CPU(如Intel 80286CPU)需要8個指令,32位的CPU需要4個指令,而64位CPU則只要兩個指令。顯然,在工作頻率相同的情況下,64位CPU的處理速度比16位、32位的更快.可以比較一下圖中的32位與64位CPU,64位的代碼流的數量沒有改變,其寬度隨着指令代碼的寬度而變化;而數據流的寬度則增加了一倍。雖然理論上在一個時鐘週期內64位系統處理的數據量是32位系統的兩倍,但理論和現實通常都是有差距的。

要注意的是,CPU不只需要位寬夠寬的寄存器,也需要足夠數量的寄存器,以確保大量數據處理。因此爲了容納更多的數據,寄存器和內部數據通道也必須加倍,因此在64位CPU中的寄存器位數一般是32位CPU中的兩倍。不過,雖然寄存器位數增加了,但正在執行指令的指令寄存器卻都是一樣的,即數據流加倍而指令流不變。此外,增加數據位數還可以擴大動態範圍。在通常使用的十進制中,只能得到最多10個整數(一位數情況下),這是因爲0~9中只有10個不同的符號來表示相應的意思,想要表示10以上的數就需要增加一位數,兩位數(00-99)纔可以表示100個數。可以得出十進制的動態範圍的計算公式:DR=10n (n表示數字位數)。在二進制體系中,相應的我們可以得到公式:DR=2n,那麼目前使用的32位就可以達到232=4.3×109,升級到64位之後,就可以達到264=1.8×1019。動態範圍擴大了43億倍。提示:擴大動態範圍可以在一定程度上提高寄存器中數據的準確性。比如,當使用32位系統處理氣象模擬運算任務時,當處理的數據超過32位所能提供的最大動態範圍時,系統就會出現諸如Overflow(超過了最大正整數)或Underflow(低於最小的負整數)的錯誤提示,這樣寄存器中的數據就無法保證準確。

除了運算能力之外,與32位CPU相比,64位CPU的優勢還體現在系統對內存的控制上。由於地址使用的是特殊的整數,而64位CPU的一個ALU(算術邏輯運算器)和寄存器可以處理更大的整數,也就是更大的地址。傳統32位CPU的尋址空間最大爲4GB,使得很多需要大容量內存的大規模的數據處理程序在這時都會顯得捉襟見肘,形成了運行效率的瓶頸。而64位的處理器在理論上則可以達到1800萬個TB(1TB=1024GB),將能夠徹底解決32位計算系統所遇到的瓶頸現象。