邏輯運算系列(二): 組合邏輯電路

隨着半導體制作工藝的發展,許多常用的組合邏輯電路被製作成了中規模集成芯片,一直被廣泛應用。作爲本系列的第二篇文章,本文將重點講解組合邏輯電路的相關概念。

算術邏輯單元,簡稱ALU,是中央處理器(CPU)的執行單元和核心組成部分,由“與門”和“或門”構成的算術邏輯單元,主要功能是進行二位元算術運算,比如加、減、乘(不包括整數除法)。基本上,所有現代CPU的體系結構,是以二進制的補碼形式表示。

關於二進制,這裏稍微解釋下,二進制的最高位(二進制由左到右,最左邊爲最高位)也叫做符號位,代表二進制的正負,正數爲零,負數爲一,二進制分爲原碼、反碼和補碼。當二進制爲正數時,原碼、反碼和補碼相同,當二進制爲負數時,將源碼按位取反,得到反碼,然後最低位加一得到補碼。計算機就是以補碼形式儲存的。

半加器

接下來看第一個ALU——半加器。半加器和全加器是算數邏輯單元的中的基本單元,每完成一位二進制數相加都可以得到一種邏輯電路,如果只考慮兩個加數本身,而不考慮低位進位本身的加法運算,稱爲半加,實現這個邏輯功能的電路叫做半加器,如下圖:

上面是邏輯圖,下面是真值表:

上圖,A、B表示加數,S是本位和,C表示進位數,可以看出這是一個由異或門和與門組成的邏輯電路。

全加器

全加器可以把來自被加數、加數和低位的進位信號相加,並根據求和結果給出該位的進位信號。


其中,A和B爲加數和被加數,其中C爲低位進位數,S爲本位和,v爲高位進位數,,由兩個半加器和一個或門組成。

多位數半加器

串行進位加法器,若由多位數相加,則可採用並行相加串行進位的方式來完成,將低位的進位輸出信號接到高位的進位輸出端。因此,任意1位加法運算必須在低一位的運算完成後才能進行,這種進位方式稱爲串行進位。例如,三個二進制數據相加,可以採用三個全加器,構成三位數加法器。

當然,這種方式既有好處也有壞處,好處是邏輯電路比較簡單,但運算速度不夠快。

由於串行進位加法器受到進位信號的限制,運行速度不是很快。所以,人們又設計出了多位數超前進位加法邏輯電路,使每位的進位只被加數決定,與低位進位無關。

超前進位的所有位數進位是同時完成的。一個CP脈衝就能完成整個進位過程。優點是運算速度快,明顯的缺點是電路複雜。這裏就不詳細介紹了,後續章節會詳細介紹。

還有就是減法運算,加法和減法主要通過輸入的高電平或者低電平來控制,邏輯電路也是一樣的。

編碼器

編碼器,數字系統中常用的數據是二進制碼錶示,用一個二進制代碼表示特定含義的信息稱爲編碼,具有這種編碼邏輯的邏輯電路叫做編碼器。

以4線-2線爲例,它有2^n個輸入,n位二進制碼輸出相對應,編碼器有兩種,分別是普通編碼器和優先編碼器,各有不同的作用,普通編碼器任何時候只允許輸入一位編碼信號。

稍微介紹一下,四個輸入接口I0到I3爲高電平有效,輸出的是二進制代碼Y1,Y0,任何時候I0到I3中只能有一個值爲1,並且輸出一組二進制代碼。除了表中四種組合有效外,其餘全部無效,輸出爲零。

下面是真值表。

下面看看優先編碼器,同樣以4線-2線爲例,優先編碼器和普通編碼器的區別在於,優先編碼器可以同時輸入兩個以上編碼信號。但只對其優先權最高的一個編碼,也就是說可以識別信號的優先級。

功能如下圖所示,可知I0到I3的級別,相對於I0,只有當I1、I2、I3均爲零的時候,纔有無效電平輸入,而且I0爲1的時候,輸出00,但是I3不一樣,無論其他三個數是否輸入有效電平,均輸出爲11,由此可見,I3的優先級別最高,這四個輸入的優先級從高到低分別爲I3、I2、I1、I0。

優先編碼器允許兩個以上的的輸入同時爲1,但只對優先級別較高的輸入進行編碼。當所有電路輸入爲0時,輸出Y1、Y2均爲0。而當Y0爲1時,輸出的Y1、Y0也全爲零。造成這個的原因是輸入條件不同,輸出代碼相同。

實際使用的編碼器一般輸入都比較多,下面看一個典型的優先編碼器。

這裏的GS是優先編碼工作狀態,EI是高電平有效的輸出使能端,EO爲輸出使能端。當EI爲1時,允許編輯器工作,EI爲0時,禁止編碼器工作,此時不論8個輸入端爲何種狀態,輸出皆爲低電平,而且GS和EO也均爲低電平。

GS的主要功能是,當EI爲1時,至少有一個輸入端有高電平信號輸入時,GS爲1,表明編碼器處於工作狀態。反之,則GS爲0。這就相當於一個判斷該編碼器是否處於工作狀態的一個提示。

上面是真值表,可以看出,EI爲0時,I7到I0沒有輸入,也沒有輸出,GS和EO也分別爲零,此編碼器處於關閉狀態。等於1時,允許編碼,I7的優先等級最高。

接下來看譯碼器。譯碼和編碼相反,譯碼是編碼的逆過程,主要是具有特定含義的二進制碼轉化爲對應的輸出信號,這就是譯碼過程。後續會更新一些彙編和CPU指令等內容,歡迎關注。

相關文章:

《邏輯運算系列(一):入門篇》

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