什麼是時鐘脈衝,CPU爲什麼需要時鐘,時鐘信號是怎麼產生的?

什麼是時鐘脈衝,CPU爲什麼需要時鐘,時鐘信號是怎麼產生的?

首先知道什麼是脈衝

在這裏插入圖片描述
上圖的一個方波稱爲一個脈衝,類似於人類的脈搏跳動。對於每一個方形脈衝,電壓或電路從0上升到最大值的那條線叫做上升沿;反之,電壓或電流逐漸下降的那條線叫做下降沿。一個脈衝稱爲CPU的一個時鐘信號,或者時鐘脈衝。一個脈衝週期就叫CPU時鐘週期,一個時鐘週期內時鐘信號震盪一次。


脈衝的單位

兩個脈衝相繼出現的間隔時間,就是脈衝週期,它是頻率的倒數;而將在單位時間(1秒)內所產生的脈衝個數稱爲頻率。

頻率的單位有:Hz(赫)、kHz(千赫)、MHz(兆赫)、GHz(吉赫)。

  • 其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz。

計算脈衝信號週期的時間單位及相應的換算關係是:s(秒)、ms(毫秒)、μs(微秒)、ns(納秒)

  • 其中:1s=1000ms,1 ms=1000μs(微秒),1μs=1000ns。

CPU一定需要時鐘嗎?

CPU可以有時鐘,也可以沒有時鐘。使用時鐘工作的CPU被稱爲同步CPU (synchronous CPU),而不使用時鐘工作的CPU被稱爲異步CPU (asynchronous CPU)。目前市面上廣泛銷售的CPU都是同步CPU。異步CPU要比同步CPU更快,因爲異步的CPU接到輸入立馬就響應然後輸出,不需要同步等待其他信號,用的時間更少,所以異步CPU快於同步CPU。那麼爲什麼大多數的CPU採用時鐘的方式呢?是因爲異步CPU設計起來極爲複雜,雖然在時間上可以有些優勢,但是如果在納秒這個級別,快100ns甚至1000ns對於人來說幾乎是感覺不到的,卻增加了電路設計的複雜程度,要知道CPU的電路邏輯本生就是人類一壯舉,如果爲了減少納秒級別的時間,而增加本身就已經及其複雜的電路邏輯,無論是時間還是人力成本都會大大增加的。所以設計CPU的工程師們,一定比我們更清楚採用什麼樣的設計,同步CPU是更好的選擇。


爲什麼CPU需要時鐘?

前面我們知道目前市場上銷售的CPU都是需要時鐘的同步CPU,那麼CPU爲什麼需要時鐘呢?

這裏有一篇文章講的很好,解釋了爲什麼CPU需要時鐘:爲什麼CPU需要時鐘這種概念

以下內容引自上面的文章

首先考慮如下邏輯電路:
在這裏插入圖片描述
當A=B=1時,Q=0。當輸入信號發生變化時,邏輯元件不會立即對輸入變化做出反應,會有一個傳播時延(propagation delay)。當B變化爲0時,由於B也作爲XOR的直接輸入,所以XOR異或門會立即感知一個輸入變爲0的狀態變化,XOR輸出變爲了1。但是由於傳播時延的作用,AND與門的輸出會過一小段時間才變爲0,XOR的輸出會在變爲1後隔一小段時間重現變爲0。表現爲下圖就是這樣:
在這裏插入圖片描述
上面這種現象叫作空翻(race condition),即指輸出中出現了一個不希望有的脈衝信號。

一個簡單的辦法就是在輸出端放置一個邊沿觸發器:
在這裏插入圖片描述
邊沿觸發器的作用就是隻有當CLK端輸入從0變到1時,數據端D的輸入纔會影響邊沿觸發器的輸出。這樣,所有的傳播時延都會被邊沿觸發器所隱藏掉,這時Q端的輸出將變得穩定。比如:
在這裏插入圖片描述
其中灰色的部分代表沒有邊沿觸發器時的Q端輸出狀態。我們可以看出,當有了邊沿觸發器後,Q端的輸出變得穩定,基本消除了傳播時延。

從上面的例子我們可以看出CPU爲什麼要時鐘:目前絕大多數的微處理器都是被同步時序電路所驅動,而時序電路由各種邏輯門組成。正如上面說的那樣,邏輯門需要一小段時間對輸入的變化做出反應(propagation delay)。所以需要時鐘週期來容納傳播時延,並且時鐘週期應當大到需要容納所有邏輯門的傳播時延。

當然,目前也有Asynchronous sequential logic,即不需要時鐘信號做同步。但是這種異步邏輯電路雖然速度比同步時序電路快,然而設計起來比同步時序電路複雜的多,並且會遇到上面說的空翻現象(race condition),所以,現在絕大多數的CPU還是需要時鐘做信號同步的。


CPU的時鐘是如何產生的?
先知道什麼是振盪器

CPU的時鐘信號就是一個脈衝,什麼東西可以產生脈衝呢,那就是振盪器。在邏輯電路中,一個首尾相連的非門就構成了一個振盪器。記住下面這幅圖的非門符號。
在這裏插入圖片描述
只要把非門的輸出和輸入相連就可以構成一個振盪器。
在這裏插入圖片描述
上面就是振盪器的邏輯電路圖,下面就是振盪器的樣子。
在這裏插入圖片描述
那這個東西是怎麼工作的呢?在瞭解這個振盪器怎麼工作之前,還有一個東西需要知道,就是常閉觸點的繼電器。爲什麼要知道常閉觸點繼電器?因爲一個非門的實現就是通過常閉觸點的繼電器來實現的。下圖就是一個常閉觸點的電磁繼電器。
在這裏插入圖片描述
我們在初中物理就知道,電能生磁,在電流周圍會產生磁場,給鐵通電就能就能讓鐵產生磁力,這就是電磁鐵。圖中有一個很大的線圈,只要在這個線圈的兩端加上一定的電壓,線圈中就會流過一定的電流,從而產生電磁效應,銜鐵就會在電磁力吸引的作用下克服彈簧的返回拉力被吸向鐵芯,從而帶動動觸點與常閉觸點分離,與常開觸點接通。當線圈斷電後,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力下返回原來的位置,於是動觸點與常閉觸點恢復接通,與常開觸點分離。這樣的常閉觸點繼電器就是一個非門。因爲它輸入1,輸出卻是0.

現在的情況是打開電源開關,銜鐵分離;斷開電源開關,銜鐵閉合,這樣只可以振盪一次,想想如果將它的輸出作爲輸入,它就可以分離,閉合,分離,閉合…,只要有電源,它就可以一直振盪下去。我們把這種輸出作爲下一次的輸入的常閉觸點繼電器就叫做振盪器。

所以,當電源通路的時候,銜鐵臂會被吸引,電路斷開。當電路斷開,失去吸引力,銜鐵臂恢復位置,電路又接通。所以,振盪器的輸出在0和1之間交替變化,於是就會產生一個一個的脈衝,如下圖。
在這裏插入圖片描述
你可能會問,這東西又慢又大,怎麼可能作爲CPU的部件呢?

確實,這東西不可能放進CPU中。說這個大傢伙不過是爲了更好理解振盪器是什麼,這有助於對後面內容的理解。

那CPU中是靠什麼來產生一個一個的時鐘脈衝呢?產生脈衝一定是振盪器,只不過在CPU中,振盪器不是靠電磁鐵來實現了。CPU是一個IC(集成電路),它的時鐘脈衝由晶振來產生。

晶振

這篇文章講的很好:晶振的講解及使用

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章