計算機實現原理專題--邏輯閘
該專題是“編碼”一書的學習筆記,通過筆記的形式能讓自己更好的理解計算機的實現原理(注意這裡說的是實現原理而不是組成原理,千萬不要和大學的計算機組成原理混為一談)。計算機只認0和1,日常生活中的開關就可以表示0和1,由於開關只能直接控制,所以出現了類似於繼電器有間接控制能力的元件,利用繼電器的間接控制功能可以實現更多複雜的計算電路(個人認為即使用開關也能模擬邏輯運算,但實現起來相當繁瑣。雖然現在很少用繼電器來實現積體電路,但基本原理相通,所以下面使用繼電器設計各種邏輯運算電路)。這些複雜電路又是通過邏輯閘構成的,因此下面說說邏輯閘。
如下圖所示的電路:
繼電器就是類似於上圖中的鐵棒繞著n多線圈組成的電磁鐵並間接控制著燈泡的電路。有人說通過開關直接控制燈泡何必多次一舉加個繼電器(其實我也是這樣認為的),但在某些複雜點的閘電路中就能體現出便利性。兩個不同的狀態可以表示任何兩個完全相反的事物(可以表示1和0、真和假、對與錯、開與關等等),但是為了做數學運算選擇了1和0。邏輯運算就是給定兩個輸入狀態輸出1個邏輯狀態的運算,邏輯閘就是實現邏輯運算的電路。
1、與門
當兩個開關同時閉合,燈泡才亮。用兩個開關串聯也能實現,似乎不能體會出繼電器的便利性。
2、或門
當任意一個開關閉合時,燈泡就亮,只有兩個開關都斷開時才不亮。用兩個開關並聯同樣也能實現,也不能體會繼電器的便利性。
3、非門
當開關閉合時燈泡不亮,反之亮,如果用開關來實現就需要一個特殊的開關,當開關開的時候是關閉操作,預設是連線的。
4、或非門
當任意一個開關閉合時燈泡都不亮,和或門是完全相反的,所以稱為或非門。如果用兩個非門的特殊開關串聯也能實現該功能。
5、與非門
只有當兩個開關都閉合時才不亮,任意一個開關閉合都亮和與門相反,又稱與非門。如果用兩個非門的特殊開關並聯也能實現該功能。
6、異或門
當輸入的兩個狀態相同時輸出0不同時輸出1,此時需要將或門和與非門並聯,再將兩個邏輯閘的輸出接到與門輸入上才能實現,此時若使用開關來實現就比較繁瑣了。當然這裡說的是邏輯閘,以簡單的兩個狀態為基礎而後面的加法器、減法器等就會以邏輯閘電路為基礎構件,如果再使用開關估計就相當困難甚至不可實現了。(因為開關沒有間