(2)虛擬存儲(chǔ)的工作原理
虛擬存儲(chǔ)技術(shù),實(shí)際上是將編寫(xiě)程序時(shí)所用的虛擬地址(邏輯地址)轉(zhuǎn)換成較小的物理地址。在程序運(yùn)行時(shí)隨時(shí)進(jìn)行這種變換。為了便于主存與輔存之間信息的交換,虛擬存儲(chǔ)器一般采用二維或三維的復(fù)合地址格式。采用二維地址格式時(shí),將整個(gè)存儲(chǔ)器劃分為若干頁(yè)(或段),每個(gè)頁(yè)(或段)又包括若干存儲(chǔ)單元。采用三維地址格式時(shí)將整個(gè)存儲(chǔ)空間分為若干段,每段分為若干頁(yè),每頁(yè)又包括若干存儲(chǔ)單元。根據(jù)地址格式不同,虛擬存儲(chǔ)器分為:頁(yè)式虛擬存儲(chǔ)器、段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器。
在虛擬存儲(chǔ)器中邏輯地址與物理地址之間的對(duì)應(yīng)稱(chēng)為地址映象。通常有三種地址映象的方式:全相聯(lián)映象、直接映象和組相聯(lián)映象。
①全相聯(lián)映象
任一邏輯頁(yè)能映象到實(shí)際主存的任意頁(yè)面位置稱(chēng)為全相聯(lián)映象,通常利用頁(yè)表法進(jìn)行地址間的變換。
②直接映象
每個(gè)邏輯頁(yè)只能映象到一個(gè)特定頁(yè)面的方式稱(chēng)為直接映象。如主存實(shí)際有2 P 頁(yè),虛擬存儲(chǔ)器的邏輯空間有2 P 頁(yè),則將邏輯空間按物理空間大小分為2 P -P塊,塊內(nèi)各頁(yè)只能映象到主存的相應(yīng)頁(yè)中。即所有各塊的第0頁(yè)對(duì)應(yīng)主存的第0頁(yè),各塊的第n頁(yè)對(duì)應(yīng)主存的第n頁(yè)。若程序需要輪流使用第i塊和第j塊的第m頁(yè),只能將兩頁(yè)交替在主存和輔存之間調(diào)入調(diào)出,形成存儲(chǔ)頁(yè)面的“抖動(dòng)”。
③組相聯(lián)映象 組相聯(lián)映象方法是先按直接映象方法將虛擬存儲(chǔ)空間(邏輯空間)分成若干塊,在主存和邏輯空間中的各塊內(nèi)劃分為若干組,每個(gè)組間按直接映象方法控制。可以這樣理解,如果將組相聯(lián)映象方法中的組按直接映象方法的頁(yè)來(lái)看待,組相聯(lián)方法與直接映象方法相同,邏輯空間各組內(nèi)的頁(yè)只能與對(duì)應(yīng)的物理空間組相聯(lián)。但在組內(nèi)各頁(yè)與物理空間的頁(yè)面之間采用全相聯(lián)映象方法處理。因此,可以認(rèn)為組相聯(lián)映象是全相聯(lián)映象和直接映象方法的結(jié)合。6.緩沖技術(shù)使用
緩沖技術(shù)就是為緩解慢速設(shè)備對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)速度的影響,在計(jì)算機(jī)的某些部件中劃定一塊區(qū)域,模擬慢速設(shè)備的操作,將對(duì)慢速設(shè)備的操作先存放在此區(qū)域中,其他部件完成這一操作后可以繼續(xù)其他工作,而慢速設(shè)備可以用自己的速度逐漸完成相應(yīng)的操作。做為中間緩沖的區(qū)域稱(chēng)為緩沖區(qū),相應(yīng)的技術(shù)稱(chēng)為緩沖技術(shù)。
在整個(gè)存儲(chǔ)體系的組織中,緩沖技術(shù)成為解決容量與速度之間矛盾的主要方法。實(shí)際上在計(jì)算機(jī)系統(tǒng)中緩沖技術(shù)解決了許多難題,促進(jìn)了計(jì)算機(jī)系統(tǒng)的發(fā)展。在存儲(chǔ)體系中,緩沖技術(shù)主要體現(xiàn)在Cache的應(yīng)用和磁盤(pán)緩沖的使用。
(1)Cache的原理和作用Cache的工作原理基于對(duì)大量典型程序運(yùn)行實(shí)例的分析。分析結(jié)果表明,在較短的時(shí)間間隔內(nèi),由程序產(chǎn)生的地址往往集中在存儲(chǔ)器邏輯地址空間很小的范圍內(nèi)。指令地址的分布又是連續(xù)的,加上循環(huán)程序和子程序段的重復(fù)執(zhí)行,對(duì)這些地址的訪問(wèn)自然具有時(shí)間上集中分布的傾向。這種對(duì)局部范圍的存儲(chǔ)器地址頻繁訪問(wèn),對(duì)此范圍外的地址訪問(wèn)甚少的現(xiàn)象稱(chēng)為程序訪問(wèn)的局部性。程序訪問(wèn)的局部性為Cache的引入提供了理論依據(jù)。
Cache是緩沖技術(shù)在存儲(chǔ)體系中的一個(gè)具體應(yīng)用。Cache處于主存與CPU之間,負(fù)責(zé)解決主存與CPU之間速度的協(xié)調(diào)問(wèn)題。Cache中存放著主存的一部分副本(主存中的部分內(nèi)容),當(dāng)存儲(chǔ)器接到有關(guān)讀取指令時(shí),先在Cache中查找此信息是否存在,若有則不經(jīng)主存直接從Cache中取出;否則直接從主存中取出,同時(shí)寫(xiě)入Cache,以備再次使用。當(dāng)向存儲(chǔ)器寫(xiě)入內(nèi)容時(shí),由輔助硬件采用各種方法保證主存中的內(nèi)容同Cache中的內(nèi)容保持一致。
為保證寫(xiě)入時(shí)兩者內(nèi)容一致的方法有:①將內(nèi)容同時(shí)寫(xiě)入主存和Cache;②數(shù)據(jù)僅寫(xiě)入主存,若Cache中有此內(nèi)容則將其釋放;③數(shù)據(jù)只寫(xiě)入Cache,在規(guī)定的時(shí)候?qū)⑿薷倪^(guò)的Cache的內(nèi)容寫(xiě)入主存。
Cache的主要特點(diǎn)是:①存取速度快,一般Cache的速度完全可以跟上CPU的運(yùn)算速度;②存儲(chǔ)量小,由于Cache的速度快,其價(jià)格也相當(dāng)昂貴,因此為保證整個(gè)存儲(chǔ)器的性能價(jià)格比,一般采用適當(dāng)容量的Cache,其容量小于主存。
(2)磁盤(pán)緩沖技術(shù)
磁盤(pán)緩沖技術(shù)的目的是減少由于主、輔存之間的速度差異對(duì)計(jì)算機(jī)總體性能的影響。磁盤(pán)是存儲(chǔ)系統(tǒng)中的輔助部分,其主要作用是用來(lái)存儲(chǔ)不常用的數(shù)據(jù)和程序等信息,減輕對(duì)主存容量的需求壓力。由于磁盤(pán)中的信息不能被計(jì)算機(jī)的其他部件直接調(diào)用,因此在信息的輸入/輸出過(guò)程中必須在主存中開(kāi)辟一定的空單位和為與磁盤(pán)上信息交換的中間過(guò)渡區(qū)域稱(chēng)為磁盤(pán)緩沖區(qū)。如從鍵盤(pán)(輸入設(shè)備)向磁盤(pán)中輸入一個(gè)信息,此信息必須通過(guò)總線先輸入到主存中的特定區(qū)域中,通過(guò)程序控制將信息存放到主存中對(duì)應(yīng)于磁盤(pán)輸入/輸出的一個(gè)特定區(qū)域內(nèi),然后將此信息轉(zhuǎn)存到磁盤(pán)上。一般將主存中對(duì)應(yīng)于磁盤(pán)的特定區(qū)域稱(chēng)為磁盤(pán)緩沖區(qū)。
為了提高磁盤(pán)的讀寫(xiě)速度,操作系統(tǒng)一般根據(jù)程序運(yùn)行的需要設(shè)置磁盤(pán)緩沖區(qū)的大小及輸入/輸出操作。同Cache技術(shù)相類(lèi)似,不立即覆蓋磁盤(pán)緩沖區(qū)的內(nèi)容,當(dāng)系統(tǒng)需要繼續(xù)讀入磁盤(pán)中的信息時(shí),首先檢查磁盤(pán)緩沖區(qū)中是否有所需要的信息,若有則直接使用,否則根據(jù)信息的位置將磁盤(pán)上特定扇區(qū)的內(nèi)容調(diào)入磁盤(pán)緩沖區(qū)后再加以使用。這樣可以提高磁盤(pán)的信息讀取速度,減少因磁盤(pán)存取速度慢對(duì)系統(tǒng)整體性能的影響。
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |