1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

ARM MMU

Discussion in 'Embedded' started by xss11, Mar 31, 2005.

  1. xss11

    xss11 Guest

    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.
     
    xss11, Mar 31, 2005
    #1
    1. Advertisements

  2. 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
     
    Vadim Borshchev, Mar 31, 2005
    #2
    1. Advertisements


  3. 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

    This message is intended to be my own personal view and it
    may or may not be shared by my employer Atmel Nordic AB
     
    Ulf Samuelsson, Apr 1, 2005
    #3
  4. xss11

    xss11 Guest


    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.
     
    xss11, Apr 4, 2005
    #4
  5. It can vary. OMAP1510 has instruction TLB and data TLB, 64-entry each.

    Page or section (they are different).


    Vadim Borshchev
     
    Vadim Borshchev, Apr 5, 2005
    #5
  6. pingouinshark, Apr 12, 2005
    #6
  7. (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, Apr 12, 2005
    #7
  8. xss11

    Casey Guest

    Robert Kaiser said
    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
     
    Casey, Apr 13, 2005
    #8
  9. xss11

    Richard Guest

    True, but in most of the applications I've been involved in, speed was
    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.

    http://www.FreeRTOS.org
     
    Richard, Apr 13, 2005
    #9
  10. xss11

    Lanarcam Guest

    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.
     
    Lanarcam, Apr 13, 2005
    #10
  11. xss11

    Casey Guest

    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
     
    Casey, Apr 13, 2005
    #11
  12. On Tue, 12 Apr 2005 05:50:48 -0500,
    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 Schick, Apr 15, 2005
    #12
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.