1.數據選擇器
之前我們學習了邏輯與算數的計算,得知兩個數字之間的加減和與或的結果是不同的,而一個通用的數字電路不可能只有一個功能,所以我們將在本節引入電路選擇器這一“器件”,來實現對兩個輸入的運算方式的選擇,甚至是學習手機電腦中不同APP的切換的思想。
首先,我們假設數據已經經過了所有的運算,根據運算方式的不同得到了一堆不同的結果,那么我們的任務便是從不同的結果中選出自己想要的,比如此時有兩個結果,一個加,一個減,輸入為16與9,結果便有25與7,假設用1代表加,0代表減,那么設計電路如下:
當1時,選擇16輸出;當0時,選擇9輸出,一方輸出,另一方就關閉,所以需要兩個邏輯相反的開關,同時需要讓開關同時受一個輸入的控制,那么電路設計如下:
2.總線
既然我們將不同的結果發送到了同一個輸出端,那么接下來就自然而然的要將多個結果發送到多個輸出,實現從線到面的轉變,這便是總線。
以兩個輸入(AB)對兩個輸出(12)為例,可能出現的情況有1A,2A,1B,2B,既然所有輸入都能接到所有輸出,那么他們必然是相連的情況:
由于輸入不能接到輸入(會短路),所以需要開關將輸入分開,開關選幾個呢?假設選1個,那么會出現A輸出時,B不受控制的情況,所以至少得2個:
2個自然可以達成上述目的,但開關還應該控制當A輸出到1時,不輸出到2的情況,所以還需要2個控制輸出:
四個開關需要幾個信號控制呢?4個當然可以,當實際輸入無非AB,輸出無非12,所以2個就可以完成數據的輸入輸出選擇,布線可以按照上一節的來:
這便是2對2的總線,而計算機中的通信總線,無非就是對上述情況的堆量而已。