《編碼》讀書(shū)筆記 —— 布爾代數(shù)與邏輯門

在開(kāi)始正式介紹加法器器之間復(fù)習(xí)一下要用到的基礎(chǔ)知識(shí)。方便后面看起來(lái)不吃力。

注意:電路符號(hào)截圖比較小,居然在簡(jiǎn)書(shū)上顯示不出。

布爾代數(shù)

傳統(tǒng)的數(shù)學(xué)僅僅描述了數(shù)字之間的關(guān)系。布爾發(fā)明了一種代數(shù),看上去和傳統(tǒng)代數(shù)一樣,運(yùn)算規(guī)則也很相似。最大的不同是布爾代數(shù)用于描述邏輯,說(shuō)簡(jiǎn)單一點(diǎn)就是用來(lái)描述大腦如何工作的。

傳統(tǒng)代數(shù)中的交換律、結(jié)合律、分配率在布爾代數(shù)中都成立。在布爾代數(shù)中加法還可以分配乘法,這一點(diǎn)與傳統(tǒng)代數(shù)不同。

一些規(guī)則:

  • +號(hào)表示并集,x號(hào)表示交集
  • 符號(hào)1表示全集
  • 1與減號(hào)連用表示全集中排除一些事物。
  • 0表示空集,不包含任何元素

由于這些符號(hào)和傳統(tǒng)的數(shù)學(xué)符號(hào)表示的意義不一樣,所以就會(huì)出現(xiàn)一些莫名奇怪的表達(dá)式。比如:

現(xiàn)在字母去代替并集和交集的概念,比較接近表達(dá)式想表達(dá)的意思:


舉個(gè)通俗易懂的例子(為了說(shuō)明問(wèn)題):去相親,對(duì)女方肯定有要求。首先是女的,這個(gè)條件用M表示;其次漂不漂亮,這個(gè)用B表示;比自己打還是小,用A表示;

比如你的相親表達(dá)式是:M*B+B*A,表示只要滿足以下條件就可以了。

  • 是女的,并且漂亮,大小無(wú)所謂;或者漂亮,只要比自己小,是不是女的無(wú)所謂。

字母不僅僅代表集合,這里字母可以用數(shù)字來(lái)賦值,比如只有數(shù)字0和1。1代表滿足條件YES,0代表不滿足條件No。根本這個(gè)規(guī)則把上面的相親表達(dá)式替換為0和1的式子:(1*1+1*0)。如果化簡(jiǎn)結(jié)果為1則就符合你的標(biāo)準(zhǔn)。

結(jié)合之前講的電路知識(shí),把布爾代數(shù)和電路相融合。開(kāi)啟了利用二進(jìn)制計(jì)算的計(jì)算機(jī)篇章。

邏輯 電路圖
AND
OR

邏輯門

可以運(yùn)用布爾代數(shù)的所有攻擊去設(shè)計(jì)開(kāi)關(guān)電路,同事簡(jiǎn)化一個(gè)描述網(wǎng)絡(luò)的布爾表達(dá)式,也就可以簡(jiǎn)化響應(yīng)的電路圖。雖然電路中的所有元件在19世紀(jì)就已經(jīng)被發(fā)明出來(lái)了,但是布爾表達(dá)式在電路和使用知道20世紀(jì)30年代才被發(fā)現(xiàn)。

現(xiàn)在我們來(lái)實(shí)現(xiàn)一個(gè)選貓的游戲。前面用相親的例子,現(xiàn)在用選貓一樣。

從左到又開(kāi)關(guān)分別表示。是否公母、是否絕育、后兩個(gè)表示顏色白黑褐,和其他顏色。

計(jì)算機(jī)中,開(kāi)關(guān)是一種輸入設(shè)備,輸入是控制電路如何工作的信息對(duì)應(yīng)到上面,輸入就是對(duì)應(yīng)4個(gè)二進(jìn)制數(shù)信息,這些信息用來(lái)描述一只貓。輸出設(shè)備就是燈泡,如果開(kāi)關(guān)描述一只符合標(biāo)準(zhǔn)的貓,燈就會(huì)亮。最原始的計(jì)算機(jī)就是這種感覺(jué)。

繼電器向開(kāi)關(guān)一樣可以并聯(lián)、串聯(lián)在電路中執(zhí)行簡(jiǎn)單的邏輯任務(wù)。這種繼電器的組合叫做邏輯門。之前提到過(guò)繼電器不用人為控制而是通過(guò)電路控制,被其他繼電器控制。這就意味著一些簡(jiǎn)單的邏輯門組合起來(lái),可以實(shí)現(xiàn)更復(fù)雜的功能。比如簡(jiǎn)單的算數(shù)運(yùn)算。組合非常的神奇

之前在電報(bào)系統(tǒng)中講到過(guò)繼電器是為了放大微弱的信號(hào)實(shí)現(xiàn)強(qiáng)信號(hào)的,并且通過(guò)電磁鐵實(shí)現(xiàn)。在這里我們更加關(guān)心的是繼電器作為電流控制而非認(rèn)為控制的開(kāi)關(guān)。

簡(jiǎn)化繼電器先不看回路,單單看繼電器,從輸入輸出開(kāi)始。


當(dāng)電流流經(jīng)是,電磁鐵被觸發(fā),得到一個(gè)高電壓。這里的接電線代表的是公共線路部分。

繼電器的輸入不一定是開(kāi)關(guān)、輸出也未必?zé)襞?。比如下圖:

連接繼電器是建立邏輯門的關(guān)鍵。

有種繼電器叫做雙擲繼電器。擁有兩個(gè)輸出,但是兩個(gè)輸出在電的極性上是對(duì)立的。一端有電壓,另一端就沒(méi)有,是對(duì)邏輯NOT的描述。

將總結(jié)如下

類型 電路圖 符號(hào) 說(shuō)明 真值表
與門(AND)
這個(gè)電路圖實(shí)現(xiàn)了串聯(lián)一樣的效果。只有當(dāng)兩個(gè)繼電器被觸發(fā)的時(shí)候燈泡才會(huì)亮。
或門(OR)
兩個(gè)繼電器的輸出是接在一起,任何一個(gè)繼電器都能點(diǎn)亮燈泡。
反向器(NOT)
反向器不是邏輯門(一個(gè)邏輯門通常有兩個(gè)或者多個(gè)輸入),用于將0(低頻)轉(zhuǎn)為1(高頻) 取反

有了上面這三種基本的關(guān)系以及電路圖,就可以組合成為多種情況。

  • 結(jié)合選貓的例子

開(kāi)關(guān)斷開(kāi)表示公貓,閉合為母貓。



是否未節(jié)育,和上面一樣


表示貓的顏色,
兩個(gè)開(kāi)關(guān)都斷開(kāi)表示白色。使用兩個(gè)反向器和一個(gè)與門來(lái)標(biāo)識(shí)W。



第一個(gè)開(kāi)關(guān)閉合,第二個(gè)斷開(kāi),表示黑色。一個(gè)反向器和與門表示實(shí)現(xiàn)。



同樣第二個(gè)開(kāi)關(guān)閉合,第一個(gè)開(kāi)關(guān)斷開(kāi)表示褐色。一個(gè)反向器和與門表示實(shí)現(xiàn)。

兩個(gè)開(kāi)關(guān)閉合表示其他顏色。

現(xiàn)在把四個(gè)小電路閉合成一個(gè)大電路。(黑實(shí)心點(diǎn)表示交叉線之間是連接的,沒(méi)黑實(shí)心的點(diǎn)表示僅僅穿過(guò),沒(méi)有連接)


這個(gè)圖有點(diǎn)復(fù)雜,是對(duì)上面四種電路的合并。如果都斷開(kāi)輸出信號(hào)W為1,其他都為0,如果第一個(gè)閉合,則輸出信號(hào)B為1其他為0。其他同理。

上面這個(gè)圖有個(gè)別名,叫做2-4譯碼器,輸入2個(gè)二進(jìn)制,各種組合共表示4個(gè)不同的值。輸出四個(gè)信號(hào),任何時(shí)刻只能有一個(gè)是1。除此之外還有3-8譯碼器和4-譯碼器

加入現(xiàn)在有個(gè)選擇貓的表達(dá)式為(每個(gè)+號(hào)賭贏電路中的一個(gè)或門,一個(gè)x號(hào)對(duì)應(yīng)一個(gè)與門):

對(duì)應(yīng)的電路圖(注意反向器對(duì)應(yīng)的是(1-W)


左側(cè)字母從上到下的順序與他們表達(dá)式中出現(xiàn)的順序一樣。

其他門

之前將了兩種最最簡(jiǎn)單的們,與門、或門。反向器不算是邏輯門。

接著上面的圖(基于雙擲繼電器)

類型 電路圖 符號(hào) 說(shuō)明 真值表
或非門
僅當(dāng)兩個(gè)開(kāi)關(guān)都關(guān)閉了,燈泡才會(huì)亮。也就是都為0才為1。
表示的結(jié)果和或門正好相反
與非門
與或門連接相似只有當(dāng)兩個(gè)開(kāi)關(guān)完全閉合的時(shí)候,燈泡才會(huì)熄滅,和與門恰好相反

現(xiàn)在已經(jīng)有了四個(gè)邏輯門和一個(gè)反相器。把這些組合在一起其實(shí)就是原始的繼電器。
比如:


這個(gè)叫做緩沖器符號(hào)如下

和反相器很類似。他的輸入輸出一樣。適用于在輸入信號(hào)很弱的時(shí)候,這也是電報(bào)器使用繼電器的原因。另外緩存器還可以用于延遲一個(gè)信號(hào)。因?yàn)槔^電器需要一點(diǎn)時(shí)間(幾分之一秒)才會(huì)被觸發(fā)

接下來(lái)繼電器將退出介紹,以后電路會(huì)用緩沖器、反向器、和四種基本的邏輯門構(gòu)成。

注意在與門輸入端的小圓圈,這些小圓圈表示在信號(hào)哪一點(diǎn)反轉(zhuǎn)。將0(低電平)轉(zhuǎn)換為1(高電平),反之一樣。

兩個(gè)反向輸入的與門和或非門是等價(jià)的



兩個(gè)反向輸入的或門和與非門等價(jià)

一般用摩根定律簡(jiǎn)化布爾操作數(shù),因此可以用來(lái)簡(jiǎn)化電路。表示如下:


寫在最后

至此已經(jīng)把所有的基礎(chǔ)準(zhǔn)備知識(shí)介紹得差不多了。下一篇正式進(jìn)入加法器的實(shí)現(xiàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容