第3章運算方法與運算器_第1頁
第3章運算方法與運算器_第2頁
第3章運算方法與運算器_第3頁
第3章運算方法與運算器_第4頁
第3章運算方法與運算器_第5頁
已閱讀5頁,還剩84頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章運算方法與運算器本章主要內(nèi)容1.定點加法、減法運算2.定點乘法運算3.定點除法運算4.定點運算器的組成與結(jié)構(gòu)5.浮點運算方法和浮點運算器用開關(guān)實現(xiàn)門電路傳統(tǒng)的邏輯學(xué)是二值邏輯學(xué),它研究命題在“真”、“假”兩個值中取值的規(guī)律。0,1碼只有兩個碼,因此特別適合用做邏輯的表達符號。通常用“1”表示“真”,用“0”表示“假”。邏輯代數(shù)是表達語言和思維邏輯性的符號系統(tǒng)。邏輯代數(shù)中最基本的運算是“與”、“或”、“非”。用開關(guān)實現(xiàn)門電路1)“與”運算和“與門”表示為:X=AandB或X=A∧B實現(xiàn)“與”邏輯功能的電路單元叫“與門”。AB X=A×B00 0 01 0 10 0 11 1 (a)邏輯“與”實例(b)“與”門符號(c)邏輯“與”真值表用開關(guān)實現(xiàn)門電路2)“或”運算和“或門”表示為:X=AorB或X=A∨B能實現(xiàn)“或”邏輯功能的電路單元叫“或門”。ABX=A+B00 0 01 1 10 1 11 1 (a)邏輯“或”實例(b)“或”門符號(c)邏輯“或”真值表用開關(guān)實現(xiàn)門電路3)“非”運算和“非門”表示為:X=notA或A能實現(xiàn)“非”邏輯功能的電路單元叫“非門”。AX=A01 1 0 (a)邏輯“非”實例(b)“非”門符號(c)邏輯“非”真值表用開關(guān)實現(xiàn)門電路4)組合邏輯電路任何復(fù)雜的邏輯問題,最終可用“與”、“或”、“非”這3種基本邏輯運算的組合加以描述。常用的組合邏輯電路單元有“與非門”、“或非門”、“異或門”、“同或門”等。

稱符

號邏輯表達式真

表ABX緩沖門X=A0101與非門X=A·B=A+B001101011110或非們X=A+B=A·B001101011000異或門X=AB=A·B+A·B001101010110同或門X=A·B=A·B+A·B001101011001用開關(guān)實現(xiàn)門電路邏輯代數(shù)的基本定律(1)關(guān)于變量與常量的關(guān)系A(chǔ)+0=A,A+1=1,A+A=1A·0=0,A·1=A,A·A=0(2)重復(fù)律A·A=A,A+A=A(3)吸收律A+A·B=A,A·(A+B)=A用開關(guān)實現(xiàn)門電路邏輯代數(shù)的基本定律(4)分配律A(B+C)=A·B+A·C,A+B·C=(A+B)·(A+C)(5)交換律A+B=B+A,A·B=B·A(6)結(jié)合律(A+B)+C=A+(B+C),(A·B)·C=A·(B·C)(7)反演律A·B·C·…=A+B+C+…,A+B+C+…=A·B·C·…一位加法電路──全加器0.0.1.1.10101111110被加數(shù)加數(shù)進位和第i位+一位加法電路──全加器1101被加數(shù)加數(shù)本位和(Si的中間值)低位進位1本位全和+1XiYiCi-1CiSi本位進位一位加法電路──全加器XiYiCi-1CiSiXiYiCi-1CiSi0000010100110001011010010111011101101011Si=Xi·Yi·Ci-1+Xi·Yi·Ci-1+Xi·Yi·Ci-1+Xi·Yi·Ci-1=Xi+Yi+Ci-1

Ci=Xi·Yi·Ci-1+Xi·Yi·Ci-1+Xi·Yi·Ci-1+Xi·Yi·Ci-1

=Xi·Yi+(Xi+Yi)·Ci-1一位加法電路──全加器Si=Xi+Yi+Ci-1

Ci

=Xi·Yi+(Xi+Yi)·Ci-1XiYiCi-1ΣSiCiXi=1&=1YiCi-1&≥1CiSi串行加法電路寄存器每接收一次移位脈沖,同時各右移1位。每次相加后得Si

計入A寄存器最左端,本位進位送給進位觸發(fā)器。經(jīng)過n次移位脈沖后,完成兩個n位二進制數(shù)相加。并行加法電路兩個n位二進制數(shù)各位同時相加。串行進位:每個全加器得出的進位依次向高一位傳送,從而得出每位的全加和。最后一個進位Cn為計算機工作進行判斷提供測試標態(tài)。并行加/減法電路當SUB=0時,Bi’=Bi·SUB+Bi·SUB=Bi

·0+Bi·1=Bi

進行的是A+B;當SUB=1時,Bi’=Bi

·SUB+Bi

·SUB=Bi

·1+Bi·0=Bi進行的是A-B。并行加法電路并行進位串行進位的延遲時間長,但可節(jié)省器件,成本低。并行進位是讓各級進位信號同時形成。定義兩個輔助函數(shù):進位產(chǎn)生函數(shù)——Gi=AiBi進位傳遞函數(shù)——Pi=Ai

⊕BiGi:該位兩個輸入Ai、Bi均為1時,必產(chǎn)生進位;Pi:當Pi=1時,如果低位有進位,本位必產(chǎn)生進位,即低位傳來的進位Ci-1能越過本位向更高位傳遞。Ci=Gi+PiCi-1并行加法電路并行進位并行進位是讓各級進位信號同時形成。以4位加法器為例,各進位信號:C1=G1+P1C0C2=G2+P2C1=G2+P2G1+P2P1C0C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0由上可知:各進位輸出信號僅由Gi、Pi和C0決定;Gi和Pi只與Ai和Bi有關(guān),即Gi和Pi的形成是同時的,所以Ci也是同時形成的。并行加法電路并行進位⊕A1B1G1P1⊕C0S1⊕A2B2G2P2+C1⊕S2C2⊕A3B3G3P3⊕S3++C3⊕A4B4G4P4⊕S4并行加法電路并行進位并行進位加法器速度快,但增加了硬件邏輯線路的復(fù)雜度,當加法器位數(shù)增加時,進位信號Ci+1的邏輯式變得越來越復(fù)雜,可能超出實用器件規(guī)定的輸入數(shù)。目前實際采用的做法:將加法器分組,組內(nèi)采用并行進位,組間采用串行進位或并行進位。定點加法、減法運算

一、補碼加法運算

[x]補+[y]補=[x+y]補(mod2)符號位也要與數(shù)值部分一樣參加運算。符號運算后如有進位出現(xiàn),則舍去進位。二、補碼減法

[x-y]補=[x]補-[y]補=[x]補+[-y]補(mod2)[-y]補

=對[y]補各位(包括符號位)取反且末位加1定點加法、減法運算

三、補碼運算規(guī)則參加運算的操作數(shù)用補碼表示。符號位參加運算。若指令操作碼是加,則兩數(shù)直接相加;若指令操作碼是減,則將減數(shù)連同符號位一起變反加1后再與被減數(shù)相加。定點加法、減法運算例:已知,X=-0.1010Y=-0.0101

求:[X]補+[Y]補解:

[X]補=1.0110+[Y]補=1.1011[X+Y]補=11.0001

舍去不要定點加法、減法運算例:已知,X=0.1101Y=-0.0001

求:X+Y=?解:

[X]補=0.1101+[Y]補=1.1111[X+Y]補=10.1100

舍去不要所以,X+Y=0.1100定點加法、減法運算四、溢出概念及檢測方法

上溢:兩個正數(shù)相加,結(jié)果大于機器所能表示的最大正數(shù)。下溢:兩個負數(shù)相加,結(jié)果小于機器所能表示的最小負數(shù)。溢出判斷規(guī)則與判斷方法兩個相同符號數(shù)相加,其運算結(jié)果符號與被加數(shù)相同,若相反則產(chǎn)生溢出;兩個相異符號數(shù)相減,其運算結(jié)果符號與被減數(shù)相同,否則產(chǎn)生溢出。相同符號數(shù)相減,相異符號數(shù)相加不會產(chǎn)生溢出。溢出判斷方法:1.雙符號法,2.進位判斷法定點加法、減法運算四、溢出概念及檢測方法

上溢:兩個正數(shù)相加,結(jié)果大于機器所能表示的最大正數(shù)。下溢:兩個負數(shù)相加,結(jié)果小于機器所能表示的最小負數(shù)。例如,某機器字長為8位,采用補碼表示,則定點整數(shù)的表示范圍是-128~127。如果[X]補=01000011,[Y]補=01000100,則[X+Y]補=?

[X]補=01000011[Y]補=01000100[X+Y]補=10000111真值=-1111001=-12167+68=135上溢!定點加法、減法運算四、溢出概念及檢測方法

1.雙符號位溢出判斷法Sf1⊕Sf2(也稱為變形補碼)雙符號含義:00——運算結(jié)果為正數(shù);01——運算結(jié)果正向溢出;10——運算結(jié)果負向溢出;11——運算結(jié)果為負數(shù)。亦即:OVR=Sf1⊕Sf2=1有溢出

OVR=Sf1⊕Sf2=0無溢出注意:操作數(shù)及結(jié)果在寄存器中仍用一個符號位,只是在運算時擴充為雙符號位。第一位符號位為結(jié)果的真正符號位定點加法、減法運算四、溢出概念及檢測方法

1.雙符號位溢出判斷法Sf1⊕Sf2(也稱為變形補碼)例:X=0.1001,Y=0.0101,求X+Y

解:[X]補

=00.1001+[Y]補

=00.0101[X+Y]補=00.1110

兩個符號位相同,運算結(jié)果無溢出

X+Y=+0.1110定點加法、減法運算三、溢出概念及檢測方法

1.雙符號位溢出判斷法Sf1⊕Sf2(也稱為變形補碼)例:X=-0.1001,Y=-0.0101,求X+Y

解:[X]補=11.0110+1=11.0111+[Y]補=11.1010+1=11.1011[X+Y]補

=111.0010

丟棄 兩個符號位相同,運算結(jié)果無溢出

X+Y=-0.1110定點加法、減法運算三、溢出概念及檢測方法

1.雙符號位溢出判斷法Sf1⊕Sf2(也稱為變形補碼)例:X=0.1011,Y=0.0111,求X+Y

解:[X]補=00.1011+[Y]補=00.0111[X+Y]補=01.0010

兩個符號位為01,運算結(jié)果正向溢出定點加法、減法運算三、溢出概念及檢測方法

1.雙符號位溢出判斷法Sf1⊕Sf2(也稱為變形補碼)例:X=-0.1011,Y=0.0111,求X-Y

解:[X]補

=11.0100+1=11.0101[Y]補

=00.0111;

[-Y]補

=11.1001

所以[X]補

=11.0101+[-Y]補

=11.1001[X+Y]補

=110.1110

兩個符號位10不同,運算結(jié)果負向溢出定點加法、減法運算三、溢出概念及檢測方法

2.單符號位進位溢出判斷法S⊕C兩單符號位的補碼進行加減運算時,若最高數(shù)值位向符號位的進位值C與符號位產(chǎn)生的進位S相同時則無溢出,否則溢出。例:

[X]補=1.101[X]補=1.110+[Y]補=1.001+[Y]補=0.100[X+Y]補=10.110[X+Y]補=10.010

C=0,S=1,有溢出C=1,S=1,無溢出

十進制數(shù)加減運算使計算機能直接輸入和輸出十進制數(shù)的方法:1.進制轉(zhuǎn)換用軟件方法將輸入的十進制數(shù)轉(zhuǎn)換為二進制數(shù),然后在計算機內(nèi)部進行二進制數(shù)處理,再將所得結(jié)果轉(zhuǎn)換為十進制數(shù)輸出。2.直接進行十進制數(shù)運算機器提供十進制數(shù)運算指令,機器內(nèi)部采用二-十進制數(shù)(BCD碼)表示十進制數(shù),實現(xiàn)方法:機器指令系統(tǒng)中設(shè)專用BCD碼運算指令。先用二進制數(shù)的運算指令進行運算,再用BCD碼校正指令對運算結(jié)果進行校正。十進制數(shù)加減運算3.BCD碼加法運算先將BCD碼表示的十進制數(shù)按二進制數(shù)運算規(guī)則進行運算,如果和小于等于9,則不必校正;如果和大于9,則將和再加6,得到和的BCD碼形式。4位二進制數(shù)逢16進位,BCD碼逢10進位,二者相差6。例,28+9=37,00101000+00001001=?0010100011001001110001+0110+0011

0111校正值十進制數(shù)加減運算3.BCD碼加法運算一位BCD加法器單元設(shè)計:先用一個4位二進制加法器來執(zhí)行一位BCD碼數(shù)據(jù)Xi和Yi的運算。設(shè)S‘i代表這樣得到的4位二進數(shù)和,C’i

+1為輸出進位;Si代表正確的BCD和,Ci+1代表正確的進位,那么:當Xi+Yi+Ci<=9時,Si=S‘i

;否則,Si=S'i+6。十進制數(shù)加減運算3.BCD碼加法運算例如,X=1000,Y=1001X=0110,Y=01001100000111000100111000010100移位運算移位運算是實現(xiàn)算術(shù)和邏輯運算不可缺少的基本操作。按移位性質(zhì)有3種類型:邏輯移位、循環(huán)移位和算術(shù)移位。按被移位數(shù)據(jù)長度分為:字節(jié)移位、半字長移位和多倍字長移位。按每次移位的位數(shù)分為:移1位、移n位(n<=被移位數(shù)據(jù)長度)。移位指令應(yīng)指明移位性質(zhì)、被移數(shù)據(jù)長度和一次移位的位數(shù)。移位運算

邏輯右移0110101100110101移掉補00110101110110101循環(huán)右移1101001011101001補碼算術(shù)右移移掉不變1101001010100100補碼算術(shù)左移補0移掉定點乘法運算實現(xiàn)乘除法的方案(1)軟件實現(xiàn):使用原有的運算器設(shè)備,運用基本運算指令編制實現(xiàn)乘、除法運算的子程序。(2)在原有加減運算器的基礎(chǔ)上增加一些硬件設(shè)備來實現(xiàn)乘、除法運算。(3)設(shè)置專用的乘/除法器,加快運算速度。定點乘法運算一、原碼1位乘法

兩個原碼表示的數(shù)的乘法規(guī)則:乘積的符號位由兩數(shù)的符號“異或”運算得到,乘積的數(shù)值部分是兩個正數(shù)相乘之積。設(shè)n位被乘數(shù)和常數(shù)用定點小數(shù)表示:被乘數(shù)[x]原=xf.x0x1x2…xn;乘數(shù)[y]原=yf.y1y2y3…yn則乘積[z]原

=(xf⊕yf).(0.x0x1x2…xn)(0.y1y2y3…yn)xf

和yf

分別為被乘數(shù)和乘數(shù)的符號。定點乘法運算一、原碼1位乘法

例如:x=0.1101,y=0.1011,其乘積:

0.1101(x)×0.1011(y)110111010000+11010.10001111(z)定點乘法運算一、原碼1位乘法

人工運算的乘法方法不適用于機器:機器通常只有n位長,兩個n位數(shù)相乘,積可能是2n位;只有兩個操作數(shù)的加法器無法將n個位積一次相加。機器實現(xiàn)方法:將x×y改寫為適用于定點機的形式。設(shè)被乘數(shù)x、乘數(shù)y都是小于1的n位定點正數(shù):

x=0.x1x2…xn

;y=0.y1y2…yn其乘積為:

x·y

=x·(0.y1y2…yn

)=x·(y12-1+y22-2+…+yn2-n)=2-1(y1x+2-1(y2x+2-1(…+2-1(yn-1x+)…)定點乘法運算一、原碼1位乘法

乘積:x·y

=2-1(y1x+2-1(y2x+2-1(…+2-1(yn-1x+)…)令zi

表示第i次部分積,則上式可寫成如下遞推公式:

z0=0

z1=2-1(ynx+z0)

zi

=2-1(yn-i+1x+zi-1)

zn=x·y=2-1(y1x+zn-1)定點乘法運算一、原碼1位乘法zi

=2-1(yn-i+1x+zi-1)

欲求x·y,則需設(shè)置一個保存部分積的累加器。乘法開始時,令部分積的初值z0=0,然后加上ynx,再右移一位得到第一個部分積;又加上yn-1x,再右移一位得到第2個部分積;……依次類推,直到求得y1x加上zn-1并右移一位得到最后部分積,即x·y

。兩個n位數(shù)相乘需重復(fù)進行n次“加”及“右移”操作。定點乘法運算一、原碼1位乘法定點乘法運算二、補碼一位乘法原碼乘法的符號位不能參加運算,單獨用一個“異或”門產(chǎn)生乘積的符號位。補碼乘法可以實現(xiàn)符號位直接參加運算。1、補碼與真值的轉(zhuǎn)換公式設(shè)[x]補

=x0.x1x2…xn2、補碼的右移用補碼表示時,連同符號位向右移一位,若符號位保持不變,相當于乘1/2(即除2)。定點乘法運算二、補碼一位乘法3、補碼乘法規(guī)則設(shè)被乘數(shù)[x]補

=x0.x1x2…xn,乘數(shù)[y]補

=y0.y1y2…yn,則有補碼乘法公式:[x﹒y]補=[x]補﹒[]將其展開并加以變換:

[x﹒y]補=[x]補﹒

(yn+1=0)定點乘法運算二、補碼一位乘法3、補碼乘法規(guī)則設(shè)被乘數(shù)[x]補

=x0.x1x2…xn,乘數(shù)[y]補

=y0.y1y2…yn,寫成遞推公式:[z0]補

=0[z1]補

=2-1{[z0]補+(yn+1-yn)[x]補} (yn+1=0) …[zi]補

=2-1{[zi-1]補+(yn-i+2-yn-i+1)[x]補} …[zn]補

=2-1{[zn-1]補+(y2-y1)[x]補}[zn+1]補

=[zn]補+(y1-y0)[x]補

=[x·y]補

定點乘法運算二、補碼一位乘法3、補碼乘法規(guī)則[zi]補

=2-1{[zi-1]補+(yn-i+2-yn-i+1)[x]補}開始時,部分積[z0]補

=0,然后每一步都是在前次部分積的基礎(chǔ)上,由(yi+1-yi)決定對[x]補的操作,再右移1位,得到新的部分積。重復(fù)n+1步,得到[x·y]補。在實現(xiàn)乘法規(guī)則時,在乘數(shù)最末位后增加一位補充位yn+1

。開始時,由ynyn+1判斷第一步怎么操作;然后再由yn-1yn判斷第二步的操作。重復(fù)n+1步,但最后一步不移位。如果ynyn+1=01,則做加[x]補操作;如果ynyn+1=10,則做加[-x]補操作,如果ynyn+1=11或00,則[zi]加0,保持不變。定點乘法運算二、補碼一位乘法4、補碼一位乘法運算規(guī)則定點乘法運算二、補碼一位乘法4、補碼一位乘法運算規(guī)則例:x*y=0.1101×(-0.1011)00000部分積z101010乘數(shù)y[x]補

=01101[y]補

=10101[-x]補

=10011yn+1

11001110101(Step1,yyn+1=10,z+[-x]補,右移)

00011011010(Step2,yyn+1=01,z+[x]補,右移)

11011001101(Step3,yyn+1=10,z+[-x]補,右移)

00100000110(Step4,yyn+1=01,z+[x]補,右移)

11011100011(Step5,yyn+1=10,z+[-x]補,右移)

11101110001(Step6,yyn+1=11,z+0)定點乘法運算三、陣列乘法器“串行移位”和“并行加法”相結(jié)合的方法不需要很多器件。然而速度太慢,執(zhí)行一次乘法的時間至少是執(zhí)行一次加法時間的n倍。高速的單元陣列乘法器屬于并行乘法器,速度快。

1.不帶符號的陣列乘法器設(shè)有兩個不帶符號的二進制整數(shù):

A=am-1…a1a0;

B=bn-1…b1b0

乘積定點乘法運算三、陣列乘法器

1.不帶符號的陣列乘法器設(shè)有兩個不帶符號的二進制整數(shù):

A=am-1…a1a0;

B=bn-1…b1b0定點乘法運算三、陣列乘法器

1.不帶符號的陣列乘法器m位×n位不帶符號的陣列乘法器邏輯框圖定點乘法運算三、陣列乘法器

1.不帶符號的陣列乘法器FA是5位×5位一位全加器,斜線方向為進位輸出,豎線方向為和輸出,定點除法運算一、原碼一位除法

被除數(shù):[x]原=xf.x1x2…

xn

,除數(shù):[y]原=yf.y1y2…

yn商:[q]原

=(xf

⊕yf).(x1x2…

xn/y1y2…

yn)設(shè)被除數(shù)x=0.1001,除數(shù)y=0.1011,手算求x÷y0.100100.010110.0011100.0010110.00001100.00010110.000011000.000010110.000000010.10110.1101--商余數(shù)除數(shù)右移1位,減除數(shù)右移1位,減除數(shù)右移1位,不減除數(shù)右移1位,減-定點除法運算一、原碼一位除法

在計算機中,小數(shù)點是固定的,所以不能采用手算方法。機器操作:除數(shù)y固定不動,使被除數(shù)和余數(shù)左移(相當于乘2),效果與手算相同。設(shè)x=0.1001,除數(shù)y=0.1011,求x÷y定點除法運算一、原碼一位除法

設(shè)x=0.1001,除數(shù)y=0.1011,求x÷y為便于減法運算,參算的數(shù)用補碼表示,[-y]補=1.010100.100101.001011.010100.011100.111011.010100.001100.011000.110011.010100.00010.10110.1101+商x<y,商0被除數(shù)左移1位,2x>y,商1減y,即加[-y]補第一次余數(shù)r1左移1位,2r1>y,商1減y第二次余數(shù)r2左移1位,2r2<y,商0左移1位,2r3<y,商1減y第四次余數(shù)r4++最后的正確余數(shù)為2-4r4定點除法運算一、原碼一位除法

手算法是將部分被除數(shù)或余數(shù)減去除數(shù),根據(jù)是否夠減決定商1還是商0。計算機中實現(xiàn)除法,需要解決如何判斷是否夠減:法1:用邏輯線路進行比較判別。將被乘數(shù)或余數(shù)減去除數(shù),如果夠減就執(zhí)行一次減法并商1,否則商0,然后余數(shù)左移一位。(增加了硬件代價)法2:直接做減法試探。不論是否夠減,都將被除數(shù)或余數(shù)減去除數(shù)。若所得余數(shù)符號位是0(正)表明夠減,商1;若余數(shù)符號為1(負)表明不夠減,因此商0,并加上除數(shù)(即恢復(fù)余數(shù))。定點除法運算一、原碼一位除法

恢復(fù)余數(shù)法運算的各步操作不規(guī)則,導(dǎo)致控制時序的安排比較復(fù)雜和困難;在恢復(fù)余數(shù)時,要多做一次加除數(shù)操作,增加了運算時間。加減交替法(不恢復(fù)余數(shù)法):運算過程中如出現(xiàn)不夠減,不必恢復(fù)余數(shù),根據(jù)余數(shù)符號,可以繼續(xù)往下運算。分析恢復(fù)余數(shù)法:當余數(shù)A為正時,商1,然后A左移一位再減除數(shù)B,相當于2A-B;當余數(shù)A為負時,商0,并加除數(shù)以恢復(fù)余數(shù),然后A左移一位,相當于2(A+B)-B=2A+B;定點除法運算一、原碼一位除法

原碼加減交替法的規(guī)則:當余數(shù)為正時,商“1”,余數(shù)左移一位減除數(shù);當余數(shù)為負時,商“0”,余數(shù)左移一位,加除數(shù)。例:x=0.1001,y=0.1011,用加減交替法求x÷y

解:[x]原

=[x]補=0.1001;[y]原=[y]補=0.1011,[-y]補=1.0101定點除法運算一、原碼一位除法

解:[x]補=0.1001;[y]補=0.1011,[-y]補=1.0101定點除法運算二、補碼一位除法1.補碼加減交替法算法補碼加減交替除法的算法規(guī)則如下:(1)被除數(shù)與除數(shù)同號,被除數(shù)與減去除數(shù);被除數(shù)與除數(shù)異號,被除數(shù)加上除數(shù)。(2)余數(shù)和除數(shù)同號,商為1,余數(shù)左移一位,下次減除數(shù);余數(shù)和除數(shù)異號,商為0,余數(shù)左移一位,下次加除數(shù)。(3)重復(fù)步驟(2),包括符號位在內(nèi),共做n+1步。定點除法運算二、補碼一位除法2.商的校正如果要求進一步提高商的精度,可以不用“恒置1”的方式舍入,而按上述法則多求一位后,再采用如下校正方法對商進行處理:(1)剛好能除盡時,如果除數(shù)為正,商不必校正;如果除數(shù)為負,則商加2-n。(2)不能除盡時,如果商為正,則不必校正;如果商為負,則商加2-n。定點除法運算二、補碼一位除法例:x=0.1001y=0.1011,用恢復(fù)余數(shù)法求x÷y=?解:[x]原

=[x]補=0.1001[y]原=[y]補=0.1011,[-y]補=1.0101定點除法運算二、補碼一位除法例:x=0.1001y=0.1011,用恢復(fù)余數(shù)法求x÷y=?解:[x]原

=[x]補=0.1001[y]原=[y]補=0.1011,[-y]補=1.0101定點運算器的組成和結(jié)構(gòu)運算器是數(shù)據(jù)的加工處理部件,是中央處理器的重要組成部分。各種計算機的運算器結(jié)構(gòu)可能不同,最基本的結(jié)構(gòu)中必須有算術(shù)/邏輯運算單元、數(shù)據(jù)寄存器、累加器、多路轉(zhuǎn)換器和數(shù)據(jù)總線等邏輯構(gòu)件。一、多功能算術(shù)/邏輯運算單元(ALU)ALU是一種功能較強的組合邏輯電路,能進行多種算術(shù)運算和邏輯運算。ALU的基本邏輯結(jié)構(gòu)是超前進位加法器,它通過改變加法器的進位產(chǎn)生函數(shù)G和進位傳遞函數(shù)P來獲得多種運算能力。定點運算器的組成和結(jié)構(gòu)一、多功能算術(shù)/邏輯運算單元(ALU)SN74181型四位ALU中規(guī)模集成電路M是狀態(tài)控制端,M=1,執(zhí)行邏輯運算;M=0,執(zhí)行算術(shù)運算。S0至S3是運算選擇端,它決定電路執(zhí)行哪種算術(shù)運算或邏輯運算。負邏輯操作數(shù)表示的74181ALU邏輯電路定點運算器的組成和結(jié)構(gòu)一、多功能算術(shù)/邏輯運算單元(ALU)SN74181型四位ALU中規(guī)模集成電路負邏輯或正邏輯操作數(shù)方式的74181ALU框圖定點運算器的組成和結(jié)構(gòu)二、內(nèi)部總線

總線就是一個或多個信息源傳送信息到多個目的的數(shù)據(jù)通路,它是多個部件之間傳送信息的一級傳輸線。根據(jù)總線所處的位置,總線分為:內(nèi)部總線:CPU內(nèi)各部件的連線;外部總線:CPU與存儲器、I/O系統(tǒng)之間的連線。按總線的邏輯結(jié)構(gòu),總線可分為:單向總線:信息只能向一個方向傳送;雙向總線:信息可以向兩個方向傳送,即可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù)。定點運算器的組成和結(jié)構(gòu)二、內(nèi)部總線

總線的邏輯電路往往是三態(tài)的,即輸出電平有三種狀態(tài):邏輯“1”、邏輯“0”和“浮空”狀態(tài)。三態(tài)緩沖器是靠在“允許/禁止”輸入端來禁止其操作的,禁止時,輸出呈現(xiàn)高阻抗狀態(tài)。在高阻抗狀態(tài)下,可以認為輸出與電路的其他部分被斷開。定點運算器的組成和結(jié)構(gòu)三、定點運算器的基本結(jié)構(gòu)1、單總線結(jié)構(gòu)的運算器在同一時間內(nèi),只能有一個操作數(shù)放在單總線上。定點運算器的組成和結(jié)構(gòu)三、定點運算器的基本結(jié)構(gòu)2、雙總線結(jié)構(gòu)的運算器兩個操作數(shù)同時加到ALU進行運算,只需要一次操作控制,而馬上就可以得到運算結(jié)果。定點運算器的組成和結(jié)構(gòu)三、定點運算器的基本結(jié)構(gòu)3、三總線結(jié)構(gòu)的運算器ALU的兩個輸入端分別由兩條總線供給,而ALU的輸出則與第三條總線相連。浮點運算方法一、浮點加法和減法設(shè)有兩個浮點數(shù)x和y,它們分別為:其中,Ex、Ey分別為x、y的階碼,Sx、Sy分別為的尾數(shù)。完成浮點加減運算的操作過程大體分為六步:浮點運算方法一、浮點加法和減法1.0操作數(shù)檢查如果判知兩個操作數(shù)x或y中有一個數(shù)為0,即可得知運算結(jié)果而不必要再進行后續(xù)的操作,以節(jié)省時間。2.對階使兩數(shù)的階碼相同,這個過程叫做對階。首先應(yīng)求出兩數(shù)階碼Ex和Ey之差,即: △x=Ex–Ey對階時使小階向大階看齊,即小階的尾數(shù)向右移位(相當于小數(shù)點左移),右移的位數(shù)等于階差△E。浮點運算方法一、浮點加法和減法3.尾數(shù)求和對階完畢后就可對尾數(shù)求和。不論是加法還是減法運算,都按加法進行操作,其方法與定點加減運算一樣。4.規(guī)格化當尾數(shù)用二進制表示時,浮點規(guī)格化的定義是尾數(shù)M應(yīng)滿足:向左規(guī)格化:尾數(shù)左移1位,階碼減1。向右規(guī)格化,即尾數(shù)右移1位,階碼加1。浮點運算方法一、浮點加法和減法5.舍入當對階或向右規(guī)格化時

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論