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.

Difference between ARM and any other General Purpose Processor

Discussion in 'Embedded' started by Sikandar, Mar 23, 2007.

  1. Sikandar

    Sikandar Guest

    Hi All,

    Pls tell me the diff b/w ARM processor and anyother General Purpose
    Processor.


    Thanks,
    Sikandar.
     
    Sikandar, Mar 23, 2007
    #1
    1. Advertisements

  2. Sikandar

    Pete Fenelon Guest

    Take your homework to your professor.

    pete
     
    Pete Fenelon, Mar 23, 2007
    #2
    1. Advertisements

  3. An ARM processor uses an Instruction Set Architecture
    developed by ARM Ltd, and other processors don't :)
     
    Ulf Samuelsson, Mar 23, 2007
    #3
  4. Sikandar

    Stan Guest

    Why ARM procesor are used by many people ?
     
    Stan, Mar 23, 2007
    #4
  5. Sikandar

    CBFalconer Guest

    It's a plot by the Powers That Be.
     
    CBFalconer, Mar 23, 2007
    #5
  6. Sikandar

    borkhuis Guest

    There is no ARM processor. There is a ARM processor core, that can be
    used to build an ARM based processor. And yes, there are a lot of ARM
    based processors, just like there are a lot of MIPS-based processors.
    I don't know which is used more often, but the processor you choose
    depends on the features you need on a processor, the processing power
    and the budget.

    Kind regards,
    Johan Borkhuis
     
    borkhuis, Mar 23, 2007
    #6
  7. Sikandar

    wertyWasHere Guest

    The ARM processor is a 5 digit processor, most others are 8, 16, 32 or 64
    bit.
     
    wertyWasHere, Mar 23, 2007
    #7
  8. ARM cores lived a pretty insignificant life until Apple decided
    to design the Newton PDA.
    The ARM chip exisited, and did the job so Apple Engineers selected it.
    Every ASIC vendor wanted to be in this business, and they were
    aware of the requirement of binary compatibility from their experience
    from the PC market, so a lot of the ASIC vendors licensed the ARM
    core. Intel and Motorola refused to license their cores for ASIC use.
    When Apple canned the Newton the ASIC vendors were sitting
    with a core, which started to become useful in different ASIC projects.
    Then some vendors started to promote ARM7 as general purpose
    microcontrollers, (Atmel was one of the first).
    DEC, then Intel started to promote the StrongARM followed by XScale.
    The ARM9 based AT91RM9200, introduced is very good for the embedded
    Linux market, and the AT91SAM926x family seems to even more successful.
    When NXP released their flash based ARM7, quickly followed
    by the Atmel SAM7 (rest of competition hardly counts)
    people began to see the possibility to use same toolset with many vendors.
    People believe that they will be able to live with ARM for a long time.
    At the same time, the makers of ASSPs and especially mobile phones
    and PDAs have converged on ARM and this has made it very attractive
    for third party vendors.
    When potential customers see the variety of support for ARM, then
    it is going to be a great motivator to select it.
    ARM cores are not really *excellent* cores, MIPS cores are generally
    faster, but good enough for many applications
    MIPS cores have other problems. IIRC You have to use a compiler
    since there are strange things in the compiler which would confuse
    an ordinary assembler programmer.
     
    Ulf Samuelsson, Mar 23, 2007
    #8
  9. Sikandar

    Paul Gotch Guest

    Historical accident mostly. Things really took off as ARM had the right
    product (the ARM7TDMI) in the right place (mobile phones) at the right time
    (circa 1995).

    The ARM7TDMI gave the developers a full 32 bit processor which they could
    also use with the 16 bit THUMB instruction set.

    While it might not seem important now the code size benefits of THUMB meant
    that the vendors could minimise the the amount of flash in their phone and
    when you are making millions of units being able to halve the amount of flash
    you need makes a very big difference to your bottom line.

    -p
     
    Paul Gotch, Mar 23, 2007
    #9
  10. Sikandar

    Frank Miles Guest

    Just to make sure... that's only in Thumb mode, right?

    ....had to ask...

    -f
    --
     
    Frank Miles, Mar 23, 2007
    #10
  11. You are probably referring to instructions being synthesized
    by the assembler (not the compiler), e.g. MIPS doesn't have
    an instruction to load a 32-bit constant, nevertheless the
    assembler understands e.g. "la <32-bit-value>" and generates
    an appropriate sequence of instructions. Also, the AT register
    ("assembler temporary") can be used as scratchpad register
    by the assembler at any time, so an assembly programmer should
    not use it. However, all these features can be disabled
    by assembly pragmas.

    So, you *can* program MIPS in assembly if you really need to.

    Rob
     
    Robert Kaiser, Mar 24, 2007
    #11
  12. Sikandar

    David Kelly Guest

    But don't forget they usually come in complementary pairs and used in
    parallel.
     
    David Kelly, Mar 24, 2007
    #12
  13. Sikandar

    Alt Beer Guest


    Many arms make light work
     
    Alt Beer, Mar 25, 2007
    #13
  14. Sikandar

    David Brown Guest

    That is not specific to MIPS - any RISC processor that does not have
    variable length instructions will be unable to load full-width constants
    directly.

    My guess is that he is referring to delay slots (a useful idea, which
    can greatly reduce the wasted cycles for pipeline flushes on branches).
    On the MIPS, branch and jump instructions do not act immediately -
    they work more as sort of "do the next two instructions, *then* branch"
    instructions. Thus in a function return, you'll get a "return"
    instruction followed by the last two instructions of the function. This
    can get very confusing if you are not used to it, especially if you want
    other conditional instructions during the delays. Additionally, the
    number of delay slots varies slightly in different circumstances, and
    between different MIPS cores. I believe the assembler can give you some
    help, but it's easier to let the compiler get it right!
     
    David Brown, Mar 26, 2007
    #14
    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.