2 The Smart “Things” in IoT
69
been crafted over the last several years including ARMv1, ARMv2, ARMv3 . . .
ARMv8, etc. On the other hand, the way a given architecture is implemented and
the corresponding blueprint of the transistors is known as a core. It is noteworthy
that a core does not contain input or output ports as well as memory. Memory is
usually provided by the company providing the processor [8, 9].
A central processing unit (CPU), which is also known as a processor, contains one or many cores. Microprocessors or microcontrollers are more than the
CPU/cores. They incorporate additional hardware components and circuitry (see
Fig. 2.12). For example, interconnects connect the cores to a shared cache as
well as the outside world. ARM has created several 32-bit processors over the
last 20 years which can be grouped into families. The ARM families include
ARM1, ARM2, ARM3, ARM6, ARM7, ARM8, ARM9, ARM10, and ARM11.
Figure 2.10 illustrates several of the most well-known members of these ARM
processor families. ARM was determined to increase their share of the market and,
around 2003, created another series of high-performance processors known as the
Cortex family. This family is made up of three subfamilies of processors: Cortex-A,
Cortex-R, and Cortex-M [9].
The ARM architecture has matured over time and the seventh version (ARMv7)
is now the most widely used version. ARMv7 identifies three possible architecture
profiles (see Fig. 2.11) [9]:
• Microcontroller Profile (M-Profile) – Low-cost processors which are designed
based on ARMv6-M architecture (Cortex-M0 and Cortex-M0+) as well as the
ARMv7-M architecture (Cortex-M3 and Cortex-M4). This architecture relies on
a minimal instruction set (a subset of the larger A-profile set) and generally has no
Capacity
y
t
i
l
a
n
o
i
t
c
n
u
F
/
e
c
n
a
m
r
o
f
r
e
P
Cortex-A9
Cortex-M0
Cortex-A9
Cortex-A9
Classic ARM
Embedded Processors
Application Processors
Cortex-M1
Cortex-M3
Cortex-M4
Cortex-R
Cortex-M0
Cortex-M1
Cortex-M3
Cortex-M4
Cortex-R
Fig. 2.10 ARM families
69
been crafted over the last several years including ARMv1, ARMv2, ARMv3 . . .
ARMv8, etc. On the other hand, the way a given architecture is implemented and
the corresponding blueprint of the transistors is known as a core. It is noteworthy
that a core does not contain input or output ports as well as memory. Memory is
usually provided by the company providing the processor [8, 9].
A central processing unit (CPU), which is also known as a processor, contains one or many cores. Microprocessors or microcontrollers are more than the
CPU/cores. They incorporate additional hardware components and circuitry (see
Fig. 2.12). For example, interconnects connect the cores to a shared cache as
well as the outside world. ARM has created several 32-bit processors over the
last 20 years which can be grouped into families. The ARM families include
ARM1, ARM2, ARM3, ARM6, ARM7, ARM8, ARM9, ARM10, and ARM11.
Figure 2.10 illustrates several of the most well-known members of these ARM
processor families. ARM was determined to increase their share of the market and,
around 2003, created another series of high-performance processors known as the
Cortex family. This family is made up of three subfamilies of processors: Cortex-A,
Cortex-R, and Cortex-M [9].
The ARM architecture has matured over time and the seventh version (ARMv7)
is now the most widely used version. ARMv7 identifies three possible architecture
profiles (see Fig. 2.11) [9]:
• Microcontroller Profile (M-Profile) – Low-cost processors which are designed
based on ARMv6-M architecture (Cortex-M0 and Cortex-M0+) as well as the
ARMv7-M architecture (Cortex-M3 and Cortex-M4). This architecture relies on
a minimal instruction set (a subset of the larger A-profile set) and generally has no
Capacity
y
t
i
l
a
n
o
i
t
c
n
u
F
/
e
c
n
a
m
r
o
f
r
e
P
Cortex-A9
Cortex-M0
Cortex-A9
Cortex-A9
Classic ARM
Embedded Processors
Application Processors
Cortex-M1
Cortex-M3
Cortex-M4
Cortex-R
Cortex-M0
Cortex-M1
Cortex-M3
Cortex-M4
Cortex-R
Fig. 2.10 ARM families
