![考研計(jì)算機(jī)基礎(chǔ)講義組成原理版_第1頁](http://file4.renrendoc.com/view/37ec6979b3e598da624fb3b3362dabb3/37ec6979b3e598da624fb3b3362dabb31.gif)
![考研計(jì)算機(jī)基礎(chǔ)講義組成原理版_第2頁](http://file4.renrendoc.com/view/37ec6979b3e598da624fb3b3362dabb3/37ec6979b3e598da624fb3b3362dabb32.gif)
![考研計(jì)算機(jī)基礎(chǔ)講義組成原理版_第3頁](http://file4.renrendoc.com/view/37ec6979b3e598da624fb3b3362dabb3/37ec6979b3e598da624fb3b3362dabb33.gif)
![考研計(jì)算機(jī)基礎(chǔ)講義組成原理版_第4頁](http://file4.renrendoc.com/view/37ec6979b3e598da624fb3b3362dabb3/37ec6979b3e598da624fb3b3362dabb34.gif)
![考研計(jì)算機(jī)基礎(chǔ)講義組成原理版_第5頁](http://file4.renrendoc.com/view/37ec6979b3e598da624fb3b3362dabb3/37ec6979b3e598da624fb3b3362dabb35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
[www ]網(wǎng)絡(luò)課堂系 考綱要 復(fù)習(xí)要 計(jì)算機(jī)發(fā)展歷 計(jì)算機(jī)系統(tǒng)層次結(jié) 計(jì)算機(jī)硬件的基本組 計(jì)算機(jī)軟件的分 計(jì)算機(jī)的工作過 計(jì)算機(jī)性能指 考綱要 復(fù)習(xí)要 數(shù)制與編 進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn) 真值和機(jī)器 BCD 字符與字符 24定點(diǎn)數(shù)的表示和運(yùn) 定點(diǎn)數(shù)的表 定點(diǎn)數(shù)的運(yùn) 浮點(diǎn)數(shù)的表示和運(yùn) 浮點(diǎn)數(shù)的表 浮點(diǎn)數(shù)的加/減運(yùn) 算術(shù)邏輯單元 串行加法器和并行加法 算術(shù)邏輯單元ALU的功能和結(jié) 第三章器層次結(jié) 考綱要 復(fù)習(xí)要 3.1器的分 3.2器的層次化結(jié) 半導(dǎo)體隨機(jī)存取 SRAM器的工作原 DRAM器的工作原 只讀 主器與CPU的連 2[www ]網(wǎng)絡(luò)課堂系 雙口RAM和多模 高速緩沖 程序的局部性原 Cache的基本工作原 Cache和主存之間的映射方 Cache中主存塊的替換算 虛擬 虛擬器的基本概 頁式虛擬 段式虛擬 段頁式虛擬 TLB(快表 第四章指令系 考綱要 復(fù)習(xí)要 指令格 指令的基本格 定長(zhǎng)操作碼指令格 擴(kuò)展操作碼指令格 指令的尋址方 有效地址的概 數(shù)據(jù)尋址和指令尋 常見尋址方 第五章處理 考綱要 復(fù)習(xí)要 CPU的功能和基本結(jié) 指令執(zhí)行過 數(shù)據(jù)通路的功能和基本結(jié) 控制器的功能和工作原 硬布線控制 微程序控制 指令流水 指令流水線的基本概 量和動(dòng)態(tài)流水線的基本概 第六章總 考綱要 復(fù)習(xí)要 3[www ]網(wǎng)絡(luò)課堂系 總線概 總線的基本概 圖2-6- 4種類型的三態(tài) 總線的分 總線的組成及性能指 總線仲 集中仲裁方 分布仲裁方 總線操作和定 同步定時(shí)方 異步定時(shí)方 總線標(biāo) 第七章輸入輸出系 考綱要 復(fù)習(xí)要 I/O系統(tǒng)基本概 外部設(shè) 輸入設(shè) 輸出設(shè) 外 I/O接口的功能和基本結(jié) I/O端口及其編 I/O方 程序查詢方 程序中斷方 DMA方 通道方 參考文 4系系第一章計(jì)算機(jī)系統(tǒng)(一)計(jì)算機(jī)計(jì)算機(jī)發(fā)展史,程序的概(二)計(jì)算機(jī)由5大基本部件組成:運(yùn)算器、控制器、器、輸入設(shè)備和輸出設(shè)備系統(tǒng)軟件與應(yīng)(三)計(jì)算機(jī)吞吐量、響應(yīng)時(shí)間 時(shí)鐘周期、主頻、CPI、 執(zhí)行時(shí)間;MIPS、MFLOPS計(jì)算機(jī)發(fā)展歷程計(jì)算機(jī)的發(fā)展程序概念序控制”的計(jì)算機(jī)結(jié)構(gòu) 程序概念可以簡(jiǎn)要地概括為以下幾點(diǎn)①計(jì)算機(jī)(指硬件)應(yīng)由運(yùn)算器、器、控制器、輸入設(shè)備和輸出設(shè)備5大基本部件 計(jì)算機(jī)內(nèi)部采用二進(jìn)制來表示指令和數(shù)據(jù)。能、多用途方向發(fā)展,另一極則是巨型機(jī)向更巨型化、速、并行處理、智能化方向發(fā)展。計(jì)算機(jī)系統(tǒng)層次結(jié)構(gòu)第6第5第4
第3第3第2第1
第0圖2-1-1第0級(jí)是硬聯(lián)邏輯級(jí),這是計(jì)算機(jī)的內(nèi)核,由門、觸發(fā)器等邏輯電路組成。計(jì)算機(jī)硬件的基本組成器數(shù)器數(shù)地址或指令控制器輸入設(shè)備運(yùn)算器 輸出設(shè)圖2-1-2計(jì)算機(jī)硬件硬件系統(tǒng)由5大基本部件輸入設(shè)備輸出設(shè)備器 在計(jì)算機(jī)系統(tǒng)中,規(guī)模較大的器往往分成若干級(jí),稱為系統(tǒng)。如圖2-1-3所示的是常見的三級(jí)系統(tǒng)。主器可由CPU直接,存取速度快,但容量較小,一般用來存放當(dāng)前正在執(zhí)行的程序和數(shù)據(jù)。輔助器的容量大,價(jià)格較低,但存取速度較慢, 運(yùn)算
圖2-1-3三級(jí)系控制控制器中包括一些的寄存器計(jì)算機(jī)軟件的分類通常將系統(tǒng)軟他信息、自動(dòng)調(diào)度用戶作業(yè)程序、處理各種中斷。它是用戶和計(jì)算機(jī)之間的接口,提供了軟件的開發(fā)環(huán)境和運(yùn)行環(huán)境。常見的操作系統(tǒng)有批處理系統(tǒng)、分時(shí)操作系統(tǒng)、實(shí)時(shí)操作系統(tǒng)等。⑤計(jì)算機(jī)網(wǎng)絡(luò)軟件。為計(jì)算機(jī)網(wǎng)絡(luò)配置的系統(tǒng)軟件。應(yīng)用軟件是用戶或第軟件公司為各自業(yè)務(wù)開發(fā)和使用的各種軟件,種類繁多有一條明確的硬件與軟件的分界于程序設(shè)計(jì)軟件在邏輯上是等價(jià)的。 A.運(yùn)算器、器、控制 B.外部設(shè)備和主C.主機(jī)和實(shí)用程 D.配套的硬件設(shè)備和軟件系【答案】D【例1.2】由0、1代碼組成的語言,稱為 A.匯編語 B.自然語 C.機(jī)器語 D.高級(jí)語【答案】C計(jì)算機(jī)的工作過程加寄存器,一個(gè)來自主存,運(yùn)算結(jié)果則放在累加寄存器中。圖2-1-4(b)中的 是用來暫存從主存中讀出的數(shù)據(jù)或?qū)懭胫鞔娴钠?/p>
主取數(shù)取數(shù)加法減法存數(shù)停abc
圖2-1-4計(jì)算機(jī)的控制器將控制指令逐條的執(zhí)行,最終得到正確的結(jié)果。步驟如下: 執(zhí)行取數(shù)指令,從主存5號(hào)單元取出數(shù)a,送入累加寄存器中。 執(zhí)行存數(shù)指令,把累加寄存器的內(nèi)容a+b?c存至主存8號(hào)單⑤執(zhí)行停機(jī)指令,計(jì)算計(jì)算機(jī)性能指標(biāo)1.機(jī)器字長(zhǎng)定的,如:In80x86系列中,一個(gè)字等于16位;IBM303X系列中,一個(gè)字等于32位。主存容量和存取速度一個(gè) 器所 的全部信息量稱為主存容量。通常,以字節(jié)數(shù)來表 容量 表2-1-1K,M,G,T,P單通常實(shí)際表210=1220=1048230=1073741240=1099511627250=1125899906842主存的存取速度通常由存取時(shí)間Ta、存取周期Tm和主存帶寬Bm等參數(shù)存取時(shí)間Ta又稱為時(shí)間或讀寫時(shí)間,它是指從啟動(dòng)一次器操作到完成該操作所息的最大數(shù)量,單位為字節(jié)每秒或位每秒。運(yùn)算速度儲(chǔ)器、I/O操作、操作系統(tǒng)開銷等時(shí)間)的總和。CPU時(shí)鐘CPI參數(shù)經(jīng)常用IPC表示,即每個(gè)時(shí)鐘周期執(zhí)行的指令數(shù)。IPC=1CPU 時(shí)鐘頻上式表明,CPU期數(shù);③指令條數(shù)IC。MIPS表示每秒執(zhí)行多少百萬條指令。對(duì)于一個(gè)給定的程序,MIPS定義 指令條 =主頻=主頻執(zhí)行時(shí)間 MFLOPS表示每秒執(zhí)行多少百萬次浮點(diǎn)運(yùn)算。對(duì)于一個(gè)給定的程序,MFLOPS執(zhí)行時(shí)間【 1.3】用于科學(xué)計(jì)算的計(jì)算機(jī)中,標(biāo)志系統(tǒng)性能的主要參數(shù)是 A.主 B.主存容 【答案】D性能的主要參數(shù),也就是說主頻高和主存大的計(jì)算機(jī)并不一定就能獲得好的性能。MIPS和MFLOPS都是標(biāo)志系統(tǒng)性能的主要參數(shù),MIPS用來描述計(jì)算機(jī)的定點(diǎn)運(yùn)算速度,MFLOPS1.4】下列選項(xiàng)中,能縮短程序執(zhí)行時(shí)間的措施是(I.提高CPU時(shí)鐘頻率,Ⅱ.優(yōu)化數(shù)據(jù)通路結(jié)構(gòu),IIIA.僅I和 C.僅Ⅱ和 【答案】D【分析】一般說來,CPU時(shí)鐘頻率(主頻)越高,CPU的速度就越快;優(yōu)化數(shù)據(jù)通路結(jié)【例1.5】微機(jī)A和B是采用不同主頻的CPU,片內(nèi)邏輯電路完全相同若A機(jī)的CPU主頻為8MHz,B12MHzA機(jī)的CPU如A機(jī)的平均指令執(zhí)行速度為0.4MIPS,那么A(3)B機(jī)的平均指令執(zhí)行速度為多少?【答(1)A機(jī)的CPU時(shí)鐘周期為0.125μs(2)A機(jī)的平均指令周期為2.5μs(3)B機(jī)的平均指令執(zhí)行速度為0.6MIPS【分(1)ACPU主頻8MHz,所以ACPU時(shí)鐘周期=1÷8MHz=0.125μs(2)A機(jī)的平均指令執(zhí)0.4MIPS,所以A機(jī)的平均指令周期=1÷0.4MIPS=2.5μs輯電路完全相同,所以B機(jī)平均每條指令的時(shí)鐘周期數(shù)CPIB=20。B12MIPS0.6MIPS 第二章數(shù)據(jù)的表示和(一)數(shù)制與編碼計(jì)算機(jī)中常用的進(jìn)位計(jì)數(shù)制;各種數(shù)制間的互無符號(hào)數(shù)和帶符號(hào)數(shù);真值及原碼、補(bǔ)碼、反碼3種不同的BCDASCII碼、漢字奇偶、海明和循環(huán)冗余(二)定點(diǎn)數(shù)的表示和運(yùn)算定點(diǎn)小數(shù)與定點(diǎn)整數(shù)的表(三)浮點(diǎn)數(shù)的表示和運(yùn)算浮點(diǎn)數(shù)的表示范圍;IEEE754浮點(diǎn)數(shù)的加/減運(yùn)(四)算術(shù)邏輯單元并行加法器的進(jìn)位產(chǎn)生和傳遞;并行加法器的快速進(jìn)位。算術(shù)邏輯單元ALU在計(jì)算機(jī)中往往會(huì)用到不同的進(jìn)位計(jì)數(shù)制,對(duì)于數(shù)值數(shù)據(jù)和非數(shù)值數(shù)據(jù)(字符和漢字進(jìn)位計(jì)數(shù)制及其相互轉(zhuǎn)換進(jìn)位計(jì)數(shù)制的基本概念10,每個(gè)數(shù)位計(jì)滿10就向進(jìn)位,即逢十進(jìn)一。制數(shù)4952,數(shù)碼“4”表示4000,該位的權(quán)為1000,這一位所代表的數(shù)值等于數(shù)碼4乘以常數(shù)1000,即4×103,“9”表示900,該位的權(quán)為100,這一位所代表的數(shù)值等于數(shù)碼9乘以常數(shù)100,即9×102……。所以,一個(gè)數(shù)的數(shù)值大小就是它的各位數(shù)碼按權(quán)相加,如:由此可見,任何一個(gè)十進(jìn)制數(shù)都可以用一個(gè)多項(xiàng)式來表示,推而廣之,一個(gè)基數(shù)為r的進(jìn)制數(shù)可表示為:(N)r=Kn×rn+Kn-1×rn-1+…+K0×r0+K-1×r-1+…+K-m×r-
kir式中:ri為第i位的權(quán),Ki的取值可以是0,1,…,r?1共r個(gè)數(shù)碼中的r進(jìn)制數(shù)的進(jìn)位原則是:逢r進(jìn)一【例2.1】若算式131?45=53成立,表明此運(yùn)算的進(jìn)位計(jì)數(shù)制是 A.六進(jìn) B.七進(jìn) C.八進(jìn) D.九進(jìn)【答案】B【分析】將原算式變成53+45=131,個(gè)位數(shù)逢七進(jìn)一,所以是七進(jìn)制。計(jì)算機(jī)中常用的進(jìn)位計(jì)數(shù)制在計(jì)算機(jī)中最常用的是二進(jìn)制、八進(jìn)制和十六進(jìn)制。二進(jìn)制表示2i。表2-2-1列舉了常用的二進(jìn)制數(shù)的權(quán)值,請(qǐng)讀者自行熟記。表2-2-1權(quán)權(quán)權(quán)權(quán)2-2-2-2-1248計(jì)算機(jī)采用二進(jìn)制的主要原因有以下幾點(diǎn):理器件來表示兩個(gè)數(shù)碼:“01”。③工作可靠由于采用兩種穩(wěn)定狀態(tài)來表示數(shù)碼,使數(shù)據(jù)的、傳送和處理都變得可寫起來不方便,也不好讀,不好懂。為了書寫和口讀的方便,人們通常使用八進(jìn)制和十六進(jìn)制來彌補(bǔ)二進(jìn)制的不足。r=8=233位數(shù)碼編為一組就是一位八進(jìn)制數(shù)碼,兩者之間的轉(zhuǎn)十六進(jìn)制數(shù)的基數(shù)為16,逢十六進(jìn)一,每個(gè)數(shù)位可取16個(gè)不同的數(shù)碼和符號(hào)(0,1,…,9,A,…,F(xiàn))中的任意一個(gè)A~F表示十進(jìn)制數(shù)值10~15。因?yàn)閞=16=24,故4位二合數(shù),在轉(zhuǎn)換時(shí)應(yīng)以小數(shù)點(diǎn)為界。其整數(shù)部分,從小數(shù)點(diǎn)開始往左數(shù),將一串二進(jìn)制數(shù)分為3位一組或4位一組,在數(shù)的最左邊可根據(jù)需要0”;對(duì)于小數(shù)部分,從小數(shù)點(diǎn)開始往右數(shù),也將一串二進(jìn)制數(shù)分為3位一組或4位一組,在數(shù)的最右邊也可根據(jù)需要隨意0最終使總的位數(shù)成為3或4的倍數(shù),然后分別用相應(yīng)的八進(jìn)制或十六進(jìn)制數(shù)取代之。例如: 表2-2-2十進(jìn)八進(jìn)十六進(jìn)0001112223334445556667778899ABCDEF各種數(shù)制間的相互轉(zhuǎn)換100011.1011B=1×25+1×21+1×20+1×2-1+1×2-3+1×2-4E6.CH=4×162+14×161+6×160+12×16-十進(jìn)制整數(shù)轉(zhuǎn)換為任意進(jìn)制整數(shù)的規(guī)則是:除(以)基取余;先余為低,后余為高。【例2.2】將十進(jìn)制數(shù)327轉(zhuǎn)換成二進(jìn)制數(shù)。【解答】采用除基取余法,基數(shù)=2 …(低位 …↑ … … …系2…25…22…21…()0所以 轉(zhuǎn)換,不同的是此時(shí)應(yīng)當(dāng)用8或16連續(xù)地去除十進(jìn)制整數(shù)。十進(jìn)制小數(shù)轉(zhuǎn)換為任意進(jìn)制小數(shù)的規(guī)則是:乘(以)基取整;先整為高,后整為低。【例2.3】將十進(jìn)制數(shù)0.6875轉(zhuǎn)換成二進(jìn)制數(shù)。【解答】采用乘基取整法,基數(shù)=2×2… ×2…×2…×2↓…(低位所以轉(zhuǎn)換,不同的是此時(shí)應(yīng)當(dāng)用8或16連續(xù)地去乘十進(jìn)制小數(shù)。了表2-2-1列出的二進(jìn)制數(shù)每一位上的權(quán)值,就很容易將這個(gè)二進(jìn)制數(shù)寫出來。例如:=28+26+22+21+20+2-1+2-3+2- 真值和機(jī)器數(shù)在計(jì)算機(jī)中,采用數(shù)字化方式來表示數(shù)據(jù),數(shù)據(jù)有無符號(hào)數(shù)和帶符號(hào)數(shù)之分。無符號(hào)數(shù)N2=11001,表示無符號(hào)數(shù)25系系 帶符號(hào)數(shù)定二進(jìn)制數(shù)的最為符號(hào)位,“0”表示正號(hào),“1”表示負(fù)號(hào)。這種在計(jì)算機(jī)中使用的表N1=01001,表示+9原碼表示法{[X]={原
0X22nX2n|X 2nX【例2.4】寫出X1=1101和X2=–1101的原碼表示形式,假設(shè)字長(zhǎng)為5【解答】 [X1]原 [X2]原 在原碼表示中,真值0有兩種不同的表示形式:【例2.5】8位原碼能表示的不同數(shù)據(jù)的個(gè)數(shù)是 【答案】C【分析】8位原碼能表示的不同數(shù)據(jù)的個(gè)數(shù)共28?1個(gè),其中127個(gè)正數(shù),127個(gè)負(fù)數(shù),還有0。這是因?yàn)樵谠a表示中,零有兩種表示形式,[+0]原= ,[?0]原= 補(bǔ)碼表示法補(bǔ)碼表示法的符號(hào)位表示與原碼相同,其數(shù)值部分的表示與數(shù)的正負(fù)有關(guān):對(duì)于正數(shù),數(shù)值部分與真值形式相同;對(duì)于負(fù)數(shù),將真值的數(shù)值部分按位取反,且在最低位上加“1”。若真值為純整數(shù),它的補(bǔ)碼形式為XsX1X2…Xn,其中Xs表示符號(hào)位。補(bǔ)碼的定義為[X]={補(bǔ)
0X2 (mod2n1X2n1|X 2nX【例2.6】寫出X1=1101和X2=–1101的補(bǔ)碼表示形式,假設(shè)字長(zhǎng)為5【解答】 [X1]補(bǔ) [X2]補(bǔ)=2n+1+X=25+(–1101)=在補(bǔ)碼表示中,真值0的表示形式是[+0]補(bǔ)=[–0]補(bǔ)當(dāng)X為正數(shù)時(shí),[X]補(bǔ)=[X]原=X當(dāng)X為負(fù)數(shù)時(shí),其[X]補(bǔ)等于把[X]原除去符號(hào)位外的各位求反后再加“1當(dāng)X為負(fù)數(shù)時(shí),由[X]原轉(zhuǎn)換為[X]補(bǔ)的另一種更有效的方法是:自低位向,遇到的第一個(gè)“1”及其右部的“0”保持不變,左部的各位取反,符號(hào)位保持不變?!纠?.7】已知[X]原=11110011000,求[X][X]補(bǔ)=1000110不變?nèi)?不這種方法避免了加1運(yùn)算,是實(shí)際求補(bǔ)線路邏輯實(shí)現(xiàn)的依據(jù)反碼表示法若真值為純整數(shù),它的反碼形式為XsX1X2…Xn,其中Xs表示符號(hào)位。反碼的定義[X]={反
0X2 (mod(2n11) 2nX【例2.8】寫出X1=1101和X2=–1101的反碼表示形式,假設(shè)字長(zhǎng)為5【解答】 [X1]反 在反碼表示中,真值0也有兩種不同的表示6.3種機(jī)器數(shù)的比較原碼碼和反碼這3種機(jī)器數(shù)既有又有各自不同的性主要區(qū)別有以下幾點(diǎn): 對(duì)于正數(shù)它們都等于真值本身,而對(duì)于負(fù)數(shù)各有不同的表示。 對(duì)于真值0,原碼和反碼各有兩種不同的表有唯一的一種表示表2-2-3列出了真值與3種機(jī)器數(shù)間的對(duì)照。表中設(shè)字長(zhǎng)等于4位(含一位符號(hào)位)表2-2-3真值與3[X]原、[X]反、[X][X][X][X]十進(jìn)二進(jìn)十進(jìn)二進(jìn)————BCD表2-2-4常見的BCD十進(jìn)制84212421301234567898421碼又稱為自然BCD碼,簡(jiǎn)稱NBCD碼,4位二進(jìn)制代碼的位權(quán)從高到低分別為1,這種編碼的主要特 它是一種碼,設(shè)其各位的值為b3b2b1b0,則它所表示的十進(jìn)制數(shù)D=8b3+4b2+2b1+1b0 不允許出現(xiàn) 。這個(gè)代碼 碼中是碼 這種編碼各位的位權(quán)從高到低分別為2,4,2,1,其主要特點(diǎn)是: 它也是一種碼,所表示的十進(jìn)制數(shù)為D=2b3+4b2+2b1+1b0②它又是一種對(duì)9的自補(bǔ)碼,即某數(shù)的2421碼,只要自身按位取反,就能得到該數(shù)對(duì)9補(bǔ)數(shù)的2421碼。例如:的 ,3對(duì)9的補(bǔ)數(shù)是6,而的 不允許出現(xiàn) 。這個(gè)代碼 碼中是碼3余3碼是一種無權(quán)碼,從表2-2-4中可以看出,余碼是在 不允許出現(xiàn) ~1111。這6個(gè)代碼在余3碼中是碼【例2.9】某數(shù)在計(jì)算機(jī)中用余3碼表示為011110001001,其真值為 【答案】A【分析】余3碼是在8421碼的基礎(chǔ)上+3。注意,對(duì)應(yīng)的真值是十字符與字符串1.字符編碼字符編碼方式有很多種,現(xiàn)在用的最廣泛的是息交換標(biāo)準(zhǔn)字符碼(ASCII)。標(biāo)準(zhǔn)的ASCII碼用7位二進(jìn)制表示一個(gè)字符,它包括10個(gè)十進(jìn)制數(shù)字(0~9)、52個(gè)英文大寫和小寫字母(A~Z,a~z)、34個(gè)符號(hào)和32個(gè)控制符號(hào),共計(jì)128個(gè)字符。在128個(gè)字符中有96個(gè)是可打印字符。ASCII字符編碼表如表2-2-5所示。由表中可見,數(shù)字和英文字母都是按順序排列知道其中一個(gè)的二進(jìn)制代碼,不要查表就可以推導(dǎo)出其他數(shù)字或字母的二進(jìn)制代碼。表2-2-5ASCII0@P`p!1AQaq"2BRbr#3CScs$4DTdt%5EUeu&6FVfv'7GWgw(8HXhx)9IYiy*:JZjz+;K[k{,<L\l|-=M]m}.>N↑n~/?O_o0~9的高3位編碼為01140000~1001去掉3位或?qū)?位清零,只保留低4位,好是二進(jìn)制形式的0~9。這樣既滿足了正常的排序關(guān)系,又有利于實(shí)現(xiàn)ASCII編碼與二進(jìn)制數(shù)之間的轉(zhuǎn)換。對(duì)應(yīng)關(guān)系,差別僅在b5這一位上,若為0,則是大寫字母,若為1,則是小寫字母。利用此規(guī)字符串是指一串連續(xù)的字符。通常,它們?cè)谄髦姓加靡黄B續(xù)的空間,每個(gè)字節(jié)存放一個(gè)字符代碼,字符串的所有元素(字符)在物理上是鄰接的,這種字符串的方法稱為向量法,它是最簡(jiǎn)單、最節(jié)省空間的方法。但是,當(dāng)字符串需要進(jìn)行刪除和插入操作漢字編碼漢字國(guó)標(biāo)碼漢字國(guó)標(biāo)碼亦可稱為漢字交換碼,主要用于漢字信息處理系統(tǒng)之間或者通信系統(tǒng)之間交 此最多能表示出128×128=16384個(gè)漢字。漢字區(qū)位碼區(qū)位碼將漢字編碼GB2312-中的 【例2.10】已知漢字“春”的區(qū)位碼為“20–26”,計(jì)算它的國(guó)【答案】國(guó)標(biāo)碼為343AH【分析】首先將十進(jìn)制的區(qū)位碼轉(zhuǎn)換為十六進(jìn)制,再加上2020H第一字第二字區(qū)位碼十進(jìn)↓↓十六進(jìn) 國(guó)標(biāo)碼漢字機(jī)內(nèi)碼漢字可以通過不同的輸入碼輸入,但在計(jì)算機(jī)內(nèi)部其內(nèi)碼是唯一的。因?yàn)闈h字處理系統(tǒng)要保證中西文的兼容,當(dāng)系統(tǒng)中同時(shí)存在ASCII碼和漢字國(guó)標(biāo)碼時(shí),將會(huì)產(chǎn)生二義性。例如:有兩個(gè)字節(jié)的內(nèi)容為30H和21H0!”的ASCII碼。為此,漢字機(jī)內(nèi)碼應(yīng)對(duì)國(guó)標(biāo)碼加以適當(dāng)處理和變換。例如,上述“啊”字的國(guó)標(biāo)碼是3021H,其機(jī)內(nèi)碼則是B0A1H漢字字形碼10”。16×16、24×24、32×3248×48的點(diǎn)陣結(jié)構(gòu)。顯然,點(diǎn)陣越大,輸出漢字的質(zhì)量越高,每個(gè)漢字所占用的字節(jié)數(shù)也越高,如表2-2-6所示。表2-2-6字點(diǎn)陣(行×列字節(jié)特顯示字有筆鋒,可分字體筆鋒清晰,字能表示漢字字形碼在漢字輸出時(shí)要經(jīng)常使用,所以要把各個(gè)漢字的字形信息固定起來,存是指那些能夠發(fā)現(xiàn)錯(cuò)誤或能夠自動(dòng)糾正錯(cuò)誤的數(shù)據(jù)編碼。奇偶奇偶是一種最簡(jiǎn)單的數(shù)據(jù),可以檢測(cè)出一位錯(cuò)誤(或奇數(shù)位錯(cuò)誤),但不奇偶的編偶校驗(yàn)——整個(gè)中“1”的個(gè)數(shù)為偶數(shù)。奇偶11圖2-2-1表2-2-7給出幾個(gè)字節(jié)的奇偶的編碼結(jié)果表2-2-7奇偶實(shí)有效信息(8位奇(9位偶(9位在表2-2-7所示的奇或偶中,最高一位為校驗(yàn)位,其余8位為信息位奇偶的校奇偶的編碼和校驗(yàn)是由專門的電路實(shí)現(xiàn)的常見的有并行奇偶統(tǒng)計(jì)電路如圖2-2-2奇形 偶形
AABD7 D5 D3 D1D0D圖2-2-2偶形成=D7D6D5D4D3D2D1奇形成=D7D6D5D4D3D2D1偶校驗(yàn)出錯(cuò)=DD7D6D5D4D3D2D1奇校驗(yàn)出錯(cuò)=DD7D6D5D4D3D2D1下面以奇校驗(yàn)為例,說明對(duì)主存信息進(jìn)行奇偶檢驗(yàn)的2.11】已知大寫英文字母“AASCII41H,現(xiàn)字母“F”被存放在某個(gè)單元中,若采用偶校驗(yàn)(假設(shè)最作為校驗(yàn)位),則該單元中存放的十六進(jìn)制數(shù)據(jù)是(。 【答案】B【分析】英文字母在ASCII編碼表中按順序排列,因?yàn)椤癆”的ASCII碼值為41H,而“F”是第6號(hào)字母,所以“F”的ASCII碼值應(yīng)為46H= B。標(biāo)準(zhǔn)的ASCII碼為7位,在7位數(shù)前面增加1位校驗(yàn)位“F”的ASCII碼中1的個(gè)數(shù)有3個(gè),按照偶校驗(yàn)規(guī)則,偶校 ,則表明傳送( 【答案】C例如,4個(gè)字節(jié)組成的一個(gè)信息塊,縱向、橫向均約定為偶校驗(yàn),各校驗(yàn)位取值如下:橫向校第一字11001011→1第二字01011100→0第三字10011010→0第四字10010101→0↓↓↓↓↓↓↓↓縱向校驗(yàn)位 交叉校驗(yàn)可以發(fā)現(xiàn)兩位同時(shí)出錯(cuò)的情況,這與前述的簡(jiǎn)單奇偶校驗(yàn)相比要保險(xiǎn)多了。海明檢驗(yàn)碼海明碼也是廣泛采用的一種有效的,主存的ECC校驗(yàn)采用的就是與此類似的校驗(yàn)引起有關(guān)的幾個(gè)校驗(yàn)位的值發(fā)生變化,這不但可以發(fā)現(xiàn)錯(cuò)誤,還能錯(cuò)誤的位置,為自動(dòng)表2-2-8信息位N值與校驗(yàn)位KNK45678一個(gè)字節(jié)由8位二進(jìn)制N=8,按表2-2-8查出K=5,故海明碼的總位數(shù)為13可表示為:
H13H12…H2 校驗(yàn)位Pi(i=1~4)的偶校驗(yàn)的在這種安排下,每一位信息位都均勻地出現(xiàn)在3個(gè)Pi值的形成關(guān)將接收到的海明碼按如下關(guān)系進(jìn)行偶校校驗(yàn)得到的結(jié)果值S5~S1(指誤字),它能反映13位海明碼的出錯(cuò)情況:①當(dāng)S5~S1為00000時(shí),表明無錯(cuò)。 當(dāng)S5~S1中僅有一位不為0,表明是某一校驗(yàn)位出錯(cuò),出錯(cuò)位是該Si對(duì)應(yīng)的Pi明,此時(shí)不僅能檢查出一位錯(cuò),而且能準(zhǔn)確地定位,因此可以糾正這個(gè)錯(cuò)誤(將該位變反)。 當(dāng)S5~S1中有4位或5位不為0時(shí),表明出錯(cuò)情況嚴(yán)重,系統(tǒng)工作可能出現(xiàn)故障。②和④兩種出錯(cuò)的情況列于表2-2-9中。若表中僅有一個(gè)Si不為0,表示Pi出錯(cuò),因?yàn)槭切r?yàn)位出錯(cuò),故此時(shí)并不需要校正它們。當(dāng)5個(gè)Si位有3個(gè)為1時(shí),表示是某一信息位Di出錯(cuò)。出錯(cuò)信息位的海明碼位號(hào)由S4~S1這4位的譯碼值(分別為12,11,10,9,7,6,5,3)。例如,當(dāng)S5~S1=00111時(shí),S4~S1的譯碼值為7,即對(duì)應(yīng)H7(也就是D4)位出錯(cuò)。表2-2-9海明位110110011010001111100000000100001111000系系00001110010011100100111001【例 】設(shè)有一個(gè)位信息 ,試求海明編碼的生成和校驗(yàn)過程【分析】發(fā)送方生成海明碼,其中校驗(yàn)位長(zhǎng)度為5位,按偶校驗(yàn)有:將5位檢驗(yàn)位插入到有效信息位中,可得到用二進(jìn)制表示的海明碼為:110100110101下劃線表示校驗(yàn)位在海明碼中的上述海明碼傳送到接收方后,若H11(D7)位發(fā)生了錯(cuò)誤,原碼字就變?yōu)椋?11100110101出111100110101↓110100110101循環(huán)冗余循環(huán)冗余是通過除法運(yùn)算來建立有效信息位和校驗(yàn)位之間的約定關(guān)系的。假設(shè),待編碼的有效信息以多項(xiàng)式M(X)(X)去除,所產(chǎn)生的余數(shù)R(X)就是檢驗(yàn)位。有效信息和檢驗(yàn)位相拼接就構(gòu)成了CRC碼。當(dāng)整個(gè)CRC碼被接收后,仍用約定的多項(xiàng)式G(X)去除,若余數(shù)為0表明該代碼是正確的;若余數(shù)不為0表明某一位出錯(cuò),再進(jìn)一步由余數(shù)值確定出錯(cuò)的位置,以便進(jìn)行糾正。CRCN K系系圖2-2-3循環(huán)冗余的格循環(huán)冗余編碼規(guī)律如下 把待編碼的N位有效信息表示為多項(xiàng)式M(X)②把M(X)左移K位,得到M(X)×XK,這樣空出了K位,以便拼裝K位余數(shù)(即校驗(yàn)位) 選取一個(gè)K+1位的產(chǎn)生多項(xiàng)式G(X),對(duì)M(X)×XK作模2
=Q(X)+ 把左移K位以后的有效信息與余數(shù)R(X)作模2加減,拼接為CRC碼,此時(shí)的CRCN+K【例2.14】選擇產(chǎn)生多項(xiàng)式為1011,把4位有效信息1100編成CRC【答案】生成的CRC碼 M(X)X3 這種CRC碼稱為(7,4)CRC
=1110+定點(diǎn)數(shù)的表示和運(yùn)算定點(diǎn)數(shù)的表示定點(diǎn)小數(shù)的表示范圍Xn-數(shù)圖2-2-4若機(jī)器數(shù)為補(bǔ)碼,當(dāng)Xs=1,X1~Xn均等于0時(shí),X為絕對(duì)值最大的負(fù)數(shù),其真值等X絕對(duì)值最大負(fù)數(shù)=–1綜上所述,設(shè)機(jī)器字長(zhǎng)有n+1位,原碼定點(diǎn)小數(shù)的表示范圍為–(1–2-n)~(1–2-n),補(bǔ)碼小數(shù)的表示范圍為–1~(1–2-n)。若字長(zhǎng)為8位,原碼定點(diǎn)小數(shù)的表示范圍為 128定點(diǎn)小數(shù)的表示范圍為 127定點(diǎn)整數(shù)的表示范圍定點(diǎn)整數(shù)即純整數(shù),小數(shù)點(diǎn)位置隱含固定在最低有效數(shù)位之后,如圖2-2-5Xn-數(shù)圖2-2-5根據(jù)前述方法在定點(diǎn)表示法中,參加運(yùn)算的數(shù)以及運(yùn)算的結(jié)果都必須保證落在該定點(diǎn)數(shù)所能表示的數(shù)需要說代計(jì)算機(jī)中大多只采用整數(shù)數(shù)據(jù)小數(shù)則通過浮點(diǎn)數(shù)表示來【例2.15】在定點(diǎn)機(jī)中,下列說法錯(cuò)誤的是 【答案】A法就不正確了因?yàn)榧僭O(shè)機(jī)器字長(zhǎng)為8位,在整數(shù)表示時(shí),[?1]原= ,[?1]補(bǔ)= [?1]反= 2.1648r1=FEH,r2=F2H,r3=90H,r4=F8H,8位寄存器中,則下列運(yùn)算會(huì)發(fā)生溢出的是(。 【答案】B【分析】用補(bǔ)碼表示時(shí)8位寄存器所能表示的整數(shù)范圍為?128~+127。現(xiàn)在4個(gè)整數(shù)都是負(fù)數(shù),r1?2,r2?14,r3112,r4?8r2×r3=15683個(gè)算式結(jié)果127,不發(fā)生溢出?!敬鸢浮?(219?1)~219?1,?219~219?1,0~99999,?9999~9999符號(hào)位為CH代表正號(hào),DH代表負(fù)號(hào),另外有4位十進(jìn)制數(shù),即從?至。定點(diǎn)數(shù)的運(yùn)算定點(diǎn)數(shù)的移位運(yùn)算定點(diǎn)數(shù)的移位運(yùn)算包括算術(shù)移位、邏輯移位和循環(huán)移位。如不產(chǎn)生溢出,則數(shù)值×2;而右移一位時(shí),如不考慮因移出舍去的末位尾數(shù),則數(shù)值÷2。不同機(jī)器數(shù)算術(shù)移位后的空位添補(bǔ)規(guī)則如表2-2-10所示。表2-2-10真機(jī)器添補(bǔ)正原碼、補(bǔ)碼、反碼0原0負(fù)補(bǔ)左移補(bǔ)右移補(bǔ)反1邏輯移位的對(duì)象是無符號(hào)數(shù),因此移位時(shí)不必考慮符CC,構(gòu)原碼定點(diǎn)數(shù)的加/減運(yùn)算原碼加減運(yùn)算①參加運(yùn)算的操作數(shù)取其絕 若做加法,則兩數(shù)直接相加,若做減法,則將減數(shù)先變一次補(bǔ),再進(jìn)行加法運(yùn)算。③運(yùn)算之后,可能有兩種·有進(jìn)位,結(jié)果為正,即得到正確的結(jié)果?!o進(jìn)位,結(jié)果為負(fù),則應(yīng)再變一次補(bǔ),才能得到正確的結(jié)果。通常,把運(yùn)算之前的變補(bǔ)稱為前變補(bǔ),運(yùn)算之后的變補(bǔ)稱為后變補(bǔ)。補(bǔ)碼定點(diǎn)數(shù)的加/減運(yùn)算補(bǔ)碼加/減運(yùn)算規(guī)則要比原碼加/減運(yùn)算規(guī)則簡(jiǎn)單得多,所以在通用計(jì)算機(jī)中多使用/減運(yùn)算兩個(gè)補(bǔ)碼表示的數(shù)相加,符號(hào)位參加運(yùn)算,且兩數(shù)和的補(bǔ)碼等于兩數(shù)補(bǔ)碼之和,即:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]也可以借用加法器來實(shí)現(xiàn)減法運(yùn)算,根據(jù)補(bǔ)碼加法公式可推出:[X–Y]補(bǔ)=[X+(–Y)]補(bǔ)=[X]補(bǔ)+[–Y]法是:將[Y]補(bǔ)連同符號(hào)位一起求反,末尾加“1”(在定點(diǎn)小數(shù)中這個(gè)“1”實(shí)際上是2-n)。[–Y]補(bǔ)被稱為[Y]補(bǔ)的機(jī)器負(fù)數(shù),由[Y]補(bǔ)求[–Y]補(bǔ)的過程稱為對(duì)[Y]補(bǔ)變補(bǔ)(求補(bǔ)),[–Y]補(bǔ)=[[Y]補(bǔ)]【例2.18】已知Y=–0.0110,求[Y]原、[Y]補(bǔ)和[–Y]補(bǔ)【解答】[Y]原=1.0110,[Y]補(bǔ)=1.1010,[–Y]補(bǔ)【例2.19】已知Y=0.0110,求[Y]原、[Y]補(bǔ)和[–Y]補(bǔ)【解答】[Y]原=0.0110,[Y]補(bǔ)=0.0110,[–Y]補(bǔ)補(bǔ)碼加減運(yùn)算①參加運(yùn)算的兩個(gè)操作數(shù)均用補(bǔ)碼表示②符號(hào)位作為數(shù)的一部 若做加法,則兩數(shù)直接相加,若做減法,則將被減數(shù)與減數(shù)的機(jī)器負(fù)數(shù)相【例2.20】已知A=0.1011,B=–0.1110,利用補(bǔ)碼加減運(yùn)算規(guī)則,求A+B【解答】[A]補(bǔ)=0.1011,[B]補(bǔ)[A]+[B][A+B]因?yàn)閇A+B]補(bǔ)=1.1101,所以【例2.21】已知A=0.1011,B=–0.0010,利用補(bǔ)碼加減運(yùn)算規(guī)則,求A–B【解答】[A]補(bǔ)=0.1011,[B]補(bǔ)=1.1110,[–B]補(bǔ)[A]+[–B][A–B]因?yàn)閇A–B]補(bǔ)=0.1101,所以符號(hào)擴(kuò) 【答案】B【分析】十進(jìn)制數(shù)?1218位二進(jìn)制補(bǔ)碼表示為16位二進(jìn)制補(bǔ)碼,1111111110000111。2.23C語言程32位機(jī)器上運(yùn)行。程x、yz,xzint型,yshortx127,y=9zx+y后,x、y和z的值分別是(。A. FH,y=FFF9H, 【答案】D【分析】x和z為int型,數(shù)據(jù)長(zhǎng)32位,y為short型,數(shù)據(jù)長(zhǎng)16位,均用補(bǔ)碼表示。因?yàn)閤=127D= B,y=?9D=?1001B,所以有x= FH,y=FFF7H。執(zhí)行賦值語句z=x+y,y需要擴(kuò)展符號(hào)位之后,再與x相加,z=x+y= F+FFFFFFF7H= 定點(diǎn)數(shù)的乘法運(yùn)算來存放部分積與最后乘積的部分,它的初值為0。運(yùn)算結(jié)束后寄存器C改為存放乘積的低補(bǔ)碼一位乘法又稱為Booth乘法,Booth乘則如下 乘數(shù)最低位后面增加一位附加位Yn+1,其初值為0 共需做n+1次累加,n次移位,第n+1次不移位表2-2-11Booth判斷Yn操0原部分積+0,右移一0原部分積+[X]補(bǔ),右移一位1原部分積+[–X]補(bǔ),右移一位1原部分積+0,右移一圖2-2-6Booth【例2.24】已知X=–0.1101,Y=0.1011;求X×Y【答案】X×Y= 【分析】有:[X]補(bǔ)=11.0011→B,[Y]補(bǔ)=0.1011→C,0→A,[–X]補(bǔ) 定點(diǎn)數(shù)的除法運(yùn)算3個(gè)寄存器。AB寄存器分別用來存放被除數(shù)和除數(shù),C寄存器用來存放商,它的初值為0。運(yùn)算結(jié)束后A寄存器的內(nèi)容為擴(kuò)大了若干倍的余數(shù)。表2-2-12補(bǔ)碼加減交替[X]補(bǔ)與[Y]第一次操作[ri]補(bǔ)與[Y]上下一次操作同[X]補(bǔ)–[Y]①同號(hào)(夠減1[ri+1]補(bǔ)=2[ri]補(bǔ)–[Y]②異號(hào)(不夠減0[ri+1]補(bǔ)=2[ri]補(bǔ)+[Y]異[X]補(bǔ)+[Y]①同號(hào)(不夠減1[ri+1]補(bǔ)=2[ri]補(bǔ)–[Y]②異號(hào)(夠減0[ri+1]補(bǔ)=2[ri]補(bǔ)+[Y]補(bǔ)碼加減交替除法的算法流程如圖2-2-7所示2-2-7關(guān)系的,不會(huì)影響最后的運(yùn)算結(jié)果,因?yàn)榇藭r(shí)真符(最左邊的一位符號(hào)位)并沒有發(fā)生變化。【例2.25】已知X=0.1000,Y=–0.1010;求X÷Y【答案】X0.1101+0.00102 【分析】有:[X]補(bǔ)=00.1000→A,[Y]補(bǔ)=11.0110→B,0→C,[–Y]補(bǔ)
1.1110
0.00102
0.00102[]補(bǔ)=1.0011+ ,所以=–0.1101+
補(bǔ)碼加/減運(yùn)算的溢出判設(shè)參加運(yùn)算的兩數(shù)為X和Y,做若X和Y異號(hào),實(shí)際上是做兩數(shù)相減,所以不會(huì)溢出。假設(shè):作數(shù)為 [X]補(bǔ)操作數(shù)為 [Y]補(bǔ)其和(差)為 [S]補(bǔ)常見的溢出檢測(cè)方法有3采用一個(gè)符號(hào)當(dāng)Xs=Ys=0,Ss=1時(shí),產(chǎn)生正溢;當(dāng)Xs=Ys=1,Ss=0時(shí),產(chǎn)生負(fù)溢。溢出判斷條件為:溢出=采用進(jìn)位位
YsSs+XsYs兩數(shù)運(yùn)算時(shí),產(chǎn)生的進(jìn)位其中,Cs為符號(hào)位產(chǎn)生的進(jìn)位,C1為最高數(shù)值位產(chǎn)生的溢。故溢出條件為:溢出CsC1+CsC1采用變形補(bǔ)碼(雙符號(hào)位補(bǔ)碼雙符號(hào)位的含 結(jié)果為正數(shù) 結(jié)果正 結(jié)果負(fù) 結(jié)果為負(fù)數(shù)當(dāng)兩位符號(hào)位的值不一致時(shí),表明產(chǎn)生溢出,溢出條件為:溢出浮點(diǎn)數(shù)的表示和運(yùn)算理的話,很難兼顧數(shù)值范圍和運(yùn)算精度的要求。因此,在計(jì)算機(jī)中引入了浮點(diǎn)數(shù)據(jù)表示。浮點(diǎn)數(shù)的表示讓小數(shù)點(diǎn)的位置根據(jù)需要而浮動(dòng),這就是浮點(diǎn)數(shù)。例如:浮點(diǎn)數(shù)的表示范圍11nem階碼部分圖2-2-8當(dāng)es=0,ms=0,階碼和尾數(shù)的數(shù)值位各位全為1(即階碼和尾數(shù)都為最大正數(shù))時(shí),該點(diǎn)數(shù)為最大正數(shù):
=(1–2-n)22k最小正數(shù))時(shí),該浮點(diǎn)數(shù)為最小正數(shù):X最小正數(shù)=2-n22k2k當(dāng)es=0,階碼的數(shù)值位為全1;ms=1,尾數(shù)的數(shù)值位為全0(即階碼為最2k絕對(duì)值最大的負(fù)數(shù))時(shí),該浮點(diǎn)數(shù)為絕對(duì)值最大負(fù)數(shù):規(guī)格化浮點(diǎn)數(shù)
一個(gè)浮點(diǎn)數(shù)的表示形式并不是唯一的。例如:二進(jìn)制數(shù)0. 規(guī)格化浮點(diǎn)數(shù)的尾數(shù)M的絕對(duì)值應(yīng)在下列范圍內(nèi):r
≤|M|<1如果r=2,則有 ≤|M|<1。在尾數(shù)用原碼表示時(shí),規(guī)格化浮點(diǎn)數(shù)的尾數(shù)的最高數(shù)位總2于1。在尾數(shù)用補(bǔ)碼表示時(shí),規(guī)格化浮點(diǎn)數(shù)應(yīng)滿足尾數(shù)最高數(shù)位與符號(hào)位不同(s⊕1=1),即當(dāng)1≤M<1時(shí),應(yīng)有01xx…x形式;當(dāng)–1≤M<–1時(shí),應(yīng)有10xx…x形式。 當(dāng)M=– 時(shí),對(duì)于原碼來說,這是一個(gè)規(guī)格化數(shù),而對(duì)于補(bǔ)碼來說,這不是一個(gè)規(guī)格2 =2 =2
表2-2-13浮點(diǎn)數(shù)真階尾最大k(1–2-n)22絕對(duì)值k–122最小k2-n規(guī)格化的最小正數(shù)k2-1絕對(duì)值k–2-n規(guī)格化的絕對(duì)k–(2-1+2-n)當(dāng)運(yùn)算結(jié)果大于最大正數(shù)稱為正上溢,小于絕對(duì)值最大負(fù)數(shù)時(shí)稱為負(fù)上溢,正上溢和負(fù)上溢統(tǒng)一稱為上溢,數(shù)據(jù)一旦產(chǎn)生上溢,計(jì)算機(jī)必須中止運(yùn)算操作,進(jìn)行溢出處理。當(dāng)運(yùn)算結(jié)果在0至規(guī)格化最小正數(shù)之間稱為正下溢,在0至規(guī)格化的絕對(duì)值最小負(fù)數(shù)之間稱為負(fù)下溢,正下溢和負(fù)下溢統(tǒng)一稱為下溢,數(shù)據(jù)一旦出現(xiàn)下溢,計(jì)算機(jī)一般不做任何處理,僅僅置成機(jī)器零即可。浮點(diǎn)數(shù)階碼的移碼表示法[X]移=偏置值對(duì)于字長(zhǎng)為n+1位的定點(diǎn)整數(shù),通常偏置值為2n+1【例2.26】已知,求[X]移==【例2.27】已知,求[X]移 表2-2-14偏置值為27真值X(十進(jìn)制真值X(二進(jìn)制[X][X]––┇┇┇┇–01┇┇┇┇從表2-2-14中,可以看出這種移碼具有以 真值0在移碼中的表示形式也是唯一的,即[+0]移=[–0]移 ⑤同一數(shù)值的移碼和補(bǔ)碼除最相反外,其他各位相同。·便于比較浮點(diǎn)數(shù)的大小。階碼大的,其對(duì)應(yīng)的真值就大,階碼小的,對(duì)應(yīng)的真值就小?!ず?jiǎn)化機(jī)器中的判零電路。當(dāng)階碼全為0,尾數(shù)也全為0時(shí),表示機(jī)器零。2.28】某浮點(diǎn)數(shù)字16位,其中階6位(含一位階符,移碼表2為底;尾數(shù)部分10位(含一位數(shù)符,位于尾數(shù)的最,補(bǔ)碼表示,規(guī)格化。分別寫出下列最大正數(shù)?!敬鸢?,2?12?25=2?33 )=( ,?(2?1+2?9)2?252?1+2?9)2?32 ,?1225?1231IEEE754浮點(diǎn)數(shù)采用IEEE754標(biāo)準(zhǔn),它與前面介紹的浮點(diǎn)數(shù)格式有一些差別。mE按 754標(biāo)準(zhǔn),常用的浮點(diǎn)數(shù)的格式如圖mE數(shù)符階碼部分,用移碼表示 圖2-2-9IEEE754 754標(biāo)準(zhǔn)中有3種形式的浮點(diǎn)數(shù),它們具體格式見表2-2-15表2-2-15IEEE754標(biāo)準(zhǔn)中的3類數(shù)階尾數(shù)總位偏置十六進(jìn)十進(jìn)短浮18長(zhǎng)浮1臨時(shí)浮點(diǎn)數(shù)1用原碼表示。例如,(12)10=(1100)2,將它規(guī)格化后結(jié)果為1.1×23,其中整數(shù)部分的“1”將階碼是以移碼形式的。對(duì)于短浮點(diǎn)數(shù),偏置值為127(7FH);長(zhǎng)浮點(diǎn)數(shù),偏移量為1023(3FFH)。浮點(diǎn)數(shù)階碼部分之前,偏置值要先加到階碼真值上。上述例子中,階碼(402H)【例2.29】將(100.25)10轉(zhuǎn)換成短浮點(diǎn)數(shù)【答案】短浮點(diǎn)數(shù)格式為42C88000H【分析】 把十進(jìn)制數(shù)轉(zhuǎn)換成為二進(jìn)制數(shù),有 ②轉(zhuǎn)化成規(guī)格化二進(jìn)制數(shù), 計(jì)算出階碼的移碼(偏置值+階碼真值 表示為十六進(jìn)制的代碼=42C88000H【例2.30】把短浮點(diǎn)數(shù)C1C90000H轉(zhuǎn)換成為十【答案】十進(jìn)制數(shù)為–25.125 所以有,符號(hào)位=1,階碼 ,尾數(shù) ②計(jì)算出階碼真值(移碼減去偏置值 ③以規(guī)格化二進(jìn)制數(shù)形式寫出此數(shù) ④寫成非規(guī)格化二進(jìn)制數(shù)形式⑤轉(zhuǎn)換成十進(jìn)制數(shù),并加上符號(hào)位,所以,該浮點(diǎn)數(shù)=通常,將 754短浮點(diǎn)數(shù)規(guī)格化的數(shù)值v表示v=(–1)S×(1.f)×2E-浮點(diǎn)數(shù)的加/減運(yùn)算設(shè)兩個(gè)非0的規(guī)格化浮點(diǎn)數(shù)分浮點(diǎn)數(shù)的加減運(yùn)算步驟
A=MA×B=MB×執(zhí)行浮點(diǎn)數(shù)的加減運(yùn)算,需要經(jīng)過對(duì)階、尾數(shù)加/減、尾數(shù)結(jié)果規(guī)格化對(duì)決于階碼的大小,因此,對(duì)齊兩數(shù)的小數(shù)點(diǎn),就是使兩數(shù)的階碼相等,這個(gè)過程稱為對(duì)階。要對(duì)階,首先應(yīng)求出兩數(shù)階碼EA和EB之差若 =0,表示EA=EB;若ΔE>0,表示EA>EB;若ΔE<0,表示EA<EBEA=EB,無需對(duì)階。尾數(shù)加/對(duì)階之后,就可以進(jìn)行尾數(shù)加/減其算法與前面介紹的定點(diǎn)加/212設(shè)尾數(shù)符號(hào)位補(bǔ)碼表示,經(jīng)過加/減運(yùn)算之后,可能出現(xiàn)以下6種情況,即①00.1xx…②11.0xx…③00.0xx…④11.1xx…⑤01.xxx…⑥10.xxx…第①和②種情況,符合規(guī)格化數(shù)的定義,已是規(guī)格化數(shù)。左規(guī)Cs1Cs2C1+Cs1Cs2右規(guī)右規(guī)最多只有舍0舍1入,相當(dāng)于十進(jìn)制中的四舍五入。用將要舍去的q位溢出判浮點(diǎn)數(shù)的溢出情況由階碼的符號(hào)決定,若階碼也符號(hào)位補(bǔ)碼表示,當(dāng)[EC]補(bǔ)=01,xxxx,表示上溢。此時(shí),浮點(diǎn)數(shù)真正溢出,機(jī)器需停止運(yùn)算,做溢出中斷[EC]補(bǔ)=10,xxx…x,表示下溢。機(jī)器不做溢出處理,而是按機(jī)器零處理。A=0.101110×2-B=–(0.101011)×2-尾數(shù)和階碼均為二進(jìn)制表示,假設(shè)這兩數(shù)的格式為:階碼4位,用移碼(偏置值為23)表示;尾數(shù)8位,用補(bǔ)碼表示,包含一位符號(hào)位,即 首先對(duì)階,求階差:ΔEEA–EBΔE=1,表示EA>EB。按對(duì)階規(guī)則,將MB右移一位,EB+1→EB,得浮浮接下來尾數(shù)求和: 由于結(jié)果的尾數(shù)是非規(guī)格化的數(shù),故應(yīng)左規(guī)。尾數(shù)左移一位,階碼減1。最后[A+B]浮 未發(fā)生57位(2位符號(hào)位。若有兩個(gè)數(shù)X=27×29/32,Y=25×5/8,則用浮點(diǎn)加法計(jì)X+Y的最終結(jié)果是(。 D.發(fā)生溢出【答案】D【分析】浮點(diǎn)數(shù)加、減運(yùn)算一般包括對(duì)階、尾數(shù)運(yùn)算、規(guī)格化、舍入和判溢出等步驟。第一步,對(duì)階:第一個(gè)數(shù)X=27×2932,浮點(diǎn)數(shù)格式為001 ,第二個(gè)數(shù)Y=25×5/8,浮點(diǎn)數(shù)格式00101 。對(duì)階原則是小階向大階看齊,MY右移兩位,EY+2,浮點(diǎn)數(shù)格式為001 MZ=MX+MY= 浮數(shù)格為0011 。第三步,結(jié)果規(guī)格化:尾數(shù)需要進(jìn)行一次右規(guī),才能變成規(guī)格化數(shù),MZ右移一位,EZ+1點(diǎn)數(shù)格式為01000 。第四步,判溢出:由于階碼符號(hào)位不同,所以發(fā)生溢出。不是最終結(jié)果,B選項(xiàng)少了第三和第四步,C選項(xiàng)少了第四步。2.32i,f,dint,floatdouble(int用補(bǔ)碼表示,floatdouble分別用IEEE754單精度和雙精度浮點(diǎn)數(shù)據(jù)表示i=785,f=1.5678e3,d=1.5e10032位機(jī)器中執(zhí)行下列關(guān)系表達(dá)式,則結(jié)果為真是(。 (Ⅳ)(d+f)-A.僅Ⅰ和 B.僅Ⅰ和 C.僅Ⅱ和 D.僅Ⅲ和【答案】B【分析】ffloatint時(shí),小數(shù)部分會(huì)丟失,故Ⅱ的結(jié)果不為真;d+f時(shí)需要對(duì)階f的尾數(shù)有效位被舍去0,故d+f仍然為d,再減d后結(jié)0,算術(shù)邏輯單元串行加法器和并行加法器串行加法器并行加法器并行加法器的進(jìn)位產(chǎn)生和傳遞Ci=AiBi+(Ai⊕Bi)Ci-Ci=Gi+PiCi- … Cn- … An 圖2-2-10其中┇-串行進(jìn)位的并行加法器的總延遲時(shí)間與字長(zhǎng)成正比,字長(zhǎng)越長(zhǎng),總延遲時(shí)間就越長(zhǎng)。并行加法器的快速進(jìn)位并行進(jìn)位又叫先行進(jìn)位、同時(shí)進(jìn)位,其特點(diǎn)是各級(jí)進(jìn)位信號(hào)同┇4位4位4位 4位4位4位 4位4位
圖2-2-11161 1其中 432P* 432G*稱為組進(jìn)位產(chǎn)生函數(shù),P*稱為組進(jìn)位傳遞函數(shù),這兩個(gè)輔助函數(shù)只與P、G有關(guān)。 *432 +P*P*P*432為了要產(chǎn)生組進(jìn)位函數(shù),需要對(duì)原來的CLA電路稍加修改,這種電路稱為成組先行進(jìn)位電路(BCLA)。利用這種4位的BCLA電路以及進(jìn)位產(chǎn)生與傳遞電路和求和電路可以構(gòu)成4位BCLA加法器。164BCLA1CLA電路組成,如2-2-12所示。G PG PCLA電1.G P G P 5 G2211 圖2-2-1216【 2.33】在串行進(jìn)位的并行加法器中,影響加法器運(yùn)算速度的關(guān)鍵因素是 A.門電路的級(jí)延 B.元器件速C.進(jìn)位傳遞延 D.各位加法器速度的不【答案】C【分析】加法器是整個(gè)運(yùn)算器的,提高加法器的運(yùn)算速度最直接的方法就是多位并4個(gè)選項(xiàng)均會(huì)對(duì)加法器的速度產(chǎn)生影響,但只有進(jìn)位傳遞延遲對(duì)并行加法器算術(shù)邏輯單元ALU的功能和結(jié)構(gòu)乘、除運(yùn)算,最終都能歸結(jié)為加法運(yùn)算。因此,ALU的首先應(yīng)當(dāng)是一個(gè)并行加法器,同能執(zhí)行種算術(shù)運(yùn)算和種邏輯-2-給出了以負(fù)邏輯為例的/邏輯運(yùn)算負(fù)邏工作選表負(fù)邏工作選邏輯運(yùn)算術(shù)運(yùn)算Cn=0(無進(jìn)位算術(shù)運(yùn)算Cn=1(有進(jìn)位F=F=AF=F=ABF=ABF=AF=F=A加(AB)F=F=AB加(AB)F=AF=ABF=AF=A+F=A+F=(A+B)加F=AF=A加F=A加(A+B)F=F=AF=ABF=AB加F=AB加(A+B)F=(A+B)加F=AF=AAF=AF=ABF=ABAF=ABF=ABAF=A*:A加A=2A,算術(shù)左第三章器層次結(jié)系統(tǒng)是由幾個(gè)容量、速度和價(jià)格各不相同的器構(gòu)成的層次結(jié)構(gòu)系統(tǒng)。本章討論系統(tǒng)的分類和層次結(jié)構(gòu),半導(dǎo)體隨機(jī)器和只讀器的工作原理和組成方式,以及運(yùn)用半導(dǎo)體組成主器的一般原則和方法,還介紹了雙口RAM、多模塊器、(一)器的分按器的作用分類;按存取方式分類;按介質(zhì)分類;按信息的可保存性分類(三)半導(dǎo)體隨機(jī)存 器的工作原理DRAM器的工作原集中式、分散式和異步式3種刷新方式。(四)只讀MROM、PROM、EPROMFlash(五)主器與CPU的連主器的擴(kuò)展;的地址分配和片選;主存和 之間的硬連接和軟連接(六)雙口RAM和多模塊雙端 RAM;交叉編址和低位交叉編址的多模塊器(七)高速緩沖器程序的局部性原CacheCacheCache(八)虛擬虛擬器的基本概頁式虛擬段式虛擬段頁式虛擬TLB(快表3.1器的分按器在計(jì)算機(jī)系統(tǒng)中的作用分如果將器按照其在計(jì)算機(jī)系統(tǒng)中起到的作用來分類,可以分為高速緩沖主主存用來存放計(jì)算機(jī)運(yùn)行期間所需要的程序和數(shù)據(jù),CPU可直接隨機(jī)地進(jìn)行讀/寫。主存具有一定容量,存取速度較高。由于CPU要頻繁地主存,所以主存的性能在很大程輔助輔助器又稱外器,它用來存放當(dāng)前暫不參與運(yùn)行的程序和數(shù)據(jù)以及一些需要永久性保存的信息。輔存設(shè)在主機(jī)外部,容量極大且成本很低,但存取速度較低,而且CPU不按存取方式分類如果將器按照其存取方式來分類,可以分為隨機(jī)存取器只讀器ROM的特點(diǎn)是:器的內(nèi)容只能隨機(jī)讀出而不能寫入。由于信息一旦寫入器就固定不變了,即使斷電,寫入的內(nèi)容也不會(huì)丟失,所以又稱為固定器。ROM除了存放某些順序存取器直接存取器(如磁盤上的磁道;第二步在小區(qū)域內(nèi)順序檢索或等待,直至找到目的地后再進(jìn)行讀/寫操作。這種器的存取時(shí)間也是與信息所在的物理位置有關(guān)的,但比SAM的存取時(shí)間要短。磁盤機(jī)就屬于這類器。按介質(zhì)分如果將器按照其介質(zhì)來分類,可以分為磁芯磁芯器的特點(diǎn)是信息可以長(zhǎng)期,不會(huì)因斷電而丟失,但磁芯器的讀出是破壞性讀出,即不論磁芯原存的內(nèi)容為“0”還是“1”,讀出之后磁芯的內(nèi)容一律變?yōu)椤?”。磁芯器容量小、速度慢、體積大、可靠性低,從20世紀(jì)70年始,已被半導(dǎo)體器逐漸取代。半導(dǎo)體采用半導(dǎo)體器件制造的器,主要有MOS型器和雙極型(TTL電路或ECL電路)器兩大類。MOS型器具有集成度高、功耗低、價(jià)格便宜、存取速度較慢等特點(diǎn);雙極型器具有存取速度快、集成度較低、功耗較大、成本較高等特點(diǎn)。半導(dǎo)體RAM的磁表面光按信息的可保存性分類斷電后,信息即的器,稱易失性器,例如,半導(dǎo)體RAM。斷電后信 如果某個(gè)單元所的信息被讀出時(shí),原存信息將被破壞,則稱破壞性讀出;如果讀出時(shí),被讀單元原存信息不被破壞,則稱非破壞性讀出。具有破壞性讀出性能的器,3.2器的層次化結(jié)層…多級(jí)層次如圖2-3-1所示。從CPU的角度來看,n種不同的器(M1~Mn)在邏輯層…圖2-3-1多級(jí)層 分別為SM、TA1、C1和SM、TA2、C2。 層次的平C1SM MM MM 當(dāng)SM1SM2時(shí),C≈C2H定義為CPU產(chǎn)生的邏輯地址能在M1中到的概率。在一個(gè)程序執(zhí)行期間,設(shè)N1為M1中次數(shù),N2為M2的次數(shù)。 N1N2【例3.1】假設(shè)某計(jì)算機(jī)的系統(tǒng)由Cache和主存組成。某程序執(zhí)行過程中訪存次,其中Cache缺失(未命中)50次,則Cache中率是 【答案】D【分析】 中率H= ,程序訪存次數(shù)(包括 Cache的次數(shù)和訪存N1N存的次數(shù)N1+N2=100次,其中Cache的次數(shù)N1為訪存次數(shù)減去失效次(1000?50=950。H100050=0.95=95%。不或失效率是指由CPU產(chǎn)生的邏輯地址在M1中不到的概率。對(duì)于兩級(jí)1?H。兩級(jí)層次的等效時(shí)間TA根據(jù)主存的啟動(dòng)時(shí)間有假設(shè)Cache和主存是同時(shí)啟動(dòng)的假設(shè)Cache不命中時(shí)才啟動(dòng)主存,TA=H×TA1+(1?H)×(TA1+TA2)=層次 效率e=Cache中率等效時(shí)間Cache-主存系統(tǒng)的效率e【答(1)H=0.96,(2)TA=46.4ns,(3)e=86.2%【分析】解 5000
(2)TA=TA1+(1?H)(3)e=TA1
40主主輔輔助軟硬主主輔輔助軟硬 圖2-3-2兩 層由于 系統(tǒng)全部用硬件來調(diào)度,因此它對(duì)系統(tǒng)程序員和應(yīng)用程序員都是透明的半導(dǎo)體隨機(jī)存取半導(dǎo)體隨機(jī)器RAM又可分為靜態(tài)RAM(SRAM)和動(dòng)態(tài)RAM(DRAM)兩種 器的工作原 器的工作原DRAMDRAM集成度高,功耗小,但存取速度慢,一般用來組成大容量主存系統(tǒng)。DRAM的刷新間隔一般選定的最大刷新間隔為2ms或4ms甚至更大寫。而刷新是定時(shí)的,即使許多單元長(zhǎng)期未被,若不及時(shí)補(bǔ)充電荷的話,信息也會(huì)DRAM的刷新方式常見的刷新方式有集中式、分散式和異步式3刷新時(shí)間=矩陣行數(shù)×刷新周例如,對(duì)具有1024個(gè)單元(排列成32×32的矩陣)的進(jìn)行刷新,刷新是按行進(jìn)行的,且每刷新一行占用一個(gè)存取周期,所以共需32個(gè)周期以完成全部單元的01… …01… …3968個(gè)周期(198432個(gè)周期(16刷新間隔(2圖2-3-3這種刷新方式增加了系統(tǒng)的存取周期,如的存取周期為0.5s,則系統(tǒng)的存取周期應(yīng)為1s。仍以前述的32×32矩陣為例,整個(gè)刷新一遍需要32s,如圖2-3-4所示。讀//寫刷…讀/圖2-3-4相鄰兩行的刷新間隔=最大刷新間隔時(shí)間÷行對(duì)于32×32矩陣,在2ms內(nèi)需要將32行刷新一遍,所以相鄰兩行的刷新時(shí)間間隔32=62.5s,即每隔62.5s安排一個(gè)刷新周期。在刷新時(shí)讀寫,如圖2-3-5所示讀讀/ 刷62 0.5讀/62.5刷…讀/ 刷62.5 圖2-3-5DRAM的刷新要注意以 ④因?yàn)樗型瑫r(shí)被刷新所以在考慮刷新問題時(shí)應(yīng)當(dāng)從單個(gè)的容量著手,【例3.3】動(dòng)態(tài)RAM的刷新單位是 A.單 B. C. D.【答案】B只讀掩模式一次可編程PROM產(chǎn)品出廠時(shí),所有單元均制成“0”(或“1”),用戶根據(jù)需要可自行將其中某些單元改為“1”(或“0”)。PROM寫入是不可逆的,所以只能進(jìn)行寫入。可擦除可編程UVEPROM需用紫外線燈制作的擦抹器照射器上的透明窗口,使中原存內(nèi)閃速器EEPROM和RAM的優(yōu)點(diǎn)?!纠?.4】下述說法正確的是 A.EPROM是可改寫的,因而也是隨機(jī)器的一種B.EPROM是可改寫的,但它不能作為隨機(jī)器用C.EPROM只能改寫一次,故不能作為隨機(jī)器用D.EPROM是只能改寫一次的只讀器【答案】B【例3.5】下列有關(guān)RAM和ROM的敘述中,正確的是 RAM是易失性器,ROM是非易失性RAM和ROM都采用隨機(jī)存取方式進(jìn)行信息A.僅Ⅰ和 B.僅Ⅱ和 C.僅 D.僅【答案】A【分析】隨機(jī)存取方式是指CPU對(duì)任何一個(gè)單元的存取時(shí)間相同,區(qū)別在于可讀可寫,ROM只讀不寫。ROM顯然不可用作Cache,也不需主器與CPU的連主器的基本結(jié)主存通常由體、地址譯碼驅(qū)動(dòng)電路、I/O和讀寫電路組成,其框圖如圖2-3-6所示
體體圖2-3-6主器的單 體例如,IBM370機(jī)是字長(zhǎng)為32位的計(jì)算機(jī),主存按字節(jié)編址,每一個(gè)字包含4個(gè)單獨(dú)編址的字節(jié),其地址安排如圖2-3-7(a)所示。它被稱為大端方案,即字地址等于最高有效編址的字節(jié),其地址安排如圖2-3-7(b)所示。它被稱為小端方案,即字地址等于最低有效字 字節(jié)地址01012345678948
址 字節(jié)地址1010325424 圖2-3-7 【答案】B【分析】此存放方式是小端次序方案,將最低有效字節(jié)在最小地址位置主存容量的擴(kuò)展總片數(shù)=容量/例如:器容量為8K×8,若選用1K×4 ,則需要1K3.7】某計(jì)64KB,其ROM4KB,其余RAM區(qū),按字節(jié)編址。現(xiàn)要用2K×8位的ROM和4K×4位的RAM來設(shè)計(jì)該器,則需要上述規(guī)格的ROM數(shù)和RAM數(shù)分別是(。1、 B.2、 C.1、 D.2、【答案】D ,需要4K8=2片,采用字?jǐn)U2K方式;60KB的RAM區(qū),選用4K×4位的 ,需要60K8=30片,采用字和位同4K系系擴(kuò)展方式。位擴(kuò)展是指只在位數(shù)方向擴(kuò)展(加大字長(zhǎng)),而的字?jǐn)?shù)和器的字?jǐn)?shù)是一致的。位擴(kuò)展的連接方式是將各的地址線、片選線和讀寫線相應(yīng)地并聯(lián)起來,而將各【例3.8】用64K×1的SRAM設(shè)計(jì)一個(gè)64K×8的器【解答】所需64K8=864K僅有16根地址線、1根數(shù)據(jù)線。具體的連接方法是:8個(gè)的地址線A15~A0分別連在一起,各的片選信號(hào)CS以及讀寫控制信號(hào)WE也都分別連到一起,只有數(shù)據(jù)線D7~D0各自…址…址A線A……
A1..231..23.4567 .等效組圖2-3-8【例3.9】用16K×8的SRAM設(shè)計(jì)一個(gè)64K×8的器【解答】所 數(shù)為:64K8=416K在這種情況下,CPU將提供16根地址線、8根數(shù)據(jù)線與器相連;而僅有14根地址線、8根數(shù)據(jù)線。4個(gè)的地址線A13~A0、數(shù)據(jù)線D7~D0及讀寫控制信號(hào)E都是同名信號(hào)并聯(lián)在一起;CPU的地址線A15、A14經(jīng)過一個(gè)地址譯產(chǎn)生4個(gè)片選信號(hào)CSi,圖2-3-9A15A14=00,選中第一片,A15A14=01,選中第二片在同一時(shí)間內(nèi)4個(gè)中只能有一個(gè)被選中。4個(gè)的地址分配如下第一最低地000000000000最高地001111111111第二最低地010000000000第三最高地最低地011111111111100000000000最高地101111111111第最低地110000000000最高地111111111111圖2-3-10表示用8片16K×4的SRAM組成64K×8器的連接圖
16K×416K×4
16K×4。16K×4。器 譯器
16K×4
4
碼
。16K×4。.
。。16K×4。。的地址分配和片
圖2-3-10假設(shè)4片2K×8用線選法構(gòu)成的8K×8器,各的地址范圍如表2-3-1所示表2-3-1地址范圍(空間111┇110┇101┇011┇線選法的優(yōu)點(diǎn)是不需要地址譯,線路簡(jiǎn)單,選擇無須外加邏輯電路,但僅適用全譯碼表2-3-2地址范圍(空間0┇0┇1┇1┇部分譯所謂部分譯碼即用除片內(nèi)尋址外的地址的一部分來譯碼產(chǎn)生片選信號(hào)。如用4片A12=A11=0,則選中第一片;只要A12=0,A11=1,則選中第二片……。也就是說,8KRAM中的任一個(gè)單元,都對(duì)應(yīng)有2(20-13)=27個(gè)地址,這種一個(gè)單元出現(xiàn)多個(gè)地址的現(xiàn)象稱地。 【答案】A共有8個(gè)(分為4組)組成16KB的器,由高2位地址線A2A3作為譯的輸入【例3.11】假定用若干個(gè)2K×4位組成一個(gè)8K×8位器,則地址0B1FH所在芯 【答案】D組【分析】用8片2K×4位的組成一個(gè)8K×8位器,采用字和位同時(shí)擴(kuò)展。每組中所需2個(gè) 000H07H00~0第三組,1000H~17FFH;第四組,1800H~1FFFH,所以地址0B1FH所在的最小地址為組3.12】某CPU可輸出數(shù)據(jù)線8條(D7~D0)地址線20條(A19~A0,控制線1條(WE。目前使用的空間為48KB,其中:16KB為ROM,擬用8K×8位的ROM芯片;32KBRAM16K4RAM。需要兩 各多少片系系畫出CPU 器之間的連線圖( 自定【答案(1)ROM2片,RAM4片CPU與器之間的連線圖如圖2-3-11所示圖2-3-11例3.10中CPU與器的連接ROM的地址范圍是:ROM1為00000H~01FFFH,ROM2為02000H~03FFFH的地址范圍是:RAM1+RAM204000H~07FFFH,RAM3+RAM408000H~0BFFFH【分析 8K 16K圖中要特別注意地址線、數(shù)據(jù)線和控制線的連接。地址線都是單向的;RAM的數(shù)據(jù)線是雙向的,ROM的數(shù)據(jù)線是單向的;WE(寫允許)線只連接至RAM,不連接至ROM;還片選信號(hào)采用全譯碼方式,主存地址分配如表2-3-3表2-3-3主器地址分所選片片內(nèi)地0000000000000001010…1…Y0=0000001000…Y1=0000001111…0000010000…Y20+0000011111…Y3=0000100000…Y40+0000101111…Y5= 器和CPU的連系系主存和CPU之間的連接包括硬連接和軟連接。其中硬連接既包含前面提到的之地址總數(shù)據(jù)總n主存容通常,由若干構(gòu)成的器可以看作一個(gè)黑盒子通過地址總(AB)、地址總數(shù)據(jù)總n主存容圖2-3-12主存和CPU①地址 CPU將地址信號(hào)送至地址總線② CPU發(fā)讀命③Waitfor 等待器工作完成信號(hào) 讀出信息經(jīng)數(shù)據(jù)總線送至CPU寫操作是指將要寫入的信息存入CPU所指定的單元中,其操作過程是①地址 CPU將地址信號(hào)送至地址總線②數(shù)據(jù) CPU將要寫入的數(shù)據(jù)送至數(shù)據(jù)總線 CPU發(fā)寫命④Waitfor 等待器工作完成信號(hào)雙口RAM和多模塊目前,主存的存取速度已成為計(jì)算機(jī)系統(tǒng)的瓶頸,除去通過尋找高速元件來提高速度外,也可以采口RAM和多模塊器,使在一個(gè)存取周期內(nèi)可以并行地讀寫多個(gè)字,雙口雙口RAM是指同一個(gè)器具有兩組相互獨(dú)立的讀寫控制電路是一種高速工作的器。它有兩個(gè)獨(dú)立的端口,分別具有各自的地址線、數(shù)據(jù)線和控制線,可以對(duì)器中任何系系雙口RAM的 誤。兩個(gè)端口對(duì)同一內(nèi)存操作有4種情況: 兩個(gè)端口不同時(shí)對(duì)同一地址單元存取數(shù)據(jù); 兩個(gè)端口同時(shí)對(duì)同一地址單元讀出數(shù) 兩個(gè)端口同時(shí)對(duì)同一地址單元寫入數(shù) 兩個(gè)端口同時(shí)同一地址單元,一個(gè)寫入數(shù)據(jù),另一個(gè)讀出數(shù)據(jù)。功能輸出,當(dāng)對(duì)應(yīng)端口的BUSY=L,數(shù)據(jù)的存取。 C.左端口與右端口的數(shù)據(jù)碼相同 【答案】B多模塊交叉編址的多模塊器用地址碼的區(qū)分模塊,地址碼的低位選擇單元。低交叉編址多模塊用地址碼低位區(qū)分模,地址碼選擇單元。低位交叉編址的4個(gè)模塊器的編址序列如表2-3-4所示,將它稱之為模4交叉編址序列表2-3-4模4地址編對(duì)應(yīng)二進(jìn)制地續(xù)的。這種編址方式又稱為橫向編址。這種器采用分時(shí)啟動(dòng)的方法,可以在不改變每個(gè)高速緩沖系系程序的局部性原單元被,則可能該單元會(huì)很快被再次。空間局部性是指如果一個(gè)單元被訪Cache的基本工作原理2-3-13Cache的基本結(jié)構(gòu)。Cache和主存都被分成若干個(gè)大小相等的塊,每塊由若干字節(jié)組成。由于Cache的容量遠(yuǎn)小于主存的容量,所以Cache中的塊數(shù)要遠(yuǎn)少于主存中的塊數(shù)。當(dāng)CPU發(fā)出主存地址后,首先判斷該字是否在Cache中,若命中,則直接Cache;若不命中,則主存并將該字所在的主存塊裝入Cache。 ..
.訪標(biāo)Cache地
去圖2-3-13Cache 不按寫分配法,即只把所要寫的信息寫入主存。 按寫分配法,即在把所要寫的信息寫入主存后還把這個(gè)塊從主存中讀入Cache 和主存之間的映射方式全相聯(lián)映射圖2-3-14(a)所示。全相聯(lián)映射方式比較靈活,Cache的塊概率最低、空間利用率最高,但直接映射主存的第1塊、第9塊,只能映射到Cache的第1塊……。直接映射的關(guān)K=Imod式中:K為Cache的塊號(hào);I為主存的塊號(hào);2c為Cache組相聯(lián)映射組相聯(lián)映射規(guī)則如圖2-3-14(c)所示。Cache分為4組,每組2塊。主存的第9塊將可Cache第1組的位置上。組相聯(lián)映射的關(guān)系可J=Imod式中:J為Cache的組號(hào);I為主存的塊號(hào);Q為Cache的組數(shù) 012 01234567
0123456789圖2-3-1433.14Cache162路組相聯(lián)映射方式(2塊。每個(gè)主存塊大小為32字節(jié),按字節(jié)編址。主存129號(hào)單元所在主存塊應(yīng)裝入到的Cache組號(hào)是 【答案】C【分析】由于每個(gè)主存塊大小為32字節(jié),按字節(jié)編址。根據(jù)計(jì)算主存塊號(hào)的公式,主存塊號(hào)=主存地址/塊大小=129=4所以129號(hào)單元所在的主4塊。若共有16塊,采用2路組相聯(lián)映射方式,可分為8組。根據(jù)組相聯(lián)映射的映射關(guān)系,主存第Cache4 中主存塊的替換算法隨機(jī)算法先進(jìn)先出(FIFO)算近期最少使用(LRU)算法Cache寫策略(“臟”位),當(dāng)一塊中的任何一個(gè)單元被修改時(shí),標(biāo)志位被置“1”。在需要替換掉這一塊時(shí),如果標(biāo)志位為“1”,則必須先把這一塊寫回到主存中去之后,才能再調(diào)入新的塊;如果標(biāo)志位為“0寫直達(dá)法和寫回法都是對(duì)應(yīng)于Cache寫命中時(shí)的情況。如果Cache寫不命中時(shí),還涉及到是否需要調(diào)塊的問題?!安话磳懛峙洹狈ㄖ粚懼鞔?,不進(jìn)行調(diào)塊?!鞍磳懛峙洹狈▌t除了要寫入主存外,還要將該塊從主存調(diào)入Cache【例3.15】某計(jì)算機(jī)的主存地址位數(shù)為32位,按字節(jié)編址。假定數(shù)據(jù)Cache中最多存128個(gè)主存塊,采用4路組相聯(lián)方式,塊大小為64Byte,每塊設(shè)置了1性寫回策略,為此每塊設(shè)置了1位“臟”位。要求:計(jì)算該數(shù)據(jù)Cache的總位數(shù)(1),21位;組號(hào)字段居中,5位;塊內(nèi)地址字段在后,6(2)68480(1)64B6Cache128個(gè)主=32剩余位,32?5?6=21位。(2)數(shù)據(jù)Cache的總位數(shù)應(yīng)包括標(biāo)記項(xiàng)的總位數(shù)和數(shù)據(jù)塊的位數(shù)。每個(gè)Cache塊對(duì)應(yīng)一個(gè)標(biāo)記項(xiàng),標(biāo)記項(xiàng)中應(yīng)包括標(biāo)記字段、有效位和臟位(僅適用于寫回法。故標(biāo)記項(xiàng)的總位數(shù)=128×(21+1+1128232944位。數(shù)據(jù)塊位數(shù)12864865536位,所以數(shù)據(jù)的總位數(shù)=29446553668480【例3.16】某計(jì)算機(jī)的主存地址空間大小為256MB按字節(jié)編址,指令CacheCache8CacheCache64BCache采用直接映射方式,現(xiàn)有兩個(gè)功能相同的程序A和B,其偽代碼如下所示:int32i,j,suma若不考慮用于Cache一致性和替換算法的控制位,則數(shù)據(jù)Cache的總?cè)萘繛樯贁?shù)組數(shù)據(jù)a[0][31]a[1][1]各自所在的主存塊對(duì)應(yīng)的Cache行號(hào)分別是多少AB的數(shù)據(jù)【答(1)512B(2)6,5(3)93.75%,0,程序A的執(zhí)行過程更短。Cache8Cache行,每個(gè)Cache行大小64BCache一致性和替換算法的控制位,則數(shù)據(jù)Cache的總?cè)萘繛?×64B=512B。Cache容量為512B,Cache地址9位,有8Cache行,塊號(hào)3位,塊的大64B6256MB,按字節(jié)編址,256MB=228B28位,1936Cache2-3-15。標(biāo)標(biāo)塊塊內(nèi)地主存
9 6 塊內(nèi)地塊塊內(nèi)地塊
6 圖2-3-15主存和Cache數(shù)組按行優(yōu)先方式存放,首地址320,數(shù)組元素占4個(gè)字節(jié)。數(shù)據(jù)Cache采用直接映射方式a[0][31]的地址為320+31×4=444= B,主存塊110對(duì)應(yīng)的Cache行號(hào)為110B=6;a[1][1]的地址為320+(256+1)×4=1348=10101000100B,主存塊10101對(duì)應(yīng)的Cache行號(hào)為a256×256×4B=218B218/64=212個(gè)主存塊,按行優(yōu)先存放,程序A逐行數(shù)組a,共需要訪存的次數(shù)為216次,未命中次數(shù)212,于是程序A的程序B逐列數(shù)組a,由于數(shù)組a一行的數(shù)據(jù)量為1KB>64B,所以第0列每個(gè)元素均不命中。由于數(shù)組有256列,數(shù)據(jù)Cache僅有8行,故數(shù)組后續(xù)列元素時(shí)仍然不命中,于是程序B的數(shù)據(jù)為0%。由于從Cache讀數(shù)據(jù)比從主存讀數(shù)據(jù)快得多,所以程序A的執(zhí)行過虛擬虛擬器由主器和聯(lián)機(jī)工作的輔助器(通常為磁盤器)共同組成,這兩個(gè)器在硬件和系統(tǒng)軟件的共同管理下工作,對(duì)于應(yīng)用程序員,可以把它們看作是一個(gè)單虛擬器的基本概虛擬器將主存或輔存的地址空間統(tǒng)一編址,形成一個(gè)龐大的空間。在這個(gè)大空程序運(yùn)行時(shí),CPU以虛地址來主存,由輔助硬件找出虛地址和實(shí)地址之間的對(duì)應(yīng)關(guān)系,并判斷這個(gè)虛地址指示的單元內(nèi)容是否已裝入主存。如果已在主存中,則通過地址變換,CPU可直接主存的實(shí)際單元;如果不在主存中,則把包含這個(gè)字的一頁或一個(gè)程頁式虛擬以頁為基本單位的虛擬器叫頁式虛擬器各類計(jì)算機(jī)頁面大小不等一般為512B 頁頁1頁內(nèi)地頁內(nèi)地…頁內(nèi)地…圖2-3-16頁式虛擬器的每頁長(zhǎng)度是固定的,頁表的建立很方便,新頁的調(diào)入也容易實(shí)現(xiàn)。但段式虛擬系系段頁式虛擬TLB(快表在虛擬器中,如果不采取有效的措施,主存的速度將要降低幾倍,這是因?yàn)樵谝胧固摯娴乃俣冉咏谥鞔娴乃俣?,必須加快查表的速度。由于程序在?zhí)行過程中具有局部性的特點(diǎn),因此,對(duì)頁表的并不完全是隨機(jī)的。在一段時(shí)間內(nèi),對(duì)頁表的訪問只是局限在少數(shù)幾個(gè)器字內(nèi)。為了將頁表的時(shí)間降低到最低限度,許多計(jì)算機(jī)將頁表分為快表和慢表兩種。將當(dāng)前最常用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- PreQ1-biotin-生命科學(xué)試劑-MCE-4211
- 2-4-6-TMPEA-hydrochloride-生命科學(xué)試劑-MCE-2109
- 二零二五年度特色酒館經(jīng)營(yíng)權(quán)轉(zhuǎn)讓協(xié)議書
- 2025年度門面轉(zhuǎn)讓及商業(yè)地產(chǎn)項(xiàng)目投資合同
- 2025年度簡(jiǎn)易混凝土建筑廢棄物運(yùn)輸與處理服務(wù)合同
- 二零二五年度體育用品連鎖店籃球教練聘用合同
- 個(gè)人住房貸款合同
- 臨時(shí)工合作合同示范文本
- 二手房買賣合同:回購權(quán)益條款
- 二手房銷售合同樣本范文
- 基底節(jié)腦出血護(hù)理查房
- 糧食貯藏課件
- 工程公司總經(jīng)理年終總結(jié)
- 2024年海南省高考地理試卷(含答案)
- 【企業(yè)盈利能力探析的國(guó)內(nèi)外文獻(xiàn)綜述2400字】
- 三年級(jí)上冊(cè)數(shù)學(xué)口算題1000道帶答案
- GB/T 44311-2024適老環(huán)境評(píng)估導(dǎo)則
- 蘇教版(2024新版)一年級(jí)上冊(cè)科學(xué)全冊(cè)教案教學(xué)設(shè)計(jì)
- 【長(zhǎng)安的荔枝中李善德的人物形象分析7800字(論文)】
- 期末綜合測(cè)試卷一(試題)-2023-2024學(xué)年一年級(jí)下冊(cè)數(shù)學(xué)滬教版
- QB/T 6019-2023 制漿造紙專業(yè)設(shè)備安裝工程施工質(zhì)量驗(yàn)收規(guī)范 (正式版)
評(píng)論
0/150
提交評(píng)論