版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1引言一、本課程在計(jì)算機(jī)系統(tǒng)中的位置程序設(shè)計(jì)基礎(chǔ)及語(yǔ)言編譯原理匯編語(yǔ)言程序設(shè)計(jì)操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)數(shù)據(jù)庫(kù)原理、應(yīng)用軟件體系結(jié)構(gòu)應(yīng)用系統(tǒng)應(yīng)用語(yǔ)言級(jí)機(jī)器高級(jí)語(yǔ)言級(jí)機(jī)器匯編語(yǔ)言級(jí)機(jī)器操作系統(tǒng)級(jí)機(jī)器傳統(tǒng)機(jī)器級(jí)機(jī)器微程序機(jī)器級(jí)機(jī)器電子線路級(jí)機(jī)器外部設(shè)備接口技術(shù)組成原理模擬與數(shù)字邏輯電路系統(tǒng)結(jié)構(gòu)嵌入式系統(tǒng)離散結(jié)構(gòu)、算法設(shè)計(jì)基礎(chǔ)軟件工程人工智能信號(hào)與系統(tǒng)、控制技術(shù)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)類數(shù)字信號(hào)、圖像處理2一、課程目標(biāo)1、結(jié)構(gòu)與原理掌握建立計(jì)算機(jī)系統(tǒng)的整機(jī)概念;掌握計(jì)算機(jī)各部件的組成原理與技術(shù);了解計(jì)算機(jī)系統(tǒng)組成與結(jié)構(gòu)的新技術(shù)2、分析與計(jì)算能力掌握對(duì)組成與結(jié)構(gòu)進(jìn)行性能分析的方法;通過(guò)量化計(jì)算,加深對(duì)組成原理的理解與掌握3、應(yīng)用與設(shè)計(jì)能力通過(guò)實(shí)驗(yàn),培養(yǎng)邏輯設(shè)計(jì)及理論指導(dǎo)實(shí)踐的能力課程內(nèi)容組織及要求3二、課程內(nèi)容組織第1章計(jì)算機(jī)系統(tǒng)概論
計(jì)算機(jī)的模型、硬件組成,計(jì)算機(jī)的工作過(guò)程、性能指標(biāo)第3章存儲(chǔ)系統(tǒng)層次結(jié)構(gòu),RAM組成,主存、Cache、虛存的組成原理計(jì)算機(jī)軟件(指令串及數(shù)據(jù))CUALU存儲(chǔ)器…系統(tǒng)總線I/O設(shè)備1I/O接口1I/O設(shè)備2I/O接口2I/O設(shè)備nI/O接口n第2章數(shù)據(jù)的表示和運(yùn)算
數(shù)據(jù)的編碼及表示,定點(diǎn)及浮點(diǎn)運(yùn)算方法,ALU結(jié)構(gòu)與組成4第4章指令系統(tǒng)指令功能與指令格式,操作數(shù)存放及尋址方式,CISC/RISC第6章總線
概述,操作步驟,仲裁/定時(shí)方式,互連結(jié)構(gòu)第5章中央處理器
CPU的功能與結(jié)構(gòu)、工作流程,指令執(zhí)行過(guò)程,數(shù)據(jù)通路組織,CU的結(jié)構(gòu)及組成,微程序控制器技術(shù),指令流水技術(shù)計(jì)算機(jī)軟件(指令串及數(shù)據(jù))CUALU存儲(chǔ)器…系統(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í)點(diǎn)融合在一起;從邏輯設(shè)計(jì)出發(fā),分析多種方案的利與弊;通過(guò)量化分析,加深對(duì)原理的掌握與理解。四、本課程學(xué)習(xí)方法3、作業(yè)自己做!準(zhǔn)備一個(gè)作業(yè)本,每堂課帶來(lái)!2、學(xué)習(xí)效率本課程在計(jì)算機(jī)科學(xué)中處于承上啟下的地位,具有內(nèi)容多、難度大的特點(diǎn)。
6第1章計(jì)算機(jī)系統(tǒng)概論7什么是計(jì)算機(jī)◆計(jì)算機(jī):按照內(nèi)部存儲(chǔ)的指令序列,對(duì)數(shù)字化信息進(jìn)行自動(dòng)高速處理、存儲(chǔ)、傳送、控制的裝置。
信息:有用的數(shù)據(jù),有多種不同類型,其表現(xiàn)手段可以采用數(shù)字化形式或模擬量形式;
運(yùn)算:包括算術(shù)運(yùn)算和邏輯運(yùn)算,要求自動(dòng)與高速;
指令:指示計(jì)算機(jī)硬件完成某種功能的明確的命令;§1.1計(jì)算機(jī)系統(tǒng)簡(jiǎn)介8
處理:對(duì)信息進(jìn)行搜索、識(shí)別、變換,甚至聯(lián)想、思考和推理等等。9計(jì)算機(jī)的功能
數(shù)據(jù)處理
數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)傳送
控制◆計(jì)算機(jī)的基本功能主要包括
10◆數(shù)據(jù)處理功能
運(yùn)算功能:算術(shù)運(yùn)算功能和邏輯運(yùn)算,應(yīng)用于數(shù)值計(jì)算和非數(shù)值計(jì)算兩個(gè)方面;
處理對(duì)象:數(shù)值、字符、圖形、圖像、聲音和視頻等?!魯?shù)據(jù)存儲(chǔ)功能
主存儲(chǔ)器:保存指令和數(shù)據(jù);
輔助存儲(chǔ)器:以文件的形式保存大量數(shù)據(jù)信息。11◆數(shù)據(jù)傳送功能
內(nèi)部數(shù)據(jù)流動(dòng):CPU和主存以及CPU內(nèi)部寄存器與運(yùn)算器之間的數(shù)據(jù)流動(dòng);
外部數(shù)據(jù)傳送:輸入/輸出(I/O)和計(jì)算機(jī)通信?!艨刂乒δ?/p>
控制器:產(chǎn)生各種基本操作信號(hào)并按某種時(shí)序發(fā)出以完成相應(yīng)功能;
指令編碼、指令系統(tǒng):一臺(tái)計(jì)算機(jī)的所有指令集合。121.1.1計(jì)算機(jī)系統(tǒng)的軟硬件*計(jì)算機(jī)系統(tǒng)的組成:具有特定功能的信息(程序)。如系統(tǒng)程序、應(yīng)用程序計(jì)算機(jī)系統(tǒng)表示應(yīng)用需求計(jì)算機(jī)的物理實(shí)體;如主機(jī)、外設(shè)等計(jì)算機(jī)硬件—計(jì)算機(jī)軟件—13
功能的實(shí)現(xiàn)方式—*計(jì)算機(jī)系統(tǒng)功能的實(shí)現(xiàn)方式:解題過(guò)程—解題結(jié)果③③運(yùn)行*計(jì)算機(jī)系統(tǒng)組成的特性:軟件功能靠硬件實(shí)現(xiàn),硬件性能靠軟件反映①硬件具備數(shù)據(jù)的存儲(chǔ)、傳送及處理和過(guò)程控制功能②軟件表示應(yīng)用的數(shù)據(jù)處理及過(guò)程控制需求
└→程序(指令序列,硬件用不同指令表示不同功能)③執(zhí)行軟件實(shí)現(xiàn)應(yīng)用的數(shù)據(jù)處理及過(guò)程控制功能用戶輸入設(shè)備輸出設(shè)備處理設(shè)備存儲(chǔ)設(shè)備目標(biāo)程序(機(jī)器語(yǔ)言)源程序(高級(jí)語(yǔ)言)①②①編輯②編譯14二、計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)直接執(zhí)行機(jī)器指令機(jī)器語(yǔ)言級(jí)機(jī)器M1用機(jī)器語(yǔ)言編程匯編語(yǔ)言級(jí)機(jī)器M3用匯編語(yǔ)言編程用匯編程序翻譯成機(jī)器語(yǔ)言程序高級(jí)語(yǔ)言級(jí)機(jī)器M4用高級(jí)語(yǔ)言編程用編譯程序翻譯成匯編語(yǔ)言程序或機(jī)器語(yǔ)言程序操作系統(tǒng)級(jí)機(jī)器M2使用操作系統(tǒng)命令用機(jī)器語(yǔ)言解釋操作系統(tǒng)命令
微程序級(jí)機(jī)器M0使用微指令系統(tǒng)用微程序解釋機(jī)器指令直接執(zhí)行微指令虛擬機(jī)器實(shí)際機(jī)器15三、計(jì)算機(jī)結(jié)構(gòu)與組成*計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):機(jī)器語(yǔ)言程序員所看到的計(jì)算機(jī)屬性概念性結(jié)構(gòu)和功能特性←┘數(shù)字電路級(jí)機(jī)器指令系統(tǒng)、數(shù)據(jù)表示、尋址方式,存儲(chǔ)系統(tǒng),I/O系統(tǒng)、信息保護(hù)等機(jī)器語(yǔ)言級(jí)機(jī)器M1
微程序級(jí)機(jī)器M0硬件軟件匯編語(yǔ)言級(jí)機(jī)器M3高級(jí)語(yǔ)言級(jí)機(jī)器M4操作系統(tǒng)級(jí)機(jī)器M2軟硬件交界面*計(jì)算機(jī)組成:實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)時(shí)所體現(xiàn)的計(jì)算機(jī)屬性指令功能邏輯實(shí)現(xiàn)、部件組成、控制機(jī)構(gòu)、排隊(duì)及緩沖技術(shù)等器件技術(shù)、組裝技術(shù)等*計(jì)算機(jī)實(shí)現(xiàn):實(shí)現(xiàn)計(jì)算機(jī)組成時(shí)所體現(xiàn)的計(jì)算機(jī)屬性16*相互關(guān)系:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)—確定軟硬件功能分配及其界面特性;計(jì)算機(jī)組成—邏輯實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)的內(nèi)容;計(jì)算機(jī)實(shí)現(xiàn)—物理實(shí)現(xiàn)計(jì)算機(jī)組成的內(nèi)容舉例系統(tǒng)結(jié)構(gòu)計(jì)算機(jī)組成計(jì)算機(jī)實(shí)現(xiàn)乘法功能是否有乘法指令乘法器還是加法+移位器件、電路主存系統(tǒng)最大容量、編址方式速度保證、單體/多體MEM總線帶寬信號(hào)線數(shù)、時(shí)鐘、傳輸方式17§1.2計(jì)算機(jī)系統(tǒng)基本組成一、馮·諾依曼模型計(jì)算機(jī)*結(jié)構(gòu)與組成:
由運(yùn)算器、存儲(chǔ)器、控制器、輸入及輸出設(shè)備組成,
以運(yùn)算器為中心;輸入設(shè)備存儲(chǔ)器運(yùn)算器控制器輸出設(shè)備注:數(shù)據(jù)信息指令信息控制信息狀態(tài)信息*數(shù)據(jù)表示與運(yùn)算:
指令及數(shù)據(jù)均用二進(jìn)制方式表示,運(yùn)算亦采用二進(jìn)制方式18*指令組成:
由操作碼及地址碼組成;010
01000
10000
例:若加法運(yùn)算的操作碼用010表示,第01000號(hào)與第10000號(hào)兩個(gè)存儲(chǔ)單元內(nèi)容相加的操作可表示為:表示操作的性質(zhì)表示操作數(shù)在存儲(chǔ)器中的位置*存儲(chǔ)程序原理—程序存儲(chǔ)方式:
指令及數(shù)據(jù)預(yù)先存放(以等同地位)在存儲(chǔ)器中;*存儲(chǔ)器結(jié)構(gòu):
由定長(zhǎng)單元構(gòu)成的一維空間,存儲(chǔ)器按地址訪問(wèn);操作碼
地址碼1地址碼219*存儲(chǔ)程序原理—程序控制機(jī)制:按程序邏輯順序、自動(dòng)地、逐條地取出指令并執(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ì)算機(jī)模型。2)存儲(chǔ)器以二進(jìn)制形式存儲(chǔ)指令和數(shù)據(jù);3)存儲(chǔ)程序工作方式;4)五部件以運(yùn)算器為中心進(jìn)行組織。1)計(jì)算機(jī)由運(yùn)算器、存儲(chǔ)器、控制器和輸入/輸出五個(gè)部件組成;21二、計(jì)算機(jī)硬件的基本組成1、計(jì)算機(jī)硬件的結(jié)構(gòu)現(xiàn)代計(jì)算機(jī)均在馮·諾依曼模型基礎(chǔ)上進(jìn)行改進(jìn)*采用以存儲(chǔ)器為中心的結(jié)構(gòu):使數(shù)據(jù)傳送與數(shù)據(jù)處理并行,有利于提高系統(tǒng)性能存儲(chǔ)器輸出設(shè)備輸入設(shè)備結(jié)果程序數(shù)據(jù)控制器運(yùn)算器直接存儲(chǔ)器訪問(wèn)(DMA)技術(shù)緩沖器緩沖器緩沖技術(shù)822*由多種存儲(chǔ)器構(gòu)成存儲(chǔ)系統(tǒng):解決速度-容量-價(jià)格間的矛盾,有利于提高性能/價(jià)格主存(內(nèi)存)輔存(外存)計(jì)算機(jī)硬件運(yùn)算器控制器存儲(chǔ)器輸入設(shè)備輸出設(shè)備CPU主機(jī)I/O設(shè)備(外設(shè))I/O設(shè)備主存儲(chǔ)器MM控制單元CUCPU算術(shù)邏輯單元ALU主機(jī)包含輔存(如DISK等)23*采用總線互連形式:實(shí)現(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)格式按地址訪問(wèn)min{所連I/O設(shè)備速度}242、計(jì)算機(jī)部件的基本組成(1)存儲(chǔ)器*功能:存儲(chǔ)程序和數(shù)據(jù)、通過(guò)讀/寫(xiě)操作接收/提供信息地址……存儲(chǔ)陣列I/O電路地址譯碼器……數(shù)據(jù)命令*組成:*完成操作的過(guò)程:讀操作—①接收地址及命令,內(nèi)部操作;②輸出數(shù)據(jù)
寫(xiě)操作—①接收地址及命令;②接收數(shù)據(jù),內(nèi)部操作25(2)運(yùn)算器*功能:實(shí)現(xiàn)算術(shù)運(yùn)算及邏輯運(yùn)算,并暫存運(yùn)算結(jié)果*組成:寄存器組(堆)Func存儲(chǔ)器ALU寄存器型運(yùn)算器ACFunc存儲(chǔ)器ALU累加器型運(yùn)算器TEMP*(AC)+[Y]→AC的運(yùn)算過(guò)程:
(0)(AC)為被加數(shù)AC存儲(chǔ)器ALUTEMPACFuncTEMP(1)加數(shù)[Y]→TEMP(2)(AC)+(TEMP)(3)ALU結(jié)果→AC△約定:(X)表示寄存器X中內(nèi)容,[Y]表示存儲(chǔ)單元Y中內(nèi)容26(3)控制器*功能:指揮及控制各部件協(xié)調(diào)地工作,以實(shí)現(xiàn)程序執(zhí)行過(guò)程
*程序執(zhí)行過(guò)程:
①循環(huán)的指令執(zhí)行過(guò)程(取指令及執(zhí)行指令);②下條指令地址由當(dāng)前指令產(chǎn)生(按程序邏輯順序)取指令取指階段分析指令執(zhí)行指令執(zhí)行階段1027(4)輸入/輸出設(shè)備*功能:實(shí)現(xiàn)外部-內(nèi)部信息的輸入/輸出及格式轉(zhuǎn)換;*種類:鍵盤(pán)、鼠標(biāo)、顯示器、打印機(jī)、磁盤(pán)等;*連接:通過(guò)I/O接口(又稱適配器或控制器)與總線連接,
I/O接口實(shí)現(xiàn)信息傳送時(shí)的緩沖、中轉(zhuǎn)等功能主存…系統(tǒng)總線主存控制器CPU用戶交互接口鍵盤(pán)、鼠標(biāo)等磁盤(pán)適配器磁盤(pán)通信接口串口等總線接口BIU28三、計(jì)算機(jī)軟件的基本組成1、計(jì)算機(jī)軟件分類軟件分為系統(tǒng)軟件及應(yīng)用軟件兩大類。語(yǔ)言處理程序數(shù)據(jù)庫(kù)管理系統(tǒng)服務(wù)性程序網(wǎng)絡(luò)管理程序操作系統(tǒng)科學(xué)計(jì)算信息管理自動(dòng)控制人工智能虛擬現(xiàn)實(shí)實(shí)際機(jī)器軟硬件交界面系統(tǒng)軟件應(yīng)用軟件虛擬機(jī)器應(yīng)用語(yǔ)言環(huán)境高級(jí)語(yǔ)言環(huán)境匯編語(yǔ)言環(huán)境操作系統(tǒng)環(huán)境應(yīng)用語(yǔ)言程序高級(jí)語(yǔ)言程序匯編語(yǔ)言程序操作系統(tǒng)命令串29四、計(jì)算機(jī)工作過(guò)程
計(jì)算機(jī)的工作過(guò)程就是執(zhí)行程序的過(guò)程。圖1.4CPU組成以及和存儲(chǔ)器的連接
考查指令A(yù)DDNUM,R0的執(zhí)行過(guò)程。30程序執(zhí)行過(guò)程
*程序執(zhí)行的實(shí)現(xiàn)方法:--控制器指揮與控制①取指—(PC)→[MM]→IR,(PC)+“1”→PC;
②分析—(IR)→ID→CU;
③執(zhí)行—實(shí)現(xiàn)指令約定操作(指令轉(zhuǎn)移時(shí)重寫(xiě)PC);
④循環(huán)—若無(wú)中斷執(zhí)行的要求,轉(zhuǎn)①17*程序執(zhí)行的初始條件:
(a)程序及數(shù)據(jù)已存放在主存儲(chǔ)器MM中;
(b)PC內(nèi)容已經(jīng)為即將執(zhí)行的程序首條指令地址31§1.3計(jì)算機(jī)系統(tǒng)的性能指標(biāo)一、計(jì)算機(jī)系統(tǒng)的性能指標(biāo)*系統(tǒng)性能:指在計(jì)算機(jī)硬件上運(yùn)行的計(jì)算機(jī)軟件的性能1、硬件性能參數(shù)*機(jī)器字長(zhǎng):指CPU一次能處理的二進(jìn)制位數(shù)。
└→指ALU一次能處理的
n位CPU—指機(jī)器字長(zhǎng)為n個(gè)二進(jìn)制位的CPU;例如,Core2CPU為64位CPU
對(duì)系統(tǒng)性能的影響—機(jī)器字長(zhǎng)越長(zhǎng),數(shù)據(jù)處理性能越好;
(∵應(yīng)用數(shù)據(jù)長(zhǎng)度>機(jī)器字長(zhǎng)時(shí),需分次運(yùn)算)
對(duì)其它硬件的影響—直接影響ALU、REG長(zhǎng)度,間接影響存儲(chǔ)字長(zhǎng)、數(shù)據(jù)總線位數(shù)32*機(jī)器主頻:指CPU內(nèi)部主時(shí)鐘脈沖的頻率,常用f
表示。主頻單位—1GHz=1×103MHz=1×106KHz=1×109Hz;*存儲(chǔ)容量:指存儲(chǔ)器可存儲(chǔ)二進(jìn)制信息的總位數(shù)。主存容量—容量S
=存儲(chǔ)單元個(gè)數(shù)×存儲(chǔ)字長(zhǎng);
輔存容量—容量S
=存儲(chǔ)塊個(gè)數(shù)×存儲(chǔ)塊長(zhǎng)度;最大主存容量—CPU能夠訪問(wèn)的主存最大容量,它決定了CPU的地址和數(shù)據(jù)引腳數(shù)量
時(shí)鐘周期—CPU內(nèi)部基本操作的時(shí)長(zhǎng),常用TC表示;
f
與TC關(guān)系—倒數(shù)關(guān)系,即f
=1/TC
容量單位—1GB=1×210MB=1×220KB=1×230B=8×230bit;
33
特點(diǎn)—反映了多任務(wù)計(jì)算機(jī)系統(tǒng)的軟硬件總體性能△MIPS(每秒百萬(wàn)次指令)
表示—因工作量無(wú)統(tǒng)一定義,通常用MIPS及MFLOPS代替*吞吐量:又稱吞吐率,指單位時(shí)間內(nèi)能處理的工作量,即吞吐量
=n個(gè)任務(wù)的總工作量÷n個(gè)任務(wù)的總時(shí)間
△MFLOPS(每秒百萬(wàn)次浮點(diǎn)運(yùn)算)*其他:RAS(可靠性/可用性/可維護(hù)),兼容性等32*響應(yīng)時(shí)間:指一個(gè)任務(wù)從任務(wù)輸入到結(jié)果輸出的總時(shí)間,2、系統(tǒng)性能指標(biāo)時(shí)間是唯一標(biāo)準(zhǔn),主要有響應(yīng)時(shí)間和吞吐量?jī)蓚€(gè)指標(biāo)。34§1.4計(jì)算機(jī)系統(tǒng)發(fā)展歷程一、計(jì)算機(jī)硬件的發(fā)展歷史第一代第二代第三代第四代第五代年代1946~19571958~19641965~19711972~19901991~元器件電子管晶體管SSI、MSILSI、VLSIULSI主存磁心半導(dǎo)體輔存紙帶、磁帶磁盤(pán)光盤(pán)字長(zhǎng)4/88/16/3232/64速度(次/s)40,000200,0001,000,00010,000,000100,000,0001、計(jì)算機(jī)的產(chǎn)生與發(fā)展*發(fā)展趨勢(shì):向大型機(jī)、微型機(jī)兩個(gè)方向發(fā)展*研究重點(diǎn):器件技術(shù)、并行化結(jié)構(gòu)352、微型計(jì)算機(jī)的產(chǎn)生與發(fā)展微處理器字長(zhǎng)主頻地址線數(shù)數(shù)據(jù)線數(shù)其他年代80808實(shí)模式19748086164.77MHz201619788088164.77MHz208197980286166MHz2416保護(hù)模式1982803863212.5MHz3232虛擬8086模式、虛擬存儲(chǔ)器、Cache1985804863225MHz3232RISC、流水線1989Pentium3266MHz3264超標(biāo)量流水、MMX1993PentiumPro32133MHz3664超級(jí)流水、動(dòng)態(tài)執(zhí)行1995PentiumⅡ32200MHz3664DIB1997PentiumⅢ32450MHz3664SSE、非阻塞Cache1999Pentium4321.3GHz3664SSE2、總線技術(shù)2000Core2Duo321.6GHz雙核2006*微處理器發(fā)展趨勢(shì):提高復(fù)雜度(增加功能),開(kāi)發(fā)指令級(jí)/線程級(jí)/內(nèi)核級(jí)并行性,集成存儲(chǔ)器,發(fā)展嵌入式處理器36二、計(jì)算機(jī)軟件的發(fā)展歷史1、計(jì)算機(jī)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言→匯編語(yǔ)言→高級(jí)語(yǔ)言→應(yīng)用語(yǔ)言*高級(jí)語(yǔ)言例:
FORTRAN、PASCAL、C/C++、Java2、系統(tǒng)軟件的發(fā)展*語(yǔ)言處理程序:匯編程序、編譯程序、解釋程序;*操作系統(tǒng):DOS、UNIX、Windows;
(多道程序、分時(shí)/實(shí)時(shí)、網(wǎng)絡(luò)、分布式、面向?qū)ο?*服務(wù)性程序:裝配、調(diào)試、診斷、排錯(cuò);*數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)(網(wǎng)狀、層次、關(guān)系型)、數(shù)據(jù)庫(kù)管理軟件;*網(wǎng)絡(luò):協(xié)議(NetNIOS、TCP/IP等)及實(shí)現(xiàn)庫(kù)37三、計(jì)算機(jī)系統(tǒng)分類按規(guī)模及功能分類超級(jí)計(jì)算機(jī)—科學(xué)計(jì)算等;大型計(jì)算機(jī)—多用戶使用等;小型計(jì)算機(jī)—辦公應(yīng)用等;工作站—圖形處理及分布式計(jì)算等;微型計(jì)算機(jī)—應(yīng)用廣泛;單片機(jī)/嵌入式系統(tǒng)—工業(yè)控制等38第二章數(shù)據(jù)的表示和運(yùn)算
39§2.1數(shù)據(jù)的編碼一、數(shù)制及其轉(zhuǎn)換1、進(jìn)位計(jì)數(shù)制
*進(jìn)位計(jì)數(shù)制:又稱進(jìn)制或數(shù)制,是用一組固定的符號(hào)和統(tǒng)一的規(guī)則來(lái)表示數(shù)值的方法。有數(shù)碼、基數(shù)和位權(quán)3個(gè)基本參數(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書(shū)寫(xiě)形式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)展開(kāi)*整數(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ī)則:①?gòu)男?shù)點(diǎn)向兩邊分別轉(zhuǎn)換;
②3個(gè)二進(jìn)制數(shù)位(不夠時(shí)補(bǔ)零)等價(jià)于1個(gè)八進(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ī)則:①?gòu)男?shù)點(diǎn)向兩邊分別轉(zhuǎn)換;
②4個(gè)二進(jìn)制數(shù)位(不夠時(shí)補(bǔ)零)等價(jià)于1個(gè)十六進(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ù):組成—由符號(hào)、小數(shù)點(diǎn)及數(shù)值構(gòu)成,可缺省符號(hào)及小數(shù)點(diǎn)運(yùn)算—①符號(hào)與數(shù)值分開(kāi)運(yùn)算;②加減法需先比較大小*機(jī)器數(shù):符號(hào)數(shù)字化的數(shù),通常0/1表示+/-;
如(+101)2→(0101)2、(-0.101)2→(-.101)2→(1.101)2
真值—帶“+”或“-”符號(hào)的數(shù)*機(jī)器數(shù)的運(yùn)算方法:
①采用手工運(yùn)算方法,硬件實(shí)現(xiàn)很不方便;如—(+x)+(-y)時(shí),先求x-y、再求結(jié)果符號(hào)、最后求x-y或y-x
☆②采用新運(yùn)算方法,便于硬件實(shí)現(xiàn)(如符號(hào)與數(shù)值一起運(yùn)算)└→必須使用新的編碼方法!*機(jī)器數(shù)的編碼方法:原碼、補(bǔ)碼、反碼、移碼等441、原碼表示法(原碼編碼方法)*基本思想:用0/1表示符號(hào)+/-,數(shù)值位為真值的絕對(duì)值*純整數(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]原;②運(yùn)算方法—符號(hào)與數(shù)值分開(kāi)運(yùn)算(與手工運(yùn)算一致)
└→適合于乘除法,加減法較復(fù)雜462、補(bǔ)碼表示法
*目標(biāo):實(shí)現(xiàn)符號(hào)與數(shù)值一起運(yùn)算*有模運(yùn)算:運(yùn)算時(shí)只計(jì)量小于“?!钡牟糠?,多余部分被丟棄?!?jì)量系統(tǒng)的計(jì)數(shù)范圍;(1)有模運(yùn)算與補(bǔ)數(shù)示例—將時(shí)針從10點(diǎn)撥向7點(diǎn),有兩種撥法:
①倒撥10-3=7;②順撥10+9=7+12=7*補(bǔ)數(shù):若a、b、M滿足a+b=M,稱a、b互為模M的補(bǔ)數(shù)
同余—若A、B、M滿足A=B+kM
(k為有符號(hào)整數(shù)),則記
A≡B(mod
M),稱B和A為模M的同余
運(yùn)算特征—c-a
=
c-(M-b)
=
c+b
(modM),即減去一個(gè)數(shù)等價(jià)于加上這個(gè)數(shù)的補(bǔ)數(shù)
└→可將減法運(yùn)算轉(zhuǎn)化為加法運(yùn)算47(2)補(bǔ)碼定義
*純整數(shù)補(bǔ)碼定義:
設(shè)X=±xn-2…x0,xi=0或1,則[X]補(bǔ)=x’n-1x’n-2…x’0,即[X]補(bǔ)
=
2n
+X(mod2n)
=X
0≤X<2n-12n
+X=2n
-|X|-2n-1≤X<0
說(shuō)明—因X連同符號(hào)位共n位,故模為2n
一個(gè)負(fù)數(shù)的補(bǔ)碼應(yīng)等于模與該數(shù)絕對(duì)值之差。即某負(fù)數(shù)X的補(bǔ)碼為:
[X]補(bǔ)=
M+X(modM)48
例6—[+0001]補(bǔ)=00001,[-0001]補(bǔ)=10
0000-0001=11111[+1111]補(bǔ)=01111,[-1111]補(bǔ)=10
0000-1111=10001
練習(xí)2—若X=-01000、Y=+01000,[X]補(bǔ)=?[Y]補(bǔ)=?
例7—n=5、X≥0時(shí),最大[X]補(bǔ)=01111,Xmax=24-1=+15
X<0時(shí),最小[X]補(bǔ)=10000,Xmin=-24=-16
原碼無(wú)11…11
10…0110…00
00…00
00…0101…11補(bǔ)碼
10…0010…0111…11
00…00
00…0101…11真值
-2n-1-(2n-1-1)
-1
0
+1+(2n-1-1)[+0000]補(bǔ)=[-0000]補(bǔ)=00000※數(shù)0的補(bǔ)碼惟一※正數(shù)補(bǔ)碼最高位(符號(hào)位)為0,負(fù)數(shù)最高位為1※補(bǔ)碼表示數(shù)的個(gè)數(shù)比原碼多1個(gè)49*定點(diǎn)純小數(shù)補(bǔ)碼定義:
設(shè)X=±0.x-1…x-(n-1),則[X]補(bǔ)=x’0.x’-1…x’-(n-1)[X]補(bǔ)
=
2+X(mod2)
=X
0≤X<12+X=2-|X|-1≤X<0
例8—[+0.1011]補(bǔ)=0.1011[-0.1011]補(bǔ)=2-0.1011=10.0000-0.1011=1.01011050△X→[X]補(bǔ)—
若X為正數(shù),改符號(hào)位為0,其余各位不變;若X為負(fù)數(shù),改符號(hào)位為1,其余各位取反、末位加1
例9—X=+0101,[X]補(bǔ)=X=-0101,[X]補(bǔ)=0
0101;1
1011△[X]補(bǔ)→X—
若[X]補(bǔ)最高位為0,改其為正號(hào),其余各位不變;若[X]補(bǔ)最高位為1,改其為負(fù)號(hào),其余各位取反、末位加1
例10—[X]補(bǔ)=0
0101,X=+
0101;[X]補(bǔ)=1
1011,X=-
0101(3)補(bǔ)碼的特性
51△[X]原→[X]補(bǔ)—
若[X]原最高位為0,[X]補(bǔ)=[X]原;
若[X]原最高位為1,[X]補(bǔ)=[X]原各數(shù)值位取反、末位加1
例11—
[X]原=0
0101,[X]補(bǔ)=0
0101;[X]原=1
0101,[X]補(bǔ)=1
1011△[X]補(bǔ)→[X]原—
若[X]補(bǔ)最高位為0,[X]原=[X]補(bǔ);
若[X]補(bǔ)最高位為1,[X]原=[X]補(bǔ)各數(shù)值位取反、末位加1
例12—
[X]補(bǔ)=0
0101,[X]原=0
0101;[X]補(bǔ)=1
0101,[X]原=1
101152*[X]補(bǔ)與[-X]補(bǔ)的關(guān)系:△[X]補(bǔ)→[-X]補(bǔ)—[X]補(bǔ)的各位取反(含符號(hào)位)、末位加1[-X]補(bǔ)→[X]補(bǔ)—[-X]補(bǔ)的各位取反(含符號(hào)位)、末位加1
例13—[X]補(bǔ)=1
0110,[-X]補(bǔ)=
0
1001+1=
0
1010
練習(xí)3—若X=-01001,[-X]補(bǔ)=?若[X]補(bǔ)=101010,[-X]補(bǔ)=?-X=?53
0
01001
0
01001
練習(xí)4—
①若X=+01001,[X]原=,[X]補(bǔ)=;
②若X=-01010,[X]原=,[X]補(bǔ)=;
1
01010
1
10110
+
01010
0
01010
③若[X]原=001010,X=,[X]補(bǔ)=;
④若[X]原=101110,X=,[X]補(bǔ)=;
-
01110
1
10010
+
01110
1
10010
⑤若[X]補(bǔ)=001110,X=,[-X]補(bǔ)=;
⑥若[X]補(bǔ)=101110,X=,[-X]補(bǔ)=;
-
10010
0
10010
0
10101
0
10101
⑦若[-X]補(bǔ)=101011,[X]補(bǔ)=,[X]原=;
⑧若[-X]補(bǔ)=001001,[X]補(bǔ)=,[X]原=
1
10111
1
01001
714543、反碼表示法
*目標(biāo):作為原碼與補(bǔ)碼相互轉(zhuǎn)換時(shí)的一種過(guò)渡編碼*純整數(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*反碼與補(bǔ)碼關(guān)系:若X為正數(shù),[X]補(bǔ)=[X]反;若X為負(fù)數(shù),[X]補(bǔ)=[X]反+111
原碼、補(bǔ)碼、反碼比較:
①機(jī)器數(shù)的最高位均為符號(hào)位(0/1表示正/負(fù));原碼無(wú)11…11
10…0110…00
00…00
00…0101…11反碼
無(wú)
10…0011…1011…11
00…00
00…0101…11補(bǔ)碼
10…0010…0111…11
00…00
00…0101…11真值
-2n-1-(2n-1-1)
-1
0
+1+(2n-1-1)④[+0]補(bǔ)=[-0]補(bǔ),補(bǔ)碼比原碼、反碼多表示一個(gè)負(fù)數(shù)②若真值X為正數(shù),[X]原=[X]補(bǔ)=[X]反;
③若真值X為負(fù)數(shù),[X]補(bǔ)=[X]反+1,
[X]反=[X]原各位求反(符號(hào)位除外);564、移碼表示法
*目標(biāo):實(shí)現(xiàn)符號(hào)與數(shù)值一起編碼
←數(shù)連續(xù)時(shí)編碼連續(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補(bǔ)碼
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ù)編碼(無(wú)符號(hào)數(shù)),便于比較大??;
②[X]移=[X]補(bǔ)符號(hào)位取反、其余各位不變57三、十進(jìn)制數(shù)編碼*BCD碼(BinaryCodedDicimal):又稱二-十進(jìn)制編碼,是指用4位二進(jìn)制編碼表示1位十進(jìn)制數(shù)位的編碼方式。
*BCD碼種類:分有權(quán)碼和無(wú)權(quán)碼兩種,最常用的是8421碼。十進(jìn)制數(shù)01234567898421碼0000000100100011010001010110011110001001余3碼0011010001010110011110001001101010111100
BCD碼缺省指8421碼(特殊聲明除外)!58四、字符及字符串編碼1、字符編碼
*字符編碼:字符在字符集中惟一的數(shù)字化代碼,表示字符在字符集中的序號(hào)或特征號(hào)*字符編碼的類型:有輸入碼、內(nèi)碼、交換碼、字模碼4種
與輸入法、字符集大小有關(guān)與字體、字號(hào)大小有關(guān)字符交換時(shí)的編碼(序號(hào)),僅與字符集大小有關(guān)字符存儲(chǔ)時(shí)的編碼(數(shù)據(jù)表示),與字符集大小、存儲(chǔ)字長(zhǎng)有關(guān)鍵盤(pán)計(jì)算機(jī)B轉(zhuǎn)換處理傳送字模碼內(nèi)碼輸入碼交換碼顯示器傳送計(jì)算機(jī)A交換碼內(nèi)碼內(nèi)碼字符數(shù)據(jù)字符字模庫(kù)MEM交換碼59*有關(guān)字符編碼的約定:
字符編碼—均指交換碼的編碼!
字符數(shù)據(jù)—均指內(nèi)碼的編碼!*常見(jiàn)字符編碼(交換碼)種類:編碼種類碼點(diǎn)數(shù)量編碼長(zhǎng)度說(shuō)明ASCII碼1287美國(guó)標(biāo)準(zhǔn)信息交換碼,英文,使用最廣泛EBCDIC碼2568擴(kuò)展二-十進(jìn)制交換碼,英文,IBM定義Unicode碼6553616統(tǒng)一字符碼,支持各國(guó)語(yǔ)言,使用較廣泛ANSI碼2568美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)交換碼,英文,含ASCII碼GB2312-80744514漢字國(guó)標(biāo)碼,中文①碼點(diǎn)數(shù)量—需編碼的信息數(shù)量;
(如交換碼指字符數(shù),字模碼指字符點(diǎn)陣數(shù))②編碼長(zhǎng)度—采用等長(zhǎng)編碼,長(zhǎng)度=log2
碼點(diǎn)數(shù)量602、字符串編碼
*字符串特性:
①由多個(gè)字符構(gòu)成;
②所含字符數(shù)不固定。*字符串編碼方法:
①由各個(gè)字符編碼組成;
②通過(guò)特定編碼標(biāo)志字符串的結(jié)束,結(jié)束編碼放在最后
└→字符集必須包含該字符(如ASCII碼中編碼為0的字符)
例—C語(yǔ)言中字符串“am”可編碼為1100001110110100000061*冗余校驗(yàn)思想:
①用待發(fā)數(shù)據(jù)(M)形成校驗(yàn)信息(P),M與P一起傳送;
②用接收數(shù)據(jù)(M’)形成新校驗(yàn)信息(P”),檢錯(cuò)并糾錯(cuò)五、校驗(yàn)碼存儲(chǔ)器或傳輸線路M函數(shù)fP輸出方比較器P”P(pán)’糾正器M函數(shù)fM’輸入方狀態(tài)*術(shù)語(yǔ):校驗(yàn)碼—由數(shù)據(jù)位和校驗(yàn)位組成的信息編碼;檢錯(cuò)(檢驗(yàn))—檢查數(shù)據(jù)在傳送過(guò)程中有/無(wú)錯(cuò)誤;糾錯(cuò)(校正)—根據(jù)錯(cuò)誤位置糾正數(shù)據(jù)(取反)*常見(jiàn)校驗(yàn)碼:奇偶校驗(yàn)碼、海明校驗(yàn)碼621、奇偶校驗(yàn)碼*編碼原理:采用1位校驗(yàn)位,使數(shù)據(jù)位及校驗(yàn)位中“1”的位數(shù)為奇數(shù)或偶數(shù)個(gè)*校驗(yàn)原理:檢測(cè)校驗(yàn)碼中“1”的個(gè)數(shù)變化,確定是否有錯(cuò)
例1—數(shù)據(jù)101001001101001100011奇校驗(yàn)碼101001000110100?1100011?偶校驗(yàn)碼101001010110100?1100011?有奇校驗(yàn)/偶校驗(yàn)2種方法預(yù)先約定為奇數(shù)/偶數(shù)個(gè)*校驗(yàn)碼編碼:
(設(shè)數(shù)據(jù)信息為mnmn-1…m1)
校驗(yàn)碼組成—共n+1位,數(shù)據(jù)mn-1…m1校驗(yàn)位p163*校驗(yàn)方法:故障字S—S=P’P”,其中P’是接收的、P”是形成的;檢錯(cuò)—若S=0無(wú)錯(cuò)誤,若S=1有錯(cuò)誤;糾錯(cuò)—無(wú)此能力(∵無(wú)法獲得錯(cuò)誤位置)
例2—接收的奇校驗(yàn)碼故障字S錯(cuò)誤位數(shù)(人工)發(fā)送碼(參考)10100100001010010001101001??0110110101101100??0110110101101000??01101101*校驗(yàn)?zāi)芰Γ褐荒軝z測(cè)奇數(shù)個(gè)錯(cuò)誤,無(wú)糾錯(cuò)能力
例3—下列接收的校驗(yàn)碼①01001、②10100、③10011中,只有一個(gè)有奇數(shù)位錯(cuò),請(qǐng)問(wèn)發(fā)送時(shí)采用的是奇校驗(yàn)還是偶校驗(yàn)碼?*應(yīng)用:廣泛應(yīng)用于I/O傳輸?shù)臄?shù)據(jù)校驗(yàn)2564§2.2數(shù)據(jù)的表示
計(jì)算機(jī)用編碼表示數(shù)據(jù):數(shù)據(jù)數(shù)值數(shù)據(jù)非數(shù)值數(shù)據(jù)邏輯數(shù)
字符(串)
--含漢字圖形其它
--聲音、圖像等無(wú)符號(hào)數(shù)
--自然數(shù)有符號(hào)數(shù)
--整數(shù)、純小數(shù)、實(shí)數(shù)等
計(jì)算機(jī)只支持最常用(最基本)的數(shù)據(jù)類型:
數(shù)據(jù)表示—計(jì)算機(jī)硬件能夠直接識(shí)別和引用的數(shù)據(jù)類型
應(yīng)用數(shù)據(jù)→數(shù)據(jù)表示的轉(zhuǎn)換:程序員或編譯程序完成程序員實(shí)際應(yīng)用需要的數(shù)據(jù)類型計(jì)算機(jī)語(yǔ)言支持的數(shù)據(jù)類型計(jì)算機(jī)硬件支持的數(shù)據(jù)類型編譯程序65一、數(shù)值數(shù)據(jù)的數(shù)據(jù)表示方法2、馮·諾依曼模型計(jì)算機(jī)的硬件特征
①指令和數(shù)據(jù)用二進(jìn)制表示,采用二進(jìn)制運(yùn)算;
②二進(jìn)制中只有0和1,無(wú)法表示符號(hào)和小數(shù)點(diǎn);
③機(jī)器字長(zhǎng)固定,CPU內(nèi)部全部采用定長(zhǎng)方式處理。1、數(shù)值數(shù)據(jù)的數(shù)學(xué)特征
①進(jìn)制可有多種;
②符號(hào)為“+”或“-”,可以沒(méi)有符號(hào);
③小數(shù)點(diǎn)為“.”,可隱含表示,小數(shù)點(diǎn)位置可任意變化;
④數(shù)碼長(zhǎng)度可任意變化;
⑤不會(huì)產(chǎn)生運(yùn)算溢出663、數(shù)值數(shù)據(jù)的表示方法*符號(hào)問(wèn)題處理:
有符號(hào)數(shù)—用數(shù)字表示符號(hào),
無(wú)符號(hào)數(shù)—符號(hào)位置為數(shù)值;*進(jìn)制問(wèn)題處理:只支持二進(jìn)制方式;數(shù)據(jù)本身無(wú)法區(qū)分在指令級(jí)進(jìn)行區(qū)分無(wú)符號(hào)數(shù)、整數(shù)純小數(shù)實(shí)數(shù)隱含于最低位之后隱含于最高位之前純小數(shù)尾數(shù)+整數(shù)指數(shù)定點(diǎn)格式浮點(diǎn)格式數(shù)據(jù)本身無(wú)法區(qū)分,在指令級(jí)進(jìn)行區(qū)分*小數(shù)點(diǎn)問(wèn)題處理:
①點(diǎn)的表示—用隱含方式表示;②位置表示—約定不同數(shù)據(jù)類型的位置不同67*數(shù)碼長(zhǎng)度問(wèn)題處理:
①不同數(shù)據(jù)類型—數(shù)碼長(zhǎng)度固定;←便于定長(zhǎng)方式處理
②同一數(shù)據(jù)類型—可有幾種長(zhǎng)度;←可提高處理及存儲(chǔ)效率*運(yùn)算問(wèn)題處理:
①運(yùn)算方法—按數(shù)據(jù)表示的格式及編碼進(jìn)行相應(yīng)運(yùn)算;
數(shù)值數(shù)據(jù)的處理方法:包括數(shù)據(jù)的表示和數(shù)據(jù)的操作方法表示格式(小數(shù)點(diǎn)表示)編碼方式(符號(hào)及數(shù)值表示)數(shù)碼長(zhǎng)度(決定了數(shù)值范圍)運(yùn)算方式溢出處理數(shù)據(jù)的表示數(shù)據(jù)的操作數(shù)據(jù)處理定點(diǎn)與浮點(diǎn)表示機(jī)器數(shù)編碼②數(shù)據(jù)類型區(qū)分—由指令操作碼區(qū)分;③溢出處理—硬件檢測(cè)并發(fā)出通知,由軟件處理39系統(tǒng)結(jié)構(gòu)決定組成邏輯實(shí)現(xiàn)68二、數(shù)的定點(diǎn)表示1、定點(diǎn)表示方法指約定數(shù)據(jù)中隱含的小數(shù)點(diǎn)位置固定不變。*定點(diǎn)數(shù)的表示范圍:
(設(shè)數(shù)碼長(zhǎng)度為n位)自然數(shù)(無(wú)符號(hào))整數(shù)(有符號(hào))純小數(shù)Sn-1
Sn-2…S0
Sf
Sn-2…S0
Sf
S-1…S-(n-1)數(shù)值數(shù)符數(shù)值數(shù)符數(shù)值類型編碼自然數(shù)(無(wú)符號(hào))純整數(shù)(有符號(hào))純小數(shù)原碼0~2n-1(無(wú)符號(hào)編碼)-(2n-1-1)~+(2n-1-1)-(1-2-(n-1))~+(1-2-(n-1))補(bǔ)碼-2n-1~+(2n-1-1)-1~+(1-2-(n-1))*定點(diǎn)表示形式:有約定在數(shù)值最低位之后和最高位之前兩種2、定點(diǎn)數(shù)的表示采用定點(diǎn)表示格式的數(shù)稱為定點(diǎn)數(shù),通常有幾種數(shù)碼長(zhǎng)度。69三、數(shù)的浮點(diǎn)表示1、浮點(diǎn)表示方法指約定數(shù)據(jù)中隱含的小數(shù)點(diǎn)位置是可變的。
表示—尾數(shù)用定點(diǎn)純小數(shù)表示,階用定點(diǎn)整數(shù)表示*浮點(diǎn)表示形式:由尾數(shù)和階組成
格式—1SE
ESM
M階符階值數(shù)符尾數(shù)值1em或SE
EMSM
70*浮點(diǎn)數(shù)的表示范圍與精度:
假設(shè)尾數(shù)及階的基均為2,數(shù)值長(zhǎng)度分別為m位及e位2、浮點(diǎn)數(shù)的表示采用浮點(diǎn)表示格式的數(shù)稱為浮點(diǎn)數(shù),通常有幾種數(shù)碼長(zhǎng)度。下溢區(qū)正上溢區(qū)(+∞)負(fù)上溢區(qū)(-∞)負(fù)數(shù)區(qū)機(jī)器零絕對(duì)零N正min正數(shù)區(qū)N負(fù)maxN正maxN負(fù)min
例1—若浮點(diǎn)表示格式中m=10、e=4,尾數(shù)及階均為補(bǔ)碼編碼方式,寫(xiě)出(-54)10的機(jī)器碼。
解:(-54)10=(-110110)2=-0.11011×2+110,
浮點(diǎn)數(shù)機(jī)器碼為00110
10010100000
影響因素—e決定了范圍、m決定了精度71
例2—若浮點(diǎn)表示格式中尾數(shù)為8位(含1位符號(hào)位)、階為5位(含1位符號(hào)位),寫(xiě)出下列實(shí)數(shù)的浮點(diǎn)數(shù)及機(jī)器碼。編碼格式實(shí)數(shù)浮點(diǎn)數(shù)浮點(diǎn)數(shù)的表示階尾數(shù)階碼尾數(shù)碼原碼原碼+10101.11+0.1010111×2+1010010101010111-0.0010111-0.10111×2-10移碼補(bǔ)碼+0.0010111+0.10111×2-10-10101.11-0.1010111×2+101
例3—浮點(diǎn)表示格式同例2,寫(xiě)出下列機(jī)器碼的浮點(diǎn)數(shù)。編碼格式浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)階尾數(shù)階碼尾數(shù)碼原碼原碼0110101010111+0.1010111×2+11011011011011010移碼補(bǔ)碼001010101110011101111010002010010
1101110001110
0101110010101
10101001-0.1011010×2-110+0.10111×2-1011-0.0011000×2+1101723、浮點(diǎn)數(shù)的規(guī)格化
*目的:在現(xiàn)有的浮點(diǎn)數(shù)表示格式中,使表示精度最大化。
例4—若浮點(diǎn)表示格式中m=3、e=3、尾數(shù)和階均為原碼編碼方式,不同表示方法的浮點(diǎn)數(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—若浮點(diǎn)數(shù)尾數(shù)及階的基均為2,回答下列問(wèn)題:非規(guī)格化浮點(diǎn)數(shù)+1.0111×2+010-0.00010×2+010+1011.1×2+010規(guī)格化操作右規(guī)1次規(guī)格化浮點(diǎn)數(shù)+0.10111×2+011
原碼尾數(shù)—最高數(shù)值位為1;
補(bǔ)碼尾數(shù)—最高數(shù)值位與符號(hào)相反
←便于硬件實(shí)現(xiàn)左規(guī)3次-0.10000×2-001右規(guī)4次+0.10111×2+110744、IEEE754標(biāo)準(zhǔn)*表示格式及數(shù)碼長(zhǎng)度:有單精度、雙精度兩種格式及長(zhǎng)度*編碼方式:
①數(shù)制—M和E均采用二進(jìn)制方式(即RM=RE=2);2381單精度浮點(diǎn)表示格式數(shù)符S階E尾數(shù)M3252111雙精度浮點(diǎn)表示格式數(shù)符S階E尾數(shù)M64②碼制—M為原碼編碼的定點(diǎn)純小數(shù)(改進(jìn)了定點(diǎn)位置),
E為移碼編碼的定點(diǎn)整數(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)浮點(diǎn)表示的特征:(以單精度格式為例)參數(shù)值真值N說(shuō)明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×∞±無(wú)窮大(上溢區(qū))
說(shuō)明:①明確地表示了機(jī)器零及無(wú)窮大;
②非規(guī)格化數(shù)減少了下溢區(qū)間大小(精度損失);
③非數(shù)值用于表示異常(如0/0、負(fù)數(shù)開(kāi)根等)正非規(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的浮點(diǎn)數(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ù),浮點(diǎn)數(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é):表示格式有定點(diǎn)和浮點(diǎn)兩種,編碼方式?jīng)Q定運(yùn)算器的運(yùn)算方法,數(shù)碼長(zhǎng)度總是固定的484178四、非數(shù)值數(shù)據(jù)的數(shù)據(jù)表示
提高M(jìn)EM的存儲(chǔ)效率:指令中地址效率—1個(gè)MEM地址應(yīng)對(duì)應(yīng)多個(gè)數(shù)據(jù)位;
MEM字長(zhǎng)的特征:
MEM字長(zhǎng)—均為2n位(n為常數(shù));←便于數(shù)據(jù)長(zhǎng)度的二進(jìn)制運(yùn)算
MEM字長(zhǎng)種類—有二進(jìn)制位、機(jī)器字長(zhǎng)、折中長(zhǎng)度3類
數(shù)據(jù)的存儲(chǔ)效率—短數(shù)據(jù)占1個(gè)字長(zhǎng),長(zhǎng)數(shù)據(jù)占多個(gè)字長(zhǎng)0000H0001H…地址數(shù)據(jù)(1位)01…0000H0001H…0000100010001111…地址數(shù)據(jù)(8位)0000H0001H…00001000111100000000000010001111…地址數(shù)據(jù)(設(shè)字長(zhǎng)為16位)通常不采用按位編址通常采用按折中長(zhǎng)度(如字節(jié))編址791、字符數(shù)據(jù)的表示指字符的交換碼在存儲(chǔ)/處理時(shí)的表示方式,即字符的內(nèi)碼。*數(shù)據(jù)的表示方法:表示格式—
數(shù)碼長(zhǎng)度—為MEM字長(zhǎng)的倍數(shù),即n=kW;m
Cm-1
Cm-2…C1
C0
Kx-1…
K0x擴(kuò)展位字符交換碼n
例1—常見(jiàn)字符交換碼的表示:字符字符數(shù)據(jù)的表示種類編碼長(zhǎng)度MEM按字節(jié)編址MEM按字(設(shè)=16)編址數(shù)碼長(zhǎng)度占地址數(shù)數(shù)碼長(zhǎng)度占地址數(shù)ASCII碼78位=7+11個(gè)16位=7+91個(gè)Unicode碼1616位=16+02個(gè)16位=16+01個(gè)GB2312-80碼1416位=14+22個(gè)16位=14+21個(gè)
編碼方式—無(wú)符號(hào)的二進(jìn)制編碼802、邏輯數(shù)據(jù)的表示
*數(shù)學(xué)特征:值域—真、假;
運(yùn)算—與(AND)、或(OR)、非(NOT)等*運(yùn)算處理方法:可采用所有位同時(shí)按位進(jìn)行與/或/非運(yùn)算
可獲得最大性能←┘└→一位操作時(shí),軟件負(fù)責(zé)準(zhǔn)備數(shù)據(jù)*數(shù)據(jù)的表示方法:
數(shù)碼長(zhǎng)度—1位→n位(n為MEM字長(zhǎng)倍數(shù));←以提高存儲(chǔ)效率
表示格式—n個(gè)邏輯數(shù)據(jù)捆綁表示,每個(gè)邏輯數(shù)據(jù)占1位;bn-1b0
Ln-1
Ln-2…L1
L0
例2—8位邏輯數(shù)A和B如何實(shí)現(xiàn)第0位的OR操作(結(jié)果在A中)?
編碼方式—各位獨(dú)立編碼,1/0可表示真/假
解:步驟為①
C=BAND01H;②
A=AORC5381§2.3定點(diǎn)數(shù)運(yùn)算方法一、移位運(yùn)算1、移位及移位運(yùn)算
*移位:數(shù)值相對(duì)于某個(gè)位置的移動(dòng)例—20.0m=2000.0cm,稱20相對(duì)于小數(shù)點(diǎn)左移了2位*移位操作:有左移、右移2種類型;二進(jìn)制數(shù)左移或右移n位相當(dāng)于乘以或除以2n*移位運(yùn)算:對(duì)計(jì)算機(jī)中機(jī)器數(shù)的移位操作運(yùn)算種類—對(duì)有符號(hào)數(shù),有算術(shù)左移、算術(shù)右移;對(duì)無(wú)符號(hào)數(shù),有邏輯左移、邏輯右移
運(yùn)算參數(shù)—操作數(shù)、移動(dòng)位數(shù)822、邏輯移位運(yùn)算
*操作數(shù)類型:無(wú)符號(hào)機(jī)器數(shù)
例1—某REG內(nèi)容為00111001,邏輯移位運(yùn)算結(jié)果如下:*運(yùn)算規(guī)則:
機(jī)器數(shù)整體移位,移出的數(shù)丟棄,出現(xiàn)的空位補(bǔ)0邏輯左移2位丟棄部分邏輯右移2位丟棄部分0011100100111001000000*運(yùn)算實(shí)現(xiàn)方法:通常用移位寄存器實(shí)現(xiàn)
練習(xí)—若(REG)=11001001,邏輯左移1位再右移1位的結(jié)果?0邏輯左移運(yùn)算移位寄存器0邏輯右移運(yùn)算移位寄存器*溢出判斷方法:左移、移丟數(shù)碼為1時(shí)運(yùn)算溢出833、算術(shù)移位運(yùn)算
*操作數(shù)類型:有符號(hào)機(jī)器數(shù)(原碼、補(bǔ)碼等)例3真值原碼補(bǔ)碼真值原碼補(bǔ)碼+20001000010-21001011110算術(shù)左移1位+4-4算術(shù)右移1位+1-1*運(yùn)算規(guī)則:符號(hào)位不變,數(shù)值部分整體移位,空位添補(bǔ)規(guī)則如下表(根據(jù)編碼方式的數(shù)學(xué)特征添補(bǔ))碼制真值算術(shù)移位運(yùn)算規(guī)則符號(hào)位數(shù)值左移空位添補(bǔ)規(guī)則數(shù)值右移空位添補(bǔ)規(guī)則原碼正/負(fù)數(shù)保持不變空位補(bǔ)0補(bǔ)碼正/負(fù)數(shù)末位數(shù)值位補(bǔ)0首位數(shù)值位補(bǔ)符號(hào)位反碼正數(shù)末位數(shù)值位補(bǔ)0首位數(shù)值位補(bǔ)符號(hào)位負(fù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 插座用電安全
- 那份不一樣的真情作文800字-那份不一樣的真情初三作文五篇
- 個(gè)人的安全承諾書(shū)模板錦集九篇
- 難治性淋巴瘤護(hù)理
- 白天鵝紅珊瑚讀后感
- 關(guān)于端午節(jié)演講稿模板錦集六篇
- 高三上學(xué)期物理教學(xué)計(jì)劃三篇
- 競(jìng)職演講稿范文合集十篇
- 入職自我介紹(15篇)
- 八年級(jí)常識(shí)教研組工作總結(jié)
- 人教版五年級(jí)上冊(cè)數(shù)學(xué)(新插圖) 小數(shù)除法單元復(fù)習(xí)提升 教學(xué)課件
- 集團(tuán)公司“三重一大”決策工作實(shí)施辦法
- 縣委書(shū)記在縣委審計(jì)委員會(huì)全體會(huì)議上的講話
- 五官科眼耳鼻咽喉科醫(yī)療常用器械的認(rèn)識(shí)
- 企業(yè)清產(chǎn)核資報(bào)表
- 2023年山東商務(wù)職業(yè)學(xué)院招考聘用36人筆試歷年高頻考點(diǎn)試題含答案附詳解
- 平凡之路歌詞全文
- 2024年全國(guó)碩士研究生考試《英語(yǔ)二》模擬試卷一
- 醫(yī)療安全不良事件
- 培訓(xùn)提問(wèn)(討論)記錄表
- 材料科學(xué)基礎(chǔ)ppt上海交通大學(xué)演示文稿
評(píng)論
0/150
提交評(píng)論