運算器和運算方法ppt課件_第1頁
運算器和運算方法ppt課件_第2頁
運算器和運算方法ppt課件_第3頁
運算器和運算方法ppt課件_第4頁
運算器和運算方法ppt課件_第5頁
已閱讀5頁,還剩91頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第二章第二章 運算器和運算方法運算器和運算方法 本章需處理的關鍵問題:本章需處理的關鍵問題: 如何以加法器為根底,實現各種如何以加法器為根底,實現各種運算處置。運算處置。處理思緒:處理思緒: 復雜運算復雜運算四那么運四那么運算算加法運算加法運算處理方法:處理方法: 在加法器的根底上,添加移位傳送在加法器的根底上,添加移位傳送功能,并選擇輸入控制條件。功能,并選擇輸入控制條件。加法單元加法單元 i i Ai Bi Ci-1Ciii本位操作數本位操作數 低位進位低位進位本位進位本位進位本位和本位和 第一節第一節 算術邏輯運算部件算術邏輯運算部件2.1.1 加法單元加法單元1. 加法單元的輸入和輸出

2、加法單元的輸入和輸出一個輸入為一個輸入為1時,時, i為為1,Ci為為0;兩個輸入為兩個輸入為1時,時, i為為0,Ci為為1;三個輸入為三個輸入為1時,時, i為為1,Ci為為1。2. 全加器全加器 1邏輯一邏輯一i = (Ai + Bi) + Ci-1i = (Ai + Bi) + Ci-1 Ci = AiBi + (Ai + Bi)Ci- Ci = AiBi + (Ai + Bi)Ci-1 1CiiiAi Bi Ci-1 2邏輯二邏輯二i = (Ai + Bi) + Ci-1i = (Ai + Bi) + Ci-1 Ci = Ai + Bi + (Ai + Ci = Ai + Bi +

3、(Ai + Bi)Ci-1Bi)Ci-1CiiiAi Bi Ci-1Ai Bi2.1.2 并行加法器與進位鏈邏輯并行加法器與進位鏈邏輯1.并行加法器并行加法器1特點:各位同時相加。特點:各位同時相加。例例. 8位數相加。位數相加。8 8 772211A8 B8 A7 B7 A2 B2 A1 B1 C02影響速度的主要要素影響速度的主要要素 存在著進位信號的傳送。存在著進位信號的傳送。1 1 1 10 0 0 011111100002. 并行加法器的進位鏈并行加法器的進位鏈1進位鏈的根本邏輯關系進位鏈的根本邏輯關系所以所以 Ci = Gi + Pi Ci-1進位產生函數進位產生函數進位傳送函數進

4、位傳送函數進位條件進位條件本地進位、絕對進位本地進位、絕對進位條件進位、傳送進位條件進位、傳送進位 Ci = AiBi + (Ai + Bi)Ci-1 = AiBi + (Ai + Bi)Ci-1 或或 Ci = AiBi + (Ai + Bi)Ci-1令令 Gi = AiBi Pi = Ai + Bi = Ai + Bi = Ai + Bi 2串行進位串行進位 特點:進位信號逐位構成。特點:進位信號逐位構成。 設設n位加法器位加法器 1邏輯式邏輯式C1 = G1 + P1C0C2 = G2 + P2C1Cn = Gn + PnCn-12構造舉例構造舉例C2 G2 P2 C1 G1 P1 C0

5、Gi PiAi Bi Ai Bi3并行進位并行進位 特點:各位進位信號同時構成。特點:各位進位信號同時構成。 設設n位加法器位加法器 1邏輯式邏輯式C1 = G1 + P1C0C2 = G2 + P2C1 = G2 + P2G1 + P2P1C0 Cn = Gn + PnCn-1 = Gn + PnGn-1 + + PnPn-1P2P1C0 n + 1 項項 2構造舉例構造舉例G2 P2 G1 P1C0C2 C1Ai BiGiPiAi Bi4組內并行、組間并行組內并行、組間并行 設設16位加法器,位加法器,4位一組,分為位一組,分為4組:組:4位位4位位4位位4位位 第第4組組 第第3組組 第

6、第2組組 第第1組組C16 C13 C12 C9 C8 C5 C4 C1C0C16 C12 C8 C4分級同時進位分級同時進位 1第第1組進位邏輯式組進位邏輯式 組內:組內: C1 = G1 + P1C0 C2 = G2 + P2G1 + P2P1C0 C3 = G3 + P3G2 + P3P2G1 + P3P2P1C0 組間:組間: C4 = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0GIPI所以所以 CI = GI + PIC0 2第第2組進位邏輯式組進位邏輯式 組內:組內: C5 = G5 + P5CI C6 = G6 + P6G5 + P6P5

7、CI C7 = G7 + P7G6 + P7P6G5 + P7P6P5CI 組間:組間: C8 = G8 + P8G7 + P8P7G6 + P8P7P6G5 + P8P7P6P5CIGP所以所以 C = G + PCI 3第第3組進位邏輯式組進位邏輯式 組內:組內: C9 = G9 + P9C C10 = G10 + P10G9 + P10P9C C11 = G11 + P11G10 + P11P10G9 + P11P10P9C 組間:組間: C12 = G12 + P12G11 + P12P11G10 + P12P11P10G9 + P12P11P10P9CGP所以所以 C = G + P

8、 C 4第第4組進位邏輯式組進位邏輯式 組內:組內: C13 = G13 + P13C C14 = G14 + P14G13 + P14P13C C15 = G15 + P15G14 + P15P14G13 + P15P14P13C 組間:組間: C16 = G16 + P16G15 + P16P15G14 + P16P15P14G13 + P16P15P14P13CGP所以所以 C = G + PC 5各組間進位邏輯各組間進位邏輯CI = GI + PIC0C = G + PCIC = G + P CC = G + PC = G + PGI + PPIC0 = G + P G + P PGI

9、 + P PPIC0 = G + P G + PP G + P P PGI + PP PPIC0 6構造表示構造表示4 14 1 8 58 5 12 912 9 16 1316 13 組間進位鏈組間進位鏈A8. . . . A5 B8 . . . . B5A4 . . . . A1 B4 . . . . B1A12 . . . . A9 B12 . . . . B9A16 . . . . A13 B16 . . . . B13CoCG P G P G P GI PI C3 1C15 13 C11 9 C7 5 C C CI 7進位傳送過程進位傳送過程Ai、Bi、C0A8. . . . A5 B

10、8 . . . . B5A4 . . . . A1 B4 . . . . B1A12 . . . . A9 B12 . . . . B9A16 . . . . A13 B16 . . . . B13CoG、P.GI、PI、G P G P G P GI PI C3 1C C C CI C、C、C、CI C15 13 C11 9 C7 5 C15 13、C11 9、C7 5 C3 1學習要求:學習要求: 能寫出任一進位的串、并、分組邏輯式。能寫出任一進位的串、并、分組邏輯式。 例例. 知操作數知操作數Ai、Bi,初始進位,初始進位C0。試。試寫出寫出C6的邏輯式。的邏輯式。串行進位:串行進位:C6

11、 =并行進位:并行進位:C6 =分級同時進位:分級同時進位:C6 = G6+P6C5G6+P6G5+P6P5G4+.+P6P5P1C0G6+P6G5+P6P5CICI=GI+PIC0G6+P6C5G6+P6G5+P6P5G4+.G6+P6G5+P6P5G4+.G6+P6G5+P6P5CIGI=G4+P4G3+P4P3G2+P4P3P2G1PI=P4P3P2P1Gi=AiBi Pi=Ai Bi2.1.3 ALU部件部件 加法器加法器 選擇器選擇器 選擇器選擇器控制控制信號信號控制控制信號信號操作數操作數操作數操作數輸入組合輸入組合輸入組合輸入組合ALU 選擇器選擇器 選擇器選擇器操作數操作數操作

12、數操作數 以以SN74181芯片芯片4位片位片ALU為例。為例。 1. 組成組成 1一位邏輯一位邏輯 1位加法器求和、進位位加法器求和、進位1位選擇器位選擇器1對對 1個公共控制門個公共控制門4位共用位共用Ci S3 S2 Bi S1 S0 Ai FiM Ci-1xiYiCi S3 S2 Bi S1 S0 Ai FiM Ci-1XiYi輸入端:輸入端:操作數操作數Ai、Bi低位進位低位進位Ci-1 1 1 0 0 控制信號控制信號M控制產生控制產生GiGi、PiPi控制構成多種輸入組合控制構成多種輸入組合作邏輯運算作邏輯運算作算術運算作算術運算控制信號控制信號S3S2S1S0 Fi1011輸入

13、端:輸入端:操作數操作數Ai、Bi低位進位低位進位Ci-1 Ci 01FiCi S3 S2 Bi S1 S0 Ai M Ci-1XiYiS3S2 S3S2 輸出輸出Xi S1S0 Xi S1S0 輸出輸出Yi Yi 0000010110101111 1 1Ai+BiAi+Bi0000010110101111 Ai Ai AiBi AiBi AiBi AiBiAi+BiAi+Bi Ai AiAi+BiAi+Bi AiBi AiBi 0 0PiGi00100Ai 2多位邏輯多位邏輯 見教材見教材P49:4位全加器位全加器 4位并行進位鏈位并行進位鏈 4位選擇器位選擇器 1個控制門個控制門 原始進位

14、原始進位 Cn 進位輸出進位輸出 Cn+4 G、P 構成組間串行進構成組間串行進位位 構成組間并行進構成組間并行進位位Ci S3 S2 Bi S1 S0 Ai FiM Ci-1XiYi2. 運算功能運算功能16種算術運算功能,種算術運算功能,16種邏輯運算功能種邏輯運算功能列于表列于表2-5P50。例例1. S3S2S1S0 Xi Yi FM=1FM=0 0 0 0 0 1 AiCi S3 S2 Bi S1 S0 Ai FiM Ci-1xiYi00001Ai10110101Ci-1Ci S3 S2 Bi S1 S0 Ai FiM Ci-1XiYi例例1. S3S2S1S0 Xi Yi FM=1

15、FM=0 0 0 0 0 1 AiM=1:Fi=Xi Yi 1=1 Ai 1=Ai 1=Ai 所以所以 F = A M=0:Fi=1 Ai Ci-1=1 Ai Ci-1 所以所以 F = A加全加全1 = A減減1A減減1 ACi S3 S2 Bi S1 S0 Ai FiM Ci-1XiYi例例2. S3S2S1S0 Xi Yi F(M=1) F(M=0) 1 0 0 1 Ai+Bi AiBiCi S3 S2 Bi S1 S0 Ai FiM Ci-1xiYi1001Ai+BiAiBi10110101Ci-1Ci S3 S2 Bi S1 S0 Ai FiM Ci-1XiYi例例2. S3S2S1

16、S0 Xi Yi F(M=1) F(M=0) 1 0 0 1 Ai+Bi AiBiM=1:Fi=Ai + Bi AiBi 1=Ai Bi 1=Ai Bi 所以所以 F = A BA B 所以所以 F = A加加BM=0:Fi=Ai+Bi AiBi Ci-1=Ai Bi Ci-1 = Ai Bi Ci-1 A加加B 3. 進位邏輯進位邏輯1組間串行組間串行16 8C1216 8C816 8C416 8C0C16Cn+4 CnCn+4 Cn2組間并行組間并行 17 15874181CIII 17 15874181CII 17 15874181CI 17 15874181C074182并行進位鏈并行

17、進位鏈GIPIP G 第二節第二節 運算器組織運算器組織 獨立構造獨立構造小型存儲小型存儲器構造器構造單口單口雙口雙口存放器組存放器組獨立獨立R R、雙口、雙口RAMRAM用多路選擇器作為用多路選擇器作為ALUALU的的輸入邏輯,輸入邏輯,單口單口RAMRAM用鎖存器作為用鎖存器作為ALUALU的輸入邏輯。的輸入邏輯。2.2.1 帶多路選擇器的運算器帶多路選擇器的運算器移位器移位器ALU多路選擇器多路選擇器多路選擇器多路選擇器R0RnR0. . . Rn R0. . . Rn 內部總線單向內部總線單向特點:特點:R R各自獨立;各自獨立;可同時向可同時向ALUALU提供兩個操作數;提供兩個操作

18、數;采用單向內總線。采用單向內總線。2.2.2 帶輸入鎖存器的運算器帶輸入鎖存器的運算器特點:特點:單口單口RAMRAM不能同時向不能同時向ALUALU提提供兩個操作數;供兩個操作數;用鎖存器暫存操作數;用鎖存器暫存操作數;采用雙向內總線。采用雙向內總線。移位器移位器ALU鎖存器鎖存器鎖存器鎖存器內部總線雙向內部總線雙向R0Rn通用存放器組小型存儲器通用存放器組小型存儲器2.2.3 位片式運算器位片式運算器特點:特點:用雙口用雙口RAMRAM兩地址兩地址端、兩數據端作通端、兩數據端作通用存放器組,可同時用存放器組,可同時提供數據;提供數據;用多路選擇器作輸入用多路選擇器作輸入邏輯,不需暫存操作

19、邏輯,不需暫存操作數;數;ALUALU添加乘、除功能,添加乘、除功能,用乘商存放器存放乘用乘商存放器存放乘數、乘積或商。數、乘積或商。例例. 4位片運算器粗框位片運算器粗框移位器移位器ALU多路選擇器多路選擇器多路選擇器多路選擇器DO RAMDi B 地址地址 A 地址地址 CnDBDAG、P控制信息控制信息Cn+4乘商存放器乘商存放器444444444444 第三節第三節 定點加減運算定點加減運算2.3.1 補碼加減法補碼加減法數用補碼表示,符號位參與運算。數用補碼表示,符號位參與運算。實踐操作能否只取決于操作碼?實踐操作能否只取決于操作碼?結果需不需修正?結果需不需修正?如何將減法轉換為加

20、法?如何將減法轉換為加法?1. 根本關系式根本關系式 ( X + Y )補補 = X補補 + Y補補 1 ( X - Y )補補 = X補補 + (-Y)補補 2式式1:操作碼為:操作碼為“加時,兩數直接相加。加時,兩數直接相加。3) X= 3 Y= 2 X補補=0 0011 Y補補=1 11100 0001+1補碼補碼2) X= 3 Y= 2 X補補=1 1101 Y補補=1 11101 1011 5補碼補碼1) X=3 Y=2 X補補=0 0011 Y補補=0 00100 0101+5補碼補碼4) X= 3 Y= 2 X補補=1 1101 Y補補=0 00101 1111 1補碼補碼例例.

21、 求求(X+Y)補補 ( X + Y )補補 = X補補 + Y補補 1 ( X - Y )補補 = X補補 + (-Y)補補 2式式2:操作碼為:操作碼為“減時,將減轉換為加。減時,將減轉換為加。 1) X= 4 Y= 5 X補補=0 0100 Y補補=1 1011(-Y)補補=0 01010 1001+9補碼補碼2) X= 4 Y= 5 X補補=1 1100 Y補補=0 0101(-Y)補補=1 10111 0111 9補碼補碼例例. 求求(X Y)補補Y補補 (Y)補:補:將將Y Y補變補補變補不論不論Y Y補為正或負,將其符號連補為正或負,將其符號連同尾數一同各位變反,末位加同尾數一同

22、各位變反,末位加1 1。即將減數變補后與被減數相加。即將減數變補后與被減數相加。 X補補=0 0100 Y補補=1 1011 X補補=1 1100 Y補補=0 0101留意:某數的補碼表示與某數變補的區別。留意:某數的補碼表示與某數變補的區別。例例. 1 0101. 1 0101原原 1 10111 1011補碼表示補碼表示1 00111 0011補補 0 11010 1101變補變補例例. 1 0101. 1 0101原原 1 1 10111011 0 0101 0 0101原原 0 01010 0101補碼表示補碼表示符號位不變;符號位不變; 0 0101 0 0101原原 0 01010

23、 0101 1 0101 1 0101原原 1 1 10111011 0 0101 0 0101原原 0 01010 0101負數尾數改動,負數尾數改動,正數尾數不變。正數尾數不變。0 00110 0011補補 1 11011 11011 00111 0011補補 0 11010 11010 00110 0011補補 1 11011 11011 00111 0011補補 0 11010 11010 00110 0011補補 1 11011 1101變補變補符號位改動,符號位改動,尾數改動。尾數改動。補碼的機器負數補碼的機器負數2. 算法流程算法流程操作數用補碼表示,操作數用補碼表示,符號位參與

24、運算符號位參與運算結果為補碼表示,符結果為補碼表示,符號位指示結果正負號位指示結果正負X補補+Y補補X補補+(-Y)補補ADDSUB3. 邏輯實現邏輯實現A(X補補)B(Y補補)+AABB+B+B+1CPA A1控制信號控制信號加法器輸入端:加法器輸入端:+A+A:翻開控制門,將:翻開控制門,將A A送送 。+B+B:翻開控制門,將:翻開控制門,將B B送送 。+1+1:控制末位加:控制末位加 1 1 。+B+B:翻開控制門,將:翻開控制門,將B B送送 。加法器輸出端:加法器輸出端: A:翻開控制門,將結:翻開控制門,將結 果送果送A輸入端。輸入端。CPACPA:將結果打入:將結果打入A A

25、。2補碼加減運算器粗框補碼加減運算器粗框2.3.2 溢出判別溢出判別在什么情況下能夠產生溢出?在什么情況下能夠產生溢出?例例. .數數A A有有4 4位尾數,位尾數,1 1位符號位符號SASA 數數B B有有4 4位尾數,位尾數,1 1位符號位符號SB SB 符號位參符號位參與運算與運算 結果符號結果符號SfSf符號位進位符號位進位CfCf尾數最高位進位尾數最高位進位C C正確正確0 00110 00101A=3 B=2 3+2:0 0101 2A=10 B=7 10+7:0 10100 01111 0001 正溢正溢正確正確負溢負溢正確正確正確正確3A= -3 B= -2-3+(-2):1

26、1011 1 11011 11104A= -10 B= -7 -10+(-7):0 1111 1 01101 10015A=6 B= -4 6+(-4):0 0010 0 01101 11006A= -6 B=4 -6+4:1 1110 1 10100 01002A=10 B=7 10+7 :0 1010 0 01111 0001 4A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判別邏輯一硬件判別邏輯一SA、SB與與Sf的關系的關系溢出溢出= = S SA ASBSBSfSfS SA ASfSfSBSB2. 硬件判別邏輯二硬件判別邏輯二Cf與與C的

27、關系的關系正確正確0 00110 00101A=3 B=2 3+2:0 0101 2A=10 B=7 10+7:0 10100 01111 0001 正溢正溢正確正確負溢負溢正確正確正確正確3A= -3 B= -2-3+(-2):1 1011 1 11011 11104A= -10 B= -7 -10+(-7):0 1111 1 01101 10015A=6 B= -4 6+(-4):0 0010 0 01101 11006A= -6 B=4 -6+4:1 1110 1 10100 0100Cf=0Cf=0C =0C =0Cf=0Cf=0C =1C =1Cf=1Cf=1C =1C =1Cf=1

28、Cf=1C =0C =0Cf=1Cf=1C =1C =1Cf=0Cf=0C =0C =01111112A=10 B=7 10+7 : 0 1010 0 01111 0001 4A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判別邏輯一硬件判別邏輯一SA、SB與與Sf的關系的關系溢出溢出= = S SA ASBSBSfSfS SA ASfSfSBSB2. 硬件判別邏輯二硬件判別邏輯二Cf與與C的關系的關系溢出溢出= Cf C= Cf C3. 硬件判別邏輯三雙符號位硬件判別邏輯三雙符號位13+2:正確正確00 001100 001000 0101 210

29、+7:00 101000 011101 0001 正溢正溢正確正確負溢負溢正確正確正確正確3-3+(-2):11 0111 11 110111 11104-10+(-7):10 1111 11 011011 100156+(-4):00 0010 00 011011 11006-6+4:11 1110 11 101000 0100第一符號位第一符號位Sf1第二符號位第二符號位Sf22A=10 B=7 10+7 : 0 1010 0 01111 0001 4A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判別邏輯一硬件判別邏輯一SA、SB與與Sf的關系

30、的關系溢出溢出= = S SA ASBSBSfSfS SA ASfSfSBSB2. 硬件判別邏輯二硬件判別邏輯二Cf與與C的關系的關系溢出溢出= Sf1 Sf2= Sf1 Sf23. 硬件判別邏輯三雙符號位硬件判別邏輯三雙符號位溢出溢出= Cf C= Cf C2.3.3 移位操作移位操作邏輯移位邏輯移位 :數碼位置變化,數值不變。:數碼位置變化,數值不變。1. 移位類型移位類型算術移位算術移位 1 0 0 0 1 1 1 1循環左移:循環左移:0 :數碼位置變化,數值變化:數碼位置變化,數值變化,符號位不變。符號位不變。1 0 0 1 1 1 1 算術左移:算術左移:1 0 0 1 1 1 1

31、 10 1 1 1 1 0 (-15)(-30) 移位存放器:移位存放器:2. 移位邏輯移位邏輯 在存放器中移位在存放器中移位串行接口中。串行接口中。D4 D3 D2 D1D4 D3 D2 右移右移左移左移 D3 D2 D1 移位門:移位門: 斜位傳送運算器中。斜位傳送運算器中。左斜左斜 右斜右斜 4 3 1 2門門4 門門3 門門2 門門1移位存放器移位存放器移位門移位門加法器加法器1單符號位單符號位 : 0 01110 1110 2雙符號位:雙符號位:00 1110 00 01113.正數補碼移位規那么正數補碼移位規那么3 3移位規那么移位規那么左移左移右移右移右移右移0 0111 0 0

32、011 左移左移左移左移右移右移右移右移01 1100 00 1110 00 0111 數符不變數符不變單:符號位不變;雙:第一符號單:符號位不變;雙:第一符號位不變。位不變。空位補空位補0右移時第二符號位移至尾數最高位。右移時第二符號位移至尾數最高位。1單符號位單符號位 : 1 10111 0110 2雙符號位:雙符號位:10 1100 11 01104.負數補碼移位規那么負數補碼移位規那么3 3移位規那么移位規那么左移左移右移右移右移右移1 1011 1 1101 左移左移右移右移右移右移11 0110 11 1011 數符不變數符不變單:符號位不變;雙:第一符號單:符號位不變;雙:第一符

33、號位不變。位不變。左移空位補左移空位補0第二符號位移至尾數最高位。第二符號位移至尾數最高位。右移空位補右移空位補1易出錯處:易出錯處:00 1110 左左右右01 1100 正確:正確:11 0110 10 1100 00 1100 01 1100 00 0110 正確:正確:00 1110 11 1100 左左正確:正確:10 1100 11 1110 右右11 0110 正確:正確:2.3.4 舍入方法舍入方法1. 0舍舍1入原碼、補碼入原碼、補碼0 00100原原 1 00101原原 1 11011補補 2. 末位恒置末位恒置1原碼、補碼原碼、補碼0 00100原原 1 11011補補

34、1 00101原原 0 0010原原 1 0011原原 1 1110補補 0 0011原原 1 0011原原 1 1101補補 1 0011原原 1 1101補補 例例. 保管保管4位尾數:位尾數: 例例. 保管保管4位尾數:位尾數: 第四節第四節 定點乘法運算定點乘法運算2.4.1 原碼一位乘法原碼一位乘法 每次用一位乘數去乘被乘數。每次用一位乘數去乘被乘數。 1.算法分析算法分析乘法乘法 部分積累加、移位。部分積累加、移位。例例. 0.11011.1011乘積乘積 P = X P = X Y Y積符積符 SP= SX SYSP= SX SYX原原Y原原1 1手算手算 0.1101 0.11

35、01 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111上符號:上符號:1.100011111.10001111部分積部分積問題:問題:1 1加數增多由乘數位數決議。加數增多由乘數位數決議。 2 2加數的位數增多與被乘數、乘加數的位數增多與被乘數、乘 數位數有關。數位數有關。改良:將一次相加改為分步累加。改良:將一次相加改為分步累加。2 2分步乘法分步乘法每次將一位乘數所對應的部分積與原部每次將一位乘數所對應的部分積與原部分積的累加和相加,并移位。分積的累加和相加,并移位。設置存放器:設置存放器:

36、 A A:存放部分積累加和、乘積高位:存放部分積累加和、乘積高位 B B:存放被乘數:存放被乘數 C C:存放乘數、乘積低位:存放乘數、乘積低位 設置初值:設置初值: A = 00.0000A = 00.0000 B = X = 00.1101 B = X = 00.1101 C = Y = .1011 C = Y = .1011 步數步數 條件條件 操作操作 A C A C 00.0000 .1011 00.0000 .1011 1 1Cn=1Cn=1+B+BCnCn+ 00.1101+ 00.110100.110100.1101 0.1101 0.1101 0.10110.1011 110

37、1 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111BC 1101 1101 00.011000.01101.1011.101 0.1101 0.1101 0.10110.10112 2Cn=1Cn=1+B+B+ 00.1101+ 00.110101.001101.001100.100100.100111.1011.10 0.1101 0.1101 0.10110.1011 0.1101 0.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0

38、.10001111BC3 3Cn=0Cn=0+0+0+ 00.0000+ 00.000000.100100.100100.010000.0100111.1111.14 4Cn=1Cn=1+B+B+ 00.1101+ 00.110101.000101.000100.100000.100011111111X X原原Y Y原原 = 1.10001111 = 1.10001111 2.算法流程算法流程0 A0 A、X BX B、Y CY C、0 CR0 CRCn = 1 Cn = 1 ?CR = n CR = n ?1/21/2A+BA+B A A,C C1/21/2A+0A+0 A A,C C CR

39、 + 1 CR CR + 1 CRYYNN Sx + Sy SA Sx + Sy SA 3.運算規那么運算規那么1 1操作數、結果用原碼表示;操作數、結果用原碼表示;2 2絕對值運算,符號單獨處置;絕對值運算,符號單獨處置;3 3被乘數被乘數(B)(B)、累加和、累加和(A)(A)取雙符號位;取雙符號位;4 4乘數末位乘數末位(Cn)(Cn)為判別位,其形狀決議為判別位,其形狀決議 下步操作;下步操作;5 5作作n n次循環累加、右移。次循環累加、右移。 4.邏輯實現邏輯實現加法器輸入端控制信號:加法器輸入端控制信號:+A+A、+B+B加法器輸出端控制信號:加法器輸出端控制信號:1/2 A1/

40、2 A、C C、CPACPA、CPCCPC A4 A3 A2 A1 A4 A3 A2 A1 門門4 4 門門3 3 門門2 2 門門1 1 C4 C3 C2 C1 C4 C3 C2 C1 門門4 4 門門3 3 門門2 2 門門1 1 4 3 2 1 4 3 2 1 1/2 ACPACPCCC4 C3 C2+A+BA1 B12.4.2 補碼一位乘法補碼一位乘法 1.算法分析算法分析 X補補 = X0.X1X2Xn1 1Y Y為正:為正:Y Y補補 = 0.Y1Y2Yn = 0.Y1Y2Yn (XY) (XY)補補 = X = X補補(0.Y1Y2Yn)(0.Y1Y2Yn)2 2Y Y為負:為負

41、:Y Y補補 = 1.Y1Y2Yn = 1.Y1Y2Yn (XY) (XY)補補 = X = X補補(0.Y1Y2Yn)+(-X)(0.Y1Y2Yn)+(-X)補補3 3Y Y符號恣意:符號恣意: (XY) (XY)補補 = X = X補補(0.Y1Y2Yn)+(-X)(0.Y1Y2Yn)+(-X)補補Y0Y0符號位符號位4 4展開為部分積的累加和方式:展開為部分積的累加和方式:(XY)(XY)補補 = X = X補補(0.Y1Y2Yn)+(-X)(0.Y1Y2Yn)+(-X)補補Y0Y0 = X = X補補(0.Y1Y2Yn)-X(0.Y1Y2Yn)-X補補Y0Y0 = X = X補補(-Y

42、0+2 Y1+2 Y2+2 Yn)(-Y0+2 Y1+2 Y2+2 Yn)-1 -2 -n-1 -2 -n = X = X補補 -Y0+(Y1-2 Y1)+(2 Y2-2 Y2)+ -Y0+(Y1-2 Y1)+(2 Y2-2 Y2)+-1 -1 -2-1 -1 -2-(n-1) -n -(n-1) -n +(2 Yn-2 Yn) +(2 Yn-2 Yn) = X = X補補 (Y1-Y0)+2 (Y2-Y1)+2 (Y3-Y2)+ (Y1-Y0)+2 (Y2-Y1)+2 (Y3-Y2)+-1 -2-1 -2 +2 (0 -Yn) +2 (0 -Yn)-n-n +2 (0 -Yn) +2 (0

43、-Yn)-n-nYn+1Yn+1 = X = X補補 (Y1-Y0)+2 (Y2-Y1)+2 (Y3-Y2)+ (Y1-Y0)+2 (Y2-Y1)+2 (Y3-Y2)+-1 -2-1 -2 +2 (0 -Yn) +2 (0 -Yn)-n-nYn+1Yn+1比較法:用相鄰兩位乘數比較的結果斷定比較法:用相鄰兩位乘數比較的結果斷定 +X補、補、-X補或補或+0。 2.比較法算法比較法算法Yn(高位高位) Yn+1(低位低位) 操作操作(A補為部分積累補為部分積累加和加和) 0 00 00 10 11 01 01 1 1 1 1/2A 1/2A補補 1/2(A1/2(A補補+X+X補補) ) 1/2

44、(A 1/2(A補補-X-X補補) ) 1/2A 1/2A補補( 0 )( 0 )( 1 )( 1 )(-1 )(-1 )( 0 )( 0 )3.3.運算實例運算實例X=-0.1101,Y=-0.1011,X=-0.1101,Y=-0.1011,求求(XY)(XY)補。補。初值:初值:A=00.0000,B=XA=00.0000,B=X補補=11.0011,=11.0011, -B=(-X) -B=(-X)補補=00.1101,C =Y=00.1101,C =Y補補=1.0101=1.0101步數步數 條件條件 操作操作 A C A C 00.0000 1.0101 00.0000 1.010

45、1 1 11 01 0-B-BCnCn+ 00.1101+ 00.110100.110100.110100.011000.011011.010111.01012 20 10 1+B+B+ 11.0011+ 11.001111.100111.100111.110011.1100111.010111.0103 31 01 0-B-B+ 00.1101+ 00.110100.100100.100100.010000.01001111.011111.014 40 10 1+B+B+ 11.0011+ 11.001111.011111.011111.101111.101111111.011111.00

46、0 Cn+1Cn+1CnCn+1CnCn+15 51 01 0-B-B+ 00.1101+ 00.1101(XY)(XY)補補 = 0.10001111= 0.100011114 40 10 1+B+B+ 11.0011+ 11.001111.011111.011111.101111.101111111.011111.05 51 01 0-B-B+ 00.1101+ 00.110100.100000.100011111111修正修正(1)A(1)A、B B取雙符號位,符號參與運算;取雙符號位,符號參與運算;(2)C(2)C取單符號位,符號參與移位,以決議最后能否取單符號位,符號參與移位,以決議

47、最后能否 修正;修正;(3)C(3)C末位設置附加位末位設置附加位Cn+1Cn+1,初值為,初值為0 0,CnCn+1CnCn+1組成判組成判 斷位,決議運算操作;斷位,決議運算操作;(4)(4)作作n n步循環步循環, ,假設需作第假設需作第n+1n+1步步, ,那么不移位那么不移位, ,僅修正。僅修正。 4. 4.運算規那么運算規那么1.0 : -B修正修正0.1 : +B修正修正0.0 : 不修正不修正1.1 : 不修正不修正5.5.邏輯實現邏輯實現加法器輸入端控制信號:加法器輸入端控制信號:+A+A、+B+B、+B+B、+1+1加法器輸出端控制信號:加法器輸出端控制信號:1/2 A1/

48、2 A、C C、 A A、CPACPA、CPCCPC2.4.3 原碼兩位乘法原碼兩位乘法 每次用兩位乘數去乘被乘數。每次用兩位乘數去乘被乘數。 1.算法分析算法分析Yi(高位高位) Yi+1(低位低位) 部分積部分積 累加、移位累加、移位 0 00 00 10 11 01 01 1 1 1 1/4A 1/4A 1/4(A+X) 1/4(A+X) 1/4(A+2X) 1/4(A+2X) 1/4(A+3X) 1/4(A+3X)( 0 )( 0 )( 1 )( 1 )( 2 )( 2 )( 3 )( 3 ) 0 0 X X 2X 2X 3X 3X如何實現如何實現+3X+3X操作?操作? 1/4(A+

49、3X)= 0 0 00 0 00 0 10 0 10 1 00 1 00 1 1 0 1 1 操操 作作 1/4(A+2X+X)=1/4(A+2X)+1/4X 1/4(A-X+4X)=1/4(A-X)+X 1/4(A+2X+X)=1/4(A+2X)+1/4X 1/4(A-X+4X)=1/4(A-X)+X 1/4(A-X+4X)=1/4(A-X)+X 設置欠帳觸發器設置欠帳觸發器CJCJ=0 0 不欠帳不欠帳1 1 欠帳欠帳, ,下次補作下次補作+X+X操作操作2.2.算法算法Yi Yi+1 CJYi Yi+1 CJ1/4(A+X) 0 CJ1/4(A+X) 0 CJ1/4(A+X) 0 CJ1

50、/4(A+X) 0 CJ1/4(A+2X) 0 CJ1/4(A+2X) 0 CJ1/4A 0 CJ1/4A 0 CJ1 0 01 0 01 0 11 0 11 1 01 1 01 1 1 1 1 1 Yi Yi+1 CJYi Yi+1 CJ操操 作作1/4(A-X) 1 CJ1/4(A-X) 1 CJ1/4(A-X) 1 CJ1/4(A-X) 1 CJ1/4A 1 CJ1/4A 1 CJ1/4(A+2X) 0 CJ1/4(A+2X) 0 CJ3.3.運算實例運算實例例例1.X1.X原原=1.111111,Y=1.111111,Y原原=0.111001,=0.111001,求求(XY)(XY)原

51、。原。初值:初值:A=000.000000, B= X A=000.000000, B= X =000.111111, =000.111111, 2B=001.111110, -B=111.000001,2B=001.111110, -B=111.000001,C = Y =00.111001, C = Y =00.111001, CJ=0CJ=0步數步數 條件條件 操作操作 A C A C 000.000000 00.111001 000.000000 00.111001 1 10 1 00 1 0+B+BCJCJ +000.111111 +000.111111000.111111000.1

52、11111000.001111000.001111 1100.11101100.11102 21 0 01 0 0 +2B+2B +001.111110+001.111110010.001101010.001101000.100011000.100011 011100.11011100.113 31 1 01 1 0-B-B +111.000001+111.000001111.100100111.100100111.111001111.111001 000111 00.000111 00.4 40 0 10 0 1+B+B +000.111111+000.111111000.111000000

53、.111000 000111000111Cn-1CnCn-1CnCn-Cn-1CnCJ1CnCJ0 0 0 0 2220 0 1 1 還帳還帳(XY)(XY)原原=1.111000000111=1.111000000111例例2.X2.X原原=0.00111,Y=0.00111,Y原原=1.01001,=1.01001,求求(XY)(XY)原。原。初值:初值:A=000.00000, B= X =000.00111, A=000.00000, B= X =000.00111, 2B=000.01110, -B=111.11001,2B=000.01110, -B=111.11001,C = Y

54、 =00.01001, C = Y =00.01001, CJ=0CJ=0步數步數 條件條件 操作操作 A C A C 000.00000 00.01001 000.00000 00.01001 0 0Cn-1CnCn-1Cn CJCJ0 0Cn-Cn-1CnCJ1CnCJ1 1 1 0 01 0 0 +2B+2B+000.01110+000.01110000.01110000.01110222000.00011000.000111000.01001000.0100+000.00000+000.00000111000.01111000.01 000.00011 000.00011000.000

55、00000.00000+000.00111+000.001110 02 2 0 0 00 0 00 1 0 0 1 0 0 03 3+B+B+0+0000.00111000.00111 000.00001 000.00001111110 00.111110 00. 0 0(XY)(XY)原原=1.0000111111=1.0000111111 4.運算規那么運算規那么1 1絕對值相乘,符號單獨處置。絕對值相乘,符號單獨處置。2 2A A、B B取三符號位。取三符號位。3 3C C取雙符號位,參與移位;取雙符號位,參與移位;C C尾數湊足偶數位。尾數湊足偶數位。4 4CJCJ初值為初值為0 0,

56、根據每步操作決議其形狀,不參,根據每步操作決議其形狀,不參 加移位。加移位。5 5作作1/2n1/2n步循環;假設需添加一步,那么該步只步循環;假設需添加一步,那么該步只還還 帳,不移位。帳,不移位。 5.邏輯實現邏輯實現加法器輸入端控制信號:加法器輸入端控制信號:+A+A、+B+B、+2B+2B、+B+B、+1+1加法器輸出端控制信號:加法器輸出端控制信號:1/4 A1/4 A、 A A、C C、 CPA CPA、CPCCPC、0 CJ0 CJ、1 CJ 1 CJ 2 第五節第五節 定點除法運算定點除法運算除法除法 假設干余數與除數加減、移位。假設干余數與除數加減、移位。例例. 0.1011

57、0. 0.101100.111110.111110.101100.10110 1101 11010.0.0 01 1 11111 11111 0.11111 0.111110 00 00 01 1 11111 11111 10101 101010 01 1 11111 11111 1011 10110 00 0.0000000000.0.0.商:商: 0.10110 0.10110余數:余數:0.101100.101102 2 5實現除法的關鍵:實現除法的關鍵:比較余數、除數比較余數、除數絕對值大小,以絕對值大小,以決議上商。決議上商。2.5.1 原碼恢復余數法原碼恢復余數法1.算法算法 比較

58、兩數大小可用減法試探。比較兩數大小可用減法試探。2 2余數余數- -除數除數= =新余數新余數為正為正: :夠減夠減, ,商商1 1。為負為負: :不夠減不夠減, ,商商0,0,恢復原余數。恢復原余數。2.2.實例實例X=-0.10110X=-0.10110,Y=0.11111Y=0.11111,求,求X/YX/Y,給出商,給出商Q Q和余數和余數R R。設置:設置:A A:被除數、余數,:被除數、余數,B B:除數,:除數,C C:商:商初值:初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.

59、00000 C= Q = 0.00000 -B= 11.00001 -B= 11.00001步數步數 條件條件 操作操作 A C A C 00.10110 0.00000 00.10110 0.00000 1 10 0-B-B 01.01100 01.01100+11.00001+11.0000100.0110100.011010.000010.000012 21 1 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.000100.000103 3恢復余數恢復余數+B+B+00.11111+00.1111100.1101000.11

60、01001.1010001.101000.001010.001014 40 0-B-B +11.00001+11.0000100.1010100.10101CnCnSASAQ1 Q1 Q2 Q2 Q3 Q3 r0r02r02r0r1r12r12r1r2r2r2r22r22r2r3r3步數步數 條件條件 操作操作 A C A C 00.10101 0.00101 00.10101 0.00101 5 50 0-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.010110.010116 61 1 -B-B00.1011000.101

溫馨提示

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

評論

0/150

提交評論