計(jì)算機(jī)組成原理吉林大學(xué)劉子良配套課件_第1頁
計(jì)算機(jī)組成原理吉林大學(xué)劉子良配套課件_第2頁
計(jì)算機(jī)組成原理吉林大學(xué)劉子良配套課件_第3頁
計(jì)算機(jī)組成原理吉林大學(xué)劉子良配套課件_第4頁
計(jì)算機(jī)組成原理吉林大學(xué)劉子良配套課件_第5頁
已閱讀5頁,還剩553頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1吉林大學(xué)遠(yuǎn)程教育學(xué)院1吉林大學(xué)遠(yuǎn)程教育學(xué)院2計(jì)算機(jī)組成原理主講:劉子良2計(jì)算機(jī)組成原理主講:劉子良3

參考書目

◎《計(jì)算機(jī)組成原理教程》

科學(xué)出版社,1988年。白中英,韓兆軒◎《計(jì)算機(jī)組成與結(jié)構(gòu)》

清華大學(xué)出版社,1990年。王愛英計(jì)算機(jī)組成原理3參考書目計(jì)算機(jī)組成原理4計(jì)算機(jī)組成原理課程簡介計(jì)算機(jī)組成原理是計(jì)算機(jī)科學(xué)與工程系所有專業(yè)的一門核心課程,它在先導(dǎo)課和后續(xù)課之間起著承上啟下的和繼往開來的作用。計(jì)算機(jī)組成原理教學(xué)具有知識面廣、內(nèi)容多、難度大、更新快的特點(diǎn)。本課程講述計(jì)算機(jī)組成與結(jié)構(gòu)方面的知識,包括:計(jì)算機(jī)系統(tǒng)概論、運(yùn)算方法、運(yùn)算器、存儲系統(tǒng)、指令系統(tǒng)、處理器、系統(tǒng)總線、外圍設(shè)備、輸入輸出系統(tǒng)。4計(jì)算機(jī)組成原理課程簡介5《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.1馮·諾依曼體制1.ENIAC概況

1)數(shù)據(jù)表示——十進(jìn)制

2)工作存儲器——只有20個單元,用于存放數(shù)據(jù)

3)編程——先要人工對面板上6000多個電子開關(guān)進(jìn)行機(jī)械定位,然后都轉(zhuǎn)插線插頭,插入與撥出方式來編制程序

4)ENIAC共用18000多個電子管,6000多個繼電器,耗電140KW,占地170平米,重30噸,運(yùn)算速度5000次/秒。ENIAC可靠運(yùn)行時間大概不超過20分鐘。5《計(jì)算機(jī)組成原理》主講:劉子良第一章概論1.6《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.1馮·諾依曼體制2.馮·諾依曼體制

1)引進(jìn)存儲程序概念

2)計(jì)算機(jī)以運(yùn)算器為核心的集中式控制

3)指令由操作碼和地址碼兩部分組成,指令在計(jì)算機(jī)中最順序執(zhí)行的,并受PC的統(tǒng)一控制

4)提出計(jì)算機(jī)系統(tǒng)應(yīng)由:運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備五大部分組成。這些理論奠定了現(xiàn)代計(jì)算機(jī)的基本思想,在到目前為止,大多數(shù)計(jì)算機(jī)仍沿用這一體制,人們稱其為馮·諾依曼體制。6《計(jì)算機(jī)組成原理》主講:劉子良第一章概論2.7《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成

人們常提到的馮·諾依曼機(jī)與原始的以運(yùn)算器為中心的馮·諾依曼機(jī)在結(jié)構(gòu)上有很大的改進(jìn)?,F(xiàn)在已轉(zhuǎn)向以存儲器為中心的計(jì)算機(jī)組成方式。如圖1.1所示。圖1.1計(jì)算機(jī)基本組成框圖運(yùn)算器存儲器控制器數(shù)據(jù)結(jié)果地址指令輸入設(shè)備輸出設(shè)備反饋信息操作命令控制信號請求信號控制臺控制信號請求信號7《計(jì)算機(jī)組成原理》主講:劉子良第一章概論8《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成從圖1.1中我們可以看出,計(jì)算機(jī)一般由以下幾部分組成:◎輸入設(shè)備、存儲器、運(yùn)算器、控制器、輸出設(shè)備五大部分◎運(yùn)算器與控制器統(tǒng)稱為中央處理機(jī)CPU◎習(xí)慣將輸入設(shè)備、輸出設(shè)備統(tǒng)稱為I/O設(shè)備輸入設(shè)備存儲器運(yùn)算器

控制器

輸出設(shè)備I/O設(shè)備CPU8《計(jì)算機(jī)組成原理》主講:劉子良第一章概論從圖19《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成1.2.1運(yùn)算器基本結(jié)構(gòu)功能:完成算術(shù)運(yùn)算和邏輯運(yùn)算的裝置設(shè)置考慮:任意算術(shù)運(yùn)算(加+、減-、乘*、除/)都可以通過相加和移位來解決。舉證:……

這樣一來,運(yùn)算器的基本結(jié)構(gòu)就確定下來,如圖1.2所示。9《計(jì)算機(jī)組成原理》主講:劉子良第一章概論1.210《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成

運(yùn)算器由:加法器、移位門、寄存器組、輸入選擇門和數(shù)據(jù)總線組成。如圖1.2所示。圖1.2運(yùn)算器結(jié)構(gòu)框圖移位門加法器選擇門A選擇門B來自數(shù)據(jù)總線通用寄存器組

數(shù)據(jù)總線10《計(jì)算機(jī)組成原理》主講:劉子良第一章概論11《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成1.2.2存儲器的基本結(jié)構(gòu)功能:存放程序和數(shù)據(jù)裝置,并滿足計(jì)算機(jī)在執(zhí)行過程中能夠隨機(jī)訪問這些程序和數(shù)據(jù)。設(shè)置考慮(1):存取數(shù)據(jù)一個一個地程序一條一條地如何解決?取出參與操作設(shè)置一個存儲體,并將存儲體分成若干個單元。11《計(jì)算機(jī)組成原理》主講:劉子良第一章概論1.12《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成設(shè)置考慮(2):訪問按地址進(jìn)行將第個單元賦予編碼,表征該單元地址放于何處?設(shè)地址寄存器MARMemoryAddressRegister在地址寄存器和存儲體之間是否加地址譯碼器呢?取決于地址給出方式直接給出編碼給出->加地址譯碼器ADAddressDecode存(寫入)?。ㄗx出)12《計(jì)算機(jī)組成原理》主講:劉子良第一章概論設(shè)置13《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成設(shè)置考慮(2)續(xù):存、取存在兩個問題。數(shù)據(jù)存放設(shè)置數(shù)據(jù)寄存器的MBRMemoryBufferRegister區(qū)分加讀寫控制線路(R/W)控制于是,存儲器的基本結(jié)構(gòu)確定下來,如圖1.3所示。13《計(jì)算機(jī)組成原理》主講:劉子良第一章概論設(shè)置14《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成圖1.3存儲器基本結(jié)構(gòu)框圖地址碼地址寄存器地址譯碼器存儲體0號單元1號單元4094

號單元4095

號單元代碼緩沖寄存器數(shù)據(jù)或指令讀令寫令14《計(jì)算機(jī)組成原理》主講:劉子良第一章概論圖115《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成1.2.3控制器的基本結(jié)構(gòu)功能:全機(jī)指揮機(jī)構(gòu),執(zhí)行方式有如下三種,◎按規(guī)定的操作去執(zhí)行◎自動地去執(zhí)行◎有秩序地去執(zhí)行下面,我們具體看一下各種執(zhí)行方式。15《計(jì)算機(jī)組成原理》主講:劉子良第一章概論1.16《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成◎按規(guī)定的操作去執(zhí)行在指令中就指令執(zhí)行過程而言取出指令存放?設(shè)指令寄存器IRInstructionRegister分析指令及譯碼過程設(shè)置操作碼譯碼器ODC執(zhí)行指令16《計(jì)算機(jī)組成原理》主講:劉子良第一章概論在指17《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成◎自動地執(zhí)行設(shè)置程序計(jì)數(shù)器PCProgramCounter順序PC存放程序首址,執(zhí)行一條后,PC自動加1轉(zhuǎn)移MARPC17《計(jì)算機(jī)組成原理》主講:劉子良第一章概論設(shè)置18《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成◎有秩序去執(zhí)行指前一個操作結(jié)束,進(jìn)行下一個操作如何判斷?通過定時系統(tǒng)設(shè)置相應(yīng)的時序線路控制器的結(jié)構(gòu)如圖1.4所示18《計(jì)算機(jī)組成原理》主講:劉子良第一章概論指前19《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成圖1.4控制器結(jié)構(gòu)圖19《計(jì)算機(jī)組成原理》主講:劉子良第一章概論圖120《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成1.2.4輸入輸出設(shè)備

輸入/輸出設(shè)備種類繁多,很難用一種結(jié)構(gòu)形式加以描述,通常可以將其描述為一般結(jié)構(gòu)如圖1.5所示。圖1.5外部設(shè)備的一般描述框圖輸入設(shè)備接口接口輸出設(shè)備20《計(jì)算機(jī)組成原理》主講:劉子良第一章概論1.21《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.2計(jì)算機(jī)的基本組成◎輸入設(shè)備把程序和數(shù)據(jù)轉(zhuǎn)化為計(jì)算機(jī)能識別和處理的數(shù)據(jù)形式的設(shè)備,輸入的程序和數(shù)據(jù)存入計(jì)算機(jī)存儲器中?!蜉敵鲈O(shè)備是將計(jì)算機(jī)中的二進(jìn)制信算轉(zhuǎn)化為用戶所需要的數(shù)據(jù)格式的設(shè)備。它將計(jì)算機(jī)中的信息(計(jì)算結(jié)果等)以十進(jìn)制或字符、圖形、表格等形式顯示或打印出來。以上,我們簡要的介紹了計(jì)算機(jī)各主要部件的功能,以及其基本構(gòu)成在設(shè)置上的考慮,于是,留下的將是如何從硬件的角度,將計(jì)算機(jī)各部件連成一個計(jì)算機(jī)系統(tǒng)的問題了。21《計(jì)算機(jī)組成原理》主講:劉子良第一章概論◎輸22《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成

如何將計(jì)算機(jī)各個組成部件連接成為一個有機(jī)整體。為此,人們提出一種重要的組成系統(tǒng)技術(shù)——總線。一、總線1.總線的概念所謂總線,就是連接多個部件的一組共享信息傳送線路,它能夠分時接收和發(fā)送各部件信息。2.典型做法◎發(fā)送端:通過三態(tài)門將信息分時送入總線◎接收端:靠定時打入脈沖接收信息22《計(jì)算機(jī)組成原理》主講:劉子良第一章概論23《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成3.實(shí)現(xiàn)舉例:圖1.6計(jì)算機(jī)總線實(shí)現(xiàn)舉例框圖A‘B‘C‘CPA’CPB’CPC’ABCSS控A控B控C23《計(jì)算機(jī)組成原理》主講:劉子良第一章概論3.24《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成二、小型機(jī)、微型機(jī)的典型結(jié)構(gòu)1.以CPU為中心的雙總線結(jié)構(gòu)如圖1.7所示。圖1.7面向CPU的雙總線結(jié)構(gòu)CPUMEMI/O接口I/O接口I/O接口磁盤輸入機(jī)打印機(jī)24《計(jì)算機(jī)組成原理》主講:劉子良第一章概論二、25《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成以CPU為中心的雙總線結(jié)構(gòu)(續(xù))

(1)結(jié)構(gòu)特點(diǎn):兩簇總線

1)CPU與內(nèi)存之間交換信息的通路,即存儲總線M-BUS。

2)CPU與I/O設(shè)備之間交換信息的通路,即輸入/輸出總線I/O-BUS。

(2)分析與結(jié)論

1)根據(jù)結(jié)構(gòu)特點(diǎn)畫關(guān)系圖如圖1.8所示。顯而易見,內(nèi)存與I/O設(shè)備之間交換信息都要通過CPU。因此,稱其為面向CPU的雙總線結(jié)構(gòu)。MEM

I/OCPU圖1.8面向CPU的雙總線結(jié)構(gòu)關(guān)系圖25《計(jì)算機(jī)組成原理》主講:劉子良第一章概論以C26《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成以CPU為中心的雙總線結(jié)構(gòu)(續(xù))

2)既然內(nèi)存與I/O設(shè)備要通過CPU交換信息,那么就必要要受到CPU的直接控制。這種結(jié)構(gòu)的優(yōu)點(diǎn)是同一時間內(nèi)只能進(jìn)行一種傳送,因此控制線路簡單,時間關(guān)系易于處理,可以采用同步控制方式。缺點(diǎn)是由于I/O設(shè)備與存儲器交換信息要有CPU進(jìn)行干預(yù),因而當(dāng)I/O設(shè)備工作頻繁時要占用大量的CPU時間,從而降低了CPU的工作效率。因此,這種結(jié)構(gòu)為多數(shù)低檔小型機(jī)所采用。26《計(jì)算機(jī)組成原理》主講:劉子良第一章概論以C27《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成2.單總線結(jié)構(gòu)單總線結(jié)構(gòu)如圖1.9所示。CPUMEMI/O接口顯示器I/O接口輸入機(jī)I/O接口顯示器圖1.9面向CPU的單總線結(jié)構(gòu)關(guān)系圖27《計(jì)算機(jī)組成原理》主講:劉子良第一章概論2.28《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成以CPU為中心的單總線結(jié)構(gòu)(續(xù))(1)結(jié)構(gòu)特點(diǎn)靠一簇總線(包括地址總線、數(shù)據(jù)總線和各種控制線)來實(shí)現(xiàn)CPU、存儲器、I/O設(shè)備這間的信息交換。(2)分析與結(jié)論

1)從單總線的傳送方式可以看出,中央處理機(jī)不再是計(jì)算機(jī)的中心,CPU與其它設(shè)備一樣,只不過是單總線上的一個子系統(tǒng)。

2)采用單總線結(jié)構(gòu)后系統(tǒng)功能增強(qiáng)。因?yàn)椴捎脝慰偩€傳送方式允許I/O設(shè)備直接與存儲器交換信息,除分配總線使用權(quán)時還要與CPU打交道外,基本上不影響CPU,同時,外部設(shè)備寄存器和內(nèi)存統(tǒng)一編碼,這樣中央處理機(jī)可以象訪問內(nèi)存一樣訪問外部設(shè)備。28《計(jì)算機(jī)組成原理》主講:劉子良第一章概論以C29《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成以CPU為中心的單總線結(jié)構(gòu)(續(xù))(3)存在問題

1)單總線的工作不允許有兩個主設(shè)備同時使用總線。因此,當(dāng)I/O設(shè)備控制總線使用權(quán)時,CPU(它對總線使用的優(yōu)先級別低于I/O設(shè)備)不能從主存中取出數(shù)據(jù),因而降低了CPU的處理速度。

2)由于所有設(shè)備都連在一簇總線上,總線負(fù)載很重,隨著外設(shè)與中央處理機(jī)之間交換信息量增大,可使系統(tǒng)的吞吐量呈飽和狀態(tài),甚至無法勝任,從而使系統(tǒng)性能下降。

3)單總線常采用異步互銷應(yīng)答方式,因此,控制邏輯比較復(fù)雜。細(xì)節(jié)問題將在I/O控制一章作詳細(xì)討論。29《計(jì)算機(jī)組成原理》主講:劉子良第一章概論以C30《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成3.面向存儲器的雙總線結(jié)構(gòu)雙總線結(jié)構(gòu)如圖1.10所示。CPUMEMCACHEI/O接口磁盤I/O接口光電輸入機(jī)I/O接口寬行打印機(jī)圖1.10面向存儲器的雙總線結(jié)構(gòu)關(guān)系圖30《計(jì)算機(jī)組成原理》主講:劉子良第一章概論3.31《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成面向存儲器的雙總線結(jié)構(gòu)(續(xù))(1)結(jié)構(gòu)特點(diǎn)在內(nèi)存上開了兩個口子,一個通過高速緩沖存儲器Cache(它存有存儲器部分信息的副本)與中央處理機(jī)相連,專供它與CPU交換信息;另一個口子與原來的單總線相通,實(shí)現(xiàn)內(nèi)存與其他設(shè)備的信息交換。(2)分析與結(jié)論

1)依據(jù)結(jié)構(gòu)特點(diǎn)來關(guān)系圖1.11所示。CPUI/ODMEM圖1.11面向存儲器的雙總線結(jié)構(gòu)關(guān)系圖31《計(jì)算機(jī)組成原理》主講:劉子良第一章概論面向32《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成面向存儲器的雙總線結(jié)構(gòu)(續(xù))顯見,在這種結(jié)構(gòu)中,存儲器成為計(jì)算機(jī)的中心,所以把這種結(jié)構(gòu)稱為面向存儲器的雙總線結(jié)構(gòu)。

2)這種結(jié)構(gòu)不是對單總線結(jié)構(gòu)的否定,而是對它很好的補(bǔ)充。原因有二:第一,CPU通過專用總線與主存交換信息,不僅提高了處理機(jī)的速度,而且減輕了系統(tǒng)總線的負(fù)擔(dān),防止飽和。第二,主存與I/O設(shè)備交換信息,不必經(jīng)過CPU,因此又保持了單總線的主要優(yōu)點(diǎn)——系統(tǒng)靈活性。

3)系統(tǒng)程序日益龐大,信息存儲成為構(gòu)成系統(tǒng)的一個核心問題,整個系統(tǒng)由早期以CPU為中心發(fā)展為以存儲系統(tǒng)為中心。因此,這種雙總線結(jié)構(gòu)被廣泛采用。32《計(jì)算機(jī)組成原理》主講:劉子良第一章概論面向33《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成4.大中型計(jì)算機(jī)的典型結(jié)構(gòu)至于大、中型計(jì)算機(jī),由于軟件資源越來越豐富,存儲系統(tǒng)己經(jīng)成為計(jì)算機(jī)系統(tǒng)硬件組成的核心部件。同樣,外部設(shè)備的增多,也使得輸入/輸出問題變得十分突出。為此,又提出一項(xiàng)組成系統(tǒng)的技術(shù)——通道。圖1.12給出了大、中計(jì)算機(jī)的代表性結(jié)構(gòu)。33《計(jì)算機(jī)組成原理》主講:劉子良第一章概論4.34《計(jì)算機(jī)組成原理》主講:劉子良第一章概論

1.3計(jì)算機(jī)系統(tǒng)的硬件組成主存儲器中央處理機(jī)通道A通道BI/O控制器I/O設(shè)備I/O控制器I/O設(shè)備I/O設(shè)備I/O控制器I/O設(shè)備I/O控制器I/O設(shè)備I/O控制器I/O設(shè)備I/O設(shè)備單設(shè)備控制單元多設(shè)備控制單元圖1.11大型計(jì)算機(jī)系統(tǒng)典型結(jié)構(gòu)框圖34《計(jì)算機(jī)組成原理》主講:劉子良第一章概論主存35《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

運(yùn)算方法:指算術(shù)(四則)運(yùn)算和邏輯運(yùn)算,在運(yùn)算器的實(shí)現(xiàn)方法,而實(shí)現(xiàn)這兩種運(yùn)算的硬設(shè)備就是算術(shù)邏輯部件ALU(ArithmeticandLogicUnit),或稱運(yùn)算器。由于邏輯運(yùn)算及實(shí)現(xiàn)經(jīng)較簡單,所以本章主要討論計(jì)算機(jī)中算術(shù)四則運(yùn)算以及運(yùn)算器的邏輯結(jié)構(gòu)。35《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法36《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述2.1.1為什么要進(jìn)行運(yùn)算方法的研究

50年代初,人們對運(yùn)算方法理論研究給予了極大的注意,取得了不少至今還在應(yīng)用的成果,那么為什么要開展對運(yùn)算方法的研究呢,原因有:

1)將一個實(shí)際數(shù),用機(jī)器數(shù)(原碼、補(bǔ)碼、反碼)等表示,產(chǎn)生機(jī)器本身特有的運(yùn)算規(guī)律。

2)計(jì)算機(jī)特定的運(yùn)算方式——定點(diǎn)運(yùn)算,浮點(diǎn)運(yùn)算。

3)早期馮·諾依曼型運(yùn)算器只設(shè)加法器和寄存器。

4)采用什么樣的算法與運(yùn)算器的結(jié)構(gòu)密切相關(guān),這兩者的設(shè)計(jì)是互相影響的。綜上考慮,從而開展了對運(yùn)算方法的研究。36《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法37《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述2.1.2一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題通常,我們將一個數(shù)(連同符號)在機(jī)器中的數(shù)值化表示為機(jī)器數(shù);而把原來的數(shù)值稱為機(jī)器數(shù)的真值。一個實(shí)際數(shù)(如)通常由數(shù)符、數(shù)碼和小數(shù)點(diǎn)三部分組成。因此,將一個實(shí)際數(shù)機(jī)內(nèi)表示要解決的三個問題:37《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法38《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù))1.符號的處理通常符號處理有兩種方法:◎一種是舍棄符號,采用無符號數(shù)表示;◎另一種是采用符號,并對符號加以處理;那么如何處理符號呢?途徑只有一條,即符號數(shù)碼化。"0"表示正,"1"表示負(fù)。這種表示源于定義。以原碼表示為例:38《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法39《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之符號的處理(續(xù))(1)X=+0.1011X=+0.1011符號數(shù)碼化表示

[X]原=0.1011

從定義

[X]原=X1>X>=01-X0>=X>-1

因?yàn)椋?>X>=0

所以:[X]原=X=0.101139《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法40《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之符號的處理(續(xù))(2)X=-0.1011X=-0.1011符號數(shù)碼化表示

[X]原=1.1011

從定義因?yàn)椋?>=X>-1

所以:[X]原=1-X=1-(-0.1011)=1.101140《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法41《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之符號的處理(續(xù))2.數(shù)碼處理

(1)采用二進(jìn)制數(shù)表示,如

(255)10=(11111111)2

優(yōu)點(diǎn):計(jì)算機(jī)中,數(shù)碼是由電平的高低來表示的,通常高電平代表“1”,低電平代表“0”,所以采用二進(jìn)制方便,易實(shí)現(xiàn)。存在問題:二進(jìn)制表示數(shù)碼的效率太低,書寫冗長。41《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法42《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之?dāng)?shù)碼處理(續(xù))

(2)引進(jìn)組合二進(jìn)制數(shù)——八、十六進(jìn)制數(shù)具體方法是:從最低有效位(LSD)開始,三位一劃分組成八進(jìn)制數(shù);四位一劃分組成十六進(jìn)制數(shù)。如:

1101011110011101011110016571Q110101111001D79H

這種“引進(jìn)”,主要是為了書寫方便而己,機(jī)器內(nèi)表示并不區(qū)別。42《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法43《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之?dāng)?shù)碼處理(續(xù))

(3)BCD碼需注意:

a.如果計(jì)算機(jī)以二進(jìn)制進(jìn)行運(yùn)算和處理時,只要在輸入輸出處理機(jī)進(jìn)行二/十進(jìn)制轉(zhuǎn)換即可。

b.在商業(yè)統(tǒng)計(jì)中,仍產(chǎn)生二/十進(jìn)制轉(zhuǎn)換方案存在兩個問題:第一轉(zhuǎn)換時間就要占實(shí)際運(yùn)算時間很大比例;第二,十進(jìn)制的0.1,無法用二進(jìn)制表示,且十進(jìn)制數(shù)0.1+0.1=0.2,在二進(jìn)制中無法得到確切的數(shù)值,這里有一個小誤差。因此,商業(yè)計(jì)算機(jī)沒有專門用于十進(jìn)制計(jì)算電路,這時的十進(jìn)制數(shù)一般采用BCD碼。43《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法44《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之?dāng)?shù)碼處理(續(xù))十進(jìn)制ASCII碼 BCD碼 二進(jìn)制數(shù)十六進(jìn)制數(shù)

0 00110000 0000 0000 01 00110001 0001 0001 1…… …… …… …… ……9 00111001 1001 1001 910 …… 10000 1010 A…… …… …… …… 1111 F 10000 10由上式可見:A由于ASCII碼與BCD碼低四位相同,轉(zhuǎn)換方便。BBCD碼中,不采用其它6個二進(jìn)制數(shù)(1010-1111),需校正。44《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法45《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù))

3.小數(shù)點(diǎn)處理可否數(shù)碼化?如10110011,你能鑒別哪一位數(shù)碼是表示小數(shù)點(diǎn)嗎?顯示不行,它無法與數(shù)位相區(qū)別。一般地,任意一個二進(jìn)制數(shù)N都可以表示成:

N=2E*(ms,m1,m2,…mn)

其中:E叫做階碼,ms、m1、m2、m3、……mn叫做原數(shù),Ms為尾數(shù)符號。E代表小數(shù)點(diǎn),它可分三種情況討論。45《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法46《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之小數(shù)點(diǎn)處理(續(xù))

(1)E=0時,參與運(yùn)算的數(shù)是純小數(shù),記作ms,m1,m2,m3,mn,為定點(diǎn)小數(shù)格式,如下所示。

設(shè)機(jī)器字長有n+1位,則:原碼定點(diǎn)小數(shù)表示范圍為:-(1-2-n)-(1-2-n)

補(bǔ)碼定點(diǎn)小數(shù)表示范圍為:-1-(1-2-n)X0X1X2Xn數(shù)值部分(尾數(shù))符號位小數(shù)點(diǎn)位置46《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法47《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之小數(shù)點(diǎn)處理(續(xù))

(2)E=n時,參與運(yùn)算的數(shù)是純整數(shù),記作ms,m1,m2,……mn,為定點(diǎn)整數(shù)格式,如下所示。原碼定點(diǎn)整數(shù)的表示范圍為-(2n-1)-(2n-1)補(bǔ)碼定點(diǎn)整數(shù)的表示范圍為-2n-(2n-1)X最小正數(shù)=1X0X1X2Xn數(shù)值部分(尾數(shù))符號位小數(shù)點(diǎn)位置47《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法48《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之小數(shù)點(diǎn)處理(續(xù))

(3)E=m,且n>m>0,參與運(yùn)算的數(shù)是浮點(diǎn)數(shù),此時:

N=M*rE

式中:r為浮點(diǎn)數(shù)階碼的底,與尾數(shù)的基數(shù)相同,通常r=2;E和M都是帶符號的定點(diǎn)數(shù),E叫做階碼(exponent),M叫做尾數(shù)(mantissa)。在大多數(shù)計(jì)算機(jī)中,尾數(shù)為純小數(shù),常用原碼或補(bǔ)碼表示;階碼為定點(diǎn)整數(shù),常用移碼或補(bǔ)碼表示。48《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法49《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù))浮點(diǎn)數(shù)的一般格式如圖2.1所示。浮點(diǎn)數(shù)的底是隱含的,在整個機(jī)器數(shù)中不出現(xiàn)。階碼的符號位為es,階碼的大小反映了在數(shù)N中小數(shù)點(diǎn)的實(shí)際位置;尾數(shù)的符號位為ms,它也是整個浮點(diǎn)數(shù)的符號位,表示了該浮點(diǎn)數(shù)的正負(fù)。esemsm1位k位1位n位

階碼E尾數(shù)M圖2.1浮點(diǎn)數(shù)的一般格式49《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法50《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù))浮點(diǎn)數(shù)的表示范圍主要由階碼決定,有效數(shù)字的精度主要由尾數(shù)決定,下面分別來討論這兩個問題。

1.浮點(diǎn)數(shù)的表示范圍設(shè)某浮點(diǎn)數(shù)的格式如圖2.1所示,k和n分別表示階碼和尾數(shù)的位數(shù)(不包括符號位),尾數(shù)和階碼均用補(bǔ)碼表示。當(dāng)es=0,ms=0,階碼和尾數(shù)的數(shù)值位各位全為1(即階碼和尾數(shù)都為最大正數(shù))時,該浮點(diǎn)數(shù)為最大正數(shù):

X最大正數(shù)=(1-2-n)*22-1K50《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法51《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之浮點(diǎn)數(shù)的表示范圍(續(xù))當(dāng)es=1,ms=0,尾數(shù)的最低位mn=1,其余各位為0(即階碼為絕對值最大的負(fù)數(shù),尾數(shù)為最小正數(shù))時,該浮點(diǎn)數(shù)為最小正數(shù):

X最小正數(shù)=2-n*2-2

當(dāng)es=0,階碼的數(shù)值位全為1;ms=1,尾數(shù)的數(shù)值全為0(即階碼為最大正數(shù),尾數(shù)為絕對值最大的負(fù)數(shù))時,該浮點(diǎn)數(shù)為絕對值最大負(fù)數(shù):

X絕對值最大的負(fù)數(shù)=-1*22-1KK51《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法52《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述K一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù))2.規(guī)格化浮點(diǎn)數(shù)為了提高運(yùn)算的精度,須要充分地利用尾數(shù)的有效數(shù)位,通常采取浮點(diǎn)數(shù)規(guī)格化形式,即規(guī)定尾數(shù)的最高數(shù)位必須是一個有效值。一個浮點(diǎn)數(shù)的表示形式并不是唯一的。例如:二進(jìn)制數(shù)0.0001101可以表示為0.001101*2-1、0.01101*2-2、0.1101*2-3……而其中只有0.1101*2-3是規(guī)格化數(shù),這就是如同十進(jìn)制實(shí)數(shù)中的科學(xué)標(biāo)識法一樣。對于r進(jìn)制的規(guī)格化浮點(diǎn)數(shù)的尾數(shù)M的絕對值應(yīng)在下列范圍內(nèi):1/r<=|M|<1,如果r=2,則有:1/2<=|M|<1。

52《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法53《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述一個實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù))浮點(diǎn)數(shù)典型值見下表:

浮點(diǎn)數(shù)代碼真值階碼尾數(shù)最大正數(shù)01…10.11…1122

–1*(1-2-n)絕對值最大負(fù)數(shù)01…11.00…0022

–1*(-1)最小正數(shù)10…00.00…012-2*2-n規(guī)格化的最小正數(shù)10…00.10…002-2*2-1絕對值最小負(fù)數(shù)10…01.11…112-2*-2-n規(guī)格化的絕對值最小負(fù)數(shù)10…01.01…112-2*(-2-1-2-n)KKKKKK53《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法54《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述2.1.3負(fù)數(shù)如何處理

1.符號——絕對值表示(sign-absolute)用二進(jìn)制的最高位(最左邊位)用來表示符號,例如0表示正數(shù),1表示負(fù)數(shù),而其余各位則用于表示該數(shù)的絕對值的大小。這種數(shù)據(jù)表示直觀,但在機(jī)器中加、減運(yùn)算不能直接采用它。例如:0.1000+(-0.1011)=-0.0011

若采用原碼運(yùn)算,設(shè)機(jī)器字長n=5位,其中一個符號位。則

0.1000+1.10110.001154《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法55《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述負(fù)數(shù)如何處理之符號——絕對值表示(續(xù))可見,顯示的結(jié)果是正數(shù)。這種表示方法比較直觀,缺點(diǎn)是設(shè)計(jì)硬件電路時,需要對最高位和其它位分別處理。另外,這種表示方法有兩個0,+0與-0,同時存在。55《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法56《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述負(fù)數(shù)如何處理之符號(續(xù))

2.補(bǔ)碼表示(two'scomplement)法

(1)編碼方法:我們用四位二進(jìn)制數(shù)來說明。如果考慮到正數(shù)和負(fù)數(shù)個數(shù)一樣,則可將十六種組合一分為二,一半是正數(shù),一半表示負(fù)數(shù)(我們暫時把0歸為正數(shù)一類,顯然不太嚴(yán)格)。

000001000-8000111001-7001021010-6001131011-5010041100-4010151101-3011061110-2011171111-156《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法57《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述負(fù)數(shù)如何處理之符號——補(bǔ)碼表示法(續(xù))上圖中可見,正數(shù):從0~24-1(=7)負(fù)數(shù):從-24-1(=-8)~1

這種表示的最大好處是在于滿足(+x)+(-x)=0的規(guī)則,而且很容易區(qū)分正數(shù)和負(fù)數(shù),例:

(+6)+(-6)=0110+1010=0000

其中0表示正數(shù),1表示負(fù)數(shù),這一點(diǎn)與符號——絕對值表示相一致。57《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法58《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述負(fù)數(shù)如何處理之符號——補(bǔ)碼表示法(續(xù))

(2)采用補(bǔ)碼表示時,不管多少位二進(jìn)制,所有位為1時,一定是十進(jìn)制數(shù)-1。這樣一來解決了補(bǔ)碼數(shù)的擴(kuò)充問題。例如:

101111111011010100000101

即可以簡單地復(fù)制最高位。58《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法59《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述負(fù)數(shù)如何處理之符號——補(bǔ)碼表示法(續(xù))

(3)可將補(bǔ)碼數(shù)作為無符號數(shù)處理,并將運(yùn)算結(jié)果解釋為二進(jìn)制補(bǔ)碼表示的帶符號數(shù):即[-X]補(bǔ)=[X]補(bǔ)+1。例如:

(+77625)8=(0111111110010101)2(-77625)8=(1000000001101011)2

于是,機(jī)器作為無符號數(shù),其值為(100153)8,而解釋為常符號數(shù)為(-77625)8

59《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法60《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述負(fù)數(shù)如何處理之符號——補(bǔ)碼表示法(續(xù))

(4)在補(bǔ)碼表示中,"0"表示法是唯一的,即

[+0]補(bǔ)=[-0]補(bǔ)=0.00...0

[+0]原=0.00...0[-0]原=1.00...0[+0]反=0.00...0[-0]反=1.11...1

從數(shù)學(xué)上講,零有兩種表示對運(yùn)算是不利的,這時ALU就必須增加另外的邏輯電路來尋找"0"這個數(shù),因而當(dāng)今的大多數(shù)機(jī)器都使用補(bǔ)碼。60《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法61《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述負(fù)數(shù)如何處理之符號——補(bǔ)碼表示法(續(xù))

(5)采用補(bǔ)碼運(yùn)算,符號位做為代碼可以與數(shù)位一起參加運(yùn)算,無須單獨(dú)設(shè)置符號處理線路。

(6)目前,就大多數(shù)小/微型計(jì)算機(jī)ALU,只設(shè)加法器。采用補(bǔ)碼運(yùn)算后,補(bǔ)碼可以將“正數(shù)加負(fù)數(shù)”轉(zhuǎn)化為正數(shù)加正數(shù),同時,又可以將減法轉(zhuǎn)化為加法運(yùn)算,這樣只設(shè)加法器就可以了。61《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法62《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述負(fù)數(shù)如何處理之符號

3.反碼表示反碼也稱1的補(bǔ)碼(one'scomplement),和2的補(bǔ)碼一樣,它的最高位為符號位。"0"表示正,"1"表示負(fù)。其余各位為二進(jìn)制數(shù)的基數(shù)減1。優(yōu)點(diǎn):具有對稱性,生成容易。存在問題:

(1)存在+0與-0之分。[+0]反=0.00...0,[-0]反=1.11...1。運(yùn)算時需將1.111換成0.00...0;

(2)需加權(quán)操作,即反碼運(yùn)算若符號位有進(jìn)位,則運(yùn)算結(jié)果還要加1。在CDC公司的某些機(jī)器中使用過,而在新的計(jì)算機(jī)設(shè)計(jì)中卻很少使用。62《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法63《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述2.1.4小數(shù)與實(shí)數(shù)表示小數(shù)與實(shí)數(shù)一般采用浮點(diǎn)數(shù)表示,原因是:在定點(diǎn)數(shù)的機(jī)器中,機(jī)器指令的調(diào)用的所有操作數(shù)都是定點(diǎn)數(shù)。然而,實(shí)際需要計(jì)算機(jī)處理的數(shù)往往是混合數(shù),所以在編程時須設(shè)定一個比例因子,把原始數(shù)縮小成定點(diǎn)小數(shù)或擴(kuò)大成定點(diǎn)整數(shù)后再進(jìn)行處理,這種方法存在兩個缺點(diǎn):第一,當(dāng)只有小數(shù)而且很小時,大部分二進(jìn)制數(shù)位,被"0"占用導(dǎo)致精度損失,同樣若一個數(shù)的小數(shù)部分為0時,則有一半二進(jìn)制位數(shù)被浪費(fèi)。第二,這種表示法所能表示的范圍與浮點(diǎn)數(shù)相比是比較小的。所以小數(shù)和實(shí)數(shù)一般采用浮點(diǎn)數(shù)表示。63《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法64《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述小數(shù)與實(shí)數(shù)表示(續(xù))先前,浮點(diǎn)常采用下列格式:由于指數(shù)的編碼,尾數(shù)的格式和小數(shù)點(diǎn)的位置有規(guī)定有很大的隨意性,因此,浮點(diǎn)數(shù)的表示法不是唯一的,不同的計(jì)算機(jī)有不同的規(guī)定,這就引起了相互間數(shù)據(jù)格式的不兼容性。為此,美國電氣與電子工程協(xié)會(IEEE)制定了有關(guān)的工業(yè)標(biāo)準(zhǔn)(IEEE754)己被眾多的計(jì)算機(jī)廠商所采用。附符階碼尾符原數(shù)64《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法65《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述小數(shù)與實(shí)數(shù)表示(續(xù))

IEEE754標(biāo)準(zhǔn)有兩點(diǎn)重要考慮:

1.考慮到高級語言與機(jī)器語言之間的語言差距,二進(jìn)制規(guī)格化數(shù)為:

1.xx.…x*2yyy...y

其中,x和y均為二進(jìn)制數(shù)IEEE754標(biāo)準(zhǔn)

2.為便于軟件移植,IEEE754規(guī)定了浮點(diǎn)數(shù)標(biāo)準(zhǔn),包括:定義了單精度(32位),雙精度(64位)兩種格式,以及兩種擴(kuò)展格式。65《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法66《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述小數(shù)與實(shí)數(shù)表示-IEEE754標(biāo)準(zhǔn)考慮(續(xù))

(1)單精度浮點(diǎn)數(shù),如下:

X=(-1)s*(1.m)*2e-127(2)雙精度浮點(diǎn)數(shù),如下:

X=(-1)s*(1.m)*2e-1023

由于在規(guī)格化二進(jìn)制浮點(diǎn)數(shù)中,小數(shù)點(diǎn)前面的一位數(shù)總是1,故可將這個1省略,不出現(xiàn)在浮點(diǎn)數(shù)的格式中,我們稱其為隱藏位(hiddenbit)。Se(指數(shù))m(尾數(shù))313023220Sem63625251066《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法67《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述小數(shù)與實(shí)數(shù)表示(續(xù))例:將十進(jìn)制數(shù)178.125表示成單精度浮點(diǎn)數(shù)注:IEEE754單精度(single-precision)浮點(diǎn)數(shù)格式短實(shí)數(shù):如下其中:s(sign):符號;e(Exponent):階碼;f(Fraction):尾數(shù);Sef31302322067《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法68《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述小數(shù)與實(shí)數(shù)表示(續(xù))

IEEE754雙精度(double-precision)浮點(diǎn)格式,長實(shí)數(shù):擴(kuò)充精度浮點(diǎn)數(shù)Pentium中具有三種浮點(diǎn)數(shù)格式,臨時實(shí)數(shù):Sef636252510Sef79786463068《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法69《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法與運(yùn)算器

2.1概述小數(shù)與實(shí)數(shù)表示(續(xù))解:首先將十進(jìn)制數(shù)178.125表示成二進(jìn)制實(shí)數(shù)。

(178.125)10=(10110010.001)B

再將二進(jìn)制實(shí)數(shù)表示成規(guī)格化形式:

10110010.001=1.0110010001*27

因?yàn)橹笖?shù)等于7,另上偏移量127(=27,采用移碼)之后

e=7+127=134=(10000110)B

因此,178.125的單精度浮點(diǎn)數(shù)為:010000110011001000100000000000001823注意小數(shù)點(diǎn)前面的1和小數(shù)點(diǎn)隱含69《計(jì)算機(jī)組成原理》主講:劉子良第二章運(yùn)算方法70《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良2.2.1補(bǔ)碼加減運(yùn)算

1.補(bǔ)碼加法兩個補(bǔ)碼表示的數(shù)相加,符號位參加運(yùn)算,且兩數(shù)和的補(bǔ)碼等于兩數(shù)補(bǔ)碼之和,即:

[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)下面,我們看兩個例子。第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算70《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》71《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良例1:己知[X]補(bǔ)=0.1001,[Y]補(bǔ)=1.1101求[X+Y]補(bǔ)=?解:

[X]補(bǔ)=0.1001+)[Y]補(bǔ)=1.110110.0110

符號位產(chǎn)生的進(jìn)位1,在模2的意義下,機(jī)器會自動將其舍棄,所以[X+Y]補(bǔ)=0.0110就是正確的運(yùn)算結(jié)果。第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算71《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》72《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良例2:己知[X]補(bǔ)=1.0011,[Y]補(bǔ)=0.0110求[X+Y]補(bǔ)=?解:

[X]補(bǔ)=1.0011+)[Y]補(bǔ)=0.0110[X+Y]補(bǔ)=1.1001運(yùn)算結(jié)果是以補(bǔ)碼表示的負(fù)數(shù)。

第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算72《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》73《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良2.補(bǔ)碼減法原則上講:[X]補(bǔ)-[Y]補(bǔ)=[X-Y]補(bǔ)。可見,需要一個減法器,而現(xiàn)在只設(shè)加法器,那么,如何得到[X-Y]補(bǔ)呢?我們可以根據(jù)補(bǔ)碼加法公式可推出。

[X-Y]補(bǔ)=[X+(-Y)]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)這樣一來,減法的問題歸結(jié)到如何求[-Y]補(bǔ)的問題了,從負(fù)數(shù)引(3)的理論:[-Y]補(bǔ)=[Y]補(bǔ)+1。意思是說,[-Y]補(bǔ)等于對[Y]補(bǔ)連同符號在內(nèi)求反加1。第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算73《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》74《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良例1:Y=0.1010[Y]補(bǔ)=0.1010[-Y]補(bǔ)=1.0110例2:Y=-0.1010[Y]補(bǔ)=1.0110[-Y]補(bǔ)=0.1010第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算74《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》75《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良例3:己知[X]補(bǔ)=0.0010,[Y]補(bǔ)=1.1010求[X-Y]補(bǔ)=?解:

[X]補(bǔ)=0.0010+)[-Y]補(bǔ)=0.0110[X-Y]補(bǔ)=0.1000這就是運(yùn)算求得的正確結(jié)果。第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算75《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》76《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良例4:己知[X]補(bǔ)=1.1011,[Y]補(bǔ)=0.0110求[X-Y]補(bǔ)=?

因?yàn)閇Y]補(bǔ)=0.0110,而[-Y]補(bǔ)=1.1010

可見,若[Y]補(bǔ)為一正數(shù),則[-Y]補(bǔ)就變成一個負(fù)數(shù)了。所以:解:

[X]補(bǔ)=1.1011+)[-Y]補(bǔ)=1.1010[X-Y]補(bǔ)=11.0101

符號位的進(jìn)位1在機(jī)器中將會自動舍棄,因?yàn)樵谝?為模的情況下,2=0(mod2),故得出的就是正確的結(jié)果[X-Y]補(bǔ)。第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算76《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》77《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良2.2.2補(bǔ)碼的溢出判斷與檢測方法

1.溢出的產(chǎn)生引例1:[X]補(bǔ)=0.1011+)[Y]補(bǔ)=0.0111[X+Y]補(bǔ)=1.0010引例2:

[X]補(bǔ)=1.0101+)[Y]補(bǔ)=1.1001[X+Y]補(bǔ)=0.1110第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算77《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》78《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良補(bǔ)碼的溢出判斷與檢測方法之溢出的產(chǎn)生(續(xù))從引例1與引例2中,不難看出,兩個正數(shù)相加,結(jié)果是一個負(fù)數(shù)(符號位為1),而兩個負(fù)數(shù)相加,結(jié)果是一個正數(shù)I(符號為0),這顯然是錯誤的。原因:運(yùn)算結(jié)果超出了機(jī)器允許表示的范圍,數(shù)值部分上擴(kuò)充,從而改變了符號的性質(zhì),我們將這種現(xiàn)象稱為溢出。例:顯然,機(jī)器允許表示范圍應(yīng)該為+31到-32這間,大于31稱之為上溢或正溢出,小于-32稱之為下溢或負(fù)溢出。第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算011111100000符號位數(shù)值部分78《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》79《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良2.溢出的探測方法◎方法I:設(shè)[X]補(bǔ)=X0,X1,X2...Xn,[Y]補(bǔ)=Y0,Y1,Y2...Yn其和(或差)為[S]補(bǔ)=S0,S1,S2...Sn。則溢出條件為:

V=X0Y0S0+X0Y0S0◎方法II:采用變形補(bǔ)碼(雙符號位補(bǔ)碼)第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算79《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》80《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良補(bǔ)碼的溢出判斷與檢測方法之溢出的探測方法(續(xù))觀察下列算式:

00.100111.011100.110111.0011+00.0011+11.1101+00.1001+11.011100.110011.010001.011010.1010

可見,當(dāng)結(jié)果兩位符號的值不一致時表時溢出,若設(shè)兩符號位Sf1和Sf2,則

V=Sf1Sf2第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算80《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》81《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良補(bǔ)碼的溢出判斷與檢測方法之溢出的探測方法(續(xù))◎方法3:采用雙離位判斷,設(shè):數(shù)值部分最高位產(chǎn)生的進(jìn)位為Cs;符號部分向上產(chǎn)生的進(jìn)位為Cf;仍以上面四個標(biāo)式為例。

0.10011.01110.11011.0011+0.0011+1.1101+0.1001+1.01110.11001.01001.01100.1010

溢出條件為公式:V=CfCs第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算Cf=0Cs=0Cf=1Cs=1Cf=0Cs=1Cf=1Cs=081《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》82《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良2.2.4補(bǔ)碼定點(diǎn)加減運(yùn)算的實(shí)現(xiàn)設(shè)A=A0,A1,A2...An,B=B0,B1,B2...Bn,則

A+B=A0,A1,A2...An+B0,B1,B2...BnA-B=A0,A1,A2…An+B0,B1,B2…Bn+0.00...01且

A+BAA-BA實(shí)現(xiàn)線路如下圖。第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算82《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》83《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良補(bǔ)碼定點(diǎn)加減運(yùn)算的實(shí)現(xiàn)(續(xù))第二章運(yùn)算方法與運(yùn)算器

2.2定點(diǎn)加減運(yùn)算+1+1+-B+B01Bi1AiCPCPAA實(shí)現(xiàn)線路83《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》84《計(jì)算機(jī)組成原理》主講:劉子良《計(jì)算機(jī)組成原理》主講:劉子良補(bǔ)碼定點(diǎn)加減運(yùn)算的實(shí)現(xiàn)(續(xù))對實(shí)現(xiàn)線路的補(bǔ)充說明:功能所需控制信號加+A+B減

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論