




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機組成原理講義第2章 數據表示、運算和運算器部件訣竅詳細內容請參閱王誠主編“計算機組成原理”第1頁,共54頁。本章主要教學內容圍繞定點運算器的功能、組成、設計和實現來介紹。掌握各種數據在計算機內的表示、存儲方式、完成運算所用的算法和實現這些算法所用的邏輯電路。本章從數值化信息編碼講起,引出二進制編碼,數制轉換,插入部分檢錯糾錯碼知識。介紹各種數據表示、數值數據算術運算的有關算法。講解在計算機中實現算術運算與邏輯運算所用的功能部件運算器部件。第2頁,共54頁。第2章 數據表示、運算和運算器部件2.1 數字化信息編碼的概念和二進制編碼知識2.2 數據表示-采用的信息編碼 2.3 二進制數值數據
2、的編碼與運算算法2.4 運算器部件的組成與設計2.5 浮點運算與浮點運算器第3頁,共54頁。2.1 數字化信息編碼的概念和二進制編碼知識2.1.1 數字化信息編碼的概念2.1.2 二進制編碼和碼制轉換2.1.3 檢錯糾錯碼 第4頁,共54頁。2.1.1 數字化信息編碼的概念所謂編碼,就是用少量、簡單的基本符號,選用一定的組合規則,以表示大量復雜多樣的信息。多重編碼,是指當使用的基本符號較多時,往往還要采取措施,以便首先使用少量的簡單符號來編碼、以表示那些量大而復雜的基本符號,再用這些基本符號來表示信息。例如漢字編碼。二進制編碼的優點:容易實現;運算簡單;對應邏輯值。第5頁,共54頁。2.1.2
3、 二進制編碼和碼制轉換數制與進位記數法基r數制:用r個基本符號通過排列起來的符號串表示數值,稱為基r數制,稱r為該數制的基。有權基r數制:如果每一位的單位值都賦以固定的值Wi,則稱Wi為該位的權,此時的數制為有權的基r數制。r進位數制(r進制):如果基r數制符合“逢r進位”的規則,則每位的權為ri,稱為r進制。二進制編碼與二進制數據二進制編碼方法;二進制數值數據的計算(十進制展開)。第6頁,共54頁。2.1.2 二進制編碼和碼制轉換(續)數制轉換 二(八和十六)進制與十進制數據轉換:整數部分:除以基數,取其余數,倒序排列。 小數部分:乘以基數,取其整數,正序排列。 二進制與八進制或十六進制數據
4、轉換:原理:一位八(十六)進制數可表示成3(4)位二進制數。方法:從小數點所在位置分別向左、右對每3 位或4位進行分組,寫出每一組對應值(注意補零問題)。第7頁,共54頁。2.1.2 二進制編碼和碼制轉換(續)二進制數的運算規則:算術運算和邏輯運算加法運算規則減法運算規則乘法運算規則除法運算規則邏輯或運算規則(運算符為)邏輯與運算規則(運算符為)邏輯非運算規則(運算符為)邏輯異或運算規則(運算符為)第8頁,共54頁。2.1.3 檢錯糾錯碼檢錯糾錯的有關概念和實現思路實現原理:在合法的數據編碼之間加進一些不允許出現的編碼,使合法編碼出現某些錯誤時,就成為非法編碼。(最小)碼距:任意兩個合法編碼之
5、間至少有幾個二進制位不相同,常用的數據校驗碼是奇偶校驗碼、海明校驗碼、循環冗余碼。糾錯碼是對校驗碼的更進一步的發展和應用。第9頁,共54頁。2.1.3 檢錯糾錯碼(續)三種常用的檢錯糾錯碼奇偶校驗碼: 原理:使原來合法碼距由1正加到2; 方法:正加一個二進制位成奇(偶)個“1”; 特點:只能發現一位或奇數個位出錯。第10頁,共54頁。2.1.3 檢錯糾錯碼(續) 海明校驗碼:原理:在k個數據位之外加上r個校驗位,形成k+r位的新的碼字,使新的碼字的碼距比較均勻地拉大。把數據的每一位分配在幾個不同的偶校驗位的組合中,當某一位出錯后,就會引起相關的幾個校驗位的值發生變化;方法:見表2.2和表2.3
6、;特點:能發現并糾正一位出錯或發現兩位出錯。第11頁,共54頁。2.1.3 檢錯糾錯碼(續) 循環冗余碼原理:在k個數據位之外拼接r個校驗位,關鍵是如何從k位信息位簡單地得到r位校驗位編碼。以及如何判斷k+r位碼字是否正確;方法:由信息表達式及生成表達式生成模余數表達式,并拼接在信息表達式之后;特點:能發現并糾正一位、多位出錯,用于串行通信。第12頁,共54頁。2.2 數據表示-采用的信息編碼 2.2.1 邏輯數據的表示2.2.2 字符數據的表示2.2.3 數值型數據的表示第13頁,共54頁。2.2.1 邏輯數據的表示用來表示二值邏輯中的“是”與“否”或稱“真”與“假”兩個狀態的數據。在計算機
7、中可用一個基二碼、一個字或一個字節來表示單個邏輯數。第14頁,共54頁。2.2.2 字符數據的表示用一定位數的基二碼為每一個字符指定一個確定 的編碼。ASCII碼和EBCDIC碼ASCII碼:7位基二碼表示的字符,見表2.8。EBCDIC碼:8位編碼,主要用在IBM計算機中。第15頁,共54頁。2.2.2 字符數據的表示(續)字符串的表示連續的一串字符,占用主存中連續的多個字節,每個字節存一個字符。注意其存放順序(P.68 圖2.4)。第16頁,共54頁。2.2.2 字符數據的表示(續)中文(漢字)的編碼表示用兩個字節表示一個漢字。將兩個字節的最高位設定為1。128 * 128個。注意與ASC
8、II碼的奇偶校驗碼有沖突。第17頁,共54頁。2.2.3 數值型數據的表示* 表示數量多少、數值大小的數據。表示方法: 帶正負符號的十進制數形式,用于輸入/輸出。 二-十進制編碼,即用4為基2碼編碼一位十進制數,多位十進制數表示成編碼的數串。 二進制原、反、補碼表示數據。注意:數值數據有一定的表示范圍和表示精度。二進制數主要分成定點小數、整數與浮點數三類。第18頁,共54頁。2.2.3 數值型數據的表示(續)定點小數的表示方法指小數點準確固定在數據某個位置上的小數,實用上都把小數點固定在最高數據位的左邊,小數點前邊再設一位符號位。N = NS.N-1N-2N-m主要用在早期計算機中,在本課中主
9、要通過定點小數討論數值數據的不同編碼方案,而且定點小數也被用來表示浮點數的尾數部分。第19頁,共54頁。2.2.3 數值型數據的表示(續)整數的表示方法小數點定位在數值最低位右面的一種數據。整數被分成帶符號和不帶符號的兩類。 帶符號數: N = NS.NnNn-1N2 N1 N0 不帶符號數:N = Nn+1NnNn-1N2 N1 N0在計算機中,整數所占用的存儲空間和所表示數值范圍是不同的,如8位、16位、32位或64位。第20頁,共54頁。2.2.3 數值型數據的表示(續)浮點數的表示方法浮點數是指小數點在數據中的位置可以左右浮動的數據。表示成:N = M * RE在計算機中,表示浮點數要
10、有符號位;而R規定位2、8或16,是確定常量不必表示出來。浮點數表示成:MS(1位) E(m位) M(n位)浮點數的規格化表示及處理:規定計算機內浮點數的尾數部分用純小數形式給出,而且尾數的值不為0時,其絕對值應大于或等于0.5。第21頁,共54頁。2.2.3 數值型數據的表示(續)浮點數的表示方法(續)浮點數的規格化處理:規格化的過程稱為規格化處理。常用浮點數的格式:P.71隱藏位技術: 對短浮點數和長浮點數,在存儲時,去掉最高位(規格化后必為1)的技術稱為隱藏位技術。對臨時浮點數,不使用隱藏位技術。第22頁,共54頁。2.2.3 數值型數據的表示(續)十進制數的編碼與運算* 采用基二碼對每
11、個十進制數位進行重編碼。十進制有權碼:每一位基2碼有確定的權。 8421碼(BCD碼): 運算簡單;轉換方便;結果需修正。 其它有權碼:見表2.9十進制無權碼:每一位基2碼沒有確定的權。 余三碼:每個二進制代碼都加上0011得到。 格蕾碼:任兩個相臨代碼只有1位狀態不同。第23頁,共54頁。2.2.3 數值型數據的表示(續)十進制數的編碼與運算(續) 十進制數的其它編碼方法:見表2.11 數字串在計算機中的表示余存儲字符串形式:一個字節存放一個十進制的數位或符號位。不便于算術運算。壓縮的十進制數串形式:一個字節存放兩個十進制的數位。便于算術運算。注意符號位的表示以及所占位數必為偶數。每種表示都
12、需知道其起始地址和長度。第24頁,共54頁。2.3 二進制數值數據的編碼與運算算法 2.3.1 原碼、反碼、補碼的定義 2.3.2 補碼加、減運算規則 2.3.3 原碼一位乘法的實現算法 2.3.4 定點補碼一位乘法的實現算法2.3.5 原碼一位除法的實現算法 2.3.6 定點補碼一位除法的實現算法2.3.7 加速乘除法運算的有關算法介紹第25頁,共54頁。2.3.1 原碼、反碼、補碼的定義編碼方法是指如何能統一地表示正數、零和負數,并盡可能地有利于簡化對它們實現算術運算用到的規則。數據的正負符號用一位二進制0和1兩個狀態表示。通常稱表示一個數值數據的機內編碼機器數,而把它所代表的實際值稱為機
13、器數的真值。用定點小數引出數值的3種編碼(原碼、補碼和反碼)是最方便的。第26頁,共54頁。2.3.1 原碼、反碼、補碼的定義(續)定點小數的編碼方法原碼表示法:用機器數的最高一位代表符號,以下各位給出數值絕對值的表示方法。定義見P.75 (2.9),其性質為: x原 = 符號位 + |X| 零有兩種表示:+0.0原=0000,-0.0原=1000 優缺點:乘除運算規則簡單;加減運算不方便。第27頁,共54頁。2.3.1 原碼、反碼、補碼的定義(續)補碼表示法: 用機器數的最高一位代表符號,以下各位給出數值按2取模結果的表示方法。定義見P.76 (2.10),其性質為:x補 = 2 * 符號位
14、 + X零有唯一表示:+0.0補 = -0.0補 = 0000X + Y補 = X補 + Y補 MOD 2 (重要)第28頁,共54頁。2.3.1 原碼、反碼、補碼的定義(續)補碼表示法:(續)* 由補碼求真值:正數:X=X補;負數:數值部分求補,并加上符號。* 補碼的算術移位:將符號位與數值位一起右移一次并保持原符號位的值不變,可實現除法。* 由原碼求補碼:對正數或零:X補 = X原。對負數:符號位不變,數值位變反末尾加1。第29頁,共54頁。2.3.1 原碼、反碼、補碼的定義(續)補碼表示法:(續)* 變形補碼:模4補碼或雙符號位補碼。定義見P.77 (2.13),其性質為:數值與模2補碼
15、相同;符號位為00或11,若為01或10時表示溢出,01表正數相加產生上溢;10表負數相加產生下溢。零有唯一編碼,且能表示負1。存儲模4補碼時,只存儲一位符號位即可。第30頁,共54頁。2.3.1 原碼、反碼、補碼的定義(續)反碼表示法:用機器數的最高一位代表符號,數值位是對負數值各位取反、對正數與原補碼具有相同的表示方法。 其定義見P.78 (2.14),其性質為:x反 = (2 - 2-n) + X) MOD(2 - 2-n) 零有兩種表示:+0.0反=0000,-0.0反=1111實現算術運算不方便,0有兩個編碼,不常用。第31頁,共54頁。2.3.1 原碼、反碼、補碼的定義(續)整數的
16、編碼方法* 整數也用原、補和反碼表示。* 與小數有如下異同:小數點設在最低一位的右邊,最高位為符號位。數值的范圍及編碼的取模值與所用的位數有關。編碼的定義、特性和相互轉換方法均與定點小數類似,只是補碼的取模值為2k或2k+1,k為二進制整數數值的位數。第32頁,共54頁。2.3.1 原碼、反碼、補碼的定義(續)浮點數的編碼方法:Ms E M符號位Ms仍采用0表正、1表負的規則。尾數M采用定點小數表示,可用原(補)編碼。階碼E多采用整數形式的移碼表示: 定義:P.79 (2.15) 與補碼的關系:變補碼的符號為其反碼。 性質:a.符號位與原、補碼相反; b.只用于整數(浮點數階碼); c.移碼加
17、減運算結果需變符號修正; d.零有唯一編碼10000(-2n)。第33頁,共54頁。2.3.2 補碼加、減運算規則加減法運算規則: X+Y補=X補+Y補,X-Y補=X補-Y補=X補+-Y補 補碼直接參與運算:包括符號與數值。 已知補碼求其負數的補碼:按位求反末尾加1。運算溢出的表達方式: 同符號補碼相加,和的符號與加數符號相同; 最高位向符號位的進位與符號位向更高位進位不同; 雙符號位運算時,兩個符號位不同。第34頁,共54頁。2.3.3 原碼一位乘法的實現算法乘積的符號為兩數符號的異或值,數值為兩數絕對值之積。乘法算法實現:運算器只能完成對兩個數的求和操作;用N位加法器實現兩個N位數的乘法:
18、每求得一次部分積之后使其右移一位。加零或加被乘數的判斷:每求一次部分積,使放乘數的寄存器執行一次右移操作,并使其最高位接收加法器最低位的移位輸出。乘積的符號為兩數符號的異或值(半加和)。第35頁,共54頁。2.3.4 定點補碼一位乘法的實現算法* 直接用補碼相乘實現乘法運算。方案一:乘數為正數:X*Y補 = X補 * Y補乘數為負數:用X補乘Y補的數值位,再將乘積加上-X補。方案二:比較法第36頁,共54頁。2.3.5 原碼一位除法的實現算法原碼恢復余數法和加減交替法實現,商的符號為兩數符號的異或值,數值為兩數絕對值之商。除法算法實現:左移被除數(余數);上商要根據減法運輸結果確定,為正上1,
19、為負上0,且恢復余數(兩種不同實現方法)。上商是將商存入寄存器,并使其左移。寄存器的初始值可以是雙倍字長被除數的低位部分,在實現部分余數左移時,將它的最高位移入部分余數的最低位。第37頁,共54頁。2.3.6 定點補碼一位除法的實現算法* 運輸規則見P.90第38頁,共54頁。2.3.7 加速乘除法運算的有關算法介紹定點雙位乘法的實現方案陣列乘法器跳0跳1除法用快速乘法器實現快速除法器第39頁,共54頁。2.4 運算器部件的組成與設計2.4.1 運算器部件的功能與組成概述2.4.2 位片結構的運算器芯片Am29012.4.3 教學計算機運算器的設計與實現2.4.4 教學計算機的運算器使用事例第
20、40頁,共54頁。2.4.1 運算器部件的功能與組成概述運算器的功能:首要功能是完成數據的算術和邏輯運算。由ALU實現:給出運算結果和結果的某些特征。第二項功能是暫存運算數據和中間結果。由通用寄存器實現:區別于專用寄存器。第三項功能是用硬件完成乘除指令運算。由乘商寄存器實現:能自行左右移位(專用)。第四項功能是作為處理機內傳送數據的通路。第41頁,共54頁。2.4.1 運算器部件的功能與組成概述運算器的控制與操作:正確地向運算器提供控制信號,解決正確向運算器提供參加運算數據的種種問題。給出正確的數據來源何正確的控制信號,運算器就執行規定的操作功能。在計算機整機運行過程中,運算器用到的控制信號是
21、由計算機的控制器部件提供的。第42頁,共54頁。2.4.2 位片結構的運算器芯片Am2901Am2901的內部組成Am2901的控制與操作第43頁,共54頁。2.4.3 教學計算機運算器的設計與實現Am2901的管腳信號8位教學機的運算器部件的主體部分的設計與實現16位教學機的運算器部件的主體部分的設計與實現教學機的運算器部件的輔助組成部分的設計與實現運算器的控制與操作第44頁,共54頁。2.4.4 教學計算機的運算器使用實例8位教學機的運算器部件實驗16位教學機的運算器部件實驗第45頁,共54頁。2.5 浮點運算與浮點運算器浮點運算器是主要用于對計算機內的浮點數進行運算的部件。浮點數通常由階碼和尾數兩部分組成,階碼是正數形式,尾數是定點小數形式,執行的操作不相同。浮點運算器總是由處理階碼和處理尾數的兩部分邏輯線路組成。第46頁,共54頁。2.5.1 浮點數的運算規則* 浮點數形式:X = MX * 2EX* MX為浮點數的尾數,一般為小于1的規格化的二進 制小數,機器中多用原碼(或補碼)形式表示。* EX為浮點數的階碼,一般為二進制整數,機器中多用移碼(或補碼)形式表示,給出的是一個指數的冪,其底數常用2,8或16。第47頁,共54頁。2.5.1 浮點數的運算規則浮點加減法的運算步驟:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 4333-2022銀縷梅扦插繁殖技術規程
- DB32/T 4221-2022鐵路集裝箱遠程操控作業通用技術規范
- DB32/T 4105-2021油菜品種蘇油6號
- DB32/T 3953-2020風力發電機組在建項目首件驗收規范
- DB32/T 3687-2019蘇山豬生產管理技術規程
- DB32/T 3598-2019增材制造金屬激光熔化沉積制件性能要求及測試方法
- DB32/T 3509-2019斑點叉尾鮰品種江豐1號
- DB31/T 73-2020水泥粉磨系統運行管理與節能監測
- DB31/T 571-2011人才測評服務規范
- DB31/T 488-2019地理標志產品奉賢黃桃
- 妊娠甲狀腺疾病指南
- 醫學大數據分析與挖掘
- NB-T 47013.15-2021 承壓設備無損檢測 第15部分:相控陣超聲檢測
- 我國上市公司IPO前后“業績變臉”的實證研究-基于創業板的分析的中期報告
- 老年人神經健康講座內容摘要
- 燃用重質渣油的鋁合金熔煉爐能耗測試與分析
- (新教材)細胞核是細胞生命活動的控制中心(公開課)課件
- 點穴保健DIY智慧樹知到課后章節答案2023年下江西中醫藥大學
- 企業安全生產風險辨識評估管控指導手冊-危險貨物儲罐倉儲
- 攝錄像技術基礎
- 煙花爆竹勞務合同范本
評論
0/150
提交評論