計(jì)算機(jī)組成原理 第二章運(yùn)算方法和運(yùn)算部件一_第1頁(yè)
計(jì)算機(jī)組成原理 第二章運(yùn)算方法和運(yùn)算部件一_第2頁(yè)
計(jì)算機(jī)組成原理 第二章運(yùn)算方法和運(yùn)算部件一_第3頁(yè)
計(jì)算機(jī)組成原理 第二章運(yùn)算方法和運(yùn)算部件一_第4頁(yè)
計(jì)算機(jī)組成原理 第二章運(yùn)算方法和運(yùn)算部件一_第5頁(yè)
已閱讀5頁(yè),還剩85頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章運(yùn)算方法和運(yùn)算器2.

1

數(shù)據(jù)和文字的表示方法和轉(zhuǎn)換2.2

定點(diǎn)數(shù)的加減法運(yùn)算2.

3

定點(diǎn)數(shù)的乘法運(yùn)算2.4定點(diǎn)數(shù)的除法運(yùn)算2.5浮點(diǎn)數(shù)的運(yùn)算方法2.6數(shù)據(jù)校驗(yàn)碼第2章運(yùn)算方法和運(yùn)算器學(xué)習(xí)要點(diǎn):理解:掌握:數(shù)和文字的編碼表示定點(diǎn)數(shù)加、減運(yùn)算,邏輯運(yùn)算運(yùn)算器的組成和結(jié)構(gòu)定點(diǎn)數(shù)乘、除運(yùn)算浮點(diǎn)運(yùn)算數(shù)據(jù)校驗(yàn)碼2一、數(shù)值型數(shù)據(jù)的表示和轉(zhuǎn)換1.數(shù)制(二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制)

2.1數(shù)據(jù)與文字的表示方法

3二、八、十六和十進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系二進(jìn)制數(shù)

八進(jìn)制數(shù)十六進(jìn)制數(shù)十進(jìn)制數(shù)00000001001000110100010101100111100010011010101111001101111011110123456710111213141516170123456789ABCDEF01234567891011121314154二進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)方法:按權(quán)展開2.不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換解:(2A.8)H

=2×161+A×160+8×16-1=32+10+0.5=(42.5)D例1(2A.8)H

=(?)D

例2(165.2)O

=(?)D例3(10101.11)B

=(?)D解:

(165.2)O=1×82+6×81+5×80+2×8-1=64+48+5+0.25=(117.25)D解:

(10101.11)B=1×24+0×23+1×22+0×21+1×20+1×2-1+1×2-2=(21.75)D5十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)整數(shù)部分轉(zhuǎn)換:基數(shù)連除法1)十進(jìn)制數(shù)整數(shù)部分不斷除以基數(shù)2(8或16),記錄下余數(shù),直到商為0為止。2)由最后一個(gè)余數(shù)起逆向取各個(gè)余數(shù),則為轉(zhuǎn)換成的二進(jìn)制(八進(jìn)制或十六進(jìn)制)數(shù)。 2.不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換小數(shù)部分轉(zhuǎn)換:基數(shù)連乘法1)小數(shù)部分不斷乘以基數(shù)2(8或16),記錄整數(shù)部分,直到小數(shù)部分為0為止。2)由第一個(gè)整數(shù)起順向取各個(gè)整數(shù),則為轉(zhuǎn)換成的二進(jìn)制(八進(jìn)制或十六進(jìn)制)數(shù)。3)小數(shù)轉(zhuǎn)換會(huì)發(fā)生總是無法乘到為0的情況(可選取一定位數(shù)(精度),將產(chǎn)生無法避免的轉(zhuǎn)換誤差)練習(xí):

(23.125)D=(?)B

(23.125)D=(10111.001)B62.不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換二進(jìn)制數(shù)、八進(jìn)制數(shù)、十六進(jìn)制數(shù)之間的轉(zhuǎn)換二進(jìn)制數(shù)轉(zhuǎn)換八進(jìn)制數(shù):三位二進(jìn)制數(shù)寫成一位八進(jìn)制數(shù)八(十六)進(jìn)制數(shù)轉(zhuǎn)換二進(jìn)制數(shù):一位八(十六)進(jìn)制數(shù)寫成三位(四位)二進(jìn)制數(shù)例1(1011011111.10011)B=(?)O1337.46解:001011011111.100110二進(jìn)制數(shù)轉(zhuǎn)換十六進(jìn)制數(shù):四位二進(jìn)制數(shù)寫成一位十六進(jìn)制數(shù)例2(1011011111.10011)B=(?)H2.FD98解:001011011111.10011000例3(36.24)O

=(?)B例4(3DB.46)H=(?)B

解:

(36.24)O=(011110.010100)B解:

(3DB.46)H=(001111011011.01000110)B7二、十進(jìn)制數(shù)的編碼與運(yùn)算1.二—十進(jìn)制碼:用4位二進(jìn)制碼表示十進(jìn)制數(shù)符“0~9”的代碼,簡(jiǎn)稱BCD碼。若某種代碼的每一位都有固定的“權(quán)值”,則稱這種代碼為有權(quán)代碼;否則,叫無權(quán)代碼。十進(jìn)制數(shù)8421碼5421碼2421碼0123456789000000010010001101000101011001111000100100000001001000110100100010011010101111000000000100100011010010111100110111101111四位有權(quán)碼8十進(jìn)制數(shù)余3碼格雷碼1

格雷碼2

0123456789001101000101011001111000100110101011110000000001001100100110111010101000110001000000010001100010101010110011000110011000四位無權(quán)碼例1(01001000.1011)余3BCD=(?)2421BCD=(15.8)D=(00011011.1110)2421BCD例2(73.4)O

=(?)8421BCD=(59.5)D=(01011001.0101)8421BCD練習(xí):(01111001.011000100101)8421BCD=(?)B=(79.625)D=(1001111.101)B9主要有兩種形式:非壓縮的十進(jìn)制數(shù)串:一個(gè)字節(jié)存放一位十進(jìn)制數(shù)或符號(hào)位。壓縮的十進(jìn)制數(shù)串:一個(gè)字節(jié)存放二位十進(jìn)制數(shù)。2.十進(jìn)制數(shù)串在計(jì)算機(jī)內(nèi)的表示與存儲(chǔ)非壓縮的十進(jìn)制數(shù)串:每個(gè)十進(jìn)制的數(shù)位或符號(hào)位都用一個(gè)字節(jié)存放+12-42-42壓縮的十進(jìn)制數(shù)串形式:一個(gè)字節(jié)存放兩個(gè)十進(jìn)制的數(shù)位+12123C012D+123-1210ASCII碼漢字的表示三、字符編碼

1.ASCII碼“美國(guó)標(biāo)準(zhǔn)信息交換代碼”(AmericanStandardCodeforInformationInterchange),簡(jiǎn)稱ASCII碼。7位二進(jìn)制編碼,可表示27=128個(gè)字符。ASCII碼中,編碼值0~31不對(duì)應(yīng)任何可印刷(或稱有字形)字符,通常稱它們?yōu)榭刂谱址?,用于通信中的通信控制或?qū)τ?jì)算機(jī)設(shè)備的功能控制。編碼值為32的是空格(或間隔)字符SP。編碼值為127的是刪除控制DEL碼。其余的94個(gè)字符稱為可印刷字符。11ASCII字符編碼表0000010100111001011101110000NULDELSP0@P`p0001SOHDC1!1AQaq0010STXDC2"2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB'7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\1|1101CRGS-=M]m}1110SORS.>N^n~1111SIUS/?O_oDEL

12特點(diǎn):(1)漢字是一種象形文字,據(jù)統(tǒng)計(jì),從甲骨文至今約有六萬左右的漢字。目前常見的漢字有約七千個(gè)。(2)漢字字形結(jié)構(gòu)復(fù)雜,筆劃繁多。(3)漢字同音字多,多音字多。

2.漢字的表示輸入碼國(guó)標(biāo)碼字形碼地址碼機(jī)內(nèi)碼漢字輸入漢字輸出涉及多種編碼:13漢字的輸入編碼(1)數(shù)字編碼——國(guó)標(biāo)區(qū)位碼,用數(shù)字串代表一個(gè)漢字輸入(2)字音編碼——以漢字拼音為基礎(chǔ)的輸入方法(3)字形編碼——用漢字的形狀(筆劃)來進(jìn)行的編碼,如五筆字形(4)混合編碼漢字交換碼——是不同的漢字處理系統(tǒng)之間交換信息用的編碼。漢字內(nèi)碼——是用于漢字信息的存儲(chǔ)、檢索等操作的機(jī)內(nèi)代碼

一般采用兩個(gè)字節(jié)表示,漢字內(nèi)碼有多種方案,常以國(guó)標(biāo)碼為基礎(chǔ)的編碼。 例如,將國(guó)標(biāo)碼兩字節(jié)的最高位置1后形成 漢字“啊”的國(guó)標(biāo)碼

3021H(0011000000100001)

對(duì)應(yīng)的漢字內(nèi)碼

B0A1H(1011000010100001)14字形碼漢字的字模碼為:16位×16位=32字節(jié)漢字字模點(diǎn)陣及編碼15漢字的表示方法漢字的輸入編碼、交換碼、漢字內(nèi)碼、字模碼是計(jì)算機(jī)中用于輸入、內(nèi)部處理、交換、輸出四種不同用途的編碼。顯示輸出打印輸出機(jī)內(nèi)碼向字形碼轉(zhuǎn)換機(jī)內(nèi)碼輸入碼向機(jī)內(nèi)碼轉(zhuǎn)換字符代碼化(輸入)漢字的表示方法16反映無符號(hào)數(shù)的表示范圍8位0~25516位0~655351.無符號(hào)數(shù):全部二進(jìn)制均代表數(shù)值,沒有符號(hào)位。四、無符號(hào)數(shù)和帶符號(hào)數(shù)+0.10110

1011小數(shù)點(diǎn)的位置+110001100小數(shù)點(diǎn)的位置–110011100小數(shù)點(diǎn)的位置–0.101111011小數(shù)點(diǎn)的位置真值(帶符號(hào)的數(shù))機(jī)器數(shù)(符號(hào)數(shù)字化的數(shù))2.帶符號(hào)數(shù)171.原碼表示法規(guī)則:機(jī)器數(shù)的最高一位表示符號(hào),“0”表示正號(hào),“1”表示負(fù)號(hào),后面各位用數(shù)的絕對(duì)值表示。定點(diǎn)整數(shù)的原碼形式

五、數(shù)的機(jī)器表示

18定點(diǎn)小數(shù)的原碼形式

192.補(bǔ)碼表示法

結(jié)論:1)一個(gè)負(fù)數(shù)加上“?!奔吹迷撠?fù)數(shù)的補(bǔ)數(shù);2)兩個(gè)互為補(bǔ)數(shù)的數(shù),它們絕對(duì)值之和即為模數(shù);3)正數(shù)的補(bǔ)數(shù)即為其本身。20定點(diǎn)整數(shù)的補(bǔ)碼形式

定點(diǎn)小數(shù)的補(bǔ)碼形式

21

求補(bǔ)碼的快捷方式

當(dāng)真值為負(fù)數(shù)時(shí),補(bǔ)碼可用原碼除符號(hào)位外每位取反,末位加1求得。

22若寄存器A、B分別保存了[X]補(bǔ)、[Y]補(bǔ),要求:①描述加法器實(shí)現(xiàn)[X+Y]補(bǔ)

A的過程?②描述加法器實(shí)現(xiàn)[X-Y]補(bǔ)

A的過程?

233.反碼表示法定點(diǎn)整數(shù)的反碼形式

規(guī)則:機(jī)器數(shù)的最高一位表示符號(hào),“0”表示正號(hào),“1”表示負(fù)號(hào),對(duì)于正數(shù),反碼和原碼相同,對(duì)于負(fù)數(shù),反碼的數(shù)值是將原碼數(shù)值部分按位取反。243.反碼表示法定點(diǎn)小數(shù)的反碼形式

當(dāng)符號(hào)有進(jìn)位時(shí),應(yīng)將進(jìn)位加到運(yùn)算結(jié)果的最低位,得到最后結(jié)果,稱為“循環(huán)相加”。25

三種機(jī)器數(shù)的小結(jié):

對(duì)于正數(shù),符號(hào)位為0,原碼=補(bǔ)碼=反碼

26例:設(shè)機(jī)器數(shù)字長(zhǎng)為8位(其中一位為符號(hào)位),對(duì)于整數(shù),當(dāng)其分別代表無符號(hào)數(shù)、原碼、補(bǔ)碼和反碼時(shí),對(duì)應(yīng)的真值范圍各為多少?二進(jìn)制代碼無符號(hào)數(shù)對(duì)應(yīng)的真值原碼對(duì)應(yīng)的真值補(bǔ)碼對(duì)應(yīng)的真值反碼對(duì)應(yīng)的真值000000000+0+0+0000000011+1+1+1000000102+2+2+201111111127+127+127+12710000000128-0-128-12710000001129-1-127-12611111101253-125-3-211111110254-126-2-111111111255-127-1-027移碼在數(shù)軸上的表示

0真值

4.移碼表示法

0

用來判斷真值大小

(1)移碼定義28真值是正數(shù)時(shí),移碼是補(bǔ)碼的最高位加1;真值是負(fù)數(shù)時(shí),移碼是補(bǔ)碼的最高位減1。(2)移碼與補(bǔ)碼的關(guān)系

29(3)移碼的計(jì)算

30真值、補(bǔ)碼和移碼的對(duì)照表-1000001000000000000-111111000010000011-111101000100000102-0000111111101111131±0000000000010000032+0000100000110000133+0001000001010001034+1111001111011111062+111110111111111116331正數(shù)的原碼、反碼、補(bǔ)碼等于真值,只有負(fù)數(shù)才分別有不同的表示方法;采用補(bǔ)碼,減法運(yùn)算可以用加法運(yùn)算實(shí)現(xiàn),節(jié)省硬件,目前機(jī)器中廣泛采用補(bǔ)碼表示法;有些機(jī)器用原碼進(jìn)行存儲(chǔ)和傳送,運(yùn)算時(shí)改用補(bǔ)碼;有些機(jī)器做加減法時(shí)用補(bǔ)碼,做乘除法時(shí)用原碼;移碼表示法主要用于表示浮點(diǎn)數(shù)的階碼,可以直接比較大小。表示范圍和補(bǔ)碼相同,只有最高位相反??偨Y(jié):32數(shù)據(jù)格式定點(diǎn)格式:小數(shù)點(diǎn)固定在某個(gè)位置上的數(shù)據(jù),通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù),表數(shù)范圍有限,但要求的處理硬件比較簡(jiǎn)單。浮點(diǎn)格式:小數(shù)點(diǎn)的位置可浮動(dòng)的數(shù)據(jù),表數(shù)范圍很大,但要求的處理硬件比較復(fù)雜。

定點(diǎn)整數(shù)的小數(shù)點(diǎn)位置定點(diǎn)小數(shù)的小數(shù)點(diǎn)位置1.定點(diǎn)表示六、數(shù)據(jù)格式33

定點(diǎn)整數(shù)的表示范圍

定點(diǎn)小數(shù)的表示范圍

34

2.浮點(diǎn)表示

浮點(diǎn)數(shù)的規(guī)格化尾數(shù):純小數(shù)形式,小數(shù)點(diǎn)后第一位不為0,可正可負(fù)。階碼:整數(shù),可正可負(fù)。規(guī)格化浮點(diǎn)數(shù)35

對(duì)于非規(guī)格化浮點(diǎn)數(shù),進(jìn)行規(guī)格化形式,其方式:將尾數(shù)M左移或右移,并修改階碼值。尾數(shù)左移1位,階碼值減1;尾數(shù)右移1位,階碼值加1。例:將0.0011規(guī)格化表示。

36

浮點(diǎn)數(shù)的機(jī)內(nèi)表示形式

例:設(shè)某浮點(diǎn)數(shù)共12位。其中階碼含1位階符共4位,以2為底,補(bǔ)碼表示;尾數(shù)含1位數(shù)符共8位,補(bǔ)碼表示,規(guī)格化。則該浮點(diǎn)數(shù)所能表示的最大正數(shù)是?

37

階碼用補(bǔ)碼表示:0110011000階碼用移碼表示:0010011000階碼用補(bǔ)碼表示:1110001000階碼用移碼表示:101000100038定點(diǎn)數(shù)和浮點(diǎn)數(shù)的比較:當(dāng)浮點(diǎn)機(jī)和定點(diǎn)機(jī)中數(shù)的位數(shù)相同時(shí),浮點(diǎn)數(shù)的表示范圍比定點(diǎn)數(shù)的表示范圍大得多。當(dāng)浮點(diǎn)數(shù)為規(guī)格化數(shù)時(shí),其相對(duì)精度遠(yuǎn)比定點(diǎn)數(shù)高。浮點(diǎn)數(shù)運(yùn)算要分階碼部分和尾數(shù)部分,而且運(yùn)算結(jié)果都要求格式化,故浮點(diǎn)數(shù)運(yùn)算步驟比定點(diǎn)運(yùn)算步驟多,運(yùn)算速度比定點(diǎn)運(yùn)算速度低,運(yùn)算線路比定點(diǎn)運(yùn)算復(fù)雜。39浮點(diǎn)數(shù)據(jù)編碼的標(biāo)準(zhǔn)是IEEE754標(biāo)準(zhǔn)浮點(diǎn)數(shù)符號(hào)位階碼尾數(shù)總位數(shù)單精度182332雙精度1115264尾數(shù)通常采用原碼或補(bǔ)碼形式,階碼的編碼可采用移碼(或補(bǔ)碼)進(jìn)行編碼。32位單精度浮點(diǎn)數(shù)E:含階符的階碼,8位階碼采用移碼方式來表示正負(fù)指數(shù)S:1位符號(hào)位,0表示正數(shù),1表示負(fù)數(shù)M:尾數(shù),23位小數(shù)表示,小數(shù)點(diǎn)放在尾數(shù)域最前面偏移量:1274064位雙精度浮點(diǎn)數(shù)E:含階符的階碼,11位S:1位符號(hào)位M:尾數(shù),52位小數(shù)浮點(diǎn)數(shù)據(jù)編碼的標(biāo)準(zhǔn)是IEEE754標(biāo)準(zhǔn)浮點(diǎn)數(shù)符號(hào)位階碼尾數(shù)總位數(shù)單精度182332雙精度1115264偏移量:102341

規(guī)格化表示原則42

③包括隱藏位1的尾數(shù)1.M=1.011011例:浮點(diǎn)機(jī)器數(shù)(41360000)16,求真值①十六進(jìn)制數(shù)展開成二進(jìn)制數(shù)01000001001101100000000000000000

S例:真值20.59375,求32位單精度浮點(diǎn)數(shù)①分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù)20.59375=10100.10011②移動(dòng)小數(shù)點(diǎn),使其在第1、2位之間得10100.10011=1.010010011×24

③得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:01000001101001001100000000000000=(41A4C000)1643例:將十進(jìn)制數(shù)178.125表示成微機(jī)中的單精度浮點(diǎn)數(shù)

例:將下面Pentium機(jī)中的單精度浮點(diǎn)數(shù)表示成十進(jìn)制真值是多少?即3F580000H=00111111010110000000000000000000B

44浮點(diǎn)數(shù)的特點(diǎn)1)數(shù)值范圍是指機(jī)器所能表示的一個(gè)數(shù)的最大值和最小值之間的范圍,浮點(diǎn)數(shù)的表示范圍取決于階碼的位數(shù)2)數(shù)據(jù)精度是指一個(gè)數(shù)的有效位數(shù),浮點(diǎn)數(shù)的相對(duì)精度取決于尾數(shù)的位數(shù)。3)同一個(gè)浮點(diǎn)數(shù)的表示不是惟一的。4)如果一個(gè)浮點(diǎn)數(shù)的尾數(shù)為0,不論其階碼為何值,或者當(dāng)階碼的值遇到比它能表示的最小值還小時(shí),不管其尾數(shù)為何值,計(jì)算機(jī)都把該浮點(diǎn)數(shù)看成零值(機(jī)器零)。1.將十進(jìn)制數(shù)+76.75存入某微機(jī)中,寫出在微機(jī)中的單精度浮點(diǎn)形式。練習(xí):

2.某微機(jī)內(nèi)存有單精度符點(diǎn)數(shù)為C2308000H,計(jì)算其真值。

452.2定點(diǎn)加減法運(yùn)算一、補(bǔ)碼的加減運(yùn)算及其溢出的處理1.加減運(yùn)算

46溢出?。?/p>

47溢出的處理1、什么是溢出?當(dāng)運(yùn)算結(jié)果超出機(jī)器數(shù)所能表示的范圍時(shí),稱為溢出。兩個(gè)異號(hào)數(shù)相加或兩個(gè)同號(hào)數(shù)相減,其結(jié)果是不會(huì)溢出的。

僅當(dāng)兩個(gè)同號(hào)數(shù)相加或者兩個(gè)異號(hào)數(shù)相減時(shí),才有可能發(fā)生溢出的情況。兩個(gè)正數(shù)相加,結(jié)果為負(fù)稱為上溢(正溢)。兩個(gè)負(fù)數(shù)相加,結(jié)果為正稱為下溢(負(fù)溢)。

正溢負(fù)溢48

2、溢出條件及實(shí)現(xiàn)邏輯

49正確,無溢出(1)A=3B=2(2)A=10B=7(3)A=-3B=-2

錯(cuò)誤,正溢

正確,無溢出

50錯(cuò)誤,負(fù)溢(4)A=-10B=-7

正確,無溢出(5)A=6B=-4

正確,無溢出(6)A=-6B=4

51V0

A

nGAGS

加法器(n+1)溢出判斷求補(bǔ)控制邏輯0

X

n二、補(bǔ)碼加減法的硬件配置A、X均n+1位GA為加法標(biāo)記、GS為減法標(biāo)記,V溢出標(biāo)記。521.全加器二、二進(jìn)制加法器Ai

Bi

CiSi

Ci+10000010100111001011101110010100110010111全加器真值表全加器邏輯圖

一位全加器內(nèi)部邏輯圖532.串行進(jìn)位全加器四位串行進(jìn)位加法器串行進(jìn)位:高位的加法運(yùn)算,必須等到低位的加法運(yùn)算完成之后才能進(jìn)行。54超前進(jìn)位的主要目標(biāo):使各級(jí)進(jìn)位同時(shí)產(chǎn)生,而不是依次產(chǎn)生。2.先行進(jìn)位全加器全加器表達(dá)式:

這樣可得各位進(jìn)位信號(hào)的邏輯表達(dá)式如下:

55超前進(jìn)位四位加法器74LS283邏輯圖與引腳(a)邏輯圖

(b)引腳圖56ALU—74181輸入/輸出信號(hào):A0~A3、B0~B3:參加運(yùn)算的兩個(gè)數(shù)S0~S3:選擇控制端---選擇不同的算術(shù)和邏輯運(yùn)算M:狀態(tài)控制端,為高電平執(zhí)行邏輯運(yùn)算;為低電平執(zhí)行算術(shù)運(yùn)算Cn:ALU的最低進(jìn)位位F0~F3:ALU的運(yùn)算結(jié)果Cn+4:ALU最高位產(chǎn)生的進(jìn)位G、P:ALU的進(jìn)位產(chǎn)生與傳遞57ALU74181功能表-能執(zhí)行16種算術(shù)、16種邏輯運(yùn)算(P22)LLLLLLLHLLHLLLHHLHLLLHLHLHHLLHHHHLLLHLLHHLHLHLHHHHLLHHLHHHHLHHHH

正邏輯

S0S1S2S358用4片74181電路可組成16位ALU,若把16位ALU中的每四位作為一組,用位間快速進(jìn)位的形成方法來實(shí)現(xiàn)16位ALU中“組間快速進(jìn)位”,那么就能得到16位快速ALU。Cn+4CnCn+4Cn

Cn+4Cn

Cn+4CnCn0123片內(nèi)進(jìn)位快速,但片間進(jìn)位是逐片傳遞的,由此形成F0~F15的時(shí)間還是比較長(zhǎng)。GIIIPIIIGIIPIIGIPIGIVPIV7418274181741817418174181CIIICIICIC0CIV59補(bǔ)充:移位運(yùn)算邏輯移位無符號(hào)數(shù)的移位算術(shù)移位有符號(hào)數(shù)的移位邏輯左移邏輯右移低位添0,高位移丟高位添0,低位移丟1右移添1左移添00反碼補(bǔ)碼原碼負(fù)數(shù)0原碼、補(bǔ)碼、反碼正數(shù)添補(bǔ)代碼碼制真值符號(hào)位不變60

符號(hào)位單獨(dú)處理乘數(shù)的某一位決定是否加被乘數(shù)4個(gè)位積一起相加乘積的位數(shù)擴(kuò)大一倍2.3定點(diǎn)乘法運(yùn)算一、定點(diǎn)原碼一位乘法1.筆算乘法612.乘法改進(jìn)

①②⑧

第二步:右移一位,得新的部分積第八步:右移一位,得結(jié)果③

右移一位…62改進(jìn)后乘法過程0.0000+0.11010.1101+0.1101+0.0000+0.1101初態(tài),部分積=0乘數(shù)為1,加被乘數(shù)乘數(shù)為1,加被乘數(shù)乘數(shù)為0,加01.001110.1001111.0001111乘數(shù)為1,加被乘數(shù)0.10001111右移一位,得結(jié)果1011=0.0110右移一位,形成新的部分積1101=0.1001右移一位,形成新的部分積1110=0.0100右移一位,形成新的部分積1111=部分積乘數(shù)說明

63

被乘數(shù)只與部分積的高位相加硬件3個(gè)寄存器,具有移位功能一個(gè)全加器小結(jié):

乘法運(yùn)算可用加和移位實(shí)現(xiàn)n=4,加4次,移4次由乘數(shù)的末位決定被乘數(shù)是否與原部分積相加,然后右移一位形成新的部分積,同時(shí)乘數(shù)右移一位(末位移丟),空出高位存放部分積的低位。64

3.原碼乘法

(1)原碼一位乘運(yùn)算規(guī)則(以小數(shù)為例)65原碼一位乘遞推公式:

z1zn

………z0

66例1:已知x=–0.1110y=0.1101求[x?y]原解:

部分積乘數(shù)說明

右移一位,得z4邏輯右移邏輯右移

=

右移一位,得z1

=

右移一位,得z2

=

右移一位,得z3

=[x]原=1.1110[y]原=0.110167②數(shù)值部分按絕對(duì)值相乘

特點(diǎn):絕對(duì)值運(yùn)算邏輯移位用移位的次數(shù)判斷乘法是否結(jié)束

68Cx+1SRTiQLDR1LDR0部分積Z乘數(shù)Y計(jì)數(shù)器iY/2

Y∑/2

Z乘法啟動(dòng)YnYnYnR1ZsXsYsT1,T2,…R0R0被乘數(shù)X加數(shù)器(2)原碼一位乘邏輯實(shí)現(xiàn)690An加法器控制門0Xn移位和加控制計(jì)數(shù)器CSGM0Qn右移A、X、Q均n+1位移位和加受末位乘數(shù)控制A:部分積Q:乘數(shù)X:被乘數(shù)乘積高位乘積低位70算法分析

(3)定點(diǎn)原碼兩位乘運(yùn)——每次用兩位乘數(shù)去乘被乘數(shù)原碼乘符號(hào)位和數(shù)值位部分分開運(yùn)算兩位乘每次用乘數(shù)的2位判斷原部分積是否加和如何加被乘數(shù)

71運(yùn)算規(guī)則111110101100011010001000操作內(nèi)容標(biāo)志位Cj

72

0初態(tài)z0=0–

x*,Cj=1

01

0001

+2x*,Cj=0

+2x*,Cj=01

011001右移兩位0

000110右移兩位0

右移兩位算術(shù)右移算術(shù)右移解:Cj部分積乘數(shù)

說明算術(shù)右移[x]補(bǔ)=0.100111

73②數(shù)值部分的運(yùn)算x*?

y*=0.010111110001則[x

?

y]原

=0.010111110001特點(diǎn):絕對(duì)值的補(bǔ)碼運(yùn)算算術(shù)移位用移位的次數(shù)判斷乘法是否結(jié)束

74

000.111111

0初態(tài)z0=0+x*,Cj=0010.00110111000.111000000111111.1001000111001.111110+2x*,Cj=0111.000001–x*,Cj=1000.111111+x*,Cj=00000.001111111110右移兩位0000.100011011111右移兩位1111.111001000111

右移兩位Cj部分積乘數(shù)

說明算術(shù)右移算術(shù)右移解:[x]原=0.111111[y]原=1.11100175x*?

y*=0.111000000111則[x

?

y]原

=1.111000000111特點(diǎn):絕對(duì)值的補(bǔ)碼運(yùn)算算術(shù)移位用移位的次數(shù)判斷乘法是否結(jié)束②數(shù)值部分的運(yùn)算

76符號(hào)位操作數(shù)移位移位次數(shù)最多加法次數(shù)x0

y0x0⊕y0絕對(duì)值絕對(duì)值的補(bǔ)碼邏輯右移算術(shù)右移nn

原碼一位乘原碼兩位乘(4)原碼兩位乘和原碼一位乘比較77(1)定點(diǎn)補(bǔ)碼一位乘法(以小數(shù)為例)

4.補(bǔ)碼乘法

78

0.00001.0011

初態(tài),部分積=0乘數(shù)為1,加被乘數(shù)乘數(shù)為1,加被乘數(shù)乘數(shù)為0,加0

乘數(shù)為1,加被乘數(shù)

右移一位1,得結(jié)果

=

右移一位,形成新的部分積

=

右移一位,形成新的部分積

=

右移一位,形成新的部分積

=

部分積乘數(shù)說明

79

初態(tài),部分積=0乘數(shù)為1,加被乘數(shù)乘數(shù)為0,加0乘數(shù)為1,加被乘數(shù)

乘數(shù)為0,加0

右移一位,形成新的部分積

=

右移一位,形成新的部分積

=

右移一位,形成新的部分積

=

右移一位,形成新的部分積1110=

部分積乘數(shù)說明

80乘法小結(jié)原碼乘——符號(hào)位單獨(dú)處理;補(bǔ)碼乘——符號(hào)位自然形成;原碼乘去掉符號(hào)位運(yùn)算,即為無符號(hào)數(shù)乘法;不同的乘法運(yùn)算需有不同的硬件支持。整數(shù)乘法與小數(shù)乘法完全相同,可用逗號(hào)代替小數(shù)點(diǎn);81

1商符號(hào)單獨(dú)處理心算上商

商的符號(hào)心算求得00.101000余數(shù)不動(dòng)低位補(bǔ)“0”,

減右移一位的除數(shù)上商位置不固定2.4定點(diǎn)除法運(yùn)算一、定點(diǎn)原碼一位除法1.筆算除法82筆算除法和機(jī)器除法的比較筆算除法

機(jī)器除法商符單獨(dú)處理心算上商符號(hào)位異或形成

余數(shù)不動(dòng)低位補(bǔ)“0”減右移一位的除數(shù)2倍字長(zhǎng)加法器上商位置不固定余數(shù)左移一位低位補(bǔ)“0”減除數(shù)1倍字長(zhǎng)加法器在寄存器最末位上商83

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論