S3C2440里面帶的是MMU,而現在流行的Cortex-M3/4 里面帶的是MPU。
MMU vs MPU
內存是現代計算機最重要的組件之一。因此,它的內容不能被任何錯誤的應用所篡改。這個功能可以通過MMU(Memory Management Unit)或者MPU(Memory Protection Unit)來實現。盡管這個兩個東西有同樣的基本功能,但是它們之間還是存在一些不同。MMU被認為是比MPU更先進的設備。MMU能完成MPU的所有工作,並且它還具備MPU沒有的一些高級特性。
MMU具備而MPU不具備的特性包括:緩存控制,總線仲裁,bank切換。這些特性是更復雜的計算機所需要的,以便信息處理流程更順暢無誤。通過使用MMU,你能優化你的計算機性能,因為它可以讓微處理器不用關心上述:緩存控制,總線仲裁,bank切換任務,由獨立的MMU單元來全權負責。
如果你使用的是簡單計算機,不需要做多任務或者相關處理,使用MMU可能不是最好的做法。首先要考慮的是價格和復雜性,因為使用先進的MMU會帶來更高的價格和復雜度。相比於簡單的MPU,使用MMU會給系統帶來不必要的負擔。如果主處理器不夠快,使用MMU會造成一些問題。
選擇MMU還是MPU更大程度上取決於構建系統的規模和復雜度。如果的你系統足夠大使用MMU會帶來好處。如果你構建一個可靠地簡單系統,MMU是不建議選擇的。MPU將提供必要的功能,同時降低復雜性和成本。
總結:
MMU比MPU更先進
MMU能覆蓋MPU的所有功能
MMU能實現緩存控制,總線仲裁,Bank切換,而MPU不能
MPU比MMU更簡單,使用開銷也更少
Memory is one important component in modern computing. As such, it is necessary that its contents are not corrupted by any errant application. This function can be done by an MMU (Memory Management Unit) or by an MPU (Memory Protection Unit). Although they both do the same basic function, there are a number of differences between an MMU and an MPU. An MMU is considered to be a more advanced device than an MPU. An MMU is capable of doing the job of an MPU along with other more advanced features that are absent in the latter.
The features that are present in an MMU and not in the MPU include cache control, bus arbitration, and bank switching. All these features are necessary in more complex computers as they allow the flow of information to be smoother and without any problem. By using an MMU, you can also optimize the performance of your computer as it would off-load the said tasks from the microprocessor.
But if you are dealing with a very simple computer that does not do multi-tasking and other related processes, using an MMU may not be the best thing to do. The primary consideration would be price and complexity as employing the more advanced MMU would be more costly and more complex. It may also tax the system unnecessarily as MMU units utilize more overhead compared to the far simpler MPUs. If the main processor used is not fast enough, using an MMU may cause problems.
Choosing between an MMU and MPU is largely dependent on the scale and complexity of the system being built. An MMU is recommended if your system is large enough to benefit from its capabilities. If you are building a relatively simply system, using an MMU is not advisable. An MPU would provide the necessary capabilities while keeping complexity and cost down.
Summary:
An MMU is more advanced than an MPU
An MMU is able to do the job of an MPU
An MMU is capable of cache control while an MPU is not
An MMU is capable of bus arbitration while an MPU is not
An MMU is capable of bank switching while an MPU is not
An MPU is simpler and uses less overhead than an MMU