吉林大學(xué)遠(yuǎn)程教育學(xué)院_第1頁
吉林大學(xué)遠(yuǎn)程教育學(xué)院_第2頁
吉林大學(xué)遠(yuǎn)程教育學(xué)院_第3頁
吉林大學(xué)遠(yuǎn)程教育學(xué)院_第4頁
吉林大學(xué)遠(yuǎn)程教育學(xué)院_第5頁
已閱讀5頁,還剩274頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

2、 第一章 概論 1.1 馮諾依曼體制 1. ENIAC概況 1) 數(shù)據(jù)表示十進(jìn)制 2) 工作存儲(chǔ)器只有20個(gè)單元,用于存放數(shù)據(jù) 3) 編程先要人工對(duì)面板上6000多個(gè)電子開關(guān)進(jìn)行機(jī)械定位,然后都轉(zhuǎn)插線 插頭,插入與撥出方式來編制程序 4) ENIAC共用18000多個(gè)電子管,6000多個(gè)繼電器,耗電140KW,占地170平 米,重30噸,運(yùn)算速度5000次/秒。ENIAC可靠運(yùn)行時(shí)間大概不超過20分鐘。 6 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.1 馮諾依曼體制 2. 馮諾依曼體制 1)引進(jìn)存儲(chǔ)程序概念 2)計(jì)算機(jī)以運(yùn)算器為核心的集中式控制 3)指令由操作碼和地址碼兩部分組成,指令在

3、計(jì)算機(jī)中最順序執(zhí)行的,并受PC 的統(tǒng)一控制 4)提出計(jì)算機(jī)系統(tǒng)應(yīng)由:運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部 分組成。 這些理論奠定了現(xiàn)代計(jì)算機(jī)的基本思想,在到目前為止,大多數(shù)計(jì)算機(jī)仍沿用 這一體制,人們稱其為馮諾依曼體制。 7 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 人們常提到的馮諾 依曼機(jī)與原始的以運(yùn)算器 為中心的馮諾依曼機(jī)在 結(jié)構(gòu)上有很大的改進(jìn)?,F(xiàn) 在已轉(zhuǎn)向以存儲(chǔ)器為中心 的計(jì)算機(jī)組成方式。如圖 1.1所示。 圖1.1 計(jì)算機(jī)基本組成框圖 運(yùn)算器 存儲(chǔ)器 控制器 數(shù) 據(jù) 結(jié) 果 地 址 指 令 輸入設(shè)備輸出設(shè)備 反饋信息操作命令 控制信號(hào) 請(qǐng)求信號(hào)

4、控制臺(tái) 控制信號(hào) 請(qǐng)求信號(hào) 8 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 從圖1.1中我們可以看出,計(jì)算機(jī)一般由以下幾部分組成: 輸入設(shè)備、存儲(chǔ)器、運(yùn)算器、控制器、輸出設(shè)備五大部分 運(yùn)算器與控制器統(tǒng)稱為中央處理機(jī)CPU 習(xí)慣將輸入設(shè)備、輸出設(shè)備統(tǒng)稱為I/O設(shè)備 輸入設(shè)備輸入設(shè)備 存儲(chǔ)器存儲(chǔ)器 運(yùn)算器運(yùn)算器 控制器控制器 輸出設(shè)備輸出設(shè)備 I/O 設(shè)備 CPU 9 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 1.2.1 運(yùn)算器基本結(jié)構(gòu) 功能:完成算術(shù)運(yùn)算和邏輯運(yùn)算的裝置 設(shè)置考慮:任意算術(shù)運(yùn)算(加+、減-、乘*、除/)都可以通過相加和移位來解

5、決。 舉證: 這樣一來,運(yùn)算器的基本結(jié)構(gòu)就確定下來,如圖1.2所示。 10 計(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ù)總線 11 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 1.2.2 存儲(chǔ)器的基本結(jié)構(gòu) 功能:存放程序和數(shù)據(jù)裝置,并滿足計(jì)算機(jī)在執(zhí)行過程中能夠隨機(jī)訪問這些程 序和數(shù)據(jù)。 設(shè)置考慮(1): 存 取 數(shù)據(jù) 一個(gè)一個(gè)地 程序 一條一條地 如何解決? 取出參與

6、操作 設(shè)置一個(gè)存儲(chǔ)體,并將存儲(chǔ)體分成若干個(gè)單元。設(shè)置一個(gè)存儲(chǔ)體,并將存儲(chǔ)體分成若干個(gè)單元。 12 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 設(shè)置考慮(2): 訪問按地址進(jìn)行將第個(gè)單元賦予編碼,表征該單元地址 放于何處? 設(shè)地址寄存器MAR Memory Address Register 在地址寄存器和存儲(chǔ)體之間是否加地址譯碼器呢? 取決于地址給出方式給出方式 直接給出 編碼給出- 加地址譯碼器AD Address Decode 存(寫入)存(寫入) 取(讀出)?。ㄗx出) 13 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 設(shè)置考慮(2)續(xù):

7、存、取存在兩個(gè)問題。 數(shù)據(jù)存放 設(shè)置數(shù)據(jù)寄存器的MBR Memory Buffer Register 區(qū)分加讀寫控制線路(R/W)控制 于是,存儲(chǔ)器的基本結(jié)構(gòu)確定下來,如圖1.3所示。 14 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 圖1.3 存儲(chǔ)器基本結(jié)構(gòu)框圖 地址碼 地址寄存器 地址譯碼器 存儲(chǔ)體 0 號(hào) 單 元 1 號(hào) 單 元 4094 號(hào) 單 元 4095 號(hào) 單 元 代 碼 緩 沖 寄 存 器 數(shù) 據(jù) 或 指 令 讀令 寫令 15 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 1.2.3 控制器的基本結(jié)構(gòu) 功能:全機(jī)指揮機(jī)構(gòu),執(zhí)行方

8、式有如下三種, 按規(guī)定的操作去執(zhí)行 自動(dòng)地去執(zhí)行 有秩序地去執(zhí)行 下面,我們具體看一下各種執(zhí)行方式。 16 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 按規(guī)定的操作去執(zhí)行 在指令中 就指令執(zhí)行過程而言 取出指令 存放? 設(shè)指令寄存器IR Instruction Register 分析指令 及譯碼過程 設(shè)置操作碼譯碼器ODC 執(zhí)行指令 17 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 自動(dòng)地執(zhí)行 設(shè)置程序計(jì)數(shù)器PC Program Counter 順序 PC存放程序首址, 執(zhí)行一條后,PC自動(dòng)加1 轉(zhuǎn)移MAR PC 18 計(jì)算機(jī)組成原理 主講:

9、劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 有秩序去執(zhí)行 指前一個(gè)操作結(jié)束,進(jìn)行下一個(gè)操作 如何判斷? 通過定時(shí)系統(tǒng) 設(shè)置相應(yīng)的時(shí)序線路 控制器的結(jié)構(gòu)如圖1.4所示 19 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 圖1.4 控制器結(jié)構(gòu)圖 20 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.2 計(jì)算機(jī)的基本組成 1.2.4 輸入輸出設(shè)備 輸入/輸出設(shè)備種類 繁多,很難用一種結(jié)構(gòu)形 式加以描述,通常可以將 其描述為一般結(jié)構(gòu)如圖 1.5所示。 圖1.5 外部設(shè)備的一般描述框圖 輸入設(shè)備輸入設(shè)備 接口接口接口接口 輸出設(shè)備輸出設(shè)備 21 計(jì)算機(jī)組成原理 主講:劉子良

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

11、組成系統(tǒng)技術(shù)總線總線。 一、總線 1. 總線的概念 所謂總線,就是連接多個(gè)部件的一組共享信息傳送線路,它能夠分時(shí)接收和發(fā) 送各部件信息。 2. 典型做法 發(fā)送端:通過三態(tài)門將信息分時(shí)送入總線 接收端:靠定時(shí)打入脈沖接收信息 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 A B C SS 控A 控B 控C 24 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.3 計(jì)算機(jī)系統(tǒng)的硬件組成 二、小型機(jī)、微型機(jī)的典型結(jié)構(gòu) 1. 以CPU為中心的雙總線結(jié)構(gòu) 如圖1.7所示。 圖1.7

12、面向CPU的雙總線結(jié)構(gòu) CPU MEM I/O接口I/O接口I/O接口 磁盤輸入機(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)存之間交換信息的通路,即存儲(chǔ)總線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)系圖 26 計(jì)算機(jī)

13、組成原理 主講:劉子良 第一章 概論 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)是同一時(shí)間內(nèi)只能進(jìn)行一種傳送,因此控制線路簡單,時(shí)間關(guān) 系易于處理,可以采用同步控制方式。 缺點(diǎn)是由于I/O設(shè)備與存儲(chǔ)器交換信息要有CPU進(jìn)行干預(yù),因而當(dāng)I/O設(shè)備工作頻 繁時(shí)要占用大量的CPU時(shí)間,從而降低了CPU的工作效率。因此,這種結(jié)構(gòu)為多數(shù) 低檔小型機(jī)所采用。 27 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.3 計(jì)算機(jī)系統(tǒng)的硬件組成 2. 單總線結(jié)構(gòu) 單總線結(jié)構(gòu)如圖1.9所示。 CPU

14、MEM I/O接口 顯示器 I/O接口 輸入機(jī) I/O接口 顯示器 圖1.9 面向CPU的單總線結(jié)構(gòu)關(guān)系圖 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、存儲(chǔ)器、 I/O設(shè)備這間的信息交換。 (2) 分析與結(jié)論 1) 從單總線的傳送方式可以看出,中央處理機(jī)不再是計(jì)算機(jī)的中心,CPU與其 它設(shè)備一樣,只不過是單總線上的一個(gè)子系統(tǒng)。 2) 采用單總線結(jié)構(gòu)后系統(tǒng)功能增強(qiáng)。因?yàn)椴捎脝慰偩€傳送方式允許I/O設(shè)備直接 與存儲(chǔ)器交換信息,除分配總線使用權(quán)時(shí)還要與

15、CPU打交道外,基本上不影響CPU, 同時(shí),外部設(shè)備寄存器和內(nèi)存統(tǒng)一編碼,這樣中央處理機(jī)可以象訪問內(nèi)存一樣訪問外 部設(shè)備。 29 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.3 計(jì)算機(jī)系統(tǒng)的硬件組成 以CPU為中心的單總線結(jié)構(gòu)(續(xù)) (3) 存在問題 1) 單總線的工作不允許有兩個(gè)主設(shè)備同時(shí)使用總線。因此,當(dāng)I/O設(shè)備控制總線 使用權(quán)時(shí),CPU(它對(duì)總線使用的優(yōu)先級(jí)別低于I/O設(shè)備)不能從主存中取出數(shù)據(jù), 因而降低了CPU的處理速度。 2) 由于所有設(shè)備都連在一簇總線上,總線負(fù)載很重,隨著外設(shè)與中央處理機(jī)之間 交換信息量增大,可使系統(tǒng)的吞吐量呈飽和狀態(tài),甚至無法勝任,從而使系統(tǒng)性能下 降。

16、 3) 單總線常采用異步互銷應(yīng)答方式,因此,控制邏輯比較復(fù)雜。 細(xì)節(jié)問題將在I/O控制一章作詳細(xì)討論。 30 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.3 計(jì)算機(jī)系統(tǒng)的硬件組成 3. 面向存儲(chǔ)器的雙總線結(jié)構(gòu) 雙總線結(jié)構(gòu)如圖1.10所示。 CPUMEM CACHE I/O接口 磁盤 I/O接口 光電輸入機(jī) I/O接口 寬行打印機(jī) 圖1.10 面向存儲(chǔ)器的雙總線結(jié)構(gòu)關(guān)系圖 31 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.3 計(jì)算機(jī)系統(tǒng)的硬件組成 面向存儲(chǔ)器的雙總線結(jié)構(gòu)(續(xù)) (1) 結(jié)構(gòu)特點(diǎn) 在內(nèi)存上開了兩個(gè)口子,一個(gè)通過高速緩沖存儲(chǔ)器Cache(它存有存儲(chǔ)器部分信 息的副本)與中央處

17、理機(jī)相連,專供它與CPU交換信息;另一個(gè)口子與原來的單總線 相通,實(shí)現(xiàn)內(nèi)存與其他設(shè)備的信息交換。 (2) 分析與結(jié)論 1) 依據(jù)結(jié)構(gòu)特點(diǎn)來關(guān)系圖1.11所示。 CPU I/O DCPU 圖1.11 面向存儲(chǔ)器的雙總線結(jié)構(gòu)關(guān)系圖 32 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.3 計(jì)算機(jī)系統(tǒng)的硬件組成 面向存儲(chǔ)器的雙總線結(jié)構(gòu)(續(xù)) 顯見,在這種結(jié)構(gòu)中,存儲(chǔ)器成為計(jì)算機(jī)的中心,所以把這種結(jié)構(gòu)稱為面向存 儲(chǔ)器的雙總線結(jié)構(gòu)。 2) 這種結(jié)構(gòu)不是對(duì)單總線結(jié)構(gòu)的否定,而是對(duì)它很好的補(bǔ)充。原因有二:第一, CPU通過專用總線與主存交換信息,不僅提高了處理機(jī)的速度,而且減輕了系統(tǒng)總線 的負(fù)擔(dān),防止飽和。

18、第二,主存與I/O設(shè)備交換信息,不必經(jīng)過CPU,因此又保持了 單總線的主要優(yōu)點(diǎn)系統(tǒng)靈活性。 3) 系統(tǒng)程序日益龐大,信息存儲(chǔ)成為構(gòu)成系統(tǒng)的一個(gè)核心問題,整個(gè)系統(tǒng)由早 期以CPU為中心發(fā)展為以存儲(chǔ)系統(tǒng)為中心。因此,這種雙總線結(jié)構(gòu)被廣泛采用。 33 計(jì)算機(jī)組成原理 主講:劉子良 第一章 概論 1.3 計(jì)算機(jī)系統(tǒng)的硬件組成 4. 大中型計(jì)算機(jī)的典型結(jié)構(gòu) 至于大、中型計(jì)算機(jī),由于軟件資源越來越豐富,存儲(chǔ)系統(tǒng)己經(jīng)成為計(jì)算機(jī)系 統(tǒng)硬件組成的核心部件。同樣,外部設(shè)備的增多,也使得輸入/輸出問題變得十分突 出。為此,又提出一項(xiàng)組成系統(tǒng)的技術(shù)通道。 圖1.12給出了大、中計(jì)算機(jī)的代表性結(jié)構(gòu)。 34 計(jì)算機(jī)組成原

19、理 主講:劉子良 第一章 概論 1.3 計(jì)算機(jī)系統(tǒng)的硬件組成 主存儲(chǔ)器中央處理機(jī) 通道A通道B I/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)框圖 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(Arithmetic and Logic Unit),或稱運(yùn)算 器。 由于邏輯運(yùn)算及實(shí)現(xiàn)經(jīng)較簡單,所以本章主要討

20、論計(jì)算機(jī)中算術(shù)四則運(yùn)算以及 運(yùn)算器的邏輯結(jié)構(gòu)。 36 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 2.1.1 為什么要進(jìn)行運(yùn)算方法的研究 50年代初,人們對(duì)運(yùn)算方法理論研究給予了極大的注意,取得了不少至今還在 應(yīng)用的成果,那么為什么要開展對(duì)運(yùn)算方法的研究呢,原因有: 1) 將一個(gè)實(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ì)是互相影響的。 綜上考慮,從而開展了對(duì)運(yùn)算方法的研究。 37 計(jì)

21、算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 2.1.2 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題 通常,我們將一個(gè)數(shù)(連同符號(hào))在機(jī)器中的數(shù)值化表示為機(jī)器數(shù);而把原來 的數(shù)值稱為機(jī)器數(shù)的真值。 一個(gè)實(shí)際數(shù)(如 )通常由數(shù)符、數(shù)碼和小數(shù)點(diǎn)三部分組成。因此,將一 個(gè)實(shí)際數(shù)機(jī)內(nèi)表示要解決的三個(gè)問題: 75. 8 38 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù)) 1. 符號(hào)的處理 通常符號(hào)處理有兩種方法: 一種是舍棄符號(hào),采用無符號(hào)數(shù)表示; 另一種是采用符號(hào),并對(duì)符號(hào)加以處理; 那么如何處理符號(hào)呢?途徑只有一條,即符號(hào)數(shù)碼化

22、。0表示正,1表示負(fù)。 這種表示源于定義。 以原碼表示為例: 39 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之符號(hào)的處理(續(xù)) (1) X=+0.1011 X=+0.1011 符號(hào)數(shù)碼化表示 X原=0.1011 從定義 X原= X 1X=0 1-X 0=X-1 因?yàn)椋?X=0 所以: X原=X=0.1011 40 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之符號(hào)的處理(續(xù)) (2) X=-0.1011 X=-0.1011 符號(hào)數(shù)碼化表示 X原=1.1011 從定義 因?yàn)椋?=X

23、-1 所以: X原=1-X =1-(-0.1011) =1.1011 41 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之符號(hào)的處理(續(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ù)碼的效率太低,書寫冗長。 42 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之?dāng)?shù)碼處理(續(xù)) (2) 引進(jìn)組合二進(jìn)制數(shù)八、十

24、六進(jìn)制數(shù) 具體方法是:從最低有效位(LSD)開始,三位一劃分組成八進(jìn)制數(shù);四位一劃 分組成十六進(jìn)制數(shù)。如: 110101111001 110101111001 6571Q 110101111001 D79H 這種“引進(jìn)”,主要是為了書寫方便而己,機(jī)器內(nèi)表示并不區(qū)別。 43 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之?dāng)?shù)碼處理(續(xù)) (3) BCD碼 需注意: a. 如果計(jì)算機(jī)以二進(jìn)制進(jìn)行運(yùn)算和處理時(shí),只要在輸入輸出處理機(jī)進(jìn)行二/十進(jìn) 制轉(zhuǎn)換即可。 b. 在商業(yè)統(tǒng)計(jì)中,仍產(chǎn)生二/十進(jìn)制轉(zhuǎn)換方案存在兩個(gè)問題:第一轉(zhuǎn)換時(shí)間就要 占實(shí)際運(yùn)算時(shí)間

25、很大比例;第二,十進(jìn)制的0.1,無法用二進(jìn)制表示,且十進(jìn)制數(shù) 0.1+0.1=0.2,在二進(jìn)制中無法得到確切的數(shù)值,這里有一個(gè)小誤差。因此,商業(yè)計(jì) 算機(jī)沒有專門用于十進(jìn)制計(jì)算電路,這時(shí)的十進(jìn)制數(shù)一般采用BCD碼。 44 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之?dāng)?shù)碼處理(續(xù)) 十進(jìn)制 ASCII碼 BCD碼 二進(jìn)制數(shù) 十六進(jìn)制數(shù) 000110000000000000 100110001000100011 900111001100110019 10 100001010A 1111 F 1000010 由上式可見: A 由于ASCII碼與

26、BCD碼低四位相同,轉(zhuǎn)換方便。 B BCD碼中,不采用其它6個(gè)二進(jìn)制數(shù)(1010-1111),需校正。 45 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù)) 3.小數(shù)點(diǎn)處理 可否數(shù)碼化?如10110011,你能鑒別哪一位數(shù)碼是表示小數(shù)點(diǎn)嗎?顯示不行, 它無法與數(shù)位相區(qū)別。 一般地,任意一個(gè)二進(jìn)制數(shù)N都可以表示成: N=2E * (ms, m1, m2, mn) 其中:E叫做階碼,ms、m1、m2、m3、mn叫做原數(shù),Ms為尾數(shù)符號(hào)。E代 表小數(shù)點(diǎn),它可分三種情況討論。 46 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.

27、1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之小數(shù)點(diǎn)處理(續(xù)) (1) E=0時(shí),參與運(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) X0 X1 X2 Xn 數(shù)值部分(尾數(shù)) 符號(hào)位 小數(shù)點(diǎn)位置 47 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之小數(shù)點(diǎn)處理(續(xù)) (2) E=n時(shí),參與運(yùn)算的數(shù)是純整數(shù),記作ms,m1,m2,mn,為定點(diǎn)整數(shù)格式, 如下所示。 原碼定點(diǎn)整

28、數(shù)的表示范圍為-(2n-1) - (2n-1) 補(bǔ)碼定點(diǎn)整數(shù)的表示范圍為-2n - (2n-1) X最小正數(shù)=1 X0 X1 X2 Xn 數(shù)值部分(尾數(shù)) 符號(hào)位 小數(shù)點(diǎn)位置 48 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之小數(shù)點(diǎn)處理(續(xù)) (3) E=m,且nm0,參與運(yùn)算的數(shù)是浮點(diǎn)數(shù),此時(shí): N=M * rE 式中:r為浮點(diǎn)數(shù)階碼的底,與尾數(shù)的基數(shù)相同,通常r=2;E和M都是帶符號(hào)的 定點(diǎn)數(shù),E叫做階碼(exponent),M叫做尾數(shù)(mantissa)。在大多數(shù)計(jì)算機(jī)中, 尾數(shù)為純小數(shù),常用原碼或補(bǔ)碼表示;階碼為定點(diǎn)整數(shù),常用移

29、碼或補(bǔ)碼表示。 49 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù)) 浮點(diǎn)數(shù)的一般格式如圖2.1所示。 浮點(diǎn)數(shù)的底是隱含的,在整個(gè)機(jī)器數(shù)中不出現(xiàn)。階碼的符號(hào)位為es,階碼的大小 反映了在數(shù)N中小數(shù)點(diǎn)的實(shí)際位置;尾數(shù)的符號(hào)位為ms,它也是整個(gè)浮點(diǎn)數(shù)的符號(hào)位, 表示了該浮點(diǎn)數(shù)的正負(fù)。 es e ms m 1位 k位 1位 n位 階碼E 尾數(shù)M 圖2.1 浮點(diǎn)數(shù)的一般格式 50 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù)) 浮點(diǎn)數(shù)的表示范圍主要由階碼決定,有效數(shù)字的精度主要由尾數(shù)

30、決定,下面分 別來討論這兩個(gè)問題。 1. 浮點(diǎn)數(shù)的表示范圍 設(shè)某浮點(diǎn)數(shù)的格式如圖2.1所示,k和n分別表示階碼和尾數(shù)的位數(shù)(不包括符號(hào) 位),尾數(shù)和階碼均用補(bǔ)碼表示。 當(dāng)es=0,ms=0,階碼和尾數(shù)的數(shù)值位各位全為1(即階碼和尾數(shù)都為最大正數(shù)) 時(shí),該浮點(diǎn)數(shù)為最大正數(shù): X最大正數(shù)=(1-2-n) * 22 -1 K 51 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題之浮點(diǎn)數(shù)的表示范圍(續(xù)) 當(dāng)es=1,ms=0,尾數(shù)的最低位mn=1,其余各位為0(即階碼為絕對(duì)值最大的負(fù)數(shù), 尾數(shù)為最小正數(shù))時(shí),該浮點(diǎn)數(shù)為最小正數(shù): X最小正數(shù)=2-n

31、 * 2-2 當(dāng)es=0,階碼的數(shù)值位全為1;ms=1,尾數(shù)的數(shù)值全為0(即階碼為最大正數(shù), 尾數(shù)為絕對(duì)值最大的負(fù)數(shù))時(shí),該浮點(diǎn)數(shù)為絕對(duì)值最大負(fù)數(shù): X絕對(duì)值最大的負(fù)數(shù)= -1 * 22 -1 K K 52 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 K 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù)) 2. 規(guī)格化浮點(diǎn)數(shù) 為了提高運(yùn)算的精度,須要充分地利用尾數(shù)的有效數(shù)位,通常采取浮點(diǎn)數(shù)規(guī)格 化形式,即規(guī)定尾數(shù)的最高數(shù)位必須是一個(gè)有效值。 一個(gè)浮點(diǎn)數(shù)的表示形式并不是唯一的。例如:二進(jìn)制數(shù)0.0001101可以表示為 0.001101*2-1、0.01101*2-2、0.1101*

32、2-3而其中只有0.1101*2-3是規(guī)格化數(shù),這就 是如同十進(jìn)制實(shí)數(shù)中的科學(xué)標(biāo)識(shí)法一樣。 對(duì)于r進(jìn)制的規(guī)格化浮點(diǎn)數(shù)的尾數(shù)M的絕對(duì)值應(yīng)在下列范圍內(nèi):1/r=|M|1,如 果r=2,則有:1/2=|M|1。 53 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 一個(gè)實(shí)際數(shù)機(jī)內(nèi)表示所面臨的問題(續(xù)) 浮點(diǎn)數(shù)典型值見下表: 浮點(diǎn)數(shù)代碼 真值 階碼尾數(shù) 最大正數(shù)0110.111122 1 * (1-2-n) 絕對(duì)值最大負(fù)數(shù)0111.000022 1 * (-1) 最小正數(shù)1000.00012-2 *2-n 規(guī)格化的最小正數(shù)1000.10002-2 *2-1 絕對(duì)值最小負(fù)數(shù)1001

33、.11112-2 *-2-n 規(guī)格化的絕對(duì)值最小負(fù)數(shù)1001.01112-2 *(-2-1-2-n) K K K K K K 54 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 2.1.3 負(fù)數(shù)如何處理 1. 符號(hào)絕對(duì)值表示(sign-absolute) 用二進(jìn)制的最高位(最左邊位)用來表示符號(hào),例如0表示正數(shù),1表示負(fù)數(shù), 而其余各位則用于表示該數(shù)的絕對(duì)值的大小。這種數(shù)據(jù)表示直觀,但在機(jī)器中加、減 運(yùn)算不能直接采用它。 例如:0.1000+(-0.1011)=-0.0011 若采用原碼運(yùn)算,設(shè)機(jī)器字長n=5位,其中一個(gè)符號(hào)位。 則 0.1000 + 1.1011 0.

34、0011 55 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 負(fù)數(shù)如何處理之符號(hào)絕對(duì)值表示(續(xù)) 可見,顯示的結(jié)果是正數(shù)。 這種表示方法比較直觀,缺點(diǎn)是設(shè)計(jì)硬件電路時(shí),需要對(duì)最高位和其它位分別 處理。另外,這種表示方法有兩個(gè)0,+0與 -0,同時(shí)存在。 56 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 負(fù)數(shù)如何處理之符號(hào)(續(xù)) 2.補(bǔ)碼表示(twos complement)法 (1) 編碼方法:我們用四位二進(jìn)制數(shù)來說明。如果考慮到正數(shù)和負(fù)數(shù)個(gè)數(shù)一樣, 則可將十六種組合一分為二,一半是正數(shù),一半表示負(fù)數(shù)(我們暫時(shí)把0歸為正數(shù)一 類,顯然不太嚴(yán)格)

35、。 0000 0 1000 -8 0001 1 1001 -7 0010 2 1010 -6 0011 3 1011 -5 0100 4 1100 -4 0101 5 1101 -3 0110 6 1110 -2 0111 7 1111 -1 57 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 負(fù)數(shù)如何處理之符號(hào)補(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ù)

36、,這一點(diǎn)與符號(hào)絕對(duì)值表示相一致。 58 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 負(fù)數(shù)如何處理之符號(hào)補(bǔ)碼表示法(續(xù)) (2) 采用補(bǔ)碼表示時(shí),不管多少位二進(jìn)制,所有位為1時(shí),一定是十進(jìn)制數(shù)-1。這 樣一來解決了補(bǔ)碼數(shù)的擴(kuò)充問題。 例如: 1011 11111011 0101 00000101 即可以簡單地復(fù)制最高位。 59 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 負(fù)數(shù)如何處理之符號(hào)補(bǔ)碼表示法(續(xù)) (3) 可將補(bǔ)碼數(shù)作為無符號(hào)數(shù)處理,并將運(yùn)算結(jié)果解釋為二進(jìn)制補(bǔ)碼表示的帶符 號(hào)數(shù):即-X補(bǔ)=X補(bǔ)+1。 例如: (+77625)8=(011

37、1111110010101)2 (-77625)8=(1000000001101011)2 于是,機(jī)器作為無符號(hào)數(shù),其值為(100153)8,而解釋為常符號(hào)數(shù)為(-77625)8 60 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 負(fù)數(shù)如何處理之符號(hào)補(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é)上講,零有兩種表示對(duì)運(yùn)算是不利的,這時(shí)ALU就必須增加另外的邏輯電 路來尋找0這個(gè)數(shù),因而當(dāng)今的大多數(shù)機(jī)器都使用補(bǔ)碼。 61 計(jì)算機(jī)組成

38、原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 負(fù)數(shù)如何處理之符號(hào)補(bǔ)碼表示法(續(xù)) (5) 采用補(bǔ)碼運(yùn)算,符號(hào)位做為代碼可以與數(shù)位一起參加運(yùn)算,無須單獨(dú)設(shè)置符 號(hào)處理線路。 (6) 目前,就大多數(shù)小/微型計(jì)算機(jī)ALU,只設(shè)加法器。采用補(bǔ)碼運(yùn)算后,補(bǔ)碼可 以將“正數(shù)加負(fù)數(shù)”轉(zhuǎn)化為正數(shù)加正數(shù),同時(shí),又可以將減法轉(zhuǎn)化為加法運(yùn)算,這樣只 設(shè)加法器就可以了。 62 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 負(fù)數(shù)如何處理之符號(hào) 3. 反碼表示 反碼也稱1的補(bǔ)碼(ones complement),和2的補(bǔ)碼一樣,它的最高位為符號(hào) 位。0表示正,1表示負(fù)。其余各位為二進(jìn)

39、制數(shù)的基數(shù)減1。 優(yōu)點(diǎn):具有對(duì)稱性,生成容易。 存在問題: (1) 存在+0與-0之分。+0反=0.00.0,-0反=1.11.1。運(yùn)算時(shí)需將 1.11.1換成 0.00.0; (2) 需加權(quán)操作,即反碼運(yùn)算若符號(hào)位有進(jìn)位,則運(yùn)算結(jié)果還要加1。 在CDC公司的某些機(jī)器中使用過,而在新的計(jì)算機(jī)設(shè)計(jì)中卻很少使用。 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è)定一個(gè)比例因子,把原始數(shù)縮小

40、 成定點(diǎn)小數(shù)或擴(kuò)大成定點(diǎn)整數(shù)后再進(jìn)行處理,這種方法存在兩個(gè)缺點(diǎn): 第一,當(dāng)只有小數(shù)而且很小時(shí),大部分二進(jìn)制數(shù)位,被0占用導(dǎo)致精度損失, 同樣若一個(gè)數(shù)的小數(shù)部分為0時(shí),則有一半二進(jìn)制位數(shù)被浪費(fèi)。 第二,這種表示法所能表示的范圍與浮點(diǎn)數(shù)相比是比較小的。 所以小數(shù)和實(shí)數(shù)一般采用浮點(diǎn)數(shù)表示。 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ī)

41、定,這就引起了相互間數(shù)據(jù)格 式的不兼容性。為此,美國電氣與電子工程協(xié)會(huì)(IEEE)制定了有關(guān)的工業(yè)標(biāo)準(zhǔn) (IEEE754)己被眾多的計(jì)算機(jī)廠商所采用。 附符 階碼 尾符 原數(shù) 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ī)器語言之間的語言差距,二進(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

42、 位),雙精度(64位)兩種格式,以及兩種擴(kuò)展格式。 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,故可將這個(gè)1省略, 不出現(xiàn)在浮點(diǎn)數(shù)的格式中,我們稱其為隱藏位(hidden bit)。 S e(指數(shù)) m(尾數(shù)) 31 30 23 22

43、 0 S e m 63 62 52 51 0 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):符號(hào);e (Exponent):階碼;f (Fraction):尾數(shù); S e f 31 30 23 22 0 68 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)算方法與運(yùn)算器 2.1 概述 計(jì)算機(jī)組成原理 主講:劉子良 第二章 運(yùn)

44、算方法與運(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í)數(shù): S e f 63 62 52 51 0 S e f 79 78 64 63 0 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.

45、001=1.0110010001*27 因?yàn)橹笖?shù)等于7,另上偏移量127 (=27,采用移碼)之后 e=7+127=134=(10000110)B 因此,178.125的單精度浮點(diǎn)數(shù)為: 0 10000110 01100100010000000000000 1 8 23 注意小數(shù)點(diǎn)前面的注意小數(shù)點(diǎn)前面的1和小數(shù)點(diǎn)隱含和小數(shù)點(diǎn)隱含 70 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 2.2.1 補(bǔ)碼加減運(yùn)算 1. 補(bǔ)碼加法 兩個(gè)補(bǔ)碼表示的數(shù)相加,符號(hào)位參加運(yùn)算,且兩數(shù)和的補(bǔ)碼等于兩數(shù)補(bǔ)碼之和, 即: X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) 下面,我們看兩個(gè)例子。 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)

46、加減運(yùn)算 71 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 例1:己知X補(bǔ)=0.1001,Y補(bǔ)=1.1101 求X+Y補(bǔ)=? 解: X補(bǔ)=0.1001 +) Y補(bǔ)=1.1101 10.0110 符號(hào)位產(chǎn)生的進(jìn)位1,在模2的意義下,機(jī)器會(huì)自動(dòng)將其舍棄,所以X+Y補(bǔ) =0.0110就是正確的運(yùn)算結(jié)果。 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 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ù)。

47、第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 73 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 2. 補(bǔ)碼減法 原則上講:X補(bǔ)-Y補(bǔ)=X-Y補(bǔ)??梢姡枰粋€(gè)減法器,而現(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ǔ)等于對(duì)Y補(bǔ)連同符號(hào)在內(nèi)求反加1。 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 74 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 例1:Y=0.1010 Y補(bǔ)=0.1010 -

48、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)算 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)算 76 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 例4:己知X補(bǔ)=1.1011,Y補(bǔ)=0.0110 求X-Y補(bǔ)=? 因?yàn)閅補(bǔ)=0.0110,而-Y補(bǔ)=1.1010

49、可見,若Y補(bǔ)為一正數(shù),則-Y補(bǔ)就變成一個(gè)負(fù)數(shù)了。所以: 解: X補(bǔ)= 1.1011 +) -Y補(bǔ)= 1.1010 X-Y補(bǔ) =11.0101 符號(hào)位的進(jìn)位1在機(jī)器中將會(huì)自動(dòng)舍棄,因?yàn)樵谝?為模的情況下,2=0(mod 2), 故得出的就是正確的結(jié)果X-Y補(bǔ)。 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 77 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 2.2.2 補(bǔ)碼的溢出判斷與檢測(cè)方法 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)算

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

51、符號(hào)位符號(hào)位 數(shù)值部分?jǐn)?shù)值部分 79 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 2. 溢出的探測(cè)方法 方法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ǔ)碼(雙符號(hào)位補(bǔ)碼) 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 80 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 補(bǔ)碼的溢出判斷與檢測(cè)方法之溢出的探測(cè)方法(續(xù)) 觀察下列算式: 00.1001 11.0111 00.1101 11.0011 + 00.0011 + 11.1

52、101 + 00.1001 + 11.0111 00.1100 11.0100 01.0110 10.1010 可見,當(dāng)結(jié)果兩位符號(hào)的值不一致時(shí)表時(shí)溢出,若設(shè)兩符號(hào)位Sf1和Sf2,則 V= Sf1 Sf2 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 81 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 補(bǔ)碼的溢出判斷與檢測(cè)方法之溢出的探測(cè)方法(續(xù)) 方法3:采用雙離位判斷,設(shè): 數(shù)值部分最高位產(chǎn)生的進(jìn)位為Cs;符號(hào)部分向上產(chǎn)生的進(jìn)位為Cf;仍以上面四個(gè) 標(biāo)式為例。 0.1001 1.0111 0.1101 1.0011 + 0.0011 + 1.1101 + 0.1001 +

53、1.0111 0.1100 1.0100 1.0110 0.1010 溢出條件為公式:V=Cf Cs 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 Cf=0 Cs=0 Cf=1 Cs=1 Cf=0 Cs=1 Cf=1 Cs=0 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.Bn A-B=A0,A1,A2An + B0,B1,B2Bn + 0.00.01 且 A+B A A-B A 實(shí)現(xiàn)線路如下圖。 第二章 運(yùn)算方法與運(yùn)算器

54、 2.2 定點(diǎn)加減運(yùn)算 83 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 補(bǔ)碼定點(diǎn)加減運(yùn)算的實(shí)現(xiàn)(續(xù)) 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 i +1 + 1 + -B+B 01 Bi 1 Ai CP CPA A 實(shí)現(xiàn)線路 84 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 補(bǔ)碼定點(diǎn)加減運(yùn)算的實(shí)現(xiàn)(續(xù)) 對(duì)實(shí)現(xiàn)線路的補(bǔ)充說明: 功能 所需控制信號(hào) 加 +A +B 減 +A +B +1 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 CPA A ACPA 85 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 補(bǔ)碼定點(diǎn)加減運(yùn)算的實(shí)現(xiàn)(續(xù)) 將兩種功能的

55、控制命令綜合起來,得: +A = ADD +SUB +B = ADD +B = SUB +1 = SUB = ADD + SUB CPA = ADD + SUB 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 A 86 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 小結(jié): 這一節(jié),我們講述了補(bǔ)碼加減運(yùn)算,溢出判斷,以及補(bǔ)碼加減法實(shí)現(xiàn)線路,接 著要討論的是如何才能提高運(yùn)算器的工作速度。 第二章 運(yùn)算方法與運(yùn)算器 2.2 定點(diǎn)加減運(yùn)算 87 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 加法器是組成運(yùn)算器的核心部件。因此,如何提高運(yùn)算器工作速度應(yīng)從加法器 單元以及其組成加法

56、器邏輯線路談起。 第二章 運(yùn)算方法與運(yùn)算器 2.3 加法器邏輯結(jié)構(gòu)的改進(jìn) 88 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 2.3.1 全加器(加法單元) 加法單元是一個(gè)三端輸入,兩端輸出的加法網(wǎng)絡(luò)。如下: 其中:三個(gè)輸入端:被加數(shù)Ai,加數(shù)Bi和低位傳來的進(jìn)位;兩個(gè)輸出端:和Si與 本位向高位的進(jìn)位Ci。當(dāng)Ai、Bi和Ci-1三個(gè)變量中1的個(gè)數(shù)是奇數(shù)時(shí),和Si=1;當(dāng)三個(gè) 變量中1的個(gè)數(shù)等于或大于2時(shí),進(jìn)位Ci=1。 第二章 運(yùn)算方法與運(yùn)算器 2.3 加法器邏輯結(jié)構(gòu)的改進(jìn) 加法單元 Ci i AiBiCi-1 89 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 全加

57、器(續(xù)) 因此,它的邏輯表達(dá)式可以寫成下列形式: =AiBiCi-1 + AiBiCi + AiBiCi-1 + AiBiCi-1 (1) Ci = AiBiCi-1 + AiBiCi-1 + AiBiCi-1 + AiBiCi-1 (2) 從加法單元邏輯表達(dá)式不難看出,加法器邏輯結(jié)構(gòu)涉及到兩個(gè)方面:一個(gè)是求 和單元;另一個(gè)是進(jìn)位問題。下面我們逐一討論這個(gè)問題。 第二章 運(yùn)算方法與運(yùn)算器 2.3 加法器邏輯結(jié)構(gòu)的改進(jìn) i 90 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 全加器(續(xù)) 1. 串行加法器與并行加法器 加法器有串、并這究,只設(shè)一個(gè)全加器的加法器稱串行加法器,如圖所示:

58、 典型的串行加法器只用一位全加器,由移位寄存器從低位到高位串行地提供操 作數(shù)進(jìn)行相加。如果操作數(shù)長16位,就要分成16步進(jìn)行。每步產(chǎn)生一位和,串行地 送入結(jié)果寄存器,進(jìn)位信號(hào)則用一位觸發(fā)器寄存,參與下一位的運(yùn)算。 第二章 運(yùn)算方法與運(yùn)算器 2.3 加法器邏輯結(jié)構(gòu)的改進(jìn) A B Q Q C D CP i Ci 91 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 全加器之串行加法器與并行加法器(續(xù)) 那么,如何提高加法器的工作速度呢?有人提出,設(shè)置16個(gè)加法器。讓各位數(shù) 據(jù)同時(shí)相加,這就產(chǎn)生了并行加法器,如圖所示: 并行加法器解決了同時(shí)對(duì)數(shù)的各位相另,減少了本身求和延遲。然而,低位向

59、高位產(chǎn)生的進(jìn)位,珊珊來遲,提高加法器速度仍然是一句空話。 第二章 運(yùn)算方法與運(yùn)算器 2.3 加法器邏輯結(jié)構(gòu)的改進(jìn) i C0 A1B1 2 C1 A2B2 n Cn-1 AnBn Cn 92 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 全加器(續(xù)) 2. 進(jìn)位鏈 通常我們將各位之間傳遞進(jìn)位信號(hào)的邏輯連接構(gòu)成的進(jìn)位線路稱進(jìn)位鏈。顯然 ,進(jìn)位鏈的討論應(yīng)從進(jìn)位函數(shù)談起,由(2)式化簡可得: Ci = AiBi + (Ai Bi)Ci-1 (3) 可見,Ci的產(chǎn)生與Ai Bi和(Ai Bi)Ci-1兩項(xiàng)有關(guān)。 其中,AiBi項(xiàng)取決于本位參加的兩個(gè)數(shù),而與低位的進(jìn)位無關(guān)。因此,稱AiBi為 第i位位的進(jìn)位函數(shù),或稱本地進(jìn)位,記作Gi。 第二章 運(yùn)算方法與運(yùn)算器 2.3 加法器邏輯結(jié)構(gòu)的改進(jìn) 93 計(jì)算機(jī)組成原理 主講:劉子良計(jì)算機(jī)組成原理 主講:劉子良 全加器之進(jìn)位鏈(續(xù)) (Ai Bi)Ci-1項(xiàng),則不但與本位的兩個(gè)數(shù)有關(guān),而且與低位產(chǎn)生的進(jìn)位有關(guān),低 位的產(chǎn)生的進(jìn)位Ci-1,能否通過第i位,向更高位傳遞,取決于Ai Bi,若Ai Bi=1 ,傳上,若Ai Bi=0,則斷開,于是稱Ai Bi項(xiàng)為進(jìn)位條

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論