This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

MMU implementation.

Can a software memory management unit
be implemented on a 8032 microcontroller ?

Parents
  • In theory, I'm sure you could run an MMU with an 8051.

    In practice, a typical MMU implementation is huge compared to the entire 8051. (The ARM7 MMU, for example, is about the same size as the ARM7 core plus its instruction and data caches.) I doubt anyone ever built an 8051 derivative with an MMU. It wouldn't make much sense. Given the gate count of the MMU, you might as well go ahead and make the processor core larger.

    Sounds more like you want to overlay code. The usual 8051 banking mechanism would do. You'd write custom banking routines to copy the new bank into SRAM. Performance will be very slow, so you'll need to be very careful to organize your program in relatively discrete overlays that interact very little. I wouldn't expect you could afford to copy 16KB of data on every function call.

Reply
  • In theory, I'm sure you could run an MMU with an 8051.

    In practice, a typical MMU implementation is huge compared to the entire 8051. (The ARM7 MMU, for example, is about the same size as the ARM7 core plus its instruction and data caches.) I doubt anyone ever built an 8051 derivative with an MMU. It wouldn't make much sense. Given the gate count of the MMU, you might as well go ahead and make the processor core larger.

    Sounds more like you want to overlay code. The usual 8051 banking mechanism would do. You'd write custom banking routines to copy the new bank into SRAM. Performance will be very slow, so you'll need to be very careful to organize your program in relatively discrete overlays that interact very little. I wouldn't expect you could afford to copy 16KB of data on every function call.

Children