SlideShare a Scribd company logo
The relative simplicity 相对的简单 of ARM processors makes them suitable for low
power applications. As a result, they have become dominant 主导的 in the mobile and
embedded electronics market, as relatively low-cost, small microprocessors and
microcontrollers. In 2005, about 98% of the more than one billion mobile phones sold
each year used at least one ARM processor. As of 2009, ARM processors account for
approximately 大约 90% of all embedded 32-bit RISC processors and are used
extensively 广泛的 in consumer electronics, including personal digital assistants
(PDAs), mobile phones, digital media and music players, hand-held game consoles,
calculators and computer peripherals such as hard drives and routers.
ARM cores are used in a number of products, particularly various smartphones. Some
computing examples are the Acorn Archimedes, Apple iPad and ASUS Eee Pad
Transformer. Some other uses are the Apple iPod portable media player, Canon
PowerShot A470 digital camera, Nintendo DS handheld games console and TomTom
automotive navigation system.
Since 2005, ARM was also involved in Manchester University's computer, SpiNNaker,
which used ARM cores to simulate the human brain
Instruction set ARM 指令集
To keep the design clean, simple and fast, the original ARM implementation was
hardwired 电路的 without microcode 伪指令, like the much simpler 8-bit 6502
processor used in prior Acorn microcomputers.
The ARM architecture includes the following RISC features:
* Load/store architecture.
* No support for misaligned memory accesses (although now supported in
ARMv6 cores, with some exceptions related to load/store multiple word instructions).
* Uniform 16 × 32-bit register file.
* Fixed instruction width of 32 bits to ease decoding and pipelining, at the cost
of decreased code density. Later, the Thumb instruction set increased code density.
* Mostly single-cycle execution.
To compensate for 弥补 the simpler design, compared with contemporary processors
like the Intel 80286 and Motorola 68020, some additional design features were used:
* Conditional execution of most instructions, reducing branch overhead and
compensating for the lack of a branch predictor.
* Arithmetic instructions alter condition codes only when desired.
* 32-bit barrel shifter which can be used without performance penalty with most
arithmetic instructions and address calculations.
* Powerful indexed addressing modes.
* A link register for fast leaf function calls.
* Simple, but fast, 2-priority-level interrupt subsystem with switched register
banks.
Conditional execution 条件执行
The conditional execution feature (called predication) is implemented with a 4-bit
condition code selector (the predicate) on every instruction; one of the four-bit codes
is reserved as an "escape code 转译码" to specify certain unconditional instructions,
but nearly all common instructions are conditional. Most CPU architectures only have
condition codes on branch instructions 转移指令.
This cuts down significantly on the encoding bits available for displacements in
memory access instructions, but on the other hand it avoids branch instructions when
generating code for small if statements. The standard example of this is the
subtraction-based Euclidean algorithm: ARM address mode
In the C programming language, the loop is:
while(i != j) {
if (i > j)
i -= j;
else
j -= i;
}
In ARM assembly, the loop is:
loop CMP Ri, Rj ; set condition "NE" if (i != j),
; "GT" if (i > j),
; or "LT" if (i < j)
SUBGT Ri, Ri, Rj ; if "GT" (greater than), i = i-j;
SUBLT Rj, Rj, Ri ; if "LT" (less than), j = j-i;
BNE loop ; if "NE" (not equal), then loop
which avoids the branches around the then and else clauses. Note that if Ri and Rj are
equal then neither of the SUB instructions will be executed, optimising out the need
for a conditional branch to implement the while check at the top of the loop, for
example had SUBLE (less than or equal) been used.
One of the ways that Thumb code provides a more dense encoding is to remove that
four bit selector from non-branch instructions.
Other features
Another feature of the instruction set is the ability to fold shifts and rotates into the
"data processing" (arithmetic, logical, and register-register move) instructions, so that,
for example, the C statement
a += (j << 2);
could be rendered as a single-word, single-cycle instruction on the ARM.
ADD Ra, Ra, Rj, LSL #2
This results in the typical ARM program being denser than expected with fewer
memory accesses; thus the pipeline is used more efficiently. Even though the ARM
runs at what many would consider to be low speeds, it nevertheless competes quite
well with much more complex CPU designs.
The ARM processor also has some features rarely seen in other RISC architectures,
such as PC-relative addressing (indeed, on the 32-bit ARM the PC is one of its 16
registers) and pre- and post-increment addressing modes.
Another item of note is that the ARM has been around for a while, with the instruction
set increasing somewhat over time. Some early ARM processors (before
ARM7TDMI), for example, have no instruction to store a two-byte quantity, thus,
strictly speaking, for them it's not possible to generate efficient code that would
behave the way one would expect for C objects of type "int16_t".
Debugging
All modern ARM processors include hardware debugging facilities; without them,
software debuggers could not perform basic operations like halting, stepping, and
breakpointing of code starting from reset. These facilities are built using JTAG
support, though some newer cores optionally support ARM's own two-wire "SWD"
protocol. In ARM7TDMI cores, the "D" represented JTAG debug support, and the "I"
represented presence of an "EmbeddedICE" debug module. For ARM7 and ARM9
core generations, EmbeddedICE over JTAG was a de-facto debug standard, although
it was not architecturally guaranteed.
DSP enhancement instructions
To improve the ARM architecture for digital signal processing and multimedia
applications, a few new instructions were added to the set.[21] These are signified by
an "E" in the name of the ARMv5TE and ARMv5TEJ architectures. E-variants also
imply T,D,M and I.
The new instructions are common in digital signal processor architectures. They are
variations on signed multiply–accumulate, saturated add and subtract, and count
leading zeros.
Thumb
To improve compiled code-density, processors since the ARM7TDMI have featured
Thumb instruction set, which have their own state. (The "T" in "TDMI" indicates the
Thumb feature.) When in this state, the processor executes the Thumb instruction set,
a compact 16-bit encoding for a subset of the ARM instruction set.[22] Most of the
Thumb instructions are directly mapped to normal ARM instructions. The
space-saving comes from making some of the instruction operands implicit and
limiting the number of possibilities compared to the ARM instructions executed in the
ARM instruction set state.
In Thumb, the 16-bit opcodes have less functionality. For example, only branches can
be conditional, and many opcodes are restricted to accessing only half of all of the
CPU's general purpose registers. The shorter opcodes give improved code density
overall, even though some operations require extra instructions. In situations where
the memory port or bus width is constrained to less than 32 bits, the shorter Thumb
opcodes allow increased performance compared with 32-bit ARM code, as less
program code may need to be loaded into the processor over the constrained memory
bandwidth.
Embedded hardware, such as the Game Boy Advance, typically have a small amount
of RAM accessible with a full 32-bit datapath; the majority is accessed via a 16 bit or
narrower secondary datapath. In this situation, it usually makes sense to compile
Thumb code and hand-optimise a few of the most CPU-intensive sections using full
32-bit ARM instructions, placing these wider instructions into the 32-bit bus
accessible memory.
The first processor with a Thumb instruction decoder was the ARM7TDMI. All
ARM9 and later families, including XScale, have included a Thumb instruction
decoder.
Operating systems
The ARM architecture is supported by a large number of embedded and real-time
operating systems, including Windows CE, .NET Micro Framework, Symbian,
ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus PLUS, MicroC/OS-II, QNX,
RTEMS, BRTOS, RTXC Quadros, ThreadX, Unison Operating System, uTasker,
VxWorks, MQX and OSE.
The ARM architecture is supported by Unix and Unix-like operating systems such
as:Android, Linux, iOS, Solaris, webOS.

More Related Content

What's hot

Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Shrishail Bhat
 
EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
 EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj... EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
D Y PATIL COLLEGE OF ENGINEERING PUNE
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
Mathivanan Natarajan
 
Unit II Arm 7 Introduction
Unit II Arm 7 IntroductionUnit II Arm 7 Introduction
Unit II Arm 7 Introduction
Dr. Pankaj Zope
 
Ppt
PptPpt
Ppt
Bala Ji
 
Applications - embedded systems
Applications - embedded systemsApplications - embedded systems
Applications - embedded systems
Dr.YNM
 
ARM Micro-controller
ARM Micro-controllerARM Micro-controller
ARM Micro-controller
Ravikumar Tiwari
 
ARM - Advance RISC Machine
ARM - Advance RISC MachineARM - Advance RISC Machine
ARM - Advance RISC Machine
EdutechLearners
 
Arm architecture chapter2_steve_furber
Arm architecture chapter2_steve_furberArm architecture chapter2_steve_furber
Arm architecture chapter2_steve_furber
asodariyabhavesh
 
ARM Introduction
ARM IntroductionARM Introduction
ARM Introduction
Ramasubbu .P
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architecture
Zakaria Gomaa
 
Performance Comparison Between x86 and ARM Assembly
Performance Comparison Between x86 and ARM AssemblyPerformance Comparison Between x86 and ARM Assembly
Performance Comparison Between x86 and ARM AssemblyManasa K
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
Prashant Ahire
 
ARM- Programmer's Model
ARM- Programmer's ModelARM- Programmer's Model
ARM- Programmer's Model
Ravikumar Tiwari
 
Basic 8051 question
Basic 8051 questionBasic 8051 question
Basic 8051 question
Sourabh Bhattacharya
 
Unit vi (2)
Unit vi (2)Unit vi (2)
Unit vi (2)
Siva Nageswararao
 
ARM Architecture
ARM ArchitectureARM Architecture
ARM Architecture
Dwight Sabio
 
Arm architecture overview
Arm architecture overviewArm architecture overview
Arm architecture overviewSunil Thorat
 

What's hot (20)

Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
Embedded Systems (18EC62) - ARM Cortex-M3 Instruction Set and Programming (Mo...
 
EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
 EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj... EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
 
Unit II Arm 7 Introduction
Unit II Arm 7 IntroductionUnit II Arm 7 Introduction
Unit II Arm 7 Introduction
 
Ppt
PptPpt
Ppt
 
Applications - embedded systems
Applications - embedded systemsApplications - embedded systems
Applications - embedded systems
 
ARM Micro-controller
ARM Micro-controllerARM Micro-controller
ARM Micro-controller
 
Arm processor
Arm processorArm processor
Arm processor
 
ARM - Advance RISC Machine
ARM - Advance RISC MachineARM - Advance RISC Machine
ARM - Advance RISC Machine
 
Arm architecture chapter2_steve_furber
Arm architecture chapter2_steve_furberArm architecture chapter2_steve_furber
Arm architecture chapter2_steve_furber
 
ARM Introduction
ARM IntroductionARM Introduction
ARM Introduction
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architecture
 
Performance Comparison Between x86 and ARM Assembly
Performance Comparison Between x86 and ARM AssemblyPerformance Comparison Between x86 and ARM Assembly
Performance Comparison Between x86 and ARM Assembly
 
Arm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_armArm cortex-m3 by-joe_bungo_arm
Arm cortex-m3 by-joe_bungo_arm
 
Arm
ArmArm
Arm
 
ARM- Programmer's Model
ARM- Programmer's ModelARM- Programmer's Model
ARM- Programmer's Model
 
Basic 8051 question
Basic 8051 questionBasic 8051 question
Basic 8051 question
 
Unit vi (2)
Unit vi (2)Unit vi (2)
Unit vi (2)
 
ARM Architecture
ARM ArchitectureARM Architecture
ARM Architecture
 
Arm architecture overview
Arm architecture overviewArm architecture overview
Arm architecture overview
 

Similar to Arm

Unit ii arm7 thumb
Unit ii arm7 thumbUnit ii arm7 thumb
Unit ii arm7 thumb
Dr. Pankaj Zope
 
Arm corrected ppt
Arm corrected pptArm corrected ppt
Arm corrected ppt
anish jagan
 
Explain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdfExplain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdf
arjunenterprises1978
 
Architecture and Implementation of the ARM Cortex-A8 Microprocessor
Architecture and Implementation of the ARM Cortex-A8 MicroprocessorArchitecture and Implementation of the ARM Cortex-A8 Microprocessor
Architecture and Implementation of the ARM Cortex-A8 Microprocessor
Aneesh Raveendran
 
Unit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptxUnit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptx
VijayKumar201823
 
how to generate sms
how to generate smshow to generate sms
how to generate smssumant reddy
 
Ec8791 arm 9 processor
Ec8791 arm 9 processorEc8791 arm 9 processor
Ec8791 arm 9 processor
RajalakshmiSermadurai
 
Review Multicore processing based on ARM architecture
Review Multicore processing based on ARM architectureReview Multicore processing based on ARM architecture
Review Multicore processing based on ARM architecture
Mohammad Reza Khalifeh Mahmoodi
 
A42060105
A42060105A42060105
A42060105
IJERA Editor
 
Module-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdfModule-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdf
Sitamarhi Institute of Technology
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - Review
Abdelrahman Hosny
 
M&amp;i(lec#01)
M&amp;i(lec#01)M&amp;i(lec#01)
M&amp;i(lec#01)
Majid Mehmood
 
arm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.pptarm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.ppt
manikandan970975
 
How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?
Hannes Tschofenig
 
Necessity of 32-Bit Controllers
Necessity of 32-Bit ControllersNecessity of 32-Bit Controllers
Necessity of 32-Bit Controllers
mohanav
 
18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx
KokilaK25
 
ARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture IllustrationARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture Illustration
Jason J Pulikkottil
 
embedded system and microcontroller
 embedded system and microcontroller embedded system and microcontroller
embedded system and microcontroller
SHILPA Sillobhargav
 
ARM.pdf
ARM.pdfARM.pdf
ARM.pdf
SnehaSoni72
 

Similar to Arm (20)

Unit ii arm7 thumb
Unit ii arm7 thumbUnit ii arm7 thumb
Unit ii arm7 thumb
 
Arm corrected ppt
Arm corrected pptArm corrected ppt
Arm corrected ppt
 
Explain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdfExplain briefly about the major enhancements in ARM processor archite.pdf
Explain briefly about the major enhancements in ARM processor archite.pdf
 
Architecture and Implementation of the ARM Cortex-A8 Microprocessor
Architecture and Implementation of the ARM Cortex-A8 MicroprocessorArchitecture and Implementation of the ARM Cortex-A8 Microprocessor
Architecture and Implementation of the ARM Cortex-A8 Microprocessor
 
Unit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptxUnit 4 _ ARM Processors .pptx
Unit 4 _ ARM Processors .pptx
 
how to generate sms
how to generate smshow to generate sms
how to generate sms
 
Ec8791 arm 9 processor
Ec8791 arm 9 processorEc8791 arm 9 processor
Ec8791 arm 9 processor
 
Review Multicore processing based on ARM architecture
Review Multicore processing based on ARM architectureReview Multicore processing based on ARM architecture
Review Multicore processing based on ARM architecture
 
Assignment
AssignmentAssignment
Assignment
 
A42060105
A42060105A42060105
A42060105
 
Module-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdfModule-2 Instruction Set Cpus.pdf
Module-2 Instruction Set Cpus.pdf
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - Review
 
M&amp;i(lec#01)
M&amp;i(lec#01)M&amp;i(lec#01)
M&amp;i(lec#01)
 
arm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.pptarm 7 microprocessor architecture ans pin diagram.ppt
arm 7 microprocessor architecture ans pin diagram.ppt
 
How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?
 
Necessity of 32-Bit Controllers
Necessity of 32-Bit ControllersNecessity of 32-Bit Controllers
Necessity of 32-Bit Controllers
 
18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx18CS44-MODULE1-PPT.pptx
18CS44-MODULE1-PPT.pptx
 
ARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture IllustrationARM 7 and 9 Core Architecture Illustration
ARM 7 and 9 Core Architecture Illustration
 
embedded system and microcontroller
 embedded system and microcontroller embedded system and microcontroller
embedded system and microcontroller
 
ARM.pdf
ARM.pdfARM.pdf
ARM.pdf
 

Recently uploaded

The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSETECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
DuvanRamosGarzon1
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
MuhammadTufail242431
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 

Recently uploaded (20)

The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSETECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 

Arm

  • 1. The relative simplicity 相对的简单 of ARM processors makes them suitable for low power applications. As a result, they have become dominant 主导的 in the mobile and embedded electronics market, as relatively low-cost, small microprocessors and microcontrollers. In 2005, about 98% of the more than one billion mobile phones sold each year used at least one ARM processor. As of 2009, ARM processors account for approximately 大约 90% of all embedded 32-bit RISC processors and are used extensively 广泛的 in consumer electronics, including personal digital assistants (PDAs), mobile phones, digital media and music players, hand-held game consoles, calculators and computer peripherals such as hard drives and routers. ARM cores are used in a number of products, particularly various smartphones. Some computing examples are the Acorn Archimedes, Apple iPad and ASUS Eee Pad Transformer. Some other uses are the Apple iPod portable media player, Canon PowerShot A470 digital camera, Nintendo DS handheld games console and TomTom automotive navigation system. Since 2005, ARM was also involved in Manchester University's computer, SpiNNaker, which used ARM cores to simulate the human brain Instruction set ARM 指令集 To keep the design clean, simple and fast, the original ARM implementation was hardwired 电路的 without microcode 伪指令, like the much simpler 8-bit 6502 processor used in prior Acorn microcomputers. The ARM architecture includes the following RISC features: * Load/store architecture. * No support for misaligned memory accesses (although now supported in
  • 2. ARMv6 cores, with some exceptions related to load/store multiple word instructions). * Uniform 16 × 32-bit register file. * Fixed instruction width of 32 bits to ease decoding and pipelining, at the cost of decreased code density. Later, the Thumb instruction set increased code density. * Mostly single-cycle execution. To compensate for 弥补 the simpler design, compared with contemporary processors like the Intel 80286 and Motorola 68020, some additional design features were used: * Conditional execution of most instructions, reducing branch overhead and compensating for the lack of a branch predictor. * Arithmetic instructions alter condition codes only when desired. * 32-bit barrel shifter which can be used without performance penalty with most arithmetic instructions and address calculations. * Powerful indexed addressing modes. * A link register for fast leaf function calls. * Simple, but fast, 2-priority-level interrupt subsystem with switched register banks. Conditional execution 条件执行 The conditional execution feature (called predication) is implemented with a 4-bit condition code selector (the predicate) on every instruction; one of the four-bit codes is reserved as an "escape code 转译码" to specify certain unconditional instructions, but nearly all common instructions are conditional. Most CPU architectures only have condition codes on branch instructions 转移指令. This cuts down significantly on the encoding bits available for displacements in memory access instructions, but on the other hand it avoids branch instructions when generating code for small if statements. The standard example of this is the subtraction-based Euclidean algorithm: ARM address mode In the C programming language, the loop is: while(i != j) { if (i > j) i -= j; else j -= i; } In ARM assembly, the loop is:
  • 3. loop CMP Ri, Rj ; set condition "NE" if (i != j), ; "GT" if (i > j), ; or "LT" if (i < j) SUBGT Ri, Ri, Rj ; if "GT" (greater than), i = i-j; SUBLT Rj, Rj, Ri ; if "LT" (less than), j = j-i; BNE loop ; if "NE" (not equal), then loop which avoids the branches around the then and else clauses. Note that if Ri and Rj are equal then neither of the SUB instructions will be executed, optimising out the need for a conditional branch to implement the while check at the top of the loop, for example had SUBLE (less than or equal) been used. One of the ways that Thumb code provides a more dense encoding is to remove that four bit selector from non-branch instructions. Other features Another feature of the instruction set is the ability to fold shifts and rotates into the "data processing" (arithmetic, logical, and register-register move) instructions, so that, for example, the C statement a += (j << 2); could be rendered as a single-word, single-cycle instruction on the ARM. ADD Ra, Ra, Rj, LSL #2 This results in the typical ARM program being denser than expected with fewer memory accesses; thus the pipeline is used more efficiently. Even though the ARM runs at what many would consider to be low speeds, it nevertheless competes quite well with much more complex CPU designs. The ARM processor also has some features rarely seen in other RISC architectures, such as PC-relative addressing (indeed, on the 32-bit ARM the PC is one of its 16 registers) and pre- and post-increment addressing modes. Another item of note is that the ARM has been around for a while, with the instruction set increasing somewhat over time. Some early ARM processors (before ARM7TDMI), for example, have no instruction to store a two-byte quantity, thus, strictly speaking, for them it's not possible to generate efficient code that would behave the way one would expect for C objects of type "int16_t".
  • 4. Debugging All modern ARM processors include hardware debugging facilities; without them, software debuggers could not perform basic operations like halting, stepping, and breakpointing of code starting from reset. These facilities are built using JTAG support, though some newer cores optionally support ARM's own two-wire "SWD" protocol. In ARM7TDMI cores, the "D" represented JTAG debug support, and the "I" represented presence of an "EmbeddedICE" debug module. For ARM7 and ARM9 core generations, EmbeddedICE over JTAG was a de-facto debug standard, although it was not architecturally guaranteed. DSP enhancement instructions To improve the ARM architecture for digital signal processing and multimedia applications, a few new instructions were added to the set.[21] These are signified by an "E" in the name of the ARMv5TE and ARMv5TEJ architectures. E-variants also imply T,D,M and I. The new instructions are common in digital signal processor architectures. They are variations on signed multiply–accumulate, saturated add and subtract, and count leading zeros. Thumb To improve compiled code-density, processors since the ARM7TDMI have featured Thumb instruction set, which have their own state. (The "T" in "TDMI" indicates the Thumb feature.) When in this state, the processor executes the Thumb instruction set, a compact 16-bit encoding for a subset of the ARM instruction set.[22] Most of the Thumb instructions are directly mapped to normal ARM instructions. The space-saving comes from making some of the instruction operands implicit and limiting the number of possibilities compared to the ARM instructions executed in the ARM instruction set state. In Thumb, the 16-bit opcodes have less functionality. For example, only branches can be conditional, and many opcodes are restricted to accessing only half of all of the CPU's general purpose registers. The shorter opcodes give improved code density overall, even though some operations require extra instructions. In situations where the memory port or bus width is constrained to less than 32 bits, the shorter Thumb opcodes allow increased performance compared with 32-bit ARM code, as less program code may need to be loaded into the processor over the constrained memory bandwidth. Embedded hardware, such as the Game Boy Advance, typically have a small amount of RAM accessible with a full 32-bit datapath; the majority is accessed via a 16 bit or
  • 5. narrower secondary datapath. In this situation, it usually makes sense to compile Thumb code and hand-optimise a few of the most CPU-intensive sections using full 32-bit ARM instructions, placing these wider instructions into the 32-bit bus accessible memory. The first processor with a Thumb instruction decoder was the ARM7TDMI. All ARM9 and later families, including XScale, have included a Thumb instruction decoder. Operating systems The ARM architecture is supported by a large number of embedded and real-time operating systems, including Windows CE, .NET Micro Framework, Symbian, ChibiOS/RT, FreeRTOS, eCos, Integrity, Nucleus PLUS, MicroC/OS-II, QNX, RTEMS, BRTOS, RTXC Quadros, ThreadX, Unison Operating System, uTasker, VxWorks, MQX and OSE. The ARM architecture is supported by Unix and Unix-like operating systems such as:Android, Linux, iOS, Solaris, webOS.