計算機組成原理復(fù)習(xí)資料課件整理版可自學(xué)使用_第1頁
計算機組成原理復(fù)習(xí)資料課件整理版可自學(xué)使用_第2頁
計算機組成原理復(fù)習(xí)資料課件整理版可自學(xué)使用_第3頁
計算機組成原理復(fù)習(xí)資料課件整理版可自學(xué)使用_第4頁
計算機組成原理復(fù)習(xí)資料課件整理版可自學(xué)使用_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、本課程在計算機系統(tǒng)中的位置一、課程目標1、結(jié)構(gòu)與原理掌握 建立計算機系統(tǒng)的整機概念; 掌握計算機各部件的組成原理與技術(shù); 了解計算機系統(tǒng)組成與結(jié)構(gòu)的新技術(shù)2、分析與計算能力掌握對組成與結(jié)構(gòu)進行性能分析的方法;通過量化計算,加深對組成原理的理解與掌握3、應(yīng)用與設(shè)計能力 通過實驗,培養(yǎng)邏輯設(shè)計及理論指導(dǎo)實踐的能力二、課程內(nèi)容組織第1章 計算機系統(tǒng)概論 計算機的模型、硬件組成,計算機的工作過程、性能指標第2章 數(shù)據(jù)的表示和運算 數(shù)據(jù)的編碼及表示,定點及浮點運算方法,ALU結(jié)構(gòu)與組成第3章 存儲系統(tǒng) 層次結(jié)構(gòu),RAM組成,主存、Cache、虛存的組成原理第4章 指令系統(tǒng) 指令功能與指令格式,操作數(shù)

2、存放及尋址方式,CISC/RISC第5章 中央處理器 CPU的功能與結(jié)構(gòu)、工作流程,指令執(zhí)行過程,數(shù)據(jù)通路組織,CU的結(jié)構(gòu)及組成,微程序控制器技術(shù),指令流水技術(shù)計算機軟件(指令串及數(shù)據(jù))CUALU存儲器系統(tǒng)總線I/O設(shè)備1I/O接口1I/O設(shè)備2I/O接口2I/O設(shè)備nI/O接口n第6章 總線 概述,操作步驟,仲裁/定時方式,互連結(jié)構(gòu)第7章 I/O系統(tǒng) 組成,I/O設(shè)備,I/O接口,I/O方式(4種)1、學(xué)習(xí)方法 建立整機概念,將所學(xué)知識點融合在一起; 從邏輯設(shè)計出發(fā),分析多種方案的利與弊; 通過量化分析,加深對原理的掌握與理解。2、學(xué)習(xí)效率第1章 計算機系統(tǒng)概論 計算機:按照內(nèi)部存儲的指令序

3、列,對數(shù)字化信息進行自動高速處理、存儲、傳送、控制的裝置。 · 指令:指示計算機硬件完成某種功能的明確的命 · 信息:有用的數(shù)據(jù),有多種不同類型,其表現(xiàn)手段可以采用數(shù)字化形式或模擬量形式; · 運算:包括算術(shù)運算和邏輯運算,要求自動與高速; · 處理:對信息進行搜索、識別、變換,甚至聯(lián)想、思考和推理等等。 計算機的基本功能主要包括 · 數(shù)據(jù)處理 · 數(shù)據(jù)存儲 · 數(shù)據(jù)傳送 · 控制 數(shù)據(jù)處理功能 · 運算功能:算術(shù)運算功能和邏輯運算,應(yīng)用于數(shù)值計算和非數(shù)值計算兩個方面 ; 處理對象:數(shù)值、字符、圖形、圖像

4、、聲音和視頻等。 數(shù)據(jù)存儲功能 主存儲器:保存指令和數(shù)據(jù); 輔助存儲器:以文件的形式保存大量數(shù)據(jù)信息。 數(shù)據(jù)傳送功能 內(nèi)部數(shù)據(jù)流動 :CPU和主存以及CPU內(nèi)部寄存器與運算器之間的數(shù)據(jù)流動; 外部數(shù)據(jù)傳送:輸入/輸出(I/O)和計算機通信。 控制功能 · 控制器:產(chǎn)生各種基本操作信號并按某種時序發(fā)出以完成相應(yīng)功能 ;· 指令編碼、指令系統(tǒng):一臺計算機的所有指令集合 。 1.1.1計算機系統(tǒng)的軟硬件 *計算機系統(tǒng)的組成: 功能的實現(xiàn)方式 硬件具備數(shù)據(jù)的存儲、傳送及處理和過程控制功能 軟件表示應(yīng)用的數(shù)據(jù)處理及過程控制需求 程序(指令序列,硬件用不同指令表示不同功能) 執(zhí)行軟件實

5、現(xiàn)應(yīng)用的數(shù)據(jù)處理及過程控制功能 *計算機系統(tǒng)組成的特性: 軟件功能靠硬件實現(xiàn),硬件性能靠軟件反映 *計算機系統(tǒng)結(jié)構(gòu):機器語言程序員所看到的計算機屬性 概念性結(jié)構(gòu)和功能特性 *計算機組成:實現(xiàn)計算機系統(tǒng)結(jié)構(gòu)時所體現(xiàn)的計算機屬性 *計算機實現(xiàn):實現(xiàn)計算機組成時所體現(xiàn)的計算機屬性 *相互關(guān)系: 計算機系統(tǒng)結(jié)構(gòu)確定軟硬件功能分配及其界面特性; 計算機組成邏輯實現(xiàn)系統(tǒng)結(jié)構(gòu)的內(nèi)容; 計算機實現(xiàn)物理實現(xiàn)計算機組成的內(nèi)容舉例 系統(tǒng)結(jié)構(gòu) 計算機組成 計算機實現(xiàn)乘法功能是否有乘法指令 乘法器還是加法+移位 器件、電路主存系統(tǒng)最大容量、編址方式 速度保證、單體/多體MEM總線帶寬 信號線數(shù)、時鐘、傳輸方式 

6、7;1.2 計算機系統(tǒng)基本組成一、馮·諾依曼模型計算機*結(jié)構(gòu)與組成: 由運算器、存儲器、控制器、輸入及輸出設(shè)備組成, 以運算器為中心;輸入設(shè)備存儲器運算器控制器輸出設(shè)備注: 數(shù)據(jù)信息 指令信息 控制信息 狀態(tài)信息 *數(shù)據(jù)表示與運算: 指令及數(shù)據(jù)均用二進制方式表示,運算亦采用二進制方式 *存儲程序原理程序存儲方式: 指令及數(shù)據(jù)預(yù)先存放(以等同地位)在存儲器中; *存儲器結(jié)構(gòu): 由定長單元構(gòu)成的一維空間,存儲器按地址訪問; *指令組成: 由操作碼及地址碼組成;例:若加法運算的操作碼用010表示,第01000號與第10000號兩個存儲單元內(nèi)容相加的操作可表示為:010 01000 1000

7、0 *存儲程序原理程序控制機制: 按程序邏輯順序、自動地、逐條地取出指令并執(zhí)行。 · 馮·諾依曼計算機模型。1)計算機由運算器、存儲器、控制器和輸入/輸出五個部件組成;2)存儲器以二進制形式存儲指令和數(shù)據(jù);3)存儲程序工作方式;4)五部件以運算器為中心進行組織。二、計算機硬件的基本組成1、計算機硬件的結(jié)構(gòu) 現(xiàn)代計算機均在馮·諾依曼模型基礎(chǔ)上進行改進 *采用以存儲器為中心的結(jié)構(gòu): 使數(shù)據(jù)傳送與數(shù)據(jù)處理并行,有利于提高系統(tǒng)性能 *由多種存儲器構(gòu)成存儲系統(tǒng): 解決速度-容量-價格間的矛盾,有利于提高性能/價格 *采用總線互連形式: 實現(xiàn)部件操作標準化,有利于提高系統(tǒng)的可

8、擴展性2、計算機部件的基本組成(1)存儲器 *功能:存儲程序和數(shù)據(jù)、通過讀/寫操作接收/提供信息 *組成: *完成操作的過程: 讀操作接收地址及命令,內(nèi)部操作; 輸出數(shù)據(jù) 寫操作接收地址及命令; 接收數(shù)據(jù),內(nèi)部操作(2)運算器 *功能:實現(xiàn)算術(shù)運算及邏輯運算,并暫存運算結(jié)果 *組成: *(AC)+YAC的運算過程: (0) (AC)為被加數(shù) (1) 加數(shù)YTEMP (2) (AC)(TEMP) (3) ALU結(jié)果AC 約定:(X)表示寄存器X中內(nèi)容,Y表示存儲單元Y中內(nèi)容(3)控制器 *功能:指揮及控制各部件協(xié)調(diào)地工作,以實現(xiàn)程序執(zhí)行過程 *程序執(zhí)行過程: 循環(huán)的指令執(zhí)行過程(取指令及執(zhí)行指令

9、); 下條指令地址由當前指令產(chǎn)生(按程序邏輯順序)取指令取指階段分析指令執(zhí)行指令執(zhí)行階段(4)輸入/輸出設(shè)備 *功能:實現(xiàn)外部-內(nèi)部信息的輸入/輸出及格式轉(zhuǎn)換; *種類:鍵盤、鼠標、顯示器、打印機、磁盤等; *連接:通過I/O接口(又稱適配器或控制器)與總線連接, I/O接口實現(xiàn)信息傳送時的緩沖、中轉(zhuǎn)等功能三、計算機軟件的基本組成三、計算機軟件的基本組成四、計算機工作過程· 計算機的工作過程就是執(zhí)行程序的過程。 · 考查指令A(yù)DD NUM,R0的執(zhí)行過程。 圖1.4 CPU組成以及和存儲器的連接 · 考查指令A(yù)DD NUM,R0的執(zhí)行過程。 程序執(zhí)行過程 *程序執(zhí)

10、行的初始條件: (a)程序及數(shù)據(jù)已存放在主存儲器MM中; (b)PC內(nèi)容已經(jīng)為即將執(zhí)行的程序首條指令地址 *程序執(zhí)行的實現(xiàn)方法: -控制器指揮與控制 取指(PC)MMIR,(PC)+“1”PC; 分析(IR)IDCU; 執(zhí)行實現(xiàn)指令約定操作(指令轉(zhuǎn)移時重寫PC); 循環(huán)若無中斷執(zhí)行的要求,轉(zhuǎn)§1.3 計算機系統(tǒng)的性能指標一、計算機系統(tǒng)的性能指標 *系統(tǒng)性能:指在計算機硬件上運行的計算機軟件的性能1、硬件性能參數(shù) *機器字長:指CPU一次能處理的二進制位數(shù)。 指ALU一次能處理的 n位CPU指機器字長為n個二進制位的CPU; 例如,Core 2 CPU為64位CPU 對系統(tǒng)性能的影響機

11、器字長越長,數(shù)據(jù)處理性能越好; (應(yīng)用數(shù)據(jù)長度機器字長時,需分次運算) 對其它硬件的影響直接影響ALU、REG長度, 間接影響存儲字長、數(shù)據(jù)總線位數(shù) *機器主頻:指CPU內(nèi)部主時鐘脈沖的頻率,常用f 表示。 主頻單位1GHz=1×103MHz=1×106KHz=1×109Hz; 時鐘周期CPU內(nèi)部基本操作的時長,常用TC表示; f 與TC關(guān)系倒數(shù)關(guān)系,即f =1/TC *存儲容量:指存儲器可存儲二進制信息的總位數(shù)。 主存容量容量S =存儲單元個數(shù)×存儲字長; 輔存容量容量S =存儲塊個數(shù)×存儲塊長度; 容量單位1GB=1×210MB=

12、1×220KB=1×230B=8×230bit; 最大主存容量CPU能夠訪問的主存最大容量,它決定了CPU的地址和數(shù)據(jù)引腳數(shù)量2、系統(tǒng)性能指標 時間是唯一標準,主要有響應(yīng)時間和吞吐量兩個指標。 *響應(yīng)時間:指一個任務(wù)從任務(wù)輸入到結(jié)果輸出的總時間, *吞吐量:又稱吞吐率,指單位時間內(nèi)能處理的工作量, 即 吞吐量 = n個任務(wù)的總工作量÷n個任務(wù)的總時間 特點反映了多任務(wù)計算機系統(tǒng)的軟硬件總體性能 表示因工作量無統(tǒng)一定義,通常用MIPS及MFLOPS代替 MIPS(每秒百萬次指令) MFLOPS(每秒百萬次浮點運算)*其他:RAS(可靠性/可用性/可維護),

13、兼容性等二、計算機軟件的發(fā)展歷史1、計算機語言的發(fā)展 機器語言匯編語言高級語言應(yīng)用語言 *高級語言例: FORTRAN、PASCAL、C/C+、Java2、系統(tǒng)軟件的發(fā)展 *語言處理程序:匯編程序、編譯程序、解釋程序; *操作系統(tǒng):DOS、UNIX、Windows; (多道程序、分時/實時、網(wǎng)絡(luò)、分布式、面向?qū)ο? *服務(wù)性程序:裝配、調(diào)試、診斷、排錯; *數(shù)據(jù)庫:數(shù)據(jù)庫(網(wǎng)狀、層次、關(guān)系型)、數(shù)據(jù)庫管理軟件; *網(wǎng)絡(luò):協(xié)議(NetNIOS、TCP/IP等)及實現(xiàn)庫三、計算機系統(tǒng)分類按規(guī)模及功能分類 超級計算機科學(xué)計算等; 大型計算機多用戶使用等; 小型計算機辦公應(yīng)用等; 工作站圖形處理及分布

14、式計算等; 微型計算機應(yīng)用廣泛; 單片機/嵌入式系統(tǒng)工業(yè)控制等第二章 數(shù)據(jù)的表示和運算 §2.1 數(shù)據(jù)的編碼一、數(shù)制及其轉(zhuǎn)換1、進位計數(shù)制 *進位計數(shù)制:又稱進制或數(shù)制,是用一組固定的符號和統(tǒng)一的規(guī)則來表示數(shù)值的方法。有數(shù)碼、基數(shù)和位權(quán)3個基本參數(shù) *常用的4種進制: *R進制數(shù)表示:(N )R=(kn-1k1k0.k-1k-2k-m)R= 其中,ki0,1,(R-1)(2)十進制數(shù)小數(shù)轉(zhuǎn)換成R進制數(shù)小數(shù) *小數(shù)轉(zhuǎn)換規(guī)則:乘基取整、上左下右 例3將(0.6875)10分別轉(zhuǎn)換成二、八進制數(shù)(3)十進制數(shù)轉(zhuǎn)換成R進制數(shù) *轉(zhuǎn)換規(guī)則:整數(shù)部分、小數(shù)部分分別轉(zhuǎn)換后再合并 練習(xí)1(19.68

15、75)10=(X)2=(Y)8,X=?Y=?4、二、八、十六進制數(shù)相互轉(zhuǎn)換 *隱含規(guī)律:2=21,8=23,16=24(1)二進制、八進制數(shù)相互轉(zhuǎn)換 *轉(zhuǎn)換規(guī)則:從小數(shù)點向兩邊分別轉(zhuǎn)換; 3個二進制數(shù)位(不夠時補零)等價于1個八進制數(shù)位 例4(13.724)8=(001 011.111 010 100)2=(1011.1110101)2 (10011.01)2=(010 011.010)2=(23.2)8 (2)二進制、十六進制數(shù)相互轉(zhuǎn)換 *轉(zhuǎn)換規(guī)則:從小數(shù)點向兩邊分別轉(zhuǎn)換; 4個二進制數(shù)位(不夠時補零)等價于1個十六進制數(shù)位 例5(2B.E)16=(0010 1011.1110)2=(101

16、011.111)2 (11001.11)2=(0001 1001.1100)2=(19.C)16 二、機器數(shù)及其編碼 *數(shù)值數(shù)據(jù): 組成由符號、小數(shù)點及數(shù)值構(gòu)成,可缺省符號及小數(shù)點 運算符號與數(shù)值分開運算;加減法需先比較大小 *機器數(shù):符號數(shù)字化的數(shù),通常0/1表示+/-; 如(+101)2(0101)2、(-0.101)2(-.101)2(1.101)2 真值帶“+”或“-”符號的數(shù) *機器數(shù)的運算方法: 采用手工運算方法,硬件實現(xiàn)很不方便; 如(+x)+(-y)時,先求x-y、再求結(jié)果符號、最后求x-y或y-x 采用新運算方法,便于硬件實現(xiàn)(如符號與數(shù)值一起運算) 必須使用新的編碼方法!

17、*機器數(shù)的編碼方法:原碼、補碼、反碼、移碼等1、原碼表示法(原碼編碼方法) *基本思想:用0/1表示符號+/-,數(shù)值位為真值的絕對值 *純整數(shù)原碼定義: 設(shè)X=±xn-2x0,xi=0或1,則X原=xn-1xn-2x0, *純小數(shù)原碼定義: 設(shè)X=±0.x-1x-(n-1),則X原=x0.x-1x-(n-1) *原碼的特性: X與X原關(guān)系 ·X原與X表示值的范圍相同, ·+0原-0原; 運算方法符號與數(shù)值分開運算(與手工運算一致) 適合于乘除法,加減法較復(fù)雜2、補碼表示法 *目標:實現(xiàn)符號與數(shù)值一起運算(1)有模運算與補數(shù) 示例將時針從10點撥向7點,有

18、兩種撥法: 倒撥10-3=7;順撥10+9=7+12=7 *有模運算:運算時只計量小于“?!钡牟糠郑嘤嗖糠直粊G棄 模計量系統(tǒng)的計數(shù)范圍; 同余若A、B、M滿足A=B+kM (k為有符號整數(shù)), 則記 AB (mod M),稱B和A為模M的同余 *補數(shù):若a、b、M滿足a+b=M,稱a、b互為模M的補數(shù) 運算特征c-a = c-(M-b) = c+b (mod M), 即減去一個數(shù)等價于加上這個數(shù)的補數(shù) 可將減法運算轉(zhuǎn)化為加法運算(2)補碼定義 · 一個負數(shù)的補碼應(yīng)等于模與該數(shù)絕對值之差。即某負數(shù)X的補碼為: X補 = M + X (mod M) *純整數(shù)補碼定義: 設(shè)X=±

19、;xn-2x0,xi=0或1,則X補=xn-1xn-2x0,即 說明因X連同符號位共n位,故模為2n 例6+0001補=00001,-0001補=10 0000-0001=11111 +1111補=01111,-1111補=10 0000-1111=10001 正數(shù)補碼最高位(符號位)為0,負數(shù)最高位為1 +0000補=-0000補=00000 數(shù)0的補碼惟一 練習(xí)2若X=-01000、Y=+01000,X補=?Y補=? 例7n=5、X0時,最大X補=01111,Xmax=24-1=+15 X0時,最小X補=10000,Xmin=-24 =-16 補碼表示數(shù)的個數(shù)比原碼多1個原碼 無 1111

20、 1001 1000 0000 0001 0111補碼 1000 1001 1111 0000 0001 0111真值 -2n-1 -(2n-1-1) -1 0 +1 +(2n-1-1) *定點純小數(shù)補碼定義: 設(shè)X=±0.x-1x-(n-1),則X補=x0.x-1x-(n-1) 例8+0.1011補=0.1011 -0.1011補=2-0.1011=10.0000-0.1011=1.0101(3)補碼的特性 XX補 若X為正數(shù),改符號位為0,其余各位不變; 若X為負數(shù),改符號位為1,其余各位取反、末位加1 X補X 若X補最高位為0,改其為正號,其余各位不變; 若X補最高位為1,改其

21、為負號,其余各位取反、末位加1 X原X補 若X原最高位為0,X補=X原; 若X原最高位為1,X補=X原各數(shù)值位取反、末位加1 X補X原 若X補最高位為0,X原=X補; 若X補最高位為1,X原=X補各數(shù)值位取反、末位加1 *X補與-X補的關(guān)系: X補-X補X補的各位取反(含符號位)、末位加1 -X補X補-X補的各位取反(含符號位)、末位加1 練習(xí)4 若X=+01001,X原= 0 01001 ,X補= 0 01001 ; 若X=-01010,X原= 1 01010 ,X補= 1 10110 ; 若X原=001010,X= + 01010 ,X補= 0 01010 ; 若X原=101110,X=

22、- 01110 ,X補= 1 10010 ; 若X補=001110,X= +01110 ,-X補= 1 10010 ; 若X補=101110,X= - 10010 ,-X補= 0 10010 ; 若-X補=101011,X補= 0 10101 ,X原= 0 10101 ; 若-X補=001001,X補= 1 10111 ,X原= 1 01001 3、反碼表示法 *目標:作為原碼與補碼相互轉(zhuǎn)換時的一種過渡編碼 *純整數(shù)反碼定義: 設(shè)X=±xn-2x0,xi=0或1,取模=2n-1,則 例14+1101反=01101,-1101反=10010 *純小數(shù)反碼定義: 設(shè)X=±0.x

23、-1x-(n-1),xi=0或1,模=2-2-(n-1),則 例15+0.1101反=0.1101,-0.1101反=1.0010 *反碼與補碼關(guān)系: 若X為正數(shù),X補=X反;若X為負數(shù),X補=X反+1 原碼、補碼、反碼比較: 機器數(shù)的最高位均為符號位(0/1表示正/負); 若真值X為正數(shù),X原=X補=X反; 若真值X為負數(shù),X補=X反+1, X反=X原各位求反(符號位除外); +0補=-0補,補碼比原碼、反碼多表示一個負數(shù)4、移碼表示法 *目標:實現(xiàn)符號與數(shù)值一起編碼 數(shù)連續(xù)時編碼連續(xù) *純整數(shù)移碼定義: 設(shè)X=±xn-2x0,其中xi=0或1,取模=2n,則 X移 = 2n-1+

24、X (mod 2n) = 2n-1 + X -2n-1X2n-1 例16-111移=0001,-001移=0111,±000移=1000, +001移=1001,+111移=1111,-1000移=0000 *移碼的特性: 數(shù)在數(shù)軸上為連續(xù)編碼(無符號數(shù)),便于比較大小; X移=X補符號位取反、其余各位不變?nèi)?、十進制數(shù)編碼 *BCD碼(Binary Coded Dicimal):又稱二-十進制編碼,是指用4位二進制編碼表示1位十進制數(shù)位的編碼方式。 *BCD碼種類:分有權(quán)碼和無權(quán)碼兩種,最常用的是8421碼。 BCD碼缺省指8421碼(特殊聲明除外)!四、字符及字符串編碼1、字符編碼

25、 *字符編碼:字符在字符集中惟一的數(shù)字化代碼, 表示字符在字符集中的序號或特征號 *字符編碼的類型:有輸入碼、內(nèi)碼、交換碼、字模碼4種 *有關(guān)字符編碼的約定: 字符編碼均指交換碼的編碼! 字符數(shù)據(jù)均指內(nèi)碼的編碼! *常見字符編碼(交換碼)種類:2、字符串編碼 *字符串特性: 由多個字符構(gòu)成; 所含字符數(shù)不固定。 *字符串編碼方法: 由各個字符編碼組成; 通過特定編碼標志字符串的結(jié)束,結(jié)束編碼放在最后 字符集必須包含該字符(如ASCII碼中編碼為0的字符) 例C語言中字符串“am”可編碼為1100001 1101101 000000五、校驗碼 *冗余校驗思想: 用待發(fā)數(shù)據(jù)(M)形成校驗信息(P)

26、,M與P一起傳送; 用接收數(shù)據(jù)(M)形成新校驗信息(P”),檢錯并糾錯 *術(shù)語:校驗碼由數(shù)據(jù)位和校驗位組成的信息編碼; 檢錯(檢驗)檢查數(shù)據(jù)在傳送過程中有/無錯誤; 糾錯(校正)根據(jù)錯誤位置糾正數(shù)據(jù)(取反) *常見校驗碼:奇偶校驗碼、海明校驗碼1、 奇偶校驗碼2、 *編碼原理:采用1位校驗位,使數(shù)據(jù)位及校驗位中“1”的位數(shù)為奇數(shù)或偶數(shù)個數(shù) *校驗方法: 故障字S S=P P”,其中P是接收的、P”是形成的; 檢錯 若S=0無錯誤,若S=1有錯誤; 糾錯 無此能力(無法獲得錯誤位置) *校驗?zāi)芰Γ褐荒軝z測奇數(shù)個錯誤,無糾錯能力 例3下列接收的校驗碼01001、10100、10011中,只有一個有

27、奇數(shù)位錯,請問發(fā)送時采用的是奇校驗還是偶校驗碼? *應(yīng)用:廣泛應(yīng)用于I/O傳輸?shù)臄?shù)據(jù)校驗§2.2 數(shù)據(jù)的表示 計算機用編碼表示數(shù)據(jù): 計算機只支持最常用(最基本)的數(shù)據(jù)類型: 數(shù)據(jù)表示計算機硬件能夠直接識別和引用的數(shù)據(jù)類型 應(yīng)用數(shù)據(jù)數(shù)據(jù)表示的轉(zhuǎn)換:程序員或編譯程序完成一、數(shù)值數(shù)據(jù)的數(shù)據(jù)表示方法1、數(shù)值數(shù)據(jù)的數(shù)學(xué)特征 進制可有多種; 符號為“+”或“-”,可以沒有符號; 小數(shù)點為“”,可隱含表示,小數(shù)點位置可任意變化; 數(shù)碼長度可任意變化; 不會產(chǎn)生運算溢出2、馮·諾依曼模型計算機的硬件特征 指令和數(shù)據(jù)用二進制表示,采用二進制運算; 二進制中只有0和1,無法表示符號和小數(shù)點;

28、 機器字長固定,CPU內(nèi)部全部采用定長方式處理。3、數(shù)值數(shù)據(jù)的表示方法 *進制問題處理:只支持二進制方式; *符號問題處理: 有符號數(shù)用數(shù)字表示符號,數(shù)據(jù)本身無法區(qū)分 無符號數(shù)符號位置為數(shù)值;在指令級進行區(qū)分 *小數(shù)點問題處理: 點的表示用隱含方式表示; 位置表示約定不同數(shù)據(jù)類型的位置不同 *數(shù)碼長度問題處理: 不同數(shù)據(jù)類型數(shù)碼長度固定; 便于定長方式處理 同一數(shù)據(jù)類型可有幾種長度; 可提高處理及存儲效率 *運算問題處理: 運算方法按數(shù)據(jù)表示的格式及編碼進行相應(yīng)運算; 數(shù)據(jù)類型區(qū)分由指令操作碼區(qū)分; 溢出處理硬件檢測并發(fā)出通知,由軟件處理 數(shù)值數(shù)據(jù)的處理方法:包括數(shù)據(jù)的表示和數(shù)據(jù)的操作方法二、

29、數(shù)的定點表示1、定點表示方法 指約定數(shù)據(jù)中隱含的小數(shù)點位置固定不變。 *定點表示形式:有約定在數(shù)值最低位之后和最高位之前兩種2、定點數(shù)的表示 采用定點表示格式的數(shù)稱為定點數(shù),通常有幾種數(shù)碼長度。 *定點數(shù)的表示范圍: (設(shè)數(shù)碼長度為n位)三、數(shù)的浮點表示1、浮點表示方法 指約定數(shù)據(jù)中隱含的小數(shù)點位置是可變的。 *浮點表示形式:由尾數(shù)和階組成 格式 表示尾數(shù)用定點純小數(shù)表示,階用定點整數(shù)表示2、浮點數(shù)的表示 采用浮點表示格式的數(shù)稱為浮點數(shù),通常有幾種數(shù)碼長度。 *浮點數(shù)的表示范圍與精度: 假設(shè)尾數(shù)及階的基均為2,數(shù)值長度分別為m位及e位 例1若浮點表示格式中m10、e4,尾數(shù)及階均為補碼編碼方式

30、,寫出(-54)10的機器碼。 解:(-54)10=(-110110)2=-0.11011×2+110, 浮點數(shù)機器碼為 00110 10010100000 例2若浮點表示格式中尾數(shù)為8位(含1位符號位)、階為5位(含1位符號位),寫出下列實數(shù)的浮點數(shù)及機器碼。 例3浮點表示格式同例2,寫出下列機器碼的浮點數(shù)。3、浮點數(shù)的規(guī)格化 *目的:在現(xiàn)有的浮點數(shù)表示格式中,使表示精度最大化。 例4若浮點表示格式中m3、e3、尾數(shù)和階均為原碼編碼方式,不同表示方法的浮點數(shù)精度不同: +101.1=0.1011×23=0.01011×24=0.001011×25 *規(guī)

31、格化數(shù)的要求:尾數(shù)真值的最高位為1,即 1/2|M|1 *規(guī)格化的操作: 左規(guī)尾數(shù)左移一位,階碼減一; 右規(guī)尾數(shù)右移一位,階碼加一。 應(yīng)用非規(guī)格化數(shù)規(guī)格化數(shù),可能需多次規(guī)格化操作 例5若浮點數(shù)尾數(shù)及階的基均為2,回答下列問題: 原碼尾數(shù)最高數(shù)值位為1; 補碼尾數(shù)最高數(shù)值位與符號相反 便于硬件實現(xiàn)4、IEEE 754標準 *表示格式及數(shù)碼長度: 有單精度、雙精度兩種格式及長度 *編碼方式: 數(shù)制M和E均采用二進制方式(即RM=RE=2); 碼制M為原碼編碼的定點純小數(shù)(改進了定點位置), E為移碼編碼的定點整數(shù)(改進了移碼值) *階的碼制:采用的是余127碼和余1023碼 余X碼偏移值為X的移碼

32、稱為余X碼, 標準移碼:真值=E-28-1=E-128, 余127碼: 真值=E-(28-1-1)=E-127; 階的范圍1E254,而0和255另作他用, 即-126階的真值127 *尾數(shù)的碼制: (以單精度格式為例) 支持非規(guī)格化尾數(shù)和規(guī)格化尾數(shù)兩種方式; 非規(guī)格化尾數(shù)尾數(shù)真值=±0.m-1m-23, 機器碼M=m-1m-23,尾數(shù)精度=23位; 規(guī) 格 化尾數(shù)規(guī)格化的尾數(shù)真值=±1.m-2m-24, 機器碼M=m-2m-24,尾數(shù)精度=24位 *IEEE 754標準浮點表示的特征: (以單精度格式為例) 例5求(-11/128)10的IEEE 754單精度規(guī)格化數(shù)的機

33、器碼 解(-11/128)10 =( -1011)2×2-7 =(-0.1011)2×2-3 =(-1.011)2×2-4=(-1.011)2×2123-127 例6求IEEE 754單精度碼為(CC968000)16的浮點數(shù)的真值N 解(CC968000)16=1 10011001 00101101000000000000000 N為負數(shù),浮點數(shù)為規(guī)格化數(shù)(110011001254); 階=(10011001)2(01111111)2 =(00011010)2=(26)10 尾數(shù)=(1.00101101)2 =(1.17578125)10 N=(1)1

34、×1.17578125×226=-1.17578125×226 數(shù)值數(shù)據(jù)的表示小結(jié):表示格式有定點和浮點兩種,編碼方式?jīng)Q定運算器的運算方法,數(shù)碼長度總是固定的四、非數(shù)值數(shù)據(jù)的數(shù)據(jù)表示 MEM字長的特征: MEM字長均為2n位(n為常數(shù));便于數(shù)據(jù)長度的二進制運算 MEM字長種類有二進制位、機器字長、折中長度3類 提高MEM的存儲效率: 1、字符數(shù)據(jù)的表示 指字符的交換碼在存儲/處理時的表示方式,即字符的內(nèi)碼。2、邏輯數(shù)據(jù)的表示 *數(shù)學(xué)特征:值域真、假; 運算與(AND)、或(OR)、非(NOT)等 *數(shù)據(jù)的表示方法: 數(shù)碼長度1位n位(n為MEM字長倍數(shù));以提高

35、存儲效率 編碼方式各位獨立編碼,1/0可表示真/假 *運算處理方法:可采用所有位同時按位進行與/或/非運算 可獲得最大性能一位操作時,軟件負責(zé)準備數(shù)據(jù) 例28位邏輯數(shù)A和B如何實現(xiàn)第0位的OR操作(結(jié)果在A中)? 解:步驟為 C=B AND 01H; A=A OR C§2.3 定點數(shù)運算方法一、移位運算1、移位及移位運算 *移位:數(shù)值相對于某個位置的移動 例20.0m=2000.0cm,稱20相對于小數(shù)點左移了2位 *移位操作:有左移、右移2種類型; 二進制數(shù)左移或右移n位相當于乘以或除以2n *移位運算:對計算機中機器數(shù)的移位操作 運算種類對有符號數(shù),有算術(shù)左移、算術(shù)右移; 對無符

36、號數(shù),有邏輯左移、邏輯右移 運算參數(shù)操作數(shù)、移動位數(shù)2、邏輯移位運算 *操作數(shù)類型:無符號機器數(shù) *運算規(guī)則: 機器數(shù)整體移位,移出的數(shù)丟棄,出現(xiàn)的空位補0 例1某REG內(nèi)容為00111001,邏輯移位運算結(jié)果如下: 練習(xí)若(REG)=11001001,邏輯左移1位再右移1位的結(jié)果? *溢出判斷方法:左移、移丟數(shù)碼為1時運算溢出3、算術(shù)移位運算 *操作數(shù)類型:有符號機器數(shù)(原碼、補碼等) *運算規(guī)則:符號位不變,數(shù)值部分整體移位,空位添補規(guī)則如下表(根據(jù)編碼方式的數(shù)學(xué)特征添補) *運算實現(xiàn)方法:通常用移位寄存器實現(xiàn)右移移丟數(shù)值1僅影響精度 *溢出判斷方法:左移移丟數(shù)值1時溢出 原碼左移、移丟數(shù)

37、碼為1時溢出; 補碼/反碼左移、移丟與符號相反的數(shù)碼時溢出二、定點加減運算1、補碼加減運算 (1)補碼加減運算規(guī)則 *加法:A+B補=A補+B補 *減法:A-B補=A+(-B)補=A補+-B補 (2)補碼運算溢出判斷方法 *溢出判斷:用1位符號位判斷 例4若n=4,補碼表示范圍-8X+7 0110(+6) 1111(-1) 0101(+5) 1011(-5) + 1011(-5) + 1100(-4) + 0100(+4) + 1100(-4) 10001(+1) 11011(-5) 01001(+9) 10111(-9) 即:相同符號數(shù)相加、且結(jié)果與操作數(shù)符號不同時溢出! 設(shè)A補=An-1A

38、n-2A0,B補=Bn-1Bn-2B0, Z補=A補+±B補=Zn-1Zn-2Z0 例5設(shè)A=-11/16,B=+7/16,A+B補、A-B補是否溢出? 解:A+B補= 1.0101 A-B補= 1.0101 + 0.0111 + 1.1001 = 1.1100 =10.1110 對A+B補,OVR=(1 0)(0 0)=0 不溢出 對A-B補,OVR=(1 0)(1 0)=1 溢出 *溢出判斷優(yōu)化:用結(jié)果的符號位及最高數(shù)值位進位判斷 An-1 An-2 A0+ Bn-1 Bn-2 B0 Zn-1 Zn-2 Z0 Cn-1 Cn-2 *溢出判斷:用2位符號位判斷 變形補碼采用2個符號

39、位的補碼A變補=AnAn-1An-2A0, AnAn-1表示符號(00為正數(shù)、11為負數(shù)) 例6若X=-010,Y=-110,X+Y變補溢出否? 解:X變補=11 110,Y變補=11 010 X+Y變補= 11 110 + 11 010 = 11 000 1 1=0 不溢出(3)補碼加減運算所需的硬件配置 *加減法實現(xiàn)思路:加減法統(tǒng)一處理C-1=1,C-1=0,=1=1 加法 A補+B補+0; 減法 A補+-B補=A補+B補+1 *加減法實現(xiàn)思路:加減法統(tǒng)一處理 加法 A補+B補+0; 減法 A補+-B補=A補+B補+1 筆-紙乘法方法 例1. X=1011,Y=1101,X×Y的

40、筆-紙乘法過程: 1. 原碼一位乘 用原碼實現(xiàn)乘法運算時,符號位與數(shù)值位是分開計算的; · 設(shè):X原=xnxn-1¼¼ x1x0,Y原= ynyn-1¼¼y1y0 (其中xn 、yn分別為它們的符號位) · 若 X×Y原=z2nz2n-1¼¼z1z0 (z2n為結(jié)果之符號位) 則 z2n= xn Å yn · z2n-1¼¼z1z0 = (xn-1¼¼ x1x0)×(yn-1¼¼y1y0 )類似兩個無符號數(shù)相乘。 就

41、筆-紙乘法方法,為提高效率而采取的改進措施 每將乘數(shù)Y 的一位乘以被乘數(shù)得X×yi后,就將該結(jié)果與前面所得的結(jié)果累加,得到部分積Pi; 將部分積Pi右移一位與X×yi相加;加法運算始終對部分積中的高n位進行; 對乘數(shù)中“1”的位執(zhí)行加法和右移運算,對“0”的位只執(zhí)行右移運算,而不執(zhí)行加法運算; 上述乘法運算可以歸結(jié)為循環(huán)地計算下列算式: · 設(shè)P0=0 P1= 2-1 (P0+ X×y0) P2= 2-1 (P1+ X×y1) Pi+1= 2-1 (Pi+ X×yi) ( i=0,1,2,3, ¼¼n-1 ) Pn

42、= 2-1 (Pn-1+ X×yn-1) · 顯然,X×Y= Pn 對于兩個n位無符號數(shù)乘法的一種可行的算法: 1)置計數(shù)器為n; 2)清除2n位部分積寄存器; 3)檢查乘數(shù)最右位(初始時為最低位),若為“1”,加被乘數(shù)到部分積高n位中; 4)將部分積右移一位; 5)將乘數(shù)右移一位; 6)計數(shù)器減1,結(jié)果不為0,則從3)開始重新執(zhí)行;若結(jié)果為0,則從部分積寄存器讀出乘積。 實現(xiàn)這種方法的二個定點數(shù)乘法的邏輯電路框圖nn 例1 已知 X原= 01101 , Y原= 01011 , · 若 X×Y原= z8z7¼¼z0 則 z8

43、= 0Å0 = 0 · z7z0=1101×1011的計算采用上述乘法流程,實現(xiàn)的具體過程如下:補碼乘法例: 已知 X=0.1011,Y= - 0.0001 X補= 01011 , Y補= 11111 X×Y補= 111110101 X補×Y補= 101010101 · 顯然,X×Y補¹ X補×Y補 對兩個正數(shù)來說,它們補碼的乘積等于它們乘積的補碼。若乘數(shù)是負數(shù)時,這種情況就不成立了。 Booth(布斯)乘法 A.D.Booth算法思想: · 相乘二數(shù)用補碼表示,它們的符號位與數(shù)值位一起參與乘法

44、運算過程,得出用補碼表示的乘法結(jié)果。 Booth算法推導(dǎo): · 已知X補= xnxn-1 x0 , Y補= ynyn-1 y0 ; · 根據(jù)補碼定義:· 可得出其真值: Y= Y補- 2n+1yn X×Y=X×Y補- 2n+1yn= Xyn2n + yn-1 2n-1 + + y121 + y0 20 - 2n+1yn = X-yn2n + yn-1 2n-1 + + y121 + y0 20= 2n (yn-1 - yn) X + 2n-1 (yn-2 yn-1) X + + 21 (y0 y1) X + 20 (0 y0) X·

45、y-1為增設(shè)的一個附加位,初值為0; X×Y補=2n (yn-1 - yn) X + 2n-1 (yn-2 yn-1) X + + 21 (y0 y1) X + 20 (y-1 y0) X補令 X×Y補=X×Y補×2nX×Y補= (yn-1 - yn) X + 2-1 (yn-2 yn-1) X + · 得到如下遞推公式 令P0補0,有: P1補=2-1(P0+ (y-1-y0)×X補 P2補=2-1(P1+ (y0- y1)×X補 Pi 補=2-1(Pi-1+ (yi-2-yi-1)×X)補 (i=1

46、n) Pn補=2-1(Pn-1+ (yn-2-yn-1)×X)補 X*Y補=Pn+1補=Pn+ (yn-1-yn)×X補 · (yi-1 yi)X實際上并不做乘法,只要比較相鄰兩位乘數(shù)以決定+X、X或+0。 · 在計算機中,對于定點整數(shù),只要認定小數(shù)點在乘積之末,相當于將小數(shù)點右移n位。 · 對乘數(shù)的連續(xù)兩位yi和yi-1進行判斷若yi yi-1= 01, 則Pi+1補=2-1(Pi + X)補若yi yi-1 =10, 則Pi+1補=2-1 (Pi - X)補若yi yi-1 =00或11, 則Pi+1補=2-1Pi 補 · 一個補碼數(shù)據(jù)的右移

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論