計算機(jī)組成原理_第1頁
計算機(jī)組成原理_第2頁
計算機(jī)組成原理_第3頁
計算機(jī)組成原理_第4頁
計算機(jī)組成原理_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)組成原理

2第2章數(shù)據(jù)的表示和運(yùn)算【考綱要求】(一)數(shù)制與編碼1、進(jìn)位計數(shù)制及其相互轉(zhuǎn)換2、真值和機(jī)器數(shù)3、BCD碼4、字符與字符串5、校驗碼3第2章數(shù)據(jù)的表示和運(yùn)算(二)定點(diǎn)數(shù)定點(diǎn)數(shù)的表示和運(yùn)算1、定點(diǎn)數(shù)的表示

無符號數(shù)的表示、有符號整數(shù)的表示。2、定點(diǎn)數(shù)的運(yùn)算

定點(diǎn)數(shù)的移位運(yùn)算;

原碼定點(diǎn)數(shù)的加/減運(yùn)算;補(bǔ)碼定點(diǎn)數(shù)的加/減運(yùn)算;定點(diǎn)數(shù)的乘/除運(yùn)算;溢出概念和判別方法。4第2章數(shù)據(jù)的表示和運(yùn)算(三)浮點(diǎn)數(shù)的表示和運(yùn)算

1.浮點(diǎn)數(shù)的表示、IEEE754標(biāo)準(zhǔn)

2.浮點(diǎn)數(shù)的加/減運(yùn)算(四)算術(shù)邏輯運(yùn)算單元ALU1.串行加法器和并行加法器

2.算術(shù)邏輯單元ALU的功能和結(jié)構(gòu)5第2章數(shù)據(jù)的表示和運(yùn)算(2)原碼定點(diǎn)數(shù)的加減運(yùn)算符號位單獨(dú)處理,不參加運(yùn)算,只有兩數(shù)絕對值參加運(yùn)算。(A)加法:符號位若同,則絕對值相加,結(jié)果符號位不變;符號位若異,做減法,絕對值大的減去絕對值小的數(shù),結(jié)果符號位與絕對值大的數(shù)相同。(B)減法:先將減數(shù)符號取反,然后將被減數(shù)與符號取反后的減數(shù)按原碼加法進(jìn)行運(yùn)算。(3)補(bǔ)碼定點(diǎn)數(shù)的加減運(yùn)算[x+y]補(bǔ)=[x]補(bǔ)+[y]補(bǔ)[x-y]補(bǔ)=[x+(-y)]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)第2章數(shù)據(jù)的表示和運(yùn)算[例]X=+1101,Y=+0110,用補(bǔ)碼運(yùn)算求X-Y=?解:[X]補(bǔ)

=01101

[Y]補(bǔ)

=00110[-Y]補(bǔ)

=11010

[X]補(bǔ)

01101

+[-Y]補(bǔ)

11010

————————————

[X-Y]補(bǔ)1

00111

∴X-Y=+0111丟掉第2章數(shù)據(jù)的表示和運(yùn)算[例]設(shè)機(jī)器字長為8位(含1位符號位),A=15,B=24,求[A+B]補(bǔ)和[A-B]補(bǔ)解:A=+15=+1111,B=+24=+11000[A]補(bǔ)=00001111,[B]補(bǔ)=00011000,[-B]補(bǔ)=11101000[X]補(bǔ)

00001111

+[Y]補(bǔ)

00011000

————————————

[X+Y]補(bǔ)

00100111符號位0,對應(yīng)真值+39[X]補(bǔ)

00001111

+[-Y]補(bǔ)

11101000

————————————

[X-Y]補(bǔ)

11110111符號位1,對應(yīng)真值-98第2章數(shù)據(jù)的表示和運(yùn)算(4)補(bǔ)碼加減運(yùn)算的溢出判斷(A)采用一位符號位:若參加運(yùn)算的兩個操作數(shù)符號相同,而結(jié)果又與原操作數(shù)符號不同,則表示結(jié)果溢出。

(B)采用一位符號位根據(jù)進(jìn)位情況:若符號位的進(jìn)位Cs與最高數(shù)位的進(jìn)位C1相同,則無溢出,否則表示有溢出。9第2章數(shù)據(jù)的表示和運(yùn)算(C)采用雙符號位(變形補(bǔ)碼,模4補(bǔ)碼):若結(jié)果的兩個符號位相同,則無溢出,否則有溢出,此時最高符號位代表真正符號。SS1SS2=00結(jié)果為正數(shù),無溢出SS1SS2=01結(jié)果為正溢SS1SS2=10結(jié)果為負(fù)溢SS1SS2=11結(jié)果為負(fù)數(shù),無溢出當(dāng)兩位符號位的值不一致時,表明產(chǎn)生溢出:10第2章數(shù)據(jù)的表示和運(yùn)算(5)符號擴(kuò)展正數(shù):原有符號位移動到新符號位上,新形式的所有附加位都用0填充。負(fù)數(shù):根據(jù)機(jī)器數(shù)不同而不同。(1)原碼:與正數(shù)相同,用0填充,只不過此時符號位為1。(2)補(bǔ)碼:原有符號位移動到新符號位上,新形式的所有附加位都用1(對于整數(shù))或0(對于小數(shù))填充。(3)反碼:原有符號位移動到新符號位上,新形式的所有附加位都用1填充。11第2章數(shù)據(jù)的表示和運(yùn)算【例2.13】將用8位二進(jìn)制補(bǔ)碼表示的十進(jìn)制數(shù)-121,擴(kuò)展成16位二進(jìn)制補(bǔ)碼,結(jié)果用十六進(jìn)制表示為()A.0087HB.FF87HC.8079HD.FFF9H12第2章數(shù)據(jù)的表示和運(yùn)算(6)定點(diǎn)數(shù)的乘法運(yùn)算乘法運(yùn)算需要3個寄存器,被乘數(shù)存放在B寄存器中,乘數(shù)存放在C寄存器中,A寄存器用來存放部分積與最后乘積的最高位部分,它的初值為0,運(yùn)算結(jié)束后寄存器C改為存放乘積的低位部分。補(bǔ)碼一位乘法又稱為Booth乘法,Booth乘法規(guī)則如下:(1)參加運(yùn)算的數(shù)用補(bǔ)碼表示(2)符號位參加運(yùn)算(3)乘數(shù)最低位后面增加一位附加位Yn+1,其初值為013第2章數(shù)據(jù)的表示和運(yùn)算(4)由于每求一次部分積要右移一位,根據(jù)乘數(shù)的最低兩位Yn、Yn+1的值決定了每次應(yīng)執(zhí)行的操作(5)移位按補(bǔ)碼右移規(guī)則進(jìn)行(6)共需做n+1次累加,n次移位,第n+1次不移位。14第2章數(shù)據(jù)的表示和運(yùn)算(7)定點(diǎn)數(shù)的除法運(yùn)算定點(diǎn)數(shù)除法運(yùn)算需要3個寄存器,A和B寄存器分別用來存放被除數(shù)和除數(shù),C寄存器用來存放商,它的初值為0.運(yùn)算結(jié)束后A寄存器的內(nèi)容為擴(kuò)大了若干倍的余數(shù)。補(bǔ)碼除法的特點(diǎn):符號位與數(shù)值位一起參加運(yùn)算,商符自然形成。除法第一步根據(jù)被除數(shù)和除數(shù)的符號決定做加法還是減法,上商的原則根據(jù)余數(shù)和除數(shù)的符號位共同決定,同號上商1,異號上商0,最后一步商恒置1.15第2章數(shù)據(jù)的表示和運(yùn)算【例2.14】在加法器、寄存器的基礎(chǔ)上增加部分控制電路實現(xiàn)乘除法時,用B寄存器存放()A.被乘數(shù)和被除數(shù)B.被乘數(shù)和除數(shù)C.乘數(shù)和被除數(shù)D.乘數(shù)和除數(shù)第2章數(shù)據(jù)的表示和運(yùn)算2.1.3浮點(diǎn)數(shù)的表示和運(yùn)算1、浮點(diǎn)數(shù)的表示讓小數(shù)點(diǎn)的位置根據(jù)需要而浮動,即浮點(diǎn)數(shù)。例如:N=M×rE式中:r是浮點(diǎn)數(shù)階碼的底,與尾數(shù)的基數(shù)相同,通常r=2,E和M都是帶符號的定點(diǎn)數(shù),E叫做階碼,階碼的符號位為es,階碼的大小反映了在數(shù)N中小數(shù)點(diǎn)的實際位置;M叫做尾數(shù),尾數(shù)的符號位為ms,它也是整個浮點(diǎn)數(shù)的符號位,表示了該浮點(diǎn)數(shù)的正負(fù)。第2章數(shù)據(jù)的表示和運(yùn)算(1)浮點(diǎn)數(shù)的表示范圍(階碼和尾數(shù)均為補(bǔ)碼表示)當(dāng)es=0,ms=0,階碼和尾數(shù)的數(shù)值位各位全為1(即階碼和尾數(shù)都為最大正數(shù))時,該浮點(diǎn)數(shù)為最大正數(shù)。N=M×rE第2章數(shù)據(jù)的表示和運(yùn)算當(dāng)es=1,ms=0,尾數(shù)的最低位mn=1,其余各位為0(即階碼為絕對值最大負(fù)數(shù),尾數(shù)為最小正數(shù))時,該浮點(diǎn)數(shù)為最小正數(shù)。N=M×rE第2章數(shù)據(jù)的表示和運(yùn)算當(dāng)es=0,階碼的數(shù)值位為全1,ms=1,尾數(shù)的數(shù)值位為全0(即階碼為最大正數(shù),尾數(shù)為絕對值最大的負(fù)數(shù))時,該浮點(diǎn)數(shù)為絕對值最大負(fù)數(shù)。N=M×rE第2章數(shù)據(jù)的表示和運(yùn)算為了提高運(yùn)算的精度,需要充分地利用尾數(shù)的有效數(shù)位,通常采取浮點(diǎn)數(shù)規(guī)格化形式,即規(guī)定尾數(shù)的最高數(shù)位必須是一個有效值。如:0.0001101可表為:0.001101×2-1、0.01101×2-2、0.1101×2-3規(guī)格化浮點(diǎn)數(shù)的尾數(shù)M的絕對值應(yīng)在下列范圍內(nèi):如果r=2,則有1/2≤│M│<1。第2章數(shù)據(jù)的表示和運(yùn)算尾數(shù)用原碼表示,規(guī)格化浮點(diǎn)數(shù)的尾數(shù)最高數(shù)位總等于1。(1)正數(shù):0.1XX···X,最大值:0.11···1,最小值:0.100···0(2)負(fù)數(shù):1.1XX···X,最小值:1.11···1,最大值:1.100···0尾數(shù)用補(bǔ)碼表示,規(guī)格化浮點(diǎn)數(shù)應(yīng)滿足尾數(shù)最高數(shù)位與符號位不同.(1)正數(shù):0.1XX···X,最大值:0.11···1,最小值:0.100···0(2)負(fù)數(shù):1.0XX···X,最大值:1.01···1,最小值:1.000···0第2章數(shù)據(jù)的表示和運(yùn)算【注意】當(dāng)浮點(diǎn)數(shù)基數(shù)為2時,原碼規(guī)格化的尾數(shù)最高位一定是1,補(bǔ)碼規(guī)格化數(shù)的尾數(shù)最高位一定與尾數(shù)符號位相反?;鶖?shù)不同,浮點(diǎn)數(shù)的規(guī)格化形式也不同。當(dāng)基數(shù)為4時,原碼規(guī)格化形式的尾數(shù)最高兩位不全為0;基數(shù)為8時,原碼規(guī)格化形式的尾數(shù)最高3位不全為0。第2章數(shù)據(jù)的表示和運(yùn)算[例]設(shè)浮點(diǎn)數(shù)階碼的基數(shù)為8,尾數(shù)用模4補(bǔ)碼表示。試指出下列浮點(diǎn)數(shù)中哪個是規(guī)格化數(shù)?A.11.111000B.00.000111C.11.101010D.11.111101第2章數(shù)據(jù)的表示和運(yùn)算當(dāng)es=1,ms=0,尾數(shù)的最高位m1=1,其余各位為0時,該浮點(diǎn)數(shù)為規(guī)格化的最小正數(shù)。N=M×rE第2章數(shù)據(jù)的表示和運(yùn)算浮點(diǎn)數(shù)的幾個典型值(階碼和尾數(shù)均為補(bǔ)碼,各含1為符號位)第2章數(shù)據(jù)的表示和運(yùn)算浮點(diǎn)數(shù)階碼的移碼表示法移碼就是在真值X基礎(chǔ)上加一個常數(shù),即:[X]移=偏置值+X第2章數(shù)據(jù)的表示和運(yùn)算偏置值為2n的移碼具有以下特點(diǎn):(1)在移碼中,最高位為0表示負(fù)數(shù),最高位為1表示正數(shù)。(2)移碼為全0時,它所對應(yīng)的真值最小,為全1時,它所對應(yīng)的真值最大。(3)真值0在移碼中的表示形式是唯一的,即[+0]移=[-0]移=100…0。(4)移碼把真值映射到一個正數(shù)域,所以可將移碼視為無符號數(shù),直接按無符號數(shù)規(guī)則比較大小。第2章數(shù)據(jù)的表示和運(yùn)算(5)同一數(shù)值的移碼和補(bǔ)碼除最高位相反外,其他各位相同。浮點(diǎn)數(shù)的階碼常采用移碼表示最主要的原因有:便于比較浮點(diǎn)數(shù)的大小,階碼大的,其對應(yīng)的真值就大,階碼小的,其對應(yīng)的真值就小。簡化機(jī)器中的判零電路。當(dāng)階碼全為0時,尾數(shù)也全為0時,表示機(jī)器零。第2章數(shù)據(jù)的表示和運(yùn)算【例2.15】設(shè)浮點(diǎn)數(shù)的階碼用移碼表示,尾數(shù)用補(bǔ)碼表示,階碼用3位,尾數(shù)用5位(各包含一位符號位),則它能表示的最小負(fù)數(shù)為()A.-8B.-7.5C.-128D.-256第2章數(shù)據(jù)的表示和運(yùn)算【例2.16】某浮點(diǎn)數(shù)字長16位,其中階碼部分6位(含一位階符),移碼表示,以2為底;尾數(shù)部分10位(含一位數(shù)符,位于尾數(shù)的最高位),補(bǔ)碼表示,規(guī)格化。分別寫出下列各題的二進(jìn)制代碼和其對應(yīng)的真值。(1)非零最小正數(shù)(2)最大正數(shù)(3)絕對值最小負(fù)數(shù)(4)絕對值最大負(fù)數(shù)第2章數(shù)據(jù)的表示和運(yùn)算(1)非零最小正數(shù)位于數(shù)軸上正方向最近零的位置,此時階碼為絕對值最大的負(fù)數(shù)(最小值),尾數(shù)為規(guī)格化最小正數(shù)。0000000.1000000002-1×2-25=2-33(2)最大正數(shù)位于數(shù)軸上正方向最右邊的位置,此時階碼和尾數(shù)均為最大正數(shù)。1111110.111111111(1-2-9)×225-1=(1-2-9)×231第2章數(shù)據(jù)的表示和運(yùn)算(3)絕對值最小負(fù)數(shù)位于數(shù)軸上負(fù)方向最接近零的位置,此時階碼為絕對值最大的負(fù)數(shù),尾數(shù)為規(guī)格化的絕對值最小負(fù)數(shù)。0000001.011111111-(2-1+2-9)×2-25=-(2-1+2-9)×2-32(4)絕對值最大負(fù)數(shù)位于數(shù)軸上負(fù)方向最左邊位置,此時階碼為最大正數(shù),尾數(shù)為絕對值最大負(fù)數(shù)。1111111.000000000-1×225-1=-231第2章數(shù)據(jù)的表示和運(yùn)算(2)IEEE754標(biāo)準(zhǔn)大多數(shù)計算機(jī)的浮點(diǎn)數(shù)采用IEEE754標(biāo)準(zhǔn),其格式如下,IEEE754標(biāo)準(zhǔn)中有三種形式的浮點(diǎn)數(shù)。第2章數(shù)據(jù)的表示和運(yùn)算以短浮點(diǎn)數(shù)(單精度)為例討論浮點(diǎn)代碼與真值之間的關(guān)系。最高位為數(shù)符位,其后是8位階碼,以2為底,階碼的偏置值為127;其余23位是尾數(shù)。為了使尾數(shù)部分能表示更多一位的有效值,IEEE754采用隱含尾數(shù)最高位1(即這一位1不表示出來)的方法,因此尾數(shù)實際上是24位。應(yīng)注意的是,隱含的1是一位整數(shù)(即位權(quán)為20),在浮點(diǎn)格式中表示出來的23位尾數(shù)是純小數(shù),用原碼表示。第2章數(shù)據(jù)的表示和運(yùn)算【例2.17】有機(jī)器碼C1BD0000H為IEEE754標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù),該機(jī)器碼所表示的浮點(diǎn)數(shù)是()A.-23.625B.23.625C.-11.8125D.-7.625第2章數(shù)據(jù)的表示和運(yùn)算2、浮點(diǎn)數(shù)的加減運(yùn)算浮點(diǎn)數(shù)的加減運(yùn)算步驟(1)對階對階規(guī)則:小階向大階看齊。即階碼小的數(shù)的尾數(shù)右移,每右移一位,階碼加1,直到兩數(shù)的階碼相等為止。(2)尾數(shù)加減運(yùn)算對階之后,就可以進(jìn)行尾數(shù)加減。(3)尾數(shù)結(jié)果規(guī)格化規(guī)格化的尾數(shù)M應(yīng)滿足:1/2≤│M│<1第2章數(shù)據(jù)的表示和運(yùn)算可能出現(xiàn)以下6種情況00.1XXX11.0XXX00.0XXX11.1XXX01.XXXX10.XXXX第1和2種情況,已是規(guī)格化數(shù)。第3和4種情況需要左規(guī),尾數(shù)每左移一位,階碼相應(yīng)減1,直至成為規(guī)格化數(shù)為止。第5和6種情況需要右規(guī),尾數(shù)每右移一位,階碼相應(yīng)加1。第2章數(shù)據(jù)的表示和運(yùn)算(4)舍入0舍1入法恒置1法(5)溢出判斷當(dāng)尾數(shù)之和(差)出現(xiàn)10.XXX或01.XXX時,并不表示溢出,只有將此數(shù)右規(guī)后,再根據(jù)階碼來判斷浮點(diǎn)運(yùn)算結(jié)果是否溢出,當(dāng):[Ec]=01,XXX,表示上溢。此時,浮點(diǎn)數(shù)真正溢出,機(jī)器需停止運(yùn)算,做溢出中斷處理。[Ec]=10,XXX,表示下溢,機(jī)器不做溢出處理,而是按機(jī)器零處理。第2章數(shù)據(jù)的表示和運(yùn)算【例】有兩個浮點(diǎn)數(shù)A=0.101110×2-01,B=-0.101011×2-10,尾數(shù)和階碼均為二進(jìn)制表示,假設(shè)這兩數(shù)的格式為:階碼4位,用移碼(偏置值為23)表示,尾數(shù)8位,用補(bǔ)碼表示,包含一位符號位,即階碼尾數(shù)[A]浮=0111;0.1011100[B]浮=0110;1.0101010求A+B?解:(1)首先對階,求階差:△E=EA-EB=1按對階規(guī)則,將MB右移一位,EB+1→EB[B]浮=0111;1.1010101此處是正確的?。?!第2章數(shù)據(jù)的表示和運(yùn)算(2)尾數(shù)求和:00.1011100+11.101010100.0110001(3)尾數(shù)規(guī)格化:由于結(jié)果的尾數(shù)為非規(guī)格化數(shù),應(yīng)左規(guī)。尾數(shù)左移一位,階碼減1。最后結(jié)果為[A+B]浮=0110;0.110001即A+B=(0.110001)×2-10(4)結(jié)果無溢出第2章數(shù)據(jù)的表示和運(yùn)算2.1.4算術(shù)邏輯單元ALU1、串行加法器和并行加法器在串行加法器中,只有一個全加器,數(shù)據(jù)逐位串行送入加法器進(jìn)行運(yùn)算。并行加法器由多個全加器組成,其位數(shù)的多少取決于機(jī)器的字長,數(shù)據(jù)的各位同時運(yùn)算。并行加法器的最長運(yùn)算時間主要是由進(jìn)位信號的傳遞時間決定的,而每個全加器本身的求和延遲只是次要因素。很明顯,提高并行加法器速度的關(guān)鍵是盡量加快進(jìn)位產(chǎn)生和傳遞的速度。第2章數(shù)據(jù)的表示和運(yùn)算并行加法器中的每一個全加器都有一個從低位送來的進(jìn)位輸入和一個傳送給高位的進(jìn)位輸出。通常將傳遞進(jìn)位信號的邏輯線路連接起來構(gòu)成的進(jìn)位網(wǎng)絡(luò)稱為進(jìn)位鏈。每一位的進(jìn)位表達(dá)式為:所以進(jìn)位表達(dá)式又可以寫成:第2章數(shù)據(jù)的表示和運(yùn)算分組并行進(jìn)位方式實際上,通常采用分組并行進(jìn)位方式。這種進(jìn)位方式是把n位字長分為若干小組,在組內(nèi)各位之間實行并行快速進(jìn)位,在組間既可以采用串行進(jìn)位方式,也可以采用并行快速進(jìn)位方式,有兩種情況:單級先行進(jìn)位方式多級先行進(jìn)位方式第2章數(shù)據(jù)的表示和運(yùn)算第2章數(shù)據(jù)的表示和運(yùn)算【例2.18】在串行進(jìn)位的并行加法器中,影響加法器運(yùn)算速度的關(guān)鍵因素是()A.門電路的級延遲B.元器件速度C.進(jìn)位傳遞延遲

D.各位加法器速度的不同第2章數(shù)據(jù)的表示和運(yùn)算【例2.19】一個C語言程序在一臺32位機(jī)器上運(yùn)行。程序中定義了三個變量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論