Set de instrucciones Arquitectura ARM

Embed Size (px)

Citation preview

  • 7/29/2019 Set de instrucciones Arquitectura ARM

    1/4

    Instruction Set ArchitecturesThe ARM processor architecture provides support for the 32-bit ARM and 16-bit Thumb

    Instruction Set

    Architectures (ISAs) along with architecture extensions to provide support for Java acceleration(Jazelle),

    security (TrustZone),SIMD, andNEON technologies.

    The ARM architecture supports implementations across a wide range of performance points. It is establisheas the dominant architecture in many market segments. The architectural simplicity of ARM processors leadto very small implementations, and small implementations mean devices can have very low power

    consumption. Implementation size, performance, and very low power consumption are key attributes of theARM architecture.

    The ARM architecture is a Reduced Instruction Set Computer (RISC) architecture, as it incorporates thesetypical RISC architecture features:

    Large uniform register file

    Load/store architecture, where data-processing operations only operate on register contents, notdirectly on memory contents

    Simple addressing modes, with all load/store addresses being determined from register contents andinstruction fields only.

    In addition, the ARM architecture provides:

    Instructions that combine a shift with an arithmetic or logical operation Auto-increment and auto-decrement addressing modes to optimize program loops

    Load and Store Multiple instructions to maximize data throughput Conditional execution of almost all instructions to maximize execution throughput.

    These enhancements to a basic RISC architecture enable ARM processors to achieve a good balance ofhigh performance, small code size, low power consumption, and small silicon area.

    The ARM Instruction Architecture is constantly improving to meet the increasing demands of leading edgeapplications developers, while retaining the backwards compatibility necessary to protect investment insoftware development.

    ARM uses the Universal Assembly Language to provide a canonical form for all ARM and Thumbinstructions. This allows the user to write assembly code which can be assembled for either instruction set.

    http://www.arm.com/products/processors/technologies/jazelle.phphttp://www.arm.com/products/processors/technologies/jazelle.phphttp://www.arm.com/products/processors/technologies/trustzone.phphttp://www.arm.com/products/processors/technologies/trustzone.phphttp://www.arm.com/products/processors/technologies/dsp-simd.phphttp://www.arm.com/products/processors/technologies/dsp-simd.phphttp://www.arm.com/products/processors/technologies/dsp-simd.phphttp://www.arm.com/products/processors/technologies/neon.phphttp://www.arm.com/products/processors/technologies/neon.phphttp://www.arm.com/products/processors/technologies/neon.phphttp://www.arm.com/products/processors/technologies/dsp-simd.phphttp://www.arm.com/products/processors/technologies/trustzone.phphttp://www.arm.com/products/processors/technologies/jazelle.php
  • 7/29/2019 Set de instrucciones Arquitectura ARM

    2/4

    ARM

    The ARM 32-bit instruction set is the base 32-bit ISA used in the ARMv4T, ARMv5TEJ and ARMvarchitectures. In these architectures it is used in applications requiring high performance, or for handlinhardware exceptions such as interrupts and processor start-up.

    The ARM 32-bit ISA is also supported in theCortex-AandCortex-Rprofiles of the Cortex architecture fperformance critical applications, and for legacy code. Most of its functionality is subsumed into the Thumb-instruction set, which also benefits from improved code density.

    ARM instructions are 32-bits wide, and are aligned on 4-byte boundaries.

    All ARM instructions can also be "conditionalised" to only execute when previous instructions have set particular condition code. This means that instructions only have their normal effect on the programmermodel operation, memory and coprocessors if the N, Z, C and V flags in the Application Program StatuRegister satisfy a condition specified in the instruction. If the flags do not satisfy this condition, the instructioacts as a NOP, that is, execution advances to the next instruction as normal, including any relevant checkfor exceptions being taken, but has no other effect. This conditionalisation of instructions allows smasections of if- and while-statements to be encoded without the use of branch instructions.

    The condition codes are:

    Condition Code Meaning

    N Negative condition code, set to 1 if result is negative

    Z Zero condition code, set to 1 if the result of the instruction is 0

    C Carry condition code, set to 1 if the instruction results in a carry condition

    V Overflow condition code, set to 1 if the instruction results in an overflow condition.

    http://www.arm.com/products/processors/cortex-a/index.phphttp://www.arm.com/products/processors/cortex-a/index.phphttp://www.arm.com/products/processors/cortex-a/index.phphttp://www.arm.com/products/processors/cortex-a/index.phphttp://www.arm.com/products/processors/cortex-r/index.phphttp://www.arm.com/products/processors/cortex-r/index.phphttp://www.arm.com/products/processors/cortex-r/index.phphttp://www.arm.com/products/processors/cortex-r/index.phphttp://www.arm.com/products/processors/cortex-a/index.php
  • 7/29/2019 Set de instrucciones Arquitectura ARM

    3/4

    THUMB

    With cost-sensitive embedded control applications such ascell phones,disk drives,modemsand pagers allhitting the performance ceilings of their current generation CISC controllers, designers are looking for waysto achieve 32-bit performance and address space but without the costs associated with going to a 32-bitsystem.

    Thumb offers the designer

    Excellent code-density for minimal system memory size and cost 32-bit performance from 8- or16-bitmemory on an 8- or 16-bit bus for low system cost.

    Plus the established ARM features Industry-leading MIPS/Watt for maximum battery life and RISC performance Small die size for integration and minimum chip cost Global multi-partner sourcing for secure supply.

    Thumb technology is an extension to the 32-bit ARM architecture. The Thumb instruction set features asubset of the most commonly used 32-bit ARM instructions which have been compressed into 16-bit wideopcodes. On execution, these 16-bit instructions are decompressed transparently to full 32-bit ARMinstructions in real time without performance loss.

    Designers can use both 16-bit Thumb and 32-bit ARM instructions sets and therefore have the flexibility toemphasise performance or code size on a sub-routine level as their applications require.

    A "Thumb-aware" core is a standard ARM processor fitted with a Thumb decompressor in the instructionpipeline. The designer therefore gets all the underlying power of the 32-bit ARM architecture as well asexcellent code density from Thumb, all at 8-bit system cost.

    Thumb has better code density than common 8 and 16-bit CISC/RISC Controllers and is at a fraction of thecode size of traditional 32-bit architectures. This means that program memory can be smaller and hence cosreduced.

    The Thumb architecture is supported by a completeWindows software development environment as well as

    development and evaluation cards.

    THUMB-2

    Improved Code Density with Performance and Power Efficiency

    Thumb-2 technology is the instruction set underlying the ARM Cortex architecture which provides enhancelevels of performance, energy efficiency, and code density for a wide range of embedded applications.

    Thumb-2 technology builds on the success of Thumb, the innovative high code density instruction set fARM microprocessor cores, to increase the power of the ARM microprocessor core available to developeof low cost, high performance systems.

    The technology is backwards compatible with existing ARM and Thumb solutions, while significantextending the features available to the Thumb instructions set. This allows more of the application to beneffrom the best in class code density of Thumb.

    For performance optimised code Thumb-2 technology uses 31 percent less memory to reduce system coswhile providing up to 38 percent higher performance than existing high density code, which can be used tprolong battery-life or to enrich the product feature set. Thumb-2 technology is featured in the processor, anin all ARMv7 architecture-based processors.

    http://www.arm.com/products/processors/technologies/instruction-set-architectures.php

    http://www.arm.com/markets/mobile/smartphones.phphttp://www.arm.com/markets/mobile/smartphones.phphttp://www.arm.com/markets/mobile/smartphones.phphttp://www.arm.com/markets/enterprise/hdd-ssd.phphttp://www.arm.com/markets/enterprise/hdd-ssd.phphttp://www.arm.com/markets/enterprise/hdd-ssd.phphttp://www.arm.com/markets/mobile/connectivity-modem.phphttp://www.arm.com/markets/mobile/connectivity-modem.phphttp://www.arm.com/markets/mobile/connectivity-modem.phphttp://www.arm.com/products/tools/index.phphttp://www.arm.com/products/tools/index.phphttp://www.arm.com/products/tools/index.phphttp://www.arm.com/products/tools/index.phphttp://www.arm.com/products/processors/technologies/instruction-set-architectures.phphttp://www.arm.com/products/processors/technologies/instruction-set-architectures.phphttp://www.arm.com/products/processors/technologies/instruction-set-architectures.phphttp://www.arm.com/products/tools/index.phphttp://www.arm.com/products/tools/index.phphttp://www.arm.com/markets/mobile/connectivity-modem.phphttp://www.arm.com/markets/enterprise/hdd-ssd.phphttp://www.arm.com/markets/mobile/smartphones.php
  • 7/29/2019 Set de instrucciones Arquitectura ARM

    4/4

    Why Cortex-M3

    Delivering higher performance and richer features

    Introduced in 2004 and recently updated with new technologies and configurability, the Cortex-M3 is themainstream ARM processor developed specifically with microcontroller applications in mind.

    Performance and Energy Efficiency

    With high performance and low dynamic power consumption the Cortex-M3 processor delivers leading pow

    efficiency 12.5 DMIPS/mW based on 90nmG. Coupled with integrated sleep modes and optional stateretention capabilities the Cortex-M3 processor ensures there is no compromise for applications requiring lowpower and excellent performance.

    Full featured

    The processor executesThumb-2 instruction setfor optimal performance and code size, including hardwar

    division, single cycle multiply, and bit-field manipulation. The Cortex-M3 NVIC is highly configurable at desigtime to deliver up to 240 system interrupts with individual priorities, dynamic reprioritization and integratedsystem clock.

    Rich connectivity

    The combination of features and performance enables Cortex-M3 based devices to efficiently handle withmultiple I/O channels and protocol standards such as USB OTG (On-The-Go).

    http://www.arm.com/products/processors/technologies/instruction-set-architectures.phphttp://www.arm.com/products/processors/technologies/instruction-set-architectures.phphttp://www.arm.com/products/processors/technologies/instruction-set-architectures.phphttp://www.arm.com/products/processors/technologies/instruction-set-architectures.phphttp://www.arm.com/products/processors/technologies/instruction-set-architectures.phphttp://www.arm.com/products/processors/technologies/instruction-set-architectures.php