MMU vs XMMC
ecuageo
Posts: 5
I'm new to microcontrollers but am an experienced developer. I'm interested in building a computer from the propeller and developing somewhat of an operating system for it. This is a hobby and a chance to learn some new principles.
I'm learning about virtual memory and memory management units. Obviously the propeller doesn't have an MMU. I wanted to understand the xmmc solution in more detail, but don't know where there is in-depth documentation on how it works. How does paging/caching work with that model? Is there a way to get around only one cog running xmmc? Etc
Thanks for any time spent on answering my question.
I'm learning about virtual memory and memory management units. Obviously the propeller doesn't have an MMU. I wanted to understand the xmmc solution in more detail, but don't know where there is in-depth documentation on how it works. How does paging/caching work with that model? Is there a way to get around only one cog running xmmc? Etc
Thanks for any time spent on answering my question.
Comments
If using PropGCC, take a look at PropWare. As an experienced developer, you may find the Parallax-supported IDEs a little... lacking. They're great and simple and awesome for beginners, but not very feature-rich compared to CLion and Eclipse. PropWare will provide an easy way to use PropGCC in your existing IDE (or at the command line).
there is a big difference between a MMU and XMMC.
A Memory Management Unit on normal CPUs will swap in or out Memory for your processor, thus allowing you to simulate memory at any address you like. Normally this get used to simplify programming, because each program can assume to have a memory starting at $0. or $100 or whatever the OS likes.
XMMC in PropGCC is a way to use external memory to extend the size of C/C++ programs beyond the 32K HUB ram the propeller has.
Because of the need to fetch the external memory, it is slower but you will be able to run quite large programs.
Still some things need to be in HUB ram. Stacks, variables, cache for external memory, things like that.
@swimdude0614,
not that you are pushing PropWare in any form, aren't you? I am a great fan of JetBrain's also. Mostly because of TeamCity. May need to look at CLion.
Enjoy!
Mike
Who me?! Nooo... I wouldn't do that.
I'm fully dedicated to making PropWare an easy-to-use and highly functional tool for the Propeller. I know it's not all the way there yet, but as you can see from my issues page, a plan is definitely forming.
And yes. Give CLion a try. If you've never used a JetBrains IDE, it's one of the few things I'm more passionate about than PropWare.