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

下載本文檔

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

文檔簡介

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

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

1011.0101

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

0≤|x|≤1-2-n

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

0≤|x|≤2n-1

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

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

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

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

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

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

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

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

浮點數(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位浮點數(shù)的二進制存儲格式。[解:](20.59375)10=(10100.10011)2=1.010010011×24

則S=0,

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

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

101001001100000000000000=(41A4C000)16

2/6/2023133、數(shù)的機器碼表示(1)、真值與機器數(shù)真值:根據(jù)書寫習(xí)慣,用正負(fù)號加絕對值表示的數(shù)值。機器數(shù):計算機內(nèi)用的,將數(shù)符一起數(shù)碼化的數(shù)。計算機常用機器數(shù)又分成原碼、補碼、反碼和移碼表示法。機器數(shù)形式的二進制位數(shù)因受機器字長的限制,其數(shù)的表示范圍和精度相應(yīng)受到限制,無法表示時,便產(chǎn)生溢出。例8:真值:+1011-10118位字長定點數(shù):0000101110001011真值:+0.1011-0.10118位字長定點數(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原碼的特點符號位用0表示正數(shù),1表示負(fù)數(shù),數(shù)值部分用二進制數(shù)的絕對值表示的方法。0的原碼有兩個,“正零”和“負(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)、補碼表示法定義:把某數(shù)X加上模數(shù)M,稱為以M為模的X的補碼。[X]補=(M+X)模M。位長為n+1的整數(shù)的模為2n+1,小數(shù)的模為2:

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

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

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

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

[+59]移=10000000+111011=10111011[-59]移=10000000-111011=01000101移碼的符號位與原碼、補碼相反,1為正,0為負(fù)。X的移碼和補碼符號位相反其余位相同,故移碼可以先求數(shù)的補碼,再將符號取反即得。0的移碼只有一個,[0]移=10000000。移碼一般用于浮點數(shù)的階碼表示。移碼一般以整數(shù)形式出現(xiàn),其數(shù)值范圍與補碼相同。2/6/202322例11[9]假設(shè)由S,E,M三個域組成的一個32位二進制字所表示的非零規(guī)格化浮點數(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ù)(絕對值最小)

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

x=-1.0×2-128

2/6/2023244、字符與字符串的表示方法美國國家信息交換標(biāo)準(zhǔn)代碼,簡稱ASCII碼7位二進制編碼,能表示27=128種國際上最通用的西文文字。ASCII碼包括4類最常用的字符。數(shù)字:包括0~910個數(shù)字字符。通用字符:“+”、“-”、“=”、“*”、“/”等共32個。字母:包括26個大寫字母和26個小寫字母??刂谱址喊崭瘢樱小⒒剀嚕茫?、換行LF等共34個。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ù)字碼拼音碼字形碼機內(nèi)碼輸出碼點陣式矢量式2/6/2023275校驗技術(shù)校驗的方法是讓寫入的信息符合某種規(guī)律,在讀出時檢驗信息是否符合這一規(guī)律,如符合可判定讀出信息正確,否則有誤。目前使用的校驗方法常采用冗余校驗思想,即:有效信息位+校驗位校驗碼譯碼糾錯2/6/202328奇偶校驗碼

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

101100011

約定校驗碼中1的個數(shù)為奇數(shù)/偶數(shù)。偶校驗碼

101100010

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

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

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

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

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

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

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

=Ai⊕Bi⊕

Ci

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

0000010100111001011101110010100110010111FASiAiBiCiCi+1=AiBi+BiCi+CiAi2/6/202340n位加法器可由多個1位加法器級聯(lián)實現(xiàn)(行波進位加法器)。優(yōu)點是節(jié)省器件,成本低,缺點是有延時傳遞,速度慢。補碼減法器可由加法器實現(xiàn)。FAS0A0B0MC1FAS1A1B1C2FASn-2An-2Bn-2Cn-2Cn-1FASn-1An-1Bn-1CiCn2/6/202341第3節(jié)定點乘法運算1、原碼乘法規(guī)則:符號與數(shù)值分開計算,乘積的數(shù)值部分是兩個正數(shù)相乘之積。乘積符號的運算法則是:同號相乘為正,異號相乘為負(fù)??捎僧惢?qū)崿F(xiàn)。例x=1101,y=1011.求x*y.2/6/202342不帶符號陣列乘法器:設(shè)有兩個不帶符號的二進制整數(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ù)可以直接運算;補碼數(shù)據(jù)需轉(zhuǎn)換成原碼后再運算。求補器設(shè)計。2/6/202347帶符號的陣列乘法器設(shè)計2/6/202348[例18]設(shè)x=-15,y=-13,用補碼求x*y[解:][x]補=10001,[y]補=10011符號部分xn⊕yn=1⊕1=0數(shù)值部分|x|=1111,|y|=11011111=15

×)1101=131111

0000

11111

11111

.1100001

[x*y]補=01100001x*y=1952/6/202349第4節(jié)定點除法運算1、原碼除法規(guī)則:符號與數(shù)值分開計算,商的數(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]補=0.101001

[y]補=0.111

[-y]補=1.001

0.101001

+[-y]補1.001.

01.110001

+[y]補

0.0111.

10001101

+[-y]補

1.11001.

01.111111+[y]補

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é)定點運算器的組成1、計算機運算器功能完成對二進制代碼的定點算術(shù)和邏輯運算。算術(shù)運算:加、減、乘、除;邏輯運算:邏輯非、邏輯加、邏輯乘、邏輯異。根據(jù)運算結(jié)果給出狀態(tài):有無溢出、有無進位、結(jié)果是否為零等。2/6/2023552、算術(shù)邏輯運算部件的實現(xiàn)核心部件:1位全加器;n位全加器連同進位信號傳送邏輯,可構(gòu)成一個n位加法器。以加法器為核心,通過輸入選擇邏輯擴展為具有多種算術(shù)和邏輯運算功能的ALU。2/6/202356n位加法器設(shè)計串行進位:優(yōu)點是設(shè)計簡單,成本低,缺點是速度慢,瓶頸在進位鏈。

FAFAFAA0B0C0

An-1Bn-1A1B1Cn-1

C1

Cn

S0

S1

Sn-1

C2

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

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

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位進位鏈線路圖594位并行進位并行加法器設(shè)計速度的加快是以增加硬件成本為代價的FAS0A0B0C0C1先行進位邏輯FAS1A1B1C2FAS2A2B2C3FAS3A3B36016位并行進位加法器設(shè)計組內(nèi)并行、組間串行的進位鏈四位并行加法器A11B11……A8B8S11S10S9S8

C12

四位并行加法器A7B7A6B6A5B5A4B4S7S6S5S4

C8

四位并行加法器A3B3A2B2A1B1A0B0S3S2S1S0

C4

四位并行加法器A15B15……A12B12S15S14S13S12

C16

C0

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

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

P’0:成組進位傳送輸出信號

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

C12

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

C8

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

C4

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

C16

C0

組間先行進位鏈G’3P’3G’2P’2G’1P’1G’0P’0

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

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

[x]?。?0010,0.11011011

[y]浮=00100,1.01010100<1>對階△E=Ex-Ey=[Ex]補+[-Ey]補=00010+11100=11110△E=-2,x的階碼小,Mx右移兩位,Ex加2,

[x]?。?0100,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浮點乘、除運算設(shè)有兩個浮點數(shù):X=MX*2Ex,Y=MY*2Ey浮點乘法運算規(guī)則:x×y=2(Ex+Ey)·(Mx×My)浮點除法運算規(guī)則:x÷y=2(Ex-Ey)·(Mx÷My)浮點數(shù)的乘除運算規(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論