之前,我引入過一個(ge) 技術問題:
有2個(ge) 設備A、B,通過網絡連通可交互數據,其中A有外接按鍵,B有小顯示屏。
2個(ge) 設備實現這樣的程序:A鍵盤上按下某個(ge) 按鍵,B顯示屏將按鍵值顯示出來。
請問:從(cong) A按下按鍵那一刻起,到B顯示屏看到按鍵值,”按鍵值“這個(ge) 數據是怎麽(me) 從(cong) A的按鍵傳(chuan) 輸到B的顯示屏的?
我們(men) 接著回答這個(ge) 問題。
在文章《半導體(ti) 與(yu) MOS管》中講了計算機世界的物質基礎,講了半導體(ti) 的物理原理、三極管的導通原理,最後講到利用MOS管的「通」與(yu) 「斷」兩(liang) 種狀態來造一顆芯片。
那麽(me) 怎麽(me) 利用MOS管的「通」與(yu) 「斷」點亮一朵小黃燈呢?
我們(men) 先了解下人類是怎麽(me) 在大腦中點燈(思維)的。
邏輯
大腦在思維過程中會(hui) 運用的一種非常重要的思維形式:推理。
即,把事物劃分成不同的集合,通過一定的判斷,找出集合之間的關(guan) 係,形成結論。
下麵這個(ge) 推理是不是一個(ge) 真理,我們(men) 用集合間的關(guan) 係式來證明它。
首先,第一句。
所有關(guan) 注「科岩成果」的人組成一個(ge) 集合A,全世界的人才組成一個(ge) 集合B。
A與(yu) B的交集就表示成
A x B = A
上麵這個(ge) 式子意思是關(guan) 注「科岩成果」的人與(yu) 全世界人才的交集,就是關(guan) 注「科岩成果」的人。
接著,第二句。
花不脫也是一個(ge) 集合H,這個(ge) 集合裏麵隻有花不脫一個(ge) 成員。
H x A = H
這個(ge) 式子表示,花不脫與(yu) 關(guan) 注「科岩成果」的人的交集,就是花不脫。
用代入法,把第一個(ge) 式子代入到第二個(ge) 中:
H x A = H x(A x B)
利用交換律把先後順序修改一下:
H x(A x B)
=(H x A)x B
= H x B
= H
這個(ge) 式子表示,花不脫與(yu) 全世界人才的交集,就是花不脫,即花不脫也屬於(yu) 全世界的人才。
推理過程中要遵循一定的思維規則,思維規則指的就是邏輯,很明顯,我們(men) 剛剛的證明是合乎邏輯的,「花不脫是人才」這個(ge) 推理是真理。
一個(ge) 推理是真理,在布爾代數中用1表示,不是真理就用0表示,即,1和0不代表數字大小,而是代表「真」「假」。
人類世界有人類世界的邏輯,計算機世界中也有計算機的邏輯。
門電路
計算機中的邏輯使用門電路實現的。
先回味一下邏輯「與(yu) 或非」是什麽(me) 意思:
•與(yu) :條件全為(wei) 真,則結論為(wei) 真;隻要一個(ge) 條件為(wei) 假,則結論為(wei) 假
•或:隻要有一個(ge) 條件為(wei) 真,則結論就為(wei) 真;條件全為(wei) 假,則結論為(wei) 假
•非:條件為(wei) 真,結論為(wei) 假;條件為(wei) 假,結論為(wei) 真
如果把小燈泡的亮看做「真」,滅看做「假」,則可以用小燈泡電路說明這三種邏輯關(guan) 係。
「與(yu) 」邏輯,其實就是個(ge) 串聯電路,兩(liang) 個(ge) 開關(guan) 同時閉合時,燈泡才亮,隻一個(ge) 閉合,燈泡是不會(hui) 亮的:
「或」邏輯是並聯電路,隻要一個(ge) 開關(guan) 閉合,燈泡就可以點亮:
「非」邏輯取反,開關(guan) 閉合時燈泡不亮,開啟時才亮:
上麵這些電路都需要物理開關(guan) 來控製,小孩子都會(hui) ,我們(men) 來玩稍微高級一點的。
還記得上篇文章講到的二極管的單向導電性麽(me) ,電源正向接可以當做通路,否則當做斷路。
我們(men) 就用二極管的這個(ge) 性質來實現與(yu) 邏輯。
按上麵這個(ge) 電路接好後,如果A點接3.3V,B點也接3.3V,則D1與(yu) D2兩(liang) 邊均為(wei) 高電平。均可當做斷路狀態,這時Y點是高電平,小燈泡被點亮。
A或B隻要有一個(ge) 點接低電平,則對應的二極管就會(hui) 處於(yu) 導通狀態,Y點是低電平,小燈泡熄滅。
這就是一個(ge) 二極管的邏輯與(yu) 電路,我們(men) 給它起個(ge) 學名,叫「與(yu) 門」。
一般我們(men) 在電路圖中不用上麵的結構表示與(yu) 門,因為(wei) 比較複雜,而是會(hui) 用下麵這樣簡化的符號,可以把這個(ge) 簡化符號看做是上麵那個(ge) 電路圖的封裝。
如果把3.3V看做「真」,用邏輯1表示,把0V看做「假」用邏輯0表示,則A、B與(yu) Y之間的關(guan) 係可以用如下表格表示,這個(ge) 表格叫做「真值表」。
下麵我們(men) 再搭一個(ge) 非門出來。
還記得上篇文章「一沙一世界」之半導體(ti) 與(yu) MOS管 的MOS管麽(me) 。
•P-MOS,D接低電平,S接高電平;G極為(wei) 低電平時DS導通,高電平斷開,可用於(yu) 控製與(yu) 電源之間的通斷
•N-MOS,D接高電平,S接低電平;G極為(wei) 高電平時DS導通,低電平斷開,可用於(yu) 控製與(yu) 地之間的通斷
非門我們(men) 就再高級一點,用MOS管實現。
如上圖,把一個(ge) P-MOS管的D極和一個(ge) N-MOS管D極連在一起,G極也相互連接,就構成了一個(ge) 非門電路。
•當A點為(wei) 低電平時,P型管導通,N型管截止,輸出端Y是高電平;
•當A點為(wei) 高電平時,N型管導通,P型管截止,輸出端Y是低電平。
A與(yu) Y之間的關(guan) 係剛好相反,如下表:
將兩(liang) 種類型的MOS管結合在一起形成的互補門電路稱為(wei) CMOS門電路(互補式金屬氧化物半導體(ti) ,Complementary Metal-Oxide-Semiconductor)。
用三極管也能組成門電路,稱為(wei) TTL門電路(晶體(ti) 管-晶體(ti) 管邏輯,Transistor-Transistor Logic)。
與(yu) TTL門電路相比,CMOS門電路具有功耗低、尺寸小、成本低的優(you) 點。
目前TTL門電路主要用於(yu) 教學或製作比較簡單的數字電路,而我們(men) 使用的電腦處理器、手機處理器,還有各式各樣的單片機都是以CMOS門電路為(wei) 基礎製製造的。
常用的門電路還有很多,就不細說了,貼張基本門電路圖:
能看到這給你點個(ge) 讚,如果有興(xing) 趣,歡迎在公眾(zhong) 號後台回複「門」,送你一本脫發秘籍,詳詳細細把門電路給說透,無論是電路組成還是邏輯關(guan) 係,保證你看完大呼過癮,直覺開門見山,體(ti) 會(hui) 到電子世界的五花八門。
我們(men) 現在可以用門電路進行簡單的邏輯處理了。
我隱約覺得,在計算機的世界中,門電路,就是物質與(yu) 邏輯的邊界。