版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章運(yùn)算方法與運(yùn)算器本章首先講述數(shù)據(jù)與文字的表示方法,然后講述定點(diǎn)運(yùn)算方法、定點(diǎn)運(yùn)算器的組成,最后講述浮點(diǎn)運(yùn)算方法及浮點(diǎn)運(yùn)算器的組成。本章包括以下六小結(jié)內(nèi)容:
2.1數(shù)據(jù)與文字的表示方法
2.2定點(diǎn)加法、減法運(yùn)算
2.3定點(diǎn)乘法運(yùn)算
2.4定點(diǎn)除法運(yùn)算
2.5定點(diǎn)運(yùn)算器的組成
2.6浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器2.1數(shù)據(jù)與文字的表示方法---2.1.1數(shù)據(jù)格式計(jì)算機(jī)中常用的數(shù)據(jù)表示格式有兩種:定點(diǎn)格式、浮點(diǎn)格式。定點(diǎn)表示法:約定機(jī)器中數(shù)據(jù)的小數(shù)點(diǎn)位置是固定不變的。 定點(diǎn)數(shù)x=x0x1x2…xn
在定點(diǎn)機(jī)中表示如下: (x0:符號(hào)位,0代表正號(hào),1代表負(fù)號(hào))約定為純小數(shù)時(shí),其表示范圍為:
0≤|x|≤1-2-n
約定為純整數(shù)時(shí),表示范圍為:
0≤|x|≤2n-12.1數(shù)據(jù)與文字的表示方法---2.1.1數(shù)據(jù)格式浮點(diǎn)表示法:
把一個(gè)數(shù)的有效數(shù)字和數(shù)的范圍在計(jì)算機(jī)的一個(gè)存儲(chǔ)單元中分別予以表示,這種把數(shù)的范圍和精度分別表示的方法,數(shù)的小數(shù)點(diǎn)位置隨比例因子的不同而在一定范圍內(nèi)自由浮動(dòng),故稱為浮點(diǎn)數(shù)。在計(jì)算機(jī)中一個(gè)任意進(jìn)制數(shù)N可以寫成: N=Re.m
m
:尾數(shù),是一個(gè)純小數(shù)。e
:浮點(diǎn)的指數(shù),是一個(gè)整數(shù)。R:基數(shù),對(duì)于二進(jìn)記數(shù)制的機(jī)器,常為2,8或16。一個(gè)機(jī)器浮點(diǎn)數(shù)由階碼和尾數(shù)及其符號(hào)位組成2.1數(shù)據(jù)與文字的表示方法---2.1.1數(shù)據(jù)格式IEEE754標(biāo)準(zhǔn)(32位)S:浮點(diǎn)數(shù)的符號(hào)位,1位,0表示正數(shù),1表示負(fù)數(shù)。M:尾數(shù),23位,用小數(shù)表示,小數(shù)點(diǎn)放在尾數(shù)域的最前面。E:階碼,8位階符采用隱含方式,即采用移碼方式來(lái)表示正負(fù)指數(shù)。移碼方法對(duì)兩個(gè)指數(shù)大小的比較和對(duì)階操作都比較方便,因?yàn)殡A碼域值大者其指數(shù)值也大。采用這種方式時(shí),將浮點(diǎn)數(shù)的指數(shù)真值e變成階碼E時(shí),應(yīng)將指數(shù)e
加上一個(gè)固定的偏移值127(01111111),即E=e+127.IEEE754標(biāo)準(zhǔn)(64位)2.1數(shù)據(jù)與文字的表示方法---2.1.1數(shù)據(jù)格式示例:按單精度IEEE754(32位)標(biāo)準(zhǔn)格式表示十進(jìn)制數(shù)-0.75-0.75表示成-3/4即二進(jìn)制的-0.11在IEEE754規(guī)格化表示
為-1.1×2-1
根據(jù)IEEE單精度表示公式為(-1)S×1.M×2E-127所以這個(gè)數(shù)表示為(-1)^1*1.1*2^(126-127)=(-1)^1*(1+0.10000000000000000000000)*2^(126-127)=(-1)^1*(1+0.10000000000000000000000)*2^(126-127)即101111110100000000000000000000002.1數(shù)據(jù)與文字的表示方法---2.1.1數(shù)據(jù)格式十進(jìn)制數(shù)串的表示方法:字符串形式:一個(gè)字節(jié)存放一個(gè)十進(jìn)制的數(shù)位或符號(hào)位。壓縮的十進(jìn)制數(shù)串形式:一個(gè)字節(jié)存放兩個(gè)十進(jìn)制數(shù)位。123C012D2.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示把符號(hào)位和數(shù)字位一起編碼來(lái)表示相應(yīng)的數(shù)的各種表示方法。為了區(qū)別一般書寫表示的數(shù)和機(jī)器中這些編碼表示的數(shù),通常將前者稱為真值,后者稱為機(jī)器數(shù)或機(jī)器碼。定點(diǎn)小數(shù)原碼表示法: 若定點(diǎn)小數(shù)的原碼形式為x0x1x2…xn,原碼定義:
例如,x=+0.1001,則[x]原=0.1001 x=-0.1001,則[x]原=1.1001
對(duì)于0,原碼有“+0”、“-0”之分,故有兩種形式:
[+0]原=0.000...0
[-0]原=1.000...0[x]原={
x
1>x≥0
1-x=1+|x|
0≥x>-12.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示定點(diǎn)整數(shù)原碼表示法: 若定點(diǎn)整數(shù)的原碼形式為x0x1x2…xn,原碼定義:
例如,x=+1001,則[x]原=01001 x=-1001,則[x]原=11001
對(duì)于0,原碼有“+0”、“-0”之分,故有兩種形式:
[+0]原=0000...0
[-0]原=1000...0[x]原={
x
2n>x≥02n-x=2n+|x|
0≥x>-2n2.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示補(bǔ)碼的概念假設(shè)現(xiàn)在的標(biāo)準(zhǔn)時(shí)間為
4點(diǎn);表上時(shí)間:7點(diǎn)。兩種方法:①退7-4=3格;②前撥12-3=9格。4點(diǎn)正減3和加9是等價(jià)的,稱9是(-3)對(duì)12的補(bǔ)碼,即:
-3=+9(mod12)作用:變減法為加法
7-3(mod12)=7+9(mod12)定點(diǎn)小數(shù):包括符號(hào)位在內(nèi),其絕對(duì)值均小2:求模2補(bǔ)碼。n位定點(diǎn)整數(shù):包括符號(hào)位在內(nèi),其絕對(duì)值均小2n+1:求模2n+1補(bǔ)碼。2.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示定點(diǎn)小數(shù)補(bǔ)碼表示法: 若定點(diǎn)小數(shù)的補(bǔ)碼形式為x0x1
…xn-1xn
,補(bǔ)碼定義:
例如:
x=+0.1011,[x]補(bǔ)=0.1011
x=-0.1011,[x]補(bǔ)=10+x=10.0000-0.1011=1.0101對(duì)于0,補(bǔ)碼只有一種形式:
[+0]補(bǔ)=[-0]補(bǔ)=0.00...0(mod2)[x]補(bǔ)={
x
1>x≥02+x=2-|x|
0≥x≥-12.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示定點(diǎn)整數(shù)補(bǔ)碼表示法: 若定點(diǎn)整數(shù)的補(bǔ)碼形式為xnxn-1
…x1x0,補(bǔ)碼定義:
例如,x=+1001,則[x]補(bǔ)=01001 x=-1001,則[x]補(bǔ)=10111
對(duì)于0,補(bǔ)碼只有一種形式:
[+0]補(bǔ)=[-0]補(bǔ)=0000...0(mod2n+1)[x]補(bǔ)={
x
2n>x≥02n+1+
x=2n+1-
|x|
0≥x≥-2n2.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示反碼表示法所謂反碼,就是二進(jìn)制的各位數(shù)碼0變?yōu)?,1變?yōu)?。定點(diǎn)小數(shù)反碼表示法: 若定點(diǎn)小數(shù)的補(bǔ)碼形式為x0x1
…xn-1xn
,反碼定義:
例如:
x=+0.1011,[x]反=0.1011
x=-0.1011,[x]反=1.1111-0.1011=1.0100對(duì)于0,反碼有“+0”、“-0”之分,故有兩種形式:
[+0]反=0.00...0
[-0]反=1.11...1[x]反={
x
1>x≥0(2-2-n)+x
0≥x>-12.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示定點(diǎn)整數(shù)反碼表示法: 若定點(diǎn)整數(shù)的反碼形式為xnxn-1
…x1x0
,反碼定義:
例如,x=+1001,則[x]反=01001 x=-1001,則[x]反=10110
對(duì)于整數(shù)0,反碼有“+0”、“-0”之分,故有兩種形式:
[+0]反=0000...0
[-0]反=1111...1[x]反={
x
2n>x≥0(2n+1-1)+x
0≥x>-2n2.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示反碼與補(bǔ)碼的關(guān)系比較反碼與補(bǔ)碼的公式(定點(diǎn)小數(shù)):
[x]反=(2-2-n)+x
[x]補(bǔ)=2+x 可得到[x]補(bǔ)=[x]反+2-n通過(guò)反碼求補(bǔ)碼:
若求一個(gè)負(fù)數(shù)的補(bǔ)碼,其方法是符號(hào)位置1,其余各位0變1,1變0(即按位取反),然后在最末位(2-n)上加1。2.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示移碼表示法移碼通常用于表示浮點(diǎn)數(shù)的階碼(n位的整數(shù))。定點(diǎn)整數(shù)移碼表示法: 若定點(diǎn)整數(shù)的移碼形式為xnxn-1
…x1x0
,移碼定義:
[x]移=2n+
x
2n
>x≥-2n 例如,x=+1001,則[x]移=11001 x=-1001,則[x]移=00111
參照:x=+1001,則[x]補(bǔ)=01001 x=-1001,則[x]補(bǔ)=10111
移碼和補(bǔ)碼間存在什么關(guān)系? 對(duì)于0,移碼只有一種形式:[0]移=1000...02.1數(shù)據(jù)與文字的表示方法---2.1.2數(shù)的機(jī)器碼表示小結(jié): 上述的數(shù)據(jù)四種機(jī)器表示法中,移碼表示法主要用于表示浮點(diǎn)數(shù)的階碼。由于補(bǔ)碼表示對(duì)加減法運(yùn)算十分方便,因此目前機(jī)器中廣泛采用補(bǔ)碼表示法。在這類機(jī)器中,數(shù)用補(bǔ)碼表示,補(bǔ)碼存儲(chǔ),補(bǔ)碼運(yùn)算。也有些機(jī)器,用原碼進(jìn)行存儲(chǔ)和傳送,運(yùn)算時(shí)改用補(bǔ)碼。有些機(jī)器,在做加減法時(shí)用補(bǔ)碼運(yùn)算,在做乘除法時(shí)用原碼運(yùn)算。
2.1數(shù)據(jù)與文字的表示方法---2.1.3字符與字符串的表示方法字符的表示方法目前國(guó)際上普遍采用的字符系統(tǒng)是七單位的ASCII碼(美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)字符碼),它包括10個(gè)十進(jìn)制數(shù)碼,26個(gè)英文字母和一定數(shù)量的專用符號(hào),如$,%,+,=等,共128個(gè)。因此二進(jìn)制編碼需7位,加一位偶校驗(yàn)位,共8位一個(gè)字節(jié)。字符串字符串是指連續(xù)的一串字符,通常方式下,它們占用主存中連續(xù)的多個(gè)字節(jié),每個(gè)字節(jié)存一個(gè)字符。當(dāng)主存字由2個(gè)或4個(gè)字節(jié)組成時(shí),在同一個(gè)主存字中,既可按從低位字節(jié)向高位字節(jié)的順序存放字符串的內(nèi)容,也可按從高位字節(jié)向低位字節(jié)的次序順序存放字符串的內(nèi)容。2.1數(shù)據(jù)與文字的表示方法---2.1.4漢字的表示方法漢字的輸入編碼
為了能直接使用西文標(biāo)準(zhǔn)鍵盤把漢字輸入到計(jì)算機(jī),就必須為漢字設(shè)計(jì)相應(yīng)的輸入編碼方法。當(dāng)前采用的方法主要有以下三類:數(shù)字編碼:常用的是國(guó)標(biāo)區(qū)位碼,用數(shù)字串代表一個(gè)漢字輸入。區(qū)位碼是將國(guó)家標(biāo)準(zhǔn)局公布的6763個(gè)兩級(jí)漢字分為94個(gè)區(qū),每個(gè)區(qū)分94位,實(shí)際上把漢字表示成二維數(shù)組,每個(gè)漢字在數(shù)組中的下標(biāo)就是區(qū)位碼。區(qū)碼和位碼各兩位十進(jìn)制數(shù)字,因此輸入一個(gè)漢字需按鍵四次。拼音碼:拼音碼是以漢字拼音為基礎(chǔ)的輸入方法。使用簡(jiǎn)單方便,但漢字同音字太多,輸入重碼率很高,同音字選擇影響了輸入速度。字形編碼:字形編碼是用漢字的形狀來(lái)進(jìn)行的編碼。把漢字的筆劃部件用字母或數(shù)字進(jìn)行編碼,按筆劃的順序依次輸入,就能表示一個(gè)漢字。2.1數(shù)據(jù)與文字的表示方法---2.1.4漢字的表示方法漢字內(nèi)碼
漢字內(nèi)碼是用于漢字信息的存儲(chǔ)、交換、檢索等操作的機(jī)內(nèi)代碼,一般采用兩個(gè)字節(jié)表示。英文字符的機(jī)內(nèi)代碼是七位的ASCII碼,當(dāng)用一個(gè)字節(jié)表示時(shí),最高位為“0”。為了與英文字符能相互區(qū)別,漢字機(jī)內(nèi)代碼中兩個(gè)字節(jié)的最高位均規(guī)定為“1”。有些系統(tǒng)中字節(jié)的最高位用于奇偶校驗(yàn)位,這種情況下用三個(gè)字節(jié)表示漢字內(nèi)碼。2.1數(shù)據(jù)與文字的表示方法---2.1.4漢字的表示方法漢字字模碼
字模碼是用點(diǎn)陣表示的漢字字形代碼,是漢字的輸出形式。漢字的輸入編碼、漢字內(nèi)碼、字模碼是計(jì)算機(jī)中用于輸入、內(nèi)部處理、輸出三種不同用途的編碼,不要混為一談。圖2.1漢字的字模點(diǎn)陣及編碼2.1數(shù)據(jù)與文字的表示方法---2.1.5校驗(yàn)碼為了防止計(jì)算機(jī)在處理信息過(guò)程中出現(xiàn)錯(cuò)誤,采用專門的邏輯線路對(duì)信號(hào)進(jìn)行編碼以檢測(cè)錯(cuò)誤,甚至校正錯(cuò)誤。通常的方法是,在每個(gè)字上添加一些校驗(yàn)位,用來(lái)確定字中出現(xiàn)錯(cuò)誤的位置。最簡(jiǎn)單且應(yīng)用廣泛的檢錯(cuò)碼是采用一位校驗(yàn)位的奇校驗(yàn)或偶校驗(yàn)。奇校驗(yàn)(包括校驗(yàn)位在內(nèi),有奇數(shù)個(gè)“1”) 設(shè)x=(x0x1…xn-1)是一個(gè)n位字,則奇校驗(yàn)位C定義為: C=x0⊕x1⊕…⊕xn-1
式中⊕代表按位加,當(dāng)x中包含有偶數(shù)個(gè)1時(shí),C=1。偶校驗(yàn)(包括校驗(yàn)位在內(nèi),有偶數(shù)個(gè)“1”) 設(shè)x=(x0x1…xn-1)是一個(gè)n位字,則偶校驗(yàn)位C定義為: C=x0⊕x1⊕…⊕xn-1
式中⊕代表按位加,當(dāng)x中包含有奇數(shù)個(gè)1時(shí),C=1。2.1數(shù)據(jù)與文字的表示方法---2.1.5校驗(yàn)碼奇、偶校驗(yàn)示例 最低一位為校驗(yàn)位,其余高8位為數(shù)據(jù)位數(shù)據(jù)偶校驗(yàn)編碼C奇校驗(yàn)編碼C101010100101010000000000011111111111111110101010
001010100
100000000
001111111
111111111
010101010
101010100
000000000101111111
011111111
1
2.2定點(diǎn)加法減法運(yùn)算---2.2.1補(bǔ)碼加法補(bǔ)碼加法的公式(定點(diǎn)小數(shù)):[x]補(bǔ)+[y]補(bǔ)=[x+y]補(bǔ)(mod2)前提條件:︱x︱﹤1,︱y︱﹤1,︱x+y︱﹤1。
證明(針對(duì):x﹥0,y﹤0) ∵ [x]補(bǔ)=x,
[y]補(bǔ)=2+y∴ [x]補(bǔ)+[y]補(bǔ)=x+2+y=2+(x+y)當(dāng)x+y>0: 2+(x+y)>2,進(jìn)位2必丟失,又因(x+y)>0,故[x]補(bǔ)+[y]補(bǔ)=x+y=[x+y]補(bǔ)
(mod2)當(dāng)x+y<0: 2+(x+y)<2,又因(x+y)<0,故[x]補(bǔ)+[y]補(bǔ)=2+(x+y)=[x+y]補(bǔ)
(mod2)2.2定點(diǎn)加法減法運(yùn)算---2.2.1補(bǔ)碼加法補(bǔ)碼加法示例 [例8]x=0.1001,y=0.0101,求x+y。
[解:] [x]補(bǔ)0.1001
+[y]補(bǔ)0.0101
[x+y]補(bǔ)0.1110
[例9]x=+0.1011,y=-0.0101,求x+y。
[解:] [x]補(bǔ)0.1011
+[y]補(bǔ)1.1011
[x+y]補(bǔ)10.0110
任意兩數(shù)的補(bǔ)碼之和等于該兩數(shù)之和的補(bǔ)碼.這是補(bǔ)碼加法的理論基礎(chǔ),其結(jié)論也適用于定點(diǎn)整數(shù)補(bǔ)碼加法的特點(diǎn),一是符號(hào)位要作為數(shù)的一部分一起參加運(yùn)算,二是要在模2的意義下相加,即超過(guò)2的進(jìn)位要丟掉。2.2定點(diǎn)加法減法運(yùn)算---2.2.2補(bǔ)碼減法補(bǔ)碼減法的公式 [x-y]補(bǔ)=[x]補(bǔ)-[y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)
證明:
只要證明[-y]補(bǔ)=-[y]補(bǔ),上式即得證。證明如下:∵[x+y]補(bǔ)=[x]補(bǔ)+[y]補(bǔ)
(mod2)∴[y]補(bǔ)=[x+y]補(bǔ)-[x]補(bǔ)
(1)∵[x-y]補(bǔ)=[x+(-y)]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)∴[-y]補(bǔ)=[x-y]補(bǔ)-[x]補(bǔ)
(2) 將式(1)與(2)相加,得
[-y]補(bǔ)+[y]補(bǔ)=[x+y]補(bǔ)+[x-y]補(bǔ)-[x]補(bǔ)-[x]補(bǔ)=[x+y+x-y]補(bǔ)-[x]補(bǔ)-[x]補(bǔ)=[x+x]補(bǔ)-[x]補(bǔ)-[x]補(bǔ)=0故[-y]補(bǔ)=-[y]補(bǔ)
(mod2)
證畢
2.2定點(diǎn)加法減法運(yùn)算---2.2.2補(bǔ)碼減法補(bǔ)碼減法公式另證: 當(dāng)y≥0時(shí):(-y≤0) [-y]補(bǔ)=2+(-y) =
2-y -[y]補(bǔ)=-y =
2-y
(mod2)
當(dāng)y≤0時(shí):(-y≥0)
[-y]補(bǔ)=
-y -[y]補(bǔ)=-(2+y) =2-(2+y)(mod2)
=
-y2.2定點(diǎn)加法減法運(yùn)算---2.2.2補(bǔ)碼減法從[y]補(bǔ)求[-y]補(bǔ)的法則: 對(duì)[y]補(bǔ)包括符號(hào)位“求反且最末位加1”,可得到[-y]補(bǔ)。寫成運(yùn)算表達(dá)式,則為: [-y]補(bǔ)=﹁[y]補(bǔ)+2-n
其中,符號(hào)﹁表示對(duì)[y]補(bǔ)作包括符號(hào)位在內(nèi)的求反操作,+2-n表示最末位的1證明(定點(diǎn)小數(shù)):
[-y]補(bǔ)
=-[y]補(bǔ)
=2-[y]補(bǔ) (mod2)
=2-2-n
-[y]補(bǔ)+2-n
(全“1”)
=﹁[y]補(bǔ)+2-n注:任一二進(jìn)制串減等長(zhǎng)全“1”,結(jié)果是該串的按位取反。2.2定點(diǎn)加法減法運(yùn)算---2.2.3溢出概念與檢測(cè)方法在定點(diǎn)小數(shù)機(jī)器中,數(shù)的表示范圍為|x|<1.在運(yùn)算過(guò)程中如出現(xiàn)大于1的現(xiàn)象,稱為“溢出”。[例12]
x=+0.1011,y=+0.1001,求x+y。
[解:]
[x]補(bǔ)=0.1011[y]補(bǔ)=0.1001
[x]補(bǔ)
0.1011+[y]補(bǔ)
0.1001
[x+y]補(bǔ)
1.0100
兩個(gè)正數(shù)相加的結(jié)果成為負(fù)數(shù),這顯然是錯(cuò)誤的。[例13]
x=-0.1101,y=-0.1011,求x+y。
[解:]
[x]補(bǔ)=1.0011[y]補(bǔ)=1.0101[x]補(bǔ)
1.0011+[y]補(bǔ)
1.0101[x+y]補(bǔ)
0.1000
兩個(gè)負(fù)數(shù)相加的結(jié)果成為正數(shù),這同樣是錯(cuò)誤的。
2.2定點(diǎn)加法減法運(yùn)算---2.2.3溢出概念與檢測(cè)方法兩個(gè)正數(shù)相加,結(jié)果大于機(jī)器所能表示的最大正數(shù),稱為上溢。兩個(gè)負(fù)數(shù)相加,結(jié)果小于機(jī)器所能表示的最小負(fù)數(shù),稱為下溢。為了判斷“溢出”是否發(fā)生,可采用兩種檢測(cè)的方法。第一種方法是采用雙符號(hào)位法,這稱為“變形補(bǔ)碼”或“模4補(bǔ)碼”,從而可使模2補(bǔ)碼所能表示的數(shù)的范圍擴(kuò)大一倍。變形補(bǔ)碼定義為:或用同余式表示為:[x]補(bǔ)=4+x
(mod4)變形補(bǔ)碼的加法公式同樣成立:[x]補(bǔ)+[y]補(bǔ)=[x+y]補(bǔ) (mod4)
[x]補(bǔ)={x
2>x≥04+x
0>x≥-22.2定點(diǎn)加法減法運(yùn)算---2.2.3溢出概念與檢測(cè)方法采用變形補(bǔ)碼后,如果兩個(gè)數(shù)相加后,其結(jié)果的符號(hào)位出現(xiàn)“01”或“10”兩種組合時(shí),表示發(fā)生溢出。[例14]
x=+0.1100,y=+0.1000,求x+y。
[解:]
[x]補(bǔ)=00.1100,
[y]補(bǔ)=00.1000 [x]補(bǔ)
00.1100
+[y]補(bǔ)
00.1000
01.0100
兩個(gè)符號(hào)位出現(xiàn)“01”,表示已溢出,即結(jié)果大于+1。[例15]
x=-0.1100,y=-0.1000,求x+y。 [解:]
[x]補(bǔ)=11.0100,
[y]補(bǔ)=11.1000 [x]補(bǔ)
11.0100
+[y]補(bǔ)
11.1000
10.1100
兩個(gè)符號(hào)位出現(xiàn)“10”,表示已溢出,即結(jié)果小于-1。2.2定點(diǎn)加法減法運(yùn)算---2.2.3溢出概念與檢測(cè)方法雙符號(hào)位檢測(cè)法當(dāng)以模4補(bǔ)碼運(yùn)算,運(yùn)算結(jié)果的二符號(hào)位相異時(shí),表示溢出;相同時(shí),表示未溢出。故溢出邏輯表達(dá)式為:
V=Sf1⊕Sf2
其中,Sf1和Sf2分別為最高符號(hào)位和第二符號(hào)位。此邏輯表達(dá)式可用異或門實(shí)現(xiàn)。模4補(bǔ)碼相加的結(jié)果,不論溢出與否,最高符號(hào)位始終指示正確的符號(hào)。2.2定點(diǎn)加法減法運(yùn)算---2.2.3溢出概念與檢測(cè)方法單符號(hào)位檢測(cè)法當(dāng)最高有效位產(chǎn)生進(jìn)位而符號(hào)位無(wú)進(jìn)位時(shí),產(chǎn)生上溢;當(dāng)最高有效位無(wú)進(jìn)位而符號(hào)位有進(jìn)位時(shí),產(chǎn)生下溢。溢出邏輯表達(dá)式: V=Cf⊕Co,
其中Cf為符號(hào)位產(chǎn)生的進(jìn)位,Co為最高有效位產(chǎn)生的進(jìn)位。此邏輯表達(dá)式也可用異或門實(shí)現(xiàn)。在定點(diǎn)機(jī)中,當(dāng)運(yùn)算結(jié)果發(fā)生溢出時(shí),機(jī)器通過(guò)邏輯電路自動(dòng)檢查出溢出,并進(jìn)行中斷處理。2.2定點(diǎn)加法減法運(yùn)算---2.2.4基本的二進(jìn)制加法/減法器一位二進(jìn)制全加器兩個(gè)二進(jìn)制數(shù)字Ai,Bi和一個(gè)進(jìn)位輸入Ci相加,產(chǎn)生一個(gè)和輸出Si,以及一個(gè)進(jìn)位輸出Ci+1。Si=Ai⊕
Bi⊕
Ci
Ci+1=AiBi+(Bi+Ai)Ci Ci+1=AiBi+(Bi⊕
Ai)Ci=AiBi·
(Bi⊕
Ai)CiFAAiBiCi
Ci+1
Si
2.3a.swf2.2定點(diǎn)加法減法運(yùn)算---2.2.4基本的二進(jìn)制加法/減法器行波進(jìn)位(串行進(jìn)位)補(bǔ)碼加/減法器n個(gè)全加器級(jí)連可得n位的加法器增加減數(shù)的求補(bǔ)線路、溢出檢測(cè)線路、及加/減方式控制線,可得串行進(jìn)位補(bǔ)碼加法/減法器An-1Bn-1An-2Bn-2A0B0S0Sn-1Sn-22.3b.swf2.2定點(diǎn)加法減法運(yùn)算---2.2.4基本的二進(jìn)制加法/減法器延時(shí)計(jì)算常見邏輯門延時(shí):與非、或非、非:T與、或:2T異或、異或非:3T一位全加器的延時(shí)計(jì)算進(jìn)位Ci+1輸出穩(wěn)定延時(shí):tac=3T+1T+1T
=5T本位和Si輸出穩(wěn)定延時(shí):tas=3T+3T=6T2.2定點(diǎn)加法減法運(yùn)算---2.2.4基本的二進(jìn)制加法/減法器n位串行進(jìn)位補(bǔ)碼加法/減法器延時(shí)ta為: ta=3T+3T+n·2T+3T=(2n+9)T
ta意味著加法器的輸入端輸入加數(shù)和被加數(shù)后,在最壞情況下加法器輸出端得到穩(wěn)定的求和輸出所需的最長(zhǎng)時(shí)間。無(wú)溢出檢測(cè)邏輯時(shí):
ta=3T+3T+(n-1)·2T+3T=(2n+7)T2.2定點(diǎn)加法減法運(yùn)算---2.2.5十進(jìn)制加法器十進(jìn)制加法器可由BCD碼(二-十進(jìn)制碼)來(lái)設(shè)計(jì),它可以在二進(jìn)制加法器的基礎(chǔ)上加上適當(dāng)?shù)摹靶U边壿媮?lái)實(shí)現(xiàn),該校正邏輯可將二進(jìn)制的“和”改變成所要求的十進(jìn)制格式。n位BCD碼行波式進(jìn)位加法器的一般結(jié)構(gòu)如圖,它由n級(jí)組成,每一級(jí)將一對(duì)4位的BCD數(shù)字相加,并通過(guò)一位進(jìn)位線與其相鄰級(jí)連接。2.2定點(diǎn)加法減法運(yùn)算---2.2.5十進(jìn)制加法器一位BCD碼加法單元圖中S'i代表這樣得到的4位二進(jìn)制數(shù)和,C'i+1為輸出進(jìn)位,而Si代表正確的BCD和,Ci+1代表正確的進(jìn)位。C'i+12.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法原碼乘法設(shè)n位被乘數(shù)和乘數(shù)用定點(diǎn)整數(shù)表示(定點(diǎn)小數(shù)也同樣適用)被乘數(shù)[x]原=xf
xn-1…x1x0乘數(shù)[y]原=yf
yn-1…y1y0 則乘積為
[z]原=(xf⊕yf)×22n+(0.xn-1…x1x0)(0.yn-1…y1y0) 式中,xf為被乘數(shù)符號(hào),yf為乘數(shù)符號(hào)。示例:2.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法(不帶符號(hào)的陣列乘法器
)不帶符號(hào)的陣列乘法器設(shè)有兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù):A=am-1…a1a0B=bn-1…b1b0在二進(jìn)制乘法中,被乘數(shù)A與乘數(shù)B相乘,產(chǎn)生m+n位乘積P:P=pm+n-1…p1p0
P=AB=aibj:部分積2.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法(不帶符號(hào)的陣列乘法器
)m×n位不帶符號(hào)的陣列乘法器邏輯圖圖中陣列乘法器的輸入,是用m×n個(gè)“與”門并行地產(chǎn)生
m×n個(gè)“部分積”{aibj|0≤i≤m-1和0≤j≤n-1}2.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法(不帶符號(hào)的陣列乘法器
)5位×5位陣列乘法器的邏輯電路圖2.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法(不帶符號(hào)的陣列乘法器
)延時(shí)計(jì)算乘法器要實(shí)現(xiàn)n位×n位時(shí),需要n(n-1)個(gè)全加器和n2個(gè)“與”門最長(zhǎng)的延時(shí)路徑為:沿著矩陣p4垂直線和最下面一行。陣列乘法器總的延時(shí): tm=Ta+(n-1)×Ts
+(n-1)×Tf
=T+(n-1)×6T+(n-1)×2T
=(8n-7)×T
其中:
Ta為計(jì)算部分積的與門延時(shí);
Ts為FA本位和延時(shí);
Tf為FA行波進(jìn)位延時(shí)(假定用二級(jí)與或邏輯實(shí)現(xiàn)FA的進(jìn)位鏈功能,則Tf
=2T)。2.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法(帶符號(hào)的陣列乘法器
)由補(bǔ)碼還原為真值 設(shè)機(jī)器碼為[x]補(bǔ)=x0x1x2…xn(定點(diǎn)小數(shù),x0是符號(hào)位) 則:
證明:(針對(duì)x<0)|x|=-x=[-x]補(bǔ)
=[x]補(bǔ)+2-n(教材32頁(yè)結(jié)論)證畢真值
x
={0.x1x2…xn
x0
=0-0.x1x2…xn+2-n
x0
=12.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法(帶符號(hào)的陣列乘法器
)還原法則另證(針對(duì)x<0) 設(shè)xm為真值x的第一位(右左)值為1的數(shù)碼,即真值具有以下形式: x=-0.x1x2…xm-1
10…0 則 [x]反=1.x1x2…xm-1
01…1 [x]補(bǔ)=1.x1x2…xm-1
10…0 對(duì)[x]補(bǔ)采用補(bǔ)碼還原法則得: x'=[x]補(bǔ)+2-n =-0.x1x2…xm-1
01…1+2-n =-0.x1x2…xm-1
10…0=x
證畢在證明過(guò)程中,得到一種更直觀求補(bǔ)的方法:xm及其后不變,前面各位按位取反即可例如:-0.1101101000
求補(bǔ)1.00100110002.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法(帶符號(hào)的陣列乘法器
)對(duì)2求補(bǔ)器電路下面的求補(bǔ)電路即是上述掃描求補(bǔ)方法的一種硬件實(shí)現(xiàn)。邏輯表達(dá)式:邏輯電路圖:C0=0,
Ci+1=ai+Ciai*=ai⊕ECi,
0≤i≤n-12.3定點(diǎn)乘法運(yùn)算---2.3.1原碼并行乘法(帶符號(hào)的陣列乘法器
)帶符號(hào)的陣列乘法器(符號(hào)求補(bǔ)陣列乘法器)
設(shè)A=anan-1…a1a0和B=bnbn-1…b1b0均為用定點(diǎn)表示的(n+1)位帶符號(hào)整數(shù)。2n位真值乘積:
A·B=P=p2n-1…p1p0 p2n=an⊕bn P2n為符號(hào)位。
(n+1)×(n+1)位帶求補(bǔ)器的陣列乘法器邏輯方框圖2.3定點(diǎn)乘法運(yùn)算---2.3.2補(bǔ)碼乘法補(bǔ)碼與真值得轉(zhuǎn)換公式 設(shè)[N]補(bǔ)=anan-1…a1a0,這里an是符號(hào)位。補(bǔ)碼數(shù)[N]補(bǔ)和真值N的關(guān)系可以表示成:
n-1
-[1+∑(1-ai)2i]當(dāng)an
=1([N]補(bǔ)為負(fù))時(shí)
i=0
{
n-1
+∑ai2i
當(dāng)an
=0([N]補(bǔ)為正)時(shí)
i=0N=an-1an-1…a1a0 an=0-(an-1an-1…
a1a0+1)an=0{N=2.3定點(diǎn)乘法運(yùn)算---2.3.2補(bǔ)碼乘法 上式可進(jìn)一步化簡(jiǎn)為: 統(tǒng)一表式為:
結(jié)論:在計(jì)算一補(bǔ)碼對(duì)應(yīng)的真值時(shí),符號(hào)位an同其他數(shù)值位一樣,有自已對(duì)應(yīng)的權(quán)值,與其他位權(quán)值相比較,正好相差一負(fù)號(hào),故稱其為負(fù)權(quán)。{
n-1
+∑ai2i
當(dāng)an
=0時(shí)
i=0N=
n-1
-2n+∑ai2i
當(dāng)an=1時(shí)
i=0N=
n-1
an×(-2n)
+∑ai2i
i=02.3定點(diǎn)乘法運(yùn)算---2.3.2補(bǔ)碼乘法補(bǔ)碼直接乘法:
[例20]
設(shè)[A]補(bǔ)=(01101)2,[B]補(bǔ)=(11011)2,求[A×B]補(bǔ)=?解:驗(yàn):2.3定點(diǎn)乘法運(yùn)算---2.3.2補(bǔ)碼乘法一般化的全加器形式:對(duì)于以2類全加器:
x·(-20)+y·(-20)+z·20=
c·(-21)+s·20對(duì)于以1類全加器:
x·20+y·20+z·(-20
)
=
c·21+s·(-20)2.3定點(diǎn)乘法運(yùn)算---2.3.2補(bǔ)碼乘法5位乘5位的直接補(bǔ)碼乘法矩陣的一般形式: 對(duì)應(yīng)的5位乘5位的直接補(bǔ)碼陣列乘法器邏輯原理圖2.3定點(diǎn)乘法運(yùn)算---2.3.2補(bǔ)碼乘法直接補(bǔ)碼陣列乘法器2.4定點(diǎn)除法運(yùn)算---2.4.1原碼除法運(yùn)算原理兩個(gè)原碼表示的數(shù)相除時(shí),商的符號(hào)由兩數(shù)的符號(hào)按位相加求得,商的數(shù)值部分由兩數(shù)的數(shù)值部分相除求得。
設(shè)有n位定點(diǎn)小數(shù)(定點(diǎn)整數(shù)也同樣適用):被除數(shù)x,其原碼為[x]原=xf.xn-1…x1x0除數(shù)y,其原碼為[y]原=yf.yn-1…y1y0
則有商q=x/y,其原碼為:[q]原=(xf⊕yf)+(0.xn-1…x1x0/0.yn-1…y1y0)2.4定點(diǎn)除法運(yùn)算---2.4.1原碼除法運(yùn)算原理設(shè)被除數(shù)x=0.1001,除數(shù)y=0.1011,模仿十進(jìn)制除法運(yùn)算,以手算方法(即“右移上商法”)求x÷y的過(guò)程如下:得x÷y的商q=0.1101,余數(shù)為r=0.00000001。2.4定點(diǎn)除法運(yùn)算---2.4.1原碼除法運(yùn)算原理恢復(fù)余數(shù)法: 事實(shí)上,機(jī)器的運(yùn)算過(guò)程和人畢竟不同,人會(huì)心算,一看就知道夠不夠減。但機(jī)器卻不會(huì)心算,必須先作減法,若余數(shù)為正,才知道夠減;若余數(shù)為負(fù),才知道不夠減。不夠減時(shí)必須恢復(fù)原來(lái)的余數(shù),以便再繼續(xù)往下運(yùn)算。這種方法稱為恢復(fù)余數(shù)法。
2.4定點(diǎn)除法運(yùn)算---2.4.1
原碼除法運(yùn)算原理恢復(fù)余數(shù)法示例0.1001x-)0.1011
減y*20-0.0010r0′<0,商上0(x-y*20<0)+)0.1011
恢復(fù)余數(shù)(加y*20)0.10010r0-)0.01011
減y*2-10.001110r1=r0-y*2-1>0商上1-)0.001011
減y*2-20.0000110r2=r1-y*2-2>0商上1-)0.0001011
減y*2-3-0.0000101r3′<0,商上0(r2-y*2-3<0)+)0.0001011
恢復(fù)余數(shù)(加y*2-3)0.00001100r3-)0.00001011
減y*2-40.00000001r4=r3-y*2-4>0商上1x÷y得:商
q=
0.1101余數(shù)
r=
0.00000001
2.4定點(diǎn)除法運(yùn)算---2.4.1原碼除法運(yùn)算原理加減交替法(不恢復(fù)余數(shù)法): 由于要恢復(fù)余數(shù),使除法進(jìn)行過(guò)程的步數(shù)不固定,因此控制比較復(fù)雜。實(shí)際中常用不恢復(fù)余數(shù)法,又稱加減交替法。其特點(diǎn)是運(yùn)算過(guò)程中如出現(xiàn)不夠減,則不必恢復(fù)余數(shù),根據(jù)余數(shù)符號(hào),可以繼續(xù)往下運(yùn)算,因此步數(shù)固定,控制簡(jiǎn)單??疾焐鲜龌謴?fù)余數(shù)法示例,可得加減交替法:
x-y*20=r0′<0:
r1=r0-y*2-1=r0′+y*20-y*2-1=r0′+y*2-1
r2-y*2-3=r3′<0:
r4=r3-y*2-4=r3′+y*2-3-y*2-4=r3′+y*2-42.4定點(diǎn)除法運(yùn)算---2.4.2并行除法器1.可控加法/減法(CAS)單元2.4定點(diǎn)除法運(yùn)算---2.4.2并行除法器2.不恢復(fù)余數(shù)的陣列除法器x=0.x1x2x3x4x5x6
y=0.y1y2y3
q=0.q1q2q3
r=0.000
r4r5r6
n+1=42.4定點(diǎn)除法運(yùn)算---2.4.2并行除法器關(guān)于每一行的符號(hào)位進(jìn)位、商取值、控制方式P取值的說(shuō)明:對(duì)于二個(gè)符號(hào)相異的補(bǔ)碼相加,有以下特征:和為負(fù)數(shù)符號(hào)位無(wú)進(jìn)位(對(duì)應(yīng)商位取值0);和為正數(shù)符號(hào)位有進(jìn)位(對(duì)應(yīng)商位取值1);對(duì)于陣列除法器: 記第i行的部分余數(shù)為RiRi<0:符號(hào)進(jìn)位0商上0(qi=0)下一行為加法運(yùn)算(即P=0---第i行的進(jìn)位)Ri>=0:符號(hào)進(jìn)位1商上1(qi=1)下一行為減法運(yùn)算(即P=1---第i行的進(jìn)位)2.4定點(diǎn)除法運(yùn)算---2.4.2并行除法器[例20]
x=0.101001,y=0.111,求x÷y。2.5定點(diǎn)運(yùn)算器的組成---2.5.1邏輯運(yùn)算計(jì)算機(jī)中的邏輯運(yùn)算,主要是指邏輯非、邏輯加、邏輯乘、邏輯異四種基本運(yùn)算。邏輯非運(yùn)算 [例21]x1=01001011,x2=11110000,求x1
,x2 [解:]x1=10110100x2=00001111
邏輯加(邏輯或)運(yùn)算
[例22]x=10100001,y=10011011,求x∨y。 [解:]
10100001x
∨10011011y
10111011z 即z=x∨y=101110112.5定點(diǎn)運(yùn)算器的組成---2.5.1邏輯運(yùn)算邏輯乘(邏輯與)運(yùn)算
[例23]x=10111001,y=11110011,求x∧y。 [解:]
10111001x
∧11110011y
10110001z 即z=x∧y=10110001邏輯異(按位加)運(yùn)算
[例24]x=10101011,y=11001100,求x⊕y。 [解:]
10101011x
⊕11001100y
01100111z 即z=x⊕y=011001112.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)基本思想
ALU的邏輯結(jié)構(gòu)原理框圖: Fi=Xi⊕Yi⊕Cn+i Cn+i+1= XiYi+YiCn+i+Cn+iXi 對(duì)于4位一片的ALU,i=0,1,2,3。n代表若干片ALU組成更大字長(zhǎng)的運(yùn)算器時(shí)每片電路的進(jìn)位輸入,例如當(dāng)4片組成16位字長(zhǎng)的運(yùn)算器時(shí),n=0,4,8,12。2.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)Xi,Yi與控制參數(shù)和輸入量的關(guān)系A(chǔ)LU的某一位邏輯表達(dá)式S0S1
Yi
S2S3
Xi
0
0
0
1
1
0
1
1Ai
AiBi
AiBi
00
0
0
1
1
0
1
11
Ai+Bi
Ai+Bi
AiFi=Y(jié)i⊕Xi⊕Cn+iCn+i+1=Y(jié)i+XiCn+i2.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)串行進(jìn)位四位算術(shù)/邏輯運(yùn)算單元Fi=Y(jié)i⊕Xi⊕Cn+iCn+i+1=Y(jié)i+XiCn+iF3F2F1F0
A3B3A2B2A1B1A0B02.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)四位片片內(nèi)先行進(jìn)位(并行進(jìn)位)第0位向第1位的進(jìn)位公式為
Cn+1=Y(jié)0+X0Cn 其中Cn是向第0位(末位)的進(jìn)位。第1位向第2位的進(jìn)位公式為
Cn+2=Y(jié)1+X1Cn+1=Y(jié)1+Y0X1+X0X1Cn
第2位向第3位的進(jìn)位公式為
Cn+3=Y(jié)2+X2Cn+2=Y(jié)2+Y1X2+Y0X1X2+X0X1X2Cn第3位的進(jìn)位輸出(即整個(gè)4位運(yùn)算進(jìn)位輸出)公式為
Cn+4=Y(jié)3+X3Cn+3=Y(jié)3+Y2X3+Y1X2X3+Y0X1X2X3
+X0X1X2X3Cn設(shè)G=Y(jié)3+Y2X3+Y1X2X3+Y0X1X2X3
P=X0X1X2X3 則Cn+4=G+PCn
稱
G
為進(jìn)位發(fā)生輸出,P
為進(jìn)位輸送輸出。2.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)4位算術(shù)/邏輯運(yùn)算單元(ALU)--74181ALU74181ALU邏輯電路圖2.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)74181ALU方框圖2.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)算術(shù)邏輯運(yùn)算的實(shí)現(xiàn)2.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)先行進(jìn)位部件74182CLA的進(jìn)位邏輯 假設(shè)4片(組)74181的先行進(jìn)位輸出依次為P0G0
P1G1P2G2P3G3,先行進(jìn)位部件74182CLA所提供的進(jìn)位邏輯關(guān)系如下:Cn+x=G0+P0CnCn+y=G1+P1Cn+x=G1+G0P1+P0P1CnCn+z=G2+P2Cn+y=G2+G1P2+G0P1P2+P0P1P2Cn
Cn+4=G3+P3Cn+z
=G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3Cn
=G*+P*Cn其中 P*=P0P1P2P3 G*=G3+G2P3+G1P1P2+G0P1P2P3G*
稱為成組進(jìn)位發(fā)生輸出,P*
稱為成組進(jìn)位傳送輸出。2.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)先行進(jìn)位部件74182CLA邏輯電路圖2.5定點(diǎn)運(yùn)算器的組成---2.5.2多功能算術(shù)/邏輯運(yùn)算單元(ALU)兩級(jí)先行進(jìn)位的ALU
使用八個(gè)74181ALU和兩個(gè)74182CLA器件。對(duì)一個(gè)16位ALU來(lái)說(shuō),CLA部件構(gòu)成了第二級(jí)的先行進(jìn)位邏輯,即實(shí)現(xiàn)四個(gè)小組(位片)之間的先行進(jìn)位,從而使全字長(zhǎng)ALU的運(yùn)算時(shí)間大大縮短。2.5定點(diǎn)運(yùn)算器的組成---2.5.3內(nèi)部總線根據(jù)總線所在位置,總線分為內(nèi)部總線和外部總線兩類。內(nèi)部總線是指CPU內(nèi)各部件的連線,外部總線是指系統(tǒng)總線,即CPU與存儲(chǔ)器、I/O系統(tǒng)之間的連線。按邏輯結(jié)構(gòu)來(lái)分,總線可分為單向傳送總線和雙向傳送總線。單向總線,就是信息只能向一個(gè)方向傳送。雙向總線,就是信息可以分兩個(gè)方向傳送,既可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù)。2.5定點(diǎn)運(yùn)算器的組成---2.5.3內(nèi)部總線總結(jié)邏輯結(jié)構(gòu)示例2.5定點(diǎn)運(yùn)算器的組成---2.5.4定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)單總線結(jié)構(gòu)的運(yùn)算器 所有部件都接到同一總線上,所以數(shù)據(jù)可以在任何兩個(gè)寄存器之間,或者在任一個(gè)寄存器和ALU之間傳送。2.5定點(diǎn)運(yùn)算器的組成---2.5.4定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)雙總線結(jié)構(gòu)的運(yùn)算器 在這種結(jié)構(gòu)中,兩個(gè)操作數(shù)同時(shí)加到ALU進(jìn)行運(yùn)算,只需一次操作控制,而且馬上就可以得到運(yùn)算結(jié)果。2.5定點(diǎn)運(yùn)算器的組成---2.5.4定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)三總線結(jié)構(gòu)的運(yùn)算器 在三總線結(jié)構(gòu)中,ALU的兩個(gè)輸入端分別由兩條總線供給,而ALU的輸出則與第三條總線相連。這樣,算術(shù)邏輯操作就可以在一步的控制之內(nèi)完成。2.6浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器---2.6.1浮點(diǎn)加法、減法運(yùn)算浮點(diǎn)加法、減法運(yùn)算規(guī)則設(shè)有兩個(gè)浮點(diǎn)數(shù)x和y,它們分別為x=2Ex·Mxy=2Ey·My
其中Ex和Ey分別為數(shù)x和y的階碼,Mx和My為數(shù)x和y的尾數(shù)。兩浮點(diǎn)數(shù)進(jìn)行加法和減法的運(yùn)算規(guī)則是: x±y=(Mx2Ex-Ey±My)2Ey,Ex<=Ey完成浮點(diǎn)加減運(yùn)算的操作過(guò)程大體分為四步:1.0操作數(shù)的檢查;2.比較階碼大小并完成對(duì)階;3.尾數(shù)進(jìn)行加或減運(yùn)算;4.結(jié)果規(guī)格化并進(jìn)行舍入處理。2.6浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器---2.6.1浮點(diǎn)加法、減法運(yùn)算浮點(diǎn)加減運(yùn)算的操作流程2.6浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器---2.6.1浮點(diǎn)加法、減法運(yùn)算浮點(diǎn)加減運(yùn)算示例
[例]
設(shè)x=2010×0.11011011,y=2100×(-0.10101100), 求x+y。
[解]: 為了便于直觀理解,假設(shè)兩數(shù)均以補(bǔ)碼表示,階碼采用雙符號(hào)位,尾數(shù)采用單符號(hào)位,則它們的浮點(diǎn)表示分別為 [x]?。?0010,
0.11011011
[y]?。?0100,
1.01010100求階差并對(duì)階△E=Ex-Ey=[Ex]補(bǔ)+[-Ey]補(bǔ)=00010+11100=11110
即△E為-2,x的階碼小,應(yīng)使Mx右移兩位,Ex加2,
[x]?。?0100,0.00110110(11) 其中(11)表示Mx右移2位后移出的最低兩位數(shù)。2.6浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器---2.6.1浮點(diǎn)加法、減法運(yùn)算求階差并對(duì)階尾數(shù)求和規(guī)格化處理
尾數(shù)運(yùn)算結(jié)果的符號(hào)位與最高數(shù)值位同值,應(yīng)執(zhí)行左規(guī)處理,結(jié)果為1.00010101(10),階碼為00011。
舍入處理(采用0舍1入法)判溢出
階碼符號(hào)位為00,不溢出,故得最終結(jié)果為
0.00110110(11)
+1.01010100
───────────────
1.10001010(11)
1.00010101
+
1
───────────────
1.00010110x+y=2011×(-0.11101010)
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年瀏陽(yáng)市金陽(yáng)醫(yī)院第三批公開招聘編外合同制人員備考題庫(kù)及一套完整答案詳解
- 2025年上海大學(xué)上海市科創(chuàng)教育研究院招聘行政專員備考題庫(kù)完整參考答案詳解
- 吉林省水利水電勘測(cè)設(shè)計(jì)研究院2026年校園招聘29人備考題庫(kù)及一套完整答案詳解
- 銀聯(lián)企業(yè)服務(wù)(上海)有限公司2026年度招聘?jìng)淇碱}庫(kù)及完整答案詳解一套
- 國(guó)家知識(shí)產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心2026年度專利審查員公開招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 2025年關(guān)于為山東鐵路檢察機(jī)關(guān)公開招聘聘用制書記員的備考題庫(kù)附答案詳解
- 2024年宣威市教育體育局所屬學(xué)校引進(jìn)教育人才專項(xiàng)考試真題
- 泉州銀行寧德分行招聘考試真題2024
- 傲慢與偏見課程設(shè)計(jì)
- 2025年北京體育大學(xué)醫(yī)院(社區(qū)衛(wèi)生服務(wù)中心)合同制人員公開招聘?jìng)淇碱}庫(kù)及完整答案詳解一套
- 2025年研發(fā)成果轉(zhuǎn)化與科技成果轉(zhuǎn)化環(huán)境研究報(bào)告
- 施工員證考試題型及答案
- 人教版(2024)小學(xué)二年級(jí)上冊(cè)美術(shù)全冊(cè)教案
- (正式版)DB54∕T 0275-2023 《民用建筑節(jié)能技術(shù)標(biāo)準(zhǔn)》
- 2025食品安全培訓(xùn)考試試題含答案
- 電氣焊安全培訓(xùn)課件
- 客戶開發(fā)與客戶維護(hù)課件
- STM32理論課件教學(xué)課件
- 交通運(yùn)輸行業(yè)數(shù)據(jù)集建設(shè)實(shí)施方案
- 測(cè)繪安全培訓(xùn)課件圖片
- 工程建設(shè)砂石運(yùn)輸方案(3篇)
評(píng)論
0/150
提交評(píng)論