計(jì)算機(jī)組成原理-羅克露-290663CPU-1運(yùn)算部件09級(jí)_第1頁
計(jì)算機(jī)組成原理-羅克露-290663CPU-1運(yùn)算部件09級(jí)_第2頁
計(jì)算機(jī)組成原理-羅克露-290663CPU-1運(yùn)算部件09級(jí)_第3頁
計(jì)算機(jī)組成原理-羅克露-290663CPU-1運(yùn)算部件09級(jí)_第4頁
計(jì)算機(jī)組成原理-羅克露-290663CPU-1運(yùn)算部件09級(jí)_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三章CPU子系統(tǒng),運(yùn)算器,控制器,本章主要討論:,運(yùn)算器控制器數(shù)據(jù)通路結(jié)構(gòu)與外部的連接,指令的執(zhí)行過程,CPU組成,CPU工作原理,CPU組成原理CPU工作機(jī)制(設(shè)計(jì)模型機(jī)),CPU子系統(tǒng),運(yùn)算器組成和運(yùn)算方法,控制器原理,主機(jī)和外設(shè)的信息交換,時(shí)序控制,本章知識(shí)架構(gòu):,第一節(jié)運(yùn)算器組織,3.1.1運(yùn)算器的硬件組成,選擇操作數(shù)來源,選擇操作數(shù)組合,獨(dú)立結(jié)構(gòu),小型存儲(chǔ)器結(jié)構(gòu),單口雙口,寄存器組,獨(dú)立R、雙口RAM用多路選擇器作為ALU的輸入邏輯,單口RAM用鎖存器作為ALU的輸入邏輯。,3.1.2運(yùn)算器的組織結(jié)構(gòu),1.帶多路選擇器的運(yùn)算器,特點(diǎn):R各自獨(dú)立;可同時(shí)向ALU提供兩個(gè)操作數(shù);采用單向內(nèi)總線。,2.帶輸入鎖存器的運(yùn)算器,特點(diǎn):?jiǎn)慰赗AM不能同時(shí)向ALU提供兩個(gè)操作數(shù);用鎖存器暫存操作數(shù);采用雙向內(nèi)總線。,3.位片式運(yùn)算器,特點(diǎn):用雙口RAM(兩地址端、兩數(shù)據(jù)端)作通用寄存器組,可同時(shí)提供數(shù)據(jù);用多路選擇器作輸入邏輯,不需暫存操作數(shù);ALU增加乘、除功能,用乘商寄存器存放乘數(shù)、乘積或商。,例.4位片運(yùn)算器粗框,第二節(jié)運(yùn)算方法,3.2.1.1補(bǔ)碼加減法,數(shù)用補(bǔ)碼表示,符號(hào)位參加運(yùn)算。,實(shí)際操作能否只取決于操作碼?結(jié)果需不需修正?如何將減法轉(zhuǎn)換為加法?,3.2.1定點(diǎn)加減運(yùn)算,1.基本關(guān)系式,(X+Y)補(bǔ)=X補(bǔ)+Y補(bǔ)(1)(X-Y)補(bǔ)=X補(bǔ)+(-Y)補(bǔ)(2),式(1):操作碼為“加”時(shí),兩數(shù)直接相加。,3)X=3Y=2,X補(bǔ)=00011Y補(bǔ)=11110,00001,(+1補(bǔ)碼),2)X=3Y=2,X補(bǔ)=11101Y補(bǔ)=11110,11011,(5補(bǔ)碼),1)X=3Y=2,X補(bǔ)=00011Y補(bǔ)=00010,00101,(+5補(bǔ)碼),4)X=3Y=2,X補(bǔ)=11101Y補(bǔ)=00010,11111,(1補(bǔ)碼),例.求(X+Y)補(bǔ),(X+Y)補(bǔ)=X補(bǔ)+Y補(bǔ)(1)(X-Y)補(bǔ)=X補(bǔ)+(-Y)補(bǔ)(2),式(2):操作碼為“減”時(shí),將減轉(zhuǎn)換為加。,1)X=4Y=5,X補(bǔ)=00100Y補(bǔ)=11011(-Y)補(bǔ)=00101,01001,(+9補(bǔ)碼),2)X=4Y=5,X補(bǔ)=11100Y補(bǔ)=00101(-Y)補(bǔ)=11011,10111,(9補(bǔ)碼),例.求(XY)補(bǔ),Y補(bǔ)(Y)補(bǔ):,將Y補(bǔ)變補(bǔ),不管Y補(bǔ)為正或負(fù),將其符號(hào)連同尾數(shù)一起各位變反,末位加1。,即將減數(shù)變補(bǔ)后與被減數(shù)相加。,X補(bǔ)=00100Y補(bǔ)=11011,X補(bǔ)=11100Y補(bǔ)=00101,注意:某數(shù)的補(bǔ)碼表示與某數(shù)變補(bǔ)的區(qū)別。,例.10101原11011,補(bǔ)碼表示,10011補(bǔ)01101,變補(bǔ),00101原00101,補(bǔ)碼表示,符號(hào)位不變;,負(fù)數(shù)尾數(shù)改變,正數(shù)尾數(shù)不變。,00011補(bǔ)11101,變補(bǔ),符號(hào)位改變,,尾數(shù)改變。,補(bǔ)碼的機(jī)器負(fù)數(shù),2.算法流程,3.邏輯實(shí)現(xiàn),+1,(1)控制信號(hào),加法器輸入端:,+A:打開控制門,將A送。,+B:打開控制門,將B送。,+1:控制末位加1。,加法器輸出端:,CPA:將結(jié)果打入A。,(2)補(bǔ)碼加減運(yùn)算器粗框,3.2.1.2溢出判斷,在什么情況下可能產(chǎn)生溢出?,例.數(shù)A有4位尾數(shù),1位符號(hào)SA數(shù)B有4位尾數(shù),1位符號(hào)SB,符號(hào)位參加運(yùn)算,結(jié)果符號(hào)Sf符號(hào)位進(jìn)位Cf尾數(shù)最高位進(jìn)位C,正確,正溢,正確,負(fù)溢,正確,正確,1.硬件判斷邏輯一(SA、SB與Sf的關(guān)系),溢出=,SA,SB,Sf,SA,Sf,SB,2.硬件判斷邏輯二(Cf與C的關(guān)系),正確,正溢,正確,負(fù)溢,正確,正確,Cf=0C=0,Cf=0C=1,Cf=1C=1,Cf=1C=0,Cf=1C=1,Cf=0C=0,1,1,1,1,1,1,1.硬件判斷邏輯一(SA、SB與Sf的關(guān)系),2.硬件判斷邏輯二(Cf與C的關(guān)系),3.硬件判斷邏輯三(雙符號(hào)位),第一符號(hào)位Sf1,第二符號(hào)位Sf2,1.硬件判斷邏輯一(SA、SB與Sf的關(guān)系),2.硬件判斷邏輯二(Cf與C的關(guān)系),3.硬件判斷邏輯三(雙符號(hào)位),3.2.1.3移位操作,邏輯移位,:數(shù)碼位置變化,數(shù)值不變。,1.移位類型,算術(shù)移位,10001111,循環(huán)左移:,0,1001111,算術(shù)左移:,1,0,0,1,1,1,1,1,0,1,1,1,1,0,(-15),(-30),(1)單符號(hào)位:,00111,01110,(2)雙符號(hào)位:,001110,000111,2.正數(shù)補(bǔ)碼移位規(guī)則,(3)移位規(guī)則,00111,00011,011100,001110,000111,數(shù)符不變,(單:符號(hào)位不變;雙:第一符號(hào)位不變)。,空位補(bǔ)0,(右移時(shí)第二符號(hào)位移至尾數(shù)最高位)。,(1)單符號(hào)位:,11011,10110,(2)雙符號(hào)位:,101100,110110,3.負(fù)數(shù)補(bǔ)碼移位規(guī)則,(3)移位規(guī)則,11011,11101,110110,111011,數(shù)符不變,(單:符號(hào)位不變;雙:第一符號(hào)位不變)。,左移空位補(bǔ)0,(第二符號(hào)位移至尾數(shù)最高位)。,右移空位補(bǔ)1,3.2.1.4舍入方法,1.0舍1入(原碼、補(bǔ)碼),000100原,100101原,111011補(bǔ),2.末位恒置1(原碼、補(bǔ)碼),000100原,111011補(bǔ),100101原,00010原,10011原,11110補(bǔ),00011原,10011原,11101補(bǔ),10011原,11101補(bǔ),例.保留4位尾數(shù):,例.保留4位尾數(shù):,3.2.2定點(diǎn)乘法運(yùn)算,3.2.2.1原碼一位乘法每次用一位乘數(shù)去乘被乘數(shù)。1.算法分析,例.0.11011.1011,X原,Y原,(1)手算0.11010.1011,1101110100001101,0.10001111上符號(hào):1.10001111,部分積,問題:1)加數(shù)增多(由乘數(shù)位數(shù)決定)。2)加數(shù)的位數(shù)增多(與被乘數(shù)、乘數(shù)位數(shù)有關(guān))。改進(jìn):將一次相加改為分步累加。,(2)分步乘法,每次將一位乘數(shù)所對(duì)應(yīng)的部分積與原部分積的累加和相加,并移位。,設(shè)置寄存器:A:存放部分積累加和、乘積高位B:存放被乘數(shù)C:存放乘數(shù)、乘積低位,步數(shù)條件操作AC,00.0000.1011,1),Cn=1,+B,Cn,+00.1101,00.1101,1101,00.0110,1.101,0.11010.1011,2),Cn=1,+B,+00.1101,01.0011,00.1001,11.10,0.11010.1011,3),Cn=0,+0,+00.0000,00.1001,00.0100,111.1,4),Cn=1,+B,+00.1101,01.0001,00.1000,1111,X原Y原=1.10001111,2.算法流程,Y,Y,N,N,3.運(yùn)算規(guī)則,(1)操作數(shù)、結(jié)果用原碼表示;(2)絕對(duì)值運(yùn)算,符號(hào)單獨(dú)處理;(3)被乘數(shù)(B)、累加和(A)取雙符號(hào)位;(4)乘數(shù)末位(Cn)為判斷位,其狀態(tài)決定下步操作;(5)作n次循環(huán)(累加、右移)。,3.2.2.2補(bǔ)碼一位乘法1.算法分析X補(bǔ)=X0.X1X2Xn,(1)Y為正:Y補(bǔ)=0.Y1Y2Yn(XY)補(bǔ)=X補(bǔ)(0.Y1Y2Yn)(2)Y為負(fù):Y補(bǔ)=1.Y1Y2Yn(XY)補(bǔ)=X補(bǔ)(0.Y1Y2Yn)+(-X)補(bǔ)(3)Y符號(hào)任意:(XY)補(bǔ)=X補(bǔ)(0.Y1Y2Yn)+(-X)補(bǔ)Y0,符號(hào)位,(4)展開為部分積的累加和形式:(XY)補(bǔ)=X補(bǔ)(0.Y1Y2Yn)+(-X)補(bǔ)Y0,=X補(bǔ)(0.Y1Y2Yn)-X補(bǔ)Y0,Yn+1,比較法:用相鄰兩位乘數(shù)比較的結(jié)果決定+X補(bǔ)、-X補(bǔ)或+0。,2.比較法算法Yn(高位)Yn+1(低位)操作(A補(bǔ)為部分積累加和),00011011,1/2A補(bǔ)1/2(A補(bǔ)+X補(bǔ))1/2(A補(bǔ)-X補(bǔ))1/2A補(bǔ),(0),(1),(-1),(0),3.運(yùn)算實(shí)例X=-0.1101,Y=-0.1011,求(XY)補(bǔ)。初值:A=00.0000,B=X補(bǔ)=11.0011,-B=(-X)補(bǔ)=00.1101,C=Y補(bǔ)=1.0101,步數(shù)條件操作AC,00.00001.0101,1),10,-B,Cn,+00.1101,00.1101,00.0110,11.0101,2),01,+B,+11.0011,11.1001,11.1100,111.010,3),10,-B,+00.1101,00.1001,00.0100,1111.01,4),01,+B,+11.0011,11.0111,11.1011,11111.0,0,Cn+1,CnCn+1,5),10,-B,+00.1101,(XY)補(bǔ)=0.10001111,4),01,+B,+11.0011,11.0111,11.1011,11111.0,5),10,-B,+00.1101,00.1000,1111,修正,(1)A、B取雙符號(hào)位,符號(hào)參加運(yùn)算;(2)C取單符號(hào)位,符號(hào)參加移位,以決定最后是否修正;(3)C末位設(shè)置附加位Cn+1,初值為0,CnCn+1組成判斷位,決定運(yùn)算操作;(4)作n步循環(huán),若需作第n+1步,則不移位,僅修正。,4.運(yùn)算規(guī)則,1.0:-B修正0.1:+B修正0.0:不修正1.1:不修正,3.2.3定點(diǎn)除法運(yùn)算,例.0.101100.11111,0.10110,1101,0.,0,1,11111,0.11111,0,0,0,1,11111,10101,0,1,11111,1011,0,0,.,00000,.,0.,商:0.10110余數(shù):0.101102,實(shí)現(xiàn)除法的關(guān)鍵:比較余數(shù)、除數(shù)絕對(duì)值大小,以決定上商。,3.2.3.1原碼恢復(fù)余數(shù)法1.算法比較兩數(shù)大小可用減法試探。,2余數(shù)-除數(shù)=新余數(shù),為正:夠減,商1。為負(fù):不夠減,商0,恢復(fù)原余數(shù)。,2.實(shí)例,X=-0.10110,Y=0.11111,求X/Y,給出商Q和余數(shù)R,設(shè)置:A:被除數(shù)、余數(shù),B:除數(shù),C:商,初值:A=X=00.10110,B=Y=00.11111,C=Q=0.00000,-B=11.00001,步數(shù)條件操作AC,00.101100.00000,1),0,-B,01.01100,+11.00001,00.01101,0.00001,2),1,-B,00.11010,+11.00001,11.11011,0.00010,3),恢復(fù)余數(shù),+B,+00.11111,00.11010,01.10100,0.00101,4),0,-B,+11.00001,00.10101,Cn,SA,Q1,Q2,Q3,r0,2r0,r1,2r1,r2,r2,2r2,r3,步數(shù)條件操作AC,00.101010.00101,5),0,-B,01.01010,+11.00001,00.01011,0.01011,6),1,-B,00.10110,+11.00001,11.10111,0.10110,7),恢復(fù)余數(shù),+B,+00.11111,00.10110,Q=-0.10110,Cn,Q4,Q5,Q3,r3,2r3,r4,2r4,r5,r5,3.說明,3.2.3.2原碼不恢復(fù)余數(shù)法(加減交替法)1.算法分析第二步:2r1-B=r20第三步:r2+B=r2(恢復(fù)余數(shù))第四步:2r2-B=r3,2r2-B=2(r2+B)-B=2r2+B=r3,第二步:2r1-B=r20第三步:2r2+B=r3(不恢復(fù)余數(shù)),2.算法ri+1=2ri+(1-2Qi)Y,ri為正,則Qi為1,第i+1步作2ri-Y;ri為負(fù),則Qi為0,第i+1步作2ri+Y。,3.實(shí)例,X=0.10110,Y=-0.11111,求X/Y,給出商Q和余數(shù)R。,初值:A=X=00.10110,B=Y=00.11111,C=Q=0.00000,-B=11.00001,步數(shù)條件操作AC,00.101100.00000,1),為正,-B,01.01100,+11.00001,00.01101,0.00001,2),為負(fù),-B,00.11010,+11.00001,11.11011,0.00010,3),+B,+00.11111,11.10110,0.00101,為正,00.10101,Cn,r,Q1,Q2,Q3,r0,2r0,r1,2r1,r2,2r2,r3,4),為正,-B,01.01010,+11.00001,00.01011,0.01011,Q4,2r3,r4,步數(shù)條件操作AC,00.010110.01011,6),為負(fù),恢復(fù)余數(shù),+B,+00.11111,00.10110,Q=-0.10110,Cn,Q4,r4,5),為正,-B,00.10110,+11.00001,11.10111,0.10110,Q5,2r4,r5,r5,4.運(yùn)算規(guī)則,(1)A、B取雙符號(hào)位,X、Y取絕對(duì)值運(yùn)算,XY。(2)根據(jù)余數(shù)的正負(fù)決定商值及下一步操作。(3)求n位商,作n步操作;若第n步余數(shù)為負(fù),則第n+1步恢復(fù)余數(shù),不移位。,3.2.3.3補(bǔ)碼不恢復(fù)余數(shù)法(加減交替法)如何判斷是否夠減?,如何上商?,如何確定商符?,1.判夠減,(1)同號(hào)相除,1,0,1,0,夠減,不夠減,夠減,不夠減,夠減:r與X、Y同號(hào);,不夠減:r與X、Y異號(hào)。,(2)異號(hào)相除,1,0,1,0,夠減,夠減,不夠減,不夠減,夠減:r與X同號(hào),與Y異號(hào);,不夠減:r與X異號(hào),與Y同號(hào)。,(3)判斷規(guī)則,同號(hào):作X補(bǔ)-Y補(bǔ),X補(bǔ),Y補(bǔ),夠減:r補(bǔ)與Y補(bǔ)同號(hào),不夠減:r補(bǔ)與Y補(bǔ)異號(hào),異號(hào):作X補(bǔ)+Y補(bǔ),夠減:r補(bǔ)與Y補(bǔ)異號(hào),不夠減:r補(bǔ)與Y補(bǔ)同號(hào),2.求商值,同號(hào):商為正,異號(hào):商為負(fù),夠減商1不夠減商0,夠減商0不夠減商1,(r、Y同號(hào))(r、Y異號(hào))(r、Y異號(hào))(r、Y同號(hào)),夠減商1不夠減商0,夠減商0不夠減商1,(r、Y同號(hào))(r、Y異號(hào))(r、Y異號(hào))(r、Y同號(hào)),(r、Y同號(hào))(r、Y異號(hào))(r、Y異號(hào))(r、Y同號(hào)),夠減商1不夠減商0,夠減商0不夠減商1,上商規(guī)則:,余數(shù)與除數(shù)同號(hào)商1,異號(hào)商0。,3.算法(ri+1)補(bǔ)=2ri補(bǔ)+(1-2Qi補(bǔ))Y補(bǔ),ri補(bǔ)與Y補(bǔ)同號(hào),則Qi補(bǔ)為1,第i+1步作2ri補(bǔ)-Y補(bǔ);ri補(bǔ)與Y補(bǔ)異號(hào),則Qi補(bǔ)為0,第i+1步作2ri補(bǔ)+Y補(bǔ)。,4.求商符,令X補(bǔ)=r0補(bǔ),r0補(bǔ)與Y補(bǔ),同號(hào):Q0補(bǔ)=1異號(hào):Q0補(bǔ)=0,與實(shí)際商符相反,商符,5.商的校正,商,余數(shù),真商=假商+1.00001,=Q0.Q1Q2Qn-1,求n-1位商,(假商),第n位商(末位商)恒置1,(3)-1,商符變反,n位,(4)余數(shù)求至rn,6.實(shí)例,X=0.10110,Y=-0.11111,求X/Y,給出商Q和余數(shù)R。,初值:A=X補(bǔ)=00.10110,B=Y補(bǔ)=11.00001,C=Q補(bǔ)=0.00000,-B=00.11111,步數(shù)條件操作AC,00.101100.0000,1),異號(hào),+B,01.01100,+11.00001,00.01101,0.0000,2),同號(hào),+B,00.11010,+11.00001,11.11011,0.0001,Cn-1,r、Y,Q1,Q2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論