半加器和全加器的區(qū)別
半加器+半加法和全加法是算術(shù)運(yùn)算電路中的基本單元,它們是完成1位二進(jìn)制相加的一種組合邏輯電路。
一位加法器的真值表見(jiàn)表1.1;由表中可以看見(jiàn),這種加法沒(méi)有考慮低位來(lái)的進(jìn)位,所以稱(chēng)為半加。半加器就是實(shí)現(xiàn)表1.1中邏輯關(guān)系的電路。被加數(shù)A加數(shù)B和數(shù)S進(jìn)位C0000011010101101
全加器
全加器能進(jìn)行加數(shù)、被加數(shù)和低位來(lái)的進(jìn)位信號(hào)相加,并根據(jù)求和結(jié)果給出該位的進(jìn)位信號(hào)。根據(jù)它的功能,可以列出它的真值表。
半加器和全加器的區(qū)別
1、半加器
在數(shù)學(xué)系統(tǒng)中,二進(jìn)制加法器是它的基本部件之一。
半加器(半加就是只求本位的和,暫不管低位送來(lái)的進(jìn)位數(shù))的邏輯狀態(tài)表
半加器和全加器的原理及區(qū)別(結(jié)構(gòu)和功能)
其中,A和B是相加的兩個(gè)數(shù),S是半加和數(shù),C是進(jìn)位數(shù)。
2、全加器
當(dāng)多位數(shù)相加時(shí),半加器可用于最低位求和,并給出進(jìn)位數(shù)。第二位的相加有兩個(gè)待加數(shù)和,還有一個(gè)來(lái)自前面低位送來(lái)的進(jìn)位數(shù)。這三個(gè)數(shù)相加,得出本位和數(shù)(全加和數(shù))和進(jìn)位數(shù)。
半加器和全加器的區(qū)別主要是半加器沒(méi)有接收進(jìn)位的輸入端,全加器有進(jìn)位輸入端,在將兩個(gè)多位二進(jìn)制數(shù)相加時(shí),除了最低位外,每一位都要考慮來(lái)自低位的進(jìn)位,半加器則不用考慮,只需要考慮兩個(gè)輸入端相加即可。
半加器是實(shí)現(xiàn)兩個(gè)一位二進(jìn)制數(shù)加法運(yùn)算的器件。它具有兩個(gè)輸入端(被加數(shù)A和加數(shù)B)及輸出端Y。全加器是用門(mén)電路實(shí)現(xiàn)兩個(gè)二進(jìn)制數(shù)相加并求出和的組合線路,稱(chēng)為一位全加器。一位全加器可以處理低位進(jìn)位,并輸出本位加法進(jìn)位。多個(gè)一位全加器進(jìn)行級(jí)聯(lián)可以得到多位全加器。
本文主要介紹半加器和全加器,通過(guò)邏輯電路和其真值表了解它們的原理,以了解單片機(jī)、CPU是怎么工作的。在進(jìn)入這個(gè)主題之前,要先了解布爾邏輯和邏輯門(mén),這對(duì)本文的閱讀,或者閱讀其他數(shù)字電路資料非常重要。
什么是加法器?
加法器是一種計(jì)算器,用于將兩個(gè)二進(jìn)制數(shù)相加。這個(gè)計(jì)算器不是指帶有按鈕的計(jì)算器,這是一種可以與許多其他電路集成以實(shí)現(xiàn)廣泛應(yīng)用的電路。有兩種加法器:
1. 半加器
2. 全加器
半加器
在半加器和其它邏輯門(mén)的幫助下,我們可以設(shè)計(jì)能夠執(zhí)行簡(jiǎn)單加法的電路。
讓我們先來(lái)看看一位二進(jìn)制的加法。
0+0 = 0
0+1 = 1
1+0 = 1
1+1 = 10
一位二進(jìn)制加法器是最小單元,上面的算式可以看到1+1=10,有2位輸出。
因此,上述加法算式可以寫(xiě)成
0+0 = 00
0+1 = 01
1+0 = 01
1+1 = 10
這里'10'的輸出'1'為進(jìn)位。結(jié)果顯示在下面的真值表中。
先看看實(shí)現(xiàn)半加器的邏輯圖。
從真值表和邏輯圖中可以清楚地看出,這個(gè) 1 位加法器用異或門(mén)和進(jìn)位的與門(mén)實(shí)現(xiàn),輸出“Sum”。
對(duì)于復(fù)雜的加法,可能存在多位數(shù)相加的情況。這需要更合適的加法器來(lái)幫助——全加器。
全加器
兩個(gè)半加器電路可以實(shí)現(xiàn)一個(gè)全加器。第一個(gè)半加法器將用于將 A 和 B 相加以產(chǎn)生部分和。后一個(gè)半加法器用于將 CIN 與前一個(gè)半加法器產(chǎn)生的和相加,以獲得最終的 S 輸出。任何半加器邏輯產(chǎn)生進(jìn)位,就會(huì)有一個(gè)輸出進(jìn)位。因此,COUT 將是半加器進(jìn)位輸出。看看下面全加器邏輯電路的實(shí)現(xiàn)。
這種類(lèi)型的加法器比半加法器的實(shí)現(xiàn)稍微復(fù)雜。半加器和全加器的主要區(qū)別在于全加器具有三個(gè)輸入和兩個(gè)輸出。前兩個(gè)輸入是加數(shù)“A”和 “B”,第三個(gè)輸入是前面一步的運(yùn)算進(jìn)位CIN,如1+1=10,結(jié)果“10”中的“1”就是CIN,用于下一次相加運(yùn)算的輸入。
從上面的真值表和全加器邏輯圖,我們可以看到,輸出S是輸入 A 與 B 的半加器運(yùn)算結(jié)果和進(jìn)位CIN的異或運(yùn)算。我們還必須注意,只有當(dāng)“A”,“B”“CIN”輸入中的任意兩個(gè)輸入為高電平時(shí),COUT 才會(huì)為真。
把全加器復(fù)雜的邏輯圖抽象出來(lái),用以下圖來(lái)表示:
使用這種抽象類(lèi)型的符號(hào),我們把多個(gè)全加器組合,從前一個(gè)單元全加器輸出一個(gè)進(jìn)位,并將這個(gè)進(jìn)位發(fā)送到下一個(gè)全加器,可以組成多位加法器。
在計(jì)算機(jī)中,對(duì)于多位運(yùn)算,每個(gè)位由一個(gè)全加器表示。因此,要把4位二進(jìn)制數(shù)相加,可以通過(guò)兩個(gè)由4個(gè)全加器組合形成的多位加法器來(lái)完成。至于加法器的代碼呢,小編也就不重復(fù)添加了,跟半加器的代碼差不了多少,用到的依舊是“{}”位拼接符號(hào)會(huì)比較簡(jiǎn)便一些,大家可以自行編寫(xiě)設(shè)計(jì)。對(duì)于半加器以及加法器的應(yīng)用呢,依舊是很廣泛的,但是需要依賴(lài)于其它的設(shè)計(jì),單獨(dú)設(shè)計(jì)半加器,可能在現(xiàn)實(shí)中起不到什么很有效的作用。一般是作為加法器的基本模塊,當(dāng)多個(gè)加法器組合在一起的時(shí)候,就可以作為“計(jì)算器”來(lái)計(jì)算了,早期的大型計(jì)算機(jī)就是利用了無(wú)數(shù)的加法器來(lái)實(shí)現(xiàn)復(fù)雜的運(yùn)算的。所以說(shuō),復(fù)雜的工程,缺少不了許許多多的基本的知識(shí)模塊,現(xiàn)代如此高智能的新科技的發(fā)明依舊是站在前人的肩膀上的,而不是因?yàn)楝F(xiàn)代人比前人聰明,這個(gè)道理,大家應(yīng)該要懂得。