<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一文讀懂邏輯門(mén)

          共 4795字,需瀏覽 10分鐘

           ·

          2021-11-15 04:42


          導(dǎo)讀:20世紀(jì)60年代中期,Jack Kilby任職的德州儀器公司推出了5400和7400系列集成電路。這些芯片包含了執(zhí)行邏輯運(yùn)算的現(xiàn)成電路。這些特殊的電路稱(chēng)為邏輯門(mén)(或簡(jiǎn)稱(chēng)門(mén)),是布爾函數(shù)的硬件實(shí)現(xiàn),我們稱(chēng)之為組合邏輯。


          作者:?jiǎn)碳{森·E.斯坦哈特(Jonathan E. Steinhart )
          譯者:張開(kāi)元、張淼
          來(lái)源:華章計(jì)算機(jī)(ID:hzbook_jsj)


          邏輯門(mén)對(duì)硬件設(shè)計(jì)者來(lái)說(shuō)是一個(gè)巨大的便利:他們不再需要從零開(kāi)始設(shè)計(jì)一切,建造復(fù)雜的邏輯電路可以像建造復(fù)雜的管道一樣輕松。

          就像水管工可以在五金店找到成箱的三通管、肘管和管接頭一樣,邏輯設(shè)計(jì)者們也可以找到AND門(mén)(與門(mén))、OR門(mén)(或門(mén))、XOR門(mén)(異或門(mén))和反相器(運(yùn)行NOT運(yùn)算的工具)的“工具箱”。圖2-26是這些門(mén)的符號(hào)。

          ▲圖2-26 門(mén)符號(hào)

          正如你所期望的那樣,如果A、B輸入都為真,那AND門(mén)的Y輸出為真。

          圖2-26中反相器符號(hào)的關(guān)鍵部分是○(圓圈),而不是與圓圈連接的三角形。沒(méi)有圓圈的三角形表示緩沖區(qū),作用只是把輸入傳遞給輸出。反相器的符號(hào)只在不與其他設(shè)備結(jié)合使用的情況下才會(huì)用到。

          使用5400和7400系列零件的晶體管–晶體管邏輯(Transistor-Transistor Logic, TTL)構(gòu)建AND門(mén)和OR門(mén)的效率并不高。因?yàn)楹?jiǎn)單門(mén)電路的輸出是反向的,所以需要一個(gè)反相器來(lái)讓簡(jiǎn)單門(mén)電路以正確的方向輸出,而這樣會(huì)使成本更高、速度更慢、能耗更大。所以,基本的門(mén)是NAND(與非)和NOR(或非),它們使用的是圖2-27所示的反向圓圈。


          幸運(yùn)的是,這種額外的反向并不影響設(shè)計(jì)邏輯電路的能力,因?yàn)槲覀兛梢杂玫履Ω山鉀Q反向問(wèn)題。圖2-28應(yīng)用德摩根定律來(lái)說(shuō)明NAND門(mén)相當(dāng)于一個(gè)輸入反向的OR門(mén)。


          到目前為止,如果不算反相器的話(huà),我們看到的所有門(mén)都有兩個(gè)輸入,但事實(shí)上門(mén)可以有兩個(gè)以上的輸入。例如,一個(gè)三輸入的AND門(mén),只有三個(gè)輸入都是真,它的輸出才是真。既然知道了門(mén)的工作原理,我們來(lái)看看使用門(mén)時(shí)會(huì)出現(xiàn)的一些復(fù)雜情況。


          01?利用遲滯現(xiàn)象提高抗噪聲能力

          前面提到,由于決策衡量準(zhǔn)則的原因,使用數(shù)字(離散)器件可以獲得更好的抗噪能力。但在有些情況下這是不夠的。很容易假設(shè)邏輯信號(hào)從0到1的轉(zhuǎn)換是瞬間發(fā)生的,反之亦然。在大多數(shù)情況下這是一個(gè)很好的假設(shè),尤其是當(dāng)我們將門(mén)連接在一起的時(shí)候。但現(xiàn)實(shí)世界中的信號(hào)往往變化得更慢。

          我們來(lái)看緩慢變化的信號(hào)會(huì)是什么樣的。圖2-29顯示了兩個(gè)從0到1緩慢沿斜坡增加的信號(hào)。


          左邊的輸入是沒(méi)有噪聲的,右邊的信號(hào)有一些噪聲??梢钥吹?,嘈雜的信號(hào)導(dǎo)致輸出產(chǎn)生故障,因?yàn)樵肼晻?huì)使信號(hào)不止一次地越過(guò)閾值。

          我們可以使用遲滯現(xiàn)象來(lái)解決這個(gè)問(wèn)題,即決策衡量準(zhǔn)則受歷史的影響。從圖2-30中可以看出,傳遞函數(shù)不是對(duì)稱(chēng)的;實(shí)際上,箭頭所示的上升信號(hào)(從0到1的信號(hào))和下降信號(hào)(從1到0的信號(hào))有不同的傳遞函數(shù)。當(dāng)輸出為0時(shí),應(yīng)用的是右邊的曲線(xiàn),輸出為1時(shí),應(yīng)用的是左邊的曲線(xiàn)。
          ????????????????

          兩條曲線(xiàn)給了我們兩個(gè)不同的閾值:一個(gè)用于上升信號(hào),另一個(gè)用于下降信號(hào)。這意味著,當(dāng)一個(gè)信號(hào)越過(guò)其中一個(gè)閾值時(shí),它需要跨得更遠(yuǎn)才能越過(guò)另一個(gè)閾值,而這也就轉(zhuǎn)化為更高的抗噪能力。

          可發(fā)揮遲滯功能的門(mén)被稱(chēng)為施密特觸發(fā)器,以美國(guó)科學(xué)家Otto H. Schmitt(1913—1998)的名字命名,他發(fā)明了具有遲滯效應(yīng)的電路。因?yàn)檫@種電路比普通的電路更復(fù)雜、更昂貴,它們只在最需要的地方使用。如圖2-31所示的反相器,原理圖符號(hào)描繪了遲滯現(xiàn)象的疊加。



          02?差分信號(hào)


          有時(shí)候噪聲太大,連遲滯都不能減弱噪聲。想象一下走在人行道上,我們把人行道的右側(cè)邊緣稱(chēng)為正向閾值,左側(cè)邊緣稱(chēng)為負(fù)向閾值。你可能邊走邊想些自己的事情,這時(shí)有人推著一輛很寬的推車(chē),把在人行道右側(cè)的你撞了下去,然后一群慢跑者又迫使你閃避到左側(cè)。在這種情況下,我們也需要保護(hù)。

          到目前為止,我們都是根據(jù)一個(gè)絕對(duì)閾值(在觸發(fā)施密特觸發(fā)器的情況下為一對(duì)閾值)來(lái)衡量信號(hào)。但在某些情況下,由于噪聲太大,已越過(guò)施密特觸發(fā)器的閾值,導(dǎo)致觸發(fā)器失效。

          讓我們?cè)囋嚒昂酶鐐儭毕到y(tǒng)吧。想象一下你正和一個(gè)朋友在人行道上走著,如果你的朋友在你的左邊,我們就稱(chēng)這種情況為0,如果你的朋友在你的右邊,我們就稱(chēng)為1。

          當(dāng)那些推車(chē)和慢跑者過(guò)來(lái)時(shí),你和你的朋友都會(huì)被推向人行道另一邊,但你們并沒(méi)有改變相對(duì)位置,所以如果這就是我們要測(cè)量的,那噪聲對(duì)此沒(méi)有任何影響。當(dāng)然如果你們兩個(gè)人只是在彼此附近走著的話(huà),你們可能會(huì)被推來(lái)推去。所以牽著手或者摟著腰會(huì)更好。依偎在一起能更好地抵御噪聲!這被稱(chēng)為差分信號(hào),因?yàn)槲覀儨y(cè)量的是一對(duì)互補(bǔ)信號(hào)之間的差值。圖2-32為一個(gè)差分信號(hào)電路。


          從圖2-32可以看到,驅(qū)動(dòng)器將輸入信號(hào)轉(zhuǎn)換為互補(bǔ)輸出,接收器將互補(bǔ)輸入轉(zhuǎn)換回單端輸出。接收器中通常包含一個(gè)施密特觸發(fā)器,以獲得額外的抗噪能力。

          當(dāng)然,圖2-32中的設(shè)備存在局限性。太多的噪聲會(huì)將電子元件推到指定的工作范圍之外—想象一下,人行道旁邊有一棟樓,你和你的朋友都被推到了這棟樓墻邊上。共模抑制比(Common-Mode Rejection Ratio, CMRR)是元件特性的一部分,表示可處理的噪聲量。之所以稱(chēng)為“共模”,是因?yàn)樗槍?duì)的是一對(duì)信號(hào)中兩個(gè)信號(hào)共同的噪聲。

          差分信號(hào)應(yīng)用于很多地方,比如電話(huà)線(xiàn)。在19世紀(jì)80年代,有軌電車(chē)首次出現(xiàn)時(shí),差分信號(hào)大顯身手。因?yàn)橛熊夒娷?chē)會(huì)產(chǎn)生大量噪聲,對(duì)電話(huà)信號(hào)造成了干擾。

          蘇格蘭發(fā)明家亞歷山大·格雷厄姆·貝爾(Alexander Graham Bell)(1847—1922)發(fā)明了雙絞線(xiàn),將成對(duì)的電線(xiàn)纏繞在一起,相當(dāng)于交纏在一起的電子等效物(見(jiàn)圖2-33)。在今天雙絞線(xiàn)無(wú)處不在,在USB、SATA(磁盤(pán)驅(qū)動(dòng)器)和以太網(wǎng)電纜中均可找到它。

          美國(guó)某樂(lè)隊(duì)使用的音墻演唱會(huì)音響系統(tǒng),是一個(gè)關(guān)于差分信號(hào)傳導(dǎo)的有趣應(yīng)用。音墻演唱會(huì)音響系統(tǒng)通過(guò)使用成對(duì)的麥克風(fēng),使一個(gè)麥克風(fēng)的輸出中減去了另一個(gè)麥克風(fēng)的輸出,從而解決了麥克風(fēng)的反饋問(wèn)題。這樣一來(lái),任何傳進(jìn)兩個(gè)話(huà)筒中的聲音都是共模并被抵消掉的。歌手對(duì)著其中一個(gè)話(huà)筒唱歌,他們的聲音就會(huì)由音響系統(tǒng)傳出。

          從樂(lè)隊(duì)的現(xiàn)場(chǎng)錄音中可以聽(tīng)到,來(lái)自觀(guān)眾的噪聲聽(tīng)起來(lái)很尖銳,這是這套系統(tǒng)的一個(gè)缺陷。這是因?yàn)榈皖l聲音的波長(zhǎng)比高頻聲音的波長(zhǎng)長(zhǎng),與高頻噪聲相比,低頻噪聲更可能是共模的,所以來(lái)自觀(guān)眾的噪聲沒(méi)有被共模。


          03?傳播延遲



          在《計(jì)算機(jī)系統(tǒng)解密:從理解計(jì)算機(jī)到編寫(xiě)高效代碼》2.2.1節(jié),我就提到過(guò)傳播延遲。傳播延遲是一個(gè)統(tǒng)計(jì)測(cè)量值,指輸入的變化反映到輸出中所需要的時(shí)間。傳播延遲因制造工藝和溫度的差異而產(chǎn)生,還受到和門(mén)的輸出端相連接的元件數(shù)量和類(lèi)型的影響。門(mén)有最小和最大延遲,實(shí)際延遲介于兩者之間。

          傳播延遲是限制邏輯電路最大速度的因素之一。設(shè)計(jì)人員如果想讓設(shè)計(jì)的電路正常工作,就得使用最壞情況下的值。這意味著他們?cè)谠O(shè)計(jì)時(shí)必須考慮最短和最長(zhǎng)延遲的情況。


          在圖2-34中,灰色區(qū)域表示因傳播延遲不能依賴(lài)輸出的地方。

          輸出可能在灰色區(qū)域的左邊緣處就發(fā)生變化,但不能保證到右邊緣前一定會(huì)發(fā)生變化。而且隨著更多的門(mén)被串聯(lián)起來(lái),灰色區(qū)域的長(zhǎng)度也會(huì)增加。

          傳播延遲的范圍很大,它的時(shí)間長(zhǎng)度取決于工藝技術(shù)。單個(gè)元件,如7400系列零件,其延遲時(shí)間可以達(dá)到10納秒(即億分之一秒)?,F(xiàn)代大型元件(如微處理器)內(nèi)部的門(mén)延遲可以達(dá)到皮秒(萬(wàn)億分之一秒)級(jí)。在元件的規(guī)格說(shuō)明中,傳播延遲通常以tPLH和tPHL表示,分別代表從低到高和從高到低的傳播時(shí)間。

          既然我們已經(jīng)討論了輸入和在通往輸出的電路上發(fā)生的事情,現(xiàn)在可以看看輸出了。


          04?輸出的變化


          我們已經(jīng)討論了一些關(guān)于門(mén)輸入的問(wèn)題,但我們還沒(méi)有討論很多關(guān)于輸出的內(nèi)容。針對(duì)不同的應(yīng)用場(chǎng)合,有幾種不同類(lèi)型的輸出。

          1. 圖騰柱輸出

          普通門(mén)輸出稱(chēng)為圖騰柱,因?yàn)橐粋€(gè)晶體管堆疊在另一個(gè)晶體管上的方式類(lèi)似于圖騰柱。我們可以用如圖2-35所示的開(kāi)關(guān)來(lái)模擬這種類(lèi)型的輸出。

          圖2-35中左邊的示意圖說(shuō)明了圖騰柱輸出是如何得名的。最上面的開(kāi)關(guān)叫主動(dòng)上拉開(kāi)關(guān),因?yàn)樗演敵龆诉B接到高邏輯電平,使輸出端得到1。圖騰柱的輸出不能連接在一起。從圖2-35可以看出,如果把一個(gè)0輸出和一個(gè)1輸出連接到一起,就會(huì)把正負(fù)電源連接在一起—就像穿越1984年電影Ghostbusters中的流一樣糟糕,而且可能會(huì)使元件熔化。

          2. 開(kāi)路集電極輸出

          另一種類(lèi)型的輸出稱(chēng)為開(kāi)路集電極或開(kāi)路漏極,具體稱(chēng)呼取決于所用晶體管的類(lèi)型。該輸出的原理圖和開(kāi)關(guān)模型如圖2-36所示。

          乍一看,這似乎很奇怪,我們期望得到0作為輸出,但輸出會(huì)浮動(dòng),不是0的時(shí)候,我們并不知道它的值是多少。

          由于開(kāi)路集電極和開(kāi)路漏極類(lèi)型的輸出沒(méi)有主動(dòng)上拉,我們可以將它們的輸出連接在一起而不損害真實(shí)值。我們可以使用被動(dòng)上拉,用一個(gè)上拉電阻將輸出端連接到電源電壓,也就是1的來(lái)源。對(duì)于雙極型晶體管來(lái)說(shuō),電源電壓叫作VCC,對(duì)于MOS(金屬氧化物半導(dǎo)體)晶體管來(lái)說(shuō)叫作VDD。被動(dòng)上拉的效果是形成一個(gè)有線(xiàn)AND,如圖2-37所示。


          可能發(fā)生的情況是,當(dāng)兩個(gè)開(kāi)路集電極輸出都很低時(shí),電阻將信號(hào)拉到1。電阻器限制了電流,所以不會(huì)使電路著火。當(dāng)任何一個(gè)開(kāi)路集電極輸出很低時(shí),輸出為0。你可以通過(guò)這種方式將大量的東西連接到一起,用大量輸入消除AND門(mén)的需求。

          開(kāi)路集電極和開(kāi)路漏極輸出的另一個(gè)用途是驅(qū)動(dòng)LED(發(fā)光二極管)之類(lèi)的設(shè)備。開(kāi)路集電極和開(kāi)路漏極器件通常是為驅(qū)動(dòng)設(shè)備而設(shè)計(jì)的,能夠處理的電流要高于圖騰柱輸出器件。一些類(lèi)型的輸出允許將輸出拉到一個(gè)比邏輯1更高的電壓水平,這使它們可以與其他類(lèi)型的電路相連。這一點(diǎn)很重要,雖然7400門(mén)系列的閾值是一致的,但其他的門(mén)系列閾值不同。

          3. 三態(tài)輸出

          雖然開(kāi)路集電極電路允許輸出連接在一起,但它們沒(méi)有主動(dòng)上拉的速度快。因此,我們暫時(shí)放下兩態(tài)解決方案,引入三態(tài)輸出。第三狀態(tài)是“關(guān)閉”。有一個(gè)額外的使能輸入可以打開(kāi)和關(guān)閉輸出,如圖2-38所示。


          關(guān)閉被稱(chēng)為hi-Z,或高阻抗?fàn)顟B(tài)。Z是阻抗的符號(hào),在數(shù)學(xué)上是電阻的復(fù)數(shù)形式??梢园讶龖B(tài)輸出想象成圖2-35的電路。分別控制基極可以得到四種組合:0、1、hi-Z和熔斷。顯然,電路設(shè)計(jì)者必須確保選擇的組合不會(huì)使電路熔斷。

          三態(tài)輸出允許大量的設(shè)備組合在一起,但需要注意的是,一次只能使能一個(gè)設(shè)備。

          本文摘編自《計(jì)算機(jī)系統(tǒng)解密:從理解計(jì)算機(jī)到編寫(xiě)高效代碼》。


          延伸閱讀??

          延伸閱讀《計(jì)算機(jī)系統(tǒng)解密

          推薦語(yǔ):計(jì)算機(jī)程序硬件軟件從底層實(shí)現(xiàn)到高層展現(xiàn)原理講解,對(duì)底層知識(shí)的多個(gè)主題進(jìn)行了公平的覆蓋。在本書(shū)中,資深工程師Jonathan E. Steinhart深入探討了計(jì)算機(jī)背后的基礎(chǔ)概念,比如計(jì)算機(jī)硬件,軟件在硬件上的行為,如何編寫(xiě)高效的程序,計(jì)算機(jī)安全基礎(chǔ)知識(shí),以及在編寫(xiě)代碼時(shí)需要考慮的現(xiàn)實(shí)問(wèn)題。

          干貨直達(dá)??



          更多精彩??

          在公眾號(hào)對(duì)話(huà)框輸入以下關(guān)鍵詞
          查看更多優(yōu)質(zhì)內(nèi)容!

          讀書(shū)?|?書(shū)單?|?干貨?|?講明白?|?神操作?|?手把手
          大數(shù)據(jù)?|?云計(jì)算?|?數(shù)據(jù)庫(kù)?|?Python?|?爬蟲(chóng)?|?可視化
          AI?|?人工智能?|?機(jī)器學(xué)習(xí)?|?深度學(xué)習(xí)?|?NLP
          5G?|?中臺(tái)?|?用戶(hù)畫(huà)像?|?數(shù)學(xué)?|?算法?|?數(shù)字孿生

          據(jù)統(tǒng)計(jì),99%的大咖都關(guān)注了這個(gè)公眾號(hào)
          ??
          瀏覽 23
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜福利一区 | 日本久久一级片 | 久一区久久蜜桃 | 黄色美女特极A毛片 | 国产在线A片 |