徒手畫一個加法器吧

沒學過<<數電模電>>,第一次深入的瞭解到計算機是怎麼組成的,感覺非常生氣。世界上最好的學習方法就是分享,此次就分享一下怎麼徒手畫一個加法器吧。emmmm....沒畫之前也不知道需要多大的地方。直接開始吧。

一、電子管到晶體管

1. 繼電器

繼電器是一種小電流控制大電路的自動開關。分爲控制電路和工作電路,控制電路接通後,電流通過線圈,會在電路的線圈處產生電磁感應,吸附銜鐵使右側的工作電路接通。控制電路電壓較低,工作電路電壓較高,通過這個繼電器裝置,就實現了小電流控制大電路的裝置。
繼電器電路
電流在傳輸過程中,隨着距離越來越長,會衰減的越來越多,此時,就可以通過繼電器,放大電流,使得電流傳輸更遠的距離。

2.非門

繼電器的作用的間接控制另一個電路的通短。在上面的繼電器中,控制電路輸入電流,工作電路就會產生電流,工作電路和控制電路狀態使同步的。把控制電路看作輸入,工作電路看作輸出,那麼上面的繼電器就是輸入等於輸出的。我們把控制電路標記爲A端,工作電路標記爲F端。再看另一種繼電器。
繼電器非門
在這個繼電器中,電路結構與之前的基本類似,唯一的區別在於A端未輸入電流時,F端的開關是閉合的,是有電流輸出的,當A端有電流輸入時,F端就會變成開路。此時的繼電器,輸入和輸出相反,我們稱此裝置爲非門。

3.與門

在第一個繼電器中,A端的輸入直接影響到F端。把門把此繼電器進行改造,如下圖所示,A端有兩個控制電路,控制B端的兩個開關的閉合,只有A端的兩個電路都有電流時,F端纔會有電流。這種串聯的電路結構,就是與門。
繼電器與門

4.或門

串聯爲與門,那麼並聯就是或門了,A端的控制電路中,只要有一個有電流,F端就會有電流。
繼電器或門

5.異或門

異或門開始電路就沒上面那麼簡單了,異或門由兩個非門,兩個與門一個或門組成。要說清楚可能需要去解釋數理邏輯和電路之間的關係。更詳細的可能還得用到真值表。鑑於我只是想畫一畫電路圖,就不進行細說了。
我們用下面三個圖示來表示與門,或門和非門。
門符號
異或是這樣的。A和B兩個輸入,F爲輸出。只有A和B由一個爲真是,F才爲真。即A爲真並且B爲假時F爲真,A爲假並且B爲真時F爲真。如果A和B同時爲真,則F爲假,A和B同時爲假,F也爲假。
所以F爲真,只有兩種情況,A爲真並且B爲假 和 A爲假並且B爲真

我們用一個電路表示A爲真B爲假的情況,用另一個電路表示A爲假B爲真的情況。但是異或門的輸入只有A和B,你沒辦發讓輸入即有電流,又沒電流。所以我們需要把A的輸入轉換成兩部分,一部分還是初始的輸入,另一部分通過非門轉換成相反的輸入。所以A和B輸入後通過非門大概是這個樣子。
醜陋的電路
本來我因爲像這樣,畫一個醜陋並且難以看懂的電路圖,奈何並未真的學過電路。其實繼電器左邊的電路都是從輸入電流到線圈,然後都回到了電源的負極。我們電流的流入方向表示爲電流的輸入,然後電流的流出表示爲接地。繼電器右邊的電路,都是一個或多個開關,開關的上面爲電流信號的輸出,下邊爲右邊電路電流的輸入,我們用V表示電流的輸入。所以上面醜陋的電路圖被簡化爲下面這樣。用A和B表示真,!A和!B表示假。
漂亮的簡化電路
兩面的電路只是一個輸入點,我們還需要同樣的電路作爲另一個輸入點。如下圖所示,A和B輸入轉換成了A,!A,B,!B四個輸出。然後把A和!B作爲一個與門的輸入,!A和B作爲另一個與門的輸入。兩個與門的輸出,作爲一個或門的兩個輸入。經過或門得到F值。如果把此電路聯通。當給A或B任意一個電路輸入電流,另一個不輸入電流時,F就是有電流輸出的。如果A和B同時沒電流,或同事有電流。則F沒有電流輸出。這就是一個完整的異或門。
異或門
異或門或許是最後一個用簡化電路畫出來的電路圖了。後面基本就用門符號來表示4種邏輯門了。因爲實在是太複雜了。

6.全加器

一口是吃不了一個胖子的。要畫一個加法器,我們得一步一步的畫。比如我們要計算5+5等於多少。對於我們人類來說,一眼就能看出5+5是10.在複雜一點的,15+15等於多少。這個時候我們可能需要列一個豎式來計算。計算過程是這樣的。5+5得到10,個位得到0,然後向十爲進1,然後在計算十位。1+1再加上個位進上來的1,十位的結果爲3。所以16+16的結果是30.
但是在計算機的世界裏。只有開關的閉合。用數字表示就是0和1.所以計算機的世界都是2進制的數字。15在計算機裏面存爲1111,1111+1111的過程和十進制類似。二進制從右邊往左依次是0位,1位,2位等等。0位的1+1得10,0位爲0,向1位進一位,計算1位,1+1再加上進上來的1,得11,1位位1,在向2位進1.依次這樣計算得到最後的結果。
所以計算一個大的數字,無論是十進制還是二進制。都是計算被加數,加數的位和進位的和。得到的結果有當前位的結果和進位。所以對一位作加法,我們需要三個輸入,2個輸出。用A表示被加數,B表示加數,C1表示輸入的進位,S表示結果,C0表示輸出的進位。有個這3個輸入和2個輸出我們就可以計算二進制中,任意單個數字位的加法。這種計算單個位加法的電路就是全加器。
全加器示意圖
這樣一個複雜的邏輯電路,可以分爲兩個部分。通過A,B,C1得到S和通過A,B,C1得到C0.具體的分析過程需要通過真值表進行歸納。我們用A.B的形式表示A和B相與,可以簡化爲AB,用A+B的形式表示A和B相或。所以通過A,B,C1使得S爲1,有一下四種情況。
!A.!B.C1
!A.B.!C1
A.!B.!C1
A.A.A
通過A,B,C1使得C0爲1,有一下四種情況。
!A.B.C1
A.!B.C1
A.B.!C1
A.B.C1
我們把所有所有讓S爲1的情況作或運算。即四個情況,又一個滿足,S就爲1.C0同理。可以得到兩個公式。
S = !A.!B.C1 + !A.B.!C1 + A.!B.!C1 + A.A.A
C0 = !A.B.C1 + A.!B.C1 + A.B.!C1 + A.B.C1

這樣我們就通過A,B,C1三個輸入得到了S和C0的值。我們把邏輯表達式轉換爲電路,就能得到一個全加器了。全加器中的與門有3個輸入,或門有4個輸入。

全加器電路圖br/>整個全加器中用到了3個非門,7個與門,2個或門。整個全加器一共用了32了繼電器。當然這是相當複雜的。我門可以通過數理邏輯推導把上面的公式轉換成下面的形式。@表示異或
S = A@B@C1
C0 = C1(A@B)+AB
此公式對應的電路圖如下所示。
簡化全加器
此時的全加器,需要兩個與門,2各異或門,1各或門,且都是2各輸入的。
與門和或門,每個門需要2個繼電器。異或門需要8個繼電器,所以一共是22個繼電器。
異或門的繼電器,其實可以進一步簡化爲6個繼電器。畢竟沒學過數電模電,電路圖看起來有點吃力,就不畫了。
全加器可以計算一個位的加法。如果我們相計算多個位的加法,可以把多個全加器連起來。就成了本文的目標電路:加法器。
加法器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章