ARM MMU

Hi.

I'm working on a TI OMAP processor. My questions are as follows:

If I can work with an identity mapping between physical and virtual address spaces, is there a benefit to using the MMU at all? Isn't it better to leave it Disabled?

Is there a downside to using the MMU? Does it cause extra memory reads from the Translation Table in memory?

Thanks,

s.

Reply to
xss11
Loading thread data ...

Without MMU, your binary image should contain physical addresses and be placed in memory at some certain address (or be built as position-independent image, which has it's own drawbacks). It would be more convenient to have the image starting at virtual address, say, 0, and be placed wherever you want it.

Another function of MMU it to check access permissions. So, better have it enabled.

Yes, on TLB miss. After the TLB entry is loaded, no extra reads, until next TLB miss.

Vadim Borshchev

Reply to
Vadim Borshchev

skrev i meddelandet news: snipped-for-privacy@l41g2000cwc.googlegroups.com...

Disabling the MMU disables the datacache on the ARM9 It also means that you never get pagefaults. I doubt that you gain anything by leaving it disabled.

--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

reads

until

Thanks for the replies. How big is the TLB typically? Does an entry in the TLB correspond to a single address or to a page?

Thanks again, s.

Reply to
xss11

It can vary. OMAP1510 has instruction TLB and data TLB, 64-entry each.

Page or section (they are different).

Vadim Borshchev

Reply to
Vadim Borshchev

This article

formatting link
shows that linux (MMU activated) is slower than uclinux (MM desactivated) on ARM9 regarding context switches So you will have to choose between Real Time performance and memor protectio

Reply to
pingouinshark

(This is a common misconception which refuses to die..)

Real Time != real fast

Real time performance is about determinism, not speed.

The problem with using the ARM9 MMU is that one has to flush the caches when switching between address spaces. This does make average context switch times slow, however, to evaluate a system's real-time properties, you need to look at the worst case: A cache speeds things up in the average case, but for the worst case (i.e. only cache misses) it does not (it may even slow things down sometimes).

Rob

--
Robert Kaiser                     email: rkaiser AT sysgo DOT com
SYSGO AG                          http://www.elinos.com
Klein-Winternheim / Germany       http://www.sysgo.com
Reply to
Robert Kaiser

Not necessarily a misconception - more like a common requirement.

True, but in most of the applications I've been involved in, speed was a critical issue in maintaining real-time status. Determinism doesn't help much if you can't keep up with the real-time demands of your application.

It just depends on the application.

Casey

Reply to
Casey

How do you know you are keeping up with real time demands if your system is not deterministic? You are agreeing with the previous post here.

Richard.

formatting link

Reply to
Richard

was

doesn't

system is

This is the classic debate between soft realtime and hard realtime. You sometimes need high throughput, but you can cope with not meeting deadlines everytime depending upon the needs of the application. TV broadcasting is one such example. Of course, a safety critical device would not tolerate this.

Reply to
Lanarcam

Richard said

No, not really.

Determinism is indeed necessary, but speed is very much a critical issue in many applications. Just being able to accurately predict the reaction time to a stimulus isn't enough if the job can't be finished before the next stimulus occurs.

I mentioned speed more as it relates to processor horsepower while the determinism is more of an RTOS issue.

Casey

Reply to
Casey

Linux uses the MMU for demand paging and protection. If you use the MMU with fixed addressing scheme to protect e.g. code in RAM from being overwritten or to hide peripherals from user-applications I don't think there is any performance loss.

--
42Bastian
Do not email to bastian42@yahoo.com, it's a spam-only account :-)
Use @monlynx.de instead !
Reply to
42Bastian Schick

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.