計算機組成原理考研知識點非常全_第1頁
計算機組成原理考研知識點非常全_第2頁
計算機組成原理考研知識點非常全_第3頁
已閱讀5頁,還剩143頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、WORD格式.計算機組成原理一, 計算機系統(tǒng)概述(一 ) 計算機發(fā)展歷程第一臺電子計算機 ENIAC 誕生于 1946年美國賓夕法尼亞大學 .ENIAC 用了 18000電子管 ,1500 繼電器 ,重 30 噸 ,占地 170m 2,耗電 140kw, 每秒計算 5000次加法 .馮 ?諾依曼 (VanNeumann)首次提出存儲程序概念 ,將數(shù)據(jù)和程序一起放在存儲器 ,使編程更加方便.50 年來 ,雖然對馮 ?諾依曼機進行很多改革,但結(jié)構(gòu)變化不大 ,仍稱馮 ?諾依曼機 .一般把計算機的發(fā)展分為五個階段:發(fā)展階段時間硬件技術(shù)速度 /( 次/ 秒)第一代1946-1957電子管計算機時代40

2、000第二代1958-1964晶體管計算機時代200 000第三代1965-1971中小規(guī)模集成電路計算機時代1 000 000第四代1972-1977大規(guī)模集成電路計算機時代10 000 000第五代1978- 現(xiàn)在超大規(guī)模集成電路計算機時代100 000 000ENIAC(Electronic Numerical Integrator And Computer)電子數(shù)字積分機和計算機EDVAC(Electronic Discrete Variable Automatic Computer)電子離散變量計算機組成原理是講硬件結(jié)構(gòu)的系統(tǒng)結(jié)構(gòu)是講結(jié)構(gòu)設(shè)計的摩爾定律微芯片上的集成管數(shù)目每3 年翻兩

3、番 .處理器的處理速度每18 個月增長一倍 .每代芯片的成本大約為前一代芯片成本的兩倍新摩爾定律全球入網(wǎng)量每6 個月翻一番 .數(shù)學家馮 ·諾依曼 (von Neumann) 在研究 EDVAC 機時提出了 “儲存程序 ”的概念 .以此為基礎(chǔ)的各類計算機通稱為馮 ·諾依曼機 .它有如下特點 : 計算機由運算器,控制器 ,存儲器 ,輸入和輸出五部分組成 指令和數(shù)據(jù)以同等的地位存放于存儲器內(nèi),并可按地址尋訪 指令和數(shù)據(jù)均用二進制數(shù)表示 指令由操作碼和地址碼組成,操作碼用來表示操作的性質(zhì),地址碼用來表示操作數(shù)在存儲器中的位置 指令在存儲器內(nèi)按順序存放 機器以運算器為中心,輸入輸出設(shè)

4、備與存儲器間的數(shù)據(jù)傳送通過運算器完成圖中各部件的功能·運算器用來完成算術(shù)運算和邏輯運算并將的中間結(jié)果暫存在運算器內(nèi)·存儲器用來存放數(shù)據(jù)和程序·控制器用來控制,指揮程序和數(shù)據(jù)的輸入, 運行以及處理運行結(jié)果·輸入設(shè)備用來將人們熟悉的信息轉(zhuǎn)換為機器識別的信息·輸出設(shè)備將機器運算結(jié)果轉(zhuǎn)為人熟悉的信息形式專業(yè)資料整理Word 完美格式.運算器最少包括3 個寄存器 (現(xiàn)代計算機內(nèi)部往往設(shè)有通用寄存器)和一個算術(shù)邏輯單元(ALU ArithmeticLogicUnit). 其中 ACC(Accumulator)為累加器 ,MQ(Multiplier-Quot

5、ientRegister) 為乘商寄存器 ,X 為操作數(shù)寄存器,這 3個寄存器在完成不同運算時,說存放的操作數(shù)類別也各不相同.Word 完美格式.計算機的主要硬件指標Word 完美格式.(4.a)主機完成一條指令的過程 以取數(shù)指令為例(4.b)主機完成一條指令的過程 以存數(shù)指令為例Word 完美格式.(二 ) 計算機系統(tǒng)層次結(jié)構(gòu)1. 計算機硬件的基本組成計算機硬件主要指計算機的實體部分,通常有運算器 ,控制器 ,存儲器 ,輸入和輸出五部分.CPU 是指將運算器和控制器集成到一個電路芯片中.2. 計算機軟件的分類計算機軟件按照面向?qū)ο蟮牟煌煞謨深?系統(tǒng)軟件 :用于管理整個計算機系統(tǒng) ,合理分配

6、系統(tǒng)資源 ,確保計算機正常高效地運行 ,這類軟件面向系統(tǒng) .(包括 :標準程序庫 ,語言處理程序 ,OS,服務程序 ,數(shù)據(jù)庫管理系統(tǒng),網(wǎng)絡軟件 )應用軟件 :是面向用戶根據(jù)用戶的特殊要求編制的應用程序,這類軟件通常實現(xiàn)用戶的某類要求.3. 計算機的工作過程(1)計算機的工作過程就是執(zhí)行指令的過程指令由操作碼和操作數(shù)組成:操作碼指明本指令完成的操作操作碼地址碼地址碼指明本指令的操作對象(2)指令的存儲指令按照存儲器的地址順序連續(xù)的存放在存儲器中.(3)指令的讀取為了紀錄程序的執(zhí)行過程,需要一個記錄讀取指令地址的寄存器,稱為指令地址寄存器,或者程序計數(shù)器 .指令的讀取就可以根據(jù)程序計數(shù)器所指出的指

7、令地址來決定讀取的指令,由于指令通常按照地址增加的順序存放 ,故此 ,每次讀取一條指令之后,程序計數(shù)器加一就為讀取下一條指令做好準備.(4)執(zhí)行指令的過程在控制器的控制下,完成以下三個階段任務:1)取指令階段按照程序計數(shù)器取出指令,程序計數(shù)器加一2)指令譯碼階段分析操作碼 ,決定操作內(nèi)容 ,并準備操作數(shù)3)指令執(zhí)行階段執(zhí)行操作碼所指定內(nèi)容(三 ) 計算機性能指標1. 吞吐量 ,響應時間(1) 吞吐量 :單位時間內(nèi)的數(shù)據(jù)輸出數(shù)量 .(2) 響應時間 :從事件開始到事件結(jié)束的時間 ,也稱執(zhí)行時間 .2. CPU 時鐘周期 ,主頻 ,CPI,CPU 執(zhí)行時間Word 完美格式.(1) CPU 時鐘周

8、期 :機器主頻的倒數(shù) ,TC(2)主頻 :CPU 工作主時鐘的頻率,機器主頻Rc(3)CPI:執(zhí)行一條指令所需要的平均時鐘周期(4)CPU 執(zhí)行時間 :TCPU=In ×CPI×TCIn 執(zhí)行程序中指令的總數(shù)CPI 執(zhí)行每條指令所需的平均時鐘周期數(shù)TC 時鐘周期時間的長度3. MIPS,MFLOPS(1)MIPS:(Million Instructions Per Second)Te:執(zhí)行該程序的總時間= 指令條數(shù) /(MIPS ×)In:執(zhí)行該程序的總指令數(shù)Rc:時鐘周期Tc 的到數(shù)MIPS 只適合評價標量機 ,不適合評價向量機 .標量機執(zhí)行一條指令 ,得到一個

9、運行結(jié)果 .而向量機執(zhí)行一條指令 , 可以得到多個運算結(jié)果 .(2) MFLOPS: (Million Floating Point Operations Per Second) MFLOPS=Ifn/(Te × )Ifn: 程序中浮點數(shù)的運算次數(shù)MFLOPS 測量單位比較適合于衡量向量機的性能 .一般而言 ,同一程序運行在不同的計算機上時往往會執(zhí)行不同數(shù)量的指令數(shù) ,但所執(zhí)行的浮點數(shù)個數(shù)常常是相同的 .特點:1. MFLOPS 取決于機器和程序兩方面 ,不能反映整體情況 ,只能反映浮點運算情況2. 同一機器的浮點運算具有一定的同類可比性 ,而非同類浮點操作仍無可比性當前微處理器的發(fā)

10、展重點 進一步提高復雜度來提高處理器性能 通過線程進程級的并發(fā)性提高處理器性能 將存儲器集成到處理器芯片來提高處理器性能 發(fā)展嵌入式處理器軟件開發(fā)有以下幾個特點1) 開發(fā)周期長2) 制作成本昂貴3) 檢測軟件產(chǎn)品質(zhì)量的特殊性計算機的展望一、計算機具有類似人腦的一些超級智能功能要求計算機的速度達1015/ 秒二、芯片集成度的提高受以下三方面的限制? 芯片集成度受物理極限的制約Word 完美格式.? 按幾何級數(shù)遞增的制作成本? 芯片的功耗 、散熱、線延遲計算機輔助設(shè)計 CAD 計算機輔助制造 CAM計算機輔助工藝規(guī)劃計算機輔助工程計算機輔助教學Computer Aided Process Plan

11、ning Computer Aided Engineering Computer Assisted InstructionCAPPCAECAI科學計算和數(shù)據(jù)處理工業(yè)控制和實時控制網(wǎng)絡技術(shù)應用虛擬現(xiàn)實辦公自動化和管理信息系統(tǒng)CAD,CAM,CIMS多媒體技術(shù)Computer Aided DesignComputer Aided ManufacturingComputer Integrated Manufacturing System人工智能,模式識別,文字 / 語音識別,語言翻譯,專家系統(tǒng),機器人 二, 數(shù)據(jù)的表示和運算(一 ) 數(shù)制與編碼1. 進位計數(shù)制及其相互轉(zhuǎn)換1) 進位計數(shù)制進位計數(shù)制是

12、指按照進位制的方法表示數(shù),不同的數(shù)制均涉及兩個基本概念:基數(shù)和權(quán) .基數(shù) :進位計數(shù)制中所擁有數(shù)字的個數(shù) .權(quán) :每位數(shù)字的值等于數(shù)字乘以所在位數(shù)的相關(guān)常數(shù),這個常數(shù)就是權(quán) .任意一個 R 進制數(shù) X,設(shè)整數(shù)部分為 n 位 ,小數(shù)部分為 m 位,則 X 可表示為 :n-1n-20-1-2-mXan-1 r + a n-2 r + + a 0r + a -1 r + a -2 r + + a -m rmK i r i(X)r =i n 12) 不同數(shù)制間的數(shù)據(jù)轉(zhuǎn)換(1)二,八 ,十六進制數(shù)轉(zhuǎn)換成十進制數(shù)Word 完美格式.利用上面講到的公式: (N)2= Di ?2i ,(N)8= Di ?8

13、i, (N)16= Di ?16i,進行計算 .(2)十進制數(shù)轉(zhuǎn)換成二進制數(shù)通常要對一個數(shù)的整數(shù)部分和小數(shù)部分分別進行處理,各自得出結(jié)果后再合并.對整數(shù)部分 ,一般采用除2 取余數(shù)法 ,其規(guī)則如下 :將十進制數(shù)除以2,所得余數(shù) (0 或 1)即為對應二進制數(shù)最低位的值.然后對上次所得商除以2,所得余數(shù)即為二進制數(shù)次低位的值,如此進行下去 ,直到商等于0 為止 ,最后得的余數(shù)是所求二進制數(shù)最高位的值.對小數(shù)部分 ,一般用乘2 取整數(shù)法 ,其規(guī)則如下 :將十進制數(shù)乘以2,所得乘積的整數(shù)部分即為對應二進制小數(shù)最高位的值,然后對所余數(shù)的小數(shù)部分部分乘以2,所得乘積的整數(shù)部分為次高位的值,如此進行下去

14、,直到乘積的小數(shù)部分為0,或結(jié)果已滿足所需精度要求為止.(3)二進制數(shù) ,八進制數(shù)和十六進制數(shù)之間的轉(zhuǎn)換八進制數(shù)和十六進制數(shù)是從二進制數(shù)演變而來的:由 3 位二進制數(shù)組成 1 位八進制數(shù) ;由 4 位二進制數(shù)組成 1 位十六進制數(shù) .對一個兼有整數(shù)和小數(shù)部分的數(shù)以小數(shù)點為界,小數(shù)點前后的數(shù)分別分組進行處理,不足的位數(shù)用0 補足 .對整數(shù)部分將0 補在數(shù)的左側(cè) ,對小數(shù)部分將0 補在數(shù)的右側(cè) .這樣數(shù)值不會發(fā)生差錯.2. 真值和機器數(shù)真值 :數(shù)據(jù)的數(shù)值通常以正(+) 負 (-) 號后跟絕對值來表示,稱之為 “真值 ”.機器數(shù) :在計算機中正負號也需要數(shù)字化,一般用 0 表示正號 ,1 表示負號

15、.把符號數(shù)字化的數(shù)成為機器數(shù).3. BCD 碼(Binary Coded Decimal以二進制編碼的十進制碼)在計算機中采用4 位二進制碼對每個十進制數(shù)位進行編碼.4 位二進制碼有16 種不同的組合 ,從中選出10 種來表示十進制數(shù)位的0 9,用 0000,0001, ,1001 分別表示 0,1,9,每個數(shù)位內(nèi)部滿足二進制規(guī)則,而數(shù)位之間滿足十進制規(guī)則 ,故稱這種編碼為“以二進制編碼的十進制(binary coded decima1,簡稱 BCD)碼”.在計算機內(nèi)部實現(xiàn)BCD 碼算術(shù)運算 ,要對運算結(jié)果進行修正,對加法運算的修正規(guī)則是:如果兩個一位BCD 碼相加之和小于或等于(1001)2

16、, 即 (9)10,不需要修正 ;如相加之和大于或等于(1010)2, 或者產(chǎn)生進位 ,要進行加6 修正 ,如果有進位 ,要向高位進位 .4. 字符與字符串在計算機中要對字符進行識別和處理,必須通過編碼的方法,按照一定的規(guī)則將字符用一組二進制數(shù)編碼表示.字符的編碼方式有多種,常見的編碼有ASCII 碼,EBCDIC 碼等 .1)ASCII 碼 (American Standard Code for Information Interchange美國信息交換標準碼)ASCII 碼用 7 位二進制表示一個字符,總共 128 個字符元素 ,包括 10 個十進制數(shù)字 (0-9),52 個英文字母 (A

17、-Z 和a-z),34 專用符號和32 控制符號 .2)EBCDIC 碼為 Extended Binary Coded Decimal Interchange Code的簡稱 ,它采用 8 位來表示一個字符.3) 字符串的存放向量存儲法 :字符串存儲時 ,字符串中的所有元素在物理上是鄰接的.串表存儲法 :字符串的每個字符代碼后面設(shè)置一個鏈接字,用于指出下一個字符的存儲單元的地址.5. 校驗碼 Check Digit數(shù)據(jù)校驗碼是一種常用的帶有發(fā)現(xiàn)某些錯誤或自動改錯能力的數(shù)據(jù)編碼方法.其實現(xiàn)原理 ,是加進一些冗余碼,使合法數(shù)據(jù)編碼出現(xiàn)某些錯誤時,就成為非法編碼.這樣 ,可以通過檢測編碼的合法性來達

18、到發(fā)現(xiàn)錯誤的目的. 合理地安排非法編碼數(shù)量和編碼規(guī)則,可以提高發(fā)Word 完美格式.現(xiàn)錯誤的能力 ,或達到自動改正錯誤的目的 .碼距 :碼距根據(jù)任意兩個合法碼之間至少有幾個二進制位不相同而確定的,僅有一位不同 ,稱其碼距為 1.1) 奇偶校驗碼 (Parity Bit)WIKI(開銷最小 ,能發(fā)現(xiàn)數(shù)據(jù)代碼中一位出錯情況的編碼,常用于存儲器讀寫檢查或 ASCII 字符或其它類型的信息傳輸?shù)臋z查 )P216它的實現(xiàn)原理 ,是使碼距由1 增加到 2.若編碼中有1 位二進制數(shù)出錯了 ,即由 1 變成 0,或者由 0變成 1.這樣出錯的編碼就成為非法編碼,就可以知道出現(xiàn)了錯誤.在原有的編碼之上再增加一位

19、校驗位,原編碼n位 ,形成新的編碼為 n+1 位.增加的方法有 2種:奇校驗 :增加位的 0或 1要保證整個編碼中1 的個數(shù)為奇數(shù)個 .偶校驗 :增加位的 0或 1要保證整個編碼中1 的個數(shù)為偶數(shù)個 .2) 海明校驗碼 (Hamming Code)P100實現(xiàn)原理 ,在數(shù)據(jù)中加入幾個校驗位,并把數(shù)據(jù)的每一個二進制位分配在幾個奇偶校驗組中.當某一位出錯就會引起有關(guān)的幾個校驗組的值發(fā)生變化,這不但可以發(fā)現(xiàn)出錯 ,還能指出是哪一位出錯,為自動糾錯提供了依據(jù) .假設(shè)校驗位的個數(shù)為r,則它能表示2r 個信息 ,用其中的一個信息指出“沒有錯誤 ”,其余 2r -1 個信息指出錯誤發(fā)生在哪一位 .然而錯誤也

20、可能發(fā)生在校驗位,因此只有k=2 r-1-r 個信息能用于糾正被傳送數(shù)據(jù)的位數(shù),也就是說要滿足關(guān)系 :2r k+r+13)CRC 校驗碼 (Cyclic Redundancy Check循環(huán)冗余校驗 )P144CRC 校驗碼一般是指k 位信息之后拼接 r 位校驗碼 .關(guān)鍵問題是如何從 k 位信息方便地得到r 位校驗碼 ,以如何從位 k+r 信息碼判斷是否出錯 .將帶編碼的 k 位有效信息位組表達為多項式:式 Ci 中為 0 或 1.若將信息位左移 r 位 ,則可表示為多項式 M(x).xr. 這樣就可以空出 r 位,以便拼接 r 位校驗位 .CRC 碼是用多項式 M(x).xr 除以生成多項式

21、G(x)所得的余數(shù)作為校驗碼的 .為了得到 r 位余數(shù) ,G(x)必須是 r+1位 .設(shè)所得的余數(shù)表達式為 R(x),商為 Q(x).將余數(shù)拼接在信息位組左移r 位空出的 r 位上 ,就構(gòu)成了 CRC 碼 ,這個碼的可用多項式表達為 :M(x) ·xr+R(x)=Q(x) ·G(x)+R(x)+R(x)=Q(x) ·G(x)+R(x)+R(x)=Q(x) ·G(x)因此 ,所得 CRC 碼可被 G(x)表示的數(shù)碼除盡 .將收到的 CRC 碼用約定的生成多項式 G(x)去除 ,如果無錯 ,余數(shù)應為 0,有某一位出錯 ,余數(shù)不為 0.(二 ) 定點數(shù)的表示和

22、運算1. 定點數(shù)的表示1) 無符號數(shù)的表示無符號數(shù)就是指正整數(shù) ,機器字長的全部位數(shù)均用來表示數(shù)值的大小,相當于數(shù)的絕對值 .對于字長為n+1 位的無符號數(shù)的表示范圍為: 0-12) 帶符號數(shù)的表示(真值范圍 -n-1 n)Word 完美格式.帶符號數(shù)是指在計算機中將數(shù)的符號數(shù)碼化.在計算機中 ,一般規(guī)定二進制的最高位為符號位,最高位為 “0”表示該數(shù)為正 ,為 “1”表示該數(shù)為負 .這種在機器中使用符號位也被數(shù)碼化的數(shù)稱為機器數(shù).根據(jù)符號位和數(shù)值位的編碼方法不同,機器數(shù)分為原碼,補碼和反碼 .(1)原碼表示法機器數(shù)的最高位為符號位,0 表示正數(shù) ,1 表示負數(shù) ,數(shù)值跟隨其后,并以絕對值形式

23、給出.這是與真值最接近的一種表示形式 .原碼的定義 :(2)補碼表示法機器數(shù)的最高位為符號位,0 表示正數(shù) ,1 表示負數(shù) ,其定義如下 :(3)反碼表示法機器數(shù)的最高位為符號,0 表示正數(shù) ,1 表示負數(shù) .反碼的定義 :原碼補碼反碼整數(shù)(mod)(mod()小數(shù)(mod 2)(mod(2-)=0.0000=1.000=0.0000=0.0000=1.111100負數(shù)原碼求反 +1負數(shù)每位求反移碼移碼表示中零也是唯一的真值的移碼和補碼僅差一個符號位.若將補碼的符號位由0改為1或從 1改為 0 即可得到真值的移碼乘法運算可用移碼和加法來實現(xiàn),兩個 n 位數(shù)相乘 ,總共要進行 n 次加法運算和

24、n 次移位運算三種機器數(shù)的特點可以歸納為:·三種機器數(shù)的最高位均為符號位 .符號位和數(shù)值位之間可用 “.”(對于小數(shù) )或“,”(對于整數(shù) )隔開·當真值為正時 ,原碼 ,補碼和反碼的表示形式均相同 ,即符號位用 “0”表示 ,數(shù)值部分與真值部分相同·當真值為負時,原碼 ,補碼和反碼的表示形式不同,其它符號位都用“1”表示 ,而數(shù)值部分有這樣的關(guān)系,即補碼是原碼的 “求反加 1”,反碼是原碼的“每位求反 ”.2. 定點數(shù)的運算1) 定點數(shù)的位移運算左移 ,絕對值擴大 ;右移 ,絕對值縮小 .算術(shù)移位規(guī)則符號位不變Word 完美格式.碼制添補代碼正數(shù)0原0負數(shù)補右移

25、添 0左移添 1反1算術(shù)移位和邏輯移位的區(qū)別:算術(shù)移位 :帶符號數(shù)移位 ;邏輯移位 :無符號數(shù)移位 ;2) 原碼定點數(shù)的加 / 減運算 ;對原碼表示的兩個操作數(shù)進行加減運算時,計算機的實際操作是加還是減,不僅取決指令中的操作碼,還取決于兩個操作數(shù)的符號.而且運算結(jié)果的符號判斷也較復雜 .例如 ,加法指令指示做 ( A) ( B)由于一操作數(shù)為負,實際操作是做減法( A)-(+B), 結(jié)果符號與絕對值大的符號相同 .同理 ,在減法指令中指示做 ( A)(B)實際操作做加法 (A) (B),結(jié)果與被減數(shù)符號相同.由于原碼加減法比較繁瑣 ,相應地需要由復雜的硬件邏輯才能實現(xiàn),因此在計算機中很少被采用

26、 .3) 補碼定點數(shù)的加 / 減運算 ;(1) 加法整數(shù) A 補 + B補 = A+ B 補(mod 2 n+1 ) 小數(shù) A 補 + B補 = A+ B 補(mod 2)(2) 減法整數(shù) A 補 - B 補= A+(- B)補= A補 + - B 補(mod 2 n+1 )小數(shù) A 補 - B 補= A+(- B)補= A補 + - B 補(mod 2)無需符號判定 ,連同符號位一起相加,符號位產(chǎn)生的進位自然丟掉4) 定點數(shù)的乘 / 除運算(1)一位乘法<1> 原碼定點一位乘法兩個原碼數(shù)相乘,其乘積的符號為相乘兩數(shù)的異或值,數(shù)值兩數(shù)絕對值之積.設(shè)X 原=X0 X1 X2XnY 原

27、=Y0 Y1 Y2YnX·Y原=X 原·Y原 = (X0 Y0)(X1 X2 Xn) ·(Y1 Y2 Yn)符號 表示把符號位和數(shù)值鄰接起來.Word 完美格式.原碼兩位乘和原碼一位乘比較原碼一位乘原碼兩位乘符號位操作數(shù)絕對值絕對值的補碼移位邏輯右移算術(shù)右移移位次數(shù)n最多加法次數(shù)n<2> 定點補碼一位乘法有的機器為方便加減法運算,數(shù)據(jù)以補碼形式存放.乘法直接用補碼進行,減少轉(zhuǎn)換次數(shù) .具體規(guī)則如下 :X ·補Y=X 補( Y0 + 0. Y1 Y2) YnWord 完美格式.<3> 布斯法“布斯公式 ”: 在乘數(shù) Yn 后添加Yn

28、+1=0. 按照 Yn+1 ,Yn 相鄰兩位的三種情況,其運算規(guī)則如下 :(1)Yn+1 ,Yn =0( Yn+1 Yn =00或 11),部分積加 0,右移 1 位;(2)Yn+1 ,Yn =1( Yn+1 Yn =10) ,部分積加 X補 ,右移 1 位;(3)Yn+1 ,Yn =-1( Yn+1 Yn =01) ,部分積加 X補 ,右移 1 位最后一步不移位 .(2)兩位乘法<1> 原碼兩位乘法 ,因此實際操作用Yi-1,Yi,C 三位來控制 ,運算規(guī)則如下Yi-1YiC操作Word 完美格式.000+0,右移 2位0C001+X,右移 2位0C010+X,右移 2位0C01

29、1+2X,右移 2位0C100+2X,右移 2位0C101-X, 右移2位1C110-X, 右移2位1C111+0,右移 2位1C<2> 補碼兩位乘法根據(jù)前述的布斯算法,將兩步合并成一步,即可推導出補碼兩位乘的公式.Yn-i-1 Yn-iYn-i+1Pi+2 補000+0,右移 2位001+X 補,右移 2位010+X 補,右移 2位011+2X 補, 右移 2 位100-2X 補 ,右移 2101位110-X 補 ,右移 2位111-X 補 ,右移 2位+0,右移 2位求部分積的次數(shù)和右移操作的控制問題.當乘數(shù)由1 位符號位和以n( 奇數(shù) )位數(shù)據(jù)位組成時 ,求部分積的次數(shù)為 (

30、1 n) 2,而且最后一次的右移操作只右移一位 .若數(shù)值位本身為偶數(shù)n,可采用下述兩種方法之一: 可在乘數(shù)的最后一位補一個0,乘數(shù)的數(shù)據(jù)位就成為奇數(shù),而且其值不變 ,求部分積的次數(shù)為 1+(n+l)/2, 即 n/2 1,最后一次右移操作也只右移一位 . 乘數(shù)增加一位符號位,使總位數(shù)仍為偶數(shù) ,此時求部分積的次數(shù)為n/2+1, 而且最后一次不再執(zhí)行右移操作 .Word 完美格式.(3)補碼除法筆算除法和機器除法的比較筆算除法機器除法商符單獨處理符號位異或形成心算上商余數(shù)不動 低位補 “0”余數(shù)左移一位低位補 “0”減右移一位的除數(shù)減 除數(shù)2 倍字長加法器1 倍字長加法器上商位置不固定在寄存器最

31、末位上商<1> 定點原碼一位除法1> 恢復余數(shù)法被除數(shù) (余數(shù) )減去除數(shù) ,如果為 0 或者為正值時 ,上商為 1,不恢復余數(shù) ;如果結(jié)果為負 ,上商為 0,再將除數(shù)加到余數(shù)中 ,恢復余數(shù) .余數(shù)左移1 位 .2> 加減交替法當余數(shù)為正時 ,商上 1,求下一位商的辦法,余數(shù)左移一位 ,再減去除數(shù) ;當余數(shù)為負時 ,商上 0,求下一位商的辦法,余數(shù)左移一位 ,再加上除數(shù) .<2> 定點補碼一位除法(加減交替法 )1如果被除數(shù)與除數(shù)同號,用被除數(shù)減去除數(shù);若兩數(shù)異號 ,被除數(shù)加上除數(shù).如果所得余數(shù)與除數(shù)同號商上1,否則 ,商上 0,該商為結(jié)果的符號位.2求商的

32、數(shù)值部分 .如果上次商上 1,將除數(shù)左移一位后減去除數(shù) ;如果上次商上 0,將余數(shù)左移一位后加除數(shù) . 然后判斷本次操作后的余數(shù) ,如果余數(shù)與除數(shù)同號商上 1,如果余數(shù)與除數(shù)異號商上 0.如此重復執(zhí)行 n-1 次(設(shè)數(shù)值部分 n 位).3商的最后一位一般采用恒置1 的辦法 ,并省略了最低 +1 的操作 .此時最大的誤差為2-n .Word 完美格式.Word 完美格式.5) 溢出概念和判別方法當運算結(jié)果超出機器數(shù)所能表示的范圍時,稱為溢出 .顯然 ,兩個異號數(shù)相加或兩個同號數(shù)相減,其結(jié)果是不會溢出的 .僅當兩個同號數(shù)相加或者兩個異號數(shù)相減時,才有可能發(fā)溢出的情況,一旦溢出 , 運算結(jié)果就不正確

33、了,因此必須將溢出的情況檢查出來.判別方法有三種:1當符號相同的兩數(shù)相加時,如果結(jié)果的符號與加數(shù)(或被加數(shù) )不相同 ,則為溢出 .2當任意符號兩數(shù)相加時,如果 C=Cf, 運算結(jié)果正確 ,其中 C 為數(shù)值最高位的進位,Cf 為符號位的進位.如果 CCf , 則為溢出 ,所以溢出條件 =C Cf .Word 完美格式.3采用雙符號 f s2f s1.正數(shù)的雙符號位為 00,負數(shù)的雙符號位為 11. 符號位參與運算 ,當結(jié)果的兩個符號位甲和乙不相同時 ,為溢出 .所以溢出條件 = fs2 fs1 , 或者溢出條件 = fs2fs1 + fs2fs1(三 ) 浮點數(shù)的表示和運算1. 浮點數(shù)的表示1

34、) 浮點數(shù)的表示范圍 ;浮點數(shù)是指小數(shù)點位置可浮動的數(shù)據(jù),通常以下式表示:N=M ×RE其中 ,N 為浮點數(shù) ,M(Mantissa) 為尾數(shù) (可正可負 ),E(Exponent) 為階碼 (可正可負 ),R(Radix)稱為 “階的基數(shù) (底 )”,而且 R 為一常數(shù) ,一般為 2,8 或 16. 在一臺計算機中 ,所有數(shù)據(jù)的R 都是相同的 ,于是不需要在每個數(shù)據(jù)中表示出來.因此 ,浮點數(shù)的機內(nèi)表示一般采用以下形式:浮點數(shù)的機內(nèi)表示一般采用以下形式:MsEM1 位n+1 位m 位Ms 是尾數(shù)的符號位 ,設(shè)置在最高位上.E 為階碼 (移碼 ),有 n+1 位 ,一般為整數(shù) ,其中有

35、一位符號位,設(shè)置在 E 的最高位上 ,用來表正階或負階.M 為尾數(shù) (原碼 ),有 m 位,由 Ms 和 M 組成一個定點小數(shù) .Ms=0, 表示正號 ,Ms=1, 表示負 .為了保證數(shù)據(jù)精度屬數(shù)通常用規(guī)格化形式表示 :當 R 2,且尾數(shù)值不為 0 時,其絕對值大于或等于 (0.5)10.對非規(guī)格化浮點數(shù) ,通過將尾數(shù)左移或右移 ,并修改階碼值使之滿足規(guī)格化要求 .Word 完美格式.浮點數(shù)的表示范圍以通式N=M ×RE 設(shè)浮點數(shù)階碼的數(shù)值位取m 位,尾數(shù)的數(shù)值位取n 位2)IEEE754 標準 (Institute of Electrical and Electronics Eng

36、ineers美國電氣和電子工程協(xié)會 )S階碼 (含階符 )尾數(shù)數(shù)符小數(shù)點位置根據(jù) IEEE 754 國際標準 ,常用的浮點數(shù)有三種格式:符號位 S階碼尾數(shù)總位數(shù)短實數(shù)182332長實數(shù)1115264臨時實數(shù)1156480單精度格式 32 位 ,階碼為 8 位 ,尾數(shù)為 23 位.另有一位符號位S,處在最高位 .由于 IEEE754 標準約定在小數(shù)點左部有一位隱含位,從而實際有效位數(shù)為24 位 .這樣使得尾數(shù)的有效值變?yōu)?.M .例如 ,最小為 x1.0 0,最大為 x1.1 1.規(guī)格化表示 .故小數(shù)點左邊的位橫為1,可省去 .階碼部分采用移碼表示 ,移碼值 127,1 到 254 經(jīng)移碼為 -

37、126到+127.S(1 位)E(8 位)M(23N(共 32 位)位 )符號位000符號位0不等于 0(- 1)S·2-126·(0.M) 為非規(guī)格化數(shù)符號位1到254之間-(- 1)S·2E-127·(1.M) 為規(guī)格化數(shù)符號位255不等于 0NaN( 非數(shù)值 )符號位2550無窮大0有了精確的表示,無窮大也明確表示 .對于絕對值較小的數(shù),可以采用非規(guī)格化數(shù)表示,減少下溢精度損失.非規(guī)格化數(shù)的隱含位是0,不是 1.2. 浮點數(shù)的加 / 減運算加減法執(zhí)行下述五步完成運算 :1)“對階 ”操作比較兩浮點數(shù)階碼的大小,求出其差E,保留其大值E,E=max(

38、Ex, Ey).當E0 時 ,將階碼小的尾數(shù)右移E 位,并將其階碼加上E,使兩數(shù)的階碼值相等.2)尾數(shù)加減運算執(zhí)行對階之后,兩尾數(shù)進行加減操作.Word 完美格式.3)規(guī)格化操作規(guī)格化的目的是使得尾數(shù)部分的絕對值盡可能以最大值的形式出現(xiàn).4)舍入在執(zhí)行右規(guī)或者對階時,尾數(shù)的低位會被移掉,使數(shù)值的精度受到影響,常用 “0”舍“1”入法 .當移掉的部分最高位為1 時 ,在尾數(shù)的末尾加1,如果加1 后又使得尾數(shù)溢出 ,則要再進行一次右規(guī) .5)檢查階碼是否溢出階碼溢出表示浮點數(shù)溢出.在規(guī)格化和舍入時都可能發(fā)生溢出,若階碼正常 ,加/ 減運算正常結(jié)束 .若階碼下溢 ,則設(shè)置機器運算結(jié)果為機器零,若上溢

39、 ,則設(shè)置溢出標志.定點數(shù)和浮點數(shù)可從如下幾個方面進行比較當浮點機和定點機中的位數(shù)相同時,浮點數(shù)的表示范圍比定點數(shù)大得多當浮點數(shù)位規(guī)格化數(shù)時,其相對絕對遠比定點數(shù)高浮點數(shù)運算要分階碼部分和尾數(shù)部分,而且運算結(jié)果都要求規(guī)格化,故浮點運算步驟比定點運算的步驟多,運算速度比定點運算的低,運算線路比定點運算的復雜在溢出的判斷方法上,浮點數(shù)是對規(guī)格化的階碼進行判斷,而定點數(shù)是對數(shù)值本身進行判斷總之 ,浮點數(shù)在數(shù)的表示范圍 ,數(shù)的精度 ,溢出處理和程序編程方面 (不取比例因子 ) 均優(yōu)于定點數(shù) .但在運算規(guī)則即硬件成本方面又不如定點數(shù)Word 完美格式.(四 ) 算術(shù)邏輯單元ALU1. 串行加法器和并行加

40、法器1) 串行進位加法器并行加法器可以同時對數(shù)據(jù)的各位進行相加,一般用 n 個全加器來實現(xiàn)2 個操作數(shù)的各位同時向加.其操作數(shù)Word 完美格式.的各位是同時提供的,由于進位是逐位形成,低位運算所產(chǎn)生的進位會影響高位的運算結(jié)果.串行進位 (也稱波形進位 )加法器 ,邏輯電路比較簡單 ,但是最高位的加法運算 ,一定要等到所有低位的加法完成之后才能進行 ,低位的進位要逐步的傳遞到高位 ,逐級產(chǎn)生進位 ,因此運算速度比較慢 .2) 并行進位加法器為了提高運算速度,減少延遲時間 ,可以采用并行進位法,也叫提前進位或先行進位.全加器中 ,輸入 Ai ,Bi,Ci-1, 輸出 :Si = Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1Ci = Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1 = Ai Bi + (Ai+Bi)Ci-1 進位產(chǎn)生函數(shù) :Gi = Ai Bi進位傳遞函數(shù) :Pi = Ai+BiCi = Gi +

溫馨提示

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

評論

0/150

提交評論