版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
BeyondTechnology計算機組成原理大連東軟信息學院精品課程第3章運算與運算器本章線索3.1邏輯運算及其實現與:只有當決定事物結果的所有條件全部具備時,結果才會發(fā)生。或:當決定事物結果的幾個條件中,只要有一個或一個以上條件得到滿足,結果就會發(fā)生。非:結果總是和條件呈相反狀態(tài)。與或非與非或非異或同或3.1邏輯運算及其實現例1:X=10101011,Y=11100001,求Z1=X?Y,Z2=X+Y,和。所以Z1=10100001,Z2=11101011,=010101000,=00011110。邏輯乘是什么運算?邏輯加是什么運算?3.2定點算術運算——定點加減法補碼加減法[X+Y]補=[X]補
+[Y]補[X–Y]補=[X]補
+[–Y]補[-Y]補=末位加1
補碼加減法特點
補碼進行加減運算可變減為加,使運算器中只需要設一個加法器即可。符號位當作數的一部分參加運算,能得到運算結果的正確符號。定點小數的補碼加法運算以2為模,定點整數的加法以2n+1為模。即符號位向更高一位的進位會自然丟失,并不影響運算結果的正確性。例1已知X=+0.10011,Y=-0.01011,用補碼計算X+Y解:X=+0.10011,Y=-0.01011[X]原
=0.10011,[Y]原
=1.01011,[X]補
=0.10011,[Y]補
=1.10101,根據公式:[X]補
+[Y]補=[X+Y]補[X]補
=0.10011+[Y]補
=1.10101[X+Y]補
=0.01000所以,[X+Y]補
=0.01000,X+Y=+0.010003.2定點算術運算——定點加減法例2:X=+11010,Y=-10101,用補碼的加法求Z=X+Y。[X]補=011010,[Y]補=101011[X+Y]補=[X]補+[Y]補=011010+101011=000101所以Z=X+Y=+00101例3:X=+10101,Y=-11010,用補碼的加法求Z=X+Y。[X]補=010101,[Y]補=100110[X+Y]補=[X]補+[Y]補=010101+100110=111011所以Z=X+Y=-001013.2定點算術運算——定點加減法例4:已知X=-11001,Y=-10011,用補碼的加法求Z=X-Y。[X]補=100111,[-Y]補=010011[X-Y]補=[X]補+[-Y]補=100111+010011=111010所以Z=X-Y=-00110例5:已知X=-10011,Y=-11001,用補碼的加法求Z=X-Y。[X]補=101101,[-Y]補=011001[X-Y]補=[X]補+[-Y]補=101101+011001=000110所以Z=X-Y=+001103.2定點算術運算——定點加減法例6:已知X=-11001,Y=-10011,用補碼的加法求Z=X-Y。[X]補=100111,[-Y]補=010011[X-Y]補=[X]補+[-Y]補=100111+010011=111010所以Z=X-Y=-00110例7:已知X=-10011,Y=-11001,用補碼的加法求Z=X-Y。[X]補=101101,[-Y]補=011001[X-Y]補=[X]補+[-Y]補=101101+011001=000110所以Z=X-Y=+001103.2定點算術運算——定點加減法例8:X=-0.1101,Y=0.0111,用補碼的加法求Z=X+Y。[X]補=1.0011,[Y]補=0.0111[X]補+[Y]補=1.0011+0.0111=1.1010[X+Y]原=[[X]補+[Y]補]補=[1.1010]補=1.0110所以Z=X+Y=-0.0110練習(結果用真值驗算)(1)已知:X=+0.125,Y=+0.625,用補碼運算X+Y=?(2)已知:X=-0.0625,Y=-0.75,用補碼運算X+Y=?(3)X=+25,Y=-5,用補碼運算X+Y=?(4)X=-9,Y=+20,用補碼運算X+Y=?觀察上述例題如何求負數的補碼?先求出-Y,再求[-Y]補采用適合計算機實際運算的方法[-Y]補=末位加1。計算機里如何存儲數據?3.2定點算術運算——定點加減法例9:X=+0.10111,Y=+0.10001,用補碼的加法求Z=X+Y。[X]補=0.10111,[Y]補=0.10001[X+Y]補=[X]補+[Y]補=0.10111+0.10001=1.01000兩正數相加,結果卻是負的,顯然不對。例10:X=-0.10111,Y=-0.10001,用補碼的加法求Z=X+Y。[X]補=1.01001,[Y]補=1.01111[X+Y]補=[X]補+[Y]補=1.01001+1.01兩負數相加,結果卻是正的,顯然不對。例3.3:例3.4:
[X]補
=0.11011[X]補
=1.10001+[Y]補
=0.11111+[Y]補
=1.00111[X+Y]補
=1.11010[X+Y]補
=0.11000兩正數相加,結果為負數兩負數相加,結果為正數例3.5:例3.6:
[X]補
=0.11011[X]補
=1.10001+[-Y]補
=0.10101+[-Y]補
=1.00011[X-Y]補
=1.10000[X-Y]補
=0.10100正數減負數,結果為負數負數減正數,結果為正數什么情況下會有溢出產生什么情況下不會產生溢出同號數相加、異號數相減會產生溢出同號數相減、異號數相加不會產生3.2定點算術運算——定點加減法溢出:當運算的所得結果超過了數據的表示范圍,無法得到正確結果的情況。溢出的分類上溢(正溢):兩個正數相加,結果大于計算機所能表示的最大正數,稱為上溢。下溢(負溢):兩個負數相加,結果小于計算機所能表示的最小負數,稱為下溢。溢出的判斷:變形補碼符號位的進位
3.1定點算術運算——定點加減法變形補碼判斷溢出:運算結果的兩位符號位不相同,表示產生了溢出,結果不正確。符號位為01表示結果正溢出,符號位為10表示結果負溢出。若得到運算結果的兩位符號位相同,結果正確。符號位為00表示結果是一個正數,符號位為11表示結果是一個負數。變形補碼運算規(guī)律[X+Y]變形補碼=[X]變形補+[Y]變形補[[X]變形補]變形補=[X]原
[X-Y]變形補=[X+(-Y)]變形補=[X]變形補+[-Y]變形補3.2定點算術運算——定點加減法例11:已知X=+0.1010,Y=+0.1001,用變形補碼進行運算,并判定是否產生溢出。[X]變形補=00.1010,[Y]變形補=00.1001[X+Y]變形補=[X]變形補+[Y]變形補=00.1010+00.1001=01.001101.0011的兩個符號位為“01”,表示產生了正溢出例12:已知X=-0.1010,Y=-0.1001,用變形補碼進行運算,并判定是否產生溢出。[X]變形補=11.0110,[Y]變形補=11.0111[X+Y]變形補=[X]變形補+[Y]變形補=11.0110+11.0111=10.110110.1101的兩個符號位為“10”,表示產生了負溢出3.2定點算術運算——定點加減法例13:已知X=+0.1010,Y=+0.1001,用變形補碼進行運算,并判定是否產生溢出。[X]變形補=00.1010,[Y]變形補=00.1001[X+Y]變形補=[X]變形補+[Y]變形補=00.1010+00.1001=01.001101.0011的兩個符號位為“01”,表示產生了正溢出例14:已知X=-0.1010,Y=-0.1001,用變形補碼進行運算,并判定是否產生溢出。[X]變形補=11.0110,[Y]變形補=11.0111[X+Y]變形補=[X]變形補+[Y]變形補=11.0110+11.0111=10.110110.1101的兩個符號位為“10”,表示產生了負溢出3.2定點算術運算——定點加減法例15:已知X=+0.0101,Y=+0.0111,用變形補碼進行運算,并判定是否產生溢出。[X]變形補=00.0101,[Y]變形補=00.0111[X+Y]變形補=[X]變形補+[Y]變形補=00.0101+00.0111=00.1100兩個符號位為“00”,表示沒有產生溢出X+Y=(+0.1100)2=(+0.75)10例16:已知X=-0.0010,Y=-0.1001,用變形補碼進行運算,并判定是否產生溢出。[X]變形補=11.1110,[Y]變形補=11.0111[X+Y]變形補=[X]變形補+[Y]變形補=11.1110+11.0111=11.0101兩個符號位為“11”,表示沒有產生溢出X+Y=(-0.1011)2=(-0.6875)10例3.7:例3.8:
[X]補
=00.11011[X]補
=11.10001+[Y]補
=00.11111+[Y]補
=11.00111[X+Y]補
=01.11010[X+Y]補
=10.11000例3.9:例3.10:
[X]補
=00.11011[X]補
=11.10001+[-Y]補
=00.10101+[-Y]補
=11.00011[X-Y]補
=01.10000[X-Y]補
=10.10100思考:進位會不會進到最左邊一位呢?思考2:采用變形補碼會損失什么呢?3.2定點算術運算——定點加減法符號位的進位判斷溢出最高數值位向符號位的進位叫作“進位入”,記作Cn-1。符號位產生的進位叫作“進位出”,記作Cn。當Cn和Cn-1相同時,即同為0或同為1,結果正確,未發(fā)生溢出。當Cn=0,Cn-1=1時,表示產生了正溢出。當Cn=1,Cn-1=0時,表示產生了負溢出。小結計算機組成原理研究什么?運算規(guī)則溢出的判斷人工——單符號位——雙符號位規(guī)則的實現——硬件實現思考:加減運算用什么硬件實現?溢出如何判斷和設計?全加器1位全加器(FA)的邏輯表達式為S=A⊕B⊕Ci-1,Ci=A·B+B·Ci-1+Ci-1·A,其中A和B表示兩個一位加數,S表示全加和,Ci-1和Ci分別表示低位向本位的進位以及本位向高位的進位。補碼加法器進位入進位出X=0.1101Y=0.1111代入計算之?001111011110思考:如何改成補碼加減法器?一個1位數二進制B,和0異或?和1異或?如何改進電路?串行進位并行運算補碼加法器X=0011Y=1101,代入計算之?001111010,做加法C-1=0,A和B做加法1,做減法C-1=1,A和B非做加法,再末位+1,將減法轉換為加負數進位信號異或判斷溢出3.2定點算術運算——定點乘法3.2定點算術運算——定點乘法原碼乘法:符號位單獨運算,將兩個操作數的數碼位相乘,最后給乘積冠以正確的符號。原碼一位乘:從最低位開始,每次取一位乘數與被乘數相乘,最后累加結果。3.2定點算術運算——定點乘法例17:已知X=0.1001,Y=-0.1011,求Z=X?Y。解:[X]原
=0.1001,
[Y]原
=1.1011先求結果的符號,
Zf=Xf⊕Yf=0⊕1=1運算過程如右圖所示,所以Z=X?Y=-0.01100011。3.2定點算術運算——定點乘法原碼一位乘運算流程3.2定點算術運算——定點乘法補碼乘法:被乘數和乘數都以補碼的形式表示,符號位不用單獨計算,包含在運算結果中。補碼一位乘運算公式:
[X]補?
[Y]補=[X]補
?Y=[X?Y]補3.2定點算術運算——定點乘法例18:用Booth法求X?Y,其中,X=-0.1101,Y=+0.1011。解:
[X]原=1.1101,
[X]補=1.0011,
[-X]原=0.1101,
[-X]補=0.1101,
[Y]補=0.1011運算過程如右圖所示,所以[X?Y]補=1.01110001,
即:X?Y=-0.10001111。3.2定點算術運算——定點乘法補碼一位乘運算流程3.1定點算術運算——定點除法3.2定點算術運算——定點除法原碼一位除法:兩個原碼表示的數相除時,商的符號位是兩數的符號位的異或,商的數值部分則是兩數的絕對值相除所得到的商?;謴陀鄶捣ǎ罕怀龜担ㄓ鄶担┮来螠p去除數,若不夠減則需恢復余數,要恢復原來的余數,只要將當前的余數加上除數即可。加減交替法:在運算過程中如出現不夠減,則不必恢復余數,根據余數符號,可以繼續(xù)向下運算。3.2定點算術運算
——定點除法例19:被除數X=
+0.1001,除數Y=
+0.1011,用恢復余數法求X/Y。解:
|X|=0.1001,
|Y|=0.1011,
[-|Y|]補
=1.0101先求結果的符號,Qf=Xf⊕Yf=0⊕0=0
運算過程如右圖所示,商[|Q|]原
=0.1101,
所以Q=
+0.1101,
余數R=
+0.0001×2-4=0.00000001。原碼恢復余數法運算流程3.2定點算術運算
——定點除法3.2定點算術運算
——定點除法例20:被除數X=
+0.1001,除數Y=
+0.1011,用加減交替法求X/Y。解:
|X|=0.1001,
|Y|=0.1011,
[-|Y|]補
=1.0101先求結果的符號,Qf=Xf⊕Yf=0⊕0=0
運算過程如右圖所示,商[|Q|]原
=0.1101,
所以Q=
+0.1101,
余數R=
+0.0001×2-4=0.00000001。原碼加減交替法運算流程3.2定點算術運算
——定點除法3.2定點算術運算——定點除法補碼除法:當除數和被除數用補碼表示時,判別是否夠除,要比較它們的絕對值的大小。因此,若二數同符號,要用減法,若異號,則要用加法。。補碼一位除運算公式:
[X/Y]補=[X]補/[Y]補例21:被除數X=-0.1001,除數Y=+0.1101,用補碼加減交替法求X/Y。解:
[X]補=1.0111,
[Y]補=0.1101,
則[-Y]補=1.0011
運算過程如右圖所示,[X/Y]補
=1.0101,
[R×24]補
=1.0010,
所以商Q=X/Y=-0.1011,余數R=-0.1110×2-4。3.2定點算術運算——定點除法補碼加減交替法運算流程3.2定點算術運算——定點除法3.3浮點算術運算——浮點加減法3.3浮點算術運算——浮點加減法例22:
X=+0.111101×2-011,Y=-0.101001×2-010,求X+Y。解:
①對階[X]補=1101,0.111101[Y]補=1110,1.010111根據小階對大階的原則,應將X的小階改為與Y的大階相同,為保持X的大小不變,應將X的尾數向右移一位,得[X]補=1110,0.011110末位的1舍掉[Y]補=1110,1.010111
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【《中小型辦公室大樓的綜合布線系統(tǒng)設計與實現(論文)》5600字】
- 2024年客運站衛(wèi)生管理制度模版(二篇)
- 2024年大學外聯(lián)部門干事工作計劃范文(二篇)
- 2024年衛(wèi)生院院務公開制度范例(三篇)
- 2024年小學教師年度考核總結樣本(二篇)
- 2024年小學教師個人教學工作計劃樣本(二篇)
- 2024年安全教育活動總結簡單版(五篇)
- 2024年單位個人工作總結(二篇)
- 2024年土木工程實習總結范例(三篇)
- 2024年小學一年級體育教學工作計劃樣本(二篇)
- 期中測試卷(1-4單元)(試題)-2024-2025學年人教版數學四年級上冊
- 應用文寫作+以“A+Clean-up+Activity”為題給學校英語報寫一篇新聞報道+講義 高二上學期月考英語試題
- 校園反詐騙課件
- 2024-2030年中國工業(yè)脫水機行業(yè)發(fā)展狀況及投資方向分析報告
- 網絡傳播法導論(第2版)課件 第五章 侵害名譽權
- 環(huán)評手續(xù)轉讓協(xié)議(2篇)
- 胸外科快速康復護理課件
- 醫(yī)院污水處理運維服務投標方案(技術方案)
- 2024年高考最后一套壓軸卷-文綜試題(全國甲卷)含解析
- 蘇教版數學長方體與正方體表面積解析
- 2024年國家開放大學形考作業(yè)答案
評論
0/150
提交評論