Where can i get a list of all these family of ARM processors and their differences
On the famous site : http://infocenter.arm.com
Well first of all you've got the instruction set architecture (ISA) as described in that link at infocentre.arm.com. They have 3 different levels A, R and M for different markets, and different versions through time, the latest in general use is ARMv7 and ARMv8 is the latest and greatest with a new 64 bit architecture for the A series.
ARM licences designs for different cores like the ARM Cortex-M3 or ARM Cortex-A53 which manufacturers can integrate into their own chips. It also licences the instruction sets so companies like Apple or Applied Micro can design their own cores. The ARM cores are the Cortex family. The ones in Apples latest iPhones are from its own Cyclone design, and Applied Micro have designed the X-Gene ones, both are designed to support the ARMv8-A architecture. Designing something like the X-Gene is much more difficult than buying a ready made Cortex design from ARM but they believe they can make something better for their own markets. ARM designs tend to aim more at the mass market and be easy to move to different processes rather than optimizing for a particular job.
This glossary may help with terms when you get into it more, it doesn't include basic things like ISA and IP (Intellectual property) or Cortex I'm afraid
ARM Information Center - Glossary
Hi moix,
the following Wikipedia article will help you.
http://en.wikipedia.org/wiki/List_of_ARM_microarchitectures
Best regards,Yasuhiko Koumoto.
Thanks folks for all the useful information. I am getting the hang of things as of now. Thank you again.
Have a look at this introductory guide which I wrote a little while ago: Navigating the Cortex Maze
There are some additional ones which look at the three architecture profiles in more detail:
ARMv7-A - Power to the People
ARMv7-R - Hidden Power
ARMv6-M vs ARMv7-M - Unpacking the Microcontrollers
Hope this helps.
Chris
Thanks chris.I read through your write-up and it has definitely helped me clarify a lot of stuff. I will most likely be playing around with the x-gene storm version of ARM64 SOC. I am looking at ways to optimize system s/w module.(which currently runs on x86) example could be a device driver to use some of the ARM64 performance features. I am yet to read the instruction set or manual. Thanks and will probably be asking many more questions.
Ah yes ARM64, and thereon hangs a tale. Linus Torvalds had a rant, and quite rightly too I think, about Aarch64 which is the name ARM gave to the 64 bit instruction set and ARMv8-A its name for the architecture
LKML: Linus Torvalds: Re: [PATCH 00/36] AArch64 Linux kernel port
So you'll get ARCH=arm64 when talking about operating systems, aarch64 when talking about a compiler. and references to armv8 when distinguishing between armv7 and armv8 features like cryptography.