
C H A P T E R 1
M E E T T H E R A S P B E R R Y P I
19
ARM versus x86
The processor at the heart of the Raspberry Pi system is the Broadcom BCM2835 SoC multi-
media processor. This means that the vast majority of the system’s components, including
its central and graphics processing units along with the audio and communications hard-
ware, are built onto that single component hidden beneath the memory chip at the centre of
the board.
It’s not just this SoC design that makes the BCM2835 different to the processor found in
your desktop or laptop, however. It also uses a different
instruction set architecture (ISA)
,
known as ARM.
Developed by Acorn Computers back in the late 1980s, the ARM architecture is a relatively
uncommon sight in the desktop world. Where it excels, however, is in mobile devices: the
phone in your pocket almost certainly has at least one ARM-based processing core hidden
away inside. Its combination of a simple
reduced instruction set computing (RISC)
architecture
and low power draw make it the perfect choice over desktop chips with high power demands
and
complex instruction set computing (CISC)
architectures.
The ARM-based BCM2835 is the secret of how the Raspberry Pi is able to operate on just the
5V 1A power supply provided via the onboard micro-USB port. It’s also the reason why you
won’t find any metal heat sinks on the device: the chip’s low power draw directly translates
into very little waste heat, even during complicated processing tasks.
It does mean, however, that the Raspberry Pi isn’t compatible with traditional PC software.
The majority of software for desktops and laptops is built with the x86 instruction set archi-
tecture in mind, as found in processors from the likes of AMD, Intel and VIA. As a result, it
won’t run on the ARM-based Raspberry Pi.
The BCM2835 uses a generation of ARM’s processor design known as ARM11, which in turn
is designed around a version of the instruction set architecture known as ARMv6. This is
worth remembering: ARMv6 is a lightweight and powerful architecture, but has a rival in the
more advanced ARMv7 architecture used by the ARM Cortex family of processors. Software
developed for ARMv7, like software developed for x86, is sadly not compatible with the
Raspberry Pi’s BCM2835—although developers can usually convert the software to make it
suitable, a process known as
porting
.
That’s not to say you’re going to be restricted in your choices. As you’ll discover later in the
book, there is plenty of software available for the ARMv6 instruction set and, as the Raspberry
Pi’s popularity continues to grow, that will only increase. In this book, you’ll also learn how to
create your own software for the Pi even if you have no experience with programming.
Summary of Contents for A
Page 1: ......
Page 2: ......
Page 3: ...Raspberry Pi User Guide 2nd Edition...
Page 4: ......
Page 5: ...Raspberry Pi User Guide 2nd Edition Eben Upton and Gareth Halfacree...
Page 10: ......
Page 26: ...R A S P B E R R Y P I U S E R G U I D E S E C O N D E D I T I O N 10...
Page 28: ......
Page 29: ...Chapter 1 Meet the Raspberry Pi...
Page 37: ...Chapter 2 Getting Started with the Raspberry Pi...
Page 56: ......
Page 57: ...Chapter 3 Linux System Administration...
Page 79: ...Chapter 4 Troubleshooting...
Page 89: ...Chapter 5 Network Configuration...
Page 109: ...Chapter 6 The Raspberry Pi Software Configuration Tool...
Page 122: ......
Page 123: ...Chapter 7 Advanced Raspberry Pi Configuration...
Page 140: ......
Page 141: ...Chapter 8 The Pi as a Home Theatre PC...
Page 151: ...Chapter 9 The Pi as a Productivity Machine...
Page 160: ......
Page 161: ...Chapter 10 The Pi as a Web Server...
Page 172: ......
Page 173: ...Chapter 11 An Introduction to Scratch...
Page 189: ...Chapter 12 An Introduction to Python...
Page 216: ......
Page 218: ......
Page 219: ...Chapter 13 Learning to Hack Hardware...
Page 234: ......
Page 235: ...Chapter 14 The GPIO Port...
Page 249: ...Chapter 15 The Raspberry Pi Camera Module...
Page 265: ...Chapter 16 Add on Boards...
Page 280: ......
Page 281: ...Appendix A Python Recipes...
Page 287: ...Appendix B Raspberry Pi Camera Module Quick Reference...
Page 293: ...Appendix C HDMI Display Modes...