Re: Hi
- From: "rickman" <gnuarm@xxxxxxxxx>
- Date: 23 Mar 2007 08:59:06 -0700
On Mar 22, 1:33 pm, Joseph <joseph....@xxxxxxxxxxxxxxxxxxxx> wrote:
You are not the only one who feel confused. The same things confused
quite a few people inside ARM :-)
For history of older ARM architectures, the Wikipedia got a nice table
summarised the processor cores and their corresponding architecture.http://en.wikipedia.org/wiki/ARM_architecture
To make it easier, let's ignore things before ARM7.
1) ARM7 is based on arch v4, with ARM instructions only. StrongARM is a
implementation of v4 arch.
2) Then ARM developed ARM7TDMI, which is v4T, it has the Thumb
instruction set added to it. (offically ARM don't called it Thumb-1,
just Thumb).
3) Afterwards ARM developed the ARM9TDMI core, which is still using same
instruction set, but using two separate bus interface. From ARM9TDMI, we
have the ARM920T, ARM922T, ARM940T.
4) And then a new enhancement in instruction set take place, hence
architecture v5TE. Processor core 926, 946, 968 and their variants are
example of v5TE.
5) ARM10 is just another newer implementation of v5TE with more features.
6) Architecture v6
ARM1136 come with a new architecture, which include new instructions,
new memory features (e.g. unaligned transfer, new big endian mode), etc.
This is architecture v6.
7) Following ARM1136, ARM developed the ARM1176, which use AXI
and support Trustzone.
8 & 9) Not sure the correct timing order of the following two items:
- Introducting the Thumb-2 instruction set, support on ARM1156T2
Thumb-2 is a superset of Thumb. Instead of calling this enhancement
v7, it was called v6T2. And from history, transition from v4 to
v4T didn't have a version number change either.
- ARM11MP core developed to support SMP (Symmetric Multi Processing)
10) Finally architecture v7 is developed.
- Instead of having just one architecture, ARM divided the architecture
into 3 profiles to target different markets.
ARMv7-A - Cortex-A8 : Applications
ARMv7-R - Cortex-R4, Cortex-R4F : Realtime systems
ARMv7-M - Cortex-M3 : Microcontroller
All of them support Thumb-2. But Cortex-M3 doesn't not support ARM
instructions. Please notice that not all Thumb-2 instructions are
implemented on Cortex-M3, e.g. co-processor instructions, some of
the DSP stuffs are not supported. These instructions are optional
on ARMv7-M.
11) Cortex-M1
Based on ARMv6 Thumb instruction set, and a number of Thumb-2
instructions, and using the exception models and system features as
in ARMv7-M (Cortex-M3). The Cortex-M1 is intended to be smallest,
and most FPGA friendly processor core. It also have a number of
features specially targeted for FPGA implementation.
Since it doesn't support all the Thumb-2 instructions supported in
Cortex-M3, program code for Cortex-M3 need to be recompiled to be
used on Cortex-M1. But due to similarities between Cortex-M3 and
Cortex-M1, ARM give this processor the "Cortex-M" name. However,
program code for Cortex-M1 should run on Cortex-M3.
(I have ommitted a number of other processor cores like XScale,
ARM7EJ-S, but you can find more about these on ARM web site and in
Wikipedia).
Hope this helps.
Joseph
Joseph,
Thanks so much for the extra strength pain relief! This helps so
much!!!
I do have a couple of further questions to help understand some of the
details.
I understand that ARM7 and all of the other processors other than M3
implement the 32 bit ARM instructions as well as any Thumb
instructions they may use (or not). The M3 only implements the
Thumb-2 instruction set which is a superset of the Thumb
instructions. I am not clear on the M1. I think you are saying it
uses a subset of the Thumb-2 instructions but you mention v6 which
should also include the ARM 32 bit instructions, no? Am I
mininterpreting what the v6 instruction set is or does the M1 just not
include the 32 bit instructions?
Can you also give a lowdown on the letters used as suffixes? I
believe I know what TDMI mean as well as J, but I am not so sure about
F, S, E and others. If you will explain all these in the same simple,
clear language I would appreciate it.
If it is ok with you, I will paraphrase what you have written and post
it on the gnuarm.com web site. I think this is useful info for
everyone.
.
- Follow-Ups:
- Re: Hi
- From: Joseph
- Re: Hi
- References:
- Prev by Date: Re: Hi
- Next by Date: Re: $100 for in place Disassembler .
- Previous by thread: Re: Hi
- Next by thread: Re: Hi
- Index(es):
Relevant Pages
|