SlideShare a Scribd company logo
1 of 47
Download to read offline
Knowing your ARM from your
ARSE
(or, how to iden fy the CPU features in your phone)
Embedded Recipes, Paris
Will Deacon <will@kernel.org>
September, 2019
Ā© 2019 Arm Limited
Disclaimer/excuses:
I no longer work at Arm!
Arm are sponsoring this conference and have kindly paid for my travel to be here.
I usually give fairly deep, low-level technical presenta ons, so this is a change for me.
Feel free to stop/interrupt me during the talk.
This presenta on is based on work done at Arm and is not part of my current employment
2 Ā© 2019 Arm Limited
Introduc on
Linux kernel co-maintainer of arm64 architecture,
ARM perf backends, SMMU drivers, atomics, locking,
memory model, TLB invalida onā€¦
Worked for a decade in the Open-Source So ware
group at Arm
Contributed signiļ¬cantly to the Armv8 architecture
Heavy exposure to the development of the Arm
ecosystem
Tend to be CPU centric
Lots of insider knowledge required to overcome hurdles and
develop successful system so ware for Armā€¦
3 Ā© 2019 Arm Limited
Spot the diļ¬€erence
4 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
5 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™
5 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™
Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦
5 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™
Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦
ā€¦but usually people just say ARMv7
5 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™
Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦
ā€¦but usually people just say ARMv7
For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™
5 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™
Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦
ā€¦but usually people just say ARMv7
For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™
Not be confused with the ā€˜Apple A7ā€™, which is 64-bit according to wikipedia
5 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™
Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦
ā€¦but usually people just say ARMv7
For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™
Not be confused with the ā€˜Apple A7ā€™, which is 64-bit according to wikipedia
Cortex-A7 also implements virtualisa on and SMP, unlike the Cortex-A8 which came out
years before
5 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™
Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦
ā€¦but usually people just say ARMv7
For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™
Not be confused with the ā€˜Apple A7ā€™, which is 64-bit according to wikipedia
Cortex-A7 also implements virtualisa on and SMP, unlike the Cortex-A8 which came out
years before
Recently, the Cortex-A77 was announced, which implements Armv8 and is 64-bit
5 Ā© 2019 Arm Limited
Everything is ļ¬ne
ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago)
The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™
Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦
ā€¦but usually people just say ARMv7
For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™
Not be confused with the ā€˜Apple A7ā€™, which is 64-bit according to wikipedia
Cortex-A7 also implements virtualisa on and SMP, unlike the Cortex-A8 which came out
years before
Recently, the Cortex-A77 was announced, which implements Armv8 and is 64-bit
Although the Cortex-A32 also implements Armv8 but is 32-bit only
5 Ā© 2019 Arm Limited
Even Pinhead is confused (July, 2012)
ā€œThey have separate versions for their ā€˜architectureā€™ (ex: arm v8) and for their
ā€˜implementa onā€™ (ex: ARM11), and maybe it all makes sense if you have drunk
the ARM cool-aid and have joined the ARM cult, but to sane people and
outsiders, it is just a f*cking mess.ā€
ā€œChrist. Seriously. The insanity is so strong in the ARM version names that it burns. If it really makes
sense to anybody that ā€˜ARM A9ā€™ (technically ā€˜Cortex-A9ā€™, but nobody seems to use the ā€˜Cortexā€™ part
at least in cellphones) is an ā€˜ARM-v7ā€™ architecture microprocessor which is *completely* diļ¬€erent
from the ARM9 family, which in turn is diļ¬€erent from ARMv9 that hasnā€™t happened yet, you need to
have your head examined.ā€
6 Ā© 2019 Arm Limited
Even Pinhead is confused (July, 2012)
ā€œThey have separate versions for their ā€˜architectureā€™ (ex: arm v8) and for their
ā€˜implementa onā€™ (ex: ARM11), and maybe it all makes sense if you have drunk
the ARM cool-aid and have joined the ARM cult, but to sane people and
outsiders, it is just a f*cking mess.ā€
ā€œChrist. Seriously. The insanity is so strong in the ARM version names that it burns. If it really makes
sense to anybody that ā€˜ARM A9ā€™ (technically ā€˜Cortex-A9ā€™, but nobody seems to use the ā€˜Cortexā€™ part
at least in cellphones) is an ā€˜ARM-v7ā€™ architecture microprocessor which is *completely* diļ¬€erent
from the ARM9 family, which in turn is diļ¬€erent from ARMv9 that hasnā€™t happened yet, you need to
have your head examined.ā€
So letā€™s drink the ā€˜ARM cool-aidā€™ and ļ¬gure out whatā€™s going onā€¦
6 Ā© 2019 Arm Limited
Documenta on: oļ¬€ to a good start
Everything you need to know is described in a handy book!
Hilariously called the ā€˜Arm ARMā€™ (miraculously, you can search for this)
Almost 8000 pages long
Sporadic releases; usually not quite up-to-date (arch changes weekly)
Acts as a reference, not as a learning resource. Deliberately avoids CPU details.
Did you know?
7 Ā© 2019 Arm Limited
Documenta on: oļ¬€ to a good start
Everything you need to know is described in a handy book!
Hilariously called the ā€˜Arm ARMā€™ (miraculously, you can search for this)
Almost 8000 pages long
Sporadic releases; usually not quite up-to-date (arch changes weekly)
Acts as a reference, not as a learning resource. Deliberately avoids CPU details.
Did you know? If you printed a copy for every shipped CPU, it would reach Mars and back 500x!
7 Ā© 2019 Arm Limited
The Arm ARM: Maybe not so handy a er all?
ā€œAny interrupt that is pending before a Context synchroniza on event in the following list, is taken
before the ļ¬rst instruc on a er the context synchronizing event, provided that the pending
interrupt is not masked:
Execu on of an ISB instruc on.
Excep on entry, if ARMv8.5-CSEH is not implemented, or if ARMv8.5-CSEH is implemented and
the appropriate SCTLR_ELx.EIS bit is set.
Excep on return, if ARMv8.5-CSEH is not implemented or if ARMv8.5-CSEH is implemented and
the appropriate SCTLR_ELx.EOS bit is set.
Exit from Debug state.ā€
8 Ā© 2019 Arm Limited
The Arm ARM: Maybe not so handy a er all?
ā€œAny interrupt that is pending before a Context synchroniza on event in the following list, is taken
before the ļ¬rst instruc on a er the context synchronizing event, provided that the pending
interrupt is not masked:
Execu on of an ISB instruc on.
Excep on entry, if ARMv8.5-CSEH is not implemented, or if ARMv8.5-CSEH is implemented and
the appropriate SCTLR_ELx.EIS bit is set.
Excep on return, if ARMv8.5-CSEH is not implemented or if ARMv8.5-CSEH is implemented and
the appropriate SCTLR_ELx.EOS bit is set.
Exit from Debug state.ā€
This is not the ā€˜cool-aidā€™ you are looking for.
Hurdle 1: Arm is mostly inaccessible to developers on the outside.
8 Ā© 2019 Arm Limited
Important terminology
Architecture vs micro-architecture
Core license vs architecture license
Diversity vs fragmenta on
CPU vs SoC
ISA vs system architecture
Understanding these diļ¬€erences is crucial to picking apart and understanding the Arm ecosystem.
9 Ā© 2019 Arm Limited
Architecture vs Micro-architecture
Architecture is the contract between hardware and
so ware. It describes the portable guarantees provided by
the hardware, without dicta ng how they are implemented,
and is typically speciļ¬ed in English. Arm has three
architecture proļ¬les: A, R and M (more hilarity). Approx.
5yr lag.
Micro-architecture relates to the design of a speciļ¬c piece
of hardware, and is typically speciļ¬ed in a hardware
descrip on language such as Verilog.
10 Ā© 2019 Arm Limited
Architecture vs Micro-architecture
Architecture is the contract between hardware and
so ware. It describes the portable guarantees provided by
the hardware, without dicta ng how they are implemented,
and is typically speciļ¬ed in English. Arm has three
architecture proļ¬les: A, R and M (more hilarity). Approx.
5yr lag.
Micro-architecture relates to the design of a speciļ¬c piece
of hardware, and is typically speciļ¬ed in a hardware
descrip on language such as Verilog.
So ware analogy: The C language standard is the architecture, whereas the toolchain source code
(e.g. GCC + GLIBC) is the micro-architecture.
Arm develop both architectures and micro-architectures as licensable products!
10 Ā© 2019 Arm Limited
Architecture vs Micro-architecture
Architecture is the contract between hardware and
so ware. It describes the portable guarantees provided by
the hardware, without dicta ng how they are implemented,
and is typically speciļ¬ed in English. Arm has three
architecture proļ¬les: A, R and M (more hilarity). Approx.
5yr lag.
Micro-architecture relates to the design of a speciļ¬c piece
of hardware, and is typically speciļ¬ed in a hardware
descrip on language such as Verilog.
So ware analogy: The C language standard is the architecture, whereas the toolchain source code
(e.g. GCC + GLIBC) is the micro-architecture.
Arm develop both architectures and micro-architectures as licensable products!
Hurdle 2: This dis nc on is far less signiļ¬cant on other architectures such as x86.
10 Ā© 2019 Arm Limited
Hysterical raisins
<=ARMv4 When dinosaurs roamed the Earth
ARMv5 2000, Baseline, Xscale
ARMv6 2002, SMP (sort of), ARM11
ARMv7-A 2005, Virtualisa on, VMSA architecture, Cortex-A8
Armv8-A 2011, 64-bit ISA (AArch64), Cortex-A53
Armv8.1-A 2014, LSE atomics, Cavium ThunderX
Armv8.2-A 2015, RAS extensions, Cortex-A77
Armv8.3-A 2016, Pointer authen ca on, Vortex?
Armv8.4-A 2017, MPAM
Armv8.5-A 2018, MTE
11 Ā© 2019 Arm Limited
Hysterical raisins
<=ARMv4 When dinosaurs roamed the Earth
ARMv5 2000, Baseline, Xscale
ARMv6 2002, SMP (sort of), ARM11
ARMv7-A 2005, Virtualisa on, VMSA architecture, Cortex-A8
Armv8-A 2011, 64-bit ISA (AArch64), Cortex-A53
Armv8.1-A 2014, LSE atomics, Cavium ThunderX
Armv8.2-A 2015, RAS extensions, Cortex-A77
Armv8.3-A 2016, Pointer authen ca on, Vortex?
Armv8.4-A 2017, MPAM
Armv8.5-A 2018, MTE
Hurdle 3: Many features op onal! Discoverable at run me using ID registers.
11 Ā© 2019 Arm Limited
Licensing
Why is the product naming so inconsistent? Partly due to the licensing model:
Core license to include a speciļ¬c Arm CPU design in your SoC. Minor modiļ¬ca on may be
permi ed.
Architecture license to design your own CPU from scratch which implements the Arm architecture
and allow your marke ng team to call it whatever they like
This means that Armā€™s architecture partners are also indirect compe tors!
12 Ā© 2019 Arm Limited
Licensing
Why is the product naming so inconsistent? Partly due to the licensing model:
Core license to include a speciļ¬c Arm CPU design in your SoC. Minor modiļ¬ca on may be
permi ed.
Architecture license to design your own CPU from scratch which implements the Arm architecture
and allow your marke ng team to call it whatever they like
This means that Armā€™s architecture partners are also indirect compe tors!
Hurdle 4: Important that Arm doesnā€™t produce produc on silicon as an SoC
12 Ā© 2019 Arm Limited
The Arm ecosystem
13 Ā© 2019 Arm Limited
Playing ā€˜Switzerlandā€™
Armā€™s inļ¬‚uence is in the power of the partnership and underlying pla orm; on its own, itā€™s rela vely
ny in revenue terms:
Qualcomm 22B USD (2018)
Intel 70B USD (2018)
Samsung 211B USD (2017)
14 Ā© 2019 Arm Limited
Playing ā€˜Switzerlandā€™
Armā€™s inļ¬‚uence is in the power of the partnership and underlying pla orm; on its own, itā€™s rela vely
ny in revenue terms:
Qualcomm 22B USD (2018)
Intel 70B USD (2018)
Samsung 211B USD (2017)
Arm <1B GBP (2015)
Greater than the sum of its parts, but driven by consensus.
14 Ā© 2019 Arm Limited
Playing ā€˜Switzerlandā€™
Armā€™s inļ¬‚uence is in the power of the partnership and underlying pla orm; on its own, itā€™s rela vely
ny in revenue terms:
Qualcomm 22B USD (2018)
Intel 70B USD (2018)
Samsung 211B USD (2017)
Arm <1B GBP (2015)
Greater than the sum of its parts, but driven by consensus.
Hurdle 5: Limited ability to mandate standards compliance or move goalposts
14 Ā© 2019 Arm Limited
Diversity vs Fragmenta on
ā€˜Pick ā€˜nā€™ mixā€™ architecture reigned in slightly by desire for so ware re-use:
PSCI to bring CPUs up and down
SBSA cer ļ¬ca on for server system designs
Trusted ļ¬rmware open-source boiler-plate
Linux/KVM upstream-ļ¬rst approach
15 Ā© 2019 Arm Limited
Diversity vs Fragmenta on
ā€˜Pick ā€˜nā€™ mixā€™ architecture reigned in slightly by desire for so ware re-use:
PSCI to bring CPUs up and down
SBSA cer ļ¬ca on for server system designs
Trusted ļ¬rmware open-source boiler-plate
Linux/KVM upstream-ļ¬rst approach
Hurdle 6: S ll a tendancy towards fragmenta on between SoCs
https://www.mono-project.com/news/2016/09/12/arm64-icache/
15 Ā© 2019 Arm Limited
How does Linux cope?
The arm64 Linux kernel is wri en to the architecture and aims to abstract away the underlying bag
of bits baked into silicon:
Single defconfig binary image for all AArch64 CPUs
Heavy use of ā€˜alterna veā€™ instruc on patching
uarch-speciļ¬c features not worth the eļ¬€ortā€¦
ā€¦apart from errata workarounds and side-channels
Heterogeneous systems are a headache
Exposed to userspace via proc, sys, ELF HWCAP
and MRS instruc ons
Details in Documentation/arm64/cpu-feature-registers.rst
Email the list if you need more: linux-arm-kernel@lists.infradead.org
16 Ā© 2019 Arm Limited
Fire up the simula on
17 Ā© 2019 Arm Limited
Where do I start? / Whatā€™s in the box?
1. Ignore all the marke ng junk
2. Iden fy the SoC
3. Iden fy the CPU(s) ā€“ Arm derived?
4. Iden fy architecture version
5. Iden fy features
6. https://wikichip.org
18 Ā© 2019 Arm Limited
Some example devices
19 Ā© 2019 Arm Limited
Example 1: Libre Computer ā€˜La Friteā€™
They sayā€¦
AML-S805X-AC is the perfect development pla orm for projects that require highly performant ARM
Cortex-A class CPUs, small compact form factor, secure and non-secure 1080P media delivery and
playback, high reliability, and low power.
20 Ā© 2019 Arm Limited
Example 1: Libre Computer ā€˜La Friteā€™
They sayā€¦
AML-S805X-AC is the perfect development pla orm for projects that require highly performant ARM
Cortex-A class CPUs, small compact form factor, secure and non-secure 1080P media delivery and
playback, high reliability, and low power.
Soc is Amlogic S805x
4x ARM Cortex-A53 @ 1.2GHz
Cortex-A53 is a 64-bit core implemen ng ARMv8.0
Usually the ā€˜Li leā€™ in early ā€˜big.Li leā€™ designs
ARM saysā€¦
The most widely-used processor with balanced performance and eļ¬ƒciency
20 Ā© 2019 Arm Limited
Example 2: Samsung Galaxy S9
They sayā€¦
10nm 64-bit Octa-Core Processor 2.8GHz + 1.7GHz (Maximum Clock Speed, Performance Core +
Eļ¬ƒciency Core)
21 Ā© 2019 Arm Limited
Example 2: Samsung Galaxy S9
They sayā€¦
10nm 64-bit Octa-Core Processor 2.8GHz + 1.7GHz (Maximum Clock Speed, Performance Core +
Eļ¬ƒciency Core)
SoC appears to be Samsung Exynos 9810 (in Europe)
Wikichip claims this features 4xMongoose 3 plus 4xCortex-A55 cores
Cortex-A55 designed by Arm and implements ARMv8.2
Mongoose 3 designed by Samsung and implements ARMv8.0
21 Ā© 2019 Arm Limited
Example 2: Samsung Galaxy S9
They sayā€¦
10nm 64-bit Octa-Core Processor 2.8GHz + 1.7GHz (Maximum Clock Speed, Performance Core +
Eļ¬ƒciency Core)
SoC appears to be Samsung Exynos 9810 (in Europe)
Wikichip claims this features 4xMongoose 3 plus 4xCortex-A55 cores
Cortex-A55 designed by Arm and implements ARMv8.2
Mongoose 3 designed by Samsung and implements ARMv8.0
The Cortex-A55 implements more instruc ons than the Mongoose 3!
https://medium.com/@jadr2ddude/
a-big-little-problem-a-tale-of-big-little-gone-wrong-e7778ce744bb
21 Ā© 2019 Arm Limited
Example 3: Motorola moto z4
They sayā€¦
Feel the speed of a QualcommĀ® Snapdragonā„¢ 675 processor thatā€™s 57% faster than moto z3 play. Itā€™s
a phone built to keep up with you.
22 Ā© 2019 Arm Limited
Example 3: Motorola moto z4
They sayā€¦
Feel the speed of a QualcommĀ® Snapdragonā„¢ 675 processor thatā€™s 57% faster than moto z3 play. Itā€™s
a phone built to keep up with you.
Itā€™s an SoC not a bloody processor!
Qualcomm sayā€¦
CPU Cores: QualcommĀ® Kryoā„¢ 460 CPU, Octa-core CPUā€¦built on Arm Cortex technologyā€¦
22 Ā© 2019 Arm Limited
Example 3: Motorola moto z4
They sayā€¦
Feel the speed of a QualcommĀ® Snapdragonā„¢ 675 processor thatā€™s 57% faster than moto z3 play. Itā€™s
a phone built to keep up with you.
Itā€™s an SoC not a bloody processor!
Qualcomm sayā€¦
CPU Cores: QualcommĀ® Kryoā„¢ 460 CPU, Octa-core CPUā€¦built on Arm Cortex technologyā€¦
Wikichip to the rescue!
Kryo 460 Silver => Cortex-A55
Kryo 460 Gold => Cortex-A76
Both implement ARMv8.2
ā€˜The two big disclosed changes are an increase of the coreā€™s reorder buļ¬€er from 128 entries to a
higher, unspeciļ¬ed amount, as well as tuning the prefetchers to be er work with ļ¬‚oa ng point
workloads.ā€™ https://www.anandtech.com/show/14072/the-samsung-galaxy-s10plus-review/3
22 Ā© 2019 Arm Limited
Ques ons?
Please contact support@arm.com!
The Arm trademarks featured in this presenta on are registered trademarks or
trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere. All rights
reserved. All other marks featured may be trademarks of their respec ve owners.
www.arm.com/company/policies/trademarks
Ā© 2019 Arm Limited
Image references
1. Colin Davis, ā€˜Veins in my Right Armā€™. Cropped from https://live.staticflickr.com/3382/3554305017_053fee6793_b_d.jpg - CC BY 2.0
(https://creativecommons.org/licenses/by/2.0/)
2. Marco Verch, ā€˜Bauarbeiterdekolteeā€™. Unmodiļ¬ed from https://live.staticflickr.com/4357/36221532814_779c61e968_k_d.jpg - CC BY 2.0
(https://creativecommons.org/licenses/by/2.0/)
3. DJRphoto36, ā€˜Angry Penguinā€™. Unmodiļ¬ed from https://live.staticflickr.com/5056/5496520090_e9aa83dc0b_b_d.jpg - CC BY 2.0
(https://creativecommons.org/licenses/by/2.0/)
4. Kevin Gill, ā€˜Marsā€™. Unmodiļ¬ed from https://live.staticflickr.com/2107/32789125872_f0184cc247_k_d.jpg - CC BY 2.0
(https://creativecommons.org/licenses/by/2.0/)
5. Pablo Cabezos, ā€˜King CollegeĀ“s chapel (Cambridge)ā€™. Unmodiļ¬ed from https://live.staticflickr.com/8300/29112354294_3c0f166ec1_b_d.jpg - CC BY 2.0
(https://creativecommons.org/licenses/by/2.0/)
6. kecia85, ā€˜Dic onary-007ā€™. Unmodiļ¬ed from https://live.staticflickr.com/8322/7983928912_f18c81fb31_o_d.jpg - CC BY-SA 2.0
(https://creativecommons.org/licenses/by-sa/2.0/)
7. Images Money, ā€˜Moneyā€™. Unmodiļ¬ed from https://live.staticflickr.com/6029/5929622407_e474db378d_k_d.jpg - CC BY 2.0
(https://creativecommons.org/licenses/by/2.0/)
8. wisegie, ā€˜Swiss ļ¬‚agā€™. Unmodiļ¬ed from https://live.staticflickr.com/6082/6078034891_ca23bb39a8_b_d.jpg - CC BY 2.0
(https://creativecommons.org/licenses/by/2.0/)
9. The DLC, ā€˜Buļ¬€et lineā€™. Cropped from https://live.staticflickr.com/1369/4734507240_57b0244541_h_d.jpg - CC BY-SA 2.0
(https://creativecommons.org/licenses/by-sa/2.0/)
10. lewing@isc.tamu.edu Larry Ewing and The GIMP, ā€˜Tux penguinā€™. Unmodiļ¬ed from https://commons.wikimedia.org/wiki/File:Tux.png
11. Cur s Alan Jackson, ā€˜A er this, I give up. Probably.ā€™. Unmodiļ¬ed from https://live.staticflickr.com/5097/5418579238_d28022927c_h_d.jpg - CC BY 2.0
(https://creativecommons.org/licenses/by/2.0/)
24 Ā© 2019 Arm Limited

More Related Content

What's hot

Hardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux conHardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux consprdd
Ā 
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...Toradex
Ā 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VRISC-V International
Ā 
virtio
virtiovirtio
virtiozhaobrian
Ā 
Andes RISC-V processor solutions
Andes RISC-V processor solutionsAndes RISC-V processor solutions
Andes RISC-V processor solutionsRISC-V International
Ā 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
Ā 
Video Gateway Installation and configuration
Video Gateway Installation and configurationVideo Gateway Installation and configuration
Video Gateway Installation and configurationsreeharsha43
Ā 
Porting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectPorting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectMacpaul Lin
Ā 
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)dynamis
Ā 
Devconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDKDevconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDKMaxime Coquelin
Ā 
Cisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPICisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPIJeff Squyres
Ā 
IntelĀ® Ethernet Update
IntelĀ® Ethernet Update IntelĀ® Ethernet Update
IntelĀ® Ethernet Update Michelle Holley
Ā 
PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation
PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation
PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation Manish Jaggi
Ā 
Anycast all the things
Anycast all the thingsAnycast all the things
Anycast all the thingsMaximilan Wilhelm
Ā 
FlexVPNLabHandbook-SAMPLE
FlexVPNLabHandbook-SAMPLEFlexVPNLabHandbook-SAMPLE
FlexVPNLabHandbook-SAMPLETariq Sheikh
Ā 
Cisco IOS XRv Router Installation and Configuration Guide
Cisco IOS XRv Router Installation and Configuration GuideCisco IOS XRv Router Installation and Configuration Guide
Cisco IOS XRv Router Installation and Configuration GuideSalachudin Emir
Ā 
Using Qt under LGPLv3
Using Qt under LGPLv3Using Qt under LGPLv3
Using Qt under LGPLv3Burkhard Stubert
Ā 
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorTurtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorAndrei Kholodnyi
Ā 
Project ACRN GPIO mediator introduction
Project ACRN GPIO mediator introductionProject ACRN GPIO mediator introduction
Project ACRN GPIO mediator introductionProject ACRN
Ā 
Ott Streaming Protocols and DRM
Ott Streaming Protocols and DRMOtt Streaming Protocols and DRM
Ott Streaming Protocols and DRMASIMYILDIZ
Ā 

What's hot (20)

Hardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux conHardware accelerated virtio networking for nfv linux con
Hardware accelerated virtio networking for nfv linux con
Ā 
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...
Ā 
Static partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-VStatic partitioning virtualization on RISC-V
Static partitioning virtualization on RISC-V
Ā 
virtio
virtiovirtio
virtio
Ā 
Andes RISC-V processor solutions
Andes RISC-V processor solutionsAndes RISC-V processor solutions
Andes RISC-V processor solutions
Ā 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Ā 
Video Gateway Installation and configuration
Video Gateway Installation and configurationVideo Gateway Installation and configuration
Video Gateway Installation and configuration
Ā 
Porting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectPorting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt project
Ā 
HTTP and 5G (fixed1)
HTTP and 5G (fixed1)HTTP and 5G (fixed1)
HTTP and 5G (fixed1)
Ā 
Devconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDKDevconf2017 - Can VMs networking benefit from DPDK
Devconf2017 - Can VMs networking benefit from DPDK
Ā 
Cisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPICisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPI
Ā 
IntelĀ® Ethernet Update
IntelĀ® Ethernet Update IntelĀ® Ethernet Update
IntelĀ® Ethernet Update
Ā 
PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation
PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation
PCI Passthrough and ITS Support in Xen / ARM :Xen Dev Summit 2015 Presentation
Ā 
Anycast all the things
Anycast all the thingsAnycast all the things
Anycast all the things
Ā 
FlexVPNLabHandbook-SAMPLE
FlexVPNLabHandbook-SAMPLEFlexVPNLabHandbook-SAMPLE
FlexVPNLabHandbook-SAMPLE
Ā 
Cisco IOS XRv Router Installation and Configuration Guide
Cisco IOS XRv Router Installation and Configuration GuideCisco IOS XRv Router Installation and Configuration Guide
Cisco IOS XRv Router Installation and Configuration Guide
Ā 
Using Qt under LGPLv3
Using Qt under LGPLv3Using Qt under LGPLv3
Using Qt under LGPLv3
Ā 
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorTurtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Ā 
Project ACRN GPIO mediator introduction
Project ACRN GPIO mediator introductionProject ACRN GPIO mediator introduction
Project ACRN GPIO mediator introduction
Ā 
Ott Streaming Protocols and DRM
Ott Streaming Protocols and DRMOtt Streaming Protocols and DRM
Ott Streaming Protocols and DRM
Ā 

Similar to Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the technology terminology of an embedded SoC

LCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLinaro
Ā 
Summit 16: OPNFV on ARM - Hardware Freedom of Choice Has Arrived!
Summit 16: OPNFV on ARM - Hardware Freedom of Choice Has Arrived!Summit 16: OPNFV on ARM - Hardware Freedom of Choice Has Arrived!
Summit 16: OPNFV on ARM - Hardware Freedom of Choice Has Arrived!OPNFV
Ā 
Programming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded SystemsProgramming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded Systemsajaydudani
Ā 
SNAPDRAGON SoC Family and ARM Architecture
SNAPDRAGON SoC Family and ARM Architecture SNAPDRAGON SoC Family and ARM Architecture
SNAPDRAGON SoC Family and ARM Architecture Abdullaziz Tagawy
Ā 
Arm based controller - basic bootcamp
Arm based controller - basic bootcampArm based controller - basic bootcamp
Arm based controller - basic bootcampRoy Messinger
Ā 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - ReviewAbdelrahman Hosny
Ā 
Axiom Magazine: Volume 1, Issue 3, October 2013
Axiom Magazine: Volume 1, Issue 3, October 2013Axiom Magazine: Volume 1, Issue 3, October 2013
Axiom Magazine: Volume 1, Issue 3, October 2013Avnet Electronics Marketing
Ā 
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...ryancox
Ā 
Smartphone processors
Smartphone processorsSmartphone processors
Smartphone processorsMahzad Zahedi
Ā 
BlackHat_DC_2011_Avraham_ARM Exploitation-wp.2.0
BlackHat_DC_2011_Avraham_ARM Exploitation-wp.2.0BlackHat_DC_2011_Avraham_ARM Exploitation-wp.2.0
BlackHat_DC_2011_Avraham_ARM Exploitation-wp.2.0Zuk Avraham
Ā 
Programming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded SystemsProgramming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded Systemsjoshparrish13
Ā 
Arm processor architecture awareness session pi technologies
Arm processor architecture awareness session pi technologiesArm processor architecture awareness session pi technologies
Arm processor architecture awareness session pi technologiesPiTechnologies
Ā 
Presentation power vm common 2012
Presentation   power vm common 2012Presentation   power vm common 2012
Presentation power vm common 2012solarisyougood
Ā 
HPC Network Stack on ARM
HPC Network Stack on ARMHPC Network Stack on ARM
HPC Network Stack on ARMinside-BigData.com
Ā 
LECT 1: ARM PROCESSORS
LECT 1: ARM PROCESSORSLECT 1: ARM PROCESSORS
LECT 1: ARM PROCESSORSDr.YNM
Ā 
Ppt
PptPpt
PptBala Ji
Ā 

Similar to Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the technology terminology of an embedded SoC (20)

RDMA on ARM
RDMA on ARMRDMA on ARM
RDMA on ARM
Ā 
ARM Processor Tutorial
ARM Processor Tutorial ARM Processor Tutorial
ARM Processor Tutorial
Ā 
ARM and SoC Traning Part I -- Overview
ARM and SoC Traning Part I -- OverviewARM and SoC Traning Part I -- Overview
ARM and SoC Traning Part I -- Overview
Ā 
LCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 PlenaryLCE12: LCE12 ARMv8 Plenary
LCE12: LCE12 ARMv8 Plenary
Ā 
Summit 16: OPNFV on ARM - Hardware Freedom of Choice Has Arrived!
Summit 16: OPNFV on ARM - Hardware Freedom of Choice Has Arrived!Summit 16: OPNFV on ARM - Hardware Freedom of Choice Has Arrived!
Summit 16: OPNFV on ARM - Hardware Freedom of Choice Has Arrived!
Ā 
Programming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded SystemsProgramming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded Systems
Ā 
SNAPDRAGON SoC Family and ARM Architecture
SNAPDRAGON SoC Family and ARM Architecture SNAPDRAGON SoC Family and ARM Architecture
SNAPDRAGON SoC Family and ARM Architecture
Ā 
Arm based controller - basic bootcamp
Arm based controller - basic bootcampArm based controller - basic bootcamp
Arm based controller - basic bootcamp
Ā 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - Review
Ā 
Axiom Magazine: Volume 1, Issue 3, October 2013
Axiom Magazine: Volume 1, Issue 3, October 2013Axiom Magazine: Volume 1, Issue 3, October 2013
Axiom Magazine: Volume 1, Issue 3, October 2013
Ā 
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Developing Applications for Beagle Bone Black, Raspberry Pi and SoC Single Bo...
Ā 
Smartphone processors
Smartphone processorsSmartphone processors
Smartphone processors
Ā 
BlackHat_DC_2011_Avraham_ARM Exploitation-wp.2.0
BlackHat_DC_2011_Avraham_ARM Exploitation-wp.2.0BlackHat_DC_2011_Avraham_ARM Exploitation-wp.2.0
BlackHat_DC_2011_Avraham_ARM Exploitation-wp.2.0
Ā 
Programming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded SystemsProgramming The Arm Microprocessor For Embedded Systems
Programming The Arm Microprocessor For Embedded Systems
Ā 
Arm processor architecture awareness session pi technologies
Arm processor architecture awareness session pi technologiesArm processor architecture awareness session pi technologies
Arm processor architecture awareness session pi technologies
Ā 
Presentation power vm common 2012
Presentation   power vm common 2012Presentation   power vm common 2012
Presentation power vm common 2012
Ā 
HPC Network Stack on ARM
HPC Network Stack on ARMHPC Network Stack on ARM
HPC Network Stack on ARM
Ā 
LECT 1: ARM PROCESSORS
LECT 1: ARM PROCESSORSLECT 1: ARM PROCESSORS
LECT 1: ARM PROCESSORS
Ā 
Ppt
PptPpt
Ppt
Ā 
Presentation
PresentationPresentation
Presentation
Ā 

More from Anne Nicolas

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
Ā 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
Ā 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
Ā 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
Ā 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
Ā 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
Ā 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
Ā 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
Ā 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
Ā 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
Ā 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
Ā 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
Ā 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
Ā 
Kernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easyKernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easyAnne Nicolas
Ā 
Kernel Recipes 2019 - CVEs are dead, long live the CVE!
Kernel Recipes 2019 - CVEs are dead, long live the CVE!Kernel Recipes 2019 - CVEs are dead, long live the CVE!
Kernel Recipes 2019 - CVEs are dead, long live the CVE!Anne Nicolas
Ā 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stackAnne Nicolas
Ā 
Kernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doorsKernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doorsAnne Nicolas
Ā 
Kernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uringKernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uringAnne Nicolas
Ā 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
Ā 
Kernel Recipes 2019 - pidfds: Process file descriptors on Linux
Kernel Recipes 2019 - pidfds: Process file descriptors on LinuxKernel Recipes 2019 - pidfds: Process file descriptors on Linux
Kernel Recipes 2019 - pidfds: Process file descriptors on LinuxAnne Nicolas
Ā 

More from Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
Ā 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Ā 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
Ā 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Ā 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Ā 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Ā 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Ā 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
Ā 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
Ā 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
Ā 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Ā 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Ā 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Ā 
Kernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easyKernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - Formal modeling made easy
Ā 
Kernel Recipes 2019 - CVEs are dead, long live the CVE!
Kernel Recipes 2019 - CVEs are dead, long live the CVE!Kernel Recipes 2019 - CVEs are dead, long live the CVE!
Kernel Recipes 2019 - CVEs are dead, long live the CVE!
Ā 
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 -  XDP closer integration with network stackKernel Recipes 2019 -  XDP closer integration with network stack
Kernel Recipes 2019 - XDP closer integration with network stack
Ā 
Kernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doorsKernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Kernel hacking behind closed doors
Ā 
Kernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uringKernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Faster IO through io_uring
Ā 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Ā 
Kernel Recipes 2019 - pidfds: Process file descriptors on Linux
Kernel Recipes 2019 - pidfds: Process file descriptors on LinuxKernel Recipes 2019 - pidfds: Process file descriptors on Linux
Kernel Recipes 2019 - pidfds: Process file descriptors on Linux
Ā 

Recently uploaded

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
Ā 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
Ā 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
Ā 
Dealing with Cultural Dispersion ā€” Stefano Lambiase ā€” ICSE-SEIS 2024
Dealing with Cultural Dispersion ā€” Stefano Lambiase ā€” ICSE-SEIS 2024Dealing with Cultural Dispersion ā€” Stefano Lambiase ā€” ICSE-SEIS 2024
Dealing with Cultural Dispersion ā€” Stefano Lambiase ā€” ICSE-SEIS 2024StefanoLambiase
Ā 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
Ā 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
Ā 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
Ā 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
Ā 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
Ā 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
Ā 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
Ā 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
Ā 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
Ā 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
Ā 
č‹±å›½UN学位čƁ,åŒ—å®‰ę™®é”æ大学ęƕäøščƁ书1:1制作
č‹±å›½UN学位čƁ,åŒ—å®‰ę™®é”æ大学ęƕäøščƁ书1:1åˆ¶ä½œč‹±å›½UN学位čƁ,åŒ—å®‰ę™®é”æ大学ęƕäøščƁ书1:1制作
č‹±å›½UN学位čƁ,åŒ—å®‰ę™®é”æ大学ęƕäøščƁ书1:1制作qr0udbr0
Ā 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
Ā 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessEnvertis Software Solutions
Ā 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
Ā 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
Ā 

Recently uploaded (20)

React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
Ā 
Hot Sexy call girls in Patel NagaršŸ” 9953056974 šŸ” escort Service
Hot Sexy call girls in Patel NagaršŸ” 9953056974 šŸ” escort ServiceHot Sexy call girls in Patel NagaršŸ” 9953056974 šŸ” escort Service
Hot Sexy call girls in Patel NagaršŸ” 9953056974 šŸ” escort Service
Ā 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
Ā 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
Ā 
Dealing with Cultural Dispersion ā€” Stefano Lambiase ā€” ICSE-SEIS 2024
Dealing with Cultural Dispersion ā€” Stefano Lambiase ā€” ICSE-SEIS 2024Dealing with Cultural Dispersion ā€” Stefano Lambiase ā€” ICSE-SEIS 2024
Dealing with Cultural Dispersion ā€” Stefano Lambiase ā€” ICSE-SEIS 2024
Ā 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
Ā 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
Ā 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
Ā 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Ā 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Ā 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
Ā 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
Ā 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Ā 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
Ā 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
Ā 
č‹±å›½UN学位čƁ,åŒ—å®‰ę™®é”æ大学ęƕäøščƁ书1:1制作
č‹±å›½UN学位čƁ,åŒ—å®‰ę™®é”æ大学ęƕäøščƁ书1:1åˆ¶ä½œč‹±å›½UN学位čƁ,åŒ—å®‰ę™®é”æ大学ęƕäøščƁ书1:1制作
č‹±å›½UN学位čƁ,åŒ—å®‰ę™®é”æ大学ęƕäøščƁ书1:1制作
Ā 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
Ā 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
Ā 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
Ā 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
Ā 

Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the technology terminology of an embedded SoC

  • 1. Knowing your ARM from your ARSE (or, how to iden fy the CPU features in your phone) Embedded Recipes, Paris Will Deacon <will@kernel.org> September, 2019 Ā© 2019 Arm Limited
  • 2. Disclaimer/excuses: I no longer work at Arm! Arm are sponsoring this conference and have kindly paid for my travel to be here. I usually give fairly deep, low-level technical presenta ons, so this is a change for me. Feel free to stop/interrupt me during the talk. This presenta on is based on work done at Arm and is not part of my current employment 2 Ā© 2019 Arm Limited
  • 3. Introduc on Linux kernel co-maintainer of arm64 architecture, ARM perf backends, SMMU drivers, atomics, locking, memory model, TLB invalida onā€¦ Worked for a decade in the Open-Source So ware group at Arm Contributed signiļ¬cantly to the Armv8 architecture Heavy exposure to the development of the Arm ecosystem Tend to be CPU centric Lots of insider knowledge required to overcome hurdles and develop successful system so ware for Armā€¦ 3 Ā© 2019 Arm Limited
  • 4. Spot the diļ¬€erence 4 Ā© 2019 Arm Limited
  • 5. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) 5 Ā© 2019 Arm Limited
  • 6. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™ 5 Ā© 2019 Arm Limited
  • 7. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™ Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦ 5 Ā© 2019 Arm Limited
  • 8. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™ Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦ ā€¦but usually people just say ARMv7 5 Ā© 2019 Arm Limited
  • 9. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™ Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦ ā€¦but usually people just say ARMv7 For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™ 5 Ā© 2019 Arm Limited
  • 10. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™ Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦ ā€¦but usually people just say ARMv7 For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™ Not be confused with the ā€˜Apple A7ā€™, which is 64-bit according to wikipedia 5 Ā© 2019 Arm Limited
  • 11. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™ Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦ ā€¦but usually people just say ARMv7 For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™ Not be confused with the ā€˜Apple A7ā€™, which is 64-bit according to wikipedia Cortex-A7 also implements virtualisa on and SMP, unlike the Cortex-A8 which came out years before 5 Ā© 2019 Arm Limited
  • 12. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™ Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦ ā€¦but usually people just say ARMv7 For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™ Not be confused with the ā€˜Apple A7ā€™, which is 64-bit according to wikipedia Cortex-A7 also implements virtualisa on and SMP, unlike the Cortex-A8 which came out years before Recently, the Cortex-A77 was announced, which implements Armv8 and is 64-bit 5 Ā© 2019 Arm Limited
  • 13. Everything is ļ¬ne ARM7 was a 32-bit ARM CPU implemen ng ARMv3 (around 20 years ago) The ARM7TDMI variant was par cularly popular. The ā€˜Tā€™ means ā€˜Thumbā€™ Nowadays, most 32-bit Arm CPUs tend to implement ARMv7-Aā€¦ ā€¦but usually people just say ARMv7 For example, the Cortex-A7, or A7, which implements ā€˜Thumb-2ā€™ Not be confused with the ā€˜Apple A7ā€™, which is 64-bit according to wikipedia Cortex-A7 also implements virtualisa on and SMP, unlike the Cortex-A8 which came out years before Recently, the Cortex-A77 was announced, which implements Armv8 and is 64-bit Although the Cortex-A32 also implements Armv8 but is 32-bit only 5 Ā© 2019 Arm Limited
  • 14. Even Pinhead is confused (July, 2012) ā€œThey have separate versions for their ā€˜architectureā€™ (ex: arm v8) and for their ā€˜implementa onā€™ (ex: ARM11), and maybe it all makes sense if you have drunk the ARM cool-aid and have joined the ARM cult, but to sane people and outsiders, it is just a f*cking mess.ā€ ā€œChrist. Seriously. The insanity is so strong in the ARM version names that it burns. If it really makes sense to anybody that ā€˜ARM A9ā€™ (technically ā€˜Cortex-A9ā€™, but nobody seems to use the ā€˜Cortexā€™ part at least in cellphones) is an ā€˜ARM-v7ā€™ architecture microprocessor which is *completely* diļ¬€erent from the ARM9 family, which in turn is diļ¬€erent from ARMv9 that hasnā€™t happened yet, you need to have your head examined.ā€ 6 Ā© 2019 Arm Limited
  • 15. Even Pinhead is confused (July, 2012) ā€œThey have separate versions for their ā€˜architectureā€™ (ex: arm v8) and for their ā€˜implementa onā€™ (ex: ARM11), and maybe it all makes sense if you have drunk the ARM cool-aid and have joined the ARM cult, but to sane people and outsiders, it is just a f*cking mess.ā€ ā€œChrist. Seriously. The insanity is so strong in the ARM version names that it burns. If it really makes sense to anybody that ā€˜ARM A9ā€™ (technically ā€˜Cortex-A9ā€™, but nobody seems to use the ā€˜Cortexā€™ part at least in cellphones) is an ā€˜ARM-v7ā€™ architecture microprocessor which is *completely* diļ¬€erent from the ARM9 family, which in turn is diļ¬€erent from ARMv9 that hasnā€™t happened yet, you need to have your head examined.ā€ So letā€™s drink the ā€˜ARM cool-aidā€™ and ļ¬gure out whatā€™s going onā€¦ 6 Ā© 2019 Arm Limited
  • 16. Documenta on: oļ¬€ to a good start Everything you need to know is described in a handy book! Hilariously called the ā€˜Arm ARMā€™ (miraculously, you can search for this) Almost 8000 pages long Sporadic releases; usually not quite up-to-date (arch changes weekly) Acts as a reference, not as a learning resource. Deliberately avoids CPU details. Did you know? 7 Ā© 2019 Arm Limited
  • 17. Documenta on: oļ¬€ to a good start Everything you need to know is described in a handy book! Hilariously called the ā€˜Arm ARMā€™ (miraculously, you can search for this) Almost 8000 pages long Sporadic releases; usually not quite up-to-date (arch changes weekly) Acts as a reference, not as a learning resource. Deliberately avoids CPU details. Did you know? If you printed a copy for every shipped CPU, it would reach Mars and back 500x! 7 Ā© 2019 Arm Limited
  • 18. The Arm ARM: Maybe not so handy a er all? ā€œAny interrupt that is pending before a Context synchroniza on event in the following list, is taken before the ļ¬rst instruc on a er the context synchronizing event, provided that the pending interrupt is not masked: Execu on of an ISB instruc on. Excep on entry, if ARMv8.5-CSEH is not implemented, or if ARMv8.5-CSEH is implemented and the appropriate SCTLR_ELx.EIS bit is set. Excep on return, if ARMv8.5-CSEH is not implemented or if ARMv8.5-CSEH is implemented and the appropriate SCTLR_ELx.EOS bit is set. Exit from Debug state.ā€ 8 Ā© 2019 Arm Limited
  • 19. The Arm ARM: Maybe not so handy a er all? ā€œAny interrupt that is pending before a Context synchroniza on event in the following list, is taken before the ļ¬rst instruc on a er the context synchronizing event, provided that the pending interrupt is not masked: Execu on of an ISB instruc on. Excep on entry, if ARMv8.5-CSEH is not implemented, or if ARMv8.5-CSEH is implemented and the appropriate SCTLR_ELx.EIS bit is set. Excep on return, if ARMv8.5-CSEH is not implemented or if ARMv8.5-CSEH is implemented and the appropriate SCTLR_ELx.EOS bit is set. Exit from Debug state.ā€ This is not the ā€˜cool-aidā€™ you are looking for. Hurdle 1: Arm is mostly inaccessible to developers on the outside. 8 Ā© 2019 Arm Limited
  • 20. Important terminology Architecture vs micro-architecture Core license vs architecture license Diversity vs fragmenta on CPU vs SoC ISA vs system architecture Understanding these diļ¬€erences is crucial to picking apart and understanding the Arm ecosystem. 9 Ā© 2019 Arm Limited
  • 21. Architecture vs Micro-architecture Architecture is the contract between hardware and so ware. It describes the portable guarantees provided by the hardware, without dicta ng how they are implemented, and is typically speciļ¬ed in English. Arm has three architecture proļ¬les: A, R and M (more hilarity). Approx. 5yr lag. Micro-architecture relates to the design of a speciļ¬c piece of hardware, and is typically speciļ¬ed in a hardware descrip on language such as Verilog. 10 Ā© 2019 Arm Limited
  • 22. Architecture vs Micro-architecture Architecture is the contract between hardware and so ware. It describes the portable guarantees provided by the hardware, without dicta ng how they are implemented, and is typically speciļ¬ed in English. Arm has three architecture proļ¬les: A, R and M (more hilarity). Approx. 5yr lag. Micro-architecture relates to the design of a speciļ¬c piece of hardware, and is typically speciļ¬ed in a hardware descrip on language such as Verilog. So ware analogy: The C language standard is the architecture, whereas the toolchain source code (e.g. GCC + GLIBC) is the micro-architecture. Arm develop both architectures and micro-architectures as licensable products! 10 Ā© 2019 Arm Limited
  • 23. Architecture vs Micro-architecture Architecture is the contract between hardware and so ware. It describes the portable guarantees provided by the hardware, without dicta ng how they are implemented, and is typically speciļ¬ed in English. Arm has three architecture proļ¬les: A, R and M (more hilarity). Approx. 5yr lag. Micro-architecture relates to the design of a speciļ¬c piece of hardware, and is typically speciļ¬ed in a hardware descrip on language such as Verilog. So ware analogy: The C language standard is the architecture, whereas the toolchain source code (e.g. GCC + GLIBC) is the micro-architecture. Arm develop both architectures and micro-architectures as licensable products! Hurdle 2: This dis nc on is far less signiļ¬cant on other architectures such as x86. 10 Ā© 2019 Arm Limited
  • 24. Hysterical raisins <=ARMv4 When dinosaurs roamed the Earth ARMv5 2000, Baseline, Xscale ARMv6 2002, SMP (sort of), ARM11 ARMv7-A 2005, Virtualisa on, VMSA architecture, Cortex-A8 Armv8-A 2011, 64-bit ISA (AArch64), Cortex-A53 Armv8.1-A 2014, LSE atomics, Cavium ThunderX Armv8.2-A 2015, RAS extensions, Cortex-A77 Armv8.3-A 2016, Pointer authen ca on, Vortex? Armv8.4-A 2017, MPAM Armv8.5-A 2018, MTE 11 Ā© 2019 Arm Limited
  • 25. Hysterical raisins <=ARMv4 When dinosaurs roamed the Earth ARMv5 2000, Baseline, Xscale ARMv6 2002, SMP (sort of), ARM11 ARMv7-A 2005, Virtualisa on, VMSA architecture, Cortex-A8 Armv8-A 2011, 64-bit ISA (AArch64), Cortex-A53 Armv8.1-A 2014, LSE atomics, Cavium ThunderX Armv8.2-A 2015, RAS extensions, Cortex-A77 Armv8.3-A 2016, Pointer authen ca on, Vortex? Armv8.4-A 2017, MPAM Armv8.5-A 2018, MTE Hurdle 3: Many features op onal! Discoverable at run me using ID registers. 11 Ā© 2019 Arm Limited
  • 26. Licensing Why is the product naming so inconsistent? Partly due to the licensing model: Core license to include a speciļ¬c Arm CPU design in your SoC. Minor modiļ¬ca on may be permi ed. Architecture license to design your own CPU from scratch which implements the Arm architecture and allow your marke ng team to call it whatever they like This means that Armā€™s architecture partners are also indirect compe tors! 12 Ā© 2019 Arm Limited
  • 27. Licensing Why is the product naming so inconsistent? Partly due to the licensing model: Core license to include a speciļ¬c Arm CPU design in your SoC. Minor modiļ¬ca on may be permi ed. Architecture license to design your own CPU from scratch which implements the Arm architecture and allow your marke ng team to call it whatever they like This means that Armā€™s architecture partners are also indirect compe tors! Hurdle 4: Important that Arm doesnā€™t produce produc on silicon as an SoC 12 Ā© 2019 Arm Limited
  • 28. The Arm ecosystem 13 Ā© 2019 Arm Limited
  • 29. Playing ā€˜Switzerlandā€™ Armā€™s inļ¬‚uence is in the power of the partnership and underlying pla orm; on its own, itā€™s rela vely ny in revenue terms: Qualcomm 22B USD (2018) Intel 70B USD (2018) Samsung 211B USD (2017) 14 Ā© 2019 Arm Limited
  • 30. Playing ā€˜Switzerlandā€™ Armā€™s inļ¬‚uence is in the power of the partnership and underlying pla orm; on its own, itā€™s rela vely ny in revenue terms: Qualcomm 22B USD (2018) Intel 70B USD (2018) Samsung 211B USD (2017) Arm <1B GBP (2015) Greater than the sum of its parts, but driven by consensus. 14 Ā© 2019 Arm Limited
  • 31. Playing ā€˜Switzerlandā€™ Armā€™s inļ¬‚uence is in the power of the partnership and underlying pla orm; on its own, itā€™s rela vely ny in revenue terms: Qualcomm 22B USD (2018) Intel 70B USD (2018) Samsung 211B USD (2017) Arm <1B GBP (2015) Greater than the sum of its parts, but driven by consensus. Hurdle 5: Limited ability to mandate standards compliance or move goalposts 14 Ā© 2019 Arm Limited
  • 32. Diversity vs Fragmenta on ā€˜Pick ā€˜nā€™ mixā€™ architecture reigned in slightly by desire for so ware re-use: PSCI to bring CPUs up and down SBSA cer ļ¬ca on for server system designs Trusted ļ¬rmware open-source boiler-plate Linux/KVM upstream-ļ¬rst approach 15 Ā© 2019 Arm Limited
  • 33. Diversity vs Fragmenta on ā€˜Pick ā€˜nā€™ mixā€™ architecture reigned in slightly by desire for so ware re-use: PSCI to bring CPUs up and down SBSA cer ļ¬ca on for server system designs Trusted ļ¬rmware open-source boiler-plate Linux/KVM upstream-ļ¬rst approach Hurdle 6: S ll a tendancy towards fragmenta on between SoCs https://www.mono-project.com/news/2016/09/12/arm64-icache/ 15 Ā© 2019 Arm Limited
  • 34. How does Linux cope? The arm64 Linux kernel is wri en to the architecture and aims to abstract away the underlying bag of bits baked into silicon: Single defconfig binary image for all AArch64 CPUs Heavy use of ā€˜alterna veā€™ instruc on patching uarch-speciļ¬c features not worth the eļ¬€ortā€¦ ā€¦apart from errata workarounds and side-channels Heterogeneous systems are a headache Exposed to userspace via proc, sys, ELF HWCAP and MRS instruc ons Details in Documentation/arm64/cpu-feature-registers.rst Email the list if you need more: linux-arm-kernel@lists.infradead.org 16 Ā© 2019 Arm Limited
  • 35. Fire up the simula on 17 Ā© 2019 Arm Limited
  • 36. Where do I start? / Whatā€™s in the box? 1. Ignore all the marke ng junk 2. Iden fy the SoC 3. Iden fy the CPU(s) ā€“ Arm derived? 4. Iden fy architecture version 5. Iden fy features 6. https://wikichip.org 18 Ā© 2019 Arm Limited
  • 37. Some example devices 19 Ā© 2019 Arm Limited
  • 38. Example 1: Libre Computer ā€˜La Friteā€™ They sayā€¦ AML-S805X-AC is the perfect development pla orm for projects that require highly performant ARM Cortex-A class CPUs, small compact form factor, secure and non-secure 1080P media delivery and playback, high reliability, and low power. 20 Ā© 2019 Arm Limited
  • 39. Example 1: Libre Computer ā€˜La Friteā€™ They sayā€¦ AML-S805X-AC is the perfect development pla orm for projects that require highly performant ARM Cortex-A class CPUs, small compact form factor, secure and non-secure 1080P media delivery and playback, high reliability, and low power. Soc is Amlogic S805x 4x ARM Cortex-A53 @ 1.2GHz Cortex-A53 is a 64-bit core implemen ng ARMv8.0 Usually the ā€˜Li leā€™ in early ā€˜big.Li leā€™ designs ARM saysā€¦ The most widely-used processor with balanced performance and eļ¬ƒciency 20 Ā© 2019 Arm Limited
  • 40. Example 2: Samsung Galaxy S9 They sayā€¦ 10nm 64-bit Octa-Core Processor 2.8GHz + 1.7GHz (Maximum Clock Speed, Performance Core + Eļ¬ƒciency Core) 21 Ā© 2019 Arm Limited
  • 41. Example 2: Samsung Galaxy S9 They sayā€¦ 10nm 64-bit Octa-Core Processor 2.8GHz + 1.7GHz (Maximum Clock Speed, Performance Core + Eļ¬ƒciency Core) SoC appears to be Samsung Exynos 9810 (in Europe) Wikichip claims this features 4xMongoose 3 plus 4xCortex-A55 cores Cortex-A55 designed by Arm and implements ARMv8.2 Mongoose 3 designed by Samsung and implements ARMv8.0 21 Ā© 2019 Arm Limited
  • 42. Example 2: Samsung Galaxy S9 They sayā€¦ 10nm 64-bit Octa-Core Processor 2.8GHz + 1.7GHz (Maximum Clock Speed, Performance Core + Eļ¬ƒciency Core) SoC appears to be Samsung Exynos 9810 (in Europe) Wikichip claims this features 4xMongoose 3 plus 4xCortex-A55 cores Cortex-A55 designed by Arm and implements ARMv8.2 Mongoose 3 designed by Samsung and implements ARMv8.0 The Cortex-A55 implements more instruc ons than the Mongoose 3! https://medium.com/@jadr2ddude/ a-big-little-problem-a-tale-of-big-little-gone-wrong-e7778ce744bb 21 Ā© 2019 Arm Limited
  • 43. Example 3: Motorola moto z4 They sayā€¦ Feel the speed of a QualcommĀ® Snapdragonā„¢ 675 processor thatā€™s 57% faster than moto z3 play. Itā€™s a phone built to keep up with you. 22 Ā© 2019 Arm Limited
  • 44. Example 3: Motorola moto z4 They sayā€¦ Feel the speed of a QualcommĀ® Snapdragonā„¢ 675 processor thatā€™s 57% faster than moto z3 play. Itā€™s a phone built to keep up with you. Itā€™s an SoC not a bloody processor! Qualcomm sayā€¦ CPU Cores: QualcommĀ® Kryoā„¢ 460 CPU, Octa-core CPUā€¦built on Arm Cortex technologyā€¦ 22 Ā© 2019 Arm Limited
  • 45. Example 3: Motorola moto z4 They sayā€¦ Feel the speed of a QualcommĀ® Snapdragonā„¢ 675 processor thatā€™s 57% faster than moto z3 play. Itā€™s a phone built to keep up with you. Itā€™s an SoC not a bloody processor! Qualcomm sayā€¦ CPU Cores: QualcommĀ® Kryoā„¢ 460 CPU, Octa-core CPUā€¦built on Arm Cortex technologyā€¦ Wikichip to the rescue! Kryo 460 Silver => Cortex-A55 Kryo 460 Gold => Cortex-A76 Both implement ARMv8.2 ā€˜The two big disclosed changes are an increase of the coreā€™s reorder buļ¬€er from 128 entries to a higher, unspeciļ¬ed amount, as well as tuning the prefetchers to be er work with ļ¬‚oa ng point workloads.ā€™ https://www.anandtech.com/show/14072/the-samsung-galaxy-s10plus-review/3 22 Ā© 2019 Arm Limited
  • 46. Ques ons? Please contact support@arm.com! The Arm trademarks featured in this presenta on are registered trademarks or trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere. All rights reserved. All other marks featured may be trademarks of their respec ve owners. www.arm.com/company/policies/trademarks Ā© 2019 Arm Limited
  • 47. Image references 1. Colin Davis, ā€˜Veins in my Right Armā€™. Cropped from https://live.staticflickr.com/3382/3554305017_053fee6793_b_d.jpg - CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/) 2. Marco Verch, ā€˜Bauarbeiterdekolteeā€™. Unmodiļ¬ed from https://live.staticflickr.com/4357/36221532814_779c61e968_k_d.jpg - CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/) 3. DJRphoto36, ā€˜Angry Penguinā€™. Unmodiļ¬ed from https://live.staticflickr.com/5056/5496520090_e9aa83dc0b_b_d.jpg - CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/) 4. Kevin Gill, ā€˜Marsā€™. Unmodiļ¬ed from https://live.staticflickr.com/2107/32789125872_f0184cc247_k_d.jpg - CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/) 5. Pablo Cabezos, ā€˜King CollegeĀ“s chapel (Cambridge)ā€™. Unmodiļ¬ed from https://live.staticflickr.com/8300/29112354294_3c0f166ec1_b_d.jpg - CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/) 6. kecia85, ā€˜Dic onary-007ā€™. Unmodiļ¬ed from https://live.staticflickr.com/8322/7983928912_f18c81fb31_o_d.jpg - CC BY-SA 2.0 (https://creativecommons.org/licenses/by-sa/2.0/) 7. Images Money, ā€˜Moneyā€™. Unmodiļ¬ed from https://live.staticflickr.com/6029/5929622407_e474db378d_k_d.jpg - CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/) 8. wisegie, ā€˜Swiss ļ¬‚agā€™. Unmodiļ¬ed from https://live.staticflickr.com/6082/6078034891_ca23bb39a8_b_d.jpg - CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/) 9. The DLC, ā€˜Buļ¬€et lineā€™. Cropped from https://live.staticflickr.com/1369/4734507240_57b0244541_h_d.jpg - CC BY-SA 2.0 (https://creativecommons.org/licenses/by-sa/2.0/) 10. lewing@isc.tamu.edu Larry Ewing and The GIMP, ā€˜Tux penguinā€™. Unmodiļ¬ed from https://commons.wikimedia.org/wiki/File:Tux.png 11. Cur s Alan Jackson, ā€˜A er this, I give up. Probably.ā€™. Unmodiļ¬ed from https://live.staticflickr.com/5097/5418579238_d28022927c_h_d.jpg - CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/) 24 Ā© 2019 Arm Limited