MMU 和 MPU 的區別


MMUMPU 是 CPU 使用的記憶體管理硬體。程式生成的所有邏輯地址的集合稱為“邏輯地址空間”。與這些邏輯地址相對應的所有物理地址的集合稱為“物理地址空間”。使用者程式處理虛擬地址;它永遠不會看到真實的物理地址。

閱讀本文以瞭解更多關於 MMU 和 MPU 以及它們之間區別的資訊。

什麼是 MMU?

MMU(記憶體管理單元)用於虛擬記憶體和記憶體保護操作。虛擬地址到物理地址的執行時對映由 MMU 完成,MMU 是一種硬體裝置。

MMU 使用以下機制將虛擬地址轉換為物理地址。基址暫存器中的值會新增到使用者程序生成的每個地址中,該地址在傳送到記憶體時被視為偏移量。例如,如果基址暫存器值為 10000,則使用者嘗試使用地址位置 100 將被動態重新分配到位置 10100。

什麼是 MPU?

MPU(記憶體保護單元)通常是 CPU 的一部分,僅用於記憶體保護。它通常在低功耗處理器中實現,在這些處理器中不需要 MMU 功能(如虛擬記憶體管理),只需要記憶體保護。

MPU 主要用於簡單的系統,因為它可以以較低的複雜性和成本提供所有必要的特性。

MMU 和 MPU 的區別

以下是 MMU 和 MPU 之間的重要區別:

關鍵

MMU

MPU

定義

MMU 代表記憶體管理單元。

MPU 代表記憶體保護單元。

主要操作

MMU 用於多種與記憶體相關的操作,例如虛擬記憶體、虛擬地址到物理地址的轉換以及記憶體保護。

MPU 僅用於記憶體保護。

功能

MMU 也可以執行 MPU 的功能。

MPU 不能用於執行 MMU 的功能。

用法

執行高階作業系統(如 Windows、Linux 和 Android)的處理器使用 MMU。此類處理器稱為應用程式處理器。

執行 RTOS 操作(如 ThreadX)的處理器使用 MPU。此類處理器稱為基帶處理器,在執行 3G/4G 協議的地方很有用。

銀行切換

MMU 能夠進行銀行切換。

MPU 無法執行銀行切換。

快取控制

MMU 可以執行快取控制操作。

MPU 無法執行快取控制。

先進性

MMU 是更先進的硬體。

MPU 是相對不太先進的硬體。

開銷

MMU 使用更多開銷。

MPU 使用更少的開銷。

結論

您應該注意到的最顯著的區別是,MMU 用於多種與記憶體相關的操作,例如虛擬記憶體、虛擬地址到物理地址的轉換以及記憶體保護;而 MPU 僅用於記憶體保護。

更新於: 2023 年 2 月 21 日

2K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告