《計算機(jī)組成原理》全冊詳解優(yōu)秀課件_第1頁
《計算機(jī)組成原理》全冊詳解優(yōu)秀課件_第2頁
《計算機(jī)組成原理》全冊詳解優(yōu)秀課件_第3頁
《計算機(jī)組成原理》全冊詳解優(yōu)秀課件_第4頁
《計算機(jī)組成原理》全冊詳解優(yōu)秀課件_第5頁
已閱讀5頁,還剩377頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1引言一、本課程在計算機(jī)系統(tǒng)中的位置程序設(shè)計基礎(chǔ)及語言編譯原理匯編語言程序設(shè)計操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)數(shù)據(jù)庫原理、應(yīng)用軟件體系結(jié)構(gòu)應(yīng)用系統(tǒng)應(yīng)用語言級機(jī)器高級語言級機(jī)器匯編語言級機(jī)器操作系統(tǒng)級機(jī)器傳統(tǒng)機(jī)器級機(jī)器微程序機(jī)器級機(jī)器電子線路級機(jī)器外部設(shè)備接口技術(shù)組成原理模擬與數(shù)字邏輯電路系統(tǒng)結(jié)構(gòu)嵌入式系統(tǒng)離散結(jié)構(gòu)、算法設(shè)計基礎(chǔ)軟件工程人工智能信號與系統(tǒng)、控制技術(shù)計算機(jī)網(wǎng)絡(luò)技術(shù)類數(shù)字信號、圖像處理2一、課程目標(biāo)1、結(jié)構(gòu)與原理掌握建立計算機(jī)系統(tǒng)的整機(jī)概念;掌握計算機(jī)各部件的組成原理與技術(shù);了解計算機(jī)系統(tǒng)組成與結(jié)構(gòu)的新技術(shù)2、分析與計算能力掌握對組成與結(jié)構(gòu)進(jìn)行性能分析的方法;通過量化計算,加深對組成原理的理解與掌握3、應(yīng)用與設(shè)計能力通過實驗,培養(yǎng)邏輯設(shè)計及理論指導(dǎo)實踐的能力課程內(nèi)容組織及要求3二、課程內(nèi)容組織第1章計算機(jī)系統(tǒng)概論

計算機(jī)的模型、硬件組成,計算機(jī)的工作過程、性能指標(biāo)第3章存儲系統(tǒng)層次結(jié)構(gòu),RAM組成,主存、Cache、虛存的組成原理計算機(jī)軟件(指令串及數(shù)據(jù))CUALU存儲器…系統(tǒng)總線I/O設(shè)備1I/O接口1I/O設(shè)備2I/O接口2I/O設(shè)備nI/O接口n第2章數(shù)據(jù)的表示和運算

數(shù)據(jù)的編碼及表示,定點及浮點運算方法,ALU結(jié)構(gòu)與組成4第4章指令系統(tǒng)指令功能與指令格式,操作數(shù)存放及尋址方式,CISC/RISC第6章總線

概述,操作步驟,仲裁/定時方式,互連結(jié)構(gòu)第5章中央處理器

CPU的功能與結(jié)構(gòu)、工作流程,指令執(zhí)行過程,數(shù)據(jù)通路組織,CU的結(jié)構(gòu)及組成,微程序控制器技術(shù),指令流水技術(shù)計算機(jī)軟件(指令串及數(shù)據(jù))CUALU存儲器…系統(tǒng)總線I/O設(shè)備1I/O接口1I/O設(shè)備2I/O接口2I/O設(shè)備nI/O接口n第7章I/O系統(tǒng)

組成,I/O設(shè)備,I/O接口,I/O方式(4種)51、學(xué)習(xí)方法建立整機(jī)概念,將所學(xué)知識點融合在一起;從邏輯設(shè)計出發(fā),分析多種方案的利與弊;通過量化分析,加深對原理的掌握與理解。四、本課程學(xué)習(xí)方法3、作業(yè)自己做!準(zhǔn)備一個作業(yè)本,每堂課帶來!2、學(xué)習(xí)效率本課程在計算機(jī)科學(xué)中處于承上啟下的地位,具有內(nèi)容多、難度大的特點。

6第1章計算機(jī)系統(tǒng)概論7什么是計算機(jī)◆計算機(jī):按照內(nèi)部存儲的指令序列,對數(shù)字化信息進(jìn)行自動高速處理、存儲、傳送、控制的裝置。

信息:有用的數(shù)據(jù),有多種不同類型,其表現(xiàn)手段可以采用數(shù)字化形式或模擬量形式;

運算:包括算術(shù)運算和邏輯運算,要求自動與高速;

指令:指示計算機(jī)硬件完成某種功能的明確的命令;§1.1計算機(jī)系統(tǒng)簡介8

處理:對信息進(jìn)行搜索、識別、變換,甚至聯(lián)想、思考和推理等等。9計算機(jī)的功能

數(shù)據(jù)處理

數(shù)據(jù)存儲

數(shù)據(jù)傳送

控制◆計算機(jī)的基本功能主要包括

10◆數(shù)據(jù)處理功能

運算功能:算術(shù)運算功能和邏輯運算,應(yīng)用于數(shù)值計算和非數(shù)值計算兩個方面;

處理對象:數(shù)值、字符、圖形、圖像、聲音和視頻等?!魯?shù)據(jù)存儲功能

主存儲器:保存指令和數(shù)據(jù);

輔助存儲器:以文件的形式保存大量數(shù)據(jù)信息。11◆數(shù)據(jù)傳送功能

內(nèi)部數(shù)據(jù)流動:CPU和主存以及CPU內(nèi)部寄存器與運算器之間的數(shù)據(jù)流動;

外部數(shù)據(jù)傳送:輸入/輸出(I/O)和計算機(jī)通信。◆控制功能

控制器:產(chǎn)生各種基本操作信號并按某種時序發(fā)出以完成相應(yīng)功能;

指令編碼、指令系統(tǒng):一臺計算機(jī)的所有指令集合。121.1.1計算機(jī)系統(tǒng)的軟硬件*計算機(jī)系統(tǒng)的組成:具有特定功能的信息(程序)。如系統(tǒng)程序、應(yīng)用程序計算機(jī)系統(tǒng)表示應(yīng)用需求計算機(jī)的物理實體;如主機(jī)、外設(shè)等計算機(jī)硬件—計算機(jī)軟件—13

功能的實現(xiàn)方式—*計算機(jī)系統(tǒng)功能的實現(xiàn)方式:解題過程—解題結(jié)果③③運行*計算機(jī)系統(tǒng)組成的特性:軟件功能靠硬件實現(xiàn),硬件性能靠軟件反映①硬件具備數(shù)據(jù)的存儲、傳送及處理和過程控制功能②軟件表示應(yīng)用的數(shù)據(jù)處理及過程控制需求

└→程序(指令序列,硬件用不同指令表示不同功能)③執(zhí)行軟件實現(xiàn)應(yīng)用的數(shù)據(jù)處理及過程控制功能用戶輸入設(shè)備輸出設(shè)備處理設(shè)備存儲設(shè)備目標(biāo)程序(機(jī)器語言)源程序(高級語言)①②①編輯②編譯14二、計算機(jī)系統(tǒng)的層次結(jié)構(gòu)直接執(zhí)行機(jī)器指令機(jī)器語言級機(jī)器M1用機(jī)器語言編程匯編語言級機(jī)器M3用匯編語言編程用匯編程序翻譯成機(jī)器語言程序高級語言級機(jī)器M4用高級語言編程用編譯程序翻譯成匯編語言程序或機(jī)器語言程序操作系統(tǒng)級機(jī)器M2使用操作系統(tǒng)命令用機(jī)器語言解釋操作系統(tǒng)命令

微程序級機(jī)器M0使用微指令系統(tǒng)用微程序解釋機(jī)器指令直接執(zhí)行微指令虛擬機(jī)器實際機(jī)器15三、計算機(jī)結(jié)構(gòu)與組成*計算機(jī)系統(tǒng)結(jié)構(gòu):機(jī)器語言程序員所看到的計算機(jī)屬性概念性結(jié)構(gòu)和功能特性←┘數(shù)字電路級機(jī)器指令系統(tǒng)、數(shù)據(jù)表示、尋址方式,存儲系統(tǒng),I/O系統(tǒng)、信息保護(hù)等機(jī)器語言級機(jī)器M1

微程序級機(jī)器M0硬件軟件匯編語言級機(jī)器M3高級語言級機(jī)器M4操作系統(tǒng)級機(jī)器M2軟硬件交界面*計算機(jī)組成:實現(xiàn)計算機(jī)系統(tǒng)結(jié)構(gòu)時所體現(xiàn)的計算機(jī)屬性指令功能邏輯實現(xiàn)、部件組成、控制機(jī)構(gòu)、排隊及緩沖技術(shù)等器件技術(shù)、組裝技術(shù)等*計算機(jī)實現(xiàn):實現(xiàn)計算機(jī)組成時所體現(xiàn)的計算機(jī)屬性16*相互關(guān)系:計算機(jī)系統(tǒng)結(jié)構(gòu)—確定軟硬件功能分配及其界面特性;計算機(jī)組成—邏輯實現(xiàn)系統(tǒng)結(jié)構(gòu)的內(nèi)容;計算機(jī)實現(xiàn)—物理實現(xiàn)計算機(jī)組成的內(nèi)容舉例系統(tǒng)結(jié)構(gòu)計算機(jī)組成計算機(jī)實現(xiàn)乘法功能是否有乘法指令乘法器還是加法+移位器件、電路主存系統(tǒng)最大容量、編址方式速度保證、單體/多體MEM總線帶寬信號線數(shù)、時鐘、傳輸方式17§1.2計算機(jī)系統(tǒng)基本組成一、馮·諾依曼模型計算機(jī)*結(jié)構(gòu)與組成:

由運算器、存儲器、控制器、輸入及輸出設(shè)備組成,

以運算器為中心;輸入設(shè)備存儲器運算器控制器輸出設(shè)備注:數(shù)據(jù)信息指令信息控制信息狀態(tài)信息*數(shù)據(jù)表示與運算:

指令及數(shù)據(jù)均用二進(jìn)制方式表示,運算亦采用二進(jìn)制方式18*指令組成:

由操作碼及地址碼組成;010

01000

10000

例:若加法運算的操作碼用010表示,第01000號與第10000號兩個存儲單元內(nèi)容相加的操作可表示為:表示操作的性質(zhì)表示操作數(shù)在存儲器中的位置*存儲程序原理—程序存儲方式:

指令及數(shù)據(jù)預(yù)先存放(以等同地位)在存儲器中;*存儲器結(jié)構(gòu):

由定長單元構(gòu)成的一維空間,存儲器按地址訪問;操作碼

地址碼1地址碼219*存儲程序原理—程序控制機(jī)制:按程序邏輯順序、自動地、逐條地取出指令并執(zhí)行。物理順序(指令地址)指令內(nèi)容程序邏輯順序A+0intnCount=0;⑴A+1intnSum=0;⑵A+2LP:nSum+=nCount;⑶⑹⑼A+3nCount++;⑷⑺⑽A+4if(nCount<3)gotoLP;⑸⑻⑾A+5COUT>>nSum;⑿20

馮·諾依曼計算機(jī)模型。2)存儲器以二進(jìn)制形式存儲指令和數(shù)據(jù);3)存儲程序工作方式;4)五部件以運算器為中心進(jìn)行組織。1)計算機(jī)由運算器、存儲器、控制器和輸入/輸出五個部件組成;21二、計算機(jī)硬件的基本組成1、計算機(jī)硬件的結(jié)構(gòu)現(xiàn)代計算機(jī)均在馮·諾依曼模型基礎(chǔ)上進(jìn)行改進(jìn)*采用以存儲器為中心的結(jié)構(gòu):使數(shù)據(jù)傳送與數(shù)據(jù)處理并行,有利于提高系統(tǒng)性能存儲器輸出設(shè)備輸入設(shè)備結(jié)果程序數(shù)據(jù)控制器運算器直接存儲器訪問(DMA)技術(shù)緩沖器緩沖器緩沖技術(shù)822*由多種存儲器構(gòu)成存儲系統(tǒng):解決速度-容量-價格間的矛盾,有利于提高性能/價格主存(內(nèi)存)輔存(外存)計算機(jī)硬件運算器控制器存儲器輸入設(shè)備輸出設(shè)備CPU主機(jī)I/O設(shè)備(外設(shè))I/O設(shè)備主存儲器MM控制單元CUCPU算術(shù)邏輯單元ALU主機(jī)包含輔存(如DISK等)23*采用總線互連形式:實現(xiàn)部件操作標(biāo)準(zhǔn)化,有利于提高系統(tǒng)的可擴(kuò)展性CPU主存I/O接口1…MEM總線I/O設(shè)備1I/O接口nI/O設(shè)備n總線橋I/O接口I/O設(shè)備…I/O接口I/O設(shè)備I/O總線非標(biāo)準(zhǔn)格式標(biāo)準(zhǔn)格式按地址訪問min{所連I/O設(shè)備速度}242、計算機(jī)部件的基本組成(1)存儲器*功能:存儲程序和數(shù)據(jù)、通過讀/寫操作接收/提供信息地址……存儲陣列I/O電路地址譯碼器……數(shù)據(jù)命令*組成:*完成操作的過程:讀操作—①接收地址及命令,內(nèi)部操作;②輸出數(shù)據(jù)

寫操作—①接收地址及命令;②接收數(shù)據(jù),內(nèi)部操作25(2)運算器*功能:實現(xiàn)算術(shù)運算及邏輯運算,并暫存運算結(jié)果*組成:寄存器組(堆)Func存儲器ALU寄存器型運算器ACFunc存儲器ALU累加器型運算器TEMP*(AC)+[Y]→AC的運算過程:

(0)(AC)為被加數(shù)AC存儲器ALUTEMPACFuncTEMP(1)加數(shù)[Y]→TEMP(2)(AC)+(TEMP)(3)ALU結(jié)果→AC△約定:(X)表示寄存器X中內(nèi)容,[Y]表示存儲單元Y中內(nèi)容26(3)控制器*功能:指揮及控制各部件協(xié)調(diào)地工作,以實現(xiàn)程序執(zhí)行過程

*程序執(zhí)行過程:

①循環(huán)的指令執(zhí)行過程(取指令及執(zhí)行指令);②下條指令地址由當(dāng)前指令產(chǎn)生(按程序邏輯順序)取指令取指階段分析指令執(zhí)行指令執(zhí)行階段1027(4)輸入/輸出設(shè)備*功能:實現(xiàn)外部-內(nèi)部信息的輸入/輸出及格式轉(zhuǎn)換;*種類:鍵盤、鼠標(biāo)、顯示器、打印機(jī)、磁盤等;*連接:通過I/O接口(又稱適配器或控制器)與總線連接,

I/O接口實現(xiàn)信息傳送時的緩沖、中轉(zhuǎn)等功能主存…系統(tǒng)總線主存控制器CPU用戶交互接口鍵盤、鼠標(biāo)等磁盤適配器磁盤通信接口串口等總線接口BIU28三、計算機(jī)軟件的基本組成1、計算機(jī)軟件分類軟件分為系統(tǒng)軟件及應(yīng)用軟件兩大類。語言處理程序數(shù)據(jù)庫管理系統(tǒng)服務(wù)性程序網(wǎng)絡(luò)管理程序操作系統(tǒng)科學(xué)計算信息管理自動控制人工智能虛擬現(xiàn)實實際機(jī)器軟硬件交界面系統(tǒng)軟件應(yīng)用軟件虛擬機(jī)器應(yīng)用語言環(huán)境高級語言環(huán)境匯編語言環(huán)境操作系統(tǒng)環(huán)境應(yīng)用語言程序高級語言程序匯編語言程序操作系統(tǒng)命令串29四、計算機(jī)工作過程

計算機(jī)的工作過程就是執(zhí)行程序的過程。圖1.4CPU組成以及和存儲器的連接

考查指令A(yù)DDNUM,R0的執(zhí)行過程。30程序執(zhí)行過程

*程序執(zhí)行的實現(xiàn)方法:--控制器指揮與控制①取指—(PC)→[MM]→IR,(PC)+“1”→PC;

②分析—(IR)→ID→CU;

③執(zhí)行—實現(xiàn)指令約定操作(指令轉(zhuǎn)移時重寫PC);

④循環(huán)—若無中斷執(zhí)行的要求,轉(zhuǎn)①17*程序執(zhí)行的初始條件:

(a)程序及數(shù)據(jù)已存放在主存儲器MM中;

(b)PC內(nèi)容已經(jīng)為即將執(zhí)行的程序首條指令地址31§1.3計算機(jī)系統(tǒng)的性能指標(biāo)一、計算機(jī)系統(tǒng)的性能指標(biāo)*系統(tǒng)性能:指在計算機(jī)硬件上運行的計算機(jī)軟件的性能1、硬件性能參數(shù)*機(jī)器字長:指CPU一次能處理的二進(jìn)制位數(shù)。

└→指ALU一次能處理的

n位CPU—指機(jī)器字長為n個二進(jìn)制位的CPU;例如,Core2CPU為64位CPU

對系統(tǒng)性能的影響—機(jī)器字長越長,數(shù)據(jù)處理性能越好;

(∵應(yīng)用數(shù)據(jù)長度>機(jī)器字長時,需分次運算)

對其它硬件的影響—直接影響ALU、REG長度,間接影響存儲字長、數(shù)據(jù)總線位數(shù)32*機(jī)器主頻:指CPU內(nèi)部主時鐘脈沖的頻率,常用f

表示。主頻單位—1GHz=1×103MHz=1×106KHz=1×109Hz;*存儲容量:指存儲器可存儲二進(jìn)制信息的總位數(shù)。主存容量—容量S

=存儲單元個數(shù)×存儲字長;

輔存容量—容量S

=存儲塊個數(shù)×存儲塊長度;最大主存容量—CPU能夠訪問的主存最大容量,它決定了CPU的地址和數(shù)據(jù)引腳數(shù)量

時鐘周期—CPU內(nèi)部基本操作的時長,常用TC表示;

f

與TC關(guān)系—倒數(shù)關(guān)系,即f

=1/TC

容量單位—1GB=1×210MB=1×220KB=1×230B=8×230bit;

33

特點—反映了多任務(wù)計算機(jī)系統(tǒng)的軟硬件總體性能△MIPS(每秒百萬次指令)

表示—因工作量無統(tǒng)一定義,通常用MIPS及MFLOPS代替*吞吐量:又稱吞吐率,指單位時間內(nèi)能處理的工作量,即吞吐量

=n個任務(wù)的總工作量÷n個任務(wù)的總時間

△MFLOPS(每秒百萬次浮點運算)*其他:RAS(可靠性/可用性/可維護(hù)),兼容性等32*響應(yīng)時間:指一個任務(wù)從任務(wù)輸入到結(jié)果輸出的總時間,2、系統(tǒng)性能指標(biāo)時間是唯一標(biāo)準(zhǔn),主要有響應(yīng)時間和吞吐量兩個指標(biāo)。34§1.4計算機(jī)系統(tǒng)發(fā)展歷程一、計算機(jī)硬件的發(fā)展歷史第一代第二代第三代第四代第五代年代1946~19571958~19641965~19711972~19901991~元器件電子管晶體管SSI、MSILSI、VLSIULSI主存磁心半導(dǎo)體輔存紙帶、磁帶磁盤光盤字長4/88/16/3232/64速度(次/s)40,000200,0001,000,00010,000,000100,000,0001、計算機(jī)的產(chǎn)生與發(fā)展*發(fā)展趨勢:向大型機(jī)、微型機(jī)兩個方向發(fā)展*研究重點:器件技術(shù)、并行化結(jié)構(gòu)352、微型計算機(jī)的產(chǎn)生與發(fā)展微處理器字長主頻地址線數(shù)數(shù)據(jù)線數(shù)其他年代80808實模式19748086164.77MHz201619788088164.77MHz208197980286166MHz2416保護(hù)模式1982803863212.5MHz3232虛擬8086模式、虛擬存儲器、Cache1985804863225MHz3232RISC、流水線1989Pentium3266MHz3264超標(biāo)量流水、MMX1993PentiumPro32133MHz3664超級流水、動態(tài)執(zhí)行1995PentiumⅡ32200MHz3664DIB1997PentiumⅢ32450MHz3664SSE、非阻塞Cache1999Pentium4321.3GHz3664SSE2、總線技術(shù)2000Core2Duo321.6GHz雙核2006*微處理器發(fā)展趨勢:提高復(fù)雜度(增加功能),開發(fā)指令級/線程級/內(nèi)核級并行性,集成存儲器,發(fā)展嵌入式處理器36二、計算機(jī)軟件的發(fā)展歷史1、計算機(jī)語言的發(fā)展機(jī)器語言→匯編語言→高級語言→應(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)庫37三、計算機(jī)系統(tǒng)分類按規(guī)模及功能分類超級計算機(jī)—科學(xué)計算等;大型計算機(jī)—多用戶使用等;小型計算機(jī)—辦公應(yīng)用等;工作站—圖形處理及分布式計算等;微型計算機(jī)—應(yīng)用廣泛;單片機(jī)/嵌入式系統(tǒng)—工業(yè)控制等38第二章數(shù)據(jù)的表示和運算

39§2.1數(shù)據(jù)的編碼一、數(shù)制及其轉(zhuǎn)換1、進(jìn)位計數(shù)制

*進(jìn)位計數(shù)制:又稱進(jìn)制或數(shù)制,是用一組固定的符號和統(tǒng)一的規(guī)則來表示數(shù)值的方法。有數(shù)碼、基數(shù)和位權(quán)3個基本參數(shù)

*常用的4種進(jìn)制:二進(jìn)制八進(jìn)制十進(jìn)制十六進(jìn)制數(shù)碼0,10,1,…,70,1,…,90,1,…,9,A,B,…,F基數(shù)281016位權(quán)2i8i10i16i書寫形式BODH

*R進(jìn)制數(shù)表示:(N

)R=(kn-1…k1k0.k-1k-2…k-m)R=

其中,ki∈{0,1,…(R-1)}402、R進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)

例1—(101.01)2=(1×22+1×20+1×2-2)10=(5.25)10

(3A.C)16=(3×161+10×160+12×16-1)10=(58.75)103、十進(jìn)制數(shù)轉(zhuǎn)換成R進(jìn)制數(shù)(1)十進(jìn)制數(shù)整數(shù)轉(zhuǎn)換成R進(jìn)制數(shù)整數(shù)

例2—

余數(shù)2191(最低位)291240220211(最高位)0(19)10=(10011)2

余數(shù)8193(最低位)822(最高位)0(19)10=(23)8*轉(zhuǎn)換規(guī)則:按位權(quán)展開*整數(shù)轉(zhuǎn)換規(guī)則:除基取余、上右下左41(2)十進(jìn)制數(shù)小數(shù)轉(zhuǎn)換成R進(jìn)制數(shù)小數(shù)

整數(shù)部分0.6875×2=1.3751(最高位)0.375×2=0.750

0.75×2=1.510.5×2=1.01(最低位)(0.6875)10

=(0.1011)2

整數(shù)部分0.6875×8=5.55(最高位)0.5×8=4.04

(最低位)(0.6875)10

=(0.54)8

例3—將(0.6875)10分別轉(zhuǎn)換成二、八進(jìn)制數(shù)(3)十進(jìn)制數(shù)轉(zhuǎn)換成R進(jìn)制數(shù)

*轉(zhuǎn)換規(guī)則:整數(shù)部分、小數(shù)部分分別轉(zhuǎn)換后再合并

練習(xí)1—(19.6875)10=(X)2=(Y)8,X=?Y=?*小數(shù)轉(zhuǎn)換規(guī)則:乘基取整、上左下右424、二、八、十六進(jìn)制數(shù)相互轉(zhuǎn)換

*隱含規(guī)律:2=21,8=23,16=24(1)二進(jìn)制、八進(jìn)制數(shù)相互轉(zhuǎn)換

*轉(zhuǎn)換規(guī)則:①從小數(shù)點向兩邊分別轉(zhuǎn)換;

②3個二進(jìn)制數(shù)位(不夠時補零)等價于1個八進(jìn)制數(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)二進(jìn)制、十六進(jìn)制數(shù)相互轉(zhuǎn)換

*轉(zhuǎn)換規(guī)則:①從小數(shù)點向兩邊分別轉(zhuǎn)換;

②4個二進(jìn)制數(shù)位(不夠時補零)等價于1個十六進(jìn)制數(shù)位

例5—(2B.E)16=(0010

1011.1110)2=(101011.111)2

(11001.11)2=(0001

1001.1100)2=(19.C)16

43二、機(jī)器數(shù)及其編碼*數(shù)值數(shù)據(jù):組成—由符號、小數(shù)點及數(shù)值構(gòu)成,可缺省符號及小數(shù)點運算—①符號與數(shù)值分開運算;②加減法需先比較大小*機(jī)器數(shù):符號數(shù)字化的數(shù),通常0/1表示+/-;

如(+101)2→(0101)2、(-0.101)2→(-.101)2→(1.101)2

真值—帶“+”或“-”符號的數(shù)*機(jī)器數(shù)的運算方法:

①采用手工運算方法,硬件實現(xiàn)很不方便;如—(+x)+(-y)時,先求x-y、再求結(jié)果符號、最后求x-y或y-x

☆②采用新運算方法,便于硬件實現(xiàn)(如符號與數(shù)值一起運算)└→必須使用新的編碼方法!*機(jī)器數(shù)的編碼方法:原碼、補碼、反碼、移碼等441、原碼表示法(原碼編碼方法)*基本思想:用0/1表示符號+/-,數(shù)值位為真值的絕對值*純整數(shù)原碼定義:

設(shè)X=±xn-2…x0,xi=0或1,則[X]原=xn-1xn-2…x0,[X]原

=X

0≤X<2n-12n-1

-

X

=

2n-1

+|X|-2n-1<X≤0

例1—[+1101]原=01101;[-1101]原=11101

例2—設(shè)[X]原=1101,則X=-101

例3—設(shè)[+X]原=0110,則[-X]原=1110;

[+X]原=0000,則[-X]原=1000,即[+0]原≠[-0]原

練習(xí)1—若X=-01000,[X]原=?

若[X]原=101010,X=?45*純小數(shù)原碼定義:

設(shè)X=±0.x-1…x-(n-1),則[X]原=x0.x-1…x-(n-1)[X]原

=X

0≤X<11-X=1+|X|-1<X≤0

例4—[+0.1001]原=0.1001;[-0.1001]原=1.1001

例5—[X]原=1.01,則X=-0.01

*原碼的特性:①X與[X]原關(guān)系—·[X]原與X表示值的范圍相同,

·[+0]原≠[-0]原;②運算方法—符號與數(shù)值分開運算(與手工運算一致)

└→適合于乘除法,加減法較復(fù)雜462、補碼表示法

*目標(biāo):實現(xiàn)符號與數(shù)值一起運算*有模運算:運算時只計量小于“模”的部分,多余部分被丟棄模—計量系統(tǒng)的計數(shù)范圍;(1)有模運算與補數(shù)示例—將時針從10點撥向7點,有兩種撥法:

①倒撥10-3=7;②順撥10+9=7+12=7*補數(shù):若a、b、M滿足a+b=M,稱a、b互為模M的補數(shù)

同余—若A、B、M滿足A=B+kM

(k為有符號整數(shù)),則記

A≡B(mod

M),稱B和A為模M的同余

運算特征—c-a

=

c-(M-b)

=

c+b

(modM),即減去一個數(shù)等價于加上這個數(shù)的補數(shù)

└→可將減法運算轉(zhuǎn)化為加法運算47(2)補碼定義

*純整數(shù)補碼定義:

設(shè)X=±xn-2…x0,xi=0或1,則[X]補=x’n-1x’n-2…x’0,即[X]補

=

2n

+X(mod2n)

=X

0≤X<2n-12n

+X=2n

-|X|-2n-1≤X<0

說明—因X連同符號位共n位,故模為2n

一個負(fù)數(shù)的補碼應(yīng)等于模與該數(shù)絕對值之差。即某負(fù)數(shù)X的補碼為:

[X]補=

M+X(modM)48

例6—[+0001]補=00001,[-0001]補=10

0000-0001=11111[+1111]補=01111,[-1111]補=10

0000-1111=10001

練習(xí)2—若X=-01000、Y=+01000,[X]補=?[Y]補=?

例7—n=5、X≥0時,最大[X]補=01111,Xmax=24-1=+15

X<0時,最小[X]補=10000,Xmin=-24=-16

原碼無11…11

10…0110…00

00…00

00…0101…11補碼

10…0010…0111…11

00…00

00…0101…11真值

-2n-1-(2n-1-1)

-1

0

+1+(2n-1-1)[+0000]補=[-0000]補=00000※數(shù)0的補碼惟一※正數(shù)補碼最高位(符號位)為0,負(fù)數(shù)最高位為1※補碼表示數(shù)的個數(shù)比原碼多1個49*定點純小數(shù)補碼定義:

設(shè)X=±0.x-1…x-(n-1),則[X]補=x’0.x’-1…x’-(n-1)[X]補

=

2+X(mod2)

=X

0≤X<12+X=2-|X|-1≤X<0

例8—[+0.1011]補=0.1011[-0.1011]補=2-0.1011=10.0000-0.1011=1.01011050△X→[X]補—

若X為正數(shù),改符號位為0,其余各位不變;若X為負(fù)數(shù),改符號位為1,其余各位取反、末位加1

例9—X=+0101,[X]補=X=-0101,[X]補=0

0101;1

1011△[X]補→X—

若[X]補最高位為0,改其為正號,其余各位不變;若[X]補最高位為1,改其為負(fù)號,其余各位取反、末位加1

例10—[X]補=0

0101,X=+

0101;[X]補=1

1011,X=-

0101(3)補碼的特性

51△[X]原→[X]補—

若[X]原最高位為0,[X]補=[X]原;

若[X]原最高位為1,[X]補=[X]原各數(shù)值位取反、末位加1

例11—

[X]原=0

0101,[X]補=0

0101;[X]原=1

0101,[X]補=1

1011△[X]補→[X]原—

若[X]補最高位為0,[X]原=[X]補;

若[X]補最高位為1,[X]原=[X]補各數(shù)值位取反、末位加1

例12—

[X]補=0

0101,[X]原=0

0101;[X]補=1

0101,[X]原=1

101152*[X]補與[-X]補的關(guān)系:△[X]補→[-X]補—[X]補的各位取反(含符號位)、末位加1[-X]補→[X]補—[-X]補的各位取反(含符號位)、末位加1

例13—[X]補=1

0110,[-X]補=

0

1001+1=

0

1010

練習(xí)3—若X=-01001,[-X]補=?若[X]補=101010,[-X]補=?-X=?53

0

01001

0

01001

練習(xí)4—

①若X=+01001,[X]原=,[X]補=;

②若X=-01010,[X]原=,[X]補=;

1

01010

1

10110

+

01010

0

01010

③若[X]原=001010,X=,[X]補=;

④若[X]原=101110,X=,[X]補=;

-

01110

1

10010

+

01110

1

10010

⑤若[X]補=001110,X=,[-X]補=;

⑥若[X]補=101110,X=,[-X]補=;

-

10010

0

10010

0

10101

0

10101

⑦若[-X]補=101011,[X]補=,[X]原=;

⑧若[-X]補=001001,[X]補=,[X]原=

1

10111

1

01001

714543、反碼表示法

*目標(biāo):作為原碼與補碼相互轉(zhuǎn)換時的一種過渡編碼*純整數(shù)反碼定義:

設(shè)X=±xn-2…x0,xi=0或1,取模=2n-1,則[X]反

=

(2n-1)+X(mod2n-1)

=X

0≤X<2n-1(2n-1)+X-2n-1<X≤0*純小數(shù)反碼定義:

設(shè)X=±0.x-1…x-(n-1),xi=0或1,模=2-2-(n-1),則[X]反

=

(2-2-(n-1))

+

X(mod2-2-(n-1))

=X

0≤X<1(2-2-(n-1))+X-1<X≤0

例14—[+1101]反=01101,[-1101]反=1001010

例15—[+0.1101]反=0.1101,[-0.1101]反=1.001055*反碼與補碼關(guān)系:若X為正數(shù),[X]補=[X]反;若X為負(fù)數(shù),[X]補=[X]反+111

原碼、補碼、反碼比較:

①機(jī)器數(shù)的最高位均為符號位(0/1表示正/負(fù));原碼無11…11

10…0110…00

00…00

00…0101…11反碼

10…0011…1011…11

00…00

00…0101…11補碼

10…0010…0111…11

00…00

00…0101…11真值

-2n-1-(2n-1-1)

-1

0

+1+(2n-1-1)④[+0]補=[-0]補,補碼比原碼、反碼多表示一個負(fù)數(shù)②若真值X為正數(shù),[X]原=[X]補=[X]反;

③若真值X為負(fù)數(shù),[X]補=[X]反+1,

[X]反=[X]原各位求反(符號位除外);564、移碼表示法

*目標(biāo):實現(xiàn)符號與數(shù)值一起編碼

←數(shù)連續(xù)時編碼連續(xù)*純整數(shù)移碼定義:

設(shè)X=±xn-2…x0,其中xi=0或1,取模=2n,則

[X]移

=

2n-1+X(mod2n)

=

2n-1

+

X-2n-1≤X<2n-1

例16—[-111]移=0001,[-001]移=0111,[±000]移=1000,

[+001]移=1001,[+111]移=1111,[-1000]移=0000補碼

10…0010…0111…11

00…00

00…0101…11移碼

00…00

00…0101…1110…0010…0111…11真值

-2n-1-(2n-1-1)

-1

0+1+(2n-1-1)*移碼的特性:

①數(shù)在數(shù)軸上為連續(xù)編碼(無符號數(shù)),便于比較大??;

②[X]移=[X]補符號位取反、其余各位不變57三、十進(jìn)制數(shù)編碼*BCD碼(BinaryCodedDicimal):又稱二-十進(jìn)制編碼,是指用4位二進(jìn)制編碼表示1位十進(jìn)制數(shù)位的編碼方式。

*BCD碼種類:分有權(quán)碼和無權(quán)碼兩種,最常用的是8421碼。十進(jìn)制數(shù)01234567898421碼0000000100100011010001010110011110001001余3碼0011010001010110011110001001101010111100

BCD碼缺省指8421碼(特殊聲明除外)!58四、字符及字符串編碼1、字符編碼

*字符編碼:字符在字符集中惟一的數(shù)字化代碼,表示字符在字符集中的序號或特征號*字符編碼的類型:有輸入碼、內(nèi)碼、交換碼、字模碼4種

與輸入法、字符集大小有關(guān)與字體、字號大小有關(guān)字符交換時的編碼(序號),僅與字符集大小有關(guān)字符存儲時的編碼(數(shù)據(jù)表示),與字符集大小、存儲字長有關(guān)鍵盤計算機(jī)B轉(zhuǎn)換處理傳送字模碼內(nèi)碼輸入碼交換碼顯示器傳送計算機(jī)A交換碼內(nèi)碼內(nèi)碼字符數(shù)據(jù)字符字模庫MEM交換碼59*有關(guān)字符編碼的約定:

字符編碼—均指交換碼的編碼!

字符數(shù)據(jù)—均指內(nèi)碼的編碼!*常見字符編碼(交換碼)種類:編碼種類碼點數(shù)量編碼長度說明ASCII碼1287美國標(biāo)準(zhǔn)信息交換碼,英文,使用最廣泛EBCDIC碼2568擴(kuò)展二-十進(jìn)制交換碼,英文,IBM定義Unicode碼6553616統(tǒng)一字符碼,支持各國語言,使用較廣泛ANSI碼2568美國國家標(biāo)準(zhǔn)協(xié)會交換碼,英文,含ASCII碼GB2312-80744514漢字國標(biāo)碼,中文①碼點數(shù)量—需編碼的信息數(shù)量;

(如交換碼指字符數(shù),字模碼指字符點陣數(shù))②編碼長度—采用等長編碼,長度=log2

碼點數(shù)量602、字符串編碼

*字符串特性:

①由多個字符構(gòu)成;

②所含字符數(shù)不固定。*字符串編碼方法:

①由各個字符編碼組成;

②通過特定編碼標(biāo)志字符串的結(jié)束,結(jié)束編碼放在最后

└→字符集必須包含該字符(如ASCII碼中編碼為0的字符)

例—C語言中字符串“am”可編碼為1100001110110100000061*冗余校驗思想:

①用待發(fā)數(shù)據(jù)(M)形成校驗信息(P),M與P一起傳送;

②用接收數(shù)據(jù)(M’)形成新校驗信息(P”),檢錯并糾錯五、校驗碼存儲器或傳輸線路M函數(shù)fP輸出方比較器P”P’糾正器M函數(shù)fM’輸入方狀態(tài)*術(shù)語:校驗碼—由數(shù)據(jù)位和校驗位組成的信息編碼;檢錯(檢驗)—檢查數(shù)據(jù)在傳送過程中有/無錯誤;糾錯(校正)—根據(jù)錯誤位置糾正數(shù)據(jù)(取反)*常見校驗碼:奇偶校驗碼、海明校驗碼621、奇偶校驗碼*編碼原理:采用1位校驗位,使數(shù)據(jù)位及校驗位中“1”的位數(shù)為奇數(shù)或偶數(shù)個*校驗原理:檢測校驗碼中“1”的個數(shù)變化,確定是否有錯

例1—數(shù)據(jù)101001001101001100011奇校驗碼101001000110100?1100011?偶校驗碼101001010110100?1100011?有奇校驗/偶校驗2種方法預(yù)先約定為奇數(shù)/偶數(shù)個*校驗碼編碼:

(設(shè)數(shù)據(jù)信息為mnmn-1…m1)

校驗碼組成—共n+1位,數(shù)據(jù)mn-1…m1校驗位p163*校驗方法:故障字S—S=P’P”,其中P’是接收的、P”是形成的;檢錯—若S=0無錯誤,若S=1有錯誤;糾錯—無此能力(∵無法獲得錯誤位置)

例2—接收的奇校驗碼故障字S錯誤位數(shù)(人工)發(fā)送碼(參考)10100100001010010001101001??0110110101101100??0110110101101000??01101101*校驗?zāi)芰Γ褐荒軝z測奇數(shù)個錯誤,無糾錯能力

例3—下列接收的校驗碼①01001、②10100、③10011中,只有一個有奇數(shù)位錯,請問發(fā)送時采用的是奇校驗還是偶校驗碼?*應(yīng)用:廣泛應(yīng)用于I/O傳輸?shù)臄?shù)據(jù)校驗2564§2.2數(shù)據(jù)的表示

計算機(jī)用編碼表示數(shù)據(jù):數(shù)據(jù)數(shù)值數(shù)據(jù)非數(shù)值數(shù)據(jù)邏輯數(shù)

字符(串)

--含漢字圖形其它

--聲音、圖像等無符號數(shù)

--自然數(shù)有符號數(shù)

--整數(shù)、純小數(shù)、實數(shù)等

計算機(jī)只支持最常用(最基本)的數(shù)據(jù)類型:

數(shù)據(jù)表示—計算機(jī)硬件能夠直接識別和引用的數(shù)據(jù)類型

應(yīng)用數(shù)據(jù)→數(shù)據(jù)表示的轉(zhuǎn)換:程序員或編譯程序完成程序員實際應(yīng)用需要的數(shù)據(jù)類型計算機(jī)語言支持的數(shù)據(jù)類型計算機(jī)硬件支持的數(shù)據(jù)類型編譯程序65一、數(shù)值數(shù)據(jù)的數(shù)據(jù)表示方法2、馮·諾依曼模型計算機(jī)的硬件特征

①指令和數(shù)據(jù)用二進(jìn)制表示,采用二進(jìn)制運算;

②二進(jìn)制中只有0和1,無法表示符號和小數(shù)點;

③機(jī)器字長固定,CPU內(nèi)部全部采用定長方式處理。1、數(shù)值數(shù)據(jù)的數(shù)學(xué)特征

①進(jìn)制可有多種;

②符號為“+”或“-”,可以沒有符號;

③小數(shù)點為“.”,可隱含表示,小數(shù)點位置可任意變化;

④數(shù)碼長度可任意變化;

⑤不會產(chǎn)生運算溢出663、數(shù)值數(shù)據(jù)的表示方法*符號問題處理:

有符號數(shù)—用數(shù)字表示符號,

無符號數(shù)—符號位置為數(shù)值;*進(jìn)制問題處理:只支持二進(jìn)制方式;數(shù)據(jù)本身無法區(qū)分在指令級進(jìn)行區(qū)分無符號數(shù)、整數(shù)純小數(shù)實數(shù)隱含于最低位之后隱含于最高位之前純小數(shù)尾數(shù)+整數(shù)指數(shù)定點格式浮點格式數(shù)據(jù)本身無法區(qū)分,在指令級進(jìn)行區(qū)分*小數(shù)點問題處理:

①點的表示—用隱含方式表示;②位置表示—約定不同數(shù)據(jù)類型的位置不同67*數(shù)碼長度問題處理:

①不同數(shù)據(jù)類型—數(shù)碼長度固定;←便于定長方式處理

②同一數(shù)據(jù)類型—可有幾種長度;←可提高處理及存儲效率*運算問題處理:

①運算方法—按數(shù)據(jù)表示的格式及編碼進(jìn)行相應(yīng)運算;

數(shù)值數(shù)據(jù)的處理方法:包括數(shù)據(jù)的表示和數(shù)據(jù)的操作方法表示格式(小數(shù)點表示)編碼方式(符號及數(shù)值表示)數(shù)碼長度(決定了數(shù)值范圍)運算方式溢出處理數(shù)據(jù)的表示數(shù)據(jù)的操作數(shù)據(jù)處理定點與浮點表示機(jī)器數(shù)編碼②數(shù)據(jù)類型區(qū)分—由指令操作碼區(qū)分;③溢出處理—硬件檢測并發(fā)出通知,由軟件處理39系統(tǒng)結(jié)構(gòu)決定組成邏輯實現(xiàn)68二、數(shù)的定點表示1、定點表示方法指約定數(shù)據(jù)中隱含的小數(shù)點位置固定不變。*定點數(shù)的表示范圍:

(設(shè)數(shù)碼長度為n位)自然數(shù)(無符號)整數(shù)(有符號)純小數(shù)Sn-1

Sn-2…S0

Sf

Sn-2…S0

Sf

S-1…S-(n-1)數(shù)值數(shù)符數(shù)值數(shù)符數(shù)值類型編碼自然數(shù)(無符號)純整數(shù)(有符號)純小數(shù)原碼0~2n-1(無符號編碼)-(2n-1-1)~+(2n-1-1)-(1-2-(n-1))~+(1-2-(n-1))補碼-2n-1~+(2n-1-1)-1~+(1-2-(n-1))*定點表示形式:有約定在數(shù)值最低位之后和最高位之前兩種2、定點數(shù)的表示采用定點表示格式的數(shù)稱為定點數(shù),通常有幾種數(shù)碼長度。69三、數(shù)的浮點表示1、浮點表示方法指約定數(shù)據(jù)中隱含的小數(shù)點位置是可變的。

表示—尾數(shù)用定點純小數(shù)表示,階用定點整數(shù)表示*浮點表示形式:由尾數(shù)和階組成

格式—1SE

ESM

M階符階值數(shù)符尾數(shù)值1em或SE

EMSM

70*浮點數(shù)的表示范圍與精度:

假設(shè)尾數(shù)及階的基均為2,數(shù)值長度分別為m位及e位2、浮點數(shù)的表示采用浮點表示格式的數(shù)稱為浮點數(shù),通常有幾種數(shù)碼長度。下溢區(qū)正上溢區(qū)(+∞)負(fù)上溢區(qū)(-∞)負(fù)數(shù)區(qū)機(jī)器零絕對零N正min正數(shù)區(qū)N負(fù)maxN正maxN負(fù)min

例1—若浮點表示格式中m=10、e=4,尾數(shù)及階均為補碼編碼方式,寫出(-54)10的機(jī)器碼。

解:(-54)10=(-110110)2=-0.11011×2+110,

浮點數(shù)機(jī)器碼為00110

10010100000

影響因素—e決定了范圍、m決定了精度71

例2—若浮點表示格式中尾數(shù)為8位(含1位符號位)、階為5位(含1位符號位),寫出下列實數(shù)的浮點數(shù)及機(jī)器碼。編碼格式實數(shù)浮點數(shù)浮點數(shù)的表示階尾數(shù)階碼尾數(shù)碼原碼原碼+10101.11+0.1010111×2+1010010101010111-0.0010111-0.10111×2-10移碼補碼+0.0010111+0.10111×2-10-10101.11-0.1010111×2+101

例3—浮點表示格式同例2,寫出下列機(jī)器碼的浮點數(shù)。編碼格式浮點數(shù)的表示浮點數(shù)階尾數(shù)階碼尾數(shù)碼原碼原碼0110101010111+0.1010111×2+11011011011011010移碼補碼001010101110011101111010002010010

1101110001110

0101110010101

10101001-0.1011010×2-110+0.10111×2-1011-0.0011000×2+1101723、浮點數(shù)的規(guī)格化

*目的:在現(xiàn)有的浮點數(shù)表示格式中,使表示精度最大化。

例4—若浮點表示格式中m=3、e=3、尾數(shù)和階均為原碼編碼方式,不同表示方法的浮點數(shù)精度不同:

+101.1=0.1011×23=0.01011×24=0.001011×25001101010100001001010001*規(guī)格化數(shù)的要求:尾數(shù)真值的最高位為1,即

≤|M|<1

*規(guī)格化的操作:

左規(guī)—尾數(shù)左移一位,階碼減一;

右規(guī)—尾數(shù)右移一位,階碼加一。

應(yīng)用—非規(guī)格化數(shù)→規(guī)格化數(shù),可能需多次規(guī)格化操作4473

例5—若浮點數(shù)尾數(shù)及階的基均為2,回答下列問題:非規(guī)格化浮點數(shù)+1.0111×2+010-0.00010×2+010+1011.1×2+010規(guī)格化操作右規(guī)1次規(guī)格化浮點數(shù)+0.10111×2+011

原碼尾數(shù)—最高數(shù)值位為1;

補碼尾數(shù)—最高數(shù)值位與符號相反

←便于硬件實現(xiàn)左規(guī)3次-0.10000×2-001右規(guī)4次+0.10111×2+110744、IEEE754標(biāo)準(zhǔn)*表示格式及數(shù)碼長度:有單精度、雙精度兩種格式及長度*編碼方式:

①數(shù)制—M和E均采用二進(jìn)制方式(即RM=RE=2);2381單精度浮點表示格式數(shù)符S階E尾數(shù)M3252111雙精度浮點表示格式數(shù)符S階E尾數(shù)M64②碼制—M為原碼編碼的定點純小數(shù)(改進(jìn)了定點位置),

E為移碼編碼的定點整數(shù)(改進(jìn)了移碼值)75*階的碼制:采用的是余127碼和余1023碼余X碼—偏移值為X的移碼稱為余X碼,標(biāo)準(zhǔn)移碼:真值=E-28-1=E-128,余127碼:真值=E-(28-1-1)=E-127;*尾數(shù)的碼制:

(以單精度格式為例)

支持非規(guī)格化尾數(shù)和規(guī)格化尾數(shù)兩種方式;

規(guī)格化尾數(shù)—規(guī)格化的尾數(shù)真值=±1.m-2…m-24,機(jī)器碼M=m-2…m-24,尾數(shù)精度=24位

階的范圍—1≤E≤254,而0和255另作他用,

即-126≤階的真值≤127

非規(guī)格化尾數(shù)—尾數(shù)真值=±0.m-1…m-23,機(jī)器碼M=m-1…m-23,尾數(shù)精度=23位;76*IEEE754標(biāo)準(zhǔn)浮點表示的特征:(以單精度格式為例)參數(shù)值真值N說明E=0,且M=0N=0機(jī)器零(下溢區(qū))E=0,且M≠0N=(-1)S×2-126×0.M非規(guī)格化數(shù)1≤E≤254N=(-1)S×2E

-127×1.M規(guī)格化數(shù)E=255,且M≠0N=NaN為非數(shù)值E=255,且M=0N=(-1)S×∞±無窮大(上溢區(qū))

說明:①明確地表示了機(jī)器零及無窮大;

②非規(guī)格化數(shù)減少了下溢區(qū)間大小(精度損失);

③非數(shù)值用于表示異常(如0/0、負(fù)數(shù)開根等)正非規(guī)格化數(shù)區(qū)域機(jī)器零0.0+0.0…01×2-126+0.1…1×2-126+1.0…0×2-126正規(guī)格化數(shù)區(qū)域略+1.1…1×2+127下溢區(qū)正上溢區(qū)77

例6—求IEEE

754單精度碼為(CC968000)16的浮點數(shù)的真值N

例5—求(-11/128)10的IEEE754單精度規(guī)格化數(shù)的機(jī)器碼

解—(-11/128)10

=(

-1011)2×2-7

=(-0.1011)2×2-3

=(-1.011)2×2-4=(-1.011)2×2123-127

解—(CC968000)16=1

10011001

00101101000000000000000N為負(fù)數(shù),浮點數(shù)為規(guī)格化數(shù)(∵1<10011001<254);數(shù)符階尾數(shù)10111

10110110

0000

0000

0000

0000

000

機(jī)器碼為:

階=(10011001)2-(01111111)2

=(00011010)2=(26)10

尾數(shù)=(1.00101101)2

=(1.17578125)10∴N=(―1)1×1.17578125×226=-1.17578125×226

數(shù)值數(shù)據(jù)的表示小結(jié):表示格式有定點和浮點兩種,編碼方式?jīng)Q定運算器的運算方法,數(shù)碼長度總是固定的484178四、非數(shù)值數(shù)據(jù)的數(shù)據(jù)表示

提高M(jìn)EM的存儲效率:指令中地址效率—1個MEM地址應(yīng)對應(yīng)多個數(shù)據(jù)位;

MEM字長的特征:

MEM字長—均為2n位(n為常數(shù));←便于數(shù)據(jù)長度的二進(jìn)制運算

MEM字長種類—有二進(jìn)制位、機(jī)器字長、折中長度3類

數(shù)據(jù)的存儲效率—短數(shù)據(jù)占1個字長,長數(shù)據(jù)占多個字長0000H0001H…地址數(shù)據(jù)(1位)01…0000H0001H…0000100010001111…地址數(shù)據(jù)(8位)0000H0001H…00001000111100000000000010001111…地址數(shù)據(jù)(設(shè)字長為16位)通常不采用按位編址通常采用按折中長度(如字節(jié))編址791、字符數(shù)據(jù)的表示指字符的交換碼在存儲/處理時的表示方式,即字符的內(nèi)碼。*數(shù)據(jù)的表示方法:表示格式—

數(shù)碼長度—為MEM字長的倍數(shù),即n=kW;m

Cm-1

Cm-2…C1

C0

Kx-1…

K0x擴(kuò)展位字符交換碼n

例1—常見字符交換碼的表示:字符字符數(shù)據(jù)的表示種類編碼長度MEM按字節(jié)編址MEM按字(設(shè)=16)編址數(shù)碼長度占地址數(shù)數(shù)碼長度占地址數(shù)ASCII碼78位=7+11個16位=7+91個Unicode碼1616位=16+02個16位=16+01個GB2312-80碼1416位=14+22個16位=14+21個

編碼方式—無符號的二進(jìn)制編碼802、邏輯數(shù)據(jù)的表示

*數(shù)學(xué)特征:值域—真、假;

運算—與(AND)、或(OR)、非(NOT)等*運算處理方法:可采用所有位同時按位進(jìn)行與/或/非運算

可獲得最大性能←┘└→一位操作時,軟件負(fù)責(zé)準(zhǔn)備數(shù)據(jù)*數(shù)據(jù)的表示方法:

數(shù)碼長度—1位→n位(n為MEM字長倍數(shù));←以提高存儲效率

表示格式—n個邏輯數(shù)據(jù)捆綁表示,每個邏輯數(shù)據(jù)占1位;bn-1b0

Ln-1

Ln-2…L1

L0

例2—8位邏輯數(shù)A和B如何實現(xiàn)第0位的OR操作(結(jié)果在A中)?

編碼方式—各位獨立編碼,1/0可表示真/假

解:步驟為①

C=BAND01H;②

A=AORC5381§2.3定點數(shù)運算方法一、移位運算1、移位及移位運算

*移位:數(shù)值相對于某個位置的移動例—20.0m=2000.0cm,稱20相對于小數(shù)點左移了2位*移位操作:有左移、右移2種類型;二進(jìn)制數(shù)左移或右移n位相當(dāng)于乘以或除以2n*移位運算:對計算機(jī)中機(jī)器數(shù)的移位操作運算種類—對有符號數(shù),有算術(shù)左移、算術(shù)右移;對無符號數(shù),有邏輯左移、邏輯右移

運算參數(shù)—操作數(shù)、移動位數(shù)822、邏輯移位運算

*操作數(shù)類型:無符號機(jī)器數(shù)

例1—某REG內(nèi)容為00111001,邏輯移位運算結(jié)果如下:*運算規(guī)則:

機(jī)器數(shù)整體移位,移出的數(shù)丟棄,出現(xiàn)的空位補0邏輯左移2位丟棄部分邏輯右移2位丟棄部分0011100100111001000000*運算實現(xiàn)方法:通常用移位寄存器實現(xiàn)

練習(xí)—若(REG)=11001001,邏輯左移1位再右移1位的結(jié)果?0邏輯左移運算移位寄存器0邏輯右移運算移位寄存器*溢出判斷方法:左移、移丟數(shù)碼為1時運算溢出833、算術(shù)移位運算

*操作數(shù)類型:有符號機(jī)器數(shù)(原碼、補碼等)例3真值原碼補碼真值原碼補碼+20001000010-21001011110算術(shù)左移1位+4-4算術(shù)右移1位+1-1*運算規(guī)則:符號位不變,數(shù)值部分整體移位,空位添補規(guī)則如下表(根據(jù)編碼方式的數(shù)學(xué)特征添補)碼制真值算術(shù)移位運算規(guī)則符號位數(shù)值左移空位添補規(guī)則數(shù)值右移空位添補規(guī)則原碼正/負(fù)數(shù)保持不變空位補0補碼正/負(fù)數(shù)末位數(shù)值位補0首位數(shù)值位補符號位反碼正數(shù)末位數(shù)值位補0首位數(shù)值位補符號位負(fù)

溫馨提示

  • 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

提交評論