并行除法器 ,并行除法器結(jié)構(gòu)原理是什么?
1.可控加法/減法(CAS)單元
和陣列乘法器非常相似,陣列式除法器也是一種并行運(yùn)算部件,采用大規(guī)模集成電路制造。與早期的串行除法器相比,陣列除法器不僅所需的控制線路少,而且能提供令人滿意的高速運(yùn)算速度。
陣列除法器有多種多樣形式,如不恢復(fù)余數(shù)陣列除法器,補(bǔ)碼陣列除法器等等。
首先介紹可控加法/減法(CAS)單元,它將用于并行除法流水邏輯陣列中,它有四個(gè)輸出端和四個(gè)輸入端。當(dāng)輸入線P=0時(shí),CAS作加法運(yùn)算;當(dāng)P=1時(shí),CAS作減法運(yùn)算。邏輯結(jié)構(gòu)圖:
CAS單元的輸入與輸出的關(guān)系可用如下一組邏輯方程來表示:
Si=Ai⊕(Bi⊕P)⊕Ci
Ci+1=(Ai+Ci)·(Bi⊕P)+AiCi????? (2.32)
當(dāng)P=0時(shí),方程式(2.32)就等于式(2.23),即得我們熟悉的一位全加器(FA)的公式:
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+AiCi
當(dāng)P=1時(shí),則得求差公式:
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+AiCi???????????? (2.33)
其中Bi=Bi⊕1。
在減法情況下,輸入Ci稱為借位輸入,而Ci+1稱為借位輸出。
為說明CAS單元的實(shí)際內(nèi)部電路實(shí)現(xiàn),將方程式(2.32)加以變換,可得如下形式:
Si=Ai⊕(Bi⊕P)⊕Ci
=AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP+AiBiCiP
Ci+1=(Ai+Ci)(Bi⊕P)+AiCi
=AiBiP+AiBiP+BiCiP+BiCiP+AiCi
在這兩個(gè)表達(dá)式中,每一個(gè)都能用一個(gè)三級(jí)組合邏輯電路(包括反向器)來實(shí)現(xiàn)。因此每一個(gè)基本的CAS單元的延遲時(shí)間為3T單元。
?2.不恢復(fù)余數(shù)的陣列除法器
假定所有被處理的數(shù)都是正的小數(shù)。
不恢復(fù)余數(shù)的除法也就是加減交替法。在不恢復(fù)余數(shù)的除法陣列中,每一行所執(zhí)行的操作究竟是加法還是減法,取決于前一行輸出的符號(hào)與被除數(shù)的符號(hào)是否一致。當(dāng)出現(xiàn)不夠減時(shí),部分余數(shù)相對(duì)于被除數(shù)來說要改變符號(hào)。這時(shí)應(yīng)該產(chǎn)生一個(gè)商位“0”,除數(shù)首先沿對(duì)角線右移,然后加到下一行的部分余數(shù)上。當(dāng)部分余數(shù)不改變它的符號(hào)時(shí),即產(chǎn)生商位“1”,下一行的操作應(yīng)該是減法。下圖示出了4位除4位的不恢復(fù)余數(shù)陣列除法器的邏輯原理圖。其中
被除數(shù) x=0.x1x2x3x4x5x6 (雙倍長(zhǎng))
除數(shù) y=0.y1y2y3
商數(shù) q=0.q1q2q3
余數(shù) r=0.00r3r4r5r6
字長(zhǎng) n+1=4
圖2.9 不恢復(fù)余數(shù)陣列除法器邏輯結(jié)構(gòu)圖
由圖看出,該陣列除法器是用一個(gè)可控加法/減法(CAS)單元所組成的流水陣列來實(shí)現(xiàn)的。推廣到一般情況,一個(gè)(n+1)位除(n+1)位的加減交替除法陣列由(n+1)2個(gè)CAS單元組成,其中兩個(gè)操作數(shù)(被除數(shù)與除數(shù))都是正的。
單元之間的互連是用n=3的陣列來表示的。這里被除數(shù)x是一個(gè)6位的小數(shù)(雙倍長(zhǎng)度值):
x=0.x1x2x3x4x5x6
它是由頂部一行和最右邊的對(duì)角線上的垂直輸入線來提供的。
除數(shù)y是一個(gè)3位的小數(shù):
y=0.y1y2y3
它沿對(duì)角線方向進(jìn)入這個(gè)陣列。這是因?yàn)椋诔ㄖ兴枰牟糠钟鄶?shù)的左移,可以用下列等效的操作來代替:即讓余數(shù)保持固定,而將除數(shù)沿對(duì)角線右移。
商q是一個(gè)3位的小數(shù):
q=0.q1q2q3
它在陣列的左邊產(chǎn)生。
余數(shù)r是一個(gè)6位的小數(shù):
r=0.00r3r4r5r6
它在陣列的最下一行產(chǎn)生。
最上面一行所執(zhí)行的初始操作經(jīng)常是減法。因此最上面一行的控制線P固定置成“1”。減法是用2的補(bǔ)碼運(yùn)算來實(shí)現(xiàn)的,這時(shí)右端各CAS單元上的反饋線用作初始的進(jìn)位輸入。每一行最左邊的單元的進(jìn)位輸出決定著商的數(shù)值。將當(dāng)前的商反饋到下一行,我們就能確定下一行的操作。由于進(jìn)位輸出信號(hào)指示出當(dāng)前的部分余數(shù)的符號(hào),因此,它將決定下一行的操作將進(jìn)行加法還是減法。
對(duì)不恢復(fù)余數(shù)陣列除法器來說,在進(jìn)行運(yùn)算時(shí),沿著每一行都有進(jìn)位(或借位)傳播,同時(shí)所有行在它們的進(jìn)位鏈上都是串行連接。而每個(gè)CAS單元的延遲時(shí)間為3T單元,因此,對(duì)一個(gè)2n位除以n位的不恢復(fù)余數(shù)陣列除法器來說,單元的數(shù)量為(n+1)2,考慮最大情況下的信號(hào)延遲,其除法執(zhí)行時(shí)間為
td=3(n+1)2T (2.34)
其中n為尾數(shù)位數(shù)。
[例20] x=0.101001, y=0.111, 求q =x÷y。
[解:]
[x]補(bǔ)=0.101001
[y]補(bǔ)=0.111? [-y]補(bǔ)=1.001
故得
商 q=q0.q1q2q3=0.101
余數(shù) r=(0.00r3r4r5r6)=0.000110
我們看到,當(dāng)被除數(shù)x和除數(shù)y送至陣列除法器輸入端后,經(jīng)過3(n+1)T時(shí)間延遲,便在除法器輸出端得到穩(wěn)定的商數(shù)q和余數(shù)r的信號(hào)電平。與串行除法器相比,明顯的優(yōu)點(diǎn)是省去了復(fù)雜的控制線路,提高了運(yùn)算速度。
非常好我支持^.^
(64) 43.8%
不好我反對(duì)
(82) 56.2%
相關(guān)閱讀:
( 發(fā)表人:admin )