- x86匯編語言:從實模式到保護模式(第2版)
- 李忠等
- 939字
- 2023-12-06 18:11:22
2.3 具有記憶功能的器件——寄存器
一般的電路,它們的工作都是非常直接的。在前面的圖2-3中,一旦我們拉起開關,切斷電路,燈泡立馬就不亮了,這表明電線上傳送的是數字0;相反,一旦我們閉合開關,接通電路,燈泡立馬就亮了,這表明電路上傳送的是數字1。
后來,人們發明了一個裝置,叫作觸發器。如圖2-5所示,一個特制的觸發器有一個輸入端D,以及一個輸出端Q。觸發器的特點是它可以把輸入保存起來,這叫作鎖存。如果你想用眼睛觀察觸發器鎖存的內容,可以在輸出端連接一個燈泡。

圖2-5 具有記憶能力的觸發器
那么,觸發器什么時候鎖存呢?這是可以控制的。注意下面有一根導線和一個按鍵開關,按鍵開關和我們前邊講的那些開關不一樣。按鍵開關有個特點:當你按下它時,它會接通電路;當你松手后,它又會彈起來斷開電路。
這個按鍵開關用于決定是否鎖存。平時,按鍵開關處于斷開狀態,觸發器不會執行鎖存動作,無論從輸入端D來的是0還是1,都不會進入觸發器內部,都不會被觸發器內部的電路保存,更不會出現在輸出端Q,即不影響輸出端Q原來的狀態。
但是,一旦我們按下按鍵開關,則觸發器會立即執行一個鎖存動作,不管輸入端是0還是1,都會被觸發器鎖存起來,并立即出現在輸出端Q。鎖存之后,無論輸入端D再怎么變化,都不會影響到鎖存的內容,也不會影響輸出端Q原來的輸出,除非再次按下按鍵開關發送鎖存命令。
一個觸發器只能保存1比特。為了保存一個比較大的二進制數,如圖2-6所示,可以使用若干個觸發器,將它們組合在一起,這樣就形成了一個新的器件,叫作寄存器(Register),或者叫作鎖存器。

圖2-6 用多個觸發器組成的寄存器
寄存器是一個多輸入、多輸出的器件,它的兩邊都連著一排導線,左邊的導線用來提供輸入,右邊的導線用來提供輸出;下面的按鍵開關用來向組成寄存器的所有觸發器發送鎖存命令。
在圖2-6中,輸入端是二進制數字11000101。當我們按下按鍵開關時,這個數字立即被鎖存。一旦輸入的數字或者說電平被鎖存,那么,即使這些輸入撤銷了也沒有關系,因為它們已經被鎖存在了寄存器內部。與此同時,鎖存的數據也會通過輸出端送出去。
如果需要,寄存器可以隨時鎖存新的數字,以前鎖存的數字會被新的數字沖掉。從這個意義上來說,任何數字都是臨時被保存在這里的,不會長久,屬于臨時性寄存。這就是“寄存器”一詞的由來。
- Boost程序庫完全開發指南:深入C++”準”標準庫(第5版)
- Java 9 Concurrency Cookbook(Second Edition)
- PHP 從入門到項目實踐(超值版)
- C語言程序設計基礎與實驗指導
- Unity Virtual Reality Projects
- Visual C++串口通信技術詳解(第2版)
- Magento 1.8 Development Cookbook
- Learning Concurrency in Kotlin
- 汽車人機交互界面整合設計
- Android嵌入式系統程序開發:基于Cortex-A8(第2版)
- uni-app跨平臺開發與應用從入門到實踐
- Python趣味編程與精彩實例
- PhoneGap 4 Mobile Application Development Cookbook
- MongoDB Cookbook
- Python計算機視覺與深度學習實戰