Introduction MicroController
Introduction MicroController
Introduction MicroController
ARM Embedded Systems
The ARM processor core is a key component of many successful 32-
bit embedded systems.
ARM cores are widely used in mobile phones, handheld organizers,
and a multitude of other everyday portable consumer devices.
ARM’s designers have come a long way from the first ARM1 prototype
in 1985.
The ARM company bases their success on a simple and powerful
original design,
Which continues to improve today through constant technical
innovation.
In fact, the ARM core is not a single core, but a whole family of
designs sharing similar design principles and a common instruction
set.
In this first chapter we discuss how the RISC (reduced instruction set
computer) design philosophy was adapted by ARM to create a flexible
embedded processor.
We then introduce an example embedded device and discuss the
typical hardware and software technologies that surround an ARM
processor.
The RISC design philosophy
The ARM core uses a RISC architecture.
RISC is a design philosophy aimed at delivering simple but
powerful instructions that execute within a single cycle at a
high clock speed.
The RISC philosophy concentrates on reducing the
complexity of instructions performed by the hardware
because it is easier to provide greater flexibility and
intelligence in software rather than hardware.
As a result, a RISC design places greater demands on the
compiler.
In contrast, the traditional complex instruction set computer
(CISC) relies more on the hardware for instruction
functionality, and consequently the CISC instructions are
more complicated.
RISC and CISC Major Differences
The RISC philosophy is implemented with four major design
rules:
1. Instructions—RISC processors have a reduced number of
instruction classes. These classes provide simple operations
that can each execute in a single cycle. The compiler or
programmer synthesizes complicated operations (for
example, a divide operation) by combining several simple
instructions. Each instruction is a fixed length to allow the
pipeline to fetch future instructions before decoding the
current instruction. In contrast, in CISC processors the
instructions are often of variable size and take many cycles
to execute.
2. Pipelines—The processing of instructions is broken down
into smaller units that can be executed in parallel by
pipelines. Ideally the pipeline advances by one step on each
cycle for maximum throughput. Instructions can be decoded
in one pipeline stage. There is no need for an instruction to
be executed by a mini-program called microcode as on CISC
processors.