必威电竞|足球世界杯竞猜平台

譯碼器
來源:互聯網

譯碼器(decoder),在處理器中解析取入流水線的指令碼的電路。

譯碼器主要將取來的指令轉換成信號來控制處理器中的其他部分。指令解釋的方法是由處理器的指令集(instruction setarchitecture)決定的,通常指令中會有幾個位,構成操作碼,來表示處理器將要執行什么操作,也就是操作類型。指令中的其他域通常會為該操作提供足夠的信息,例如操作數等,這些作數有可能是一個常數值,稱為立即數;有可能是某個需要的值的位置,比如寄存器號或者存儲地址。分解出的操作類型信息可用于控制運算部件的執行;操作數信息可用于流水線中相關控制邏輯。指令與譯碼后的內部操作并不僅限于嚴格的一一對應關系。一方面,CISC指令系統中的大多數指令和RISC指令系統中的部分指令,因為其實現的功能復雜,一條指令常對應若于個甚至數十、上百個內部操作;另一方面,微結構通過指令融合技術,還可以將多條指令融合成更少數目的內部操作。

概述

譯碼是編碼的逆過程,在編碼時,每一種二進制代碼,都賦予了特定的含義,即都表示了一個確定的信號或者對象。把代碼狀態的特定含義“翻譯”出來的過程叫做譯碼,實現譯碼操作的電路稱為譯碼器。或者說,譯碼器是可以將輸入二進制代碼的狀態翻譯成輸出信號,以表示其原來含義的電路。

根據需要,輸出信號可以是脈沖,也可以是高電平或者低電平。

分類

譯碼器的種類很多,但它們的工作原理和分析設計方法大同小異,其中二進制譯碼器、二-十進制譯碼器和顯示譯碼器是三種最典型,使用十分廣泛的譯碼電路。

二進制碼譯碼器,也稱最小項譯碼器,N中取一譯碼器,最小項譯碼器一般是將二進制碼譯為十進制碼;

代碼轉換譯碼器,是從一種編碼轉換為另一種編碼;

顯示譯碼器,一般是將一種編碼譯成十進制碼或特定的編碼,并通過顯示器件將譯碼器的狀態顯示出來。

最小項發生器

變量譯碼器是一個將n個輸入變為2^n個輸出的多輸出端的組合邏輯電路。其模型可用下圖來表示,其中輸入變化的所有組合中,每個輸出為1的情況僅一次,由于最小項在真值表中僅有一次為1,所以輸出端為輸入變量的最小項的組合。故譯碼器又可以稱為最小項發生器電路。

工作原理

譯碼器是一種具有“翻譯”功能的邏輯電路,這種電路能將輸入二進制代碼的各種狀態,按照其原意翻譯成對應的輸出信號。有一些譯碼器設有一個和多個使能控制輸入端,又成為片選端,用來控制允許譯碼或禁止譯碼。

在圖1中,74138是一種3線—8線譯碼器,三個輸入端中國男子籃球職業聯賽共有8種狀態組合(000—111),可譯出8個輸出信號Y0—Y7。這種譯碼器設有三個使能輸入端,當G2A與G2B均為0,且G1為1時,譯碼器處于工作狀態,輸出低電平。當譯碼器被禁止時,輸出高電平。

圖2時檢測74ls138譯碼器時間波形的電路,使用的虛擬儀器為數字信號發生器和邏輯分析儀。數字信號發生器在一個周期內按順序送出兩組000—111的方波信號。

圖3表明如何將兩片3線—8線譯碼器連接成4線—16線譯碼器。其中第二片74138的使能端G1和第一片的使能端G2A接成D輸入端。當D=0時,第一片74138工作,對0000—0111的輸入信號進行譯碼輸出。當D=1時,第二片74138工作,對1000—1111的輸入信號進行譯碼輸出。

在圖4中,7442為二—十進制譯碼器,具有4個輸入端和10個輸出端。輸入信號采用8421BCD碼,二進制數0000—1001與十進制數0—9對應。當輸入超過這個范圍是無效,10個輸出端均為高電平。7442電路沒有使能端,因此只要輸入在規定范圍內,就會有一個輸出端為低電平。

圖5位bcd—七段顯示譯碼器電路,LED數碼管將顯示與BCD碼對應的十進制數0—9。因為顯示譯碼器電路輸出高電平,所以應該采用共陰極LED數碼管。

編碼與譯碼的過程剛好相反。通過編碼器可對一個有效輸入信號生成一組二進制代碼。有的編碼器設有使能端,用來控制允許編碼或禁止編碼。

優先編碼器的功能是允許同時在幾個輸入端有輸入信號,編碼器按輸入信號排定的優先順序,只對同時輸入的幾個信號中優先權最高的一個進行編碼。在圖6中,74147為BCD優先編碼器,輸入和輸出都是低電平有效。為了取得有效輸出高電平,可在每個輸出端連接一個反相器。7417只有1—9各輸入端,0輸入端不接入電路。這是因為7417約定,當無有效輸入時,輸出0的BCD代碼0000。

圖7是一個檢測優先編碼/譯碼功能的邏輯電路,對每一個接地的邏輯開關,數碼管都會顯示一個相應的十進制數。在輸入端的8個邏輯開關中,代號為的優先級別最高,代號為的優先級別最低。

闡述

電路結構

圖1

在討論譯碼器的功能前我們來看一下譯碼器的內部結構,下圖是一個主要由與門電路構成的2輸入譯碼器,其輸出共有22個(即4),從圖上可以每個其輸出對應于一個最小項。在這電路中當輸入BA的取值為10,即對應于十進制數的2時,其F2輸出為高電平,其余的輸出為0。

圖2

下圖同樣是一個2輸入的譯碼器,但由于其主要使用了與非門構成的,其每個輸出對應于一個最小項的非。在這電路中,當輸入BA的取會為10時,其輸出F2不再為1,而是輸出為0,其余的輸出為1。

我們將下面這種譯碼器電路看作輸出低電平有效(即當輸入變量對應于十進制i時,其對應的第i個輸出端為低電平,其余為高電平)。而前面的譯碼器當然就是高電平有效了。

圖3

上面列出的兩個電路為2輸入的情況,對于輸入為2個以上的情況也與此相同,同樣可以有輸出高電平有效的,也有輸出低電平有效的。

邏輯功能

由于任何一組合邏輯電路都可以寫成最小項表達式的形式,而譯碼器電路的輸出列出了該電路的所有最小項表達式(或最小項的非表達式),故我們可能用譯碼器電路實現各種組合邏輯電路。

例 用譯碼電路實現F(X,Y,Z)=∑(0,1,4,6,7)=∏M(2,3,5)

我們實現該邏輯功能可以有幾種方法,下圖列出了四種方法,從這四個圖中你應可以總結出其規律。

其中:

圖a為高電平有效輸出加或門的實現方法;

圖b為低電平有效輸出加與非門的實現方法;

圖c為高電平有效輸出加或非門的實現方法;

圖d為低電平有效輸出加與非門的實現方法;

圖-4轟炸機

使能輸入端

在中規模集成電路中經常會碰到使能端(Enable Pin),使能端可以是輸入,也可以是輸出,其是用來擴展中規模集成電路功能的輸入/輸出端,下圖a是一個2輸入譯碼器上加上一個輸入E,由于輸入端E的加入,其功能發生了變化,當E=0時,其輸出全部為0,而該譯碼器在沒有加上E端時,其為高電平有效,這時其輸出端沒有一個處于有效工作狀態,我們可以理解為E=0時,該譯碼器不工作;當E=1時,我們看到,其譯碼器可以正常工作,我們把這種輸入端在E=1時能正常工作的使能端叫做高電平有效。下圖b為其簡化的邏輯符號。

圖5

下圖是使用使能端將兩個2輸入的譯碼器轉變為3輸入的譯碼器的例子,在下圖中當I2為低電平時,第1個譯碼器的使能端為高電平,其正常工作,而第2個譯碼器此時不工作,于是譯碼器1的輸出對應于輸入I3I2I1的0~3;當I2為高電平時,譯碼器2工作,而譯碼器1不工作,故其輸出對應于輸入I2I1I0的4~7,故下圖電路實現了利用使能端將2輸入的譯碼器擴展為3輸入的譯碼器。

圖6

標準中規模

在中規模集成電路中譯碼器有幾種型號,使用最廣的通常是74138,其是一個3到8的譯碼器,下圖是其邏輯符號及管腳排布,下表中列出了該器件的邏輯功能,從表中可以看出其輸出為低電平有效,使能端G1為高電平有效,/G2,/G3為低電平有效,當其中一個為低電平,輸出端全部為1。

圖7

例 試用74138實現函數F(X,Y,Z)=∑m(0,2,4,7)

用74138實現函數與前面講到的譯碼器實現邏輯函數的方法相同,但須注意兩點:

1.74138的輸出是低電平有效,故實現邏輯功能時,輸出端不可接或門及或非門(因為每次僅一個為低電平,其余皆為高電平);

2.74138與前面不同的是,其有使能端,故使能端必須加以處理,否則無法實現需要的邏輯功能。下圖給出了其最終的電路。

圖8

顯示譯碼

常用工作原理

數字電路中常見的數碼顯示器通常有:發光二極管數碼管(LED數碼管)和液晶顯示數碼管(LCD數碼管)兩種。發光二極管數碼管是用發光二極管構成顯示數碼的筆劃來顯示數字,由于發二極管會發光,故LED數碼管適用于各種場合。液晶顯示數碼管是利用液晶材料在交變電壓的作用下晶體材料會吸收光線,而沒有交變電場作用下有筆劃不會聽吸光,這樣就可以來顯示數碼,但由于液晶材料須有光時才能使用,故不能用于無外界光的場合(現在平板電腦的液晶顯示器是用背光燈的作用下可以在夜間使用),但液晶顯示器有一個最大的優點就是耗電相當節省,所以廣泛使用于小型計算器等小型設備的數碼顯示。

下圖是LED數碼管的內部結構及顯示數碼的情況,其是一個陽極連在一體的一種LED數碼管,我們通常稱為共陽極數碼管。既然有共陽數碼管,那么就有共陰數碼管,這里沒有畫出其內部結構,請你自行畫一下。

圖9

LED電路

發光二極管點亮只須使其正向導通即可,根據LED的公共極是陽極還是陰極分為兩類譯碼器,即針對共陽極的低電平有效的譯碼器;針對共陰極LED的高電平輸出有效的譯碼器。

4511是輸出高電平有效的CMOS顯示譯碼器,其輸入為8421BCD碼,下圖和表分別4511的管腳排布、邏輯符號和邏輯功能表。

圖10

圖中:

/LT:試燈極,低電平有效,當其為低電平時,所有筆劃全部亮,如不亮表示該筆劃有問題;

/BL:滅燈極,低電平有效,當其為低電平時,不管輸入的數據狀態如何,其輸出全為低電平,即所有筆劃熄滅;

/ST/LE:選通/鎖存極,其是一個復用的功能端,當輸入為低電平時,其輸出與輸入的變量有關;當輸入為高電平時,其輸出僅與該端為高電平前的狀態,并且輸入DCBA端不管如何變化,其顯示數值保持不變。

D,C,B,A:8421BCD碼輸入,其D位為最位;

a~g:輸出端,為高電平有效,故其輸出應與其陰極的數碼管相對應。

LCD驅動器

LCD譯碼驅動器電路與LED的譯碼驅動電路不同,其輸出不是高電平或低電平,而是脈沖電壓,當輸出有效時,其輸出為交變的脈沖電壓,否則為高電平或低電平。

參考資料 >

譯碼器.中國大百科全書.2024-03-28

生活家百科家居網