2. Outline:
What is ARM Processor
The RISC design philosophy
The ARM Design Philosophy
Instruction Set for Embedded Systems
Embedded System Hardware
ARM Bus Technology
AMBA Bus Protocol
Memory
Peripherals
Embedded System Software
Initialization (Boot) Code
Memory mapping
Operating System
Applications
3. what is ARM Processor:
An ARM processor is one of a family of CPUs based on the RISC (reduced
instruction set computer) architecture developed by Advanced RISC
Machines(ARM). ARM makes 32-bit and 64-bit RISC multi-core processors
4. The RISC design philosophy
The RISC philosophy is implemented with four major design rules:
1) instructions, 2) Pipelines, 3) Registers, 4) Load-store architecture
5. The ARM Design Philosophy
There are a number of physical features that have driven the ARM processor
design, First, portable embedded systems require some form of battery power.
High code density is another major requirement since embedded systems have
limited memory due to cost and/or physical size restrictions.
Another important requirement is to reduce the area of the die taken up by the
embedded processor.
6. Instruction Set for Embedded Systems
The ARM instruction set differs from the pure RISC definition in several ways that
make the ARM instruction set suitable for embedded applications:
*Variable cycle execution for certain instructions
*Inline barrel shifter leading to more complex instructions
*Thumb 16-bit instruction set
*Conditional execution
*Enhanced instructions
7. Embedded System Hardware
An example of an ARM-based embedded device, a microcontroller.
8. ARM Bus Technology
Embedded systems use different bus technologies than those designed for x86
PCs.
The most common PC bus technology, the Peripheral Component Interconnect
(PCI) bus, connects such devices as video cards and hard disk controllers to the
x86 processor bus.
A bus has two architecture levels.
Physical level
Protocol- the logical
9. AMBA Bus Protocol:
The Advanced Microcontroller Bus Architecture (AMBA) was introduced in 1996.
ARM System Bus (ASB)
ARM Peripheral Bus(APB)
ARM High Performance Bus (AHB)
ARM has introduced two variations on the AHB bus: Multi-layer AHB and
AHB-Lite.
10. Memory:
An embedded system has to have some form of memory to store and execute code.
Width: The memory width is the number of bits the memory returns on each
access typically8, 16, 32, or 64 bits. The memory width has a direct effect on the
overall performance and cost ratio.
Fetching instructions from memory.
Types:
ROM
DRAM
SRAM
SDRAM
Instruction size 8-bit memory 16-bit memory 32-bit memory
ARM 32-bit 4 cycles 2 cycles 1 cycle
Thumb 16- bit 2 cycles 1 cycle 1 cycle
11. Peripherals
Embedded systems that interact with the outside world need some form of peripheral
device
A peripheral device performs input and output functions for the chip by connecting to
other devices or sensors that are off-chip.
Two important types of controllers are memory controllers and interrupt controllers.
Memory Controllers
Interrupt Controllers
12. Embedded System Software
An embedded system needs four typical software components required to control an
embedded device.
Each software component in the stack uses a higher level of abstraction to separate
the code from the hardware device.
Hardware device
Initialization Device drivers
Operating system
Application
Software abstraction layers executing on hardware.
14. Operating System
ARM processors support over 50 operating systems. We can divide operating
systems into two main categories: real-time operating systems (RTOSs) and platform
operating systems.
RTOSs provide guaranteed response times to events. Different operating systems
have different amounts of control over the system response time.
Platform operating systems require a memory management unit to manage large, non
real- time applications and tend to have secondary storage.
15. Applications
ARM processors are found in numerous market segments,
including networking, automotive, mobile and consumer
devices, mass storage, and imaging. Within each segment
ARM processors can be found in multiple applications.
For example, the ARM processor is found in networking
applications like home gateways, DSL modems for high-
speed Internet communication, and 802.11 wireless
communication. The mobile device segment is the largest
application area for ARM processors because of mobile
phones.