計(jì)算機(jī)組成原理7-運(yùn)算方法-乘除-浮點(diǎn)-運(yùn)算器_第1頁(yè)
計(jì)算機(jī)組成原理7-運(yùn)算方法-乘除-浮點(diǎn)-運(yùn)算器_第2頁(yè)
計(jì)算機(jī)組成原理7-運(yùn)算方法-乘除-浮點(diǎn)-運(yùn)算器_第3頁(yè)
計(jì)算機(jī)組成原理7-運(yùn)算方法-乘除-浮點(diǎn)-運(yùn)算器_第4頁(yè)
計(jì)算機(jī)組成原理7-運(yùn)算方法-乘除-浮點(diǎn)-運(yùn)算器_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)現(xiàn)乘除法運(yùn)算的方案:1、使用乘除運(yùn)算較多,速度要求高時(shí),硬件直接實(shí)現(xiàn);2、一般情況,配置乘除法選件;3、而對(duì)速度要求不高的機(jī)器,用軟件實(shí)現(xiàn)。定點(diǎn)乘法運(yùn)算設(shè)[X]原=Xs.X1X2…Xi…Xn-1Xn=Xs.Xv[Y]原=Ys.Y1Y2…Yi…Yn-1Yn=Ys.Yv則乘積[Z]原=Zs.Zv=(XsYs).(Xv*Yv)A.手算方法例如求A=0.1101和B=0.0110的乘積原碼乘法(原碼一位乘法)運(yùn)算規(guī)則(a)從乘數(shù)的最低位開(kāi)始,用乘數(shù)B的每個(gè)二進(jìn)制位去乘被乘數(shù)A,若B的某個(gè)二進(jìn)制位為1,則得位積A;如為0,則得位積0。(b)B的各位分別乘以A的所得的位積,因?yàn)槲粰?quán)不同,逐次向左移位,即在空間上按一定位數(shù)錯(cuò)開(kāi),這樣逐位進(jìn)行下去,直到乘數(shù)各位都乘完為止。(c)把經(jīng)過(guò)移位對(duì)準(zhǔn)的各次位積相加起來(lái)即得結(jié)果。原碼乘法(原碼一位乘法)缺點(diǎn)第一、

將多個(gè)數(shù)一次相加,機(jī)器難以實(shí)現(xiàn)。一般的加法器,只能把兩個(gè)輸入數(shù)相加,多個(gè)位積的同時(shí)輸入是無(wú)法實(shí)現(xiàn)的。 第二、

乘積位數(shù)增長(zhǎng)了一倍,即2n,而機(jī)器字長(zhǎng)只有n位。原碼乘法(原碼一位乘法)(a)把一次求和的操作,變成逐步累加求部分積的操作(b)將求積過(guò)程中逐位按權(quán)左移位積的操作,改為位積不動(dòng),而是上次部分積右移的操作B.機(jī)器算法:若用Zi表示第i次部分積,則Z0=0Z1=2-1(BnA+Z0)Z2=2-1(Bn-1A+Z1)…Zi=2-1(Bn-i+1A+Zi-1)…Zn=2-1(B1A+Zn-1)Zn即為A和B的乘積,即A·B=Zn改進(jìn)例已知X=-0.1011Y=0.1001求[X·Y]原解[X]原=1.1011[Y]原=0.1001|X|=0.1011|Y|=0.1001則按原碼一位乘法運(yùn)算規(guī)則,求[X·Y]原的數(shù)值部分。運(yùn)算過(guò)程如下所示:+)0.0000+)0.0000+)0.1011+)0.10110.00010.01100.11000.00100.00100.01010.01010.10110.0000右移一位得部分積Z4,乘數(shù)同時(shí)右移一位右移一位得部分積Z3,乘數(shù)同時(shí)右移一位右移一位得部分積Z2,乘數(shù)同時(shí)右移一位右移一位得部分積Z1,乘數(shù)同時(shí)右移一位Y1=1,加|X|Y2=0,加0Y3=0,加0Y4=1,加|X|設(shè)部分積初值Z0=0操作說(shuō)明乘數(shù)部分積10011100111001110011低位積高位積原碼一位乘法運(yùn)算過(guò)程例已知X=-0.1011Y=0.1001求[X·Y]原解[X]原=1.1011[Y]原=0.1001|X|=0.1011|Y|=0.1001則按原碼一位乘法運(yùn)算規(guī)則,求[X·Y]原的數(shù)值部分。所以|X|·|Y|=0.01100011,而Zs=XsYs=10=1最后求得[X·Y]原=1.01100011原碼一位乘法邏輯結(jié)構(gòu)原理圖Cx+1SRTiQLDR0LDR1部分積Z乘數(shù)Y計(jì)數(shù)器iY/2

Y∑/2

Z乘法啟動(dòng)YnYnYnR1ZsXsYsT1,T2,…R0R0被乘數(shù)X加法器補(bǔ)碼一位乘法(1)

校正法(2)比較法補(bǔ)碼乘法快速乘法運(yùn)算1.多位乘法2.跳過(guò)連續(xù)“0”和跳過(guò)連續(xù)“1”3.陣列乘法器設(shè)被除數(shù) [X]原=Xs.X1X2…Xn除數(shù) [Y]原=Ys.Y1Y2…Yn商 [Q]原=Qs.Q1Q2…Qn余數(shù) [R]原=Rs.R1R2…Rn則它們之間有如下關(guān)系: [X]原=[Y]原·[Q]原+[R]原符號(hào)處理Zs=XsYs定點(diǎn)除法運(yùn)算------原碼一位除法1、手算:假設(shè)被除數(shù)X=0.1001,除數(shù)Y=0.1011,計(jì)算X/Y0.1101 商Q0.1011

/----------------------------------------------

0.10010 X(R0)-0.01011 2-1Y,除數(shù)右移一位,減----------------------------------0.001110 R1-

0.001011 2-2Y,除數(shù)右移一位,減----------------------------------0.0000110 R20.0001011 2-3Y,除數(shù)右移一位,不減----------------------------------0.00001100 R3-

0.00001011 2-4Y,除數(shù)右移一位,減----------------------------------0.00000001 R4得商X/Y=0.1101,余數(shù)=R4=0.00000001特點(diǎn):(1)每次都是由心算來(lái)比較余數(shù)和除數(shù)的大小,余數(shù)大時(shí),商1;余數(shù)小時(shí),商0。第一次比較時(shí),余數(shù)就是被除數(shù)。(2)每做一次減法,總是保持余數(shù)不動(dòng),而除數(shù)向右移一位。(3)商的符號(hào)單獨(dú)處理。為適應(yīng)機(jī)器運(yùn)算,需要進(jìn)行改進(jìn):(1)

用補(bǔ)碼加代替直接減(兩個(gè)符號(hào)位)(2)

除數(shù)右移改為余數(shù)左移。

原碼一位除法2、在計(jì)算機(jī)中,小數(shù)點(diǎn)是固定的,不能簡(jiǎn)單地用手算的辦法,為便于機(jī)器操作,除數(shù)Y固定不動(dòng)(即小數(shù)點(diǎn)固定),使被除數(shù)和余數(shù)進(jìn)行左移(相當(dāng)于乘2),效果與手算相同。(比較法)原碼一位除法例如,X=0.1001,Y=0.1011,計(jì)算X/Y[-Y]補(bǔ)=1.0101 00.1101 商Q

00.1011/----------------------------------------------00.1001 X<Y,商0←01.0010 被除數(shù)左移一位,2X>Y,商111.0101 減Y,即+[-Y]補(bǔ)----------------------------------00.0111 余數(shù)R1←00.1110 左移一位,2R1>Y,商111.0101 減Y----------------------------------00.0011 R2←00.0110 左移一位,2R2<Y,商0←00.1100 左移一位,R3=4R2>Y,商111.0101 減Y----------------------------------00.0001 R4得商X/Y=0.1101,余數(shù)=2-4R4=0.00000001 注意:余數(shù)不是真正的余數(shù),由于每次所得的余數(shù)多乘了2,求得小數(shù)點(diǎn)后的n位商后,相當(dāng)于多乘了2n,故正確余數(shù)為2nRn 另外,在進(jìn)行數(shù)值部分除法時(shí),因?yàn)槎c(diǎn)數(shù)的絕對(duì)值小于1,

若被除數(shù)絕對(duì)值≥除數(shù)的絕對(duì)值,則商≥1,因而會(huì)產(chǎn)生溢出。

所以在執(zhí)行除法以前,先要判斷是否溢出,不溢出時(shí)才進(jìn)行除法運(yùn)算,否則除法就不進(jìn)行,并由相應(yīng)的程序進(jìn)行處理。

原碼一位除法

用余數(shù)減去除數(shù)求得差值,當(dāng)差值大于0時(shí),商上1;當(dāng)差值小于0時(shí),商上0。

減去除數(shù)的運(yùn)算,機(jī)器可用加上除數(shù)的補(bǔ)碼機(jī)器負(fù)數(shù)的方式轉(zhuǎn)換為加法運(yùn)算。另外,當(dāng)差值小于0時(shí),商上“0”,不夠減,多減去了除數(shù),還必須加上除數(shù),重新恢復(fù)原來(lái)的余數(shù)。

原碼一位除法-----恢復(fù)余數(shù)法

除數(shù)不動(dòng),使余數(shù)左移一位。設(shè)被除數(shù)[X]原=Xs.X1X2…Xn除數(shù)[Y]原=Ys.Y1Y2…Yn商[Q]原=Qs.Q1Q2…Qn余數(shù)[R]原=Rs.R1R2…Rn則它們之間有如下關(guān)系:[X]原=[Y]原·[Q]原+[R]原其除法過(guò)程如下:符號(hào)處理Zs=XsYs商的數(shù)值部分,變成兩正數(shù)相除,即|X|/|Y|(|X|<|Y|),每一步除法通過(guò)2Ri-|Y|(i=0,1,…,n,R0=|X|)進(jìn)行比較:若2Ri-|Y|=Ri+1≥0,即余數(shù)為正(Ris=0),則商上“1”;若2Ri-|Y|=Ri+1〈0,即余數(shù)為負(fù)(Ris=1),則商上“0”。這時(shí)的Ri+1不是余數(shù),應(yīng)加上|Y|恢復(fù)成原來(lái)的余數(shù)。

原碼一位除法-----恢復(fù)余數(shù)法例X=-0.1001Y=-0.1011求[X/Y]原解:[X]原=1.1001[Y]原=1.1011|X|=0.1001|Y|=0.1011[-|Y|]補(bǔ)=1.0101運(yùn)算過(guò)程如下:+)00.1011+)11.010111.111000.1001R1R0=[X|,

+[-|Y|]補(bǔ)商、余數(shù)左移一位,

+[-|Y|]補(bǔ)得R1<0,商上0,恢復(fù)余數(shù),+|Y|得R2>0,商上1,商、余數(shù)左移一位,+[-|Y|]補(bǔ)操作說(shuō)明商Q(余數(shù)R)被除數(shù)00.1+)11.010100.100101.0010+)11.010100.011100.11100.11+)11.010100.001100.0110得R3>0,商上1商、余數(shù)左移一位,+[-|Y|]補(bǔ)+)00.101111.1011恢復(fù)余數(shù),+|Y|得R4<0,商上0,0.110+)11.010100.011000.1100商、余數(shù)左移一位,+[-|Y|]補(bǔ)R400.0001得R5>0,商上1,商左移一位,余數(shù)不動(dòng)0.1101|X|=0.1001|Y|=0.1011[-|Y|]補(bǔ)=1.010101101

原碼一位除法----恢復(fù)余數(shù)法例X=-0.1001Y=-0.1011求[X/Y]原解:[X]原=1.1001[Y]原=1.1011|X|=0.1001|Y|=0.1011[-|Y|]補(bǔ)=1.0101所以,Qs=11=0[X/Y]原=[Q]原=0.1101[R]原=2-4R5=0.00000001原碼加減交替法的規(guī)則是:當(dāng)余數(shù)為正時(shí),商上1,余數(shù)左移一位,減除數(shù)絕對(duì)值得新余數(shù);當(dāng)余數(shù)為負(fù)時(shí),商上0,余數(shù)左移一位,加除數(shù)絕對(duì)值得新余數(shù)。證明:若被除數(shù)為X,除數(shù)Y,當(dāng)上商操作進(jìn)行到第i位商數(shù)時(shí),設(shè)余數(shù)為Ri,則有下式:Ri=2Ri-1+(-|Y|)(1)

若Ri≥0,則該位商上“1”,下一步操作是:Ri+1=2Ri+(-|Y|)(2)

若Ri<0,則該位商上“0”,下一步恢復(fù)余數(shù):Rj=Ri+|Y|,然后,Ri+1=2Rj+(-|Y|)=2(Ri+|Y|)+(-|Y|)=2Ri+|Y|

原碼一位除法----加減交替法例X=-0.1011Y=0.1101求[X/Y]原解:[X]原=1.1011[Y]原=0.1101|X|=0.1011[Y]補(bǔ)=0.1101[-Y]補(bǔ)=1.0011運(yùn)算過(guò)程如下:商的符號(hào)Qs=10=1所以[X/Y]原=1.1101余數(shù)=0.0111*2-4

原碼一位除法----加減交替法3.3.1原碼一位除法+)11.001111.111000.1011+Y余數(shù)與商左移一位余數(shù)與商左移一位初始狀態(tài)+[-Y]補(bǔ)+[-|Y|]補(bǔ)余數(shù)為負(fù),商“0”余數(shù)為正,商“1”+[X]補(bǔ)操作說(shuō)明商Q上商被除數(shù)(余數(shù))0.0.1+)00.110111.1100+)11.001100.100101.00100.11+)11.001100.010100.1010余數(shù)為正,商“1”商左移一位,余數(shù)不動(dòng)00.01110.11010.110+)00.110111.110111.1010余數(shù)與商左移一位+[-|Y|]補(bǔ)余數(shù)為正,商“1”+[X]補(bǔ)+Y余數(shù)與商左移一位余數(shù)為負(fù),商“0”表3.8例3.12原碼加減交替除法運(yùn)算過(guò)程

原碼一位除法----加減交替法例X=-0.1011Y=0.1101求[X/Y]原解:[X]原=1.1011[Y]原=0.1101|X|=0.1011[Y]補(bǔ)=0.1101[-Y]補(bǔ)=1.0011所以:商的符號(hào)Qs=10=1[X/Y]原=1.1101余數(shù)=0.0111*2-4原碼加減交替法,省去了恢復(fù)余數(shù)的加法過(guò)程,加快了除法速度。原碼加減交替法的邏輯結(jié)構(gòu)圖如下所示:加數(shù)器YfCxQnTiQnT1,T2,…+1LDR0LDR1被除數(shù)X或者余數(shù)寄存器R0商Q寄存器R1除數(shù)Y寄存器∑f∑fR2R計(jì)數(shù)器iQfXfR0R1Qn+1SQ原碼一位除法----加減交替法 R1為n位寄存器,除法開(kāi)始前可存放被除數(shù)的低n位,運(yùn)算結(jié)束后存放n位的商。每次上商應(yīng)置于R1的最末位,因?yàn)樗怯杉臃ㄆ鞯倪\(yùn)算結(jié)果最高位來(lái)控制的,所以由∑f來(lái)設(shè)置。運(yùn)算過(guò)程中,商要逐位左移,故R1寄存器具有左移功能。R0保存被除數(shù)或余數(shù),運(yùn)算過(guò)程中也要左移,所以它也是一個(gè)具有左移功能的寄存器。運(yùn)算中被除數(shù)(余數(shù))的低位部分由R1串行移至R0。n+1步運(yùn)算后,求得n+1位商,其中一位整數(shù)位,n位小數(shù)位,這n位小數(shù)位的數(shù)值存于R1寄存器中,而整數(shù)位在最后一次左移時(shí)丟掉,而商的符號(hào)Qf由Xs和Ys通過(guò)異或運(yùn)算得到,所以可用一個(gè)異或門(mén)求得Qf。

原碼一位除法----加減交替法A、浮點(diǎn)加減法運(yùn)算 設(shè)兩個(gè)浮點(diǎn)數(shù)x和y分別為:x=Sx·2Exy=Sy·2Ey 其中,Ex、Ey分別是x和y的階碼,Sx和Sy是x、y的尾數(shù)。 假定它們都是規(guī)則化的數(shù),即其尾數(shù)絕對(duì)值總小于1(用補(bǔ)碼表示,允許為1),浮點(diǎn)加減運(yùn)算的運(yùn)算步驟如下:浮點(diǎn)數(shù)算術(shù)運(yùn)算1.對(duì)階:小階向大階看齊對(duì)階的第一步是求階差:△E=Ex-Ey若△E=0,表示兩數(shù)階碼相等,即Ex=Ey,不需要對(duì)階若△E>0,表明Ex>Ey若△E<0,表明Ex<Ey 對(duì)于Ex≠Ey的這種情況,需要對(duì)階。采用“小階向大階看齊”的方法,即小階的尾數(shù)右移△E位,小階的階碼增加△E與大階相等。A、浮點(diǎn)加減法運(yùn)算2.尾數(shù)求和(差) 對(duì)階完成后,就按定點(diǎn)加減運(yùn)算求兩數(shù)的尾數(shù)之和。3.規(guī)格化 (1)對(duì)于定點(diǎn)小數(shù),其規(guī)格化數(shù)為:00.1xx…x11.0xx…x (原碼表示法)A、浮點(diǎn)加減法運(yùn)算(2)對(duì)于負(fù)數(shù)的補(bǔ)碼表示法,規(guī)格化定義有所不同:根據(jù)規(guī)格化浮點(diǎn)數(shù)的定義可知,規(guī)格化的尾數(shù)應(yīng)滿足:S>0時(shí)1/2≤S<1對(duì)于S<0,用補(bǔ)碼表示時(shí)-1/2>S≥-1 理論上,S可等于-1/2,但[-1/2]補(bǔ)=11.100…0,為了便于判別是否是規(guī)格化數(shù),不把-1/2列為規(guī)格化數(shù),而把-1列入規(guī)格化數(shù)?!遊-1]補(bǔ)=11.00…0∴補(bǔ)碼規(guī)格化的浮點(diǎn)數(shù)應(yīng)有兩種形式:00.1xx…x11.0xx…xA、浮點(diǎn)加減法運(yùn)算由此可知補(bǔ)碼規(guī)格化的條件是:(A)若和或差的尾數(shù)兩符號(hào)位相等且與尾數(shù)第一位相等,則需向左規(guī)格化。即將和或差的尾數(shù)左移,每移一位,和或差的階碼減一,直至尾數(shù)第一位與尾符不等時(shí)為止。(B)若和或差的尾數(shù)兩符號(hào)位不等,即01.xx…x或10.xx…x形式,表示尾數(shù)求和(差)結(jié)果絕對(duì)值大于1,向左破壞了規(guī)格化。此時(shí)應(yīng)該將和(差)的尾數(shù)右移1位,階碼加1,即進(jìn)行向右規(guī)格化。A、浮點(diǎn)加減法運(yùn)算4.舍入(1)“0舍1入”法,即右移時(shí)丟掉的最高位為0,則舍去;是1,則將尾數(shù)的末位加1(相當(dāng)于進(jìn)入)。(2)“恒置1”法,即不管移掉的是0還是1,都把尾數(shù)的末位置1。A、浮點(diǎn)加減法運(yùn)算5.浮點(diǎn)數(shù)的溢出判斷表示成規(guī)格化數(shù)以后,由階碼進(jìn)行判斷是否溢出。設(shè)階碼數(shù)值部分取7位,符號(hào)位取2位,用補(bǔ)碼表示則能表示的最大階碼[E]補(bǔ)=001111111=127;最小階碼[E]補(bǔ)=110000000=-128;(1)小于-128,稱(chēng)為下溢:發(fā)生在左規(guī)時(shí);用機(jī)器0表示(階碼、尾數(shù)全0)例如,和的階碼=1100……0左規(guī)一位時(shí)變成10.XXX……X

A、浮點(diǎn)加減法運(yùn)算(2)大于+127時(shí),稱(chēng)為上溢,這是浮點(diǎn)數(shù)的真正溢出,置溢出標(biāo)志,作中斷處理。例如,當(dāng)和的階碼=00.111……1而尾數(shù)還須右規(guī)時(shí),會(huì)變成01.000……0總結(jié):[E]補(bǔ)=01XX…X為上溢,真正溢出,需做溢出處理。[E]補(bǔ)=10XX…X為下溢,浮點(diǎn)數(shù)值趨于零,用機(jī)器零表示。A、浮點(diǎn)加減法運(yùn)算例x=0.1101×1001,y=-(0.1010)×1011,求x+y=?解:(1)對(duì)階:假定兩數(shù)在計(jì)算機(jī)中采用補(bǔ)碼制,則[x]補(bǔ)=0001,00.1101Ex=0001[y]補(bǔ)=0011,11.0110Ey=0011 求階差:△E=Ex-Ey=0001+1101=1110,即△E=-2,表示x的階碼Ex小于y的階碼Ey,階差為-2,所以應(yīng)使x的尾數(shù)右移2位,階碼加2,則[x]補(bǔ)=0011,00.0011,這時(shí)△E=0,對(duì)階完畢。A、浮點(diǎn)加減法運(yùn)算(2)尾數(shù)求和(差)x和y對(duì)階后的尾數(shù)分別為:[Sx]補(bǔ)=00.0011,[Sy]補(bǔ)=11.0110則[Sx]補(bǔ)+[Sy]補(bǔ)=00.0011+11.0110=11.1001∴[x+y]補(bǔ)=0011,11.1001(3)規(guī)格化 和的尾數(shù)的兩符號(hào)位相等,但小數(shù)點(diǎn)后的第一位也與符號(hào)位相等,不是規(guī)格化數(shù),需要進(jìn)行左規(guī),即向左規(guī)格化:尾數(shù)左移一位,階碼減1,就可得到規(guī)格化的浮點(diǎn)數(shù)結(jié)果。[x+y]補(bǔ)=0010,11.0010A、浮點(diǎn)加減法運(yùn)算設(shè)x=Sx·2Ex,Y=Sy·2Ey則x·Y=(Sx·Sy)·2Ex+Ey浮點(diǎn)數(shù)乘法運(yùn)算的規(guī)則為:l

乘積的階碼由兩數(shù)階碼相加求得l

乘積的尾數(shù)等于被乘數(shù)和乘數(shù)的尾數(shù)之積,可采用定點(diǎn)數(shù)乘法(A)需要對(duì)浮點(diǎn)數(shù)尾數(shù)積進(jìn)行規(guī)格化(左規(guī):最多一位)(B)舍入:0舍1入,若采用雙倍字長(zhǎng)乘積時(shí),沒(méi)有舍入問(wèn)題。浮點(diǎn)數(shù)乘法運(yùn)算例、已知x=0.110000·10101y=-0.111000·10100,設(shè)階碼數(shù)值部分各取5位,階符2位;尾數(shù)數(shù)值部分各取6位,尾符2位,按機(jī)器浮點(diǎn)數(shù)運(yùn)算步驟,求x·y。解:(1)求階和[Ex]補(bǔ)=0000101[Ey]補(bǔ)=0000100[△E]補(bǔ)=[Ex]補(bǔ)+[Ey]補(bǔ)=0001001(2)尾數(shù)相乘可利用原碼或補(bǔ)碼定點(diǎn)數(shù)乘法求尾數(shù)之乘積,可得[Sx·Sy]原=1.101010000000或[Sx·Sy]補(bǔ)=1.010110000000浮點(diǎn)數(shù)乘法運(yùn)算(3)規(guī)格化可看出[Sx·Sy]原或[Sx·Sy]補(bǔ)已是規(guī)格化形式,勿需規(guī)格化。(4)舍入若取單字長(zhǎng)乘積,可得[Sx·Sy]原=1.101010或[Sx·Sy]補(bǔ)=1.010110,所以[x·y]原=1.101010·100001001[x·y]補(bǔ)=1.010110·100001001得x·y=-0.101010·101001=-101010000浮點(diǎn)數(shù)乘法運(yùn)算1、浮點(diǎn)數(shù)除法的運(yùn)算規(guī)則為:l

商的尾數(shù)由兩數(shù)的尾數(shù)相除求得l

商的階碼由兩數(shù)階碼相減求得設(shè)x=Sx·2Ex,y=Sy·2Ey,則x/y=(Sx/Sy)·2Ex-Ey浮點(diǎn)數(shù)除法運(yùn)算2、步驟(1)預(yù)置:當(dāng)除數(shù)為0時(shí),商為∞,置“上溢”標(biāo)志,終止除法運(yùn)算;若除數(shù)不為0時(shí),而被除數(shù)為0,商和余數(shù)均被置成0,除法不必進(jìn)行下去;只有當(dāng)兩個(gè)操作數(shù)均不為0時(shí),除法才進(jìn)行下去。(2)尾數(shù)調(diào)整:使被除數(shù)的絕對(duì)值小于除數(shù)絕對(duì)值,以滿足定點(diǎn)除法運(yùn)算規(guī)則。(右規(guī))(3)求階差:求階差后可判斷溢出(應(yīng)在規(guī)格化后再判斷),若階碼用補(bǔ)碼表示,階符(兩位)為01時(shí),表示上溢;階符為10時(shí),表示下溢,使除法結(jié)果為0。(4)

尾數(shù)相除(5)

規(guī)格化(6)

舍入浮點(diǎn)數(shù)除法運(yùn)算運(yùn)算器是機(jī)器的加工處理部件,是中央處理機(jī)的重要組成部分。運(yùn)算器與其它部件的關(guān)系1.與控制器的關(guān)系(1)

運(yùn)算器接收控制器發(fā)來(lái)的各種運(yùn)算控制命令:A、

控制接收數(shù)據(jù)命令B、

控制運(yùn)算操作命令C、

控制輸出傳送命令D、

控制通用寄存器讀/寫(xiě)命令等運(yùn)算器的組成和結(jié)構(gòu)(2)

把運(yùn)算過(guò)程中的反饋信號(hào)送回控制器:狀態(tài)A、

溢出否?B、

結(jié)果是否為“0”?C、

是否非法數(shù)?D、

是正還是負(fù)?(3)

進(jìn)行地址運(yùn)算,由地址總線互連例如:(PC)+1=》PC,尋址方式計(jì)算運(yùn)算器的組成和結(jié)構(gòu)2.與存儲(chǔ)器的關(guān)系 存儲(chǔ)器是計(jì)算機(jī)中保存程序和數(shù)據(jù)的功能部件。它的基本功能是:讀、寫(xiě)。(1)

運(yùn)算器與存儲(chǔ)器的聯(lián)系,也是在控制器的控制下進(jìn)行的。 例如: A、運(yùn)算器進(jìn)行地址運(yùn)算=》存儲(chǔ)器;B、運(yùn)算器產(chǎn)生的運(yùn)算結(jié)果=》存儲(chǔ)器;C、存儲(chǔ)器READ=》運(yùn)算器加工。(2)

控制器對(duì)主存是異步工作控制 異步控制方式也稱(chēng)可變時(shí)序控制方式。運(yùn)算器的組成和結(jié)構(gòu) 運(yùn)算器的主要功能是對(duì)數(shù)據(jù)的加工和處理。它是在控制器的控制之下工作的,是一個(gè)加工處理部件。(1)

對(duì)數(shù)據(jù)的加工處理,主要包括對(duì)數(shù)值數(shù)據(jù)的算術(shù)運(yùn)算,如加、減、乘、除運(yùn)算,變更數(shù)據(jù)的符號(hào)等。(2)

對(duì)各種數(shù)據(jù)的邏輯運(yùn)算,例如進(jìn)行與、或、求反等運(yùn)算。(3)

傳遞數(shù)據(jù)的一條重要途徑。運(yùn)算器的組成和結(jié)構(gòu)----功能總線發(fā)送器輸出移位開(kāi)關(guān)接收器ALU多路開(kāi)關(guān)多路開(kāi)關(guān)通用寄存器組運(yùn)算器的組成和結(jié)構(gòu)----基本結(jié)構(gòu)能實(shí)現(xiàn)算術(shù)和邏輯運(yùn)算功能的部件。(1)

超前進(jìn)位加法器:算數(shù)和邏輯(2)

SN74181ALUA、兩種工作方式:(a)正邏輯:高電平“1”,低電平“0”(b)負(fù)邏輯:相反B、算術(shù)和邏輯運(yùn)算:32種C、結(jié)構(gòu): 運(yùn)算器的組成和結(jié)構(gòu)----ALU四位ALU內(nèi)部邏輯圖S2S3S1S0B1B0A0~CnMA2B2A3B3A1P2G2P1P0P3G3G0G184372615++++++++++++A=BPGF3F0F1F2Cn+4C3C2C1C0運(yùn)算器的組成和結(jié)構(gòu)----ALU(a)

輸入:(I)

二個(gè)四位二進(jìn)制代碼:A0A1A2A3;B0B1B2B3(II)S3S2S1S0---選擇端,16種功能(III)M---狀態(tài)控制端,M=0:算數(shù);M=1:邏輯(IV)Cn---ALU低位組來(lái)的進(jìn)位(b)

輸出:(I)F0F1F2F3---運(yùn)算結(jié)果(II)P,G---傳遞進(jìn)位及進(jìn)位產(chǎn)生函數(shù)(III)Cn+4---進(jìn)位:低電平(L)時(shí):有進(jìn)位;高電平(H)時(shí):無(wú)進(jìn)位(IV)A=B---相等時(shí),輸出1運(yùn)算器的組成和結(jié)構(gòu)----ALU

M=H

邏輯運(yùn)算M=L算術(shù)運(yùn)算A·A·A減1(A·)減1+BA加(A+B)加1A

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論