




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第二章運算方法和運算器2.1數(shù)據(jù)與文字的表示2.2定點加法、減法運算2.3定點乘法運算2.4定點除法運算2.5定點運算器的組成2.6浮點運算與浮點運算器返回9/17/20231第二章運算方法和運算器2.1數(shù)據(jù)與文字的表示返回8/6/22.1數(shù)據(jù)與文字的表示方法2.1.1數(shù)據(jù)格式2.1.2數(shù)的機器碼表示2.1.3字符的表示2.1.4漢字的表示2.1.5校驗碼9/17/202322.1數(shù)據(jù)與文字的表示方法2.1.1數(shù)據(jù)格式8/6/20232.1數(shù)據(jù)與文字的表示方法計算機中使用的數(shù)據(jù)可分成兩大類:符號數(shù)據(jù):非數(shù)字符號的表示(ASCII、漢字、圖形等)數(shù)值數(shù)據(jù):數(shù)字數(shù)據(jù)的表示方式(定點、浮點)計算機數(shù)字和字符的表示方法應有利于數(shù)據(jù)的存儲、加工(處理)、傳送;編碼:用少量、簡單的基本符號,選擇合適的規(guī)則表示盡量多的信息,同時利于信息處理(速度、方便)9/17/202332.1數(shù)據(jù)與文字的表示方法計算機中使用的數(shù)據(jù)可分成兩大類:82.1.1數(shù)據(jù)格式一、復習 10進制和R進制之間的轉(zhuǎn)換
R進制到10進制:
10進制到R進制: 整數(shù)部分:除r取余,r為進制基數(shù)
小數(shù)部分:乘r取整9/17/202342.1.1數(shù)據(jù)格式一、復習8/6/202342.1.1數(shù)據(jù)格式二、數(shù)值數(shù)據(jù) 計算機在數(shù)據(jù)、文字的表示方式時,應該考慮一下幾個因素:表示的數(shù)據(jù)類型(整數(shù)、小數(shù)、實數(shù)和復數(shù))數(shù)值的范圍數(shù)值精度存儲、處理、傳送的硬件代價9/17/202352.1.1數(shù)據(jù)格式二、數(shù)值數(shù)據(jù)8/6/202352.1.1數(shù)據(jù)格式三、計算機常用的數(shù)據(jù)表示格式有兩種:定點表示:小數(shù)點位置固定數(shù)值范圍有限浮點表示:小數(shù)點位置不固定數(shù)值范圍很大9/17/202362.1.1數(shù)據(jù)格式三、計算機常用的數(shù)據(jù)表示格式有兩種:8/62.1.1數(shù)據(jù)格式四、定點表示法所有數(shù)據(jù)的小數(shù)點位置固定不變理論上位置可以任意,但實際上將數(shù)據(jù)表示成兩種形式:純小數(shù)純整數(shù)定點數(shù)表示:帶符號數(shù)不帶符號數(shù)9/17/202372.1.1數(shù)據(jù)格式四、定點表示法8/6/202371、定點純小數(shù)x0x1x2x3…xn-1xn表示數(shù)的范圍是0≤|x|≤1-2-n(最小數(shù)、最大數(shù)、最接近0的正數(shù)、最接近0的負數(shù))符號量值小數(shù)點固定于符號位之后,不需專門存放位置2.1.1數(shù)據(jù)格式9/17/202381、定點純小數(shù)符號量值小數(shù)點固定于符號位之后,不需專門存放位2.1.1數(shù)據(jù)格式x=0.00...0
x=1.00...0
x=0正0和負0都是0x=0.11...1x=1-2-n
最大x=0.00...01x=2-n
最接近0的正數(shù)x=1.00...01
x=-2-n最接近0的負數(shù)x=1.11...1
x=-(1-2-n
)
最小2、純小數(shù)的表示范圍9/17/202392.1.1數(shù)據(jù)格式x=0.00...0
x=0正0和負02.1.1數(shù)據(jù)格式3、定點純整數(shù)x0x1x2x3…xn-1xn表示數(shù)的范圍是0≤|x|≤2n-1最小數(shù)、最大數(shù)、最接近0的正數(shù)、最接近0的負數(shù)呢?符號量值小數(shù)點固定于最后一位之后,不需專門存放位置9/17/2023102.1.1數(shù)據(jù)格式3、定點純整數(shù)符號量值小數(shù)點固定于最后一位2.1.1數(shù)據(jù)格式4、定點表示法的特點定點數(shù)表示數(shù)的范圍受字長限制,表示數(shù)的范圍有限;定點表示的精度有限機器中,常用定點純整數(shù)表示
如果用定點表示,則如何表示實數(shù)(包括小數(shù)和整數(shù))呢?-------引入浮點9/17/2023112.1.1數(shù)據(jù)格式4、定點表示法的特點8/6/2023112.1.1數(shù)據(jù)格式五、浮點表示:小數(shù)點位置隨階碼不同而浮動1、格式:N=RE.M2、機器中表示指數(shù)E基數(shù)R,取固定的值,比如10,2等尾數(shù)M,純小數(shù)階符階碼數(shù)符尾數(shù)9/17/2023122.1.1數(shù)據(jù)格式五、浮點表示:小數(shù)點位置隨階碼不同而浮動指2.1.1數(shù)據(jù)格式3、IEEE754標準(規(guī)定了浮點數(shù)的表示格式,運算規(guī)則等)規(guī)則規(guī)定了單精度(32)和雙精度(64)的基本格式.規(guī)則中,尾數(shù)用原碼,指數(shù)用移碼(便于對階和比較)9/17/2023132.1.1數(shù)據(jù)格式3、IEEE754標準(規(guī)定了浮點數(shù)的表示2.1.1數(shù)據(jù)格式IEEE754標準基數(shù)R=2,基數(shù)固定,采用隱含方式來表示它。32位的浮點數(shù):S是數(shù)的符號位,1位,在最高位,“0”表示正數(shù),“1”表示負數(shù)。M是尾數(shù),23位,在低位部分,采用純小數(shù)表示E是階碼,8位,采用移碼表示。移碼比較大小方便。規(guī)格化:若不對浮點數(shù)的表示作出明確規(guī)定,同一個浮點數(shù)的表示就不是惟一的。尾數(shù)域最左位(最高有效位)總是1,故這一位經(jīng)常不予存儲,而認為隱藏在小數(shù)點的左邊。采用移碼表示階碼E,將浮點數(shù)的指數(shù)真值e變成階碼E時,應將指數(shù)e加上一個固定的偏移值127(01111111),即E=e+127。9/17/2023142.1.1數(shù)據(jù)格式IEEE754標準8/6/2023142.1.1數(shù)據(jù)格式64位的浮點數(shù)中符號位1位,階碼域11位,尾數(shù)域52位,指數(shù)偏移值是1023。因此規(guī)格化的64位浮點數(shù)x的真值為:x=(-1)S×(1.M)×2E-1023
e=E-1023一個規(guī)格化的32位浮點數(shù)x的真值表示為x=(-1)S×(1.M)×2E-127
e=E-1279/17/2023152.1.1數(shù)據(jù)格式64位的浮點數(shù)中符號位1位,階碼域11位,2.1.1數(shù)據(jù)格式真值x為零表示:當階碼E為全0且尾數(shù)M也為全0時的值,結(jié)合符號位S為0或1,有正零和負零之分。真值x為無窮大表示:當階碼E為全1且尾數(shù)M為全0時,結(jié)合符號位S為0或1,也有+∞和-∞之分。浮點數(shù)所表示的范圍遠比定點數(shù)大。e的范圍為-126至+127,32位浮點數(shù)表示的絕對值范圍是10-38至1038一般在高檔微機以上的計算機中同時采用定點、浮點表示,由使用者進行選擇。而單片機中多采用定點表示。9/17/2023162.1.1數(shù)據(jù)格式真值x為零表示:當階碼E為全0且尾數(shù)M也為2.1.1數(shù)據(jù)格式例1:若浮點數(shù)x的754標準存儲格式為(41360000)16,求其浮點數(shù)的十進制數(shù)值。
解:將16進制數(shù)展開后,可得二制數(shù)格式為01000001001101100000000000000000S階碼(8位)尾數(shù)(23位)指數(shù)e=階碼-127=10000010-01111111=00000011=(3)10包括隱藏位1的尾數(shù)1.M=1.01101100000000000000000=1.011011于是有x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)10
9/17/2023172.1.1數(shù)據(jù)格式例1:若浮點數(shù)x的754標準存儲格式為(42.1.1數(shù)據(jù)格式例2:將數(shù)(20.59375)10轉(zhuǎn)換成754標準的32位浮點數(shù)的二進制存儲格式。解:首先分別將整數(shù)和分數(shù)部分轉(zhuǎn)換成二進制數(shù):20.59375=10100.10011然后移動小數(shù)點,使其在第1,2位之間10100.10011=1.010010011×24e=4于是得到:S=0,E=4+127=131,M=010010011最后得到32位浮點數(shù)的二進制存儲格式為:01000001101001001100000000000000=(41A4C000)16
9/17/2023182.1.1數(shù)據(jù)格式例2:將數(shù)(20.59375)10轉(zhuǎn)換成72.1.1數(shù)據(jù)格式4、十進制數(shù)串的表示字符串形式,一個字節(jié)存放一個十進制數(shù)BCD(壓縮),一個字節(jié)存放兩者個十進制數(shù)編碼方式BCD碼ASCII碼的低4位符號占半個字節(jié)9/17/2023192.1.1數(shù)據(jù)格式4、十進制數(shù)串的表示8/6/202319
十進制數(shù)串的表示方法1.字符串形式每個十進制的數(shù)位或符號位都用一個字節(jié)存放+12-38-382.壓縮的十進制數(shù)串形式一個字節(jié)存放兩個十進制的數(shù)位,符號位占半個字節(jié)(例如用C表示正,D表示負)+12123
C012D+123-12
每個數(shù)位可用BCD碼或ASCII碼9/17/202320
十進制數(shù)串的表示方法1.字符串形式+12-38-382.壓2.1.2數(shù)的機器碼表示一、數(shù)的機器碼表示真值:一般書寫的數(shù)機器碼:機器中表示的數(shù),要解決在計算機內(nèi)部數(shù)的正、負符號和小數(shù)點運算問題。原碼反碼補碼移碼9/17/2023212.1.2數(shù)的機器碼表示一、數(shù)的機器碼表示8/6/202321、原碼表示法定點整數(shù)X0X1X2…Xnx2n>x≥00,正數(shù)[x]原=符號2n-x0≥x>-2n1,負數(shù)說明:有正0和負0之分例:x=+11001110 [x]原=011001110[-x]原=1110011109/17/2023221、原碼表示法定點整數(shù)X0X1X2…Xn8/6/2023221、原碼表示法原碼特點:表示簡單,易于同真值之間進行轉(zhuǎn)換,實現(xiàn)乘除運算規(guī)則簡單。進行加減運算十分麻煩。9/17/2023231、原碼表示法原碼特點:8/6/2023232、補碼表示法定義:正數(shù)的補碼就是正數(shù)的本身,負數(shù)的補碼是原負數(shù)加上模。定點整數(shù)x0x1x2…xnx2n>x≥00,正數(shù),0[x]補=符號2n+1+x0≥x>-2n1,負數(shù)9/17/2023242、補碼表示法定義:正數(shù)的補碼就是正數(shù)的本身,負數(shù)的補碼是原2、補碼表示法補碼性質(zhì)高位表明正負正數(shù)的補碼符號位為1,尾數(shù)與原碼相同負數(shù)的補碼符號位為1,數(shù)值位是將原碼的數(shù)值按位取反,再在末位加1。范圍-2n~2n-1(定點整數(shù))正0和負0的補碼相同但是,在求補碼還要減法,電路繁瑣,下面的反碼表示解決著個問題。9/17/2023252、補碼表示法補碼性質(zhì)8/6/2023253、反碼表示法定義:正數(shù)的表示與原、補碼相同,負數(shù)的反碼符號位為1,數(shù)值位是將原碼的數(shù)值按位取反,就得到該數(shù)的反碼表示。電路容易實現(xiàn),觸發(fā)器的輸出有正負之分。反碼表示有正0和負0之分9/17/2023263、反碼表示法定義:正數(shù)的表示與原、補碼相同,負數(shù)的反碼符號3、反碼表示法例:
X1=+0.1011011[X1]原=0.1011011[X1]反=0.1011011[X1]補=0.1011011
X2=-0.1011011
[X2]原=1.1011011[X2]反=1.0100100[X2]補=1.0100101
9/17/2023273、反碼表示法例:8/6/2023274、移碼表示法移碼表示法(用在階碼中)定點整數(shù)定義[x]移=2n+x2n>x≥-2n
00000000~11111111(-2n~2n-1)例:+1011111原碼為01011111補碼為01011111反碼為01011111移碼為11011111移碼正數(shù)符號為1,負數(shù)符號為0,與原、反、補碼的符號表示相反。9/17/2023284、移碼表示法移碼表示法(用在階碼中)8/6/2023284、移碼表示法例:-1011111原碼為11011111補碼為10100001反碼為10100000移碼為00100001特點:移碼和補碼尾數(shù)相同,符號位相反9/17/2023294、移碼表示法例:-10111118/6/202324、移碼表示法課堂作業(yè):x1=+123,求:[X1]原,[X1]反,[X1]補,[X1]移x2=-123,求:[X2]原,[X2]反,[X2]補,[X2]移9/17/2023304、移碼表示法課堂作業(yè):8/6/202330[例7]將十進制真值(-127,-1,0,+1,+127)列表表示成二進制數(shù)及原碼、反碼、補碼、移碼值。9/17/202331[例7]將十進制真值(-127,-1,0,+1,+127)列[例8]設(shè)機器字長16位,定點表示,尾數(shù)15位,數(shù)符1位,問:定點原碼整數(shù)表示時,最大正數(shù)是多少?最小負數(shù)是多少最大正數(shù)值=(215-1)10=(+32767)10最小負數(shù)值=-(215-1)10=(-32767)109/17/202332[例8]設(shè)機器字長16位,定點表示,尾數(shù)15位,數(shù)符1位,問2.1.3字符和字符串(非數(shù)值)的表示方法符號數(shù)據(jù):字符信息用數(shù)據(jù)表示,如ASCII等;字符表示方法ASCII:用一個字節(jié)來表示,低7位用來編碼(128),最高位為校驗位,參見教材P24表2-1字符串的存放方法9/17/2023332.1.3字符和字符串(非數(shù)值)的表示方法符號數(shù)據(jù):字符信息表2-1ASCⅡ字符編碼表
0000010100111001011101110000NULDELSP0@P`p0001SOHDC1!1AQaq0010STXDC2〃2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111DELETB‘7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l┃1101CRGS-=M]m}1110SORS.>N∧n~1111SIUS/?O—oDEL9/17/202334表2-1ASCⅡ字符編碼表
00000101001112.1.4漢字的存放漢字的表示方法(一級漢字3755個,二級漢字3008個)輸入碼國標碼一級(16~55)*94二級(56~87)*94圖形符號(682個)(01~09)*94拼音、五筆漢字內(nèi)碼:漢字信息的存儲,交換和檢索的機內(nèi)代碼,兩個字節(jié)組成,每個字節(jié)高位都為1(區(qū)別于英文字符)9/17/2023352.1.4漢字的存放漢字的表示方法8/6/2023352.1.4漢字的存放漢字字模碼:漢字字形點陣漢字庫9/17/2023362.1.4漢字的存放漢字字模碼:漢字字形8/6/2023362.1.5校驗碼校驗碼(奇偶校驗碼)引入:信息傳輸和處理過程中受到干擾和故障,容易出錯。解決方法:是在有效信息中加入一些冗余信息(校驗位)奇偶校驗位定義設(shè)x=(x0x1…xn-1)是一個n位字,則奇校驗位C定義為:C=x0⊕x1⊕…⊕xn-1,式中⊕代表按位加,表明只有當x中包含有奇數(shù)個1時,才使C=1,即C=0。同理可以定義偶校驗。
只能檢查出奇數(shù)位錯;不能糾正錯誤。p26例10自己看一下。9/17/2023372.1.5校驗碼校驗碼(奇偶校驗碼)8/6/2023372.2定點加法、減法運算2.2.1補碼加減法2.2.2溢出檢測2.2.3基本的加法和減法器2.2.4十進制加法器9/17/2023382.2定點加法、減法運算2.2.1補碼加減法8/6/202.2.1補碼加減法補碼加法公式:[x+y]補=[x]補+[y]補補碼減法公式:[x-y]補=[x]補+[-y]補其中:
[-y]補等于[y]補取反,末位加1
9/17/2023392.2.1補碼加減法補碼加法8/6/2023392.2.1補碼加減法如:y=0.0111[y]補=0.0111[-y]補=1.1001從右邊到左邊,除了第一個1和右邊的0保持不變以外,其它按位取反,很重要!9/17/2023402.2.1補碼加減法如:y=0.0111[y]補=02.2.1補碼加減法例1:x=-0.1011,y=0.0111,求[x+y]補[x]補=1.0101[y]補=0.0111[x+y]補=[x]補+[y]補=1.0101+0.0111=1.1100例2:x=+0.11011,y=-0.11111,求[x-y]補[x]補=0.11011[y]補=1.00001[-y]補=0.11111[x-y]補=[x]補+[-y]補=1.110109/17/2023412.2.1補碼加減法例1:x=-0.1011,y=0.02.2.1補碼加減法課堂作業(yè):例3:x=+0.1011,y=+0.1001,求x+y例4:x=-0.1101,y=-0.1011,求x+y
9/17/2023422.2.1補碼加減法課堂作業(yè):8/6/2023422.2.2溢出的檢測溢出的檢測可能產(chǎn)生溢出的情況兩正數(shù)加,變負數(shù),上溢(大于機器所能表示的最大數(shù))兩負數(shù)加,變正數(shù),下溢(小于機器所能表示的最小數(shù))9/17/2023432.2.2溢出的檢測溢出的檢測8/6/2023432.2.2溢出的檢測一、檢測方法1、雙符號位法(參與加減運算的數(shù)采用變形補碼表示)Sf1SF200 正確(正數(shù))
0 1 上溢
1 0 下溢
1 1 正確(負數(shù))Sf1表示正確的符號,邏輯表達式為V=Sf1
⊕Sf2,可以用異或門來實現(xiàn)9/17/2023442.2.2溢出的檢測一、檢測方法8/6/2023442.2.2溢出的檢測二、檢驗舉例:x=+0.1100,y=+0.1000,求x+y
x=-0.1100,y=-0.1000,求x+y
結(jié)果出現(xiàn)了01或10的情況就為溢出9/17/2023452.2.2溢出的檢測二、檢驗舉例:8/6/2023452.2.2溢出的檢測2、單符號位法Cf C0
0 0 正確(正數(shù))
0 1 上溢
1 0 下溢
1 1 正確(負數(shù))V=Cf
⊕C0
其中Cf為符號位產(chǎn)生的進位,C0為最高有效位產(chǎn)生9/17/2023462.2.2溢出的檢測2、單符號位法8/6/2023462.2.3基本的加法和減法器基本的加法和減法器半加器
Hi=Ai⊕Bi
不考慮進位全加器
考慮低位進位Ci-1和向高位的進位Ci
9/17/2023472.2.3基本的加法和減法器基本的加法和減法器8/6/202一位全加器真值表輸入輸出AiBiCiSiCi+100000001100101001101100101010111001111119/17/202348一位全加器真值表輸入輸出AiBiCiSiCi+1000000FA邏輯方程因為:9/17/202349FA邏輯方程因為:8/6/202349FA邏輯方程邏輯方程見下9/17/202350FA邏輯方程邏輯方程見下8/6/202350FA邏輯電路和框圖FA(全加器)邏輯電路圖FA框圖9/17/202351FA邏輯電路和框圖FA(全加器)邏輯電路圖n位行波進位加法器圖2-3行波進位的補碼加法/加法器9/17/202352n位行波進位加法器圖2-3行波進位的補碼加法/加法器8/6/2.3定點乘法運算2.3.1定點原碼乘法2.3.2定點補碼乘法9/17/2023532.3定點乘法運算2.3.1定點原碼乘法8/6/202.3.1定點原碼乘法乘法實現(xiàn)方法在現(xiàn)有的加法和減法器的基礎(chǔ)上增加適當?shù)囊莆痪€路及控制邏輯可以實現(xiàn)用LSI和VLSI工藝實現(xiàn)專用的乘法器編制子程序(單片機等低端機器)9/17/2023542.3.1定點原碼乘法乘法實現(xiàn)方法8/6/202354一、定點原碼乘法原理1、人工算法與機器算法的異同性:[x]原=xf.xn-1…x1x0[y]原=yf.yn-1…y1y0[x.y]原=(xf⊕yf)+(0.xn-1…x1x0).(0.yn-1…y1y0)尾數(shù)乘法如下:設(shè)x=0.1101,y=0.1011
0.1
1
01(x)
×
0.10
1
1
(y)
1
1
0
1
1
1
0
1
0
0
0
0
+1
1
0
1
0.
1
0
0
0
1
1
1
1
(z)9/17/202355一、定點原碼乘法原理1、人工算法與機器算法的異同性:8/61、人工算法與機器算法的異同性n位乘n位積可能為2n位.乘積的最后是所有部分積之和,有n個數(shù)相加,而FA只有兩個輸入端所以需要改造方法一:硬件實現(xiàn)方法(串行的“加法和移位”),硬件結(jié)構(gòu)簡單,速度太慢(已經(jīng)淘汰).方法二:不帶符號位的陣列乘法器9/17/2023561、人工算法與機器算法的異同性n位乘n位積可能為2n位.8/2、不帶符號位的陣列乘法器不帶符號陣列乘法器邏輯圖9/17/2023572、不帶符號位的陣列乘法器不帶符號陣列乘法器邏輯圖8/6/22、不帶符號位的陣列乘法器9/17/2023582、不帶符號位的陣列乘法器8/6/2023582、不帶符號位的陣列乘法器[例19]參見圖2.5,已知不帶符號的二進制整數(shù)A=11011,B=10101,求每一部分乘積項aibj的值與p9p8…p0的值。
解:
11011=A(2710)
×10101=B(2110)
————————————
11011a4b0=1,a3b0=1,a2b0=0,a1b0=1,a0b0=1
00000a4b1=0,a3b1=0,a2b1=0,a1b1=0,a0b1=0
11011a4b2=1,a3b2=1,a2b2=0,a1b2=1,a0b2=1
00000a4b3=0,a3b3=0,a2b3=0,a1b3=0,a0b3=0
+11011a4b4=1,a3b4=1,a2b4=0,a1b4=1,a0b4=1
————————————
1000110111=P
P=p9p8p7p6p5p4p3p2p1p0=1000110111B=567D
9/17/2023592、不帶符號位的陣列乘法器[例19]參見圖2.5,已知不帶3、帶符號位的陣列乘法器求補電路原理:算前求補-乘法器-算后求補,見下圖9/17/2023603、帶符號位的陣列乘法器求補電路8/6/2023603、帶符號的陣列乘法器求補電路小結(jié)E=0時,輸入和輸出相等E=1時,則從數(shù)最右端往左邊掃描,直到第一個1的時候,該位和右邊各位保持不變0⊕A=A,左邊各數(shù)值位按位取反1⊕A=乛A可以用符號作為E的輸入原:1.11110補:1.00010不變,左邊數(shù)值位取反9/17/2023613、帶符號的陣列乘法器求補電路小結(jié)不變,左邊數(shù)值位取反8/63、帶符號的陣列乘法器(間接法)
原碼/補碼9/17/2023623、帶符號的陣列乘法器(間接法)原碼/補碼8/6/2023舉例(P36)[例20]設(shè)x=+15,y=-13,用帶求補器的原碼陣列乘法器求出乘積
x·y=?
解:[x]原=01111,[y]原=11101,|x|=1111,|y|=1101
符號位運算:0⊕1=1
1111
×1101
————————————
1111
0000
1111
+1111
————————————
11000011
乘積符號為1,算后求補器輸出11000011,[x×y]原=111000011
換算成二進制數(shù)真值是x·y=(-11000011)B=(-195)D9/17/202363舉例(P36)[例20]設(shè)x=+15,y=-13,用帶求補舉例(P36)[例21]設(shè)x=-15,y=-13,用帶求補器的補碼陣列乘法器求出乘積
x·y=?并用十進制數(shù)乘法進行驗證。
解:[x]補=10001,[y]補=10011,乘積符號位運算:1⊕1=0
尾數(shù)部分算前求補器輸出|x|=1111,|y|=1101
1111
×1101
————————————
1111
0000
1111
+1111
————————————
11000011
乘積符號為0,算后求補器輸出11000011,[x×y]補=011000011
補碼二進制數(shù)真值x·y=0×28+1×27+1×26+1×21+1×20=(+195)10
十進制數(shù)乘法驗證x·y=(-15)×(-13)=+1959/17/202364舉例(P36)[例21]設(shè)x=-15,y=-13,用帶求補2.5定點運算器的組成2.5.1邏輯運算2.5.2多功能算術(shù)/邏輯運算單元ALU2.5.3內(nèi)部總線2.5.4定點運算器的基本結(jié)構(gòu)9/17/2023652.5定點運算器的組成2.5.1邏輯運算8/6/2022.5.1邏輯運算1、邏輯非運算[例24]x1=01001001,x2=11110000,求x1,x2
解:
x1=10110100
x2=00001111
9/17/2023662.5.1邏輯運算1、邏輯非運算8/6/2023662.5.1邏輯運算2、邏輯加運算[例25]x=10100001,y=100111011,求x+y
解:
10100001x
+10011011y
————————————
10111011z
即x+y=10111011
9/17/2023672.5.1邏輯運算2、邏輯加運算8/6/2023672.5.1邏輯運算3、邏輯乘運算
[例26]x=10111001,y=11110011,求x·y
解:
10111001x
·11110011y
————————————
10110001z
即x·y=10110001
9/17/2023682.5.1邏輯運算3、邏輯乘運算
[例26]x=10112.5.1邏輯運算4、邏輯異運算[例27]x=10101011,y=11001100,求x⊕y
解:
10101011x
⊕11001100y
————————————
01100111z
即x⊕y=011001119/17/2023692.5.1邏輯運算4、邏輯異運算8/6/2023692.5.2多功能算術(shù)/邏輯運算單元ALU多功能算術(shù)/邏輯運算單元ALU,本節(jié)介紹的是74LS181的基本邏輯結(jié)構(gòu)是先行進位加法器,通過改變其輸入端Ai和Bi來實現(xiàn)算術(shù)運算和邏輯運算功能。怎樣實現(xiàn)呢?1、基本思想:一位全加器FA的邏輯表達式:為了實現(xiàn)多種算術(shù)邏輯運算,可將Ai和Bi輸入一個函數(shù)發(fā)生器得到輸出Xi和Yi,作為一位全加器的輸入(見下頁圖)。9/17/2023702.5.2多功能算術(shù)/邏輯運算單元ALU多功能算術(shù)/邏輯ALU的邏輯圖與邏輯表達式i表示集成在一片電路上的ALU的二進制位數(shù),例如4位一片,i=0,1,2,3N代表若干片ALU組成更大字長的運算器時每片電路的進位輸入,例如當4片組成16位字長的運算器時,n=0,4,8,12
一位ALU邏輯圖
9/17/202371ALU的邏輯圖與邏輯表達式i表示集成在一片電路上的ALU的二S0S1
Yi
S2S3
Xi
00
01
10
1100
01
10
111
2、邏輯表達式XiYi與控制參數(shù)和輸入量的關(guān)系構(gòu)造如下真值表2.5.2多功能算術(shù)/邏輯運算單元ALU9/17/202372S0S1YiS2S3Xi00
01
10
2.5.2多功能算術(shù)/邏輯運算單元ALU進一步化簡得到下式9/17/2023732.5.2多功能算術(shù)/邏輯運算單元ALU進一步化簡得到下2.5.2多功能算術(shù)/邏輯運算單元ALUALU的某一位邏輯表達式見下:9/17/2023742.5.2多功能算術(shù)/邏輯運算單元ALUALU的某一位邏例如:S3S2S0S1=0000代入:則可以處理16種算術(shù)\邏輯運算,每種運算只針對1位二進制編碼?思考:如何設(shè)計4位ALU?16位呢?2.5.2多功能算術(shù)/邏輯運算單元ALU9/17/202375例如:則可以處理16種算術(shù)\邏輯運算,每種運算只針對1位二進2.5.2多功能算術(shù)/邏輯運算單元ALU4位ALU
問題1:片內(nèi)是串行進位還是并行進位?回答:由上圖結(jié)構(gòu)中可以看出
Cn+1=Y(jié)0+X0Cn
Cn+2=Y(jié)1+X1Cn+1
Cn+3=Y(jié)2+X2Cn+2
Cn+4=Y(jié)3+X3Cn+3
顯然是一個串行進位,速度慢,為了實現(xiàn)快速ALU,需加以改進。9/17/2023762.5.2多功能算術(shù)/邏輯運算單元ALU4位ALU回答:2.5.2多功能算術(shù)/邏輯運算單元ALU上述片內(nèi)進位采用串行,具有延時長的缺點如何改進?思考:Cn+i與X、Y有關(guān),而每一位中X、Y的產(chǎn)生是不是同時的?答:由于每一位中X、Y是同時產(chǎn)生的,則可以由下面方法算出并行進位Cn+4
第0位向第1位的進位公式為
Cn+1=Y(jié)0+X0Cn
(1)其中Cn是向第0位(末位)的進位。第1位向第2位的進位公式為
Cn+2=Y(jié)1+X1Cn+1=Y(jié)1+Y0X1+X0X1Cn(Cn+1用(1)式代入)第2位向第3位的進位公式為
Cn+3=Y(jié)2+X2Cn+2=Y(jié)2+Y1X1+Y0X1X2+X0X1X2Cn第3位的進位輸出(即整個4位運算進位輸出)公式為
Cn+4=Y(jié)3+X3Cn+3=Y(jié)3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn
9/17/2023772.5.2多功能算術(shù)/邏輯運算單元ALU上述片內(nèi)進位采用2.5.2多功能算術(shù)/邏輯運算單元ALU令G=Y(jié)3+Y2X3+Y1X2X3+Y0X1X2X3
P=X0X1X2X3G為進位發(fā)生輸出P為進位傳送輸出增加P和G的目的在于實現(xiàn)多片(組)ALU之間的先行進位,需要配合電路,稱為先行進位發(fā)生器(CLA)器件:74181ALU9/17/2023782.5.2多功能算術(shù)/邏輯運算單元ALU令G=Y(jié)3+Y22.5.2多功能算術(shù)/邏輯運算單元ALU具有正邏輯和負邏輯兩種內(nèi)部邏輯結(jié)構(gòu)圖見下頁9/17/2023792.5.2多功能算術(shù)/邏輯運算單元ALU具有正邏輯和負邏74181ALU邏輯圖(1)9/17/20238074181ALU邏輯圖(1)8/6/20238074181ALU邏輯圖(2)9/17/20238174181ALU邏輯圖(2)8/6/20238174181ALU邏輯圖(2)PGX3Y3X2Y2X1Y1X0Y0C0G=Y(jié)3+Y2X3+Y1X2X3+Y0X1X2X3
P=X0X1X2X39/17/20238274181ALU邏輯圖(2)PGX3Y74181ALU邏輯圖(總體)9/17/20238374181ALU邏輯圖(總體)8/6/2023832.5.2多功能算術(shù)/邏輯運算單元ALU算術(shù)邏輯運算的實現(xiàn)(74181)M=L時,對進位信號沒有影響,做算術(shù)運算M=H時,進位門被封鎖,做邏輯運算說明:74181執(zhí)行正邏輯輸入/輸出方式的一組算術(shù)運算和邏輯運算和負邏輯輸入/輸出方式的一組算術(shù)運算和邏輯運算是等效的。A=B端可以判斷兩個數(shù)是否相等。9/17/2023842.5.2多功能算術(shù)/邏輯運算單元ALU算術(shù)邏輯運算的實2.5.3內(nèi)部總線內(nèi)部總線機器內(nèi)部各部份數(shù)據(jù)傳送頻繁,可以把寄存器間的數(shù)據(jù)傳送通路加以歸并,組成總線結(jié)構(gòu)。分類所處位置內(nèi)部總線(CPU內(nèi))外部總線(系統(tǒng)總線)邏輯結(jié)構(gòu)單向傳送總線雙向傳送總線圖(2-14)9/17/2023852.5.3內(nèi)部總線內(nèi)部總線8/6/202385三態(tài)門組成的雙向數(shù)據(jù)總線9/17/202386三態(tài)門組成的雙向數(shù)據(jù)總線8/6/202386由三態(tài)門組成的數(shù)據(jù)總線9/17/202387由三態(tài)門組成的數(shù)據(jù)總線8/6/2023872.5.4定點運算器的基本結(jié)構(gòu)1、單總線結(jié)構(gòu)的運算器9/17/2023882.5.4定點運算器的基本結(jié)構(gòu)1、單總線結(jié)構(gòu)的運算器8/6/2.5.4定點運算器的基本結(jié)構(gòu)2、雙總線結(jié)構(gòu)的運算器9/17/2023892.5.4定點運算器的基本結(jié)構(gòu)2、雙總線結(jié)構(gòu)的運算器8/6/2.5.4定點運算器的基本結(jié)構(gòu)3、三總線結(jié)構(gòu)的運算器9/17/2023902.5.4定點運算器的基本結(jié)構(gòu)3、三總線結(jié)構(gòu)的運算器8/6/2.6浮點運算方法和浮點運算器2.6.1浮點加法、減法運算2.6.2浮點乘法、除法運算2.6.3浮點運算流水線2.6.4浮點運算器實例9/17/2023912.6浮點運算方法和浮點運算器2.6.1浮點加法、減法2.6.1浮點加法、減法運算1、浮點加減運算 設(shè)有兩個浮點數(shù)x和y,它們分別為 x=2Ex·Mx y=2Ey·My其中Ex和Ey分別為數(shù)x和y的階碼,Mx和My為數(shù)x和y的尾數(shù)。兩浮點數(shù)進行加法和減法的運算規(guī)則是 x±y=(Mx2Ex-Ey±My)2Ey, 設(shè)Ex<=Ey9/17/2023922.6.1浮點加法、減法運算1、浮點加減運算8/6/2022.6.1浮點加法、減法運算2、浮點運算步驟如下:1.0操作數(shù)的檢查,看有無簡化操作的可能;2.比較階碼大小并完成對階(小階向大階對齊);3.尾數(shù)進行加或減運算;4.結(jié)果規(guī)格化并進行舍入處理9/17/2023932.6.1浮點加法、減法運算2、浮點運算步驟如下:8/6/2.6.1浮點加法、減法運算9/17/2023942.6.1浮點加法、減法運算8/6/2023942.6.1浮點加法、減法運算[例28]設(shè)x=22×0.11011011,y=-24×0.101011001、0操作數(shù)檢查(非0)2、對階:階碼對齊后才能加減。規(guī)則是階碼小的向階碼大的數(shù)對齊;若△E=0,表示兩數(shù)階碼相等,即Ex=Ey;若△E>0,表示Ex>Ey;若△E<0,表示Ex>Ey。當Ex≠Ey
時,要通過尾數(shù)的移動以改變Ex或Ey,使之相等。9/17/2023952.6.1浮點加法、減法運算[例28]設(shè)x=22×0.1原則:小階向大階設(shè)△E>0,表示Ex>Ey,則移動y的尾數(shù),My右移△E位,問題:為什么要小階向大階看齊?階差=Ex-Ey=00010-00100=11110即階差為-2,Mx右移兩位,Ex加2x=00100,0.00110110(11)2.6.1浮點加法、減法運算9/17/202396原則:小階向大階2.6.1浮點加法、減法運算8/6/2022.6.1浮點加法、減法運算3、尾數(shù)相加00.00110110(11)+11.01010100=11.10001010(11)4、結(jié)果規(guī)格化(1)在浮點加減運算時,尾數(shù)求和的結(jié)果也可以得到01.ф…ф或10.ф…ф,即兩符號位不等,此時將運算結(jié)果右移以實現(xiàn)規(guī)格化表示,稱為向右規(guī)格化。規(guī)則:尾數(shù)右移1位,階碼加1(2)結(jié)果是00.0..01.....或11.1...10...時,則向左規(guī)格化規(guī)則:尾數(shù)左移1位,階碼減1,直到規(guī)格化右規(guī),階碼加1,左規(guī),階碼減1剛才例子左規(guī)為11.00010101(10),階碼減1為00011練習:01.110110.000111.10019/17/2023972.6.1浮點加法、減法運算3、尾數(shù)相加8/6/202392.6.1浮點加法、減法運算舍入處理(對階和向右規(guī)格化時)就近舍入(0舍1入):類似”四舍五入”,丟棄的最高位為1,進1朝0舍入:截尾朝+∞舍入:正數(shù)多余位不全為”0”,進1;負數(shù),截尾朝-∞舍入:負數(shù)多余位不全為”0”,進1;正數(shù),截尾溢出判斷和處理階碼上溢,一般將其認為是+∞和-∞。階碼下溢,則數(shù)值為0尾數(shù)上溢,兩個同符號位的數(shù)相加。處理方法是尾數(shù)右移,階碼加1。尾數(shù)下溢。尾數(shù)右移時,最低位從最右端流出。進行要進行舍入處理
。9/17/2023982.6.1浮點加法、減法運算舍入處理(對階和向右規(guī)格化時)設(shè)[x1]補=11.01100000,[x2]補=11.01100001,[x3]補=11.01101000,[x4]補=11.01111001,求執(zhí)行只保留小數(shù)點后4位有效數(shù)字的舍入操作值。課堂作業(yè)9/17/202399設(shè)[x1]補=11.01100000,課堂作業(yè)8/6/202課堂練習已知:x=0.1101*201y=-0.1010*211,求X+Y尾數(shù)和階符都采用補碼表示,都采用雙符號位表示法。求x+y9/17/2023100課堂練習已知:x=0.1101*201y=-0.1012.6.1浮點加法、減法運算[x]浮=0001,00.1101[y]浮=0011,11.0110階差=1110即為-2Mx應當右移2位,[x]浮=0011,00.0011(01)尾數(shù)和為11.1001(01)左規(guī)11.0010(10),階碼減1為0010舍入(就近舍入)11.0011丟棄10x+y=-0.1101*2109/17/20231012.6.1浮點加法、減法運算[x]浮=0001,00.112.6.2浮點乘法和除法運算設(shè)有兩個浮點數(shù)x和y:
x=2Ex·Mx
y=2Ey·Myx×y=2(Ex+Ey)·(Mx×My)x÷y=2(Ex-Ey)·(Mx÷My)乘除運算分為四步0操作數(shù)檢查階碼加減操作尾數(shù)乘除操作結(jié)果規(guī)格化和舍入處理9/17/20231022.6.2浮點乘法和除法運算設(shè)有兩個浮點數(shù)x和y:
2.6.2浮點乘法和除法運算浮點數(shù)的階碼運算(移碼的運算規(guī)則)[X]移+[Y]移=2n+[X+Y]移9/17/20231032.6.2浮點乘法和除法運算浮點數(shù)的階碼運算(移碼的運算規(guī)2.6.2浮點乘法和除法運算移碼采用雙符號位,為了對溢出進行判斷01為正00為負10上溢11下溢例:x=+011,y=+110,求[x+y]移和[x-y]移,并判斷是否溢出。
[x]移=01011,[y]補=00110,[-y]補=11010
[x+y]移=[x]移+[y]補=10001,結(jié)果上溢。
[x-y]移=[x]移+[-y]補=00101,結(jié)果正確,為-3。9/17/20231042.6.2浮點乘法和除法運算移碼采用雙符號位,為了對溢出進2.6.2浮點乘法和除法運算尾數(shù)處理截斷舍入尾數(shù)用原碼表示時只要尾數(shù)最低為1或者移出位中有1數(shù)值位,使最低位置10舍1入尾數(shù)用補碼表示時(p57例30)丟失的位全為0,不必舍入。丟失的最高位為0,以后各位不全為0時;或者最高為1,以后各位全為0時,不必舍入。丟失的最高位為1,以后各位不全為0時,則在尾數(shù)的最低位入1的修正操作。9/17/20231052.6.2浮點乘法和除法運算尾數(shù)處理8/6/20231052.6.2浮點乘法和除法運算
[例30]設(shè)有浮點數(shù)x=2-5×0.0110011,y=23×(-0.1110010),階碼用4位移碼表示,尾數(shù)(含符號位)用8位補碼表示。求[x×y]浮。要求用補碼完成尾數(shù)乘法運算,運算結(jié)果尾數(shù)保留高8位(含符號位),并用尾數(shù)低位字長值處理舍入操作。9/17/20231062.6.2浮點乘法和除法運算[例30]設(shè)有浮點數(shù)x=2x=2-5×0.0110011,y=23×(-0.1110010)[解:]移碼采用雙符號位,尾數(shù)補碼采用單符號位,則有
[Mx]補=0.0110011,[My]補=1.0001110,
[Ey]移=01011,[Ey]補=00011,[Ex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款合同范本中介版
- 云南購房合同范本
- 從化學校食堂承包合同范本
- 保潔公司人員合同范本
- pu線條安裝合同范本
- fob合同范本日文
- 包架子合同范本
- 公司代管合同范本
- 共同經(jīng)營餐廳合同范本
- 三方合作民宿協(xié)議合同范本
- 課程改革與學前教育發(fā)展研究
- 普通昆蟲學-實驗指導
- 中職對口升學養(yǎng)殖專業(yè)獸醫(yī)基礎(chǔ)習題集判斷題詳解
- 公園綠化養(yǎng)護景觀綠化維護項目迎接重大節(jié)會活動的保障措施
- 初中物理各單元思維導圖
- 氧化還原反應和氧化還原平衡--ppt課件
- 國內(nèi)外旅游公共服務研究的文獻綜述
- 2022年北京市專升本英語真題
- 鍺的提取方法
- 機車電測儀表使用及檢修
- PMS顏色對照表
評論
0/150
提交評論