存儲器層次結構例題_第1頁
存儲器層次結構例題_第2頁
存儲器層次結構例題_第3頁
存儲器層次結構例題_第4頁
存儲器層次結構例題_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、存儲器層次結構 真題及例題解析在本章的內容中,需要重點掌握的有存儲器的組成、Cache的映像等。本節按照研究生入學考試的試題樣式,參考歷年的真題和全國40所高校的研究生入學試題,組織了相關的真題及解析,供參考。一、單項選擇題例題1:某計算機的Cache共有16塊,采用2路組相聯映射方式(即每組2塊)。每個主存塊大小為32字節,按字節編址。主存129號單元所在主存塊應裝入到的Cache組號是 (1) 。2009年試題14(1)A0 B2 C4 D6例題1分析組相聯映射方式是將某一主存塊j按模Q(Q是Cache的組數)映射到Cache的第i組中的任一塊,即i = j mod Q。根據題目條件可知,

2、Q=16/2=8組。因為每個主存塊大小為32字節,按字節編址,所以主存129號單元所在的主存塊號為4(注意:從0開始計數),所以i=4 mod 8=4。例題1答案 :C例題2:某計算機主存容量為64KB,其中ROM區為4KB,其余為RAM區,按字節編址。現要用2K×8位的ROM芯片和4K×4位的RAM芯片來設計該存儲器,則需要上述規格的ROM芯片數和RAM芯片數分別是 (2) 。2009年試題15(2)A1、15 B2、l5 C1、30 D2、30例題2分析因為1B=8位,ROM區的總大小為4KB,即為4K×8位,那么需要的ROM芯片數為:(4K×8位)

3、/(2K×8位)=2片。64KB-4KB =60KB,即60K×8位,那么需要的RAM芯片數為:(60K×8位)/(4K×4位)=30片。例題2答案:D例題3:假設某計算機的存儲系統由Cache和主存組成。某程序執行過程中訪存1000次,其中訪問Cache缺失(未命中)50次,則Cache的命中率是 (3) 。2009年試題21(3)A5% B9.5% C50% D95%例題3分析程序執行過程中訪存1000次,其中訪問Cache缺失(未命中)50次,也就是說Cache完成存取的總次數為1000-50=950。那么Cache的命中率=(1000-50)/1

4、000=95%。例題3答案:D例題4:假定用若干個2K×4位芯片組成一個8K×8位存儲器,則地址0B1FH所在芯片的最小地址是 (4) 。2010年試題15(4)A0000HB0600HC0700HD0800H例題4分析芯片的大小為2K×4位,而存儲器的大小為8K×8位,不難得出要獲得這樣一個大小的存儲器,需要8片2K×4位的芯片。如果按字節編址,對應一個大小為8K×8位的存儲器,需要13位地址,其中高3位為片選地址,低10位為片內地址,而題目給出的地址0B1FH轉換為二進制為0 1011 0001 1111,其高3位為010,即片選

5、地址為2。因此,地址0B1FH對應第2片芯片,該芯片的起始地址(最小地址)為0 1000 0000 0000,即0800H。例題4答案:D例題5:下列有關RAM和ROM的敘述中,正確的是 (5) 。2010年試題16I RAM是易失性存儲器,ROM是非易失性存儲器II RAM和ROM都采用隨機存取方式進行信息訪問III RAM和ROM都可用做CacheIV RAM和ROM都需要進行刷新(5)A僅I和II B僅II和III C僅I,II,III D僅II,III,IV例題5分析對于計算機系統中的存儲器,常用的數據存取方式有順序存取、直接存取、隨機存取和相聯存取四種。其中RAM和ROM都是采用隨機

6、存取方式。RAM具有讀/寫方便,使用靈活等優點,但斷電后無法保存信息,因此只能用于暫存數據,可用于主存和高速緩沖存儲器。ROM的信息是固化在存儲器中,斷電后仍然能保存信息,信息不容易丟失。但ROM中的信息只可讀出,無法改寫,當然不需要刷新。一般用于存放系統程序BIOS和用于微程序控制,不適合用于讀寫頻繁的Cache。例題5答案:A例題6下列命令組合情況中,一次訪存過程中,不可能發生的是 (6) 。2010年試題17(6)ATLB未命中,Cache未命中,Page未命中  BTLB未命中,Cache命中,Page命中  CTLB命中,Cache未命中,Page命中  

7、;DTLB命中,Cache命中,Page未命中例題6分析TLB是緩存曾經訪問過的虛擬地址所指向的物理地址,以使將來快速得到相同物理地址的高速存儲器,可以與Cache的作用相類比。在一次訪問存儲器的過程中,如果能夠Cache命中,很顯然,說明就訪問到了需要的頁(Page),即Page命中。同樣的道理,如果能夠TLB命中,也說明訪問到了需要的頁,如果這兩者都命中,那么頁肯定命中。因此本題中選項D的情況是不可能發生的。例題6答案:D例題7:下述關于存儲器的描述中,正確的是 (7) 。(7)ACPU訪存時間由存儲器容量決定   BROM和RAM在存儲器中是統一編址的  CROM中任

8、一單元可隨機性訪問   DDRAM是破壞性讀出,因此需要讀后重寫例題7分析隨機存儲器RAM中任何存儲單元的內容都能隨機存取,且存取時間和存儲單元的物理位置無關。由于存取原理的不同,又分為靜態RAM和動態RAM。靜態RAM以觸發器原理寄存信息,動態RAM以電容充放電原理寄存信息,對動態RAM的讀出是破壞性讀出,因此需要讀后重寫。只讀存儲器ROM只能對其存儲的內容讀出,而不能對其重新寫入。一般來說,CPU訪問存儲器的時間與存儲器容量的大小無關(或者說關系很小),而是由存儲單元的材料決定的。例題7答案:D例題8:下面關于主存儲器性能說法中,不正確的是 (8) 。(8)A衡量一個主存儲器的性

9、能指標主要有主存容量、存儲器存取時間和存儲周期  B指令中地址碼的位數決定了主存儲器可以直接尋址的空間  C存儲器存取時間是指從啟動一次存儲器操作到完成該操作所經歷的時間  D存儲周期是指連續啟動兩次獨立的存儲器操作所需間隔的最小時間,通常存儲周期略小于存取時間,其差別主要與主存儲器的物理實現細節有關例題8分析衡量一個主存儲器的性能指標主要有主存容量、存儲器存取時間和存儲周期。指令中地址碼的位數決定了主存儲器可以直接尋址的空間。存儲器存取時間是指從啟動一次存儲器操作到完成該操作所經歷的時間。存儲周期是指連續啟動兩次獨立的存儲器操作所需間隔的最小時間,通常存儲周期略

10、大于存取時間,其差別主要與主存儲器的物理實現細節有關。例題8答案:D例題9:若一臺計算機的字長為4個字節,則表明該機器 (9) 。(9)A能處理的數值最大為4位十進制數 B能處理的數值最多由4位二進制數組成 C在CPU中能夠作為一個整體處理32位的二進制代碼   D在CPU中運算的結果最大為232例題9分析字長是計算機內部一次可以處理的二進制數碼的位數。如果計算機的字長為4個字節,則說明該計算機在CPU中能夠作為一個整體處理32位的二進制代碼。例題9答案:C例題10:現有存儲器SRAM、DRAM、Cache以及寄存器、磁盤、磁帶和光盤,存儲容量由大到小,存取時間由快到慢的順

11、序為 (10) 。(10)A寄存器,Cache,SRAM,DRAM,磁盤,光盤,磁帶 BCache,寄存器,SRAM,DRAM,磁盤,光盤,磁帶 C寄存器,Cache,DRAM,SRAM,磁盤,光盤,磁帶 D寄存器,Cache,SRAM,DRAM,磁帶,磁盤,光盤例題10分析計算機存儲系統的層次結構如圖3-19所示。根據圖3-19可知,存儲器SRAM、DRAM、Cache以及寄存器、磁盤、磁帶和光盤,存儲容量由大到小,存取時間由快到慢的順序為寄存器、Cache、SRAM、DRAM、磁盤、光盤、磁帶。例題10答案:A例題11:動態存儲器DRAM 的刷新原則是 (11) 。(11)A各DRAM芯片

12、輪流刷新 B各DRAM芯片同時刷新,片內逐位刷新 C各DRAM 芯片同時刷新,片內逐字刷新 D各DRAM芯片同時刷新,片內逐行刷新例題11分析為了使已寫入存儲器的信息保持不變,一般每隔一定時間必須對存儲體中的所有記憶單元的柵極電容補充電荷,這個過程就是刷新。刷新的時間間隔由柵極電容的泄放速度決定,一般選定MOS型動態存儲器允許的最大刷新間隔為2ms。刷新和重寫是兩個完全不同的概念,重寫是隨機的,某個存儲單元只有在破壞性讀出之后才需要重寫,而刷新是定時的,即使許多記憶單元長期未被訪問,若不及時補充電荷的話,信息就會丟失。無論是由刷新控制邏輯產生的地址逐行循環的刷新,還是芯片內部自動的刷新,都不依

13、賴外部的訪問,刷新對CPU是透明的。刷新通常是一行一行地進行的,每一行中各記憶單元同時被刷新,故刷新操作時僅需要行地址,不需要列地址。刷新操作類似于讀出操作,但又有所不同,因為刷新操作僅是給柵極電容補充電荷,不需要輸出信息,另外刷新不需要加片信號,即整個存儲器中的所有芯片同時被刷新。例題11答案:D例題12:在一個引入Cache的計算機主存中,已知Cache為16KB,主存為128MB,Cache中塊的大小為1KB,當采用直接地址映像時,主存地址的二進制格式為 (12) 。(12)A7位區號,4位塊號,1位內地址B7位區號,16位塊號,11位內地址C13位區號,4位塊號,10位內地址D27位區

14、號,14位塊號,10位內地址例題12分析Cache容量為16KB,因為16KB=214,所以Cache的地址為14位。Cache塊的大小為1KB,所以塊內地址10位,塊地址為4位。主存容量為128MB,因為128MB=227,所以主存的地址為27位。Cache中塊的大小為1KB,采用直接地址映像,則Cache可以分為16塊,也就是說,主存的每個區(頁)有16塊,而主存一共有128MB/1KB=217塊,即主存可以分為217/16=213個區,所以區號為13位。例題12答案:C例題13:用于存儲器的芯片有不同的類型。可隨機讀寫,且只要不斷電,則其中存儲的信息就可一直保存的,稱為 (13) 。可隨

15、機讀寫,但即使在不斷電的情況下其存儲的信息也要定時刷新才不致丟失的,稱為 (14) 。所存信息由生產廠家用掩膜技術寫好后就無法再改變的稱為 (15) 。通過紫外線照射后可擦除所有信息,然后重新寫入新的信息并可多次進行的,稱為 (16) 。通過電信號可在數秒鐘內快速刪除全部信息,但不能進行字節級別刪除操作的,稱為 (17) 。(13)ARAM BVRAM CDRAM DSRAM(14)ARAM BVRAM CDRAM DSRAM(15)AEPROM BPROM CROM DCDROM(16)AEPROM BPROM CROM DCDROM(17)AE2PROM BFlash Memory CEP

16、ROM DVirtual Memory例題13分析有關這些概念,在前面的章節中都已經介紹,下面直接給出這些存儲器的區別,如表3-1所示。表3-1 幾種存儲器之間的比較類    型保持數據可    寫擦除大小擦除次數價    格讀寫速率靜態RAM×字節無限昂貴快動態RAM×字節無限中等中等ROM×  便宜快PROM一次使用編程器  中等快EPROM 使用編程器整個芯片有限中等快EEPROM字節有限昂貴讀快 寫慢Flash區有限中等讀快 寫

17、慢NVRAM字節無限昂貴快例題13答案:(13)D (14)C (15)C (16)A (17)B例題14:虛擬存儲管理系統的基礎是程序的 (18) 理論。這個理論的基本含義是指程序執行時往往會(19) 訪問內存儲。程序的 (18) 表現在 (20) 和 (21) 上。 (20) 是指最近被訪問的存儲單元可能馬上又要被問。 (21) 是指馬上被訪問的單元,而其附近的單元也可能馬上被訪問。根據這個理論,Denning提出了工作集理論。工作集是進程運行時被頻繁地訪問的頁面集合。在進程運行時,如果它的工作頁面都在 (22) 器內,能夠使該進程有效地運行,否則會出現頻繁的頁面調入/調出現象。(18)A

18、局部性 B全局性 C動態性 D虛擬性(19)A頻繁地 B均勻地 C不均勻地 D全面地(20)A數據局部性 B空間局部性 C時間局部性 D數據全局性(21)A數據局部性 B空間局部性 E空間全局性 F時間全局性(22)A外部存儲 B主存儲 C輔助存儲 D虛擬存儲例題14分析虛擬存儲管理系統從邏輯上擴充了內存容量,使用戶感覺到的存儲容量遠遠大于實際的內存容量,實質是讓作業存在的地址空間與運行時存放作業的內存空間分開。用戶可在地址空間內編寫程序,而無須去考慮實際內存的大小。其理論基礎是程序的局部性原理。根據程序的局部性理論,Denning提出了工作集理論。工作集是指進程運行時被頻繁訪問的頁面集合。顯

19、然只要使程序的工作集全部在內存(主存儲器)當中,就可以大大減少進程的缺頁次數。否則會使進程在運行中頻繁出現缺頁中斷,從而出現頻繁的頁面調入/調出現象,造成系統性能下降,甚至出現抖動(顛簸)。例題14答案:(18)A (19)C (20)C (21)B (22)B例題15一個虛擬存儲系統由容量C1=8MB的主存和容量C2=800MB的輔存的兩級存儲器所構成。主存每位平均代價pl=10個單位成本,輔存每位平均代價p2=1個單位成本。相對CPU而言,從主存讀出時間tA1=500ns,從輔存讀出時間tA2=5ms。為了測定是否達到高的存取速率和低的位成本等,可以統計一組Benchmark程序,獲得訪問

20、主存次數,訪問輔存次數。那么,本虛存系統的兩級存儲器的讀出時間比= (23) ,每位平均代價p= (24) 單=位成本,命中率H=(25) ,平均讀出時間tA= (26) s。(23)A102 B103 C104 D105 (24)A1.08 B1.09 C1.10 D2.09(25)A0.98 B0.998 C0.999 D1(26)A10.5 B20.5 C50.5 D100.5例題15分析由于輔存的讀出時間為5ms=5000s=5000000ns,所以兩級存儲器的讀出時間比為:要計算每位的平均代價,則需要計算出兩級存儲器的成本之和,再除以總容量,即:(8×220×8&

21、#215;10+800×220×8×1)/(8×220×8+800×220×8) =110/101 =1.891例題15答案:(23)C (24)B (25)B (26)D 例題16:容量為64塊的Cache采用組相聯方式映像,每塊大小為128個字,每4塊為一組。若主存容量為4096塊,且以字編址,那么主存地址應該為 (27) 位,主存組號為 (28) 位。(27)A16 B17 C18 D19(28)A5 B6 C7 D8例題16分析組相聯映射是直接映射和全相聯映射的折中方案。它將Cache中的塊再分成組,通過直接映射方式

22、決定組號,通過全相聯映射的方式決定Cache中的塊號。主存容量為4096塊,每塊大小為128個字,則主存大小為4096×128=219個字,主存以字編址,因此,主存地址應該為19位。在組相聯映像方式中,主存中一個組內的塊數與Cache的分組數相同。Cache容量為64塊,每4塊為一組,則可以分為64/4=16組,所以主存需要分為4096/16=256(每組16塊),即28組,因此主存組號需8位。例題16答案:(27)D (28)D例題17:虛擬存儲器的作用是允許 (29) 。它通常使用 (30) 作為它的一個主要組成部分。對它的調度方法與 (31) 基本相似,即把要經常訪問的數據駐留

23、在高速存儲器中,因為使用虛擬存儲器,指令執行時 (32) 。在虛擬存儲系統中常使用相聯存儲器進行管理,它是 (33) 尋址的。(29)A直接使用外存替代內存B添加比地址字長允許的更多內存容量C程序直接訪問比內存更大的地址空間D提高內存的訪問速率(30)ACDROM B硬盤 C軟盤 D寄存器(31)ACache BDMA CI/O D中斷(32)A所需的數據一定能在內存中找到B必須先進行虛、實地址交換C必須事先使用覆蓋技術D必須先將常用子程序調入內存(33)A按地址 B按內容 C寄存器 D計算例題17分析所謂虛擬存儲技術,即在內存中保留一部分程序或數據,在外存(硬盤)中放置整個地址空間的副本。程

24、序運行過程中可以隨機訪問內存中的數據或程序,當需要的程序或數據不在內存時,就將內存中部分內容根據情況寫回外存,然后從外存調入所需程序或數據,實現作業內部的局部對換,從而允許程序的地址空間大于實際分配的存儲區域。虛擬存儲器的調度方法與Cache基本相似。當指令執行時,如果操作對象不在內存,就向操作系統發出缺頁中斷。這時操作系統按照某種替換算法挑選某一物理頁,根據情況決定是否將其寫回外存,然后從外存中調入相應頁面進行覆蓋,并修改頁表。而內存中存儲的數據和程序是以物理地址來表示的,這樣,在執行一條指令時,必須先進行從邏輯地址到物理地址的交換(這個過程稱為地址映射),即虛實地址的交換。在虛擬存儲器系統

25、中,常使用相聯存儲器進行管理,它是按內容尋址的。例題17答案:(29)C (30)B (31)A (32)B (33)B 例題18:實存的存儲分配算法用來決定輸入的程序和數據放到主存中的位置,總是將程序裝入主存中最大的空閑區域的算法稱為 (34) 。(34)A最佳適應算法 B最差適應算法 C首次適應算法 D循環首次適應算法例題18分析通常使用的四種存儲分配算法如下。首次適應算法:將內存中的可用分區單獨組成可用分區表或可用分區自由鏈,按起始地址遞增的次序排列。每次按遞增次序向后找,一旦找到大于或等于所要求內存長度的分區,則結束探索,從找到的分區中找出所要求的內存長度分配給作業,并把剩余的部分進行

26、合并。循環首次適應算法:首次適應算法經常利用的是低地址空間,后面經常是較大的空白區,為使內存所有線性地址空間盡可能地輪流使用到,每重新分配一次,都要在當前之后尋找。最佳適應算法:將輸入作業放入主存中與它所需大小最接近的空白區中,使剩下的未用空間最小,該算法要求空白區大小按從小到大次序組成空白區可用表或自由鏈。在進行分配時總是從最小的一個開始查詢,找到一個能滿足要求的空白區便是最佳的一個。最差適應算法:分配時將一個作業程序放入主存中最不適合它的空白區,即最大的空白區(空閑區)內。例題18答案:B例題19:下面關于Cache的說法中,不正確的是 (35) 。(35)ACache存儲器中保存的字塊是

27、主存中相應字塊的一個副本BCache的容量和塊的大小是影響命中率的重要因素C從現實而言,Cache可以取代主存D一般來說,Cache的存儲容量比主存的容量小得多,但不能太小,太小會使命中率太低。也沒有必要過大,過大不僅會增加成本,而且當容量超過一定值后,命中率隨容量的增加將不會有明顯的增長例題19分析Cache從理論上講可以取代主存,但是當用Cache取代主存時,主存價格增長幅度大,在速度上比帶Cache的存儲器提高不了多少,并且用Cache做主存,則主存和輔助存儲器的速度差別加大,在信息調入時,需要更多的額外開銷,因此從現實而言,Cache難以取代主存。例題19答案:C例題20:假設某計算機

28、具有1MB的內存(目前使用計算機往往具有的內存數比這大得多),并按字節編址,為了能存取該內存各地址的內容,其地址寄存器至少需要二進制 (36) 位。為了使4字節組成的字能從存儲器中一次讀出,要求存放在存儲器中的字邊界對齊,1字節的地址碼應 (37) 。若存儲器周期為200ns,且每個周期可訪問4字節,則該存儲器帶寬為 (38) b/s。假如程序員可用的存儲空間為4MB,則程序員所用的地址為 (39) ,而真正訪問內存的地址稱為 (40) 。(36)A10 B16 C20 D32(37)A最低兩位為00 B最低兩位為10 C最高兩位為00 D最高兩位為10(38)A20M B40M C80M D

29、160M(39)A有效地址 B程序地址 C邏輯地址 D物理地址(40)A指令地址 B物理地址 C內存地址 D數據地址例題20分析 1MB=220B,所以1MB內存按字節編址,地址寄存器至少需要20位。如果采用字節編址,4字節一次讀出,即字長為32位,每個字有4個單獨編址的存儲字節,字地址是該字高位字節的地址,總是等于4的倍數,正好用地址碼的最低兩位(為0)來區分同一字的4字節。若存儲周期為200ns,每個周期可訪問4字節,其帶寬為:說明:在存儲速度方面,1K=1000,1M=1000K。因為可用的4MB內存空間超出了實際的物理內存1MB,稱為邏輯地址,實際訪問內存的地址為物理地址。在程序運行時

30、,需要把邏輯地址映射為實際的物理地址。例題20答案:(36)C (37)A (38)D (39)C (40)B例題21:某虛擬存儲器的用戶編程空間共32個頁面,每頁1KB,主存為16KB。假定某時刻該用戶頁表中已調入主存的頁面的虛頁號和物理頁號對照表如表3-2所示。表3-2 虛頁號和物理頁號對照表虛  頁  號物 理 頁 號051102487虛地址與相對應的物理地址的關系如表3-3所示。表3-3 虛地址與物理地址對照表虛  地  址物 理 地 址0A5CH(46)1A5CH(47)(46)A頁失效 B2A5CH C165CH D125CH(47)A頁失效

31、 B1E5CH C2A5CH D165CH例題21分析210B,所以頁內地址有10位。將虛地址0A5CH轉換為二進制為1010=由于題目已經告訴我們,每個頁的大小為1KB,1KB 0101 1100,其中低10位(10 0101 1100)為頁內地址,余下的高2位(10)為頁號。二進制的10等于十進制的2,查虛頁號和物理頁號對照表3-2可得物理頁號為4,即二進制的100,因此,物理地址為100 10 0101 1100,轉換為十六進制為125CH。用同樣的方法,可以求得1A5CH的頁號為6,但此時的虛頁號和物理頁號對照表3-2中沒有虛頁號6,所以會產生頁失效錯誤(缺頁中斷)。在虛擬存儲器中,要

32、完成虛實地址之間的轉換,這些功能是由軟、硬件結合完成的。例題21答案:(46)D (47)A 例題22:內存按字節編址,地址從90000H 到CFFFFH,若用存儲容量為16K×8bit的存儲器芯片構成該內存,至少需要(48)片。 (48)A2 B4 C8 D16 例題22分析存儲地址空間是指對存儲器編碼(編碼地址)的范圍。所謂編碼就是對每一個物理存儲單元(一個字節)分配一個號碼,通常叫做編址。內存按字節編址的方式求區間的大小,通常記住在“結束地址起始地址”后還要加1。所以,題中地址從90000H 到CFFFFH的區間大小為:90000H +1H = 40000H-CFFFFH將結果

33、化成十進制為4×164=218 。內存按字節編址,則大小為:218 B = 28KB = 256KB用存儲容量為16K×8bit的存儲器芯片構成該內存,則需要256KB/16KB = 16片。例題22答案:D例題23:在CPU與主存之間設置高速緩沖存儲器Cache,其目的是為了(49) 。(49)A擴大主存的存儲容量B提高CPU對主存的訪問效率C既擴大主存容量又提高存取速度D提高外存儲器的速度例題23分析由于CPU的速度比主存的讀取速度快得多,為了解決這種不匹配,在它們之間設置高速緩沖存儲器Cache,將主存中的內容事先調入Cache中,CPU直接訪問Cache的時間短得多

34、,這樣大大提高了CPU對主存的訪問效率,也提高了整個計算機系統的效率。例題23答案:B例題24:在關于主存與Cache地址映射方式中,敘述(50)是正確的。 在分析Cache對機器性能的影響時,敘述(51)是正確的。(50)A全相聯映射方式適用于大容量Cache。B直接映射是一對一的映射關系,組相聯映射是多對一的映射關系。C在Cache容量相等條件下,直接映射方式的命中率比組相聯映射方式有更高的命中率。D在Cache容量相等條件下,組相聯映射比直接映射方式有更高的命中率。(51)ACache容量比主存小許多,決定機器訪問存儲器的速度是主存,Cache只起次要作用。BCache的主要作用是減少調

35、用子程序的開銷。C核心程序法是評價計算機性能的方法之一,由于它程序短,訪問存儲器的局部性較大,Cache的命中率比一般程序高。D奔騰PC采用兩級Cache結構,一級放系統程序,另一級放用戶程序。例題24分析當CPU發出訪存請求后,存儲器地址先被送到Cache控制器以確定所需數據是否已在Cache中,若命中則直接對Cache進行訪問。這個過程稱為Cache的地址映射(映像)。常見的映射方法有直接映射、全相聯映射和組相聯映射。直接映射方式是一種多對一的映射關系,但一個主存塊只能復制到Cache的一個特定塊位置上去。直接映射方式的優點是以RAM作為Cache存儲器,硬件電路較簡單,成本低。缺點是每個

36、主存塊只有一個固定的塊位置可存放,容易產生沖突。因此適合大容量Cache采用。全相聯映射使用相聯存儲器(CAM)作為Cache,其速度快于直接映射,但是硬件電路較復雜,而且價格也較昂貴。使用相聯存儲器組成的Cache存儲器,其基本單元分成兩部分:地址部分和數據部分。數據部分用于存放數據,而地址部分則存放該數據的存儲器地址。當進行映射時,相聯存儲器把CPU發出的存儲器地址與Cache內所有的地址信息同時進行比較,以確定是否命中。全相聯映射方式因比較器電路難于設計和實現,只適用于小容量Cache。組相聯映射方式是前兩種方式的折中方案。它將Cache分成u組,每組v塊,主存塊存放到哪個組是固定的,至

37、于存到該組哪一塊是靈活的。組相聯映射方式中的每組塊數v一般取值較小,這種規模的v路比較器容易設計和實現。而塊在組中的排放又有一定的靈活性,沖突減少。在Cache容量相等的條件下,組相聯映射比直接映射方式有更高的命中率。若計算機的Cache容量大,速度快,而且運行的程序又能使CPU讀寫的數據經常在Cache中獲得,則該程序執行的速度就快,也就是說如果程序短,訪問存儲器的局部性比較大,Cache的命中率會比一般程序高。采用這種程序來評價計算機性能往往評價偏好。PC(個人計算機)采用兩級Cache結構時,在CPU內有一級,容量小速度更快,在主板上另有一級,容量稍大,在使用中有時可分成指令Cache和

38、數據Cache兩部分,指令Cache不需要寫操作,管理更方便。它并不是用來一級放系統程序,另一級放用戶程序的。例題24答案:(50)D (51)C例題25:為了提高計算機的性能,采用Cache、虛擬存儲器等多項技術。(52)不屬于Cache的特征。(52)A為了提高速度全部用硬件實現B可以顯著提高計算機的主存速度C可以顯著提高計算機的主存容量D對程序員是透明的例題25分析Cache的功能是提高CPU數據輸入輸出的速率,通常在CPU和主存儲器之間設置小容量的Cache。Cache容量小但速度快,主存儲器速度較低但容量大,通過優化調度算法,系統的性能會大大改善,仿佛其存儲系統容量與主存相當而訪問速

39、度近似Cache。而這一切,對程序員而言,是透明的。也就是說,程序員是不可見的。例題25答案:C例題26:內存地址從AC000H到C7FFFH,共有(53) K個地址單元,如果該內存地址按字(16bit)編址,由28片存儲器芯片構成。已知構成此內存的芯片每片有16K個存儲單元,則該芯片每個存儲單元存儲(54)位。(53)A96 B112 C132 D156(54)A4 B8 C16 D24例題26分析C7FFFH-AC000H+1H=1C000H,把1C000H轉換為10進制數得到114688,再化為K,即有114688/1024=112K個地址單元。已知內存地址按字(16bit)編址,則共有

40、112K×16位。內存由28片存儲器芯片構成,每片有16K個存儲單元,則該芯片每個存儲單元存儲(112K×16)/(28×16K)=4位。例題26答案:(53)B (54)A例題27:已知某高速緩存Cache采用組相聯映像方式,即組間直接映像,組內全相聯映像。假設主存容量為4096塊,每塊256B,高速緩存包含32塊,分8組,每組4塊。高速緩存的地址變換表應包含(55)個存儲單元;每個存儲單元應能存放(56)位二進制數;每次參與相聯比較的是(57)個存儲單元。(55)A8 B16 C32 D48(56)A7 B8 C9 D10(57)A4 B8 C12 D16例題

41、27分析在本題中,已知主存容量為4096×256B=1MB字節編址,由于220=1MB,所以主存地址應為20位。在組相聯映像方式中,主存與Cache都分組,主存中一個組內的塊數與Cache的分組數相同。因為高速緩存分為8組,所以主存每組8塊,共分為4096/8=512=29組,組號長度為9位。因為高速緩存包含32塊,所以,高速緩存的地址變換表(塊表)應包含32個存儲單元,每個存儲單元的長度為主存組號長度,即9位二進制數。因為主存中的各塊與Cache的組號有固定的映像關系,但可自由映像到對應的Cache組中的任一塊,而高速緩存每組4塊,所以每次參與相聯比較的是4個存儲單元。例題27答案

42、:(55)C (56)C (57)A例題28:某計算機主存按字節編址,主存與高速緩存Cache的地址變換采用組相聯映像方式(即組內全相聯,組間直接映像)。高速緩存分為2組,每組包含4塊,塊的大小為512B,主存容量為1MB。構成高速緩存的地址變換表相聯存儲器容量為(58) 。(58)A4×10bit B8×10bit C4×11bit D8×11bit例題28分析已知主存容量為1MB,可分為1MB/512B=2048塊。因為高速緩存分為2組,所以主存每組2塊,主存可分為2048/2=1024=210個組。因此需要10位組號。因為高速緩存共有8塊,因此,其

43、地址變換表應包含8個存儲單元,每個存儲單元的長度為主存地址組號長度,即10位二進制數。例題28答案:B例題29:下面關于計算機Cache的論述中,正確的是(59) 。(59)ACache是一種介于主存和輔存之間的存儲器,用于主輔存之間的緩沖存儲B若訪問Cache不命中,則用從內存中取到的字節代替Cache中最近訪問過的字節CCache的命中率必須很高,一般要達到90%以上DCache中的信息必須與主存中的信息時刻保持一致例題29分析使用Cache改善系統性能的依據是程序的局部性原理。依據局部性原理,把主存儲器中訪問概率高的內容存放在Cache中,當CPU需要讀取數據時就首先在Cache中查找是

44、否有所需內容,如果有,則直接從Cache中讀取;若沒有,再從主存中讀取該數據,然后同時送往CPU和Cache。如果CPU需要訪問的內容大多都能在Cache中找到(稱為訪問命中),則可以大大提高系統性能。系統的平均存儲周期與命中率有很密切的關系,命中率的提高即使很小也能導致性能上的較大改善。當Cache存儲器產生了一次訪問未命中之后,相應的數據應同時讀入CPU和Cache。但是當Cache已存滿數據后,新數據必須淘汰Cache中的某些舊數據。最常用的淘汰算法有隨機淘汰法、先進先出法和近期最少使用淘汰法。因為需要保證緩存在Cache中的數據與主存中的內容一致,相對讀操作而言,Cache的寫操作比較

45、復雜,常用的方法有寫直達、寫回、寫一次和標記法。前3種方法在3.7.5節中已有介紹,下面主要介紹標記法。在標記法中,對Cache中的每一個數據設置一個有效位。當數據進入Cache后,有效位置1;而當CPU要對該數據進行修改時,數據只需要寫入主存儲器并同時將該有效位清0。當要從Cache中讀取數據時需要測試其有效位:若為l則直接從Cache中取數,否則從主存中取數。例題29答案:C例題30:關于相聯存儲器,下面的論述中,錯誤的是(60) 。(60)A相聯存儲器按地址進行并行訪問B相聯存儲器的每個存儲單元都具有信息處理能力C相聯存儲器能并行進行各種比較操作D在知識庫中應用相聯存儲器實現按關鍵字檢索

46、例題30分析CAM是一種特殊的存儲器,是一種基于數據內容進行訪問的存儲設備,相聯存儲器的特點是每個存儲單元都必須有一個處理單元。當對其寫入數據時,CAM能夠自動選擇一個未用的空單元進行存儲;當要讀出數據時,不是給出其存儲單元的地址,而是直接給出該數據或者該數據的一部分內容,CAM對所有的存儲單元中的數據同時進行比較,并標記符合條件的所有數據以供讀取。由于比較是同時、并行進行的,所以這種基于數據內容進行讀寫的機制,其速度比基于地址進行讀寫的方式要快許多。在計算機系統中,相聯存儲器主要用于虛擬存儲器和Cache。在虛擬存儲器中存放分段表、頁表和快表,在高速緩沖存儲器中作為存放Cache的塊地址。另

47、外,相聯存儲器還經常用于數據庫與知識庫中按關鍵字進行檢索。例題30答案:A例題31:Cache 存儲器一般采用(61)存儲器件構成。 (61)ADRAM BSRAM CROM DNVRAM 例題31分析Cache存儲器一般采用靜態隨機訪問存儲器(SRAM)技術,這種存儲器的速度比動態RAM快,能夠跟得上CPU的要求,彌合了CPU和主存之間的速度差距。例題31答案:B例題32:虛擬存儲系統中的頁表有快表和慢表之分,下面關于頁表的敘述中正確的是(62) 。 (62)A快表與慢表都存儲在主存中,但快表比慢表容量小 B快表采用了優化的搜索算法,因此比慢表的查找速度快 C快表比慢表的命中率高,因此快表可

48、以得到更多的搜索結果 D快表采用快速存儲器件組成,按照查找內容訪問,因此比慢表查找速度快 例題32分析虛擬存儲系統中的快表采用快速存儲器構成,按內容訪問,因此比慢表查找速度快。例題32答案:D例題33:計算機的存儲系統采用分級存儲體系的理論依據是(63) 。目前,計算機系統中常用的三級存儲體系是(64) 。 (63)A存儲容量、價格與存取速度間的協調性B程序訪問的局部性C主存和CPU之間的速度匹配D程序運行的定時性(64)A寄存器、內存、外存 B寄存器、Cache、內存CCache、主存、輔存 DL0、L1、L2三級Cache例題33分析計算機的存儲系統采用分級存儲體系的理論依據是程序訪問的局

49、部性原理。CPU訪問存儲器時,無論是取指令還是存取數據,所訪問的存儲單元都趨于聚集在一個較小的連續區域中。局部性分為兩種,分別是時間局部性和空間局部性。時間局部性是指如果一個信息項正在被訪問,那么在近期它很可能還會被再次訪問。程序循環、堆棧等是產生時間局部性的原因。空間局部性是指在最近的將來將用到的信息很可能與現在正在使用的信息在空間地址上是臨近的。計算機系統中常用的三級存儲體系是指Cache、主存、輔存,這三個級別容量越來越大,價格越來越低,速度越來越慢。例題33答案:(63)B (64)C二、綜合應用題例題34:設有一個2MB容量的存儲器,字長為32位,問:(1)按字節編址,地址寄存器、數

50、據寄存器各為幾位?編址范圍為多大?(2)按字編址,地址寄存器、數據寄存器各為幾位?編址范圍為多大?例題34解答存儲單元地址是存儲單元的編號,通常從0開始順序編址,一個單元對應一個地址。(1)按字節編址:2MB=221×8,因此地址寄存器為21位,數據寄存器為8位,編址范圍為00000H1FFFFH。(2)按字編址:2MB=221×8=219×32,因此地址寄存器為19位,數據寄存器為32位,編址范圍為00000H7FFFFH。例題35:有一個16K×16的存儲器,用1K×4位的DRAM芯片(內部結構為64×16,引腳同SRAM)構成,

51、設讀寫周期為0.1µs,問:(1)采用異步刷新方式,如單元刷新間隔不超過2ms,則刷新信號周期是多少?(2)如采用集中刷新方式,存儲器刷新一遍最少用多少讀/寫周期,死區率是多少?例題35解答DRAM芯片的各種刷新時間的計算方法如下。(1)采用異步刷新方式,在2ms時間內分散地把芯片64行刷新一遍,故刷新信號的時間間隔為2ms/64=31.25µs,即可取刷新信號周期為31µs。(2)如采用集中刷新方式,假定T為讀/寫周期,則存儲器刷新一遍最少所需刷新時間為64T。因為T單位為0.1µs,2ms=2000µs,則死區率=64T/2000×

52、;100%=0.32%。例題36:用ROM芯片(4K×4位/片)和RAM芯片(2K×8位/片)組成一個半導體存儲器,按字節編址。該存儲器ROM區的容量為16KB,RAM區的容量為10KB。(1)組成該存儲器需要多少塊ROM芯片和多少塊RAM芯片?(2)該存儲器一共需要多少根地址線?ROM芯片、RAM芯片各需要連入哪幾根地址線?(3)需要設置多少個片選信號?分別寫出各片選信號的邏輯式。例題36解答(1)ROM區的容量為16KB(即16K×8位),每塊ROM芯片的容量為4K×4位,因此,需要的ROM芯片塊數為:(16K×8位)/(4K×4

53、)=8塊;RAM區的容量為10KB(即10K×8位),每塊RAM芯片的容量為2K×8位,因此,需要的RAM芯片塊數為:(10K×8)/( 2K×8)=5。(2)存儲器總的容量為26KB,需15根地址線(A14A0),ROM芯片連入A11A0,RAM芯片連入A10A0。(3)需要設置9個片選信號,如表3-4所示。9個片選信號ROM片選信號A14A13A12A11CS0000地址線CS1001CS2010CS3011RAMCS41000CS51001CS61010CS71011CS81100注:0表示低電平,1表示高電平例題37:設CPU共有16根地址線,8

54、根數據線,并用MREQ(低電平有效)做訪存控制信號,用R/W作讀寫控制信號,現有下列存儲芯片:RAM:1K×8位、2K×4位、4K×8位。ROM:2K×8位、4K×8位。以及74138譯碼器和各種門電路(自定),要求最大4K地址空間為系統程序區,與其相鄰的2K地址空間為用戶程序區。(1)合理選用上述存儲芯片,說明各選幾片?寫出每片存儲芯片的地址范圍。(2)畫出CPU與存儲器的連接圖。例題37解答(1)系統程序區使用ROM芯片,用戶程序區使用RAM芯片。根據兩個區域的容量大小可知對應的地址空間如下:ROM對應的空間:1111 1111 1111 11111111 0000 0000 0000RAM對應的空間:1110 1111 1111 11111110 1000 0000 0000選擇ROM芯片為2K×8位的2片,RAM芯片為2K×4位的2片。ROM芯片1對

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論