今天我們來看看嵌入式中的內(nèi)存管理單元(MMU),它是現(xiàn)代處理器對內(nèi)存進(jìn)行高效管理的功能單元,操作系統(tǒng)利用內(nèi)存管理單元能夠?qū)崿F(xiàn)虛擬內(nèi)存和內(nèi)存保護(hù)。我們先來看個有意思的問題,下面的程序運(yùn)行兩次后的輸出是否完全相同?為什么呢?
成都創(chuàng)新互聯(lián)長期為上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為淮安區(qū)企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),淮安區(qū)網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
我們先來分析下。理論上,不同進(jìn)程在內(nèi)存中的不同位置執(zhí)行;因此,全局變量的地址是不同的。關(guān)系如下
我們來看看結(jié)果
我們看到兩次運(yùn)行的結(jié)果的地址是相同的,也就是說我們之前的分析是錯誤的。我們在開發(fā)中經(jīng)常被遺忘的事實(shí):1、應(yīng)用程序開發(fā)時,面對的內(nèi)存為虛擬內(nèi)存;2、虛擬內(nèi)存模式下使用的內(nèi)存地址為虛擬地址;3、每一個進(jìn)程擁有獨(dú)立私有的虛擬地址空間。換句話說,虛擬內(nèi)存是與實(shí)際物理內(nèi)存無關(guān)的,它是一個假想的足夠大的內(nèi)存。那么我們來思考下,內(nèi)存需求總量為 1G 的應(yīng)用程序是否能夠運(yùn)行于硬件內(nèi)存為 256M 的計(jì)算機(jī)呢?在現(xiàn)代肯定是支持的,通過虛擬內(nèi)存來支持。虛擬內(nèi)存的意義是能夠支持多個大的內(nèi)存需求量的進(jìn)程同時運(yùn)行于較小的物理內(nèi)存中,如下
舉個例子來說。我們在上小學(xué)時,老師都是將講義和書上的內(nèi)容搬到黑板上進(jìn)行講解。剛開始的時候黑板上啥都沒有,空間很大,老師可以隨意的寫內(nèi)容。但是隨著時間的推移,在后半節(jié)的時候,這時黑板已經(jīng)寫滿了內(nèi)容。老師想要繼續(xù)寫,就得擦掉一些已經(jīng)寫過的內(nèi)容了以便寫新的內(nèi)容。我們來看看虛擬內(nèi)存的機(jī)制:a> 虛擬內(nèi)存需要重新映射到物理內(nèi)存;b> 虛擬地址映射到物理內(nèi)存中的實(shí)地址;c> 每次只有進(jìn)程的少量代碼在物理內(nèi)存中運(yùn)行;d> 大部分進(jìn)程代碼位于存儲器中。在虛擬內(nèi)存管理中,它是以頁式內(nèi)存管理的。頁式內(nèi)存單位,指一定數(shù)量的內(nèi)存(如 4K);虛擬內(nèi)存和物理內(nèi)存以頁為單位管理;進(jìn)程的活動頁被載入內(nèi)存時,記錄地址的映射關(guān)系。關(guān)系如下
頁式內(nèi)存管理法將內(nèi)存分為兩個部分:(p,d)。p 指的是地址高位,頁面號;d 指的是地址低位,頁內(nèi)偏移量。如下
我們是通過頁映射表來進(jìn)行物理地址和虛擬地址映射的。具體如下
它是進(jìn)行 MMU 時,先是進(jìn)行查找,根據(jù)查找到的對應(yīng)關(guān)系然后進(jìn)行對應(yīng)的映射到虛擬內(nèi)存的顯示。那如果沒有找到對應(yīng)的關(guān)系呢?我們來看看具體的過程,如下
如果沒找到的話,便從物理內(nèi)存中換出閑置的頁面,再更新頁映射表進(jìn)而插入物理內(nèi)存中。最后再進(jìn)行地址的映射到物理內(nèi)存中進(jìn)行顯示。那么我們來思考下,這幾種方式為何能提高電腦性能?1、更換主頻更高的處理器(同系列);2、增加物理內(nèi)存大小;3、更換 SSD 固態(tài)硬盤。第一種的話換一個更高的處理器,也就意味著處理速度更快了,因此電腦性能就提升了。第二中的話,物理內(nèi)存越大,也就意味著可以不用進(jìn)行頁面的替換,這樣效率自然就提升了。第三種的話,更換 SSD 固態(tài)硬盤,在內(nèi)存的處理速度就更快了,因而效率就越高了。
網(wǎng)頁題目:處理器之MMU(三)
分享URL:http://www.chinadenli.net/article6/jdjhig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、營銷型網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站策劃、微信小程序、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)