運(yùn)算方法和運(yùn)算器(4定點(diǎn)除法運(yùn)算)._第1頁
運(yùn)算方法和運(yùn)算器(4定點(diǎn)除法運(yùn)算)._第2頁
運(yùn)算方法和運(yùn)算器(4定點(diǎn)除法運(yùn)算)._第3頁
運(yùn)算方法和運(yùn)算器(4定點(diǎn)除法運(yùn)算)._第4頁
運(yùn)算方法和運(yùn)算器(4定點(diǎn)除法運(yùn)算)._第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第二章第二章 運(yùn)算方法和運(yùn)算器運(yùn)算方法和運(yùn)算器* *數(shù)據(jù)的表示方法數(shù)據(jù)的表示方法* *定點(diǎn)和浮點(diǎn)加減運(yùn)算定點(diǎn)和浮點(diǎn)加減運(yùn)算* *定點(diǎn)乘運(yùn)算定點(diǎn)乘運(yùn)算* *定點(diǎn)除運(yùn)算定點(diǎn)除運(yùn)算* *定點(diǎn)運(yùn)算器的組成定點(diǎn)運(yùn)算器的組成 被除數(shù)被除數(shù) x x,其原碼為,其原碼為 x x 原原x xf f . x . xn n1 1 x x1 1 x x0 0除數(shù)除數(shù) y y,其原碼為,其原碼為 y y 原原y yf f . y . yn n1 1 y y1 1 y y0 0 則有商則有商q q/ /, ,其原碼為其原碼為 q q 原原( (x xf fy yf f) + (0. ) + (0. x xn n1 1x

2、x1 1x x0 0 / 0.y/ 0.yn n1 1 y y1 1y y0 0) ) 商的符號運(yùn)算商的符號運(yùn)算q qf fx xf fy yf f 與原碼乘法一樣與原碼乘法一樣; ; 商的數(shù)值部分的運(yùn)算商的數(shù)值部分的運(yùn)算, ,實(shí)質(zhì)上是兩個正數(shù)求商的運(yùn)算。實(shí)質(zhì)上是兩個正數(shù)求商的運(yùn)算。設(shè)有設(shè)有n n位定點(diǎn)小數(shù)位定點(diǎn)小數(shù)( (定點(diǎn)整數(shù)也同樣適用定點(diǎn)整數(shù)也同樣適用) ):2.4 2.4 并行除法器并行除法器1.1.手算運(yùn)算步驟手算運(yùn)算步驟例例: 設(shè)被除數(shù)設(shè)被除數(shù)x=0.1001, 除數(shù)除數(shù)y=0.1011, 仿十進(jìn)制除法運(yùn)算仿十進(jìn)制除法運(yùn)算, 手算求手算求xy的過程的過程 0.1 1 0 1 商商q

3、0.1 0 1 1 0.1 0 0 1 0 (r0)被除數(shù)小于除數(shù),商被除數(shù)小于除數(shù),商0 0.0 1 0 1 1 21 除數(shù)右移除數(shù)右移1位位,減除數(shù)減除數(shù), 商商1 0.0 0 1 1 1 0 r1 得余數(shù)得余數(shù)r1 0.0 0 1 0 1 1 22 除數(shù)右移除數(shù)右移1位位,減除數(shù)減除數(shù), 商商1 0.0 0 0 0 1 1 0 r2 得余數(shù)得余數(shù)r2 0.0 0 0 1 0 1 1 23 除數(shù)右移除數(shù)右移1位位,不減除數(shù)不減除數(shù),商商0 0.0 0 0 0 1 1 0 0 r3 得余數(shù)得余數(shù)r3 0.0 0 0 0 1 0 1 1 24 除數(shù)右移除數(shù)右移1位位,減除數(shù)減除數(shù), 商商1 0

4、.0 0 0 0 0 0 0 1 r4 得余數(shù)得余數(shù)r4得得的商的商q0.1101,余數(shù)為余數(shù)為r0.00000001。2.2.機(jī)器運(yùn)算與手算的不同機(jī)器運(yùn)算與手算的不同(1)(1)在計(jì)算機(jī)中在計(jì)算機(jī)中, , 小數(shù)點(diǎn)是固定的小數(shù)點(diǎn)是固定的, ,不能簡單地采用手不能簡單地采用手算的辦法。算的辦法。(2)(2)機(jī)器不會心算機(jī)器不會心算, ,必須先作減法必須先作減法, ,若余數(shù)為正若余數(shù)為正, ,才知道才知道夠減;若余數(shù)為負(fù)夠減;若余數(shù)為負(fù), ,才知道不夠減。不夠減時必須恢復(fù)才知道不夠減。不夠減時必須恢復(fù)原來的余數(shù)原來的余數(shù), , 以便再繼續(xù)往下運(yùn)算。這種方法稱為以便再繼續(xù)往下運(yùn)算。這種方法稱為恢恢復(fù)

5、余數(shù)法復(fù)余數(shù)法。(3)(3)要恢復(fù)原來的余數(shù)要恢復(fù)原來的余數(shù), ,只要當(dāng)前的余數(shù)加上除數(shù)即可。只要當(dāng)前的余數(shù)加上除數(shù)即可。但由于要恢復(fù)余數(shù)但由于要恢復(fù)余數(shù), ,使除法進(jìn)行過程的步數(shù)不固定使除法進(jìn)行過程的步數(shù)不固定, ,因因此控制比較復(fù)雜。此控制比較復(fù)雜。 實(shí)際中常用不恢復(fù)余數(shù)法實(shí)際中常用不恢復(fù)余數(shù)法, ,又稱又稱加減交替法加減交替法。其特。其特點(diǎn)是運(yùn)算過程中如出現(xiàn)不夠減點(diǎn)是運(yùn)算過程中如出現(xiàn)不夠減, ,則不必恢復(fù)余數(shù)則不必恢復(fù)余數(shù), ,根據(jù)根據(jù)余數(shù)符號余數(shù)符號, , 可以繼續(xù)往下運(yùn)算可以繼續(xù)往下運(yùn)算, ,因此步數(shù)固定因此步數(shù)固定, , 控制簡控制簡單。單。 陣列式除法器是一種并行運(yùn)算部件陣列式除

6、法器是一種并行運(yùn)算部件, , 采用大規(guī)采用大規(guī)模集成電路制造。與早期的串行除法器相比模集成電路制造。與早期的串行除法器相比, , 陣列除陣列除法器不僅所需的控制線路少法器不僅所需的控制線路少, , 而且能提供令人滿意的而且能提供令人滿意的高速運(yùn)算速度。高速運(yùn)算速度。 陣列除法器有多種多樣形式:陣列除法器有多種多樣形式: 不恢復(fù)余數(shù)陣列除法器不恢復(fù)余數(shù)陣列除法器;(又稱加減交替法);(又稱加減交替法) 補(bǔ)碼陣列除法器補(bǔ)碼陣列除法器 等等。等等。3.3.陣列除法器陣列除法器(1) (1) 可控加法可控加法/ /減法減法(CAS)(CAS)單元單元用于并行除法流水邏輯陣列中。用于并行除法流水邏輯陣列

7、中。P=0 做加法運(yùn)算做加法運(yùn)算P=1 做減法運(yùn)算做減法運(yùn)算 SiAi(BiP)Ci Ci1(AiCi)(BiP)AiCi 當(dāng)當(dāng)P0時時, 即是我們熟悉的一位全加器即是我們熟悉的一位全加器(FA)的公式:的公式: SiAiBiCi Ci1AiBiBiCiAiCi2.4.3 2.4.3 并行除法器并行除法器 CAS單元的輸入與輸出的關(guān)系可用如下一組邏輯方程來表示:單元的輸入與輸出的關(guān)系可用如下一組邏輯方程來表示: 當(dāng)當(dāng)P1時時, 則得求差公式:則得求差公式:在減法情況下:在減法情況下:輸入輸入Ci稱為借位輸入稱為借位輸入,而而Ci1稱為借位輸出。稱為借位輸出。SiAiBiCiCi1AiBiBiC

8、iAiCi其中其中BiBi1。 SiAi(BiP)Ci Ci1(AiCi)(BiP)AiCi 加以變換加以變換,可得如下形式:可得如下形式: 在這兩個表達(dá)式中在這兩個表達(dá)式中,每一個都能用一個三級組合邏輯電路每一個都能用一個三級組合邏輯電路(包括反向器包括反向器)來來實(shí)現(xiàn)。因此每一個基本的實(shí)現(xiàn)。因此每一個基本的CAS單元的延遲時間為單元的延遲時間為3T單元。單元。為說明為說明CAS單元的實(shí)際內(nèi)部電路實(shí)現(xiàn)單元的實(shí)際內(nèi)部電路實(shí)現(xiàn),將方程式將方程式SiAi(BiP)CiCi1(AiCi)(BiP)AiCiAiBiPAiBiPBiCiPBiCiPAiCi( A B=AB+AB ) AiBiCiPAiB

9、iCiPAiBiCiPAiBiCiPAiBiCiP AiBiCiPAiBiCiPAiBiCiP(2)(2)不恢復(fù)余數(shù)的陣列除法器不恢復(fù)余數(shù)的陣列除法器不恢復(fù)余數(shù)陣列除法,也叫加減交替法。不恢復(fù)余數(shù)陣列除法,也叫加減交替法。 在不恢復(fù)余數(shù)的除法陣列中在不恢復(fù)余數(shù)的除法陣列中: : 當(dāng)余數(shù)為正時(當(dāng)余數(shù)為正時(r ri i 0) , 0) ,本次商本次商“1”1”,下次做減法運(yùn)算,下次做減法運(yùn)算, 減法是用減法是用2 2的補(bǔ)碼運(yùn)算來實(shí)現(xiàn)的,此時的補(bǔ)碼運(yùn)算來實(shí)現(xiàn)的,此時 x-yx-y補(bǔ)補(bǔ)= = x x 補(bǔ)補(bǔ)+ -+ -yy補(bǔ)補(bǔ); ; 當(dāng)余數(shù)為負(fù)時(當(dāng)余數(shù)為負(fù)時(r ri i 0) , 0) ,本次商

10、本次商“0”0”,下次做加法運(yùn)算,下次做加法運(yùn)算; ; 每次運(yùn)算完成后要將余數(shù)左移一位,再與除數(shù)做加或減運(yùn)算每次運(yùn)算完成后要將余數(shù)左移一位,再與除數(shù)做加或減運(yùn)算; ; 商的符號由兩數(shù)的符號按位相加求得。商的符號由兩數(shù)的符號按位相加求得。2.4.3 2.4.3 并行除法器并行除法器例例20 x=0.101001, y=0.111, 求求xy。 -y補(bǔ)補(bǔ)=1.001解:解: 被除數(shù)被除數(shù)x 0. 1 0 1 0 0 1 減減y + 1. 0 0 1 (相當(dāng)于加相當(dāng)于加 -y補(bǔ)補(bǔ)) 余數(shù)為負(fù)余數(shù)為負(fù) 1. 1 1 0 0 0 1 0 q0=0 余數(shù)左移余數(shù)左移 1. 1 0 0 0 1 加加y +

11、0. 1 1 1 余數(shù)為正余數(shù)為正 0. 0 1 1 0 1 0 q1=1 余數(shù)左移余數(shù)左移 0. 1 1 0 1 減減y + 1. 0 0 1 (相當(dāng)于加相當(dāng)于加 -y補(bǔ)補(bǔ)) 余數(shù)為負(fù)余數(shù)為負(fù) 1. 1 1 1 1 0 q2=0 余數(shù)左移余數(shù)左移 1. 1 1 1 加加y + 0. 1 1 1 余數(shù)為正余數(shù)為正 0. 1 1 0 0 q3=1故得故得 商商q=q0.q1q2q3=0.101 余數(shù)余數(shù)r=(0.00r3r4r5r6)=0.000110 下圖示出了下圖示出了4 4位除位除4 4位不恢復(fù)余數(shù)陣列除法器位不恢復(fù)余數(shù)陣列除法器的邏輯原理圖。其中:的邏輯原理圖。其中: 被除數(shù)被除數(shù) x0

12、. x1 x2 x3 x4 x5 x6 (雙倍長雙倍長) 除數(shù)除數(shù) y0. y1 y2 y3 商數(shù)商數(shù)0.q1q2q3 余數(shù)余數(shù)0.00r3r4r5r6 字長字長 n14 (n=3 為尾數(shù)位數(shù)為尾數(shù)位數(shù)) 被除數(shù)被除數(shù)是一個是一個6 6位的小數(shù)位的小數(shù)( (雙倍長度值雙倍長度值) ): 0.0.1 12 23 34 45 56 6 它是由頂部一行和最右邊的對角線上的垂直輸入線來提供的。它是由頂部一行和最右邊的對角線上的垂直輸入線來提供的。 除數(shù)是一個除數(shù)是一個3 3位的小數(shù)位的小數(shù) 0.0.1 12 23 3它沿對角線方向進(jìn)入這個陣列。這是因?yàn)椋核貙蔷€方向進(jìn)入這個陣列。這是因?yàn)椋?在除法中

13、所需要的部分余數(shù)的左移在除法中所需要的部分余數(shù)的左移, ,可以用下列等效的操作可以用下列等效的操作 來代替:即讓余數(shù)保持固定來代替:即讓余數(shù)保持固定, ,而將除數(shù)沿對角線右移。而將除數(shù)沿對角線右移。 最上面一行所執(zhí)行的初始操作經(jīng)常是減法。最上面一行所執(zhí)行的初始操作經(jīng)常是減法。因此最上面一行因此最上面一行的控制線的控制線P P固定置成固定置成“1”1”。 減法是用減法是用2 2的補(bǔ)碼運(yùn)算來實(shí)現(xiàn)的的補(bǔ)碼運(yùn)算來實(shí)現(xiàn)的,這時右端各,這時右端各CASCAS單元上的反饋線用作初始的進(jìn)位輸入。單元上的反饋線用作初始的進(jìn)位輸入。 每一行最左邊的單元的進(jìn)位輸出決定著商的數(shù)每一行最左邊的單元的進(jìn)位輸出決定著商的數(shù)

14、值。值。將當(dāng)前的商反饋到下一行將當(dāng)前的商反饋到下一行, ,我們就能確定下我們就能確定下一行的操作。由于進(jìn)位輸出信號指示出當(dāng)前的部一行的操作。由于進(jìn)位輸出信號指示出當(dāng)前的部分余數(shù)的符號分余數(shù)的符號, ,因此因此, ,它將決定下一行的操作將進(jìn)它將決定下一行的操作將進(jìn)行加法還是減法。行加法還是減法。減數(shù)變補(bǔ)與被減數(shù)相加時:減數(shù)變補(bǔ)與被減數(shù)相加時:若有進(jìn)位,表明兩原碼數(shù)相減無借位,結(jié)果為正若有進(jìn)位,表明兩原碼數(shù)相減無借位,結(jié)果為正若無進(jìn)位,表明兩原碼數(shù)相減有借位,結(jié)果為負(fù)若無進(jìn)位,表明兩原碼數(shù)相減有借位,結(jié)果為負(fù) 由圖看出由圖看出, ,該陣列除法器是用一個可控加法該陣列除法器是用一個可控加法/ /減法

15、減法(CAS)(CAS)單元所組成的流水陣列來實(shí)現(xiàn)的。單元所組成的流水陣列來實(shí)現(xiàn)的。 推廣到一般情況:推廣到一般情況: 一個一個(n+1) (n+1) 位除位除(n+1)(n+1)位的加減交替除法陣列由位的加減交替除法陣列由( (n n1)1)2 2個個CASCAS單元組成單元組成, , 其中兩個操作數(shù)其中兩個操作數(shù)( (被除數(shù)與除數(shù)被除數(shù)與除數(shù)) )都是正的。都是正的。 n n為尾數(shù)位數(shù)。為尾數(shù)位數(shù)。 一般電路一般電路 對不恢復(fù)余數(shù)陣列除法器來說,對不恢復(fù)余數(shù)陣列除法器來說,在進(jìn)行運(yùn)算時:在進(jìn)行運(yùn)算時: 沿著每一行都有進(jìn)位沿著每一行都有進(jìn)位( (或借位或借位) )傳播;傳播; 同時所有行在它們的進(jìn)位鏈上都是串行連接

溫馨提示

  • 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

提交評論