日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CPU和MMU(内存管理单元)

發布時間:2023/11/30 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CPU和MMU(内存管理单元) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CPU的架構:要求能夠理解從源程序到微指令的整個經歷過程:存儲器的層次結構(網絡資源下載到硬盤、磁盤緩存、內存、Cache、寄存器);CPU的四大部分:ALU、CU、中斷系統和寄存器;程序執行的整個過程(高級語言機器、匯編語言機器、操作系統機器、機器語言機器和微指令系統)。

進程控制塊PCB位于內核空間。

MMU(內存管理單元):包括從邏輯地址到虛擬地址(線性地址)再到內存地址的變換過程、頁式存儲管理、段式存儲管理、段頁式存儲管理、虛擬存儲管理(請求分頁、請求分段、請求段頁)。 MMU位于CPU內部,可以假想為一個進程的所需要的資源都放在虛擬地址空間里面,而CPU在取指令時,機器指令中的地址碼部分為虛擬地址(線性地址),需要經過MMU轉換成為內存地址,才能進行取指令。MMU完成兩大功能:1.虛擬地址到內存地址的地址變換;2.設置修改CPU對內存的訪問級別。比如在Linux的虛擬地址空間中,3-4G為內核空間,訪問級別最高,可以訪問整個內存;而0-3G的用戶空間只能訪問用戶空間的內容。其實這也是由MMU的地址變換機制所決定的。對于Inter(英特爾)CPU架構,CPU對內存的訪問設置了4個訪問級別:0、1、2、3(如上圖所示),0最高,4最低。而Linux下,只是使用了CPU的兩種級別:0、3。CPU的狀態屬于程序狀態字PSW的一位,系統模式(0),用戶模式(1),CPU交替執行操作系統程序和用戶程序。0級對應CPU的內核態(特權態、管態、系統態),而3級對應用戶態(普通態或目態),這其實是對內核的一種保護機制。例如,在執行printf函數的時候,其本身是在用戶空間執行,然后發生系統調用,調用系統函數write將用戶空間的數據寫入到內核空間,最后把內核的數據刷到(fsync)磁盤上,在這個過程中,CPU的狀態發生了變化,從0級(用戶態)到3級(內核態)。

綜上,MMU只是在讀內存和寫內存完成地址變換,以及更改CPU的訪問級別。

總結

以上是生活随笔為你收集整理的CPU和MMU(内存管理单元)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。