十分鐘 | 計算機硬體及組成原理(三)

本系列今天更新兩部分:同步邏輯和非同步邏輯。

第3章 非同步邏輯簡介

3.1 引言

3.2 布爾代數定律

3.3 卡諾圖

3.4 時鐘和脈衝

第4章 同步邏輯簡介

4.1 引言

4.2 觸發器

4.3 存儲寄存器

——————分————割————線—————

第3章關鍵詞:布爾代數 卡諾圖 邏輯設計 時鐘

不同步的邏輯,輸出變數狀態的改變僅依賴於輸入變數的狀態,還有連接輸入和輸出之間的組合邏輯。如果有延遲,則主要來自於組合邏輯門的傳輸延遲。

引言部分,沒有先急著引入本章的主題(畢竟那麼多嚴格的邏輯分析與設計),而是和我們介紹了這個:

「吾愛吾師,吾更愛真理」——亞里士多德

亞里士多德被公認為現代邏輯之父,他邏輯的核心是「演繹」(具體可以參考書後論文:Aristotles Logic (Stanford Encyclopedia of Philosophy/Fall 2003 Edition))

是不是想起了高中數學呢?

不過,最早的被認為處理邏輯表達式的能力比較好的可以追溯到這個人,喬治·布爾(George Boole,不熟悉的可以看這個:喬治·布爾二百周年:數理邏輯奠基者其人其事)

這個人和我們接下來的主題有關,對,布爾代數定律,這個相對來說更整潔(反正是比亞里士多德的文字版整潔得很多),提供了處理和簡化邏輯方程的規則。比較詳細的可以回去看看諸位的《離散數學》(嫌課本太麻煩的傳送門:布爾代數運算規則)

布爾代數定律中的結合律,可以讓我們通過組合兩個2-輸入或門,得到一個邏輯上的等價的3-輸入或門,說邏輯等價的時候可以不用考慮電學的東西。

另外書上也補充了這個:

非(P 且 Q) = (非 P) 或 (非 Q)

非(P 或 Q) = (非 P) 且 (非 Q)

就是它了:德·摩根定律_百度百科 ,可惜我的高中數學早就還給班主任了……

有些CSer覺得看著布爾代數一堆符號會覺得很繁瑣(好吧……),那麼這兒有個比起布爾代數更簡潔的版本:卡諾圖(又稱K圖,介紹傳送門: 卡諾圖_百度百科)

卡諾圖是邏輯函數的一種圖形表示。一個邏輯函數的卡諾圖就是將此函數的最小項表達式中的各最小項相應地填入一個方格圖內,此方格圖稱為卡諾圖。 卡諾圖的構造特點使卡諾圖具有一個重要性質:可以從圖形上直觀地找出相鄰最小項。兩個相鄰最小項可以合併為一個與項並消去一個變數。

(怎麼看著都和乘法分配律一樣)

卡諾圖的畫法

如果你要畫2個,是這樣的:

第一列:/A /B(00),A /B(10)

第二列: /A B (01),AB(11)

畫3個:

畫4個:

畫5個,以及5個以上,你可以先畫出4變數的平面K圖再加上第5個變數從而畫出三維K圖,可以參考這篇的分幅畫法:五~八變數邏輯函數卡諾圖化簡法研究

一種新的卡諾圖化簡法 中的這個例子可能也不錯,你開心就好:

數字信號可以被表示為波形,邏輯信號被表示為「隨時間變化的一系列值」,這兒我們就引入脈衝這個概念,正脈衝代表「1」,負脈衝代表「0」,

我們把記錄了一串連續的脈衝的叫做「時鐘」,通常由晶體振蕩器控制。在大多數計算機系統里,一個單獨的時鐘信號分布於整個電路中,為所有需要同步的內部操作提供了一個準確的時間源。

這兒還有一些其他的術語:

頻率:單位時間內時間脈衝的數目,單位為赫茲。1Hz=1 時鐘周期/秒

周期:頻率的倒數,相鄰脈衝波形上兩相同位置點之間的時間間隔。

占空度:時鐘信號電壓為高的時間占整個周期的比例。

我們用工程數字單位系統來描述在數字系統設計中常用的頻率和時間量,以下或許後面會有用的關係:

第4章關鍵詞:觸發器

這章從一上來就是各種觸發器,花了我蠻多時間去看各種走線。後來,一想本章主題:同步邏輯(能夠通過某種主控信號來同步邏輯狀態的改變,從而使微處理器所做的事情能按定義好的狀態序列進行下去),慢慢的,還是不明覺厲……

首先,是RS觸發器:

這兒引入了「狀態依賴」的概念,兩個輸出端的狀態不僅依賴於兩個輸入變數的值,也依賴於輸出端先前的狀態。(非同步邏輯,只依賴於輸入變數的值)

然後本章就是各種觸發器了……

當然,單純的RS觸發器並不能說明本章的主題,因為並沒有信號同步。那,我們在用與非門設計的RS觸發器上加上一個時鐘,

然而這樣得到的信號同步程度,依賴於實際時鐘信號的寬度。如果本裝置一直保持高電壓,則R / S輸入上加脈衝信號會讓輸出信號不停的翻轉。理想的情況是用時鐘信號的上升下降來同步這些觸發器(剛剛的高電壓相當於使用時鐘電位高低來調節)。為了保持它的穩定性,我們要求輸出信號的切換要非常快,這時候,出現了它:

增加了一套反饋電路,且第二套輸入加在了原觸發器的輸入上

但如果你列出了他們的真值表,你會發現:

最後當J和K都變成1了,似乎劇本又拿錯了……

那我們做些小修改,在原來的基礎上加一套主從觸發器,然後又成了D型觸發器

(然而到這兒就不是很懂了)

因為我一直在想,如果把前面的設定反過來了,會出現怎麼樣的後果?邏輯關係還像原來那樣子嘛?

/* 這幾頁讀的我挺不明覺厲的,後面這兒還會進行一次修改 */

D觸發器可以配置成計數器、移位寄存器以及存儲寄存器,用的最多的地方應該是存儲寄存器了吧。另外,D寄存器是實現狀態機的關鍵元件(限制了可能的系統狀態變化,讓變化僅僅在時鐘信號上升沿的時候發生)

THE END

推薦閱讀:

二進位里根本沒有 2 這個字元,那麼它是不是應該叫做 10 進位?
如果從小隻學二進位會怎麼樣?
如何區別二進位32個1表示-1,還是4294967295?
錄音的時候,如果周圍沒有聲音,為什麼還會佔存儲空間?

TAG:计算机组成原理 | 二进制 | 计算机 |