第2章運(yùn)算方法和運(yùn)算器_第1頁
第2章運(yùn)算方法和運(yùn)算器_第2頁
第2章運(yùn)算方法和運(yùn)算器_第3頁
第2章運(yùn)算方法和運(yùn)算器_第4頁
第2章運(yùn)算方法和運(yùn)算器_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章運(yùn)算方法和運(yùn)算器主要內(nèi)容:數(shù)據(jù)與文字的表示方法定點(diǎn)的加、減法運(yùn)算定點(diǎn)的乘法運(yùn)算定點(diǎn)的除法運(yùn)算定點(diǎn)的運(yùn)算器的組成浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器2/6/20231第1節(jié)數(shù)據(jù)與文字的表示方法1、二進(jìn)制數(shù)(1)二進(jìn)制數(shù)表示方法定義:以2為基數(shù)的數(shù)制叫二進(jìn)制數(shù)。概括起來說二進(jìn)制數(shù)有下列特征:有2個(gè)符號表示數(shù):0和1。在一串?dāng)?shù)字中,上一個(gè)位的權(quán)是下一個(gè)位的兩倍。故對整數(shù)來說,從右往左各位的權(quán)是1,2,4,8,16,32……,對于小數(shù),從左往右各位的權(quán)是1/2,1/4,1/8,1/16,1/32……?;鶖?shù)是2。當(dāng)計(jì)數(shù)時(shí),每一位計(jì)到2就往上進(jìn)一位,即“逢二進(jìn)一”。同理:以16為基數(shù)的數(shù)制叫十六進(jìn)制數(shù)。2/6/20232(2)、二進(jìn)制數(shù)與其他進(jìn)制數(shù)的轉(zhuǎn)換方法二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)

用十進(jìn)制計(jì)數(shù)把二進(jìn)制各位置的數(shù)按權(quán)展開后相加即可。例1(1001.101)2

=1*23+0*22+0*21+1*20+1*2-1+0*2-2+1*2-3=8+0+0+1+0.5+0+0.125=(9.625)102/6/20233十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)整數(shù)部分:除基取余法:采用將十進(jìn)制數(shù)連續(xù)除以2提取余數(shù)的方法,提取的余數(shù)依此為二進(jìn)制的低位、次低位...高位。減權(quán)定位法:依次與二進(jìn)制權(quán)位比較,夠減的為1,不夠?yàn)?。例2,求(116)10的二進(jìn)制數(shù)值:(116)10=(1110100)22/6/20234小數(shù)部分:乘基取整法:采用將十進(jìn)制小數(shù)部分連續(xù)乘以2提取乘積中整數(shù)的方法,提取的整數(shù)依此是小數(shù)部分的最高位、次高位...。減權(quán)定位法。例3,求(0.625)10二進(jìn)制數(shù)值:故(0.625)10=(0.101)22/6/20235有時(shí)會出現(xiàn)小數(shù)部分總不等于零的情況,如(0.6)10=(0.100110011)2…。這時(shí)轉(zhuǎn)換過程的結(jié)束由所要求的轉(zhuǎn)換精度確定。二進(jìn)制數(shù)有很多優(yōu)點(diǎn),但它寫起來位數(shù)太多,讀起來也很麻煩。為方便起見,我們常常用十六制過渡。2/6/20236二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)方法:從小數(shù)點(diǎn)往左或往右每4位一組地劃分,不足4位整數(shù)部分在前面補(bǔ)0,小數(shù)部分在后面補(bǔ)0,然后將每4位寫出其對應(yīng)的十六進(jìn)制數(shù)即可。例4:(11011011.01011)2=(1101

1011.0101

1000)2=(DB.58)16十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)方法:直接將每位十六進(jìn)制數(shù)寫成4位二進(jìn)制數(shù)即可。例5:(3F5.A8C)16=(001111110101.101010001100)22/6/202372、數(shù)據(jù)格式計(jì)算機(jī)中常用數(shù)據(jù)表示格式:定點(diǎn)數(shù)和浮點(diǎn)數(shù)。定點(diǎn)數(shù)表示方法:約定機(jī)器中所有數(shù)據(jù)的小數(shù)點(diǎn)位置是固定不變的。通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù)。設(shè)n+1位定點(diǎn)數(shù)x=xnxn-1xn-2…x0,則在定點(diǎn)機(jī)中表示如下:符號量值(尾數(shù))定點(diǎn)數(shù)表示范圍:純小數(shù)的表示范圍為:

0≤|x|≤1-2-n

純整數(shù)的表示范圍為:

0≤|x|≤2n-1

xnXn-1xn-2…x1x02/6/20238浮點(diǎn)表示法:數(shù)的計(jì)階表示方法,把數(shù)的范圍和精度分開表示的方法,小數(shù)點(diǎn)的位置隨階數(shù)的不同而浮動,設(shè)任意一個(gè)進(jìn)制數(shù)N用計(jì)階法表示為:

N=Re.M其中M:尾數(shù),規(guī)定是一個(gè)純小數(shù),且計(jì)算機(jī)中一般約定為最高有效位為1,稱為規(guī)格化。e:指數(shù),是一個(gè)整數(shù),計(jì)算機(jī)中稱為階碼。R:比例因子的基數(shù),計(jì)算機(jī)中一般為2,隱含表示。則計(jì)算機(jī)中浮點(diǎn)數(shù)可以表示為:EsEm-1Em-2…E1E0MsMn-1Mn-2…M1M02/6/20239實(shí)用浮點(diǎn)數(shù)格式:IEEE754標(biāo)準(zhǔn)32位表示法:64位表示法:規(guī)則:S:浮點(diǎn)數(shù)的符號位,1位,0表示正數(shù),1表示負(fù)數(shù)。M:尾數(shù),23或52位,用規(guī)格化小數(shù)表示,小數(shù)點(diǎn)放在尾數(shù)域的最前面,小數(shù)點(diǎn)第1位1隱含。E:階碼(8或11位),采用隱含移碼方式來表示。E=e(真值)+127/1023則:一個(gè)規(guī)格化的32位浮點(diǎn)數(shù)x的真值可表示為:

x=(-1)s×(1.M)×2E-127

一個(gè)規(guī)格化的64位浮點(diǎn)數(shù)x的真值為x=(-1)s×(1.M)×2E-1023

2/6/202310浮點(diǎn)數(shù)的數(shù)值范圍:當(dāng)一個(gè)浮點(diǎn)數(shù)的尾數(shù)為0時(shí),不論其階碼為何值,或當(dāng)階碼的值遇到比它能表示的最小值還小時(shí),不管其尾數(shù)為何值,計(jì)算機(jī)都把該浮點(diǎn)數(shù)看成零值,稱為機(jī)器零。當(dāng)階碼E全為0且尾數(shù)M也全為0時(shí),表示的真值x為0;當(dāng)階碼E全為1且尾數(shù)M全為0時(shí),表示的真值x為無窮大。對32位的規(guī)格化浮點(diǎn)數(shù),其階碼E的范圍為1到254,故32位浮點(diǎn)數(shù)表示的絕對值范圍是2-126~2127

2/6/202311例6[1]若浮點(diǎn)數(shù)x的754標(biāo)準(zhǔn)存儲格式為(41360000)16,求其浮點(diǎn)數(shù)的十進(jìn)制數(shù)值。[解:]十六進(jìn)制數(shù)展開后,可得二進(jìn)制數(shù)格式為01000001

001101100000000000000000則:指數(shù)e=階碼-127=10000010-01111111=00000011=(3)10

尾數(shù)為:1.M=1.01101100000000000000000=1.011011

浮點(diǎn)數(shù)為:x=(-1)s×1.M×2e

=+(1.011011)×23=+1011.011=(11.375)10

2/6/202312例7[2]將(20.59375)10轉(zhuǎn)換成754標(biāo)準(zhǔn)的32位浮點(diǎn)數(shù)的二進(jìn)制存儲格式。[解:](20.59375)10=(10100.10011)2=1.010010011×24

則S=0,

E=e+127=4+127=131,E=10000011

M=01001001132位浮點(diǎn)數(shù)存儲格式為:01000001

101001001100000000000000=(41A4C000)16

2/6/2023133、數(shù)的機(jī)器碼表示(1)、真值與機(jī)器數(shù)真值:根據(jù)書寫習(xí)慣,用正負(fù)號加絕對值表示的數(shù)值。機(jī)器數(shù):計(jì)算機(jī)內(nèi)用的,將數(shù)符一起數(shù)碼化的數(shù)。計(jì)算機(jī)常用機(jī)器數(shù)又分成原碼、補(bǔ)碼、反碼和移碼表示法。機(jī)器數(shù)形式的二進(jìn)制位數(shù)因受機(jī)器字長的限制,其數(shù)的表示范圍和精度相應(yīng)受到限制,無法表示時(shí),便產(chǎn)生溢出。例8:真值:+1011-10118位字長定點(diǎn)數(shù):0000101110001011真值:+0.1011-0.10118位字長定點(diǎn)數(shù):0.10110001.10110002/6/202314(2)、原碼表示法定義:設(shè)原碼形式為x=xnxn-1…x1x0

。n+1位字長的原碼為:X1>X≥0;小數(shù):[X]原={1-X=1+|X|-1<X≤0。 X2n>X≥0;

整數(shù):[X]原={2n-X=2n+|X|-2n<X≤0。2/6/202315原碼的特點(diǎn)符號位用0表示正數(shù),1表示負(fù)數(shù),數(shù)值部分用二進(jìn)制數(shù)的絕對值表示的方法。0的原碼有兩個(gè),“正零”和“負(fù)零”。[+0]原=00000000,[-0]原=10000000。n+1位字長原碼的數(shù)值范圍: 整數(shù):-(2n-1)≤X≤(2n-1) 小數(shù):-(1-2-n)≤X≤(1-2-n)2/6/202316(3)、補(bǔ)碼表示法定義:把某數(shù)X加上模數(shù)M,稱為以M為模的X的補(bǔ)碼。[X]補(bǔ)=(M+X)模M。位長為n+1的整數(shù)的模為2n+1,小數(shù)的模為2:

X1>X≥0;小數(shù):[X]補(bǔ)={2+X=2-|X|-1≤X<0。

X2n>X≥0;整數(shù):[X]補(bǔ)={2n+1+X=2n+1-|X|-2n<X<0。例9,設(shè)機(jī)器位長為8位,用補(bǔ)碼表示±0.1001和±59。[+0.1001]補(bǔ)=[+0.1001000]=0.1001000[-0.1001]補(bǔ)=2-0.1001000=1.0111000[+59]補(bǔ)=[00111011]=00111011[-59]補(bǔ)=28-00111011=110001012/6/202317補(bǔ)碼特點(diǎn):可實(shí)現(xiàn)變減為加運(yùn)算,且補(bǔ)碼的符號位由計(jì)算獲得。0的補(bǔ)碼只有一個(gè),就是n位的零。[±0]補(bǔ)=28±00000000=00000000N+1位字長補(bǔ)碼的數(shù)值范圍 整數(shù):-2n≤X≤(2n-1) 小數(shù):-1≤X≤(1-2-n)2/6/202318(4)、反碼表示法定義:正數(shù)反碼與原碼相同,負(fù)數(shù)的反碼將數(shù)除符號位外按位求反。反碼的特點(diǎn):0的反碼也有兩個(gè),[+0]反=00000000,[-0]反=11111111。反碼的數(shù)值范圍與原碼相同。2/6/202319原碼轉(zhuǎn)化成補(bǔ)碼方法:正數(shù)的補(bǔ)碼與原碼相同;負(fù)數(shù)時(shí):符號位不變,尾數(shù)先按位取反,然后在末位加1。符號位不變,尾數(shù)部分自低位向高位數(shù),第一個(gè)1及以前的各位0保持不變,以后的各位按位取反。補(bǔ)碼轉(zhuǎn)換成原碼、真值方法:正數(shù)的原碼與補(bǔ)碼相同;負(fù)數(shù)時(shí),符號位不變,尾數(shù)先按位取反,然后在末位加1。將原碼的符號位用“+”、“-”號表示即為真值上述轉(zhuǎn)換不包括-0及補(bǔ)碼的負(fù)數(shù)最小值。2/6/202320補(bǔ)碼轉(zhuǎn)換十進(jìn)制真值的方法:設(shè)補(bǔ)碼形式為x=xnxn-1…x1x0

。整數(shù):小數(shù):上述符號直接由運(yùn)算得到2/6/202321(5)、移碼(增碼)表示定義:計(jì)算機(jī)中對k+1位字長的帶符號數(shù),其真值X所對應(yīng)的移碼為:

[X]移=2k+X,-2k≤X≤2k-1。例10,求8位長±59的移碼

[+59]移=10000000+111011=10111011[-59]移=10000000-111011=01000101移碼的符號位與原碼、補(bǔ)碼相反,1為正,0為負(fù)。X的移碼和補(bǔ)碼符號位相反其余位相同,故移碼可以先求數(shù)的補(bǔ)碼,再將符號取反即得。0的移碼只有一個(gè),[0]移=10000000。移碼一般用于浮點(diǎn)數(shù)的階碼表示。移碼一般以整數(shù)形式出現(xiàn),其數(shù)值范圍與補(bǔ)碼相同。2/6/202322例11[9]假設(shè)由S,E,M三個(gè)域組成的一個(gè)32位二進(jìn)制字所表示的非零規(guī)格化浮點(diǎn)數(shù)x,真值表示為:x=(-1)s×(1.M)×2E-128問:它所表示的規(guī)格化的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、最小負(fù)數(shù)是多少?[解:]階碼用移碼表示,8位;尾數(shù)用原碼,23位。(1)最大正數(shù)階碼為最大正數(shù),尾數(shù)為最大正數(shù)存儲碼:01111111111111111111111111111111真值:x=[1+(1-2-23)]×2127

2/6/202323(2)最小正數(shù)階碼為最小負(fù)數(shù)(絕對值最大),尾數(shù)為最小正數(shù)000000

00000000000000000000000000

x=1.0×2-128

(3)最小負(fù)數(shù)(絕對值最大)階碼為最大正數(shù),尾數(shù)為最小負(fù)數(shù)(絕對值最大)11111111111111111111111111111111

x=-[1+(1-2-23)]×2127

(4)最大負(fù)數(shù)(絕對值最?。?/p>

階碼為最小負(fù)數(shù)(絕對值最大),尾數(shù)為最大負(fù)數(shù)(絕對值最?。?0000000000000000000000000000000

x=-1.0×2-128

2/6/2023244、字符與字符串的表示方法美國國家信息交換標(biāo)準(zhǔn)代碼,簡稱ASCII碼7位二進(jìn)制編碼,能表示27=128種國際上最通用的西文文字。ASCII碼包括4類最常用的字符。數(shù)字:包括0~910個(gè)數(shù)字字符。通用字符:“+”、“-”、“=”、“*”、“/”等共32個(gè)。字母:包括26個(gè)大寫字母和26個(gè)小寫字母。控制字符:包括空格SP、回車CR、換行LF等共34個(gè)。ASCII編碼有一定的規(guī)律。2/6/202325高3位低4位0000010100111001011101110000NULDLESP0@P、p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB‘7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<L\l|1101CRGS-=M]m}1110SORS.>N^n~1111SIUS/?O-oDEL2/6/2023265、漢字的表示方法輸入碼數(shù)字碼拼音碼字形碼機(jī)內(nèi)碼輸出碼點(diǎn)陣式矢量式2/6/2023275校驗(yàn)技術(shù)校驗(yàn)的方法是讓寫入的信息符合某種規(guī)律,在讀出時(shí)檢驗(yàn)信息是否符合這一規(guī)律,如符合可判定讀出信息正確,否則有誤。目前使用的校驗(yàn)方法常采用冗余校驗(yàn)思想,即:有效信息位+校驗(yàn)位校驗(yàn)碼譯碼糾錯(cuò)2/6/202328奇偶校驗(yàn)碼

例如:待編有效信息10110001編碼規(guī)則:校驗(yàn)碼有效信息位+1位校驗(yàn)位奇校驗(yàn)碼

101100011

約定校驗(yàn)碼中1的個(gè)數(shù)為奇數(shù)/偶數(shù)。偶校驗(yàn)碼

101100010

校驗(yàn)位公式:C=x0⊕x1⊕…⊕xn-1。2/6/202329偶校驗(yàn)判錯(cuò)實(shí)現(xiàn)電路2/6/202330奇偶校驗(yàn)實(shí)現(xiàn)簡單,但缺點(diǎn)是不能糾錯(cuò)。其他校驗(yàn)方式如循環(huán)冗余校驗(yàn)碼(CRC)可以實(shí)現(xiàn)糾錯(cuò)。2/6/202331第2節(jié)定點(diǎn)加、減運(yùn)算2/6/2023321、補(bǔ)碼加法補(bǔ)碼加法規(guī)則兩個(gè)相加的數(shù)無論正負(fù),其和的補(bǔ)碼等于兩數(shù)補(bǔ)碼之和:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)例12[11]:設(shè)X=+1001,Y=+0101,用補(bǔ)碼求Z=X+Y。

[X]補(bǔ)=01001,[Y]補(bǔ)=00101;[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)=01001+00101=01110故:X+Y=01110例13:設(shè)X=0.1001,Y=-0.0101,用補(bǔ)碼求Z=X+Y。

[X]補(bǔ)=0.1001,[Y]補(bǔ)=1.1011;[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)=0.1011+1.1011=0.0110故:X+Y=+0.0112/6/2023332補(bǔ)碼減法補(bǔ)碼減法規(guī)則兩個(gè)相減的數(shù)無論正負(fù):[X-Y]補(bǔ)=[X+(-Y)]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)[-Y]補(bǔ)為[Y]補(bǔ)的機(jī)器負(fù)數(shù),轉(zhuǎn)換方法:將連同符號位一起變反,末位加1。例14[11]x=+1101,y=+0110,求x-y。解:[x]補(bǔ)=01101[y]補(bǔ)=00110,[-y]補(bǔ)=11010[x]補(bǔ)01101+[-y]補(bǔ)11010[x-y]補(bǔ)

100111x-y=+01112/6/202334補(bǔ)碼加減運(yùn)算規(guī)則小結(jié)參加運(yùn)算的操作數(shù)用補(bǔ)碼表示。符號位參加運(yùn)算。若指令操作碼為加,則兩數(shù)直接相加;若操作碼為減,則將減數(shù)連同符號位一起變反加1后再與被減數(shù)相加。運(yùn)算結(jié)果用補(bǔ)碼表示。2/6/202335例15[15]x=+1011,y=+1001,求x+y。[解:][x]補(bǔ)=01011[y]補(bǔ)=01001[x]補(bǔ)01011+[y]補(bǔ)01001[x+y]補(bǔ)10100兩個(gè)正數(shù)相加的結(jié)果成為負(fù)數(shù),這顯然是錯(cuò)誤的。2/6/2023363、溢出判斷基本規(guī)律:兩個(gè)異號數(shù)相加或兩個(gè)同號數(shù)相減不會發(fā)生溢出;只有兩個(gè)同號數(shù)相加或兩個(gè)異號數(shù)相減才可能發(fā)生溢出。正溢:運(yùn)算結(jié)果為正且大于所能表示的最大正數(shù);負(fù)溢:運(yùn)算結(jié)果為負(fù)且小于所能表示的最小負(fù)數(shù);溢出判斷法:采用一個(gè)符號位判斷(最高有效位判斷法)兩個(gè)補(bǔ)碼數(shù)相加、減時(shí),若最高數(shù)值位向符號位送的進(jìn)位值與符號位送向更高位進(jìn)位不相同,則運(yùn)算結(jié)果溢出。溢出2/6/2023373、溢出判斷溢出判斷法:采用雙符號位法(變形補(bǔ)碼法)變形補(bǔ)碼定義:[x]補(bǔ)=2n+2+x變形補(bǔ)碼的符號用兩位來表示。變形補(bǔ)碼的兩個(gè)符號位都可以參與運(yùn)算,運(yùn)算結(jié)果根據(jù)兩個(gè)符號位是否一致來判斷是否溢出。溢出

“01”表示正溢,“10”表示負(fù)溢,最高符號永遠(yuǎn)表示結(jié)果的正確符號。2/6/202338例16[17]x=+01100,y=+01000,求x+y。[解:][x]補(bǔ)=001100,[y]補(bǔ)=001000

[x]補(bǔ)001100+[y]補(bǔ)001000010100兩個(gè)符號位不一致,結(jié)果溢出。例19[15]x=-0.1100,y=-0.1000,求x+y。[解:][x]補(bǔ)=11.0100,[y]補(bǔ)=11.1000

[x]補(bǔ)11.0100+[y]補(bǔ)11.100010.1100兩個(gè)符號位不一致,結(jié)果溢出。2/6/2023394基本二進(jìn)制加法/減法器1位加法器設(shè)計(jì)

=Ai⊕Bi⊕

Ci

=AiBi+(Ai⊕Bi)Ci輸入輸出AiBiCiSiCi+1

0000010100111001011101110010100110010111FASiAiBiCiCi+1=AiBi+BiCi+CiAi2/6/202340n位加法器可由多個(gè)1位加法器級聯(lián)實(shí)現(xiàn)(行波進(jìn)位加法器)。優(yōu)點(diǎn)是節(jié)省器件,成本低,缺點(diǎn)是有延時(shí)傳遞,速度慢。補(bǔ)碼減法器可由加法器實(shí)現(xiàn)。FAS0A0B0MC1FAS1A1B1C2FASn-2An-2Bn-2Cn-2Cn-1FASn-1An-1Bn-1CiCn2/6/202341第3節(jié)定點(diǎn)乘法運(yùn)算1、原碼乘法規(guī)則:符號與數(shù)值分開計(jì)算,乘積的數(shù)值部分是兩個(gè)正數(shù)相乘之積。乘積符號的運(yùn)算法則是:同號相乘為正,異號相乘為負(fù)??捎僧惢?qū)崿F(xiàn)。例x=1101,y=1011.求x*y.2/6/202342不帶符號陣列乘法器:設(shè)有兩個(gè)不帶符號的二進(jìn)制整數(shù):A=am-1…a1a0B=bn-1…b1b0數(shù)值部分為a和b,即則A與B相乘,產(chǎn)生m+n位乘積P:

P=pm+n-1…p1p0m-1

n-1

P=ab=(∑ai2i)(∑bj2j)i=0

j=0

m+n-1=

∑pk2kk=02/6/202343例5x5陣列

a4a3a2a1a0xb4b3b2b1b0a4b0a3b0a2b0a1b0a0b0a4b1a3b1a2b1a1b1a0b1a4b2a3b2a2b2a1b2a0b2a4b3a3b3a2b3a1b3a0b3+a4b4a3b4a2b4a1b4a0b4.P9P8P7P6P5P4P3P2P1P02/6/202344FAAiBiCiCi+1Sia1b00P0a4b3a0b1a0b2a1b1a2b1a1b2a2b2a3b1a1b3a2b3a3b2a0b3a0b4a1b4a4b0a2b4a1b3a4b1a3b4a4b2a4b4a3b0a2b0000a0b0P1P2P3P4P5P6P7P805x5陣列乘法器原理圖P92/6/2023452/6/202346帶符號的陣列乘法器符號與數(shù)值分開處理,符號采用異或電路,數(shù)值采用無符號陣列乘法器。原碼數(shù)據(jù)可以直接運(yùn)算;補(bǔ)碼數(shù)據(jù)需轉(zhuǎn)換成原碼后再運(yùn)算。求補(bǔ)器設(shè)計(jì)。2/6/202347帶符號的陣列乘法器設(shè)計(jì)2/6/202348[例18]設(shè)x=-15,y=-13,用補(bǔ)碼求x*y[解:][x]補(bǔ)=10001,[y]補(bǔ)=10011符號部分xn⊕yn=1⊕1=0數(shù)值部分|x|=1111,|y|=11011111=15

×)1101=131111

0000

11111

11111

.1100001

[x*y]補(bǔ)=01100001x*y=1952/6/202349第4節(jié)定點(diǎn)除法運(yùn)算1、原碼除法規(guī)則:符號與數(shù)值分開計(jì)算,商的數(shù)值部分由兩數(shù)相除獲得。商的符號:同號為正,異號相除為負(fù)??捎僧惢?qū)崿F(xiàn)。2/6/202350例x=0.1001,y=0.1011.求x÷y.

0.1101

0.1011

0.10010

-0.01011

0.001110

-0.0

01011

0.0000110

-0.0

0

01011

0.00001100

-0.0

0

0

01011

0.00000001

得x÷y的商q=0.1101,余數(shù)為r=0.00000001開始被除數(shù)→A(2n)除數(shù)→BA〈0?A+B→A商0商1B右移,重復(fù)n次?YYNN結(jié)束A-B→A2/6/202351恢復(fù)余數(shù)除法器:依次比較被除數(shù)和除數(shù),判定商。不恢復(fù)余數(shù)除法器。開始被除數(shù)→A除數(shù)→BA〈0?A+B→A商0商1B右移,重復(fù)n次?YYNN結(jié)束A-B→A開始被除數(shù)→A除數(shù)→BA〈0?A+B→A商1,B右移重復(fù)n-1次?YNN結(jié)束A-B→A商0,B右移A-B→AA〈0?商0商1A+B→A2/6/202352例20]x=0.101001,y=0.111,求q=x÷y。[解:][x]補(bǔ)=0.101001

[y]補(bǔ)=0.111

[-y]補(bǔ)=1.001

0.101001

+[-y]補(bǔ)1.001.

01.110001

+[y]補(bǔ)

0.0111.

10001101

+[-y]補(bǔ)

1.11001.

01.111111+[y]補(bǔ)

0.000111.

10.000110商q=0.101

余數(shù)r=0.000110q=0,下步做加法,y右移1位q=1,下步做減法,y右移1位q=1,q=0,下步做加法,y右移1位2/6/202353不恢復(fù)余數(shù)陣列除法器可控加法/減法(CAS)4位除法陣列器x=0.x6x5x4x3x2x1y=0.y3y2y1q=0.q3q2q1r=0.00r6r5r4r32/6/202354第5節(jié)定點(diǎn)運(yùn)算器的組成1、計(jì)算機(jī)運(yùn)算器功能完成對二進(jìn)制代碼的定點(diǎn)算術(shù)和邏輯運(yùn)算。算術(shù)運(yùn)算:加、減、乘、除;邏輯運(yùn)算:邏輯非、邏輯加、邏輯乘、邏輯異。根據(jù)運(yùn)算結(jié)果給出狀態(tài):有無溢出、有無進(jìn)位、結(jié)果是否為零等。2/6/2023552、算術(shù)邏輯運(yùn)算部件的實(shí)現(xiàn)核心部件:1位全加器;n位全加器連同進(jìn)位信號傳送邏輯,可構(gòu)成一個(gè)n位加法器。以加法器為核心,通過輸入選擇邏輯擴(kuò)展為具有多種算術(shù)和邏輯運(yùn)算功能的ALU。2/6/202356n位加法器設(shè)計(jì)串行進(jìn)位:優(yōu)點(diǎn)是設(shè)計(jì)簡單,成本低,缺點(diǎn)是速度慢,瓶頸在進(jìn)位鏈。

FAFAFAA0B0C0

An-1Bn-1A1B1Cn-1

C1

Cn

S0

S1

Sn-1

C2

2/6/202357設(shè)相加的兩個(gè)n位操作數(shù)為:進(jìn)位為:設(shè):

則:進(jìn)位發(fā)生輸出信號進(jìn)位傳送輸出信號2/6/202358并行進(jìn)位(先行進(jìn)位、同時(shí)進(jìn)位)

C1=G0+P0C0C2=G1+P1C1=G1+P1(G0+P0C0)=G1+P1G0+P1P0C0C3=G2+P2C2=G2+P2(G1+P1(G0+P0C0))=G2+P2G1+P2P1G0+P2P1P0C0C4=G3+P3C3=G3+P3(G2+P2(G1+P1(G0+P1(G0+P0C0)))=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C04位進(jìn)位鏈線路圖594位并行進(jìn)位并行加法器設(shè)計(jì)速度的加快是以增加硬件成本為代價(jià)的FAS0A0B0C0C1先行進(jìn)位邏輯FAS1A1B1C2FAS2A2B2C3FAS3A3B36016位并行進(jìn)位加法器設(shè)計(jì)組內(nèi)并行、組間串行的進(jìn)位鏈四位并行加法器A11B11……A8B8S11S10S9S8

C12

四位并行加法器A7B7A6B6A5B5A4B4S7S6S5S4

C8

四位并行加法器A3B3A2B2A1B1A0B0S3S2S1S0

C4

四位并行加法器A15B15……A12B12S15S14S13S12

C16

C0

2/6/20236116位并行進(jìn)位加法器設(shè)計(jì)組內(nèi)并行、組間并行的進(jìn)位鏈C4=G3+P3C3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C0=G’0+P’0C0

G’0:成組進(jìn)位發(fā)生輸出信號

P’0:成組進(jìn)位傳送輸出信號

四位并行加法器A11B11……A8B8S11…S8

C12

四位并行加法器A7B7……A4B4S7…S4

C8

四位并行加法器A3B3……A0B0S3…S0

C4

四位并行加法器A15B15……A12B12S15…S12

C16

C0

組間先行進(jìn)位鏈G’3P’3G’2P’2G’1P’1G’0P’0

2/6/20236274181多功能算術(shù)邏輯運(yùn)算單元4位,分成正邏輯和負(fù)邏輯兩種。

2/6/20236316位組內(nèi)、組間先行進(jìn)位加法器設(shè)計(jì)74181A11~8B11~8F11…F8

Cn+Z

74181A7~4B7~4F7…F4

Cn+Y

74181A3~0B3~0F3…F0

Cn+X

74181A15~12B15~12F15…F12

G‘’C0

74182G’3P’3G’2P’2G’1P’1G’0P’0

P‘’2/6/2023644、定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)運(yùn)算器的組成:ALU、陣列乘除器、寄存器、數(shù)據(jù)總線等。2/6/202365內(nèi)部總線總線:是連接計(jì)算機(jī)系統(tǒng)各個(gè)部件和裝置的線路,是多個(gè)信息源傳送信息到多個(gè)目的地的數(shù)據(jù)通路??偩€的分類:根據(jù)總線所在位置分:內(nèi)部總線:指CPU內(nèi)各部件的連線,外部總線:也稱系統(tǒng)總線,是CPU與存儲器、I/O系統(tǒng)之間的連線。2/6/202366按總線的邏輯結(jié)構(gòu)分:單向傳送總線:指信息只能向一個(gè)方向傳送;雙向傳送總線:指信息可以分兩個(gè)方向傳送。2/6/202367定點(diǎn)運(yùn)算器的基本結(jié)構(gòu):單總線結(jié)構(gòu)運(yùn)算器:優(yōu)點(diǎn):設(shè)計(jì)、控制簡單;缺點(diǎn):速度慢。ABC2/6/202368雙總線結(jié)構(gòu)運(yùn)算器:缺點(diǎn):設(shè)計(jì)、控制較復(fù)雜;優(yōu)點(diǎn):速度快。ACB2/6/202369三總線結(jié)構(gòu)運(yùn)算器:缺點(diǎn):設(shè)計(jì)、控制復(fù)雜;優(yōu)點(diǎn):速度最快。2/6/202370第6節(jié)浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器1浮點(diǎn)加、減運(yùn)算設(shè)有兩個(gè)浮點(diǎn)數(shù):X=MX*2Ex,Y=MY*2Ey加減運(yùn)算規(guī)則流程:0操作數(shù)的檢查;比較階碼大小并完成對階;提升小的階碼,尾數(shù)相應(yīng)右移變小。尾數(shù)進(jìn)行加或減運(yùn)算;采用補(bǔ)碼運(yùn)算,變減為加。判斷溢出。結(jié)果規(guī)格化(1.M,補(bǔ)碼為:0.1xxx或1.0xxx)尾數(shù)非規(guī)格化,尾數(shù)左移,階碼做減調(diào)整。尾數(shù)溢出,尾數(shù)右移,階碼做加調(diào)整。2/6/202371加減運(yùn)算規(guī)則流程(續(xù)):舍入處理。0舍1入法末位恒1法。IEEE754標(biāo)準(zhǔn):就近舍入、朝0舍入、朝+∞舍入、朝-∞舍入溢出處理階碼上溢:超出最大正數(shù),認(rèn)為為+∞或-∞數(shù)。階碼下溢:超出最小負(fù)數(shù),認(rèn)為為數(shù)據(jù)0。尾數(shù)溢出:尾數(shù)右移,同時(shí)進(jìn)行舍入處理,階碼加1。2/6/202372[例22]設(shè)x=2010×0.11011011,y=2100×(-0.10101100),求x+y。設(shè)階碼和尾數(shù)均用補(bǔ)碼表示,階碼采用雙符號位,字長5位;尾數(shù)單符號位,字長9位。

[x]?。?0010,0.11011011

[y]?。?0100,1.01010100<1>對階△E=Ex-Ey=[Ex]補(bǔ)+[-Ey]補(bǔ)=00010+11100=11110△E=-2,x的階碼小,Mx右移兩位,Ex加2,

[x]浮=00100,0.00110110(11)<2>尾數(shù)求和

0.00110110(11)+1.01010100=1.10001010(11)<3>規(guī)格化處理尾數(shù)非規(guī)格化,左規(guī)處理后:1.00010101(10),階碼為00011。<4>舍入處理采用0舍1入法處理,:1.00010110<5>溢出判斷階碼符號位為00,不溢出。結(jié)果為:x+y=2011×(-0.11101010)

2/6/2023732浮點(diǎn)乘、除運(yùn)算設(shè)有兩個(gè)浮點(diǎn)數(shù):X=MX*2Ex,Y=MY*2Ey浮點(diǎn)乘法運(yùn)算規(guī)則:x×y=2(Ex+Ey)·(Mx×My)浮點(diǎn)除法運(yùn)算規(guī)則:x÷y=2(Ex-Ey)·(Mx÷My)浮點(diǎn)數(shù)的乘除運(yùn)算規(guī)則:0操作數(shù)檢查;階碼加/減操作;尾數(shù)乘/除操作;結(jié)

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論