版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 風(fēng)機(jī)基礎(chǔ)錨栓組件安裝施工方案
- 《水分子的變化》第一課時(shí)參考教案
- 小學(xué)五年級(jí)英語(yǔ)Module 4 Unit 10 Wind聽(tīng)說(shuō)課教學(xué)設(shè)計(jì)及板書(shū)設(shè)計(jì)
- 初中道德與法治中考一輪復(fù)習(xí)大單元教學(xué)設(shè)計(jì):我與社會(huì)(分層作業(yè)導(dǎo)向)
- 施工現(xiàn)場(chǎng)消防保衛(wèi)方案
- 小數(shù)加減法的生活實(shí)踐:《我的零花錢(qián)規(guī)劃師》-北師大版數(shù)學(xué)三年級(jí)上冊(cè)教學(xué)設(shè)計(jì)
- 城市綠地保護(hù)與修復(fù)技術(shù)方案
- 小學(xué)心理健康主題教案范本
- 企業(yè)員工成長(zhǎng)經(jīng)驗(yàn)征文范文
- 班課堂管理策略與實(shí)施方法
- 移動(dòng)式腳手架培訓(xùn)課件
- 高二上學(xué)期哪吒課堂趣味懲罰游戲(課件版)
- 電石卸車(chē)安全操作規(guī)程
- 應(yīng)急救援訓(xùn)練基地建設(shè)項(xiàng)目可行性研究報(bào)告
- 安徽控告申訴知識(shí)競(jìng)賽(含答案)
- 2025-2030高端汽車(chē)品牌營(yíng)銷策略與消費(fèi)者畫(huà)像分析報(bào)告
- 心肺復(fù)蘇指南2025版
- 高端科技產(chǎn)品研發(fā)保障承諾書(shū)5篇
- uom考試題目及答案
- 電梯井消防知識(shí)培訓(xùn)總結(jié)課件
- 中醫(yī)學(xué)針灸考試題及答案
評(píng)論
0/150
提交評(píng)論