大學(xué)計(jì)算機(jī)組成原理-第3章、運(yùn)算方法與運(yùn)算器_第1頁(yè)
大學(xué)計(jì)算機(jī)組成原理-第3章、運(yùn)算方法與運(yùn)算器_第2頁(yè)
大學(xué)計(jì)算機(jī)組成原理-第3章、運(yùn)算方法與運(yùn)算器_第3頁(yè)
大學(xué)計(jì)算機(jī)組成原理-第3章、運(yùn)算方法與運(yùn)算器_第4頁(yè)
大學(xué)計(jì)算機(jī)組成原理-第3章、運(yùn)算方法與運(yùn)算器_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1

第三章、運(yùn)算方法與運(yùn)算器

Outline 定點(diǎn)補(bǔ)碼加/減法運(yùn)算定點(diǎn)乘法運(yùn)算浮點(diǎn)運(yùn)算運(yùn)算器組織運(yùn)算器部件舉例2

3.1定點(diǎn)補(bǔ)碼加/減法運(yùn)算定點(diǎn)補(bǔ)碼的加減法運(yùn)算

[X]補(bǔ)+[Y]補(bǔ)=[X+Y]補(bǔ)

[X]補(bǔ)

-[Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)=[X-Y]補(bǔ)

-[Y]補(bǔ)=[-Y]補(bǔ)(規(guī)則來(lái)源于補(bǔ)碼的特點(diǎn),也即模運(yùn)算的特點(diǎn)。存在模運(yùn)算與溢出的關(guān)系問(wèn)題)30.111+1.100=10.011(0.875-0.5=0.375)(多出一位丟掉)√

0.111+0.010=1.001(0.875+0.25=1.125)(機(jī)器得到-0.875)

1.001+1.100=10.101(-0.875-0.5=-1.325)(機(jī)器得到+0.625)結(jié)論:運(yùn)算的實(shí)際結(jié)果沒(méi)有超出字長(zhǎng)可以表示的數(shù)值范圍,取模的結(jié)果是正確。超出范圍則溢出,出現(xiàn)錯(cuò)誤。判斷方法:正+正得負(fù)或負(fù)+負(fù)得正注意:模運(yùn)算與溢出的關(guān)系

(例如,4位2進(jìn)制運(yùn)算器):

4補(bǔ)碼加法的幾種情況及其溢出檢測(cè)0.10101+0.010000.11101

0.10101+0.11000.01101

11.10101+1.110001.01101

11.00101+1.11000.11101

01正正得負(fù),正溢出負(fù)負(fù)得正,負(fù)溢出正常結(jié)果符號(hào)位進(jìn)位舍去,正常結(jié)果計(jì)算機(jī)如何識(shí)別運(yùn)算結(jié)果是否溢出Cf=0,C1=0Cf=1,C1=1Cf=0,C1=1Cf=1,C1=0符號(hào)位進(jìn)位Cf(C0)

,最高位進(jìn)位C15CfC1V000110101011單符號(hào)數(shù)溢出檢測(cè)溢出信號(hào)V對(duì)應(yīng)的真值表V=Cf⊕C16雙符號(hào)數(shù)溢出檢測(cè)00.10101+00.0100000.11101

00.10101+00.11000.01101

0111.10101+11.1100011.01101

111.00101+11.11000.11101

101非正常符號(hào)位,溢出符號(hào)位進(jìn)位舍去,正常結(jié)果正常結(jié)果非正常符號(hào)位,溢出f1f2Sf1Sf2

V

Sf1

⊕Sf27加法運(yùn)算的邏輯實(shí)現(xiàn)

[X]補(bǔ)=X0X1………Xn

[Y]補(bǔ)=Y(jié)0Y1…….…Yn+?0?1…….…?n多位加法運(yùn)算依賴(lài)于各位逐位相加的運(yùn)算,所以我們先討論一位全加器8一位全加器輸入:

加數(shù)Ai

、Bi

、低位進(jìn)位輸入Ci+1輸出:

和數(shù)Si

,進(jìn)位輸出CiAiBiCi+1SiCi00000001100101001101100101010111001111119一位加法器邏輯表達(dá)式注意:邏輯表達(dá)式可以變形,故電路形式不是唯一的。i+1iiiiiCBABAC)(?+=i+1iiiCBAS??=10典型門(mén)電路&AB≥1AB=1AB1A&AB≥1AB=1AB與非或非非與或異或異或非11一位全加器邏輯電路實(shí)現(xiàn)FASiAi

BiCi+1Ci一位全加器一位全加器時(shí)間延遲i+1iiiiiCBABAC)(?+=Ci+1

AiBiSiCiFA12CCn+1CnC2C1C0x0y0x1y1xn-1yn-1xnyns0s1sn-1sn…Cn-1Σ0Σ0Σ1Σn-1ΣnV雙符號(hào)補(bǔ)碼加/減器電路實(shí)現(xiàn)MM由匯編語(yǔ)言中的加法指令add,以及sub等產(chǎn)生1、N個(gè)合起來(lái);2、M控制加減;3、串行行波加法器13快速加法器能否提前產(chǎn)生各位的進(jìn)位輸入使得各位的加法運(yùn)算能并行起來(lái)提高多位加法器運(yùn)算速度14并行加法器進(jìn)位鏈Si=Xi⊕Yi⊕Ci+1Ci=Ci+1(Xi⊕Yi)+XiYiGi=

XiYiPi=Xi⊕YiGi進(jìn)位產(chǎn)生函數(shù)/本地進(jìn)位Pi進(jìn)位傳遞i函數(shù),進(jìn)位傳遞條件Ci=

Gi+PiCi+115并行加法器進(jìn)位鏈Cn=

XnYn+(Xn⊕Yn)Cn+1=Gn+PnCn+1Cn-1=

Xn-1Yn-1+(Xn-1⊕Yn-1)Cn=Gn-1+Pn-1CnCn-2=

Xn-2Yn-2+(Xn-2⊕Yn-2)Cn-1=Gn-2+Pn-2Cn-1C2=

X2Y2+(X2⊕Y2)C3=G2+P2C3……C1=

X1Y1+(X1⊕Y1)C2=G1+P1C2高位的運(yùn)算依賴(lài)于低位運(yùn)算進(jìn)位的產(chǎn)生,計(jì)算不能并行能否提前得到當(dāng)前位的進(jìn)位輸入,這樣就可以完全并行,大大提高運(yùn)算速度16并行加法器進(jìn)位鏈Cn=

XnYn+(Xn⊕Yn)Cn+1=Gn+PnCn+1Cn-1=

Gn-1+Pn-1Cn=

Gn-1+Pn-1(Gn+PnCn+1)

=

Gn-1+Pn-1

Gn+Pn-1PnCn+1Cn-2=Gn-2+Pn-2Cn-1=Gn-2+Pn-2(Gn-1+Pn-1

Gn+Pn-1PnCn+1)=

Gn-2+Pn-2Gn-1+Pn-2Pn-1

Gn+Pn-2Pn-1PnCn+1……C2=

G2+P2G3+P2P3G4

…+P2P3…PnCn+1C1=

G1+P1G2+P1P2G3

+P1P2P3G4…+P1P2…PnCn+117X4Y4G4P4X3Y3G3P3X2Y2G2P2X1Y1G1P1C1C2C3C4C518先行進(jìn)位電路CLA74182

先行進(jìn)位的多功能算術(shù)/邏輯運(yùn)算單元ALU74181G1P1G2P2G3P3G4P4與門(mén)異或門(mén)電路CLA74182G1P1G2P2G3P3G4P4C1

C2C3C4⊕

X1Y1X2Y2X3Y3X4Y4C5

S1S2S3S4⊕

Si=Xi⊕Yi⊕Ci+119C516位組內(nèi)先行進(jìn)位,組間串行進(jìn)位

ALU74181

X1Y1X2Y2X3Y3X4Y4C5P1*

G1*C1S1S2S3S4

ALU74181

X1Y1~X4Y4P1*

G1*C1S1~S4

ALU74181

X5Y5~X8Y8C9P2*

G2*S5~S8

ALU74181

X9Y9~X12Y12C13P3*

G3*S9~S12

ALU74181

X13Y13~X16Y16C17P4*

G4*S13~S16C1=

G1+P1G2+P1P2G3

+P1P2P3G4…+P1P2…PnCn+1成組進(jìn)位發(fā)生輸出G1*,成組進(jìn)位傳送輸出P1*2016位組內(nèi)先行進(jìn)位,組間先行進(jìn)位P*

G*

P1G1C2P2G2C3P3G3C4P4G4CLA(74182)C5C1C5

ALU74181

X1Y1~X4Y4P1*

G1*S1~S4

ALU74181

X5Y5~X8Y8C9P2*

G2*S5~S8

ALU74181

X9Y9~X12Y12P3*

G3*S9~S12

ALU74181

X13Y13~X16Y16C17P4*

G4*S13~S16C1332/64位?21Outline 定點(diǎn)補(bǔ)碼加/減法運(yùn)算定點(diǎn)乘法運(yùn)算浮點(diǎn)運(yùn)算運(yùn)算器組織運(yùn)算器部件舉例223.2

定點(diǎn)乘法運(yùn)算原碼乘法運(yùn)算方法原碼乘法運(yùn)算實(shí)現(xiàn)補(bǔ)碼乘法運(yùn)算方法補(bǔ)碼乘法運(yùn)算實(shí)現(xiàn)23a3b1a2b1a1b1a0b1a4b1a3b2a2b2a1b2a0b2a4b2a3b3a2b3a1b3a0b3a4b3a3b4a2b4a1b4a0b4a4b4a4b0a3b0a2b0a1b0a0b0p9p8p7p6p5p4p3p2p1p0

p9p8p7p6p5p4p3p2p1p0a4a3a2a1a0

xb4b3b2b1b0+

多位乘法必須先計(jì)算一位乘法,然后累加求和24乘法運(yùn)算實(shí)現(xiàn)方法執(zhí)行乘法運(yùn)算子程序?qū)崿F(xiàn)乘法運(yùn)算設(shè)置專(zhuān)用乘法器實(shí)現(xiàn)乘法運(yùn)算借助加法器配置相應(yīng)部件實(shí)現(xiàn)乘法運(yùn)算25乘法器一位乘法電路實(shí)現(xiàn)S=X*Y一個(gè)與門(mén)就可以實(shí)現(xiàn)一位乘法111001010000OutputYiXi26符號(hào)位直接異或即可得到乘積的符號(hào)僅僅需要考慮其數(shù)值部分的計(jì)算以定點(diǎn)小數(shù)為例進(jìn)行討論多位原碼乘法27相加數(shù)產(chǎn)生部件…………a4b4a1b0a0b0A=0.a4a3a2a1a0B=0.b4b3b2b1b0&&&

經(jīng)過(guò)一級(jí)門(mén)電路延遲,即可得到所有的相加數(shù)28a3b2a2b2a1b2a0b2a4b2a3b3a2b3a1b3a0b3a4b3a3b4a2b4a1b4a0b4a4b4a4b0a3b0a2b0a1b0a0b0p8p2p1p05位無(wú)符號(hào)數(shù)陣列乘法器電路00a1b1a0b1a3b1a2b1a4b1p6

p7p30p40p50COUTCOUTCOUTp9COUT29p8p2p1p05位無(wú)符號(hào)數(shù)陣列乘法器電路a3b2a2b2a1b2a0b2a4b2a3b3a2b3a1b3a0b3a4b3a4b0a3b0a2b0a1b0a0b0a1b1a0b1a3b1a2b1a4b1p6p7p3p4p5p900a3b4a2b4a0b4a4b4a1b400030nn位原碼乘法器框圖相加數(shù)產(chǎn)生部件A=af.

an1an2…a1a0B=bf.

bn1bn2…b1b0……n×n乘法陣列an1bn1…a1b0a0b0Pf=1.…P2n1P2n2P2n3P1P031p8p2p1p0a3b2a2b2a1b2a0b2a4b2a3b3a2b3a1b3a0b3a4b3a4b0a3b0a2b0a1b0a0b0a4b1p6p7p3p4p5p90a3b4a2b4a0b4a4b4a1b4a1b1a0b1a3b1a2b100004*5個(gè)全加器,8個(gè)全加器延遲32原碼陣列乘法器時(shí)間延遲n(n-1)個(gè)FA延遲時(shí)間(n-1)FA+(n-1)FA每一個(gè)FA包含三級(jí)門(mén)電路延遲T故總延遲為2(n-1)*3T+T(相加數(shù)產(chǎn)生時(shí)間)33補(bǔ)碼乘法器原理圖[B]補(bǔ)=bf.bn1…

b1b0乘法陣列(同前n×n陣列)…2n位求補(bǔ)器數(shù)值同原碼相加數(shù)積絕對(duì)值P2n1P1P0(補(bǔ)碼乘積)=1…Pf.[A]補(bǔ)=af.an1…

a1a0相加數(shù)產(chǎn)生電路(同前)n位求補(bǔ)器n位求補(bǔ)器34乘法運(yùn)算實(shí)現(xiàn)方法執(zhí)行乘法運(yùn)算子程序?qū)崿F(xiàn)乘法運(yùn)算設(shè)置專(zhuān)用乘法器實(shí)現(xiàn)乘法運(yùn)算借助加法器配置相應(yīng)部件實(shí)現(xiàn)乘法運(yùn)算原碼一位乘法的運(yùn)算方法與邏輯實(shí)現(xiàn)補(bǔ)碼一位乘法的運(yùn)算方法與邏輯實(shí)現(xiàn)35a3b2a2b2a1b2a0b2a4b2a3b3a2b3a1b3a0b3a4b3a3b4a2b4a1b4a0b4a4b4a4b0a3b0a2b0a1b0a0b0p8p2p1p05位無(wú)符號(hào)數(shù)陣列乘法器電路00a1b1a0b1a3b1a2b1a4b1p6

p7p30p40p50COUTCOUTCOUTp9COUT36a3a2a1a0a400000a3a2a1a0a4a4a3a2a1a0p8p2p1p05位無(wú)符號(hào)數(shù)陣列乘法器電路0000000p6

p7p30p40p50COUTCOUTp9COUT

0.p9p8p7p6p5p4p3p2p1p0

0.a4a3a2a1a0x0.1

0

1

0

1

COUT37a3a2a1a0a400000a3a2a1a0a4a4a3a2a1a0p8p2p1p05位無(wú)符號(hào)數(shù)陣列乘法器電路0000000p6

p7p30p40p50COUTCOUTCOUTp9COUTΣ=XYn

Σ+=XYn-1

Σ

右移一位Σ+=XYn-2

Σ

右移一位Σ+=XYn-3

Σ

右移一位38部分積累加的數(shù)學(xué)表示部分積=XYn部分積=XYn-1+XYn2-1部分積=XYn-2+(XYn-1+XYn*2-1)2-1

=XYn-2+XYn-12-1+

XYn2-2=XY12-1+XY22-2+…XYn2-nX*Y=X[Y12-1+Y22-2+…Yn2-n]39開(kāi)始i=0,0→∑Yn=1∑+0→∑∑+X→∑∑Y右移一位i+1→ii=nX0⊕Y0→P0結(jié)束YNNY原碼乘法算法流程圖

40例子已知X=0.1101Y=-0.1011計(jì)算[X]原[Y]原4100.000000.1101+00.110100.011000.1101部分積01.0011100.10011100.000000.10011100.010011100.110101.000111100.10001111乘數(shù)1Y0Y0.1011Y0.101Y0.10判斷位說(shuō)明P0=0Y4=1,+|X|右移一位得P1Y4=1,+|X|右移一位得P2Y4=0,+0右移一位得P3Y4=1,+|X|右移一位得P4=|X|·|Y|+Y0.1++42原碼乘法邏輯結(jié)構(gòu)Σ→R0+1計(jì)數(shù)器移位控制加法器ΣX0

被乘數(shù)XR2&&R0部分積∑計(jì)數(shù)器R1乘數(shù)Y

Yn∑=∑+YnX控制電路4301011部分積R0乘數(shù)R1Yn判斷位01011101011101011101

|X|=0.1101,

|Y|=0.1011+|X|+|X|+

0+|X|111100000001101011010011001101100110100100000010010010001101100010100044部分積累加的數(shù)學(xué)表示部分積=XYn部分積=XYn-1+XYn*2-1部分積=XYn-2+(XYn-1+XYn*2-1)2-1

=XYn-2+XYn-12-1+

XYn*2-2=XY1*2-1+XY2*2-2+…XYn*2-nX*Y=X[Y1*2-1+Y2*2-2+…Yn*2-n]45補(bǔ)碼一位乘法1)被乘數(shù)[X]符號(hào)任意,乘數(shù)[Y]為正[X]補(bǔ)=X0.X1X2…Xn

[Y]補(bǔ)=0.Y1Y2…Yn

[X]補(bǔ)[Y]補(bǔ)=(2+X)Y

=(2n+1+X)Y=2n+1Y+XY=22n

0.Y1Y2…Yn+XY=2(Y1Y2…Yn)+XY=2+XY=[XY]補(bǔ)[XY]補(bǔ)=

[X]補(bǔ)[Y]補(bǔ)46補(bǔ)碼一位乘法1)被乘數(shù)[X]符號(hào)任意,乘數(shù)[Y]為負(fù)數(shù)[X]補(bǔ)=X0.X1X2…Xn

[Y]補(bǔ)=1.Y1Y2…Yn

[Y]補(bǔ)=2+YY=[Y]補(bǔ)-2=0.Y1Y2…Yn-1[XY]補(bǔ)=[X(0.Y1Y2…Yn-1)]補(bǔ)

=[X0.Y1Y2…Yn-X]補(bǔ)

=[X0.Y1Y2…Yn]補(bǔ)-[X]補(bǔ)

=[X]補(bǔ)

0.Y1Y2…Yn-[X]補(bǔ)

=[X]補(bǔ)

0.Y1Y2…Yn-Y0[X]補(bǔ)47補(bǔ)碼一位乘法[XY]補(bǔ)=[X]補(bǔ)

0.Y1Y2…Yn-Y0[X]補(bǔ)

=[X]補(bǔ)(-Y0+0.Y1Y2…Yn)

=[X]補(bǔ)(-Y0+Y12-1+Y22-2+…Yn2-n)=[X]補(bǔ)[-Y0+(Y1-Y12-1)+(Y22-1-Y22-2)+…(Yn2-n+1-Yn2-n)]=[X]補(bǔ)[Y1-Y0+(Y2-Y1)2-1+(Y3-Y2)2-2+…(0-Yn)2-n]XY=X[Y12-1+Y22-2+…Yn2-n]原碼乘法48開(kāi)始i=0,0→∑YnYn+1=?∑

+[X]補(bǔ)→∑∑+[X]補(bǔ)→∑結(jié)束011000或11YN∑不變∑、[Y]補(bǔ)右移一位i+1i=n+149例子已知X=1.0101Y=1.0011計(jì)算[X]補(bǔ)[Y]補(bǔ)解:[-X]補(bǔ)=0.10115000.000000.1011+00.101100.010100.0000部分積00.0101100.00101111.010111.01111111.101111100.000011.101111111.1101111100.1011乘數(shù)11.01.001101.00111.001判斷位說(shuō)明Yn+1=0YnYn+1=10,加[–X]補(bǔ)右移一位得P1末2位為11,+0右移一位得P2末2位為01+[X]補(bǔ)右移一位得P3末2位為00+0右移一位得P4末2位為10–[-X]補(bǔ)+1.00+++00.1000111151補(bǔ)碼一位乘法邏輯結(jié)構(gòu)移位控制R1乘數(shù)[Y]補(bǔ)YnYn+100/110110&1=1YnYn+1R2被乘數(shù)[X]補(bǔ)加法器CR0部分積∑∑=2-1∑+(Yn+1-Yn)[X]補(bǔ)52定點(diǎn)補(bǔ)碼加/減法運(yùn)算定點(diǎn)乘法運(yùn)算浮點(diǎn)運(yùn)算運(yùn)算器組織運(yùn)算器部件舉例Outline 53浮點(diǎn)加減法運(yùn)算計(jì)算X+Y=?

求解:如:Ex=EyS=2Ex×(Mx+My)

如:Ex≠Ey?????假設(shè):54對(duì)階對(duì)階(使得小數(shù)部分可以按位權(quán)值按位相加)大階對(duì)小階還是小階對(duì)大階???210*(0.11000)+28*(0.00110)大階對(duì)小階210*(0.11000)--28*(11.000)

11.000+0.00110

?????????

小階對(duì)大階28*(0.00110)--210*(0.00001)0.00001+0.11000=0.11001對(duì)階過(guò)程應(yīng)該是小階對(duì)大階尾數(shù)右移55尾數(shù)運(yùn)算Ex=Ey滿(mǎn)足后

S=2Ex(Mx+My)56運(yùn)算結(jié)果規(guī)格化210*(0.11000)也可表示為211*(0.01100)為提高精度,尾數(shù)不為零的時(shí),要求其絕對(duì)值大于1/2,即尾數(shù)最高有效位為1,否則要以修改階碼的方式同時(shí)左右移小數(shù)點(diǎn),使其變成這一要求的表示形式,這個(gè)過(guò)程稱(chēng)為浮點(diǎn)數(shù)的規(guī)格化同一個(gè)浮點(diǎn)數(shù)的編碼唯一將運(yùn)算結(jié)果右移以實(shí)現(xiàn)規(guī)格化表示稱(chēng)為向右規(guī)格化,右歸將運(yùn)算結(jié)果左移以實(shí)現(xiàn)規(guī)格化表示稱(chēng)為向左規(guī)格化,左歸57規(guī)格化形式規(guī)格化數(shù)形式0.1XXXX-0.1XXXX補(bǔ)碼規(guī)格化形式00.1XXXX11.0XXXX補(bǔ)碼非規(guī)格化數(shù)00.0XXXX11.1XXXX01.XXXXX10.XXXXX5800.0XXXX

--

00.1XXX0

左規(guī)11.1XXXX

--

11.0XXX0

左規(guī)01.XXXXX

--

00.1XXXX

右規(guī)10.XXXXX

--

11.0XXXX右規(guī)

連符號(hào)位一起移位規(guī)格化方法計(jì)算機(jī)在表示浮點(diǎn)數(shù)時(shí),通常進(jìn)行向左規(guī)格化處理上溢的時(shí)候,右歸下溢的時(shí)候,左歸59向左規(guī)格化尾數(shù)左移一位,階碼減1111000011110000111000010尾數(shù)左移兩位,階碼減200001001000010010010010060尾數(shù)連同符號(hào)位進(jìn)位位右移一位,階碼加1011000110110001100110001尾數(shù)連同符號(hào)位進(jìn)位位右移一位,階碼加1101000111010001111010001向右規(guī)格化61規(guī)格化規(guī)則小結(jié)運(yùn)算結(jié)果產(chǎn)生溢出時(shí),必須進(jìn)行右歸如出現(xiàn)10.XX或者01.XXX如結(jié)果出現(xiàn)00.0XXX或11.1XX必須左歸左歸時(shí)最低數(shù)據(jù)有效位補(bǔ)0右歸時(shí)連同符號(hào)位進(jìn)位位一起右移左歸時(shí),階碼作減法,右歸時(shí),階碼作加法62舍入處理右規(guī)后低位部分丟失了一位,這會(huì)對(duì)數(shù)產(chǎn)生一定的誤差011000110011000110舍1入法如被丟的最高數(shù)位為0,舍去,如為1,則將尾數(shù)末位加一截去法63溢出處理尾數(shù)上溢右歸尾數(shù)下溢左歸階碼上溢正無(wú)窮和負(fù)無(wú)窮階碼下溢064浮點(diǎn)數(shù)加減法五個(gè)基本步驟對(duì)階尾數(shù)求和規(guī)格化(左規(guī),右規(guī))舍入(截去、0舍1入)檢查溢出65例1

兩浮點(diǎn)數(shù)x=2101×0.11011011,

y=2111×(-0.10101100)。假設(shè)尾數(shù)在計(jì)算機(jī)中以補(bǔ)碼表示,可存儲(chǔ)10位尾數(shù),2位符號(hào)位,階碼以補(bǔ)碼表示,雙符號(hào)位,求x+y。解:將x,y轉(zhuǎn)換成浮點(diǎn)數(shù)據(jù)格式

[x]浮

=00101,00.11011011[Y]浮

=00111,11.01010011+100111,11.01010100步驟1:對(duì)階,階差為Ex-Ey-Ey=11000+1=11001Ex-Ey=00101+11001=11110=-2<0Ex-Ey<0Ex<Ey小階對(duì)大階,

X階碼加2X尾數(shù)右移2位66[x]浮

=00111,00.00110110(11)

步驟2:尾數(shù)求和

[X+Y]浮=00111,00.00110110(11)+00111,11.01010100=00111,11.10001010(11)67步驟3:計(jì)算結(jié)果規(guī)格化

[X+Y]浮為非規(guī)格化數(shù),左歸一位,階碼減一,

00110,11.00010101(1)步驟4:舍入處理

[X+Y]浮=00110,11.00010110(0舍1如法)[X+Y]浮=00110,11.00010101(截去法)步驟5:溢出判斷無(wú)溢出

[X+Y]浮=2110x(-00.11101011)68浮點(diǎn)數(shù)乘法運(yùn)算如:X=2mMxY=2nMyXY=2m

Mx(2nMy)=2m+n(MxMy)69浮點(diǎn)數(shù)乘法運(yùn)算(1)階碼相加階碼相加可能產(chǎn)生溢出,若產(chǎn)生溢出,則給出溢出指示,計(jì)算機(jī)進(jìn)行溢出處理。(2)尾數(shù)相乘尾數(shù)部分相乘可得積的尾數(shù),尾數(shù)相乘可按定點(diǎn)乘法運(yùn)算的方法進(jìn)行運(yùn)算。(3)結(jié)果規(guī)格化當(dāng)運(yùn)算結(jié)果需要進(jìn)行規(guī)格化操作時(shí),可按浮點(diǎn)加/減法運(yùn)算規(guī)格化方式處理,舍入方式也與加/減法方式中的相同。70Outline 定點(diǎn)補(bǔ)碼加/減法運(yùn)算定點(diǎn)乘法運(yùn)算浮點(diǎn)運(yùn)算運(yùn)算器組織運(yùn)算器部件舉例71運(yùn)算器功能數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算暫存參加運(yùn)算的數(shù)據(jù)及運(yùn)算的中間結(jié)果選取相應(yīng)部件中的數(shù)據(jù)參與運(yùn)算反映運(yùn)算處理的狀態(tài)72算術(shù)邏輯運(yùn)算單元ALUALUResultOverflowabALU

operation73寄存器組74

多路選擇電路

OUT(i)

R0(i)

R1(i)

R2(i)

R3(i)

R3→OUT

R2→OUT

R1→OUT

R0→OUT

&&&&≥175CLAADD30STA40NOPJMP21…000006…00000420212223243040ALU運(yùn)算器結(jié)構(gòu)PSWAXBXCXDXDR左路開(kāi)關(guān)選擇右路開(kāi)關(guān)選擇數(shù)據(jù)總線DBUS移位器操作數(shù)X操作數(shù)Y76ALUSRBUS狀態(tài)寄存器ABALUBUS鎖存器LA鎖存器LB選擇電路…R0R1…RnBUSbusLDLALDLBLbusRiLLDR0LDRnbus→LBUS→busbus→BUS77Outline 定點(diǎn)補(bǔ)碼加/減法運(yùn)算定點(diǎn)乘法運(yùn)算浮點(diǎn)運(yùn)算運(yùn)算器組織運(yùn)算器部件舉例78先行進(jìn)位的多功能算術(shù)/邏輯運(yùn)算單元運(yùn)算部件舉例

ALU74181Cn+4S3S2S1S0A3A2A1A0B3B2B1B0CnMA=BPGSN741814位ALUF3F2F1F018202211921232781415171311109163456C079先行進(jìn)位電路CLA74182先行進(jìn)位電路74182P4G4P3G3P2G2P1G1C0C4C3C2C1P*G*80是否可以如下連接?

16位組內(nèi)先行進(jìn)位,組間先行進(jìn)位ALU74181

X16Y16X15Y15X14Y14X13Y13C12P16*

G16*ALU74181

X12Y12X11Y11X10Y10X9Y9C8P12*

G12*ALU74181

X8Y8X7Y7X6Y6X5Y5C4P8*

G8*ALU74181

X4Y4X3Y3X2Y2X1Y1C0P4*

G4*P*

G*

P4G4C3P3G3C2P2G2C1P1G1CLA(74182)C0C481成組進(jìn)位C4=

G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0G4*=

G4+P4G3+P4P3G2+P4P3P2G1成組進(jìn)位發(fā)生輸出P4*=

P4P3P2P1成組進(jìn)位傳遞函數(shù)C4=

G4*+P4*C082兩級(jí)先行進(jìn)位電路(74181里實(shí)現(xiàn))

G4

P4

C3

C2

C1

G4

P4

G3

P3

G2

P2

G1

P1

C0

&&&&&&

&&*

*

&&≥1≥1≥1≥183成組進(jìn)位C4=

G4*+P4*C0C8=G8*+P8*

C4

=G8*+P8*

(G4*+P4*C0)=G8*+P8*G4*+P8*P4*C0C16=G16*+P16*C12

=G16*+P16*G12*+P16*P12*G8*+P16*P12*P8*G4*+P16*P12*P8*P4*C0用4組P*

G*作輸入,即可復(fù)用原先行進(jìn)位電路產(chǎn)生組間先行進(jìn)位信號(hào)8416位組內(nèi)先行進(jìn)位,組間先行進(jìn)位ALU74181

X16Y16X15Y15X14Y14X

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論