浮點數(shù)運算方法_第1頁
浮點數(shù)運算方法_第2頁
浮點數(shù)運算方法_第3頁
浮點數(shù)運算方法_第4頁
浮點數(shù)運算方法_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

浮點數(shù)運算方法第一頁,共六十七頁,2022年,8月28日浮點數(shù)的表示機器中任何一個浮點數(shù)可寫成:Mx為浮點數(shù)的尾數(shù),一般為絕對值小于1的規(guī)格化數(shù)(補碼表示時允許為-1),機器中可用原碼或補碼表示。Ex為浮點數(shù)的階碼,一般為整數(shù),機器中大多用補碼或移碼表示。R為浮點數(shù)的基數(shù),常用2、8、10或16表示。以下以基數(shù)為2進(jìn)行討論。第二頁,共六十七頁,2022年,8月28日浮點加減運算設(shè)兩個浮點數(shù)尾數(shù)的加減運算規(guī)則與定點數(shù)完全相同。當(dāng)兩浮點數(shù)階碼不等時,因兩尾數(shù)小數(shù)點的實際位置不一樣,尾數(shù)部分無法直接進(jìn)行加減運算。如:x=0.123×103y=4.56×102=0.456×103第三頁,共六十七頁,2022年,8月28日浮點加減運算的步驟對階,使兩數(shù)的小數(shù)點位置對齊。尾數(shù)求和,將對階后的兩尾數(shù)按定點加減運算規(guī)則求和(差)。規(guī)格化,為增加有效數(shù)字的位數(shù),提高運算精度,必須將求和(差)后的尾數(shù)規(guī)格化。舍入,為提高精度,要考慮尾數(shù)右移時丟失的數(shù)值位。判斷結(jié)果,即判斷結(jié)果是否溢出第四頁,共六十七頁,2022年,8月28日1.對階這一步操作是將兩個加數(shù)的小數(shù)點對齊。小階向大階看齊,階碼較小的數(shù),其尾數(shù)向右移,每右移一位,階碼加“1”,直到兩數(shù)階碼相同為止。尾數(shù)右移時可能會發(fā)生數(shù)碼丟失,影響精度。

第五頁,共六十七頁,2022年,8月28日例:兩浮點數(shù)x=0.1101×201,

y=-(0.1010)×211,求x+y。

(1)首先寫出x、y在計算機中的補碼表示。

[x]補=00,01;00.1101,[y]補=00,11;11.0110EXMxEyMy(2)在進(jìn)行加法前,必須先對階,故先求階差:

[ΔE]補=[Ex]補-[Ey]補=[Ex]補+[-Ey]補

=00,01+11,01=11,10即ΔE=-2,表示x的階碼比y的階碼小,再按小階向大階看齊的原則,將x的尾數(shù)右移兩位,其階碼加2。得[x]‘補=00,11;00.0011(01)此時,ΔE=0,表示對階完畢。第六頁,共六十七頁,2022年,8月28日2.尾數(shù)求和將對階后的兩個尾數(shù)按定點加(減)運算規(guī)則進(jìn)行運算。注意:并不考慮溢出——溢出由階碼決定

接上例,兩數(shù)對階后得:

[x]ˊ補=00,11;00.0011

[y]補=00,11;11.0110則[Sx+Sy]補=00.0011+11.0110=11.1001即[x+y]補=00,11;11.1001第七頁,共六十七頁,2022年,8月28日3.規(guī)格化尾數(shù)S的規(guī)格化是指尾數(shù)滿足條件:如果采用雙符號位的補碼,則當(dāng)S>0時,其補碼規(guī)格化形式為

[S]補=00.1××…×當(dāng)S<0時,其補碼規(guī)格化形式為

[S]補=11.0××…×但對S<0時,有兩種情況需特殊處理。S=-1/2,則[S]補=11.100…0。對于補碼而言,它不滿足于上面的規(guī)格化表示式。為了便于硬件判斷,特規(guī)定-1/2是規(guī)格化的數(shù)(對補碼而言)。S=-1,則[S]補=11.000…0。因小數(shù)補碼允許表示-1,故-1視為規(guī)格化的數(shù)。第八頁,共六十七頁,2022年,8月28日規(guī)格化又分左規(guī)和右規(guī)兩種。左規(guī)。當(dāng)尾數(shù)出現(xiàn)00.0××…×或11.1××…×?xí)r,需左規(guī)。左規(guī)時尾數(shù)左移一位,階碼減1,直到符合補碼規(guī)格化表示式為止。右規(guī)。當(dāng)尾數(shù)出現(xiàn)01.××…×或10.××…×?xí)r,表示尾數(shù)溢出,這在定點加減運算中是不允許的,但在浮點運算中這不算溢出,可通過右規(guī)處理。右規(guī)時尾數(shù)右移一位,階碼加1。接上例,求和結(jié)果為[x+y]補=00,11;11.1001尾數(shù)的第一數(shù)值位與符號位相同,需左規(guī),即將其左移一位,同時階碼減1,得[x+y]補=00,10;11.0010。第九頁,共六十七頁,2022年,8月28日4.舍入在對階和右規(guī)的過程中,可能會將尾數(shù)的低位丟失,引起誤差,影響精度,為此可用舍入法來提高尾數(shù)的精度。進(jìn)行舍入時應(yīng)滿足兩個要求首先,對每一次運算的結(jié)果而言,要保證誤差不超過給定的范圍。比如,設(shè)機器尾數(shù)長39位,要求每次運算誤差不超過末位(即第39位)的“1”,即小于2-39。其次在大量的運算過程中要保證誤差的平衡,即在每一次運算時,由于舍入處理,可能使運算結(jié)果增大了,也可能減少了。但總的說來,增加和減少的機會必需是均等的,否則會產(chǎn)生很大的積累誤差。第十頁,共六十七頁,2022年,8月28日4.舍入—常用的舍入方法“0舍1入”法:“0舍1入”法類似于十進(jìn)制運算中的“四舍五入”法,即在尾數(shù)右移時,被移去的最高數(shù)值位為0,則舍去;被移去的最高數(shù)值位為1,則在尾數(shù)的末位加1。這樣做可能使尾數(shù)又溢出,此時需再做一次右規(guī)。特點:最大誤差是最低位上的-1/2到接近于1/2之間,正誤差可以和負(fù)誤差抵消。屬于比較理想的方法,但實現(xiàn)起來比較復(fù)雜?!昂阒?”法:尾數(shù)右移時,不論丟掉的最高數(shù)值位是“1”或“0”,都使右移后的尾數(shù)末位恒置“1”。這種方法同樣有使尾數(shù)變大和變小的兩種可能。特點:誤差范圍擴大,但正負(fù)誤差可以相互抵消,實現(xiàn)相對容易。第十一頁,共六十七頁,2022年,8月28日5.溢出判斷在浮點規(guī)格化中已指出,當(dāng)尾數(shù)之和(差)出現(xiàn)01.××…×或10.××…×?xí)r,并不表示溢出,只有將此數(shù)右規(guī)后,再根據(jù)階碼來判斷浮點運算結(jié)果是否溢出。若機器數(shù)為補碼,尾數(shù)為規(guī)格化形式,并假設(shè)階符取2位,階碼取7位,數(shù)符取2位,尾數(shù)取n位,則它們能表示的補碼在數(shù)軸上的表示范圍如下圖。A最小負(fù)數(shù)2+127×(-1)

B最大正數(shù)2+127×(1-2-n)

a最大負(fù)數(shù)2-128×(-2-1-2-n)

b最小正數(shù)2-128×2-1

第十二頁,共六十七頁,2022年,8月28日浮點機的溢出與否可由階碼的符號決定。即階碼[j]補=01,××…×為上溢。階碼[j]補=10,××…×為下溢,按機器零處理。當(dāng)階符為“01”時,需做溢出處理。下溢時,浮點數(shù)值趨于零,故機器不做溢出處理,僅把它作為機器零。上溢時才是浮點數(shù)真正溢出,機器需停止運算,作溢出中斷處理。一般所說的浮點溢出,均是指上溢。第十三頁,共六十七頁,2022年,8月28日例:設(shè)x=2-101×(-0.101000),y=2-100×(+0.111011),并假設(shè)階符取2位,階碼取3位,數(shù)符取2位,尾數(shù)取6位,求x-y。

解:由x=2-101×(-0.101000),y=2-100×(+0.111011)得[x]補=11,011;11.011000,[y]補=11,100;00.111011①對階

[Δj]補=[jx]補-[jy]補=11,011+00,100=11,111即Δj=-1,則x的尾數(shù)向右移一位,階碼相應(yīng)加1,即

[x]ˊ補=11,100;11.101100②求和

[Sx]ˊ補-[Sy]補=[Sx]補+[-Sy]補

=11.101100+11.000101

=10.110001即[x-y]補=11,100;10.110001尾數(shù)符號位出現(xiàn)“10”,需右規(guī)。第十四頁,共六十七頁,2022年,8月28日(續(xù)):即[x-y]補=11,100;10.110001,尾數(shù)符號位出現(xiàn)“10”,需右規(guī)。③規(guī)格化右規(guī)后得[x-y]補=11,101;11.0110001④舍入處理采用0舍1入法,其尾數(shù)右規(guī)時末位丟1,則

[x-y]補=11,101;11.011001⑤溢出判斷經(jīng)舍入處理后階符為“11”,不溢出,故最終結(jié)果:x-y=2-011×(-0.100111)第十五頁,共六十七頁,2022年,8月28日浮點數(shù)加減運算流程第十六頁,共六十七頁,2022年,8月28日浮點加減法運算大型計算機和高檔微型機中,浮點加減法運算是由硬件完成的。低檔的微型機浮點加減法運算是由軟件完成的,但無論用硬件實現(xiàn)或由軟件實現(xiàn)加減法運算,基本原理是一致的。浮點加減法運算要經(jīng)過對階、尾數(shù)求和、規(guī)格化、舍入和溢出判斷五步操作。其中尾數(shù)運算與定點加減法運算相同,而對階、舍入、規(guī)格化和溢出判斷,則是浮點加減法與定點加減法運算不同的操作。在補碼浮點運算中,階碼與尾數(shù)可以都用補碼表示。在硬件實現(xiàn)的運算中,階符和數(shù)符常常采取雙符號位,正數(shù)數(shù)符用00表示,負(fù)數(shù)數(shù)符用11表示。第十七頁,共六十七頁,2022年,8月28日浮點乘除法運算設(shè)兩浮點數(shù)則階碼運算尾數(shù)運算第十八頁,共六十七頁,2022年,8月28日1.階碼運算若階碼用補碼運算,乘積的階碼為[jx]補+[jy]補,商的階碼為[jx]補-[jy]補。若階碼用移碼運算,則

[jx]移=2n+jx-2n≤jx<2n(n為整數(shù)的位數(shù))[jy]移=2n+jy-2n≤jy<2n(n為整數(shù)的位數(shù))

所以[jx]移+[jy]移=2n+jx+2n+jy=2n+(2n+(jx+jy))=2n+[jx+jy]移可見,直接用移碼求階碼和時,其最高位多加了一個2n,要得到移碼形式的結(jié)果,必須減去2n。

第十九頁,共六十七頁,2022年,8月28日由于同一個真值的移碼和補碼其數(shù)值部分完全相同,而符號位正好相反,即[jy]補=2n+1+jy(mod2n+1)因此如果求階碼和可用下式完成:

[jx]移+[jy]補=2n+jx+2n+1+jy=2n+[2n+(jx+jy)]=[jx+jy]移(mod2n+1)則直接可得移碼形式。

同理,當(dāng)作除法運算時,商的階碼可用下式完成:

[jx]移+[-jy]補

=[jx-jy]移第二十頁,共六十七頁,2022年,8月28日階碼運算階碼運算方法:進(jìn)行移碼加減運算時,只需將移碼表示的加數(shù)或減數(shù)的符號位取反(即變?yōu)檠a碼),然后進(jìn)行運算,就可得階和(或階差)的移碼。溢出判斷:在原有移碼符號位的前面(即高位)再增加位符號位,并規(guī)定該位恒用“0”表示,而加數(shù)或減數(shù)的補碼的兩位符號位則一致。溢出的條件是運算結(jié)果移碼的最高符號位為1。此時若低位符號位為0,表示上溢;低位符號位為1,表示下溢。如果運算結(jié)果移碼的最高符號位為0,即表明沒溢出。此時若低位符號位為1,表明結(jié)果為正:低位符號位為0,表示結(jié)果為負(fù)。第二十一頁,共六十七頁,2022年,8月28日階碼運算溢出判斷舉例:設(shè)階碼取三位(不含符號位),

當(dāng)jx=+101,jy=+110時,有[jx]移=01,101,[jy]補=00,110則:

[jx+jy]移=[jx]移+[jy]補=01,101+00,110=10,001結(jié)果上溢

[jx-jy]移=[jx]移+[-jy]補=01,101+11,100=01,001結(jié)果+1第二十二頁,共六十七頁,2022年,8月28日2.尾數(shù)運算(1)浮點乘法尾數(shù)運算(2)浮點除法尾數(shù)運算第二十三頁,共六十七頁,2022年,8月28日(1)浮點乘法尾數(shù)運算預(yù)處理:檢測兩個尾數(shù)中是否有一個為0,若有一個為0,乘積必為0,不再作其他操作;如果兩尾數(shù)均不為0,則可進(jìn)行乘法運算。相乘:兩個浮點數(shù)的尾數(shù)相乘可以采用定點小數(shù)的任何一種乘法運算來完成。規(guī)格化:相乘結(jié)果可能要進(jìn)行左規(guī),左規(guī)時調(diào)整階碼后如果發(fā)生階下溢,則作機器零處理;如果發(fā)生階上溢,則作溢出處理。第二十四頁,共六十七頁,2022年,8月28日尾數(shù)截斷:尾數(shù)相乘會得到一個雙倍字長的結(jié)果,若限定只取1倍字長,則乘積的若干低位將會丟失。如何處理丟失的各位值,通常有兩種辦法。截斷處理:無條件的丟掉正常尾數(shù)最低位之后的全部數(shù)值。舍入處理:按浮點加減運算討論的舍入原則進(jìn)行舍入處理。

第二十五頁,共六十七頁,2022年,8月28日(1)浮點乘法尾數(shù)運算舍入處理對于原碼,采用0舍1入法時,不論其值是正數(shù)或負(fù)數(shù),“舍”使數(shù)的絕對值變小,“入”使數(shù)的絕對值變大。對于補碼,采用0舍1入法時,若丟失的位不是全0,對正數(shù)來說,“舍”、“入”的結(jié)果與原碼正好相同;對負(fù)數(shù)來說,“舍”、“入”的結(jié)果與原碼分析正好相反,即“舍”使絕對值變大,“入”使絕對值變小。為了使原碼、補碼舍入處理后的結(jié)果相同,對負(fù)數(shù)的補碼可采用如下規(guī)則進(jìn)行舍入處理。①當(dāng)丟失的各位均為0時,不必舍入;②當(dāng)丟失的各位數(shù)中的最高位為0時,且以下各位不全為0;或丟失的各位數(shù)中的最高位為1,且以下各位均為0時,則舍去被丟失的各位;③當(dāng)丟失的各位數(shù)中的最高位為1,且以下各位又不全為0時;則在保留尾數(shù)的最末位加1修正。

第二十六頁,共六十七頁,2022年,8月28日舍入操作實例[x]補舍入前舍入后對應(yīng)的真值1.011100001.011110001.011101011.011111001.0111(不舍不入)1.0111(舍)1.0111(舍)1.1000(入)-0.1001-0.1001-0.1001-0.1000對負(fù)數(shù)的補碼可采用如下規(guī)則進(jìn)行舍入處理。①當(dāng)丟失的各位均為0時,不必舍入;②當(dāng)丟失的各位數(shù)中的最高位為0時,且以下各位不全為0;或丟失的各位數(shù)中的最高位為1,且以下各位均為0時,則舍去被丟失的各位;③當(dāng)丟失的各位數(shù)中的最高位為1,且以下各位又不全為0時;則在保留尾數(shù)的最末位加1修正。

[x]原舍入前舍入后對應(yīng)的真值1.100100001.100010001.100010111.100001001.1001(不舍不入)1.1001(入)1.1001(入)1.1000(舍)-0.1001-0.1001-0.1001-0.1000第二十七頁,共六十七頁,2022年,8月28日浮點乘法運算舉例例:設(shè)機器數(shù)階碼取3位(不含階符),尾數(shù)取7位(不舍數(shù)符),要求階碼用移碼運算,尾數(shù)用補碼運算,最后結(jié)果保留1倍字長。設(shè)x=2-101×0.0110011),y=2011×(-0.1110010)

求:x?y。解:[x]補=11,011;00.0110011

[y]補=00,011;11.0001110①階碼運算

[jx]移=00,011,[jy]補=00,011

[jx+jy]移=[jx]移+[jy]補=00,011+00,011=00,110

對應(yīng)真值-2第二十八頁,共六十七頁,2022年,8月28日浮點乘法運算舉例(續(xù))②尾數(shù)相乘(采用Booth算法)其過程如下表所示。部分積乘數(shù)yn+1說明

00.0000000

00.0000000

+11.10011011.0001110

010001110

0→1位

+[-Sx]補

11.1001101

11.1100110

11.1110011

11.1111001

+00.0110011

0

10100011

01010001

10101000111→1位

→1位

→1位

+[Sx]補

00.0101100

00.0010110

00.0001011

00.0000101

+11.1001101

1010

01010100

00101010

100101010

0

0→1位

→1位

→1位+

+[-Sx]補

11.10100101001010

相乘的結(jié)果為:[Sx?Sy]補

第二十九頁,共六十七頁,2022年,8月28日浮點乘法運算舉例(續(xù))即[x?y]補③規(guī)格化。左規(guī)后[x?y]補

④舍入處理。尾數(shù)為負(fù),按負(fù)數(shù)的補碼的舍入規(guī)則,取1倍字長,丟失的7位為0010100,應(yīng)“舍”。故最終的結(jié)果為:[x?y]補=11,101;11.0100101

即:xy=2-011×(-0.1011011)

第三十頁,共六十七頁,2022年,8月28日(2)浮點除法尾數(shù)運算步驟:檢測被除數(shù)是否為0,若為0,則商為0;再檢測除數(shù)是否為0,若為0,則商為無窮大,另作處理。若兩數(shù)均不為0,則可進(jìn)行除法運算。兩浮點數(shù)尾數(shù)相除同樣可采取定點小數(shù)的任何一種除法運算來完成。對已規(guī)格化的尾數(shù),為了防止除法結(jié)果溢出,可先比較被除數(shù)和除數(shù)的絕對值,如果被除數(shù)的絕對值大于除數(shù)的絕對值,則先將被除數(shù)右移一位,其階碼加1,再作尾數(shù)相除。此時所得結(jié)果必然是規(guī)格化的定點小數(shù)。

第三十一頁,共六十七頁,2022年,8月28日浮點除法尾數(shù)運算—例題例:x=2101×0.1001,y=2011×(-0.1101),按補碼浮點運算方法求x/y。解:[x]補=00,101;00.1001,[y]補=00,011;11.0011,

[-Sy]補=00.1101①階碼相減。

[jx]補-[jy]補=00,101-00,011=00,101+11,101=00,010

②尾數(shù)相除(采用補碼除法)。第三十二頁,共六十七頁,2022年,8月28日浮點除法尾數(shù)運算—例題(續(xù))②尾數(shù)相除(采用補碼除法)。結(jié)果為[Sx/Sy]=1.0101③規(guī)格化。尾數(shù)相除結(jié)果已為規(guī)格化數(shù)。所以[x/y]補=00,010;11.0101,則[x/y]=2010×(-0.1011)被除數(shù)(余數(shù))商說明

00.1001

+11.0011[Sx]補與[Sy]

補異號,+[Sy]補

11.1100

11.1000

+00.1101

1

1[R]補與[Sy]

補同號,上商1

←1位

+[-Sy]補

00.0101

00.1010

+11.0011

10

10[R]補與[Sy]

補異號,上商0

←1位

+[Sy]補

11.1101

11.1010

+00.1101

101

101[R]補與[Sy]

補同號,上商1

←1位

+[-Sy]補

00.0111

+00.1110

1010

10101[R]補與[Sy]

補異號,上商0

←1位,末位商恒置1第三十三頁,共六十七頁,2022年,8月28日浮點乘除法運算兩浮點數(shù)相乘其乘積的階碼為相乘兩數(shù)階碼之和,其尾數(shù)應(yīng)為相乘兩數(shù)的尾數(shù)之積。兩個浮點數(shù)相除,商的階碼為被除數(shù)的階碼減去除數(shù)的階碼得到的差,尾數(shù)為被除數(shù)的尾數(shù)除以除數(shù)的尾數(shù)所得的商。參加運算的兩個數(shù)都為規(guī)格化浮點數(shù),乘除運算都可能出現(xiàn)結(jié)果不滿足規(guī)格化要求的問題,因此也必須進(jìn)行規(guī)格化、舍入和溢出判斷等操作。規(guī)格化時要修改階碼。第三十四頁,共六十七頁,2022年,8月28日浮點運算所需的硬件配置浮點運算器主要由兩個定點運算部件組成:階碼運算部件:用來完成階碼加、減,以及控制對階時小階的尾數(shù)右移次數(shù)和規(guī)格化時對階碼的調(diào)整。尾數(shù)運算部件:用來完成尾數(shù)的四則運算以及判斷尾數(shù)是否已規(guī)格化。此外,還需有判斷運算結(jié)果是否溢出的電路等。現(xiàn)代計算機可把浮點運算部件做成獨立的選件,稱為協(xié)處理器。浮點協(xié)處理器Intel80287可與Intel80286或80386微處理器配合處理浮點數(shù)的算術(shù)運算和多種函數(shù)計算。也可用編程的辦法來完成浮點運算,不過這會影響機器的運算速度。第三十五頁,共六十七頁,2022年,8月28日2算術(shù)邏輯單元ALU電路、快速進(jìn)位鏈第三十六頁,共六十七頁,2022年,8月28日ALU電路Ai和Bi為輸入變量;Ki為控制信號,Ki的不同取值可決定該電路作哪一種算術(shù)運算或哪一種邏輯運算;Fi是輸出函數(shù)。

第三十七頁,共六十七頁,2022年,8月28日74181—ALU集成電路芯片74181是能完成四位二進(jìn)制代碼的算邏運算部件,其外特性如下圖所示。正邏輯工作方式負(fù)邏輯工作方式正邏輯中,“1”用高電平表示,“0”用低電平表示,而負(fù)邏輯剛好相反。正邏輯與負(fù)邏輯的關(guān)系為:正邏輯的“與”到負(fù)邏輯中變?yōu)椤盎颉?,即?”、”·”互換。第三十八頁,共六十七頁,2022年,8月28日74181—ALU集成電路芯片注意:ALU為組合邏輯電路,因此實際應(yīng)用ALU時,其輸入端口A和B必須與鎖存器相連,而且在運算的過程中鎖存器的內(nèi)容是不變的。其輸出也必須送至寄存器中保存。第三十九頁,共六十七頁,2022年,8月28日29C101芯片將寄存器和ALU集成導(dǎo)一個芯片內(nèi)。第四十頁,共六十七頁,2022年,8月28日快速進(jìn)位鏈問題:隨著操作數(shù)位數(shù)的增加,電路中進(jìn)位的速度對運算時間的影響也越大。并行加法器——多位加法器串行進(jìn)位鏈并行進(jìn)位鏈單重分組跳躍進(jìn)位即:單級分組雙重分組跳躍進(jìn)位第四十一頁,共六十七頁,2022年,8月28日快速進(jìn)位鏈問題:隨著操作數(shù)位數(shù)的增加,電路中進(jìn)位的速度對運算時間的影響也越大。并行加法器——多位加法器串行進(jìn)位鏈并行進(jìn)位鏈單重分組跳躍進(jìn)位即:單級分組雙重分組跳躍進(jìn)位第四十二頁,共六十七頁,2022年,8月28日半加器(halfadder)COSCAB不考慮進(jìn)位將兩個一位二進(jìn)制數(shù)A和B相加。第四十三頁,共六十七頁,2022年,8月28日全加器(fulladder)其輸入不僅有兩個1位二進(jìn)制數(shù)相加,還需加上低位送來的進(jìn)位。COSCABCICI第四十四頁,共六十七頁,2022年,8月28日雙全加器74LS182的1/2邏輯圖第四十五頁,共六十七頁,2022年,8月28日1.并行(多位)加法器n+1個全加器級聯(lián),就組成了一個n+1位的并行加法器(行波進(jìn)位加法器)。由于每位全加器的進(jìn)位輸出是高一位全加器的進(jìn)位輸入,因此當(dāng)全加器有進(jìn)位時,這種一級一級傳遞進(jìn)位的過程,將會大大影響運算速度。第四十六頁,共六十七頁,2022年,8月28日并行加法器分析:由全加器的邏輯表達(dá)式可知,Ci進(jìn)位有兩部分組成:本地進(jìn)位AiBi,可記作di,與低位無關(guān);傳遞進(jìn)位(Ai+Bi)Ci-1,與低位有關(guān),稱(Ai+Bi)為傳遞條件,記作ti,則:由Ci的組成可以將逐級傳遞進(jìn)位的結(jié)構(gòu)轉(zhuǎn)換為以進(jìn)位鏈的方式實現(xiàn)快速進(jìn)位。目前進(jìn)位鏈通常采用串行和并行兩種。第四十七頁,共六十七頁,2022年,8月28日2.串行進(jìn)位鏈串行進(jìn)位鏈?zhǔn)侵覆⑿屑臃ㄆ髦械倪M(jìn)位信號采用串行傳遞。以四位并行加法器為例,每一位的進(jìn)位表達(dá)式可示為:由上式可見,采用與非邏輯電路可方便地實現(xiàn)進(jìn)位傳遞,如下圖所示。注意:A+B=-(-A*-B)第四十八頁,共六十七頁,2022年,8月28日串行進(jìn)位鏈延遲時間分析:若設(shè)與非門的級延遲時間為ty,那么當(dāng)di、ti形成后,共需8ty使可產(chǎn)生最高位的進(jìn)位。實際上每增加一位全加器,進(jìn)位時間就會增加2ty。n位全加器的最長進(jìn)位時間為2nty。

第四十九頁,共六十七頁,2022年,8月28日3.并行進(jìn)位鏈并行進(jìn)位鏈?zhǔn)侵覆⑿屑臃ㄆ髦械倪M(jìn)位信號是同時產(chǎn)生的,又稱先行進(jìn)位、跳躍進(jìn)位等。超前進(jìn)位加法器通常并行進(jìn)位鏈有單重分組和雙重分組兩種實現(xiàn)方案。理想的并行進(jìn)位鏈?zhǔn)莕位全加器的n位進(jìn)位同時產(chǎn)生,但實際實現(xiàn)有困難。第五十頁,共六十七頁,2022年,8月28日(1)單重分組跳躍進(jìn)位單重分組跳躍進(jìn)位:將M位全加器分成若干小組,小組內(nèi)的進(jìn)位同時產(chǎn)生,小組與小組之間采用串行進(jìn)位。又稱為“組內(nèi)并行、組間串行”進(jìn)位。以四位并行加法器為例,對其進(jìn)位表示式稍作變換,便可獲得并行進(jìn)位表達(dá)式:第五十一頁,共六十七頁,2022年,8月28日四位一組并行進(jìn)位對應(yīng)的邏輯圖為:設(shè)與或非門的級延遲時間為1.5ty,與非門的級延遲時間仍為1ty,則di、ti形成后,只需2.5ty就可產(chǎn)生全部進(jìn)位。

第五十二頁,共六十七頁,2022年,8月28日單重分組跳躍進(jìn)位如果將16位的全加器按四位一組分組,便可得單重分組跳躍進(jìn)位鏈框圖在di、ti形成后,經(jīng)2.5ty可產(chǎn)生C3、C2、C3、C3四個進(jìn)位信息,經(jīng)10ty就可產(chǎn)生全部進(jìn)位。如前所示,n=16的串行進(jìn)位鏈的全部進(jìn)位時間為32ty,則16位全加器的單重分組方案進(jìn)位時間僅約為串行進(jìn)位鏈的三分之一。第五十三頁,共六十七頁,2022年,8月28日單重分組跳躍進(jìn)位缺點:但隨著n的增大,其優(yōu)勢便很快減弱。例如,n=64,4位分組,共為16組:組間有16位串行進(jìn)位,在di、ti形成后,還需經(jīng)16×2.5=40ty才能產(chǎn)生全部進(jìn)位,顯然進(jìn)位時間太長。如果能使組間進(jìn)位也同時產(chǎn)生,必然會更大地提高進(jìn)位速度,這就是組內(nèi)、組間均為并行進(jìn)位的方案。第五十四頁,共六十七頁,2022年,8月28日(2)雙重分組跳躍進(jìn)位雙重分組跳躍進(jìn)位原理:將n位全加器分成幾個大組每個大組又包含幾個小組每個大組內(nèi)所包含的各個小組的最高位進(jìn)位是同時形成的,大組與大組間采用串行進(jìn)位。各小組最高位進(jìn)位是同時形成的,小組內(nèi)的其他進(jìn)位也是同時形成的故又有“組內(nèi)并行、組間并行”之稱注意:兩小組內(nèi)的其他進(jìn)位與小組的最高位進(jìn)位并不是同時產(chǎn)生的,。第五十五頁,共六十七頁,2022年,8月28日雙重分組跳躍進(jìn)位32位并行加法器雙重分組跳躍進(jìn)位鏈的框圖分兩大組,每個大組內(nèi)包含4個小組,第一大組內(nèi)的4個小組的最高位進(jìn)位C31、C27、C23、C19是同時產(chǎn)生的;第二大組內(nèi)4個小組的最高位進(jìn)位C15、C11、C7、C3也是同時產(chǎn)生的,而第二大組向第一大組的進(jìn)位C15采用串行進(jìn)位方式。

第五十六頁,共六十七頁,2022年,8月28日雙重分組跳躍進(jìn)位32位并行加法器雙重分組跳躍進(jìn)位鏈的框圖以第二大組為例,分析各進(jìn)位的邏輯關(guān)系。D8與本小組內(nèi)的di、ti有關(guān),不依賴外來進(jìn)C-1,故稱D8為第八小組的本地進(jìn)位,T8

是將低位進(jìn)位C-1傳到高位小組的條件,故稱T8為第八小組的傳送條件。

第五十七頁,共六十七頁,2022年,8月28日雙重分組跳躍進(jìn)位32位并行加法器雙重分組跳躍進(jìn)位鏈的框圖以第二大組為例,分析各進(jìn)位的邏輯關(guān)系。同理可寫出第五、六、七小組的最高位進(jìn)位表達(dá)式:

第五十八頁,共六十七頁,2022年,8月28日雙重分組跳躍進(jìn)位進(jìn)一步展開又得:

可得大組跳躍進(jìn)位鏈:

由圖可見,當(dāng)Di、Ti(i=5~8)及外來進(jìn)位C-1形成后,再經(jīng)過2.5ty便可同時產(chǎn)生Cl5、C11,C7、C3。

第五十九頁,共六十七頁,2022年,8月28日雙重分組跳躍進(jìn)位Di和Ti它們都是由小組產(chǎn)生的,按其邏輯表達(dá)式可畫出相應(yīng)的電路如下圖所示。

每小組可產(chǎn)生本小組的本地進(jìn)位Di和傳送條件Ti以及組內(nèi)的各低位進(jìn)位,但不能產(chǎn)生組內(nèi)最高位進(jìn)位,即第五組形成D5、T5、C14、C13、C12,不產(chǎn)生C15;第六組形成D6、T6、C10、C9、C8,不產(chǎn)生C1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論