ARM processor is widely used in Embedded devices such as smart phones. Market share of ARM in embedded industry exceeds 90%.
This awareness presentation about ARM architecture presented by PiTechnologies Group www.PiTechnologies.net
2. What is ITO?
Information Technology Outsourcing
Egyptians can outsource the software
development for foreign companies.
Famous Freelancing sites
2
7. Pi in EDUEgypt
EDUEgypt-ITO is a training program for governmental
universities to fill the gap between market demand and
academic studies.
Private
MCIT Sector
ITIDA ITI Pi Oracle Microsoft SAP
MOHE
Cairo Ainshams Helwan
7
8. Pi in EDUEgypt
Pi has delivered
iPhone application development course.
Web development using open source technologies course.
109 Students.
Join our Facebook group Pi-FCI
8
10. Motivation
16 April 2011 @ 8:20 PM, Freelancer.com has these numbers
2,486,707 freelance professionals.
$87,649,330 USD user earnings .
1,026,427 projects completed.
Top Categories were
PHP (1723 Projects) iPhone (308 Projects)
MySQL (651 Projects) iPad (151 Projects)
Java Script (399 Projects) Objective C (75 Projects)
10
11. Motivation
Freelancing average rate is in between 30$ to 40$ per hour.
Egyptian universities have well-known 25 Faculties of Computer
Information and Computer Engineering
14,000+ Egyptian Graduates in IT annually.
It seems big pool but
How many have Developers Got Talent?
11
12. Objective
Build 1000 Egyptian developers ready-to-work in freelancing
outsourcing industry during 2011.
Developer shall be ready to be entrepreneur.
Developer shall have passion about S/W development.
Only 40 Developers per faculty will have partial scholarship.
12
13. Technical Content
iPhone Application Development
iOS operating system.
Objective-C programming language
iOS SDK
Realistic Apple Environment
10 Days x 6 Hours Daily
13
14. Technical Content
Web Development using Open source Technologies
HTML/CSS/Apache web server
JavaScript
MySQL
PHP
Under Linux Environment
10 Days x 6 Hours Daily
14
15. Technical Content
Embedded Systems Development
Introduction to Embedded Systems
SW Engineering
C for Embedded Systems
Micro-Controller
RTOS
ARM Processor
Project
17. ARM Processor Architecture
Awareness Session
The Architecture for The Digital World
Mahmoud S.Khalifa
Business Development
PiTechnologies
PiTechnologies Group Embedded Team
18. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
19. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
20. What is ARM ?
Advanced RISC Machine
ARM: 32-bit RISC processor
Developed by ARM Ltd
founded 1990
In 2000 billion arm core in
the market
In 2009, ARM processors
account for approximately
90% of all embedded 32-bit
RISC processors.
21. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
27. ARM Applications
ARM Processor: Cortex- ARM Processor
A8 Family: Cortex-A
Silicon Partner: Series
Qualcomm ARM
Processor: Cortex- ARM Processor
A8 Family: Cortex-A Series ARM Processor Family: Cortex-
Silicon Supplier: A Series
Samsung ARM Processor: Cortex- ARM Processor: Cortex-A8
A8 Silicon Supplier: Samsung
Silicon Supplier: Hummingbird S5PC110
ARM Processor Qualcomm® QSD 8650
Family: ARM11 @ 1 GHz
Silicon Supplier
Freescale i.MX353
applications
processor ARM
Processor
Family: ARM9
30. ARM Application
Dual-Core ARM Cortex A9 CPU:
NVIDIA Tegra features the world’s first dual core CPU for
mobile applications in addition to support for Symmetric
Multi-Processing (SMP) which enable :
tasks to be parallelized between the two ARM Cortex A9 processors,
delivers faster load times of Web pages, quicker UI responsiveness,
and faster rendering of complex Web pages.
NVIDIA has implemented aggressive dynamic voltage and
frequency scaling to minimize the power used by the dual-
core Cortex A9 CPU
33. ARM Application
Smartphones
Open hardware mobile
phone
ARM9 processor based on
SC32442 from Samsung
Support multiple Linux
distribution and hold
capabilities to support multi
boot
Schematic ,Hardware and
reference manuals are
available to community for
use
34. ARM Applications
txtr reader is product of Txtr, Berlin based company
engaged in building tools & services for digital reader.
It is based on Freescale i.Mx31 SoC which
contains ARM11 processor core.
It can also encourages existing device vendor to
integrate txtr service on there platform.
Reader hardware consist of
Bluetooth, Wifi,
Near field communication
EDGE modem to communicate with device.
Interface such as, 3D Accelerator meter, Touch
screen based Electronic ink display, vibrator motor
makes it more attractive platform for developing
entertainment applications.
35. ARM Applications
Odroid is developer focused
entertainment / gaming device.
It comes with schematics &
includes itś support in Linux &
Android.
Odroid contains Samsung
S5PC100 SoC, which contains
ARM Cortex-A8 833MHz
processor, 512 MB RAM, Touch
screen & HDMI output, WiFi,
Bluetooth
36. ARM Applications
The Snapdragon application
processor core, is Qualcomm's
own design.
Based on ARM Cortex-A8 core
and ARM v7 instruction set, but
theoretically has much higher
performance for multimedia-
related SIMD operations.
All Snapdragon processors
contain the circuitry to
decode high-definition
video (HD) resolution
37. ARM Applications
The Samsung Hummingbird is
a system-on-a-chip (SoC) designed
for mobile devices, which is based
on the 45nm ARM Cortex
A8 architecture with
a PowerVR SGX540 GPU.
One advantage of the Hummingbird
SoC is the high performance with
low power consumption.
The chip was first used in
the Samsung Galaxy S, followed
by the Samsung Wave,
the Samsung Galaxy Tab,
the Samsung GT-I9020T (Google
Nexus S),
40. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
42. ARM Products and families
Classic ARM
Processors
ARM11™ Series - ARM9™ Series- ARM7™ Series-
Performance processors Popular processors Classic processors for
based on the ARMv6 based on the the general purpose
architecture ARMv5 architecture applications
43. Embedded Processor
Embedded Processors are
primarily focused on delivering
highly deterministic real-time
behavior in a wide range of
power sensitive applications.
These processors often execute
a Real-Time Operating System
(RTOS)
44. ARM Cortex Embedded
Processors
Cortex-M Series Cortex-R Series
- Cost-sensitive solutions for - Exceptional performance for
deterministic microcontroller real-time applications
applications
Automotive braking
Microcontrollers systems
Mixed signal devices
Powertrain solutions
Smart sensors
Automotive body Mass storage controller
electronics and airbags
45. Application Processor
Application Processors are
defined by the processor's
ability to execute
complex operating systems,
such as Linux, Android /
Chrome, Microsoft Windows
(CE/Embedded), and Symbian,
and to enable complex graphic
user interfaces.
46. ARM Cortex Application Processors
Cortex™-A Series
- High performance processors
for open Operating Systems
Smart books &
Smartphones Netbooks eBook Readers Digital TV Home Gateways
Cortex Application Processors deliver exceptional performance of up to
2GHz+ typical frequency in advanced process nodes, enabling the next
generation of mobile internet devices.
The processors are available in single-core and multi-core varieties, delivering
up to four processing units with optional NEON™ multimedia processing
blocks and advanced Floating Point execution units.
47. Secure Core and specialist
ARM Secure Processors
SecurCore applications include:
SIMs Smart Cards
Advanced Payment Systems
Electronic Passports
Electronic Ticketing and
Transportation
ARM FPGA-target Processor
For developers who desire compatibility
with the ARM architecture but require
the system programmability of FPGA
devices
52. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
53. BASIC Concepts
ISA- Instruction Set Architecture- is part of
computer architecture related to programming
including :
data types,
instructions,
registers,
addressing mode,
memory architecture,
and interrupts
54. Basic Concepts
RISC Design philosophy
simple but powerful instructions (do less )
executed within a single cycle at high speed
reduce the complexity of hardware
provide greater flexibility in software
place greater demands on the compiler intelligence
ALPHA ,ARC,ARM,AVR,MIPS and SPARC
reduced mean the work required for single instruction is
reduced (reducing memory access) compared to CISC
55. Basic Concepts
Design Rules for RISC Philosophy
Instruction
reduced ,one cycle instruction
programmer synthesize complex operation (/)(*)
fixed length instructions To allow pipeline
Pipeline
processing of instruction divided in to many stages
executed in parallel in pipelines which advances one step each
clock cycle to maximize throughput
56. Basic Concepts
Register
general purpose, can hold
address or data
acts as fast local memory for
data processing operation
57. Basic Concepts
Load-Store Architecture
Processor operate on data stored on registers
Load and store instructions transfer data between register bank
and external memory
Saving the cost of memory access by separating memory access
from data processing (use data multiple time)
58. Basic Concepts
Complex Instruction Set Computer
This philosophy depend on relies more on the hardware for
instruction functionality
instructions became more complicated
each instruction can execute several low level operation
load/store, arithmetic operation done in single instruction
variable length instruction ,take many cycles
59. Basic Concepts
Typically CISC chips have a large amount of different
and complex instructions and that because the
philosophy behind it is that hardware is always faster
than software, therefore one should make a powerful
instruction set
60. Basic Concepts
You must keep in your mind the main difference
between RISC and CISC
Compiler Compiler
More complex
CISC Less complex
RISC
62. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
63. Why ARM ?
Reduce power consumption which is The most
important requirement for portable embedded
system
Code density is improved by THUMB
An extension to the architecture of an ARM chip
that provides enhanced code density. It stores a
subset of 32-bit instructions as compressed 16-bit
instructions and decompresses them back to 32
bits upon execution
64. Why ARM ?
Great Hardware debugging technology
so you can view what happen on hardware during
the execution with great visibility
This get great offer for time to resolve the
problem and time saving so reduce over all
development costs
65. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
66. ARM Design Philosophy
ARM is not a pure RISC arch. (some enhancement )
ARM instruction set differ from pure RISC to make arm
suitable for embedded application
Differences between arm and RISC
Variable cycle execution for certain instructions
Inline barrel shifter leading to more complex instructions
Thumb 16-bit instruction set
Conditional execution
Enhanced instructions (DSP like, 16 x 16-bit multiplication)
67. ARM Design Philosophy
Variable cycle execution
Load /Store instruction executed in multiple cycle
depending on the number of register being transferred
transfer by sequential memory access is faster than
random access
Inline barrel shifter
hardware component that preprocesses input register before it
used by instruction which mean improve in the core performance
68. ARM Design Philosophy
Thumb 16-bit inst.
ARM added 16-bit instruction Set called Thumb which allow
ARM core to execute 16 or 32 bit instruction
Thumb instruction set is an extension to the 32-bit ARM
architecture that enables very high code density
The Thumb instruction set features a subset of the most
commonly used 32-bit ARM
69. ARM Design Philosophy
Conditional execution
instruction executed only when specific conditions
satisfied so increase the performance by reducing branch
instruction
Enhanced instructions
support fast 16*16-bit multiplication, this by adding
support of enhanced DSP instructions to standard ARM
instruction set
70. ARM Applications
From all the previous we conclude that why ARM is one of the
most commonly used 32-bit embedded processor core
Top semiconductor companies build product based on ARM
because the features of :
Low power consumption
Low cost memory
High code density
Internal debugging capabilities
71. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
72. ARM Naming Convention
ARM x y z labels
Number of the core
Memory management model
Cache information
Extra features
74. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
75. ARM Technology
There are a common set of industry-leading technologies found
across the entire range of ARM processors, including
The powerful ARM, Thumb® and Thumb-2 instruction sets
DSP and SIMD extensions
NEON™ advanced SIMD instructions for efficient multimedia
processing
IEEE 754-compliant hardware floating point support (VFP)
Hardware-accelerated Java support (Jazelle®)
TrustZone® security extensions
76. Conclusion
ARM feature
power consumption
High Code Density
Low Cost Memory
Internal Debugging Capabilities
ARM Instruction Set
Variable Cycle Execution
Inline barrel Shifter
Thumb 16 –bit inst.
Conditional execution
Enhanced instruction
77. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start ….
78. Embedded System Hardware
ARM processor controls the embedded device. Different versions are
available to suit the desired operating characteristics
ARM processor core is the engine that execute instructions and
manipulates data
Controller coordinate important functional block interrupt and
memory controllers are commonly used
Peripherals provide all input-output capability external to chip
Bus used to communicate between the core and surrounding parts
80. Embedded System Hardware
MEMORY
Selection of memory depends on:
Performance
Power consumption
Price
Memory characteristics:
Memory hierarchy
Memory types
Memory width
81. Embedded System Hardware
Memory width:
8, 16, 32 and 64-bit
Consider as design issue when you deal with ARM or
Also have effect on over all cost and performance ratio
82. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Guide
Lets Start
84. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Model
Lets Start ….
85. ARM Core Data Flow Model
This figure shows the ARM Von-Neumann
Architecture
For Von-Neumann the same bus hold data
and address
HARVARD implementation of the core use
two different busses
Instruction decoder translate instruction
before they are executed
Sign Extend unit converts sign 8/16-bit
numbers into 32-bit values before storing
in the register file
Register file is storage bank made up of 32-
bit register and data placed on it
86. ARM Core Data Flow Model
ARM use Load-Store architecture like all RISC
processor, load copy data from memory to register in
the core and store copy data from register to
memory
Register Can hold sign or unsigned 32-bit values
ALU: Arithmetic Logic Unit
MAC: Multiply Accumulate unit
Operation flow will be by taking Rn and RM from
busses then the results Rd Stored in register file
87. ARM Core Data Flow Model
Load/store instructions use ALU to generate memory
address to be stored in address register
The Incrementer is responsible for incrementing the
address on the address register for reading multiple
registers from sequential addresses
Its Clear that barrel shifter and ALU can calculate wide
range of expressions and addresses
88. Agenda
What is ARM ?
ARM Market Share and Applications
ARM Products and families
Basic Concepts
Why ARM?
ARM Design Philosophy
ARM Naming
ARM Technologies
Embedded System Hardware
Embedded System Software
ARM Core Developer Model
Lets Start ….
91. Lets Start ….
91
ARM Processor fundamentals
ARM instruction set
:
Exception and Interrupt handling
Efficient C programming using ARM
Software Engineering
Embedded C
Embedded Linux
Device Drivers
Multicore programming