ARM11

From Wikipedia, the free encyclopedia
Jump to: navigation, search

ARM11 is an ARM architecture 32-bit RISC microprocessor family which introduced the ARMv6 architectural additions. These include SIMD media instructions, multiprocessor support and a new cache architecture. The implementation included significantly improved instruction processing pipeline, compared to previous ARM9 or ARM10 families, and is used in smartphones from Apple, Nokia, and others. The initial ARM11 core (ARM1136) was released to licensees in late 2002.

The ARM11 family are currently the only ARMv6-architecture cores. There are however ARMv6-M cores (Cortex-M0 and Cortex-M1), addressing microcontroller applications; ARM11 cores target more demanding applications.

Contents

[edit] Differences from ARM9

In terms of instruction set, the ARM11 builds on the preceding ARM9 generation. It incorporates all ARM926EJ-S features and adds the ARMv6 instructions for media support (SIMD) and accelerating IRQ response.

Microarchitecture improvements in ARM11 cores[1] include:

  • SIMD instructions which can double MPEG-4 and audio digital signal processing algorithm speed
  • Cache is physically addressed, solving many cache aliasing problems and reducing context switch overhead
  • Unaligned and mixed-endian data access is supported
  • Reduced heat production and lower overheating risk
  • Redesigned pipeline, supporting faster clock speeds (target up to 1 GHz)
    • Longer: 8 (vs 5) stages
    • Out-of-order completion
    • Dynamic branch prediction/folding (like XScale)
    • Cache misses don't block execution of non-dependent instructions
    • Load/store parallelism
    • ALU parallelism
  • 64-bit data paths

JTAG debug support (for halting, stepping, breakpoints, and watchpoints) was simplified. The EmbeddedICE module was replaced with an interface which became part of the ARMv7 architecture. The hardware tracing modules (ETM and ETB) are compatible, but updated, versions of those used in the ARM9. In particular, trace semantics were updated to address parallel instruction execution and data transfers.

Also of note was ARM's effort to promote good Verilog coding styles and techniques to ensure semantically rigorous designs, preserving identical semantics throughout the chip design flow, which included extensive use of formal verification techniques. This is because ARM cores are integrated into many different designs, using a variety of logic synthesis tools and chip manufacturing processes, so the impact of its register-transfer level (RTL) quality is magnified many times.[2] Without such attention, integrating an ARM11 with third party designs could risk exposing hard-to-find latent bugs. (The ARM11 generation focused more heavily on synthesis than previous generations, making such concerns be more of an issue.)

[edit] ARM11 cores

There are four ARM11 cores:

  • ARM1136[3]
  • ARM1156 introducing Thumb2 instructions
  • ARM1176 introducing security extensions
  • ARM11MPcore introducing multicore support

[edit] ARM11-based chips

[edit] ARM11-based products

Amazon.com

Apple Inc.

GeeksPhone

HTC

Huawei

LG

Microsoft

Motorola

Nintendo

Nokia

Palm

Raspberry Pi Foundation

Ritroid T1

Samsung

Smart Devices

Sony

Sony Ericsson

Zeebo

ZTE

  • ZTE Blade (also sold as ZTE San Francisco, Orange San Francisco, Lutea San Francisco, Dell XCD35, ...)
  • ZTE Skate (also sold as Orange Monte Carlo)

[edit] See also

[edit] References

  1. ^ "The ARM11 Microarchitecture", ARM Ltd, 2002
  2. ^ The Dangers of Living with an X (bugs hidden in your Verilog), Version 1.1 (14 October 2003).
  3. ^ ARM1136JF-S and ARM1136J-S Technical Reference Manual Revision: r1p5; ARM DDI 0211K
  4. ^ "Kindle 2 First Look". iFixit.com. http://www.ifixit.com/Guide/First-Look/Kindle-2/624/1. Retrieved 16 February 2012. 
  5. ^ a b c d Patterson, Blake (7 July 2008). "Under the Hood: The iPhone's Gaming Mettle". touchArcade. http://toucharcade.com/2008/07/07/under-the-hood-the-iphones-gaming-mettle/. Retrieved 16 February 2012. 

[edit] External links

Official ARM Links
Other
Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages