You see to have an odd idea of just how big and slow MMUs are - they're neither big nor slow. They're so small in fact they can be found in almost every processor except the very smallest microcontrollers.
In other words my friend you have no clue about HW design.
If you are going to reply to me and quote me you could at least read the entire post.
Secondly, you've blatantly quoted me out of context.
If you really think that comment is inaccurate or show any faulty knowledge on my part please explain why.
however...
An MMU might have been a big deal in 1985, but it's not today. Some of the high end processors may have large MMUs but as I said (on the next line that you didn't quote) we're not talking about these. In any case much of these will be taken up by the TLBs, these will not be necessary.
Please get a clue how much resources that would eat in a FPGA design and then come back with proposals.
If I would have the choice to
A) add a MMU around my blitter
B) to get for the same resources a Vector unit compareable to CELL/ALTIVEC/SSE
For me the choice will be clear.
A vector unit comparable to those is going to be quite considerably larger than any MMU, if you don't believe me have a look at a die photo of one of the Cell's SPEs - then compare how big it is to the MMU *it contains*.
--
There is a long term general anathema to using MMUs in the Amiga community, possibly based on the assumption that they slow memory access. More knowledgeable folks could argue that page table walks are slow and you have to switch page tables every time you switch tasks.
However, today, none of this is true.
MMUs will increase memory latency but the effect of this is utterly insignificant, I learned this when I first used BeOS about ten years ago. It had full memory protection but it is every bit as responsive as any Amiga.
CPU designers know the slow parts in their designs and fix them in subsequent designs. TLBs cache pages and this means page table walks are relatively rare. Modern processors also shouldn't need to change the page table every time they switch tasks, e.g. the processors in my mobile phone have full memory protection and virtual memory support and they will not switch tables on a task switch - I know because I happen to of had the features of those particular processors explained to me yesterday. I cannot say if it's true for all modern processors though.
However, as I said in my previous post what I'm suggesting is much simpler than this so wont have any of these complexities.
I have some ideas for implementation so I will put these down.