文章來源:APC科學聯盟
原文作者:APC君
要提到計算機的工作原理,就不得不提到一種電子裝置:觸發器。觸發器主要由兩個電子管組成,當電流通過觸發器時會通過其中一個電子管。觸發器一共有四個接觸點,其中兩個用來接收外部脈沖,另外兩個用來輸出回答脈沖。外部脈沖輸入的瞬間,觸發器就會“翻轉”,使原本導通的電子管變成閉合狀態,電流轉而進入另一個電子管。當一邊電子管閉合、另一邊電子管導通的瞬間,觸發器就會輸出回答脈沖。
現在我們給觸發器連續不斷地輸入脈沖,并根據圖1中兩根電子管其中的一根——右側的電子管的狀態來確定觸發器的狀態:當右側電子管閉合時,設定觸發器是「0 狀態」;當右側電子管導通時,設定觸發器是「1 狀態」。
如果觸發器的初始狀態為「0 狀態」,即右側電子管為閉合狀態時(如圖 1所示),那么輸入第一個脈沖后,右側電子管導通,觸發器翻轉成「1 狀態」。此時,觸發器不會輸出回答脈沖,因為左側電子管并未導通。接下來,當我們輸入第二個脈沖時,左側電子管導通,右側電子管閉合,觸發器翻轉為「0 狀態」,輸出回答脈沖。
通過觀察可以發現,經過兩次輸入脈沖之后觸發器回到了原始狀態。接著繼續輸入第三個脈沖,觸發器變成了「1 狀態」,再輸入第四個脈沖,觸發器又變成「0 狀態」……也就是說,觸發器的狀態是以2個脈沖為周期進行循環的。
圖1
如果將多個觸發器相互連接會發生什么事呢?以三個觸發器:觸發器1、觸發器2、觸發器3相連為例(如圖 2 ),給觸發器1輸入脈沖信號,之后觸發器1的回答脈沖會作為觸發器2的輸入脈沖,觸發器2的回答脈沖之后又會作為觸發器3的輸入脈沖,最后觸發器3產生回答脈沖。
圖2
假設一共有 5 個觸發器相互連接,最初的狀態都為「0 狀態」,我們可以把這個觸發器組的狀態標記為「00000」。給最右邊的觸發器輸入第一個脈沖后,該觸發器的狀態變為「1 狀態」,但由于沒有回答脈沖,左側的 4 個觸發器依舊是「0 狀態」,整體可以標記為「00001」。接著,我們輸入第二個脈沖,最右邊的觸發器翻轉為「0 狀態」,同時最右邊的觸發器輸出的回答脈沖輸入相鄰的觸發器中,相鄰的觸發器翻轉,成為「1 狀態」,其他觸發器由于沒有接收到回答脈沖,仍舊處于「0 狀態」,整體可標記為「00010」。緊接著輸入第三個脈沖,最右邊的觸發器又會翻轉為「1 狀態」同時不輸出回答脈沖,其他觸發器狀態不變,狀態為「00011」。如此循環,我們最終得到如下數據:
輸入第 1 個脈沖后的狀態為:00001
輸入第 2 個脈沖后的狀態為:00010
輸入第 3 個脈沖后的狀態為:00011
輸入第 4 個脈沖后的狀態為:00100
輸入第 5 個脈沖后的狀態為:00101
輸入第 6 個脈沖后的狀態為:00110
如果把上述狀態視為二進制的數字,轉換為十進制之后我們就能依次得到1,2,3,4,5,6,…。由此可見,相互連接的觸發器可以對外部脈沖信號進行「計數」,而且是一種特殊的計數方式。
二進制通過「0」和「1」來表示所有數字。與十進制有所不同的是,二進制的后一位是前一位的 2 倍,而不是 10 倍。二進制數轉化成十進制數時,將每位數分別乘以2 的 n 次方( n 代表位數)并求和即可。例如,將二進制數「10011」轉化為十進制,就是 1 × 2^0 + 1 × 2^1 + 0 × 2^2 + 0 × 2^3 + 1 × 2^4 = 19。
觸發器每翻轉一次(也就是每輸入一個脈沖信號),只需要一億分之幾秒的時間。現代計數觸發器可以在 1 秒之內「計算」1000 多萬個脈沖,而人眼需要 0.1 左右秒才能識別變換的信號。可以說,跟人類相比,它快了將近 100 萬倍。
下面,我們來看看觸發器如何進行加法運算。把三排觸發器按照圖 3 所示連接起來,其中第一排觸發器用來表示被加數,第二排觸發器用來表示加數,第三排觸發器則用來表示二者之和。當上面兩排觸發器的狀態為「1」時,會分別向第三排觸發器輸出脈沖信號。
圖3
圖3的例子中,前兩排觸發器記下的兩個二進制數是 101 和 111。第三排的第一觸發器從前兩排的第一觸發器處別得到一個脈沖信號(一共得到兩個脈沖信號),根據前面的分析,第三排的第一觸發器依舊處于「0 狀態」,同時會給第三排的第二觸發器輸出一個回答脈沖。除了這個回答脈沖之外,第三排的第二觸發器還會從第二排的第二觸發器得到一個回答脈沖,一共得到兩個脈沖信號,處于「0 狀態」,并輸出一個回答脈沖給第三排的第三觸發器。除了這個回答脈沖之外,第三排的第三觸發器還從第一排和第二排各得到一個脈沖,共得到 3 個脈沖,狀態為「1」,同時輸出一個回答脈沖。第三排的第四觸發器只得到這一個回答脈沖,狀態為「1」。以上過程就是二進制數的加法運算,如果寫成豎式運算,就如下圖所示:
圖4
將圖4中的二進制數換算為十進制數,就會得到 5 + 7 = 12。第三排觸發器輸出的回答脈沖相當于豎式加法運算的進位。如果每排的觸發器有 20 個(或者大于 20 個),就可以計算百萬級甚至千萬級數的加法。如果把上述方案改造一下,不但可以進行加減法運算,還可以進行乘法運算和除法運算。
審核編輯:湯梓紅
-
脈沖
+關注
關注
20文章
889瀏覽量
95620 -
二進制
+關注
關注
2文章
795瀏覽量
41643 -
十進制
+關注
關注
0文章
67瀏覽量
13208 -
觸發器
+關注
關注
14文章
2000瀏覽量
61132 -
電子管
+關注
關注
67文章
279瀏覽量
39345
原文標題:觸發器的原理和應用
文章出處:【微信號:bdtdsj,微信公眾號:中科院半導體所】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論