計(jì)算機(jī)組成原理 第2版 課件全套 第1-7章 計(jì)算機(jī)系統(tǒng)概述 -輸入輸出系統(tǒng)_第1頁(yè)
計(jì)算機(jī)組成原理 第2版 課件全套 第1-7章 計(jì)算機(jī)系統(tǒng)概述 -輸入輸出系統(tǒng)_第2頁(yè)
計(jì)算機(jī)組成原理 第2版 課件全套 第1-7章 計(jì)算機(jī)系統(tǒng)概述 -輸入輸出系統(tǒng)_第3頁(yè)
計(jì)算機(jī)組成原理 第2版 課件全套 第1-7章 計(jì)算機(jī)系統(tǒng)概述 -輸入輸出系統(tǒng)_第4頁(yè)
計(jì)算機(jī)組成原理 第2版 課件全套 第1-7章 計(jì)算機(jī)系統(tǒng)概述 -輸入輸出系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩495頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)組織與結(jié)構(gòu)2目標(biāo)1—掌握計(jì)算機(jī)的組成及工作原理

*建立計(jì)算機(jī)的整機(jī)概念

*掌握計(jì)算機(jī)的組成及工作原理

*了解計(jì)算機(jī)組成的新技術(shù)

(計(jì)算機(jī)結(jié)構(gòu)非課程內(nèi)容)目標(biāo)2—能夠分析計(jì)算機(jī)的性能

*理解各部件的性能組成

*通過(guò)量化分析,加深對(duì)組成及工作原理的理解目標(biāo)3—培養(yǎng)設(shè)計(jì)與開(kāi)發(fā)能力

*通過(guò)實(shí)驗(yàn),培養(yǎng)邏輯設(shè)計(jì)及應(yīng)用開(kāi)發(fā)能力課程目標(biāo)3教學(xué)要求先修課程—數(shù)字邏輯電路,程序設(shè)計(jì)基礎(chǔ)教學(xué)方式—理論教學(xué)+實(shí)驗(yàn)教學(xué)(64學(xué)時(shí))(16學(xué)時(shí))參考教材—任國(guó)林.計(jì)算機(jī)組成原理(第2版).

電子工業(yè)出版社,2018,ISBN978-7-121-33462-7考核方式—平時(shí)+實(shí)驗(yàn)+考試(10%)(10%)(80%)4第1章計(jì)算機(jī)系統(tǒng)概述5※主要內(nèi)容⑴計(jì)算機(jī)模型(馮·諾依曼計(jì)算機(jī))

硬件結(jié)構(gòu),程序組成,工作方式(程序執(zhí)行過(guò)程),存儲(chǔ)器結(jié)構(gòu)⑵計(jì)算機(jī)硬件組成

基本結(jié)構(gòu),部件功能,部件互連(總線互連基礎(chǔ))

⑶計(jì)算機(jī)層次結(jié)構(gòu)(△)←△表示要求為了解層次

系統(tǒng)的層次結(jié)構(gòu),結(jié)構(gòu)與組成的關(guān)系(→組成的任務(wù))

⑷計(jì)算機(jī)工作過(guò)程

工作方式的實(shí)現(xiàn)方案,程序執(zhí)行的過(guò)程(準(zhǔn)備/執(zhí)行)

⑸計(jì)算機(jī)性能指標(biāo)

硬件技術(shù)指標(biāo),計(jì)算機(jī)性能指標(biāo)※總體要求

理解硬件組成,理解硬件工作過(guò)程,可計(jì)算程序執(zhí)行性能6§1.1計(jì)算機(jī)的功能與軟硬件

*計(jì)算機(jī)的定義:

采用按位及跳躍方式計(jì)算、具有邏輯判斷功能的電子裝置電腦的由來(lái)1、計(jì)算機(jī)的功能

*設(shè)計(jì)目標(biāo):創(chuàng)造工具、通信工具、用戶可定制工具*基本功能:

*可定制目標(biāo)的實(shí)現(xiàn)方法:2、計(jì)算機(jī)的軟硬件

*計(jì)算機(jī)硬件:

*計(jì)算機(jī)軟件:

*相互關(guān)聯(lián):具備特定功能的部件表示用戶功能需求的信息(程序)軟件功能靠硬件實(shí)現(xiàn),硬件性能靠軟件反映執(zhí)行用戶編制的程序數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳送7第一代第二代第三代第四代年代1946~19581958~19641964~19711971至今元器件電子管晶體管SSI、MSILSI、VLSI、ULSI主存磁心半導(dǎo)體輔存紙帶、磁帶磁盤(pán)光盤(pán)字長(zhǎng)4/88/16/32/64操作系統(tǒng)無(wú)單道批處理多道批、分時(shí)多種速度(次/s)40,000200,0001,000,0002500億萬(wàn)1、計(jì)算機(jī)的產(chǎn)生與發(fā)展

*發(fā)展趨勢(shì):從第四代起向兩極發(fā)展←應(yīng)用普及所致

微型機(jī)—向更微型化、網(wǎng)絡(luò)化、智能化發(fā)展

大型機(jī)—向巨型化、并行化、超高速發(fā)展§1.2計(jì)算機(jī)的發(fā)展歷程暗算中的電臺(tái)文革中的喇叭4004微處理器82、微型計(jì)算機(jī)的產(chǎn)生與發(fā)展微處理器字長(zhǎng)主頻MEM地址其他年代8080819748086164.77MHz20位實(shí)模式19788088164.77MHz20位(8位數(shù)據(jù)引腳)197980286166MHz24位虛地址保護(hù)模式(段式VM雛形)1982803863212.5MHz32位虛擬存儲(chǔ)器、Cache1985804863225MHz32位RISC、流水線1989Pentium3266MHz32位超標(biāo)量流水線、MMX1993PentiumPro32133MHz36位超級(jí)流水、動(dòng)態(tài)執(zhí)行1995PentiumⅡ32200MHz36位DIB1997PentiumⅢ32450MHz36位SSE、非阻塞Cache1999Pentium4323.2GHz36位SSE2、TraceCache2000Core2Duo641.6GHz雙核2006

*發(fā)展趨勢(shì):面向應(yīng)用(桌面/服務(wù)器/嵌入式),開(kāi)發(fā)并行性(指令級(jí)→線程級(jí)→內(nèi)核級(jí))

*本課程目標(biāo):硬件入門(mén)(了解硬件組成、掌握相關(guān)概念)9§1.3計(jì)算機(jī)的硬件組成一、計(jì)算機(jī)的模型(馮·諾依曼計(jì)算機(jī))

*硬件結(jié)構(gòu):由運(yùn)算器、控制器、存儲(chǔ)器、I/O設(shè)備組成

特征—以運(yùn)算器為中心(運(yùn)算與I/O串行)

→性能差輸入設(shè)備運(yùn)算器控制器注:數(shù)據(jù)信息指令信息控制信息存儲(chǔ)器輸出設(shè)備

*程序組成:指令的序列,指令有順序型、轉(zhuǎn)移型2種類型

指令的組成—

指令/數(shù)據(jù)的表示—

指令執(zhí)行順序—由指令類型決定,用指令地址序列表示

└→下條指令地址由當(dāng)前指令產(chǎn)生操作碼+地址碼,用操作碼標(biāo)識(shí)

二進(jìn)制方式(運(yùn)算也為二進(jìn)制方式)例:0100100100001000

表示2#REG←(1#REG)-4

※主要內(nèi)容:計(jì)算機(jī)模型,硬件的基本結(jié)構(gòu)、組成(部件/互連)000101000100100100000100

*工作方式:--存儲(chǔ)程序方式⑴程序和數(shù)據(jù)預(yù)先存放在存儲(chǔ)器中←程序存放

⑵機(jī)器工作時(shí),自動(dòng)、逐條地取出指令并執(zhí)行

←程序執(zhí)行

程序的執(zhí)行過(guò)程—10取指令分析指令執(zhí)行指令計(jì)算指令地址指令地址

*存儲(chǔ)器結(jié)構(gòu):

由定長(zhǎng)單元構(gòu)成的一維空間,按地址訪問(wèn)└←不區(qū)分指令與數(shù)據(jù)(長(zhǎng)度不固定),可簡(jiǎn)化實(shí)現(xiàn)

參數(shù)—循環(huán)的指令執(zhí)行過(guò)程

應(yīng)用—硬件MEM、程序MEM,編址單位相同、地址個(gè)數(shù)可不同

└←軟件所使用的MEM空間(如指令地址用MEM地址表示)存儲(chǔ)單元長(zhǎng)度(即編址單位)、存儲(chǔ)單元個(gè)數(shù)(即地址個(gè)數(shù))0…2n-1……w位存儲(chǔ)單元2n個(gè)

思考:①為何要放在MEM中?②為何要取指令?③為何要逐條執(zhí)行?※約定:存儲(chǔ)器簡(jiǎn)寫(xiě)為MEM11二、計(jì)算機(jī)的結(jié)構(gòu)與部件─計(jì)算機(jī)組成之一1、計(jì)算機(jī)的基本結(jié)構(gòu)*基本結(jié)構(gòu):基于馮·諾依曼計(jì)算機(jī)進(jìn)行改進(jìn)

*改進(jìn)2:多種存儲(chǔ)器共存的存儲(chǔ)器結(jié)構(gòu)

←提高性/價(jià)外部設(shè)備·輸入設(shè)備·輸出設(shè)備·輔助存儲(chǔ)器主存儲(chǔ)器MM控制器CPU運(yùn)算器主機(jī)

特征—CPU(訪存時(shí))只直接訪問(wèn)主存

*改進(jìn)1:以存儲(chǔ)器為中心的硬件結(jié)構(gòu)

←提高性能(運(yùn)算與I/O并行)

└←緩沖技術(shù)+DMA技術(shù)

←第3章、第7章討論9122、計(jì)算機(jī)部件的基本組成(1)存儲(chǔ)器--指按地址訪問(wèn)的存儲(chǔ)部件

*功能:存儲(chǔ)信息(指令和數(shù)據(jù)),可以按地址訪問(wèn)

*組成:存儲(chǔ)陣列、地址譯碼、I/O控制等←數(shù)電講過(guò)

術(shù)語(yǔ)—存儲(chǔ)元、存儲(chǔ)單元、存儲(chǔ)陣列,

存儲(chǔ)單元地址、存儲(chǔ)單元長(zhǎng)度(存儲(chǔ)字長(zhǎng)),

存儲(chǔ)器容量地址……存儲(chǔ)陣列I/O電路地址譯碼器……數(shù)據(jù)命令wn抽象(=2n×w

位)………………012n-1w-1

1

0…一維排列示例01…2n-1……w個(gè)存儲(chǔ)元存儲(chǔ)單元回顧邏輯部件13

*訪問(wèn)的實(shí)現(xiàn)過(guò)程:

讀操作—接收地址及命令,選擇單元及啟動(dòng)操作,輸出數(shù)據(jù)…I/O電路地址譯碼器…………①0…01①Read地址譯碼器I/O電路②1#的存儲(chǔ)字

寫(xiě)操作—接收地址及命令、數(shù)據(jù),選擇單元及完成操作

*應(yīng)用:有主存、Cache、控存等類型注意—⑴存儲(chǔ)器是抽象,主存/Cache等是實(shí)例←類定義與類實(shí)例

⑵參數(shù)名稱常隨應(yīng)用功能而改變←便于區(qū)分(如主存單元、主存容量、Cache容量)14(2)運(yùn)算器

*功能:實(shí)現(xiàn)各種運(yùn)算、暫存運(yùn)算結(jié)果

運(yùn)算類型—算術(shù)、邏輯、移位、浮點(diǎn)等

數(shù)據(jù)類型—整數(shù)、實(shí)數(shù)、布爾數(shù)等

*組成:由ALU、FPU、REGs等組成,ALU為組合邏輯部件,

REGs為時(shí)序邏輯部件(讀為組合邏輯操作、寫(xiě)為時(shí)序邏輯操作)常放在寄存器中

*操作的實(shí)現(xiàn)過(guò)程:

加法運(yùn)算—

A←d

1、B←

d

2、op←x,延遲Δt1后F=d

1+d

2REG讀操作—

Rr←y,

延遲Δt2后Q=Ry的內(nèi)容;

REG寫(xiě)操作—

Rw←z、D←d

3、Wr←1,CP上升沿后Δt3操作完成opALU寄存器組REGs(如8個(gè)×16位)ABFRrRwWrCPDQ結(jié)果需保存在REG中※約定:寄存器簡(jiǎn)寫(xiě)為REG15(3)控制器

*功能:控制各部件協(xié)調(diào)地工作,以實(shí)現(xiàn)程序執(zhí)行過(guò)程

*程序執(zhí)行過(guò)程的實(shí)現(xiàn)思路:方案—實(shí)現(xiàn)—取指令分析指令執(zhí)行指令計(jì)算指令地址(循環(huán)處理)指令地址寄存器PC存儲(chǔ)器指令內(nèi)容寄存器IR指令譯碼器ID+“1”地址計(jì)算部件功能部件轉(zhuǎn)移時(shí)順序型

*組成:PC、IR、ID、時(shí)序部件及控制信號(hào)形成部件等指令地址(循環(huán)變量)放在寄存器PC中指令寄存器IR…程序計(jì)數(shù)器PC指令譯碼器ID控制信號(hào)形成部件時(shí)序部件控制單元…16(4)輸入/輸出設(shè)備

*功能:實(shí)現(xiàn)信息的輸入/輸出、格式轉(zhuǎn)換

類型—鍵盤(pán)、鼠標(biāo)、顯示器、打印機(jī)、磁盤(pán)等

*組成:部件+驅(qū)動(dòng)器+控制器

部件—機(jī)、光、電、磁等部件

驅(qū)動(dòng)器—傳感器、控制電路等,使各部件協(xié)調(diào)工作

控制器—提供外部接口,實(shí)現(xiàn)傳送控制

時(shí)序部件—產(chǎn)生所需的時(shí)標(biāo)信號(hào)

(類似于課程表的時(shí)標(biāo)信號(hào))機(jī)器周期(取指)機(jī)器周期(分析)機(jī)器周期(執(zhí)行)節(jié)拍周期T0節(jié)拍周期T1節(jié)拍周期T2指令周期主時(shí)鐘信號(hào)17三、計(jì)算機(jī)的部件互連─計(jì)算機(jī)組成之二*互連方式:總線方式、點(diǎn)點(diǎn)方式(又稱分散方式)1、總線結(jié)構(gòu)*總線:指一組用于信息傳輸?shù)墓残盘?hào)線

*互連特點(diǎn):可擴(kuò)展性好、分時(shí)傳輸(同時(shí)僅1個(gè)設(shè)備可發(fā)送信息)*基于總線互連的硬件結(jié)構(gòu):設(shè)備通過(guò)I/O接口連接總線

總線設(shè)備類型—

總線操作類型—

*系統(tǒng)總線組成:地址總線、數(shù)據(jù)總線、控制總線(控制線/狀態(tài)線)主設(shè)備、從設(shè)備(如撥電話/接電話)發(fā)送、接收思考1:如何標(biāo)識(shí)不同從設(shè)備?思考2:如何區(qū)分主存/外設(shè)?思考3:為何要有狀態(tài)線?主存…系統(tǒng)總線主存控制器CPUUSB接口鍵盤(pán)顯示適配器顯示器硬盤(pán)控制器硬盤(pán)總線接口單元182、總線傳輸*傳輸類型:讀、寫(xiě),或者包括輸入、輸出

←相對(duì)于主設(shè)備而言*傳輸過(guò)程:⑴地址期—主設(shè)備發(fā)送地址/命令,從設(shè)備判斷、響應(yīng)

⑵數(shù)據(jù)期—根據(jù)命令交換數(shù)據(jù),傳送方向由命令決定CPUABDBCB主存外設(shè)②狀態(tài)②數(shù)據(jù)①地址①命令RCPUABDBCB主存外設(shè)②狀態(tài)②數(shù)據(jù)①地址①命令WCLKABusDBusCBus(RD)CBus(WR)地址數(shù)據(jù)CLKABusDBusCBus(RD)CBus(WR)地址數(shù)據(jù)

思考4:總線互連時(shí),CPU取指令的操作過(guò)程?同打電話過(guò)程①①②②③①①②②③19§1.4計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)一、計(jì)算機(jī)的層次結(jié)構(gòu)

*程序的開(kāi)發(fā)過(guò)程:源程序(文本)預(yù)處理程序編譯程序匯編程序鏈接程序源程序(文本)匯編程序(文本)可重定位目標(biāo)程序可執(zhí)行目標(biāo)程序機(jī)器語(yǔ)言目標(biāo)程序匯編語(yǔ)言源程序高級(jí)語(yǔ)言源程序軟件硬件編譯程序匯編程序tmp=a[i]-2;lw$8,16($3)addi$9,$8,-2sw$9,20($3)a[i+1]=tmp;100011001000101011000110100000011010000100101001000000000001000011111111111111100000000000010100

*不同語(yǔ)言之間的轉(zhuǎn)換:指令=操作碼+{地址碼}一條語(yǔ)句~多條指令為什么要預(yù)處理?控制信號(hào)/微程序指令譯碼器…,Exctr=1,ALUBsrc=0,ALUctr=00,RegAsrc=0,RegWr=1,MemWr=1,…為什么要鏈接?

※主要內(nèi)容:系統(tǒng)的層次結(jié)構(gòu),結(jié)構(gòu)與組成的關(guān)系(→組成的任務(wù))直接執(zhí)行機(jī)器指令機(jī)器語(yǔ)言級(jí)機(jī)器M1用機(jī)器語(yǔ)言編程匯編語(yǔ)言級(jí)機(jī)器M3用匯編語(yǔ)言編程用匯編程序翻譯

成機(jī)器語(yǔ)言程序高級(jí)語(yǔ)言級(jí)機(jī)器M4用高級(jí)語(yǔ)言編程用編譯程序翻譯

成匯編/機(jī)器語(yǔ)言程序操作系統(tǒng)級(jí)機(jī)器M2使用OS命令操作用機(jī)器語(yǔ)言解釋

操作系統(tǒng)命令

微程序級(jí)機(jī)器M0用微指令系統(tǒng)實(shí)現(xiàn)用微程序解釋

機(jī)器指令直接執(zhí)行微指令虛擬機(jī)器實(shí)際機(jī)器

*計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu):

不同程序員所看到的計(jì)算機(jī)結(jié)構(gòu)(編程環(huán)境及執(zhí)行環(huán)境)

術(shù)語(yǔ)—指令(Instruction)、語(yǔ)句(Statement),翻譯、解釋2021二、計(jì)算機(jī)軟硬件關(guān)系

*從系統(tǒng)組成看:*從用戶角度看:*從設(shè)計(jì)者角度看:

軟件和硬件的功能在邏輯上是等價(jià)的(實(shí)現(xiàn)時(shí)性能、成本不同)

如—乘法功能可用乘法指令實(shí)現(xiàn),

也可用加法指令+移位指令實(shí)現(xiàn)

軟件和硬件的交界面直接影響性能與成本

發(fā)展趨勢(shì)—軟硬件交界面上移

界面劃分—計(jì)算機(jī)結(jié)構(gòu)研究的內(nèi)容軟件和硬件是一個(gè)整體

(軟件的功能靠硬件實(shí)現(xiàn)、硬件的性能靠軟件反映)機(jī)器語(yǔ)言級(jí)機(jī)器M1

微程序級(jí)機(jī)器M0硬件軟件匯編語(yǔ)言級(jí)機(jī)器M3高級(jí)語(yǔ)言級(jí)機(jī)器M4操作系統(tǒng)級(jí)機(jī)器M2軟硬件交界面22三、計(jì)算機(jī)結(jié)構(gòu)與組成*計(jì)算機(jī)結(jié)構(gòu)(Architecture):包括硬件的概念性結(jié)構(gòu)和功能特性

(指機(jī)器語(yǔ)言程序員所看到的計(jì)算機(jī)屬性

)數(shù)字電路級(jí)機(jī)器

*計(jì)算機(jī)組成(Organization):是計(jì)算機(jī)結(jié)構(gòu)的邏輯實(shí)現(xiàn)

(指計(jì)算機(jī)硬件設(shè)計(jì)人員所看到的計(jì)算機(jī)屬性

)功能部件組織、數(shù)據(jù)通路設(shè)計(jì)、控制機(jī)構(gòu)、排隊(duì)及緩沖技術(shù)等器件技術(shù)、組裝技術(shù)等

*計(jì)算機(jī)實(shí)現(xiàn)(Implementation):是計(jì)算機(jī)組成的物理實(shí)現(xiàn)ISA(InstructionSetArchitecture)指令系統(tǒng)、數(shù)據(jù)表示、尋址方式,存儲(chǔ)系統(tǒng),I/O系統(tǒng)、信息保護(hù)等

*相互關(guān)系:硬件的功能設(shè)計(jì)→邏輯實(shí)現(xiàn)→物理實(shí)現(xiàn)23§1.5計(jì)算機(jī)系統(tǒng)的工作過(guò)程一、計(jì)算機(jī)的工作方式

*存儲(chǔ)程序方式:程序及數(shù)據(jù)預(yù)先存放在存儲(chǔ)器中;

機(jī)器工作時(shí),自動(dòng)、逐條地取出并執(zhí)行指令

*程序的執(zhí)行順序:常用指令地址序列表示

指令地址—編程時(shí):指令在程序MEM中的首地址(首個(gè)單元)

執(zhí)行時(shí):指令在主存(硬件MEM)中的首地址

下條指令地址—NextPC=(PC)+“1”

NextPC=指令計(jì)算結(jié)果指令地址(邏輯地址)指令內(nèi)容(暫用C語(yǔ)言描述)執(zhí)行順序0LP:nSum+=6;⑴

⑸1if(nCnt<3)

gotoLP;⑵

⑹3COUT>>nSum;⑺指令地址(物理地址)下條指令地址(執(zhí)行順序表示)2000=(PC)+12001=2000或=(PC)+22002=(PC)+1共享主存所致程序所使用的MEM10

※主要內(nèi)容:工作方式的實(shí)現(xiàn)方案,程序執(zhí)行的過(guò)程(準(zhǔn)備/執(zhí)行)24

*程序的執(zhí)行機(jī)制:循環(huán)的指令執(zhí)行過(guò)程取指令分析指令執(zhí)行指令計(jì)算指令地址(循環(huán)處理)

性能分析—順序型指令的NextPC計(jì)算可提前(與指令內(nèi)容無(wú)關(guān))

轉(zhuǎn)移型指令的NextPC計(jì)算可提前(與數(shù)據(jù)操作無(wú)關(guān))

方案優(yōu)化—指令執(zhí)行與指令地址計(jì)算重疊

方案:

實(shí)現(xiàn):PC←計(jì)算結(jié)果取指令分析指令執(zhí)行指令PC←(PC)+“1”指令地址寄存器PC存儲(chǔ)器指令內(nèi)容寄存器IR指令譯碼器ID+“1”地址計(jì)算部件功能部件轉(zhuǎn)移時(shí)1、程序執(zhí)行過(guò)程*程序執(zhí)行的準(zhǔn)備:(即初始條件[是OS的任務(wù),本課程不討論])

*程序執(zhí)行的過(guò)程:25①取指—(PC)→MEM(讀)→IR,(PC)+“1”→PC

②分析—(IR)→ID→CU

③執(zhí)行—實(shí)現(xiàn)指令約定操作,指令轉(zhuǎn)移時(shí)重寫(xiě)PC,轉(zhuǎn)①功能部件PC主存MEMID+“1”IR順序型/轉(zhuǎn)移型下條指令地址當(dāng)前指令地址當(dāng)前指令內(nèi)容①程序內(nèi)容—存放在主存中(假設(shè)物理地址=邏輯地址)

②程序入口地址—存放在PC中地址計(jì)算部件轉(zhuǎn)移型(轉(zhuǎn)移時(shí))轉(zhuǎn)移時(shí)二、程序執(zhí)行過(guò)程操作與周期性時(shí)序信號(hào)綁定262、程序執(zhí)行過(guò)程示例

*模型機(jī)結(jié)構(gòu):可以實(shí)現(xiàn)指令系統(tǒng)中所有指令的約定功能CPUAddrDataCmd…控制信號(hào)形成部件時(shí)序部件ID+“1”ACALUIRPC…數(shù)據(jù)通路結(jié)構(gòu)(如總線)系統(tǒng)總線(ABus、DBus、CBus)外部設(shè)備(含輔存)I/O接口……存儲(chǔ)陣列I/O電路地址譯碼器…主存說(shuō)明:AC—稱為累加器,既存放源操作數(shù)、又存放目的操作數(shù)的寄存器1415

*機(jī)器語(yǔ)言程序y=x+b示例:

程序執(zhí)行準(zhǔn)備—假設(shè)(PC)=2000

程序執(zhí)行過(guò)程—27循環(huán)地執(zhí)行指令,各REG值不斷變化Ad(IR)→MEM(R)→ACPC→MEM(R)→IROP(IR)→ID

+1→PCAd(IR)→MEM(R)→ALU(+)→ACAC→ALUPC→MEM(R)→IROP(IR)→ID

+1→PCAd(IR)及(AC)→MEM(W)PC→MEM(R)→IROP(IR)→ID

+1→PC(STOP)PC→MEM(R)→IROP(IR)→ID

+1→PC數(shù)據(jù)通路結(jié)構(gòu)(如總線)MEMACPCIRID+“1”ALUAC←M[2004]AC←(AC)+M[2005]M[2006]←(AC)停機(jī)xby2000200120022003200420052006主存25如(PC)=2001(AC)=x如(PC)=2002(AC)=x+y如(PC)=2003M[&y]=x+y28§1.6計(jì)算機(jī)系統(tǒng)的性能指標(biāo)一、性能指標(biāo)

*系統(tǒng)性能:1、硬件的技術(shù)指標(biāo)

*機(jī)器字長(zhǎng):指CPU一次能處理數(shù)據(jù)的二進(jìn)制位數(shù)

└←指定點(diǎn)整數(shù)運(yùn)算字長(zhǎng)單位—二進(jìn)制位(bit)

應(yīng)用—n位CPU指機(jī)器字長(zhǎng)為n位的CPU

(如Intel8086是16位CPU,Core2Duo是64位CPU)

特性—反映整數(shù)運(yùn)算的性能;(如32位CPU是16位CPU的2倍)

決定ALU、數(shù)據(jù)REG、數(shù)據(jù)通路的位數(shù)(P177圖5.7)26指計(jì)算機(jī)硬件的性能,通過(guò)計(jì)算機(jī)軟件反映

※主要內(nèi)容:硬件的技術(shù)指標(biāo),計(jì)算機(jī)的性能指標(biāo),優(yōu)化思路29

*CPU主頻:指CPU內(nèi)部的主時(shí)鐘脈沖的頻率,常記為f

└→用于最基本的原子操作的定時(shí)頻率單位—1GHz=1×103MHz=1×106KHz=1×109Hz

*存儲(chǔ)容量:包括主存容量、輔存容量,大小均可配置容量單位—1GB=1×210MB=1×220KB=1×230B=8×230bit

(主)時(shí)鐘周期—CPU主時(shí)鐘脈沖的寬度,常記為T(mén)C(TC

=1/f

)主存地址空間—主存為最大容量時(shí)的地址空間

CPU可尋址空間—0…00…0

0…01…10…10…0

1…11…1…配置容量bw-1

…b0……主存單元長(zhǎng)度An-1

…A0…最大容量…

……

…1716(CPU可尋址空間)主存地址位數(shù)時(shí)間(速度)~RAM空間大?。街鞔娴刂房臻g主存地址空間地址空間:非負(fù)整數(shù)地址的有序集合

線性地址空間—地址空間中整數(shù)是連續(xù)的地址空間大小的表示:

n位或2n個(gè)302、計(jì)算機(jī)性能指標(biāo)

特點(diǎn)—反映了單任務(wù)計(jì)算機(jī)系統(tǒng)的軟硬件總體性能

如算法及編譯程序、指令系統(tǒng)、硬件組成←┘

CPU時(shí)間—TCPU=IN×CPI×TC=

IN

—程序執(zhí)行指令數(shù)(≠代碼所含指令數(shù)),TC—CPU主時(shí)鐘周期(=1/f),CPI(CyclesPerInstruction)—一條指令執(zhí)行所需TC數(shù)(平均值);

n

—指令系統(tǒng)的指令類型數(shù),CPIi

—第i

種指令的CPI,

Ii

—程序中第i

種指令的執(zhí)行次數(shù)

*響應(yīng)時(shí)間:一個(gè)任務(wù)從提交到完成的總時(shí)間

即T響應(yīng)=TCPU+T等待,T等待指I/O操作、OS開(kāi)銷等時(shí)間

優(yōu)化設(shè)計(jì)—

CPU在T等待時(shí)執(zhí)行其他程序(→多任務(wù)計(jì)算機(jī)系統(tǒng))

指標(biāo)的應(yīng)用—用來(lái)評(píng)價(jià)CPU性能(TCPU=T用戶CPU+T系統(tǒng)CPU)不是Order或Command!31

例1—某機(jī)主頻為2GHz,指令系統(tǒng)包含2類指令(Ⅰ類及ⅠⅠ類),指令長(zhǎng)度均為2B(Byte),每條指令執(zhí)行時(shí)間分別為5個(gè)和8個(gè)主時(shí)鐘周期。程序A執(zhí)行時(shí),執(zhí)行了3*105條Ⅰ類指令、7*105條Ⅱ類指令,求程序A執(zhí)行的CPU時(shí)間。

解:TCPU=(3*105×5+7*105×8)/(2×109)=3.55ms

例2—續(xù)例1,程序B大小為2MB,其中30%為Ⅰ類指令;程序B執(zhí)行時(shí),有10%的Ⅰ類指令和20%的ⅠⅠ類指令各執(zhí)行了30次,其余指令均只執(zhí)行了1次。求程序B執(zhí)行所需的時(shí)鐘周期數(shù)。

解:代碼的指令數(shù)—Ⅰ類有

條,Ⅱ類有

條;

執(zhí)行的指令數(shù)—

Ⅰ類為

ⅠⅠ類為

所需時(shí)鐘周期數(shù)—0.3*220×(10%×30+90%)=1.17*220條,0.7*220×(20%×30+80%)=4.76*220條;(1.17*220×5+4.76*220×8)=43.93×220個(gè)290.3*220

0.7*22032

例3—計(jì)算機(jī)M1的主頻為2GHz,計(jì)算機(jī)M2與M1具有相同的ISA(InstructionSetArchitecture),M2的主頻高于M1、CPI大于M1。若程序A在M1上的運(yùn)行時(shí)間為10s,程序A在M2上運(yùn)行所需時(shí)鐘周期數(shù)為在M1上的1.5倍,欲使程序A在M2上運(yùn)行時(shí)間為6s,則M2的主頻至少為多少?

解:設(shè)程序A在M1、M2上運(yùn)行所需時(shí)鐘周期數(shù)各為N1、N2則TCPUM1=N1×TC,N1=TCPUM1/TC=10s×2GHz=20G個(gè)

N2=1.5×N1=1.5×20G=30G個(gè)

依題意TCPUM2=N2×TC

=6s

則f

=1/TC

=N2

/TCPUM2=30G/6s=5GHz

分析—∵f

/f=5/2=2.5,TCPUM1/TCPUM2=10/6=1.67∴主頻只是影響系統(tǒng)性能的因素之一33

特點(diǎn)—反映了多任務(wù)計(jì)算機(jī)系統(tǒng)的軟硬件總體性能

MIPS(每秒百萬(wàn)次指令):

缺點(diǎn)—不能反映指令功能強(qiáng)弱(可用相對(duì)MIPS方法)

表示—常用MIPS及MFLOPS代替(∵工作量定義未能統(tǒng)一)

*吞吐率:?jiǎn)挝粫r(shí)間內(nèi)能處理的工作量

即TP=n個(gè)任務(wù)的總工作量÷n個(gè)任務(wù)的總時(shí)間

MFLOPS(每秒百萬(wàn)次浮點(diǎn)運(yùn)算):

缺點(diǎn)—不能反映整體性能(只反映浮點(diǎn)操作能力)

*其他指標(biāo):RAS(可靠性/可用性/可維護(hù)),兼容性等通常T總

∑T響應(yīng)i30

作業(yè)1:P19—3、4、10、1634二、性能優(yōu)化1、馮·諾依曼計(jì)算機(jī)的性能瓶頸

①CPU-MEM訪問(wèn)瓶頸:

②指令串行執(zhí)行瓶頸:訪存頻率高、用邏輯地址訪問(wèn),MEM-CPU速度差大(受限于MEM需求矛盾)下條指令地址由當(dāng)前指令產(chǎn)生11跳過(guò)用VA訪問(wèn)2、現(xiàn)代計(jì)算機(jī)的性能優(yōu)化

*性能平衡設(shè)計(jì):減少訪存延遲,提高訪存效率

*CPU性能設(shè)計(jì):提高并行性,減少串行損失

增設(shè)Cache(TCache<T主存),改進(jìn)總線(增加寬度/級(jí)數(shù)),

優(yōu)化地址變換(變換/訪問(wèn)并行)

開(kāi)發(fā)并行性(流水線、操作/指令/線程級(jí)并行CPU),

使用數(shù)據(jù)流(亂序執(zhí)行)技術(shù)、前瞻執(zhí)行(推測(cè)執(zhí)行)技術(shù)

※按邏輯地址訪問(wèn)主存示例:

應(yīng)用需求—⑴程序預(yù)先裝入主存(位置不固定)⑵執(zhí)行時(shí),指令中地址為邏輯地址

實(shí)現(xiàn)方法—35AC←M[0004]AC←(AC)+M[0005]M[0006]←(AC)停機(jī)xby2000200120022003200420052006物理地址主存AC←M[0004]AC←(AC)+M[0005]M[0006]←(AC)停機(jī)xby0000000100020003000400050006邏輯地址程序MEM裝入Ad(IR)→MEM(R)→ACPC→MEM(R)→IROP(IR)→ID

+1→PC用0004訪問(wèn)2004單元先進(jìn)行地址變換、再進(jìn)行訪問(wèn)地址變換例:物理地址=基地址+邏輯地址363、現(xiàn)代計(jì)算機(jī)的結(jié)構(gòu)類型

按Flynn分類法,有SISD、SIMD、MISD、MIMD四種結(jié)構(gòu)MISD結(jié)構(gòu)(宏流水等)…DSIS1IS1ISn…DSISnMMm…MM1PU1PUnCU1CUnMIMD結(jié)構(gòu)(多處理機(jī))…DS1IS1IS1ISn…DSnISnMMm…MM1PU1PUnCU1CUnSIMD結(jié)構(gòu)(并行機(jī))CU…DS1ISISPUnDSnPU1MMm…MM1

※本課程的重點(diǎn):SISD結(jié)構(gòu)計(jì)算機(jī)(串行計(jì)算機(jī))SISD結(jié)構(gòu)(串行機(jī))CUMMISISPUDS注:

IS—指令流(InstructionStream)

DS—數(shù)據(jù)流(DataStream)SingleInstructionMultipleData37計(jì)算機(jī)軟件(指令序列及數(shù)據(jù))控制器運(yùn)算器存儲(chǔ)器…系統(tǒng)總線I/O設(shè)備1I/O接口1I/O設(shè)備2I/O接口2I/O設(shè)備nI/O接口n第1章—計(jì)算機(jī)系統(tǒng)概述

計(jì)算機(jī)模型,硬件組成,層次結(jié)構(gòu),工作過(guò)程,性能指標(biāo)第3章—存儲(chǔ)系統(tǒng)層次結(jié)構(gòu),RAM基礎(chǔ),主存、Cache的組成及原理,虛存概念第2章—數(shù)據(jù)的表示和運(yùn)算

數(shù)據(jù)編碼,數(shù)據(jù)表示,定點(diǎn)及浮點(diǎn)運(yùn)算,運(yùn)算器組成性能、性/價(jià)組織※課程內(nèi)容的組織:38第4章—指令系統(tǒng)

指令的功能與格式,操作數(shù)存放,尋址方式,CISC/RISC(指令的表示)(地址的表示)(地址的編碼)第6章—總線

概念,總線的仲裁、定時(shí)與傳輸,總線結(jié)構(gòu)第5章—中央處理器

CPU的組成及工作流程,數(shù)據(jù)通路的組織,CU的組成,

異常及中斷處理(中斷機(jī)構(gòu)的組成),指令流水線第7章—I/O系統(tǒng)

組成,外設(shè),I/O接口,I/O方式的組織計(jì)算機(jī)軟件(指令序列及數(shù)據(jù))控制器運(yùn)算器存儲(chǔ)器…系統(tǒng)總線I/O設(shè)備1I/O接口1I/O設(shè)備2I/O接口2I/O設(shè)備nI/O接口n※課程內(nèi)容的組織(續(xù)):第二章數(shù)據(jù)的表示與運(yùn)算40※主要內(nèi)容⑴數(shù)據(jù)的編碼

機(jī)器數(shù)編碼、十進(jìn)制數(shù)編碼、字符編碼,校驗(yàn)碼編碼(△)⑵數(shù)據(jù)的表示

數(shù)據(jù)的表示方法,整數(shù)的表示、實(shí)數(shù)的表示,

非數(shù)值數(shù)據(jù)的表示(含運(yùn)算規(guī)則及實(shí)現(xiàn)方法)

⑶定點(diǎn)數(shù)的運(yùn)算(含位擴(kuò)展運(yùn)算)有/無(wú)符號(hào)的加減、移位、位擴(kuò)展、乘法(△)運(yùn)算規(guī)則及部件組織

⑷浮點(diǎn)數(shù)的運(yùn)算(△)

加減運(yùn)算方法

⑸十進(jìn)制數(shù)的加減運(yùn)算(×)

運(yùn)算方法,法校正規(guī)則、硬件組成

⑹運(yùn)算器的組成ALU的組成,運(yùn)算器的組成(部件、互連)

相互關(guān)系—編碼→表示→運(yùn)算→硬件,后2者為組成研究?jī)?nèi)容※總體要求:根據(jù)數(shù)據(jù)表示方法,可組織運(yùn)算規(guī)則或運(yùn)算部件41§2.1數(shù)據(jù)的編碼一、數(shù)制及其轉(zhuǎn)換1、進(jìn)位計(jì)數(shù)制--又稱進(jìn)制或數(shù)制

指用一組符號(hào)、統(tǒng)一規(guī)則表示數(shù)值的方法

*常用的4種進(jìn)制:參數(shù)有數(shù)碼、基數(shù)、位權(quán)

*R進(jìn)制數(shù)的表示:二進(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(N

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

其中,ki∈{0,1,…(R-1)}

思考—如何記憶A~F的值?

記A、C、F,其余增減

※主要內(nèi)容:進(jìn)制轉(zhuǎn)換,機(jī)器數(shù)/十進(jìn)制數(shù)/字符的編碼,校驗(yàn)碼422、不同進(jìn)制數(shù)之間的轉(zhuǎn)換

*R進(jìn)制數(shù)→十進(jìn)制數(shù)的轉(zhuǎn)換:

轉(zhuǎn)換規(guī)則—

*十進(jìn)制數(shù)→R進(jìn)制數(shù)的轉(zhuǎn)換:

轉(zhuǎn)換規(guī)則—按位權(quán)展開(kāi)

例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)10

整數(shù)、小數(shù)分別轉(zhuǎn)換整數(shù)轉(zhuǎn)換規(guī)則—除基取余法,或減權(quán)定位法

例2—(19)10=(10011)2

2191(最低位)291240220211(最高位)0

余數(shù)

19-25

<0、

19-24=3≥0,k4=1

3-23

<0,k3=0

3-22

<0,k2=03-21=1≥0,k1=11-20=0≥0,k0=1430.6875×2=1.3751(最高位)0.375×2=0.750

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

例3—(0.6875)10=(0.1011)2

小數(shù)轉(zhuǎn)換規(guī)則—乘基取整法,或減權(quán)定位法0.6875-2-1=0.1875≥0,k-1=10.1875-2-2<0,k-2=0

0.1875-2-3=0.0625≥0,k-3=10.0625-2-4=0=0,k-4=1

*二-八-十六進(jìn)制數(shù)的相互轉(zhuǎn)換:

數(shù)位長(zhǎng)度間關(guān)系—二:八:十六=1:3:4

轉(zhuǎn)換規(guī)則—整數(shù)、小數(shù)分別轉(zhuǎn)換,數(shù)位不夠時(shí)補(bǔ)零

測(cè)試—(97.75)10=(1100001.11)2=(141.6)8=(61.C)16,2D.EH=101101.111B=55.7O=45.875D44二、機(jī)器數(shù)及其編碼

※數(shù)據(jù)進(jìn)制的書(shū)寫(xiě)約定:默認(rèn)為二進(jìn)制(可省略

B

),除非特殊說(shuō)明

*數(shù)學(xué)上的數(shù)據(jù):

組成—[符號(hào)]數(shù)碼[小數(shù)點(diǎn)

數(shù)碼]←[]表示可缺省

如:(10)2、(+10)2、(-10)2、(-10.1)2

運(yùn)算特征—符號(hào)與數(shù)值分開(kāi)運(yùn)算,減法先比較大小

*機(jī)器數(shù):

真值—

*機(jī)器數(shù)的編碼:目標(biāo)—

類型—指計(jì)算機(jī)內(nèi)部用編碼表示的數(shù)據(jù)└→二進(jìn)制→┘└→可表示符號(hào)、小數(shù)點(diǎn)如:(+10)2→(010)2、(-10)2→(110)2、(-10.1)2→(110101)2

指數(shù)學(xué)上帶+/-、.的數(shù)據(jù)便于硬件實(shí)現(xiàn)運(yùn)算

(如符號(hào)/數(shù)值一起運(yùn)算、減法不比較大小)原碼、補(bǔ)碼、反碼、移碼等,均用二進(jìn)制表示451、原碼(sign-magnitude)表示法*編碼思想:機(jī)器數(shù)的最高位為符號(hào)位(用0/1表示+/-),

其余位(數(shù)值位)為真值的絕對(duì)值

*整數(shù)原碼定義:設(shè)X=±xn-2…x0,xi=0或1,則[X]原=xn-1xn-2…x0,即[X]原=0*2n-1+X=X

0≤X<2n-11*2n-1-X=2n-1+|X|-2n-1<X≤0

例1—[+1101]原=01101,[-1101]原=11101,若[X]原=1101,則X=-101

例2—若[+X]原=0110,則[-X]原=1110

若[+Y]原=0000,則[-Y]原=1000

※[+0]原≠[-0]原二進(jìn)制二進(jìn)制

練習(xí)1—若X=-0100、[Y]原=10110,則[X]原=?Y=?46

*小數(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

例3—[+0.1001]原=0.1001;[-0.1001]原=1.1001若[X]原=1.01,則X=-0.01

*原碼的特性:

①X與[X]原關(guān)系—

②運(yùn)算方法—[X]原與X表示值的范圍相同,[+0]原≠[-0]原

→n位編碼表示2n-1個(gè)數(shù)符號(hào)與數(shù)值分開(kāi)運(yùn)算、減法先比較大小

└→不利于硬件實(shí)現(xiàn)←┘機(jī)器數(shù)中

.

隱含表示(此處有

.

便于閱讀)編碼時(shí)0省略472、補(bǔ)碼(two

scomplement)表示法

編碼目標(biāo)—符號(hào)與數(shù)值一起運(yùn)算,減法不比較大小(1)有模運(yùn)算與補(bǔ)數(shù)

*有模運(yùn)算:僅計(jì)量小于“?!钡牟糠郑溆嗖糠直粊G棄

?!赣?jì)量系統(tǒng)的計(jì)數(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ù)

運(yùn)算特征—

若A、B、M滿足A=B+kM

(k為整數(shù)),

則記

A≡B(mod

M),稱B和A為模M的同余如:+3≡+15(mod12),-3≡+9(mod12)

c-a=c-(M-b)=c+b

(modM),即減去一個(gè)數(shù)等價(jià)于加上這個(gè)數(shù)的補(bǔ)數(shù)

└→減法可用加法實(shí)現(xiàn)→簡(jiǎn)化硬件符合硬件運(yùn)算特征(定長(zhǎng))48

*補(bǔ)碼編碼目標(biāo)的實(shí)現(xiàn)思路:(硬件是有模運(yùn)算)減法不比較大小—

符號(hào)/數(shù)值一起運(yùn)算—(2)補(bǔ)碼定義

*編碼思想:機(jī)器數(shù)的最高位為符號(hào)位(用0/1表示+/-),

其余位(數(shù)值位)為X的本身或正補(bǔ)數(shù)

*整數(shù)補(bǔ)碼定義:設(shè)X=±xn-2…x0,則模為2n,[X]補(bǔ)=x

n-1x

n-2…x

0,即[X]補(bǔ)=2n+X

(mod2n)=

0+X

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

-2n-1≤X<0

注意—為了使負(fù)數(shù)的x

n-1=1,應(yīng)為2n+X(不是2n-1+X)

減法用加法實(shí)現(xiàn)

←加法無(wú)需比較如:9-4≡9+8(mod12),4-9≡4+3(mod12)

負(fù)數(shù)用其正補(bǔ)數(shù)表示,←同符號(hào)數(shù)加法

符號(hào)用編碼表示

如:4+(-3)≡4+9≡1(mod12),(-4)-2≡8+10≡6(mod12)結(jié)果為正數(shù)或正補(bǔ)數(shù)=正補(bǔ)數(shù)49

例4—[+001]補(bǔ)=0001,[+111]補(bǔ)=0111

[-001]補(bǔ)=10000+(-001)

=1000+1000-001=1111

[-111]補(bǔ)=10000+(-111)=1001

[+000]補(bǔ)=[-000]補(bǔ)=0000

※數(shù)0的補(bǔ)碼唯一

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

若A=-01100、B=+01100,[A]補(bǔ)=?[B]補(bǔ)=?

例5—4位補(bǔ)碼、X≥0時(shí),[X]補(bǔ)≤0111,Xmax=24-1-1=+7

X<0時(shí),[X]補(bǔ)≥1000,Xmin=-24-1=-8※補(bǔ)碼比原碼多表示1個(gè)數(shù)←沒(méi)有冗余編碼原碼無(wú)11…1110…0110…00

00…0000…0101…11補(bǔ)碼

10…0010…0111…1100…0000…0101…11真值-2n-1-(2n-1-1)

-1

0

+1+(2n-1-1)本身正補(bǔ)數(shù)11000000100001000010001100010110011101011110110111111010101110010+1+2+3+4+5+6+7-8-7-6-5-4-3-2-150

*小數(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<11+(1-|X|)-1≤X<0

例6—[+0.1011]補(bǔ)=0.1011

[-0.1011]補(bǔ)=2-0.1011=10.0000-0.1011=1.0101

注意—為了使負(fù)數(shù)的x

0=1,應(yīng)為2+X(不是1+X)機(jī)器數(shù)中.隱含表示純小數(shù)中0隱含表示51(3)補(bǔ)碼的特性

*X與[X]補(bǔ)的關(guān)系:下述方法同樣適用于純小數(shù)①設(shè)X=+xn-2…x0,[Y]補(bǔ)=0yn-2…y0,xi及yi=0或1

則[X]補(bǔ)

,Y=

②設(shè)X=-xn-2…x0,[Y]補(bǔ)=1yn-2…y0,xi及yi=0或1

則[X]補(bǔ)=

Y=

[Y]補(bǔ)-2n

=1yn-2…y0-[2n-1+(2n-1-1)+1]

=2n-1-2n-1

-(

1…1

-

yn-2…y0

+

1

)

=-(

yn-2…y0

+

1

)+1應(yīng)不影響符號(hào)位X=0xn-2…x0

[Y]補(bǔ)=+yn-2…y02n+X

=[2n-1+(2n-1-1)+1]+X

=1

0

0+

1

1

+

1=1

0

0

-

xn-2…x0

+

xn-2…x0+1=1

xn-2…x0

+

10

0101;52

例7—X=+0101,[X]補(bǔ)=X=-0101,[X]補(bǔ)=1

1011

例8—[X]原=0

0101,[X]補(bǔ)=0

0101;[X]原=1

0101,[X]補(bǔ)=1

1011

X→[X]補(bǔ)簡(jiǎn)便方法—

X≥0時(shí),[X]補(bǔ)符號(hào)位=0、[X]補(bǔ)數(shù)值位=X數(shù)值位

X<0時(shí),[X]補(bǔ)符號(hào)位=1,[X]補(bǔ)數(shù)值位=X數(shù)值位+1[X]原→[X]補(bǔ)簡(jiǎn)便方法—

[X]原符號(hào)位=0時(shí),[X]補(bǔ)=[X]原

[X]原符號(hào)位=1時(shí),[X]補(bǔ)符號(hào)位=[X]原符號(hào)位,

[X]補(bǔ)數(shù)值位=[X]原數(shù)值位+1正補(bǔ)數(shù)

X=+0.0101,[X]補(bǔ)=

;X=-0.0101,[X]補(bǔ)=0.01011.1011[X]補(bǔ)→[X]原簡(jiǎn)便方法—

[X]補(bǔ)符號(hào)位=0時(shí),[X]原=[X]補(bǔ)

[X]補(bǔ)符號(hào)位=1時(shí),[X]原符號(hào)位=[X]補(bǔ)符號(hào)位,

[X]原數(shù)值位=[X]補(bǔ)數(shù)值位+153

例9—[X]補(bǔ)=0

0101,X=+

0101;[X]補(bǔ)=1

1011,X=-

0101

例10—[X]補(bǔ)=0

0101,[X]原=0

0101;[X]補(bǔ)=1

0101,[X]原=1

1011[X]補(bǔ)→X簡(jiǎn)便方法—

[X]補(bǔ)符號(hào)位=0時(shí),X符號(hào)位=+,X數(shù)值位=[X]補(bǔ)數(shù)值位

[X]補(bǔ)符號(hào)位=1時(shí),X符號(hào)位=-,X數(shù)值位=[X]補(bǔ)數(shù)值位+154

*[X]補(bǔ)與[-X]補(bǔ)的關(guān)系:

設(shè)[X]補(bǔ)=xn-1xn-2…x0,則

①當(dāng)X≥0時(shí),[X]補(bǔ)=X

,其中xn-1=0,

[-X]補(bǔ)=

②當(dāng)X<0時(shí),[X]補(bǔ)=2n

-|X|,其中xn-1=1,

[-X]補(bǔ)=

[X]補(bǔ)→[-X]補(bǔ)簡(jiǎn)便方法—[X]補(bǔ)的所有位取反、末位加1

[-X]補(bǔ)→[X]補(bǔ)簡(jiǎn)便方法—[-X]補(bǔ)的所有位取反、末位加1

例11—[X]補(bǔ)=1

0110,[-X]補(bǔ)=

0

10101xn-2…x0

+1=xn-1xn-2…x0

+1|X|=2n

-[X]補(bǔ)=11…1-[X]補(bǔ)+1

=xn-1xn-2…x0

+1+1應(yīng)不影響符號(hào)位55

練習(xí)3—

①若X=+01001,[X]原=,[X]補(bǔ)=

②若Y=-01010,[Y]原=,[Y]補(bǔ)=

③若[X]原=001010,X=,[X]補(bǔ)=

④若[Y]原=101110,Y=,[Y]補(bǔ)=

⑤若[X]補(bǔ)=001110,X=,[-X]補(bǔ)=

⑥若[Y]補(bǔ)=101110,Y=,[-Y]補(bǔ)=0

010010

010011

01010

1

10110

+

010100

01010

-

01110

1

10010

+

01110

1

10010

-

10010

0

10010

原碼、補(bǔ)碼編碼規(guī)則:(設(shè)X=±xn-2…x0)

X≥0時(shí),[X]原=0xn-2…x0;X<0時(shí),[X]原=

1xn-2…x0;

X≥0時(shí),[X]補(bǔ)=0xn-2…x0;X<0時(shí),[X]補(bǔ)=1xn-2…x0+1;

[-X]補(bǔ)=

1xn-2…x0

+1

[-X]補(bǔ)=

0xn-2…x0

563、反碼(ones

complement)表示法

編碼目標(biāo)—作為補(bǔ)碼轉(zhuǎn)換時(shí)的過(guò)渡編碼

*整數(shù)反碼定義:設(shè)X=±xn-2…x0,則模為2n-1,即[X]反

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

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

例12—[+1101]反=01101,[-1101]反=10010

*反碼與補(bǔ)碼的關(guān)系:

若X≥0,則[X]補(bǔ)=[X]反;

若X<0,則[X]補(bǔ)=[X]反+110574、移碼表示法

編碼目標(biāo)—真值連續(xù)時(shí),機(jī)器數(shù)也連續(xù)(機(jī)器數(shù)=真值+偏移量)

*整數(shù)移碼定義:設(shè)X=±xn-2…x0,則模=2n、偏移量=2n-1,

[X]移=2n-1+X

(mod2n)=2n-1+X

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

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

[+001]移=1001,[+111]移=1111,[-1000]移=0000補(bǔ)碼

10…0010…0111…1100…0000…0101…11移碼00…0000…0101…1110…0010…0111…11真值-2n-1-(2n-1-1)

-1

0+1+(2n-1-1)

*移碼的特性:

①數(shù)軸上數(shù)的移碼為連續(xù)編碼,便于比較大小

②[X]移符號(hào)位=[X]補(bǔ)符號(hào)位,[X]移數(shù)值位=[X]補(bǔ)數(shù)值位補(bǔ)碼為2n

←負(fù)數(shù)的符號(hào)位=158※機(jī)器數(shù)編碼小結(jié):

①原碼/補(bǔ)碼/移碼的最高位均為符號(hào)位、其余位均為數(shù)值位

②[X]原符號(hào)位=[X]補(bǔ)符號(hào)位=[X]移符號(hào)位=0/1(正/負(fù))

③X≥0時(shí),[X]原數(shù)值位=|X|=[X]補(bǔ)數(shù)值位=[X]移數(shù)值位;

X<0時(shí),[X]原數(shù)值位=|X|,

[X]原數(shù)值位+1=[X]補(bǔ)數(shù)值位=[X]移數(shù)值位④補(bǔ)碼、移碼比原碼多表示1個(gè)負(fù)數(shù)原碼無(wú)

11…1110…0110…00

00…0000…0101…11補(bǔ)碼

10…0010…0111…1100…0000…0101…11移碼00…0000…0101…1110…0010…0111…11真值-2n-1-(2n-1-1)

-1

0

+1+(2n-1-1)

測(cè)試—X=+01001時(shí),[X]原=001001,[X]補(bǔ)=001001,[X]移=101001

Y=-01010時(shí),[Y]原=101010,[Y]補(bǔ)=110110,[Y]移=01011059三、十進(jìn)制數(shù)編碼

*BCD碼(BinaryCodedDecimal):--又稱二-十進(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碼!(特殊聲明除外)

*十進(jìn)制數(shù)的表示方法:(僅整數(shù)[原因稍后解釋])

①每個(gè)數(shù)字對(duì)應(yīng)一個(gè)BCD碼,數(shù)符編碼在最低位之后

②數(shù)符用特定編碼表示(如1100、1101表示正、負(fù))

③數(shù)字和數(shù)符的BCD碼個(gè)數(shù)為偶數(shù)(便于按字節(jié)存儲(chǔ))

例—

+427為0100001001111100,-23為000000100011110160四、字符編碼指字符在字符集中的唯一的數(shù)字化代碼(表示序號(hào)或特征號(hào))

*編碼種類:交換碼、內(nèi)碼、輸入碼、字模碼等

交換碼—字符在傳送時(shí)的編碼(序號(hào)),如字符的ASCII碼

內(nèi)碼—字符在存儲(chǔ)時(shí)的編碼(數(shù)據(jù)),如char型字符的值相關(guān):字符集大小相關(guān):字符集大小、存儲(chǔ)單元長(zhǎng)度鍵盤(pán)計(jì)算機(jī)B轉(zhuǎn)換處理器I/O接口字模碼內(nèi)碼輸入碼顯示器

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論