This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

What is the difference between M4 and MP series

Note: This was originally posted on 8th July 2013 at http://forums.arm.com

Hello

[size=2]
[/size]

[size=2]I have to port a project that was written for the ARM11 MPcore to a project that will run on M4 (actually it is freescale Kinetis K60with M4 inside it)[/size]





[size=2]I saw in the documents of the ARM11 MP that it has 2 levelTLB, seven modes of operation (FIQ, IRQ, Supervisor, Abort, System, Undefinedmode), ...[/size]



In the documentation for the M4 I don't find any of it.



May I ask if it is exist in the M4 (K60) and what is themain differences between those two processors ?



Thanks a lot

  OM

  • Note: This was originally posted on 9th July 2013 at http://forums.arm.com

    Hi

    Thanks a lot for an excellent detailed answer.
    Yes, I am new to the M3 family (and to ARM in general)

    I read the two chapters here
    http://www.arm.com/support/resources/arm-books/the-definitive-guide-to-the-arm-cortex-m3.php

    1. Is it possible to download the whole book somewhere ? (I mean, free of charge)
    2. I wasn't aware of Thumb2 instruction set.
    Is the integer type is 32 bit or 16 ?
    If it is 32 bits, does the access to it is in one cycle or two ?
    (I didn't find what is the size of the data bus)

    Thanks a lot and have a great day
      OM

  • Note: This was originally posted on 9th July 2013 at http://forums.arm.com

    Regarding questoin 1, I found PDF of the whole book. Thanks a lot.

    Can someone help regarding the second question ?
    (the one with the thumb2, the size of data bus, and atomic access to int (if it is 32 bits wide)

    Thanks
  • Note: This was originally posted on 10th July 2013 at http://forums.arm.com

    Thanks a lot
  • Note: This was originally posted on 9th July 2013 at http://forums.arm.com

    [color=#222222][font=Arial, Helvetica, sans-serif]> 2. I wasn't aware of Thumb2 instruction set.[/font][/color] Is the integer type is 32 bit or 16 ?

    The Cortex-M family are still all 32-bit cores, so the register size etc is still 32-bits. Thumb introduces some 16-bit instructions, but they still operate on 32-bit data registers.

    > If it is 32 bits, does the access to it is in one cycle or two ?

    From the instruction set side of things each register load is a single instruction. Bus cycles depend on the implementation. It is quite common for external ROM or Flash to only have an 8 or 16-bit data bus to reduce pin-out on some MCU designs, so 32-bit accesses take multiple cycles, but this is all managed in hardware. Internal memory inside the MCU is normally using a 32-bit data path, but not always.

    ARM only design the CPU core, so for full device memory system specifications you will need to check with a specific manufacturer.

  • Note: This was originally posted on 9th July 2013 at http://forums.arm.com

    > In the documentation for the M4 I don't find any of it.


    Correct =)

    > what is the main differences between those two processors ?

    The ARM11 is an ARMv6 processor. It was designed as a applications processor for running full-fat operating systems such as Linux, Windows CE, etc, so comes with an MMU, caches, etc.

    The Cortex-M4 is an ARMv7M processor. This has a different processor architecture designed to simplify the core (smaller, more power efficient), and make it easier to program for (fewer operating modes, only implements Thumb/Thumb2 (no "ARM" ISA), you can write most code in C with no need for assembler). As a micro-controller it is designed to be plugged directly to a bus with a local SRAM, so it has no cache or MMU, but can have an optional MPU (memory protection unit).


    If you are new to the Cortex-M series I would recommend the "The Definitive Guide to the ARM Cortex-M3" book. It doesn;t cover all of the Cortex-M4 changes, but teaches all of the essentials needed for getting started on the Cortex-M - most of the content is the same for both.
    HTH,
    Iso