• <center id="ckp5g"></center>
    <thead id="ckp5g"><video id="ckp5g"></video></thead>

      <bdo id="ckp5g"></bdo>
      1. <button id="ckp5g"><video id="ckp5g"><small id="ckp5g"></small></video></button>
        中文字幕av日韩精品一区二区,少妇厨房愉情理伦片bd在线观看 ,久久久久人妻精品一区三寸蜜桃 ,91久久精品亚洲中文字幕无码,三级国产三级在线,A亚洲VA欧美VA国产综合,无码人妻AV一区二区三区蜜臀,日韩精品久久久久久免费

        收藏壹芯微 | 在線留言| 網站地圖

        您好!歡迎光臨壹芯微科技品牌官網

        壹芯微

        深圳市壹芯微科技有限公司二極管·三極管·MOS管·橋堆

        全國服務熱線:13534146615

        壹芯微二極管
        首頁 » 壹芯微資訊中心 » 常見問題解答 » 虛擬存儲器的實現方法介紹

        虛擬存儲器的實現方法介紹

        返回列表來源:壹芯微 發布日期 2022-01-19 瀏覽:-

        虛擬存儲器的實現方法介紹

        虛擬存儲器機制與高速緩存Cache機制很類似,高速緩存Cache是緩存了內存中的數據,虛擬存儲器是在內存中緩存了磁盤的數據。如果虛擬存儲器中數據不存在,那么需要從磁盤上讀取數據,然后放入內存。由于磁盤的速度要比內存慢10萬倍,所以除了必要的情況,應盡量少的從磁盤反復讀取數據。虛擬存儲器采用全相聯映射方式,所以每個虛擬地址可以映射到內存的任何一個空閑位置,因此與Cache類似,虛擬存儲器必須有一種方法確定每個進程虛擬地址對應內存的位置或磁盤位置,其的映射方式有3種:分頁式、分段式和段頁式,下面一起來看看:

        1.分頁式虛擬存儲器

        分頁式存儲器把內存和虛擬地址空間都劃分成大小相等的頁面,磁盤和內存按頁面為單位交換信息。通常把虛擬地址空間的頁面成為虛擬頁/邏輯頁(VP),內存中的頁面成為頁框/物理頁(PP)。

        1.1頁表

        操作系統在內存中給每個進程生成一個頁表,頁表中對應每個虛擬頁都有一個表項,表項內容包括存放位置字段、裝入位、修改位、替換控制位、存取權限位、禁止緩存位。它們的作用分別如下:

        ①存放位置字段:用來建立虛擬頁和物理頁之間的映射,用于虛擬地址到物理地址的轉換

        ②裝入位:也稱有效位或存在位,為1表示磁盤數據已調入內存,位置字段指向物理頁號。為0表示磁盤數據沒有被調入內存,若位置字段為null則說明此位置空閑,若不為null則說明等待磁盤數據調入內存

        ③修改位:標識頁面是否被修改過,在執行回寫策略時根據此字段判斷是否需要把數據寫回磁盤

        ④替換控制位:標識頁面使用情況,配合替換策略設置

        ⑤訪問權限位:標識頁面是可讀可寫、只讀、只可執行,用于存儲保護

        ⑥禁止緩存位:標識頁面是否可以裝入Cache,保證磁盤、內存、Cache數據一致性

        頁表、內存、磁盤的映射示意圖如圖1所示:

        映射示意圖

        圖1映射示意圖

        例如,CPU執行一條指令需要訪問數據,該數據正好在虛擬頁VP1中,查詢頁表可知,VP1裝入位為1,對應的物理頁PP0,這時就可以通過地址轉換部件把將虛擬地址轉換為物理地址,然后訪問PP0的數據。

        如果數據在VP6中,VP6對應的裝入位為0,表示頁面缺失,發生“缺頁”異常,需要操作系統進行“缺頁”異常處理程序處理。“缺頁”異常處理程序根據頁表中VP6對應的存放位置字段,從磁盤中將數據讀出,然后找一個空閑的物理頁框存放,若內存中沒有空閑的頁框,則選擇一個頁面替換到磁盤上。

        因為采用寫回策略,所以頁面淘汰時,需要根據修改位確定是否要寫回磁盤。缺頁處理過程中需要對頁表進行相應的更新。缺頁異常處理結束后,程序回到原來發生缺頁的指令繼續執行。

        對于VP0和VP4,隨著進程的動態執行,這些頁面可能就會有了具體的數據。例如,當調用malloc函數時,堆區增長,新增的堆區正好與VP4對應,則操作系統就在磁盤上分配一個存儲空間給VP4,同時把VP4頁表項中的存放位置字段填上,對應的就是磁盤上的起始地址。之后便等待訪問到這頁數據時,再次執行上面的缺頁異常流程,讀取數據。

        1.2地址轉換

        上面說完了頁表、內存、磁盤的映射關系和數據讀取流程,其中有個環節是需要把虛擬地址轉換為真正的物理地址,轉換工作由CPU中的存儲器管理部件(MMU)完成,具體做法如下:

        ①虛擬地址分為兩部分:高位為虛擬頁號,低位為頁內偏移地址

        ②物理地址也分為兩部分:高位是物理頁號,低位為頁內便宜地址

        ③每個進程都有一個頁表基址寄存器,存放該進程頁表首地址

        ④根據頁表基址寄存器找到對應的頁表,由虛擬地址高位部分的虛擬頁號為索引,找到頁表項

        ⑤若裝入位為1,則取出對應的物理頁號,然后和虛擬頁內地址拼接,得到司機的物理地址

        ⑥如裝入位為0,則交給操作系統執行“缺頁”處理

        執行流程如圖2所示:

        執行流程

        圖2執行流程

        1.3快表

        從上述過程可以看出,每次訪問內存都需要先查頁表,然后根據規則找出物理地址,然后再訪問實際的物理地址對應的數據。如果發生缺頁,還要進行頁表替換、頁表修改等操作,訪問內存的次數就更多。采用虛擬存儲器,訪問內存的次數增加了很多。那有沒有什么辦法減少訪問次數,還能達到同樣的效果呢?

        答案是可以的,我們可以把頁表中最活躍的幾個頁表項復制到高速緩存Cache中,這種高速緩存Cache中的頁表項組成的頁表稱為快表(TLB)。

        這樣在進行地址轉換時,先查看快表中是否命中,如果命中,則無需訪問內存中的頁表即可。通過這種方式可大大降低內存訪問的次數,提升效率。

        到此可以總結一下CPU訪問數據的完整過程,如圖3所示:

        CPU訪問數據的完整過程

        圖3CPU訪問數據的完整過程

        2.分段式虛擬存儲器

        分頁方式的虛擬存儲器優點是頁長固定,易管理,不存在碎片。但缺點是頁長與程序的邏輯大小無關。例如,某個時刻一段代碼有一部分在內存中,另外一部分則在磁盤上,不利于編程時的獨立性,且給存儲保護和存儲共享造成了麻煩。所以又提出了分段式的存儲器。把一段程序按照類別劃分為段,例如方法、操作數、常數劃分到不同的段中,每個段都是一組相對完整的邏輯信息。這樣做的好處是可以按不同類型進行存儲管理,也利于多個程序組合時,對同一段邏輯可以組合復用提供了便利。

        分段的方式具體如下:

        ①虛擬地址由段號和段內地址組成

        ②內存按程序中的段劃分,每個段在內存中的位置記錄在段表中

        ③每個進程都有一個段表,每個段在段表中有一個段表項,標識段的位置、長度、訪問權限、使用和裝入情況

        分段存儲器把虛擬地址轉換為物理地址流程如圖4所示:

        虛擬地址與物理地址的轉換

        圖4虛擬地址與物理地址的轉換

        2.1分段式虛擬存儲器優點

        ①段的劃分與程序的自然分界相對應

        ②段的易于編譯、管理、修改和保護,也便于多道程序共享

        ③段具有動態可變長度,允許自由調度以便利用內存空間

        2.2分段式虛擬存儲器缺點

        ①段的長度不相同,起點和終點不固定,給內存分配帶來麻煩

        ②容易在內存中留下零碎空間,導致空間浪費

        3.段頁式虛擬存儲器

        段頁式虛擬存儲器是結合了分頁式和分段式的優點,具體方式如下:

        ①程序按模塊分段,段內再分頁,用段表和頁表進行兩級定位管理

        ②段表中每個表項對應一個段,每個段表中包含一個指向該段頁表起始位置以及控制信息和保護信息

        ③頁表指明該段各頁在內存中的位置和是否裝入、修改等狀態信息

        ④程序數據調入調出按頁進行,又可以按段實現共享和保護。

        缺點是地址映射過程需要多次查表。

        每個用戶進程有一個基號,標識用戶進程,進程的段表起始地址存放在各自對應的基地寄存器中,格式如圖5所示:

        用戶進程格式

        圖5用戶進程格式

        邏輯地址到物理地址的轉換過程如圖6所示:

        邏輯地址與物理地址的轉換

        圖6邏輯地址與物理地址的轉換

        4.存儲保護

        為了避免多個程序運行時互相干擾,或者某個程序不合法地訪問了其他程序的數據,應該對每個程序進行存儲保護,保護的對象包括操作系統和用戶程序。

        (1)對操作系統存儲保護主要是硬件提供支持:

        ①支持至少2種運行模式:管理模式、用戶模式,操作系統在管理模式下管理各種功能,用戶進程運行在用戶模式下

        ②部分CPU狀態只能由系統進程寫,用戶進程只能讀:例如段表、頁表首地址、TLB內容等

        ③提供讓CPU在管理模式和用戶模式之間切換的機制:通過“異常”處理讓CPU從用戶模式切換到管理模式,異常處理完成后通過“返回”指令讓CPU回到用戶模式

        (2)對于用戶進程的保護主要分為訪問方式保護和存儲區域保護:

        ①訪問方式保護:檢查“訪問越權”,通過段表或頁表的訪問權限位控制,例如共享區域只可讀不可寫,程序段只可執行或只讀,未授權區域不可訪問等

        ②存儲區域保護:檢查“地址越界”,通過段頁的起始地址和終止地址控制

        總結

        以上就是虛擬存儲器的實現方法介紹了。虛擬存儲器是為了給用戶提供更大的隨機存取空間而采用的一種存儲技術。它將內存與外存結合使用,好像有一個容量極大的內存儲器,工作速度接近于主存,每位成本又與輔存相近,在整機形成多層次存儲系統。目前已成為計算機系統中非常重要的部分。

        〔壹芯微〕專業研發生產二極管,三極管,MOS管,橋堆,專注領域,專業品質,研發技術-芯片源自中國臺灣,擁有全工序封裝生產線,配備高標準可靠性實驗室,引入國外先進測試儀器,檢測設備,以及專業團隊豐富的生產經驗,保障每個器件的參數和性能的充分穩定性,同時實現了高度全自動化生產,大幅度降低人工成本,并與中國臺灣芯片制造商達成合作,產品低于同行10%,壹芯微還提供有選型替代,技術支持,售后FAE,歡迎點擊頁面右側"在線客服" 咨詢了解產品詳情和最新報價,提供免費樣品送予測試

        手機號/微信:13534146615

        QQ:2881579535

        推薦閱讀

        【本文標簽】:

        【責任編輯】:壹芯微 版權所有:http://www.kannic.com/轉載請注明出處

        最新資訊

        1高效能源轉換:正激和反激開關電源的設計原理揭秘

        2突破性的儀表放大器抑制方法:優化信號處理效率

        3優化MOS管開關性能:應對米勒效應的最新技術與方法

        4優化電路設計:7800系列穩壓器的最佳實踐指南

        5三端穩壓管內部結構解析:探秘穩壓管電路的構成與工作原理

        6預防轉換器啟動時的輸出涌流:重要性與應對方法

        7實用指南:步步詳解如何搭建自己的隔離式半橋柵極驅動器系統

        8精益求精:優化簡單電流監測電路的性能與穩定性

        9高效應對EMC挑戰:電源PCB設計的5個關鍵步驟

        10全橋驅動螺線管技術:提高關斷速度的實用方法

        全國服務熱線13534146615

        地 址/Address

        工廠地址:安徽省六安市金寨產業園區
        深圳辦事處地址:深圳市福田區寶華大廈A1428
        中山辦事處地址:中山市古鎮長安燈飾配件城C棟11卡
        杭州辦事處:杭州市西湖區文三西路118號杭州電子商務大廈6層B座
        電話:13534146615 企業QQ:2881579535

        掃一掃!

        深圳市壹芯微科技有限公司 版權所有 | 備案號:粵ICP備2020121154號

        主站蜘蛛池模板: 桃园市| 免费精品国偷盗摄在线| 一区二区三区四区日韩| 国产成人精品在线观看| 日本人妻永久视频网站| 日韩欧美在线综合| 99热这里只/这里有精品| 久久天堂综合亚洲伊人hd| 国产成人精品福利网站| 国产精品视频一区国模私拍| 亚洲AV乱码一区二区三区按摩| 旬邑县| 亚洲AV无码一区二区乱子伦AS| 欧美一级特黄乱妇高清视频| 一本一本久久a久久精品综合不卡| 国产精品免费在线1| 夜夜操国产天天干精品| 未满十八私人高清免费影院| 亚洲一区二区三区小蜜桃| 巨爆乳中文字幕爆乳区| 2020国产成人精品视频| 刺激第一页720lu久久| 911在线区啪国自产中文字幕 | 看曰本女人大战黑人视频| 妺妺窝人体色www聚色窝韩国| 在线精品视频一区二区三四| 久久丫精品国产亚洲av不卡| 中文字幕在线精品乱码| 亚洲成AV人片在线观看无App | 人妻[21P]大胆| 九九线精品视频在线观看视频| 日韩熟女精品一区二区三区| 中文无码AV人妻系列| 欧美日韩激情亚洲国产| 国产成AV人在线观看天堂无码| 久久国产国内精品国语对白| 亚洲精品一二三区尤物tv| 国产尤物精品视频| 毛片高清无码在线不卡| 久久精品中文字幕一区| 国产无码高清一二三四区|