讓小朋友懂一些計算機(六)|CPU的運行、時鐘、超頻

CPU(Central Processing Unit )是怎麼執行命令的

CPU負責執行程序,任何在電腦上運行的軟件都是由一條條的操作指令形成的,無論是你上網瀏覽網頁,還是打開office軟件,還是打英雄聯盟,在CPU看來,這都是一條條操作指令。不過有些讀者就會發問了,為什麼有些軟件那麼大,CPU還可以執行呢,首先CPU的速度非常的快,每秒可以執行的指令說得上是上千萬條。其二,非常大的程序在運行的時候並不是全部運行,可能只僅僅運行一小部分的內容。

讓小朋友懂一些計算機(六)|CPU的運行、時鐘、超頻

取指令 -> 解碼 -> 執行這個循環

取指令 、解碼、執行是CPU一直在做的事情。那麼,到底是怎樣的呢?

我在這裡很簡單很簡單地介紹一下這個循環。首先說一下內存,這個我們前面說到過,內存裡存放著數據和操作指令,因為計算機只知道0和1,所以操作指令也是二進制數。

取指令

首先CPU會通過指令地址寄存器中的地址的來找相應的內存地址中的內容(現代計算機啟動之後,CPU首先會取一個特定地址的內存內容,這個地址是操作系統程序的起始地址。操作系統也是程序哦,它也需要被CPU執行),然後將其送到指令寄存器中,指令寄存器是CPU的一個組件。例如取內存中地址為0號的內容,裡面放著的是00101110。

解碼

讓小朋友懂一些計算機(六)|CPU的運行、時鐘、超頻

解碼的邏輯電路

00101110對CPU來說意味著什麼,它不知道,只有我們人類才知道,我們設計了這個一串數字的含義。在CPU的內部有一張指令對應表來對應二進制數和操作指令的關係,一個數字對應一種指令。控制單元會把這一串數字拆分,前面四位代表的數字會被和CPU內的指令對應表作比較,發現數字對應的指令,這也是通過邏輯電路來進行尋找的。

執行

讓小朋友懂一些計算機(六)|CPU的運行、時鐘、超頻

CPU大致的結構

上一步的解碼已經知道了這一串數字代表了什麼,那麼他將會激發特定的邏輯電路,執行特定的操作,或許會將數據存放在CPU的寄存器中,或許會與其他數相加。

時鐘是什麼,時鐘速度和赫茲

時鐘是控制CPU運行節奏的部件,就像龍舟上的鼓手一樣,每當龍舟上的鼓手敲一下鼓的時候,水手則會跟著鼓手的節奏。這裡也是一樣的時鐘以精確的間隔發送電信號。控制單元會用這個信號,推進CPU的內部操作。CPU完成一套“取指令解碼執行”的速度叫做時鐘速度,單位是赫茲Hz,1赫茲代表每秒1個週期。

超頻和降頻

一般現在的CPU都可以達到每秒1GHz到4GHz,也就是每秒10億到40億次時鐘週期。

超頻就是通過一些手段來提高CPU的時鐘速度以此來提高CPU的運行速度,現代的CPU製造廠商一般都對CPU的時鐘速度留有餘地,因此Intel的某些處理器會有“睿頻”這個功能,其實也是超頻。

因此我們可以超一點頻,但是有些極限愛好者,喜歡搞事情,因此會使用水冷或者液氮來超頻(因為超頻會產生大量的熱量),但是也有極限,因為超頻太多會讓CPU的電信號跟不上時鐘信號而導致亂碼。

降頻就是降低CPU的運行速度,就像人貓著步走路,雖然很慢,但是可以有效地節省電能。因此現代CPU一般採用頻率動態調整技術,使計算機能夠更好地為人類服務。

資料來源

特此鳴謝 The Crash Course

讓小朋友懂一些計算機(六)|CPU的運行、時鐘、超頻

讓小朋友懂一些計算機(六)|CPU的運行、時鐘、超頻


分享到:


相關文章: