版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第二章 運(yùn)算方法和運(yùn)算器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)算器返回7/11/202212.1數(shù)據(jù)與文字的表示方法2.1.1數(shù)據(jù)格式2.1.2數(shù)的機(jī)器碼表示2.1.3字符的表示2.1.4漢字的表示2.1.5校驗(yàn)碼7/11/202222.1數(shù)據(jù)與文字的表示方法計(jì)算機(jī)中使用的數(shù)據(jù)可分成兩大類:符號數(shù)據(jù):非數(shù)字符號的表示(ASCII、漢字、圖形等)數(shù)值數(shù)據(jù):數(shù)字?jǐn)?shù)據(jù)的表示方式(定點(diǎn)、浮點(diǎn))計(jì)算機(jī)數(shù)字和字符的表示方法應(yīng)有利于數(shù)據(jù)的存儲、加工(處理)、傳送;編碼:用少量、簡單的基本符號,選擇合適的規(guī)則表示盡量多的信
2、息,同時利于信息處理(速度、方便)7/11/202232.1.1數(shù)據(jù)格式一、復(fù)習(xí)10進(jìn)制和R進(jìn)制之間的轉(zhuǎn)換 R進(jìn)制到10進(jìn)制: 10進(jìn)制到R進(jìn)制:整數(shù)部分:除r取余,r為進(jìn)制基數(shù)小數(shù)部分:乘r取整7/11/202242.1.1數(shù)據(jù)格式 二、數(shù)值數(shù)據(jù) 計(jì)算機(jī)在數(shù)據(jù)、文字的表示方式時,應(yīng)該考慮一下幾個因素:表示的數(shù)據(jù)類型(符號、小數(shù)點(diǎn)、數(shù)值)數(shù)值的范圍數(shù)值精度存儲、處理、傳送的硬件代價7/11/202252.1.1數(shù)據(jù)格式三、計(jì)算機(jī)常用的數(shù)據(jù)表示格式有兩種:定點(diǎn)表示:小數(shù)點(diǎn)位置固定浮點(diǎn)表示:小數(shù)點(diǎn)位置不固定7/11/202262.1.1數(shù)據(jù)格式四、定點(diǎn)表示法所有數(shù)據(jù)的小數(shù)點(diǎn)位置固定不變理論上位置可
3、以任意,但實(shí)際上將數(shù)據(jù)表示有兩種方法(小數(shù)點(diǎn)位置固定-定點(diǎn)表示法/定點(diǎn)格式):純小數(shù)純整數(shù)定點(diǎn)數(shù)表示:帶符號數(shù)不帶符號數(shù)7/11/202271、定點(diǎn)純小數(shù) x0 x1 x2 x3 xn-1 xn表示數(shù)的范圍是 0|12n(最小數(shù)、最大數(shù)、最接近0的正數(shù)、最接近0的負(fù)數(shù))符號量值小數(shù)點(diǎn)固定于符號位之后,不需專門存放位置2.1.1數(shù)據(jù)格式7/11/202282.1.1數(shù)據(jù)格式x=0.00.0 x=1.00.0 x=0正0和負(fù)0都是0 x=0.11.1x=12n最大x=0.00.01x=2n最接近0的正數(shù)x=1.00.01x=2n最接近0的負(fù)數(shù)x=1.11.1x=(12n )最小2、純小數(shù)的表示范圍
4、7/11/202292.1.1數(shù)據(jù)格式3、定點(diǎn)純整數(shù) x0 x1 x2 x3 xn-1 xn表示數(shù)的范圍是 0|2n1最小數(shù)、最大數(shù)、最接近0的正數(shù)、最接近0的負(fù)數(shù)呢符號量值小數(shù)點(diǎn)固定于最后一位之后,不需專門存放位置7/11/2022102.1.1數(shù)據(jù)格式4、定點(diǎn)表示法的特點(diǎn)定點(diǎn)數(shù)表示數(shù)的范圍受字長限制,表示數(shù)的范圍有限;定點(diǎn)表示的精度有限機(jī)器中,常用定點(diǎn)純整數(shù)表示; 如果用定點(diǎn)表示,則如何表示實(shí)數(shù)(包括小數(shù)和整數(shù))呢? -引入浮點(diǎn)7/11/2022112.1.1數(shù)據(jù)格式五、浮點(diǎn)表示:小數(shù)點(diǎn)位置隨階碼不同而浮動1、格式:N=RE.M2、機(jī)器中表示指數(shù)E基數(shù)R,取固定的值,比如10,2等尾數(shù)M階
5、符 階碼 數(shù)符 尾數(shù) 7/11/2022122.1.1數(shù)據(jù)格式3、IEEE754標(biāo)準(zhǔn)(規(guī)定了浮點(diǎn)數(shù)的表示格式,運(yùn)算規(guī)則等)規(guī)則規(guī)定了單精度(32)和雙精度(64)的基本格式. 規(guī)則中,尾數(shù)用原碼,指數(shù)用移碼(便于對階和比較)7/11/2022132.1.1數(shù)據(jù)格式IEEE754標(biāo)準(zhǔn)基數(shù)R=2,基數(shù)固定,采用隱含方式來表示它。32位的浮點(diǎn)數(shù):S數(shù)的符號位,1位,在最高位,“0”表示正數(shù),“1”表示負(fù)數(shù)。M是尾數(shù), 23位,在低位部分,采用純小數(shù)表示E是階碼,8位,采用移碼表示。移碼比較大小方便。規(guī)格化: 若不對浮點(diǎn)數(shù)的表示作出明確規(guī)定,同一個浮點(diǎn)數(shù)的表示就不是惟一的。尾數(shù)域最左位(最高有效位)總
6、是1, 故這一位經(jīng)常不予存儲,而認(rèn)為隱藏在小數(shù)點(diǎn)的左邊。采用這種方式時,將浮點(diǎn)數(shù)的指數(shù)真值e變成階碼E時,應(yīng)將指數(shù)e加上一個固定的偏移值127(01111111),即E=e+127。7/11/2022142.1.1數(shù)據(jù)格式64位的浮點(diǎn)數(shù)中符號位1位,階碼域11位,尾數(shù)域52位,指數(shù)偏移值是1023。因此規(guī)格化的64位浮點(diǎn)數(shù)x的真值為: x=(-1)S(1.M)2E-1023 e=E-1023一個規(guī)格化的32位浮點(diǎn)數(shù)x的真值表示為 x=(-1)S(1.M)2E-127 e=E-1277/11/2022152.1.1數(shù)據(jù)格式真值x為零表示:當(dāng)階碼E為全0且尾數(shù)M也為全0時的值,結(jié)合符號位S為0或1
7、,有正零和負(fù)零之分。真值x為無窮大表示:當(dāng)階碼E為全1且尾數(shù)M為全0時,結(jié)合符號位S為0或1,也有+和-之分。這樣在32位浮點(diǎn)數(shù)表示中,要除去E用全0和全1(25510)表示零和無窮大的特殊情況,指數(shù)的偏移值不選128(10000000),而選127(01111111)。對于規(guī)格化浮點(diǎn)數(shù),E的范圍變?yōu)?到254,真正的指數(shù)值e則為-126到+127。因此32位浮點(diǎn)數(shù)表示的絕對值的范圍是10-381038(以10的冪表示)。浮點(diǎn)數(shù)所表示的范圍遠(yuǎn)比定點(diǎn)數(shù)大。一臺計(jì)算機(jī)中究竟采用定點(diǎn)表示還是浮點(diǎn)表示,要根據(jù)計(jì)算機(jī)的使用條件來確定。一般在高檔微機(jī)以上的計(jì)算機(jī)中同時采用定點(diǎn)、浮點(diǎn)表示,由使用者進(jìn)行選擇。
8、而單片機(jī)中多采用定點(diǎn)表示。7/11/2022162.1.1數(shù)據(jù)格式浮點(diǎn)數(shù)表示范圍如下圖所示7/11/2022172.1.1數(shù)據(jù)格式例1若浮點(diǎn)數(shù)x的754標(biāo)準(zhǔn)存儲格式為(41360000)16,求其浮點(diǎn)數(shù)的十進(jìn)制數(shù)值。解:將16進(jìn)制數(shù)展開后,可得二制數(shù)格式為 0 100 00010011 0110 0000 0000 0000 0000 S 階碼(8位) 尾數(shù)(23位)指數(shù)e=階碼-127=10000010-01111111=00000011=(3)10包括隱藏位1的尾數(shù)1.M=1.011 0110 0000 0000 0000 0000=1.011011于是有x=(-1)S1.M2e=+(1.
9、011011)23=+1011.011=(11.375)107/11/2022182.1.1數(shù)據(jù)格式例2將數(shù)(20.59375)10轉(zhuǎn)換成754標(biāo)準(zhǔn)的32位浮點(diǎn)數(shù)的二進(jìn)制存儲格式。解:首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù):20.59375=10100.10011 然后移動小數(shù)點(diǎn),使其在第1,2位之間 10100.10011=1.01001001124 e=4于是得到: S=0, E=4+127=131, M=010010011 最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲格式為:01000001101001001100000000000000=(41A4C000)167/11/2022192.1.1數(shù)據(jù)
10、格式4、十進(jìn)制數(shù)串的表示字符串形式BCD(壓縮)編碼方式有權(quán)碼: (8421碼、2421碼、5211碼)無權(quán)碼: (余三碼、格雷碼)自定義數(shù)據(jù)表示7/11/2022202.1.2數(shù)的機(jī)器碼表示一、數(shù)的機(jī)器碼表示真值:一般書寫的數(shù)機(jī)器碼:機(jī)器中表示的數(shù), 要解決在計(jì)算機(jī)內(nèi)部數(shù)的正、負(fù)符號和小數(shù)點(diǎn)運(yùn)算問題。原碼反碼補(bǔ)碼移碼7/11/2022211、原碼表示法定點(diǎn)小數(shù)x0.x1x2xn x 1x0 0,正x原= 符號 1-x 0 x -1 1,負(fù)數(shù)有正0和負(fù)0之分范圍2-n-11- 2-n例:x=+0.11001110 x原=0.11001110 -x原=1.110011107/11/2022221
11、、原碼表示法定點(diǎn)整數(shù)X0X1X2Xn x 2nx0 0,正數(shù)x原= 符號 2n-x 0 x -2n 1,負(fù)數(shù)說明:有正0和負(fù)0之分范圍 1 - 2n 2n 1例:x=+11001110 x原=011001110 -x原=1110011107/11/2022231、原碼表示法 原碼特點(diǎn):表示簡單,易于同真值之間進(jìn)行轉(zhuǎn)換,實(shí)現(xiàn)乘除運(yùn)算規(guī)則簡單。進(jìn)行加減運(yùn)算十分麻煩。7/11/2022242、補(bǔ)碼表示法定義:正數(shù)的補(bǔ)碼就是正數(shù)的本身,負(fù)數(shù)的補(bǔ)碼是原負(fù)數(shù)加上模。計(jì)算機(jī)運(yùn)算受字長限制,屬于有模運(yùn)算.定點(diǎn)小數(shù)x0.x1x2.xn溢出量為2,以2為模定點(diǎn)整數(shù)x0 x1x2.xn溢出量為2,以2n+1為模定點(diǎn)
12、小數(shù)x0.x1x2xn x 1x0 0,正數(shù)x補(bǔ)= 符號 2+x 0 x -1 1,負(fù)數(shù)7/11/2022252、補(bǔ)碼表示法例: x= -0.1011 x補(bǔ)=10+x=10.0000-0.1011=1.0101y=-0.01111y補(bǔ)=10+y=10.00000-0.01111=1,10001定點(diǎn)整數(shù)x0 x1x2xn x 2nx0 0,正數(shù),0 x補(bǔ)= 符號 2n+1+x 0 x -2n 1,負(fù)數(shù)7/11/2022262、補(bǔ)碼表示法補(bǔ)碼性質(zhì)高位表明正負(fù)正數(shù)補(bǔ)碼,尾數(shù)與原碼相同范圍-2n2n-1(定點(diǎn)整數(shù))變相補(bǔ)碼(雙符號補(bǔ)碼)為了防止溢出而設(shè)定7/11/2022272、補(bǔ)碼表示法最大的優(yōu)點(diǎn)就
13、是將減法運(yùn)算轉(zhuǎn)換成加法運(yùn)算。 X補(bǔ)-Y補(bǔ)= X補(bǔ)+-Y補(bǔ)例如 X=(11)10=(1011)2 Y=(5)10=(0101)2已知字長n=5位X補(bǔ)-Y補(bǔ) =X補(bǔ)+-Y補(bǔ)=01011+11011=100110=00110=(6)10 注: 最高1位已經(jīng)超過字長故應(yīng)丟掉無正零和負(fù)零之分但是,在求補(bǔ)碼還要減法,電路繁瑣,下面的反碼表示解決著個問題。7/11/2022283、反碼表示法定義:正數(shù)的表示與原、補(bǔ)碼相同,負(fù)數(shù)的補(bǔ)碼符號位為1,數(shù)值位是將原碼的數(shù)值按位取反,就得到該數(shù)的反碼表示。電路容易實(shí)現(xiàn),觸發(fā)器的輸出有正負(fù)之分。7/11/2022293、反碼表示法對尾數(shù)求反,它跟補(bǔ)碼的區(qū)別在于末位少加一
14、個1,所以可以推出反碼的定義定點(diǎn)小數(shù)x0.x1x2xn x 1x0 x反= 2+x 2-n 0 x -1X1=+0.1011011 , X1 反 =0.1011011X2= -0.1011011 , X2 反 =1.0100100 1. 1 1 1 1 1 1 1 0. 1 0 1 1 0 1 1 1. 0 1 0 0 1 0 0 7/11/2022303、反碼表示法x 補(bǔ)=x 反+2-n(證明見書)反碼表示有正0和負(fù)0之分上述公式解決了前邊的問題(求補(bǔ)碼還要減法)定點(diǎn)整數(shù)的反碼定義見書7/11/2022314、移碼表示法移碼表示法(用在階碼中)定點(diǎn)整數(shù)定義 x移=2n+x 2n x-2n 0
15、000000011111111(-2n2n-1)例+1011111 原碼為01011111補(bǔ)碼為01011111 反碼為01011111移碼為 110111117/11/2022324、移碼表示法例-1011111 原碼為11011111補(bǔ)碼為10100001 反碼為10100000移碼為00100001特點(diǎn):移碼和補(bǔ)碼尾數(shù)相同,符號位相反范圍:-2n2n-1P22 浮點(diǎn)IEEE754表示e=-127+12800000000階碼表示數(shù)字”0”,尾數(shù)的隱含位為011111111階碼表示數(shù)字”無窮大” ,尾數(shù)的隱含位為0p21例3-97/11/202233例6以定點(diǎn)整數(shù)為例,用數(shù)軸形式說明原碼、反
16、碼、補(bǔ)碼表示范圍和可能的數(shù)碼組合情況。 7/11/202234例7將十進(jìn)制真值(127,1,0,1,127)列表表示成二進(jìn)制數(shù)及原碼、反碼、補(bǔ)碼、移碼值。7/11/202235例8設(shè)機(jī)器字長16位,定點(diǎn)表示,尾數(shù)15位,數(shù)符1位,問:(1)定點(diǎn)原碼整數(shù)表示時,最大正數(shù)是多少?最小負(fù)數(shù)是多少?(2)定點(diǎn)原碼小數(shù)表示時,最大正數(shù)是多少?最小負(fù)數(shù)是多少?(1)定點(diǎn)原碼整數(shù)表示最大正數(shù)值(2151)10(32767)10最小負(fù)數(shù)值(2151)10(32767)10(2)定點(diǎn)原碼小數(shù)表示 最大正數(shù)值(1215)10(0.111.11)2最小負(fù)數(shù)值(1215)10(0.111.11)2注:1符號,數(shù)字7/
17、11/202236例9假設(shè)由S,E,M三個域組成的一個32位二進(jìn)制字所表示的非零規(guī)格化浮點(diǎn)數(shù),真值表示為(非IEEE754標(biāo)準(zhǔn)):(1)s(1.M)2E128問:它所表示的規(guī)格化的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)、最小負(fù)數(shù)是多少?(1)最大正數(shù)0 1111 1111 111 1111 1111 1111 1111 11111(12-23)2127(2)最小正數(shù) 000 000 000000 000 000 000 000 000 000 001.02128(3)最小負(fù)數(shù)111 111 111111 111 111 111 111 111 111 111(1223)2127(4)最大負(fù)數(shù)100 00
18、0 000000 000 000 000 000 000 000 001.02128 7/11/2022372.1.3字符和字符串(非數(shù)值)的表示方法符號數(shù)據(jù):字符信息用數(shù)據(jù)表示,如ASCII等;字符表示方法ASCII:用一個字節(jié)來表示,低7位用來編碼(128),最高位為校驗(yàn)位,參見教材P24表2.1字符串的存放方法CAI7/11/2022382.1.4漢字的存放漢字的表示方法(一級漢字3755個,二級漢字3008個)輸入碼國標(biāo)碼一級(1655)*94二級(5687)*94圖形符號(682個)(0109)*94拼音、五筆漢字內(nèi)碼:漢字信息的存儲,交換和檢索的機(jī)內(nèi)代碼,兩個字節(jié)組成,每個字節(jié)高位
19、都為1(區(qū)別于英文字符)7/11/2022392.1.4漢字的存放漢字字模碼:漢字字形點(diǎn)陣漢字庫7/11/2022402.1.5校驗(yàn)碼校驗(yàn)碼(只介紹奇偶校驗(yàn)碼)引入:信息傳輸和處理過程中受到干擾和故障,容易出錯。解決方法:是在有效信息中加入一些冗余信息(校驗(yàn)位)奇偶校驗(yàn)位定義設(shè)(01n1)是一個n位字,則奇校驗(yàn)位定義為:C01n1,式中代表按位加,表明只有當(dāng)中包含有奇數(shù)個1時,才使C1,即C0。同理可以定義偶校驗(yàn)。 只能檢查出奇數(shù)位錯;不能糾正錯誤。p26例10自己看一下。其它還有Hamming,CRC7/11/2022412.2 定點(diǎn)加法、減法運(yùn)算2.2.1補(bǔ)碼加減法2.2.2溢出檢測2.2
20、.3基本的加法和減法器2.2.4十進(jìn)制加法器7/11/2022422.2.1補(bǔ)碼加減法補(bǔ)碼加法公式:x+y補(bǔ)=x補(bǔ)+y補(bǔ)補(bǔ)碼減法 為了將減法轉(zhuǎn)變?yōu)榧臃?,需證明公式: x-y補(bǔ)=x補(bǔ)+-y補(bǔ) (證明) 為了求得同時-y補(bǔ),需要證明-y補(bǔ)=乛y補(bǔ)+2-n(意義是-y補(bǔ)等于y補(bǔ)取反,末位加1)7/11/202243補(bǔ)補(bǔ)補(bǔ)證明假設(shè)1, 1, 1 現(xiàn)分四種情況來證明 (1)0,0,則0 補(bǔ)=x, 補(bǔ)=y, 補(bǔ)=x+y所以等式成立.(2)0,0,則0或0時,2 () 2,進(jìn)位2必丟失,又因()0,故補(bǔ)補(bǔ)補(bǔ)當(dāng)0時,2 () 2,又因()0,故補(bǔ)補(bǔ)2()補(bǔ)所以上式成立7/11/202244補(bǔ)補(bǔ)補(bǔ)證明(3)0,
21、則0或 0 這種情況和第2種情況一樣,把和的位置對調(diào)即得證。 (4)0,0,則0 相加兩數(shù)都是負(fù)數(shù),則其和也一定是負(fù)數(shù)。補(bǔ)2,補(bǔ)2補(bǔ)補(bǔ)222(2)上式右邊分為”2”和(2)兩部分.既然()是負(fù)數(shù),而其絕對值又小于1,那么(2)就一定是小于2而大于1的數(shù),進(jìn)位”2”必丟失.又因()x0 x補(bǔ)= 4+x 0 x -2 Sf1 SF2 0 0正確(正數(shù))01上溢10下溢11正確(負(fù)數(shù)) Sf1 表示正確的符號,邏輯表達(dá)式為V=Sf1 Sf2,可以用異或門來實(shí)現(xiàn)7/11/2022502.2.2 溢出的檢測二、檢驗(yàn)舉例:0.1100, 0.1000,求 0.1100, -0.1000,求 結(jié)果出現(xiàn)了01
22、或10的情況就為溢出7/11/2022512.2.2 溢出的檢測2、單符號位法Cf C000正確(正數(shù))01上溢10下溢11正確(負(fù)數(shù))V=Cf C0 其中Cf為符號位產(chǎn)生的進(jìn)位,C0為最高有效位產(chǎn)生7/11/2022522.2.3基本的加法和減法器基本的加法和減法器半加器HiAi Bi不考慮進(jìn)位全加器考慮低位進(jìn)位Ci-1和向高位的進(jìn)位Ci 7/11/202253一位全加器真值表輸入輸出AiBiCiSiCi100000001100101001101100101010111001111117/11/202254FA邏輯方程因?yàn)椋?/11/202255FA邏輯方程邏輯方程見下7/11/202256
23、FA邏輯電路和框圖FA(全加器)邏輯電路圖 FA框圖7/11/202257n位行波進(jìn)位加法器圖2-3行波進(jìn)位的補(bǔ)碼加法/加法器7/11/2022582. 定點(diǎn)乘法運(yùn)算2.3.1 定點(diǎn)原碼乘法2.3.2 定點(diǎn)補(bǔ)碼乘法7/11/2022592.3.1 定點(diǎn)原碼乘法乘法實(shí)現(xiàn)方法在現(xiàn)有的加法和減法器的基礎(chǔ)上增加適當(dāng)?shù)囊詾榫€路及控制邏輯可以實(shí)現(xiàn)用LSI和VLSI工藝實(shí)現(xiàn)專用的乘法器編制子程序(單片機(jī)等低端機(jī)器)7/11/2022601、定點(diǎn)原碼乘法原理x原=xf.xn-1x1x0 y原=yf.yn-1y1y0 x.y原=(xf yf)+(0. xn-1x1x0).(0. yn-1y1y0)尾數(shù)乘法如下:
24、設(shè)0.1101,0.1011 0.1 1 0 1 () 0.1 0 1 1() 1101 1101 0000 1101 0.10001111()7/11/2022611、定點(diǎn)原碼乘法原理n位乘n位積可能為2n位.乘積的最后是所有部分積之和,有n個數(shù)相加,而FA只有兩個輸入端所以需要改造方法一:硬件實(shí)現(xiàn)方法(串行的“加法和移位”),硬件 結(jié)構(gòu)簡單,速度太慢(時間延遲太長).方法二:不帶符號位的陣列乘法器7/11/2022621、定點(diǎn)原碼乘法原理設(shè)0.1101,0.1011求x*y部分積乘數(shù)部分積初始化為0. 0 0 0 00 1 0 1 1 部分積右移,前面補(bǔ)+X0. 1 1 0 1 乘數(shù)最低位
25、為,加上被乘數(shù)-0 1 1 0 10 1 0 1 1 部分積右移,前面補(bǔ)0. 0 1 1 01 0 1 0 1 乘數(shù)最低位為,加上被乘數(shù)+X0 1 1 0 1-1 0 0 1 11 0 1 0 1 部分積右移,前面補(bǔ)0 1 0 0 11 1 0 1 0 乘數(shù)最低位為,加上+00 0 0 0 0-0 1 0 0 11 1 0 1 0部分積右移,前面補(bǔ)0 0 1 0 01 1 1 0 1乘數(shù)最低位為,加上被乘數(shù)+X0 1 1 0 1- 1 0 0 0 11 1 1 0 1部分積右移,前面補(bǔ)0. 1 0 0 01 1 1 1 0運(yùn)算四次結(jié)束,數(shù)值部分運(yùn)算7/11/2022632、不帶符號位的陣列乘法
26、器不帶符號陣列乘法器邏輯圖7/11/2022642、不帶符號位的陣列乘法器7/11/2022653、帶符號位的陣列乘法器求補(bǔ)電路原理:算前求補(bǔ)乘法器算后求補(bǔ),見下圖7/11/2022663、帶符號的陣列乘法器求補(bǔ)電路小結(jié)E=0時,輸入和輸出相等E=1時,則從數(shù)最右端往左邊掃描,直到第一個1的時候,該位和右邊各位保持不變0A=A,左邊各數(shù)值位按位取反1A=乛A可以用符號作為E 的輸入原:1.11110 補(bǔ):1.00010時間延遲分析:轉(zhuǎn)換n+1位帶符號的時間延遲為t=n*2T+5T,其中n*2T為或門延遲時間,5T為最高位與門和異或門的時延。不變,左邊數(shù)值位取反7/11/2022673、帶符號的
27、陣列乘法器(間接法) 原碼補(bǔ)碼7/11/202268舉例(P36)例20用帶求補(bǔ)器原碼乘法器(輸入/出:為原碼)Y=(+15)*(-13)例21用帶求補(bǔ)器補(bǔ)碼乘法器(輸入/出:為補(bǔ)碼)Y=(-15)*(-13)7/11/2022692.4 定點(diǎn)除法運(yùn)算 0.1 1 0 1商q0.1 0 1 1 0.1 0 0 1 0(r0)被除數(shù) 0.0 1 0 1 121除數(shù)右移1位,減除數(shù) 0.0 0 1 1 1 0r1得余數(shù)r1 0.0 0 1 0 1 122除數(shù)右移1位,減除數(shù) 0.0 0 0 0 1 1 0r2得余數(shù)r2 0.0 0 0 1 0 1 123除數(shù)右移1位,不減除數(shù) 0.0 0 0 0
28、1 1 0 0r3得余數(shù)r3 0.0 0 0 0 1 0 1 124除數(shù)右移1位,減除數(shù) 0.0 0 0 0 0 0 0 1r4得余數(shù)r4商0還是商1人可以比較后確定,計(jì)算機(jī)如何確定?余數(shù)末位補(bǔ)0后,減去除數(shù)右移后的值,導(dǎo)致加法器尾數(shù)逐漸增多,最后要求加法器的位數(shù)必須位被除數(shù)的兩倍定點(diǎn)原碼一位除法實(shí)現(xiàn)方案(手工)7/11/202270 定點(diǎn)原碼除法的流程圖 R0 0 ? 第8次循環(huán)? 3a. 商1 3b. R0 + R2 R0, 商0 4. R0, R1左移 1. R0, R1左移, 商0 2. R0 - R2 R0 5. R0右移 Y N N Y R0,R1被除數(shù)/余數(shù),商R2除數(shù)最后一步余
29、數(shù)是負(fù)數(shù),需要修正再加上除數(shù).7/11/2022712、不恢復(fù)余數(shù)的除法加減交替法(不恢復(fù)余數(shù)法)當(dāng)i-1次求商的余數(shù)為正時,下一次求商的辦法是 Ri=2Ri-Y若Ri0時,則I位上商0,而恢復(fù)余數(shù)作加法Ri+Y,下一次即I+1次求商作減法時Ri+1=2(Ri+Y)-Y=2Ri+Y上述式子表明,當(dāng)某一次商差為負(fù)時,本次商0,繼續(xù)求下一位商不必恢復(fù)余數(shù),而直接將商的差值左移動一位,在加Y的辦法得到。7/11/2022722、不恢復(fù)余數(shù)的除法法則:余數(shù)為正,商1,求下一位商的辦法是余數(shù)左移,減除數(shù)余數(shù)為負(fù),商0,求下一位商的辦法是余數(shù)左移,加除數(shù)若最后余數(shù)與被除數(shù)X異號,則需要糾余,增加如下操作:
30、若X、Y同號,用+Y糾余;若X、Y異號,用-Y糾余。例:x=0.1011 y=0.1101 求x/yx補(bǔ)=001011y補(bǔ)=001101-y補(bǔ)= .計(jì)算過程如下:7/11/202273 001011 00000 開始 110011 -y 111110 00000 為負(fù),商0 111100 00000 左移一位 001101 + y 001001 00001 為正,商1 010010 00010 左移一位 110011 -y 000101 00011 為正,商1 001010 00110 左移一位 110011 -y 111101 00110 為負(fù),商0 111010 01100 左移一位 00
31、1101 + y 000111 01101 為正,商1被除數(shù)商說明7/11/2022742、不恢復(fù)余數(shù)的除法則x/y=0.1101余數(shù)為0.0111*2-4(左移了4次)小結(jié):判斷溢出/”0”商的符號由被除數(shù)的符號和除數(shù)的符號共同決定被除數(shù)的位數(shù)可以是除數(shù)位數(shù)的兩倍,地位開始放于商的寄存器中.最后一步余數(shù)是負(fù)數(shù)(需要回復(fù)余數(shù)),需要修正再加上除數(shù),移位.直到為正7/11/202275可控的加法/減法單元CAS單元P=0,作加法運(yùn)算P=1,作減法運(yùn)算第一行:P=1減法運(yùn)算;不恢復(fù)余數(shù)算法除數(shù)右代替部分積左依x/y商Q=0.q3q2q1余數(shù)R=0.00r6r5r4r37/11/2022762.3.
32、4 并行除法器可控的加法/減法單元CAS單元P=0,作加法運(yùn)算P=1,作減法運(yùn)算7/11/2022772.3.4 并行除法器上級商,作為下一級的P(控制端)輸入。7/11/202278舉例p44例230.101001, 0.111, 求。解:補(bǔ)1.001 除數(shù)右移被除數(shù)0.1 0 1 0 0 1減1.0 0 1 余數(shù)為負(fù)1.1 1 0 0 0 1 0q00加0.0 1 1 1 余數(shù)為正0.0 0 1 1 0 1 0q11減1.1 1 0 0 1 余數(shù)為負(fù)1.1 1 1 1 1 10q20加0.0 0 0 1 1 1余數(shù)為正0.0 0 0 1 1 0 0q31故得商 qq0.q1q2q30.10
33、1 余數(shù) r(0.00r3r4r5r6)0.000110 7/11/2022792.5 定點(diǎn)運(yùn)算器的組成2.5.1 邏輯運(yùn)算2.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU2.5.3 內(nèi)部總線2.5.4 定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)7/11/2022802.5.1 邏輯運(yùn)算自學(xué)P447/11/2022812.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU多功能算術(shù)/邏輯運(yùn)算單元ALU,本節(jié)介紹的是74LS181的基本邏輯結(jié)構(gòu)是先行進(jìn)位加法器,通過改變其輸入端Ai和Bi來實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算功能。怎樣實(shí)現(xiàn)呢?基本思想:一位全加器FA的邏輯表達(dá)式:為了實(shí)現(xiàn)多種算術(shù)邏輯運(yùn)算,可將Ai和Bi輸入一個函數(shù)發(fā)生器(進(jìn)位傳遞函
34、數(shù)和進(jìn)位產(chǎn)生函數(shù))得到輸出Xi和Yi,作為一位全加器的輸入(見下頁圖)。7/11/202282加法器FA、減法單元CAS和一位ALU邏輯圖一位ALU邏輯圖7/11/202283ALU的邏輯圖與邏輯表達(dá)式7/11/202284S0 S1 Yi S2 S3 Xi 0001101 10001101 11XiYi 與控制參數(shù)和輸入量的關(guān)系構(gòu)造如下真值表2.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU7/11/2022852.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU1、可以證明:Xi+Yi=Xi Xi.Yi=Yi(自己試試看)2、進(jìn)一步化簡得到下式7/11/2022862.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU
35、ALU的某一位邏輯表達(dá)式見下:7/11/202287例如:S3S2S0S10000代入:則可以處理16種算術(shù)邏輯運(yùn)算,每種運(yùn)算只針對1位二進(jìn)制編碼?思考:如何設(shè)計(jì)4位ALU?16位呢?2.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU7/11/2022882.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU4位ALU 問題1:片內(nèi)是串行進(jìn)位還是并行進(jìn)位?回答:由上圖結(jié)構(gòu)中可以看出 Cn1Y0X0Cn Cn2Y1X1Cn1 Cn3Y2X2Cn2 Cn4Y3X3Cn3 顯然是一個串行進(jìn)位,速度慢,為了實(shí)現(xiàn)快速ALU,需加以改進(jìn)。7/11/2022892.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU上述片內(nèi)進(jìn)位采用串行,具
36、有延時長的缺點(diǎn)如何改進(jìn)?思考:Cni與X、Y有關(guān),而每一位中X、Y的產(chǎn)生是不是同時的?答:由于每一位中X、Y的產(chǎn)生是同時的,則可以由下面方法算出并行進(jìn)位的Cn4 第0位向第1位的進(jìn)位公式為Cn1Y0X0Cn(1)其中C是向第0位(末位)的進(jìn)位。第1位向第2位的進(jìn)位公式為Cn2Y1X1Cn1Y1Y0X1X0X1Cn( Cn1用(1)式代入)第2位向第3位的進(jìn)位公式為Cn3Y2X2Cn2Y2Y1X1Y0X1X2X0X1X2Cn第3位的進(jìn)位輸出(即整個4位運(yùn)算進(jìn)位輸出)公式為Cn4Y3X3Cn3Y3Y2X3Y1X2X3Y0X1X2X3X0X1X2X3Cn 7/11/2022902.5.2 多功能算術(shù)
37、/邏輯運(yùn)算單元ALU令GY3Y2X3Y1X2X3Y0X1X2X3 PX0X1X2X3G為進(jìn)位發(fā)生輸出 P為進(jìn)位傳送輸出增加P和G的目的在于實(shí)現(xiàn)多片(組)ALU之間的先行進(jìn)位,需要配合電路,稱為先行進(jìn)位發(fā)生器(CLA)器件: 741817/11/2022912.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU具有正邏輯和負(fù)邏輯兩種內(nèi)部邏輯結(jié)構(gòu)圖見下頁7/11/20229274181ALU邏輯圖(1)7/11/20229374181ALU邏輯圖(2)7/11/20229474181ALU邏輯圖(2)P GX3Y3X2Y2X1Y1X0Y0 C0GY3Y2X3Y1X2X3Y0X1X2X3PX0X1X2X37/1
38、1/20229574181ALU邏輯圖(總體)7/11/2022962.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU算術(shù)邏輯運(yùn)算的實(shí)現(xiàn)(74181)M=L時,對進(jìn)位信號沒有影響,做算術(shù)運(yùn)算M=H時,進(jìn)位門被封鎖,做邏輯運(yùn)算說明:74181執(zhí)行正邏輯輸入/輸出方式的一組算術(shù)運(yùn)算和邏輯運(yùn)算和負(fù)邏輯輸入/輸出方式的一組算術(shù)運(yùn)算和邏輯運(yùn)算是等效的。A=B端可以判斷兩個數(shù)是否相等。7/11/2022972.5.2 多功能算術(shù)/邏輯運(yùn)算單元ALU設(shè)計(jì)16位ALUCn+x=G0+P0Cn Cn+y=G1+P1Cn+x Cn+x=G2+P2Cn+y Cn+4=G3+P3Cn+z片內(nèi)先行進(jìn)位,片間串行進(jìn)位7/11/2
39、022982.4.3 先行進(jìn)位ALU兩級先行進(jìn)位的ALU4片(組)的先行進(jìn)位邏輯Cn+x=G0+P0Cn Cn+y=G1+P1Cn+x=G1+G0P1+P0P1Cn Cn+x=G2+P2Cn+y =G2+G1P2+G0P1P2+P0P1P2Cn Cn+4=G3+P3Cn+z =G3+G2P3+G1P2P3+G0P1P2P3+P0P1P2P3Cn =G*+P*CnG*為成組先行進(jìn)位發(fā)生輸出P*為成組先行進(jìn)位傳送輸出7/11/202299成組先行進(jìn)位部件CLA的邏輯圖7/11/20221002.4.3 先行進(jìn)位ALU例:設(shè)計(jì)16位先行進(jìn)位ALU(圖2.13)內(nèi)先行進(jìn)位,片間先行進(jìn)位.7/11/20
40、2210132位ALU邏輯方框圖 2個74L1828個4位ALU74L1817/11/202210264位組間先行進(jìn)位ALU7/11/20221032.5.3內(nèi)部總線內(nèi)部總線機(jī)器內(nèi)部各部份數(shù)據(jù)傳送頻繁,可以把寄存器間的數(shù)據(jù)傳送通路加以歸并,組成總線結(jié)構(gòu)。分類所處位置內(nèi)部總線(CPU內(nèi))外部總線(系統(tǒng)總線)邏輯結(jié)構(gòu)單向傳送總線雙向傳送總線圖(2-14)7/11/2022104三態(tài)門組成的雙向數(shù)據(jù)總線7/11/2022105由三態(tài)門組成的數(shù)據(jù)總線7/11/20221062.5.4定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)1、單總線結(jié)構(gòu)的運(yùn)算器7/11/20221072.5.4定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)2、雙總線結(jié)構(gòu)的運(yùn)算器7
41、/11/20221082.5.4定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)3、三總線結(jié)構(gòu)的運(yùn)算器7/11/20221092.6 浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器2.6.1 浮點(diǎn)加法、減法運(yùn)算2.6.2 浮點(diǎn)乘法、除法運(yùn)算2.6.3 浮點(diǎn)運(yùn)算流水線2.6.4 浮點(diǎn)運(yùn)算器實(shí)例7/11/20221102.6.1 浮點(diǎn)加法、減法運(yùn)算1、浮點(diǎn)加減運(yùn)算設(shè)有兩個浮點(diǎn)數(shù)和,它們分別為2EM2EM其中E和E分別為數(shù)和的階碼,M和M為數(shù)和的尾數(shù)。兩浮點(diǎn)數(shù)進(jìn)行加法和減法的運(yùn)算規(guī)則是(M2EEM)2E,設(shè)E0,表示EE;若EE。當(dāng)EE 時,要通過尾數(shù)的移動以改變E或E,使之相等。7/11/2022114原則:小階向大階設(shè)E0,表示EE,則移動y的
42、尾數(shù),M右移E位,問題:為什么要小階向大階看齊?階差=Ex-Ey=00 010- 00 100 =11 110即階差為-2,Mx右移兩位,Ex加2x=00100 , 0.00110110(11)2.6.1 浮點(diǎn)加法、減法運(yùn)算7/11/20221152.6.1 浮點(diǎn)加法、減法運(yùn)算3、尾數(shù)相加00.00110110(11)+11.01010100=11.10001010(11)4、結(jié)果規(guī)格化(1)在浮點(diǎn)加減運(yùn)算時,尾數(shù)求和的結(jié)果也可以得到01.或10.,即兩符號位不等,此時將運(yùn)算結(jié)果右移以實(shí)現(xiàn)規(guī)格化表示,稱為向右規(guī)格化。規(guī)則:尾數(shù)右移1位,階碼加1(2)結(jié)果是00.0.01.或11.1.10.時,
43、則向左規(guī)格化規(guī)則:尾數(shù)左移1位,階碼減1,直到規(guī)格化右規(guī),階碼加1,左規(guī),階碼減1剛才例子左規(guī)為11.00010101(10),階碼減1為00011練習(xí):01.1101 10.0001 11.10017/11/20221162.6.1 浮點(diǎn)加法、減法運(yùn)算舍入處理(對階和向右規(guī)格化時)就近舍入(0舍1入):類似”四舍五入”,丟棄的最高位為1,進(jìn)1朝0舍入:截尾朝舍入:正數(shù)多余位不全為”0”,進(jìn)1;負(fù)數(shù),截尾朝 舍入:負(fù)數(shù)多余位不全為”0”,進(jìn)1;正數(shù),截尾例子溢出判斷和處理階碼上溢,一般將其認(rèn)為是和 。階碼下溢,則數(shù)值為0尾數(shù)上溢,兩個同符號位的數(shù)相加。處理方法是尾數(shù)右移,階碼 加1。尾數(shù)下溢。
44、尾數(shù)右移時,最低位從最右端流出。進(jìn)行要進(jìn)行舍入處理 。7/11/2022117設(shè)1補(bǔ)11.01100000,2補(bǔ)11.01100001,3補(bǔ)11.01101000,4補(bǔ)11.01111001, 求執(zhí)行只保留小數(shù)點(diǎn)后4位有效數(shù)字的舍入操作值。課堂作業(yè)7/11/20221182.6.1 浮點(diǎn)加法、減法運(yùn)算課堂練習(xí):x=0.1101*201 y=-0.1010*211尾數(shù)和階符都采用補(bǔ)碼表示,都采用雙符號位表示法。求x+y7/11/20221192.6.1 浮點(diǎn)加法、減法運(yùn)算x浮=0001,00.1101y浮=0011,11.0110階差=1110 即為-2Mx應(yīng)當(dāng)右移2位,x浮=0011,00.0
45、011(01)尾數(shù)和為11.1001(01)左規(guī)11.0010(10),階碼減1為0010舍入(就近舍入)11.0011 丟棄10 x+y=-0.1101*2107/11/20221202.6.2 浮點(diǎn)乘法和除法運(yùn)算設(shè)有兩個浮點(diǎn)數(shù)和:2EM2EM2(EE)(MM)2(EE)(MM)乘除運(yùn)算分為四步0操作數(shù)檢查階碼加減操作尾數(shù)乘除操作結(jié)果規(guī)格化和舍入處理7/11/20221212.6.2 浮點(diǎn)乘法和除法運(yùn)算浮點(diǎn)數(shù)的階碼運(yùn)算(移碼的運(yùn)算規(guī)則)X移+Y移=2n+X+Y移原因是什么呢?7/11/20221222.6.2 浮點(diǎn)乘法和除法運(yùn)算移碼采用雙符號位,為了對溢出進(jìn)行判斷01 為正 00 為負(fù)10
46、上溢 11 下溢011,110,求移 和 移,并判斷是否溢出。 移01 011, 補(bǔ)00 110, 補(bǔ)11 010移移補(bǔ)10 001, 結(jié)果上溢。 移移補(bǔ)00 101, 結(jié)果正確,為3。7/11/20221232.6.2 浮點(diǎn)乘法和除法運(yùn)算尾數(shù)處理截斷舍入尾數(shù)用原碼表示時只要尾數(shù)最低為1或者移出位中有1數(shù)值位,使最低位置10舍1入尾數(shù)用補(bǔ)碼表示時(p57例30)丟失的位全為0,不必舍入。丟失的最高位為0,以后各位不全為0時;或者最高為1,以后各位全為0時,不必舍入。丟失的最高位為1,以后各位不全為0時,則在尾數(shù)的最低位入1的修正操作。7/11/20221242.6.2 浮點(diǎn)乘法和除法運(yùn)算 設(shè)有
47、浮點(diǎn)數(shù)250.0110011,23(0.1110010),階碼用4位移碼表示,尾數(shù)(含符號位)用8位補(bǔ)碼表示。求浮。要求用補(bǔ)碼完成尾數(shù)乘法運(yùn)算,運(yùn)算結(jié)果尾數(shù)保留高8位(含符號位),并用尾數(shù)低位字長值處理舍入操作。7/11/2022125解:移碼采用雙符號位,尾數(shù)補(bǔ)碼采用單符號位,則有 M補(bǔ)0.0110011, M補(bǔ)1.0001110,E移01 011, E補(bǔ)00 011, E移00 011,浮00 011, 0.0110011, 浮01 011, 1.0001110(1)判斷操作是否為”0”,求階碼和EE移E移E補(bǔ)00 01100 01100 110, 值為移碼形式2。(2) 尾數(shù)乘法運(yùn)算可采用補(bǔ)碼陣列乘法器實(shí)現(xiàn),即有M補(bǔ)M補(bǔ)0.0110011補(bǔ)1.0001110補(bǔ) 1.1010010,1001010補(bǔ)(3) 規(guī)格化處理 乘積的尾
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年駕駛員培訓(xùn)合同:安全駕駛知識傳授
- 2024印刷宣傳冊年度生產(chǎn)、印刷及后期加工合同3篇
- 2024年股票交易居間協(xié)議
- 2024年豪華KTV租賃合同樣本3篇
- 2024年高端醫(yī)療服務(wù)外包合同
- 2025年度膩?zhàn)赢a(chǎn)品綠色環(huán)保認(rèn)證銷售合同3篇
- 2024幼兒園教職工綜合保障聘用合同示范文本3篇
- 2025產(chǎn)業(yè)園智慧園區(qū)建設(shè)與運(yùn)營管理服務(wù)合同范本3篇
- 2025年度池塘水利工程設(shè)施建設(shè)與維護(hù)合同3篇
- 雙重預(yù)防體系材料明細(xì)5篇范文
- 【大單元教學(xué)】Unit 8 單元整體教學(xué)設(shè)計(jì)
- 學(xué)生自主管理實(shí)施方案10篇
- 亞朵酒店管理手冊
- 紀(jì)檢機(jī)關(guān)查辦案件分析報告
- 高一期末家長會課件
- 文化藝術(shù)中心行業(yè)技術(shù)創(chuàng)新及應(yīng)用
- 2024年航空職業(yè)技能鑒定考試-航空乘務(wù)員危險品歷年考試高頻考點(diǎn)試題附帶答案
- 精神病院設(shè)置可行性方案
- 2024版全文:中國2型糖尿病預(yù)防及治療指南
- 《工程地質(zhì)勘察 》課件
- 廣東省(廣州市)職業(yè)技能鑒定申請表-模板
評論
0/150
提交評論