嵌入式系統(tǒng)設(shè)計(jì)師考試復(fù)習(xí)筆記之存儲(chǔ)管理篇
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
2007年下半年通過(guò)了嵌入式系統(tǒng)設(shè)計(jì)師的考試,一大堆的復(fù)習(xí)資料都不知道扔那里好,賣(mài)掉又有點(diǎn)可惜,送人又沒(méi)人要。與其讓當(dāng)時(shí)的復(fù)習(xí)筆記沉淪書(shū)架底部,還不如整理一下讓大家評(píng)論評(píng)論。2008年11月的考試也快到了,如果能幫到有需要的人,那我真是樂(lè)壞了??纯?/SPAN>06和07年的題目,在存儲(chǔ)管理方面的題目蠻多的,應(yīng)該是一個(gè)重要考點(diǎn)。無(wú)論是概念、理論、分析和計(jì)算都相當(dāng)容易出題。在我當(dāng)時(shí)的復(fù)習(xí)筆記中這方面算最多了。這里就先拿這個(gè)點(diǎn)說(shuō)說(shuō)吧,其他的以后有時(shí)間再寫(xiě)了。
1、存儲(chǔ)器系統(tǒng)的層次架構(gòu)
計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器被組織城一個(gè)金字塔的層次結(jié)構(gòu)。
自上而下為:CPU內(nèi)部寄存器、芯片內(nèi)部高速緩存(cache)、芯片外部高速緩存(SRAM、SDRAM、DRAM)、主存儲(chǔ)器(FLASH、EEPROM)、外部存儲(chǔ)器(磁盤(pán)、光盤(pán)、CF卡、SD卡)和遠(yuǎn)程二級(jí)存儲(chǔ)器(分布式文件系統(tǒng)、WEB服務(wù)器),6個(gè)層次的結(jié)構(gòu)。
上述設(shè)備從上而下,依次速度更慢、容量更大、訪問(wèn)頻率更小,造價(jià)更便宜。
2、高速緩存(cache)
工作原理(參照教程126頁(yè),博客畫(huà)不了圖):主要利用了程序的局部性特點(diǎn)。
地址映象是指把主存地址空間映象到cache的地址空間。
地址變換是指當(dāng)程序或數(shù)據(jù)已經(jīng)裝入到cache后,在實(shí)際運(yùn)行過(guò)程中,把主存地址如何編程cache空間的地址。
常用的地址映象和地址變換的方式有:(教程127頁(yè))
直接映象和變換:速度快,造價(jià)低,但有局限性,不能充分利用cache的好處。
組相聯(lián)地址映象和變換:速度稍慢但是命中率高。
全相聯(lián)地址映象和變換:可以任意映射。
常用的cache替換算法:輪轉(zhuǎn)法和隨機(jī)替換算法。
高速緩存的分類:
統(tǒng)一cache和獨(dú)立的數(shù)據(jù)/指令cache
寫(xiě)通cache和寫(xiě)回cache
讀操作分配cache和寫(xiě)操作分配cache
3、存儲(chǔ)管理單元(MMU)
MMU在CPU和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換,將地址從邏輯空間映射到物理空間,這個(gè)過(guò)程稱為內(nèi)存映射。
MMU主要完成下面的工作:
A. 虛擬存儲(chǔ)空間到物理空間的映射。
B. 存儲(chǔ)器訪問(wèn)權(quán)限的控制。
C. 設(shè)置虛擬存儲(chǔ)空間的緩沖特性。
嵌入式系統(tǒng)中常常采用頁(yè)式存儲(chǔ)管理。為了管理這些頁(yè)引入了頁(yè)表的概念。
頁(yè)表是位于內(nèi)存中的表,它的每一行對(duì)應(yīng)虛擬存儲(chǔ)空間的一個(gè)頁(yè),該行包含了該虛擬內(nèi)存頁(yè)對(duì)應(yīng)的物理內(nèi)存頁(yè)的地址、該頁(yè)的訪問(wèn)權(quán)限和該頁(yè)的緩沖特性等。
從虛擬地址到物理地址的變換過(guò)程就是查詢頁(yè)表的過(guò)程。
由于頁(yè)表存儲(chǔ)在內(nèi)存中的,整個(gè)查詢過(guò)程需要付出很大的代價(jià)。根據(jù)程序局部性的特點(diǎn),增加了一個(gè)小容量、高速度的存儲(chǔ)部件來(lái)存放當(dāng)前訪問(wèn)需要的地址變換條目,這個(gè)存儲(chǔ)部件稱為:地址轉(zhuǎn)換后備緩沖器(TLB)。
當(dāng)CPU訪問(wèn)內(nèi)存時(shí),首先在TLB中查找需要的地址變換條目,如果該條目不存在,CPU再?gòu)膬?nèi)存中的頁(yè)表中查詢,并把相應(yīng)的結(jié)果添加到TLB中,更新它的內(nèi)容。
嵌入式系統(tǒng)中虛擬存儲(chǔ)空間到物理空間的映射以內(nèi)存塊為單位進(jìn)行。即虛擬存儲(chǔ)空間中一塊連續(xù)的存儲(chǔ)空間被映射到物理存儲(chǔ)空間中同樣大小的一塊連續(xù)存儲(chǔ)空間。
在頁(yè)表和TLB中,每一個(gè)地址變換條目實(shí)際上記錄了一個(gè)虛擬存儲(chǔ)空間的內(nèi)存塊的基地址與物理存儲(chǔ)空間相對(duì)應(yīng)的一個(gè)內(nèi)存塊的基地址之間的對(duì)應(yīng)關(guān)系。
在MMU中實(shí)現(xiàn)虛擬地址到物理地址的映射是通過(guò)兩級(jí)頁(yè)表來(lái)實(shí)現(xiàn)的。
禁止MMU時(shí),所有物理地址和虛擬地址相等,即使用平板存儲(chǔ)模式。
4、內(nèi)存保護(hù)
操作系統(tǒng)通常利用MMU來(lái)實(shí)現(xiàn)操作系統(tǒng)內(nèi)核與應(yīng)用程序之間的隔離,以及應(yīng)用程序與應(yīng)用程序之間的隔離。
內(nèi)存保護(hù)包含兩個(gè)方面的內(nèi)容:
A. 防止地址越界,每個(gè)應(yīng)用程序都有自己獨(dú)立的地址空間。
B. 防止越權(quán)操作,每個(gè)應(yīng)用程序都有自己的訪問(wèn)權(quán)限。
5、實(shí)模式與保護(hù)模式
在嵌入式系統(tǒng)中,常見(jiàn)的存儲(chǔ)管理方案可以分為兩大類:實(shí)模式和保護(hù)模式。
實(shí)模式:內(nèi)存的平面使用模式。特點(diǎn)有:
A. 不劃分“系統(tǒng)空間”與“用戶空間”,無(wú)須進(jìn)行地址映射。
B. 操作系統(tǒng)與應(yīng)用程序之間不再有物理的邊界。
C. 系統(tǒng)中的“任務(wù)”或“進(jìn)程”,實(shí)際上全是內(nèi)核線程。
在實(shí)模式下,內(nèi)存布局可以分為5個(gè)段:
A. 代碼段:包含操作系統(tǒng)和應(yīng)用程序的所有代碼。
B. 數(shù)據(jù)段:所有帶有初始值的全局變量。
C. BSS段:所有未帶初始值的全局變量。
D. 堆空間:動(dòng)態(tài)分配的內(nèi)存空間。
E. ??臻g:保存上下文以及函數(shù)調(diào)用時(shí)的局部變量和形參。
在實(shí)模式存儲(chǔ)管理方案下,主要的工作在于堆空間的管理,即如何來(lái)管理空閑的堆空間、如何來(lái)分配內(nèi)存、如何來(lái)回收內(nèi)存等等。
保護(hù)模式:處理器中必須有MMU硬件并啟用。特點(diǎn)有:
A. 系統(tǒng)內(nèi)核和用戶程序都有各自獨(dú)立的地址空間。
B. 每個(gè)應(yīng)用程序只能訪問(wèn)自己的地址空間,不能去破壞操作系統(tǒng)和其他應(yīng)用程序的代碼和數(shù)據(jù)。
6、分區(qū)存儲(chǔ)管理
為了實(shí)現(xiàn)多道程序系統(tǒng)而采用的內(nèi)存管理。
基本思路:把整個(gè)內(nèi)存劃分為兩大區(qū)域,即系統(tǒng)區(qū)和用戶區(qū),然后再把用戶區(qū)劃分為若干個(gè)分區(qū),每個(gè)任務(wù)占有其中的一個(gè)分區(qū)。這樣,在內(nèi)存當(dāng)中就同時(shí)保留多個(gè)任務(wù),讓他們共享整個(gè)用戶區(qū),從而實(shí)現(xiàn)多個(gè)任務(wù)的并發(fā)運(yùn)行。
分區(qū)存儲(chǔ)管理又可以分為兩類:固定分區(qū)和可變分區(qū)。
固定分區(qū):各個(gè)用戶分區(qū)的個(gè)數(shù)、位置和大小一旦確定后,就固定不變,不能再修改。
優(yōu)點(diǎn):易于實(shí)現(xiàn),系統(tǒng)開(kāi)銷較小。
缺點(diǎn):內(nèi)存利用率不高,分區(qū)總數(shù)固定。
可變分區(qū):動(dòng)態(tài)創(chuàng)建,在裝入一個(gè)程序時(shí),系統(tǒng)將根據(jù)它的需求和內(nèi)存空間的使用情況來(lái)決定是否分配。
優(yōu)點(diǎn):動(dòng)態(tài)變化,非常靈活。
缺點(diǎn):可能存在外碎片。
在實(shí)現(xiàn)可變存儲(chǔ)管理技術(shù)的時(shí)候,需要考慮三個(gè)方面的問(wèn)題:
A. 內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu)
B. 內(nèi)存的分配算法
C. 內(nèi)存的回收算法
7、地址映射
地址映射也叫地址重定位。
邏輯地址和物理地址是完全不同的,不能用邏輯地址來(lái)直接訪問(wèn)內(nèi)存單元。
為了保證CPU在執(zhí)行指令的時(shí)候,可以正確地訪問(wèn)內(nèi)存單元,需要將用戶程序中的邏輯地址轉(zhuǎn)換為運(yùn)行時(shí)由機(jī)器直接尋址的物理地址。這個(gè)過(guò)程稱為:地址映射。
地址映射由存儲(chǔ)管理單元MMU來(lái)完成。
地址映射主要有兩種方式:靜態(tài)地址映射和動(dòng)態(tài)地址映射。
靜態(tài)地址映射:當(dāng)用戶程序被裝入內(nèi)存時(shí),直接對(duì)指令代碼進(jìn)行修改,一次性地實(shí)現(xiàn)邏輯地址到物理地址的轉(zhuǎn)換。
動(dòng)態(tài)地址映射:當(dāng)用戶程序被裝入內(nèi)存時(shí),不對(duì)指令代碼做任何修改,而是在程序的運(yùn)行過(guò)程中,當(dāng)它需要訪問(wèn)內(nèi)存單元的時(shí)候,再來(lái)進(jìn)行地址轉(zhuǎn)換。
在具體實(shí)現(xiàn)時(shí),這項(xiàng)轉(zhuǎn)換工作一般是由硬件的地址映射機(jī)制來(lái)完成的。通常設(shè)置一個(gè)基地址寄存器,或者叫重定位寄存器。當(dāng)一個(gè)任務(wù)被調(diào)度運(yùn)行時(shí),就把它所在分區(qū)的起始地址裝入到整個(gè)寄存器中。然后,在程序運(yùn)行的過(guò)程中,當(dāng)需要訪問(wèn)某個(gè)內(nèi)存單元時(shí),硬件就會(huì)自動(dòng)地將其中的邏輯地址加上基地址寄存器中的內(nèi)容,從而得到實(shí)際的物理地址,并且按照這個(gè)物理地址區(qū)執(zhí)行。
這個(gè)基地址寄存器位于MMU的內(nèi)部,整個(gè)地址映射過(guò)程是自動(dòng)運(yùn)行的。從理論上說(shuō),每訪問(wèn)一次內(nèi)存都要進(jìn)行一次地址映射。
8、頁(yè)式存儲(chǔ)管理(重點(diǎn))
基本思路:把物理內(nèi)存劃分為許多固定大小的內(nèi)存塊,稱為物理頁(yè)面;把邏輯地址空間也劃分為大小相同的塊,稱為邏輯頁(yè)面。當(dāng)一個(gè)用戶程序被裝入內(nèi)存時(shí),不是以整個(gè)程序?yàn)閱挝?,把它存放在一整塊連續(xù)的區(qū)域,而是以頁(yè)面為單位來(lái)進(jìn)行分配的。對(duì)于一個(gè)大小為N的頁(yè)面程序,需要有N個(gè)空閑的物理頁(yè)面來(lái)把它裝載。這些物理頁(yè)面不一定是要連續(xù)的。
在頁(yè)式存儲(chǔ)管理中需要解決三個(gè)問(wèn)題:數(shù)據(jù)結(jié)構(gòu)、內(nèi)存分配與回收、地址映射。
數(shù)據(jù)結(jié)構(gòu)有兩個(gè):頁(yè)表和物理頁(yè)面表。
A. 頁(yè)表:給出了任務(wù)邏輯頁(yè)面號(hào)和內(nèi)存中物理頁(yè)面號(hào)之間的對(duì)應(yīng)關(guān)系。
B. 物理頁(yè)面表:描述內(nèi)存空間中,各個(gè)物理頁(yè)面的使用情況。
具體的例子請(qǐng)參考《教程》317頁(yè)(博客中畫(huà)不了圖,有興趣自己看)。
內(nèi)存的分配過(guò)程:
A. 對(duì)于一個(gè)新來(lái)的任務(wù),計(jì)算它所需要的頁(yè)面數(shù)N,然后查看位示圖,看是否還有N個(gè)空閑的物理頁(yè)面。
B. 如果有足夠的空閑物理頁(yè)面,就去申請(qǐng)一個(gè)頁(yè)表,其長(zhǎng)度為N,并把頁(yè)表的起始地址填入到該任務(wù)的控制塊中。
C. 分配N個(gè)空閑的物理頁(yè)面,把他們的變換填到頁(yè)表中,建立邏輯頁(yè)面與物理頁(yè)面直接的對(duì)應(yīng)關(guān)系。
D. 修改位示圖,對(duì)剛剛被占用的那些物理頁(yè)面進(jìn)行標(biāo)記。
地址映射的基本思路:
A. 邏輯地址分析:對(duì)邏輯地址,找到它所在的邏輯頁(yè)面,以及它在頁(yè)面內(nèi)的偏移地址。
B. 頁(yè)表查找:根據(jù)邏輯頁(yè)面號(hào),從頁(yè)表中找出它對(duì)應(yīng)的物理頁(yè)面號(hào)。
C. 物理地址合成:根據(jù)物理頁(yè)面號(hào)和頁(yè)內(nèi)偏移地址,最終確定物理地址。
邏輯地址分析:
頁(yè)面的大小都是2的整數(shù)次冪。對(duì)于給定的一個(gè)邏輯地址,可以直接把它的高位部分作為邏輯頁(yè)面號(hào),把它的低位部分作為頁(yè)內(nèi)偏移地址。例如,假設(shè)頁(yè)面的大小是4KB,即2的12次冪,邏輯地址為32為,那么在一個(gè)邏輯地址當(dāng)中,最低12位為頁(yè)內(nèi)偏移地址,而剩下的20位就是邏輯頁(yè)面號(hào)。
計(jì)算方法:
邏輯頁(yè)面號(hào)=邏輯地址/頁(yè)面大小
頁(yè)內(nèi)偏移量=邏輯地址%頁(yè)面大小
頁(yè)表查找:
頁(yè)表作為操作系統(tǒng)的一個(gè)數(shù)據(jù)結(jié)構(gòu),通常保存在內(nèi)核的地址空間中。
頁(yè)表基地址寄存器用來(lái)指向頁(yè)表的起始地址;頁(yè)表長(zhǎng)度寄存器用來(lái)指示頁(yè)表的大小,即對(duì)于當(dāng)前任務(wù),它總共包含有多少個(gè)頁(yè)面。
物理地址合成:
假設(shè)物理頁(yè)面號(hào)為f,頁(yè)內(nèi)偏移地址為offset,每個(gè)頁(yè)面大小為2n,那么相應(yīng)的物理地址為:f×2n +offset。
9、虛擬存儲(chǔ)管理
程序局部性原理:時(shí)間局限性和空間局限性。
虛擬頁(yè)式存儲(chǔ)管理:在頁(yè)式管理的基礎(chǔ)上,增加了請(qǐng)求調(diào)頁(yè)和頁(yè)面置換的功能。
基本思路:當(dāng)一個(gè)用戶程序需要調(diào)入內(nèi)存去運(yùn)行時(shí),不是將這個(gè)程序的所有頁(yè)面都裝入內(nèi)存,而是只裝載部分的頁(yè)面,就可以啟動(dòng)這個(gè)程序運(yùn)行。在運(yùn)行過(guò)程中,如果發(fā)現(xiàn)要執(zhí)行的指令或者訪問(wèn)的數(shù)據(jù)不在內(nèi)存當(dāng)中,就向系統(tǒng)發(fā)出缺頁(yè)中斷請(qǐng)求,然后系統(tǒng)在處理這個(gè)中斷請(qǐng)求時(shí),就會(huì)將保存在外存中的相應(yīng)頁(yè)面調(diào)入內(nèi)存,從而使該程序能繼續(xù)運(yùn)行。
在虛擬頁(yè)式存儲(chǔ)管理中,頁(yè)表包含:邏輯頁(yè)面號(hào)、物理頁(yè)面號(hào)、駐留位、保護(hù)位、修改位和訪問(wèn)位。
常用的頁(yè)面置換算法:
A. 最優(yōu)頁(yè)面置換算法:理想化算法。
B. 最近最久未使用算法:鏈表法和棧方法。尋找長(zhǎng)時(shí)間沒(méi)有被訪問(wèn)的頁(yè)面。
C. 最不常用算法:每個(gè)頁(yè)面設(shè)置一個(gè)訪問(wèn)計(jì)數(shù)器。
D. 先進(jìn)先出算法:性能比較差。
E. 時(shí)鐘頁(yè)面置換算法:把頁(yè)面組成環(huán)形鏈表,類似時(shí)鐘面。
一般來(lái)說(shuō),當(dāng)一個(gè)任務(wù)剛剛啟動(dòng)的時(shí)候,它會(huì)不斷去訪問(wèn)一些新的頁(yè)面,然后逐步建立一個(gè)比較穩(wěn)定的工作集。工作集是指當(dāng)前任務(wù)正在使用的邏輯頁(yè)面的集合。如果分配給一個(gè)任務(wù)的物理頁(yè)面數(shù)太少,不能包含整個(gè)的工作集,任務(wù)將會(huì)造成很多缺頁(yè)中斷,需要頻繁地進(jìn)行頁(yè)面置換,這種現(xiàn)象稱為“抖動(dòng)”。
10、相關(guān)的考試真題
(1)2007年6題:
若內(nèi)存地址區(qū)間為4000H~43FFH,每個(gè)存貯單元可存儲(chǔ)16位二進(jìn)制數(shù),該內(nèi)存區(qū)域用4片存儲(chǔ)器芯片構(gòu)成,則構(gòu)成該內(nèi)存所用的存儲(chǔ)器芯片的容量是 (6) 。
(6)A. 512×16bit B. 256×8bit C. 256×16bit D. 1024×8bit
<答案>:C
首先計(jì)算內(nèi)容空間的大?。?/SPAN>43FFH-4000H=3FFH,其大小為1024×16bit
接著計(jì)算存儲(chǔ)芯片的容量:(1024×16bit)/4=256×16bit=512×8bit
根據(jù)選項(xiàng)提供的內(nèi)容,只有256×16bit符合提綱的要求。
(2)2007年23題:
頁(yè)式存儲(chǔ)系統(tǒng)的邏輯地址是由頁(yè)號(hào)和頁(yè)內(nèi)地址兩部分組成,地址變換過(guò)程如下圖所示。假定頁(yè)面的大小為8K,圖中所示的十進(jìn)制邏輯地址9612經(jīng)過(guò)地址變換后,形成的物理地址a應(yīng)為十進(jìn)制 (23) 。
(23)A. 42380 B.
<答案>:B
8K=1024×8=8192
邏輯頁(yè)面號(hào)=9612/8192=1(1號(hào)頁(yè)號(hào)對(duì)應(yīng)的物理地址塊號(hào)為3)
頁(yè)內(nèi)偏移量=9612%8192=1420
物理地址=3×8192+1420=25996
(3)2007年24題
某總線有104根信號(hào)線,其中數(shù)據(jù)總線(DB)32根,若總線工作頻率為33MHz,則其理論最大傳輸率為 (24) 。(注:本題答案中的B表示Byte)
(24)A. 33 MB/s B. 64MB/s C. 132 MB/s D. 164 MB/s
<答案>:C
每個(gè)字節(jié)8位,需要8根數(shù)據(jù)線。
數(shù)據(jù)總線有32跟,每次可以并行傳輸32/8=4個(gè)字節(jié)。
總線工作頻率為33MHz,那么理論最大傳輸率為33×4=132MHz。
(4)2007年26題
某存儲(chǔ)器數(shù)據(jù)總線寬度為32bit,存取周期為250ns,則該存儲(chǔ)器帶寬為 (26) 。(注:本題答案中的B表示Byte)
(26)A. 8×106B/s B. 16×106B/s C. 16×108B/s D. 32×106B/s
<答案>:B
存取頻率為:1/0.00000025s=4000000
總線寬度為:32bit/8=4byte
存儲(chǔ)器帶寬:4×4000000=16000000=16×106B/s
(5)2007年29~31題
在嵌入式處理器中,CACHE的主要功能由 (29) 實(shí)現(xiàn);某32位計(jì)算機(jī)的CACHE容量為16KB(B:字節(jié)),CACHE塊的大小為16B(B:字節(jié)),若主存與CACHE地址映像采用直接映像方式,則主存地址為0x1234E
(29)A. 硬件 B. 軟件
C. 操作系統(tǒng) D. 應(yīng)用程序
(30)A. 00010001001101 B. 01000100011010
C. 10100011111000 D. 11010011101000
(31)A. 先入后出算法(FILO) B. 隨機(jī)替換算法(RAND)
C. 先入先出算法(FIFO) D. 近期最少使用算法(LRU)
<答案>:A、C、D
29:Cache的主要功能由硬件實(shí)現(xiàn),這個(gè)《教程》有介紹。
30:cache容量為16KB,即邏輯地址的低14位
由于采用的是直接映象,所以cache的地址為:主存地址的低14位。
31:相比較說(shuō),D的命中率最低。
(6)2007年34題
在嵌入式系統(tǒng)的存儲(chǔ)結(jié)構(gòu)中,存取速度最快的是 (34) 。
(34)A. 內(nèi)存 B. 寄存器組 C. Flash D. Cache
<答案>:B
寄存器組>cache>內(nèi)存>flash
(7)2007年41題
操作系統(tǒng)中的“抖動(dòng)”是指 (41) 的現(xiàn)象。
(41)A. 根據(jù)一定的頁(yè)面置換算法,將頁(yè)面調(diào)出
B. 由于選擇了長(zhǎng)期未被訪問(wèn)的頁(yè)進(jìn)行置換,導(dǎo)致系統(tǒng)更換頁(yè)面
C. 頁(yè)面調(diào)入不久就被導(dǎo)出,導(dǎo)出不久又被調(diào)入,導(dǎo)致系統(tǒng)頻繁更換頁(yè)面
D. 根據(jù)系統(tǒng)運(yùn)行情況決定將哪個(gè)頁(yè)面調(diào)出,而不是由頁(yè)面置換算法決定更換哪個(gè)頁(yè)面
<答案>:C
《教程》中328頁(yè)有對(duì)“抖動(dòng)”的介紹。
(8)2006年1題
若內(nèi)存按字節(jié)編址,用存儲(chǔ)容量為32K×8比特的存儲(chǔ)器芯片構(gòu)成地址編號(hào)A0000H到DFFFFH的內(nèi)存空間,則至少需要(1)片。
(1)A. 4 B.
<答案>:C
DFFFF=-A0000H=256KB。
256/32=8片
(9)2006年22題
從下表關(guān)于操作系統(tǒng)存儲(chǔ)管理方案1、方案2和方案3的相關(guān)描述可以看出,他們分別對(duì)應(yīng)(22)存儲(chǔ)管理方案。
方案1:在系統(tǒng)進(jìn)行初始化的時(shí)候就已經(jīng)將主存儲(chǔ)空間劃分成大小相等或不等的塊,并且這些塊的大小在此后是不可以改變的。系統(tǒng)將程序分配在聯(lián)系的區(qū)域中。
方案2:主儲(chǔ)存空間和程序按固定大小大單位進(jìn)行分割,程序可以分配在不連續(xù)的區(qū)域中。該方案當(dāng)一個(gè)作業(yè)的程序地址空間大于主存可以使用的空間時(shí)也可以執(zhí)行。
方案3:編程時(shí)必須劃分程序模塊和確定程序模塊之間的調(diào)用關(guān)系,不存在調(diào)用關(guān)系的模塊可以占用相同的主存區(qū)。
(22)A. 固定分區(qū)、請(qǐng)求分頁(yè)和覆蓋
B. 覆蓋、請(qǐng)求分頁(yè)和固定分區(qū)
C. 固定分區(qū)、覆蓋和請(qǐng)求分頁(yè)
D. 請(qǐng)求分頁(yè)、覆蓋和固定分區(qū)
<答案>:A
《教程》中有相關(guān)概念的介紹。
(10)2006年28題
在32位總線系統(tǒng)中,若時(shí)鐘頻率為500MHz,傳送一個(gè)32位字需要5個(gè)時(shí)鐘周期,則該總線系統(tǒng)的數(shù)據(jù)傳輸速率為 (28) MB/s。
(28)A. 200 B.
<答案>:B
與2007年的24和26題考查的是相同的內(nèi)容。
在32位總線系統(tǒng)中,每次可以傳送32位字,即4個(gè)BYTE。
時(shí)鐘頻率為500MHz,則傳輸32位的速率為100MHz。
也就是總線的數(shù)據(jù)傳輸速率為:4×100=400MB/s。
在嵌入式系統(tǒng)的存儲(chǔ)結(jié)構(gòu)中,存取速度最快的是 (34) 。
(11)2006年29題
在CPU和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換時(shí), (29) 將地址從虛擬(邏輯)地址空間映射到物理地址空間。
(29)A. TCB B. MMU C. CACHE D. DMA
<答案>:B
TCB:任務(wù)控制塊
MMU:存儲(chǔ)管理單元
CACHE:高速緩存
DMA:直接存儲(chǔ)
(12)2006年31題
下列存取速度最快的是(31)。
(31)A. flash存儲(chǔ)器 B. DRAM存儲(chǔ)器 C.高速緩存(CACHE) D.磁盤(pán)
<答案>:C
高速緩存(CACHE)> DRAM存儲(chǔ)器> flash存儲(chǔ)器、磁盤(pán)
(13)2006年51題
頁(yè)式存儲(chǔ)器當(dāng)中的頁(yè)面是由(51)所感知的。
(51)A. 用戶 B. 操作系統(tǒng) C. 編譯系統(tǒng) D. 連接程序
<答案>:B
概念理解,看過(guò)就應(yīng)該會(huì)做,不看過(guò)也能推理出來(lái)。
總的來(lái)看,07年考查內(nèi)存管理方面的內(nèi)容比06年多,深度也相應(yīng)的增加了。
這次到此為止,以后有時(shí)間再寫(xiě),又問(wèn)題可E我:ohy3686@qq.com。