Wikipedia / ARM11
Wikipedia / ARM11
ARM11 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings. The ARM11 core family consists of ARM1136J(F)-S, ARM1156T2(F)-S, ARM1176JZ(F)-S, and ARM11MPCore. Since ARM11 cores were released from 2002 to 2005, and no longer recommended for new IC designs, newer alternatives are ARM Cortex-A and ARM Cortex-R cores.
Overview
The ARM11 product family (announced 29 April 2002) introduced the ARMv6 architectural additions which had been announced in October 2001. These include SIMD media instructions, multiprocessor support, exclusive loads and stores instructions and a new cache architecture. The implementation included a 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 October 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.
Differences from ARM9
In terms of instruction set, 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 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 1GHz)
Longer: 8 (vs 5) stages
Out-of-order completion for some operations (e.g., stores)
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.
ARM makes an effort to promote recommended Verilog coding styles and techniques. This ensures semantically rigorous designs, preserving identical semantics throughout the chip design flow, which included extensive use of formal verification techniques. Without such attention, integrating an ARM11 with third-party designs could risk exposing hard-to-find latent bugs. Due to ARM cores being integrated into many different designs, using a variety of logic synthesis tools and chip manufacturing processes, the impact of its register-transfer level (RTL) quality is magnified many times. The ARM11 generation focused more on synthesis than previous generations, making such concerns more of an issue.
Cores
There are four ARM11 cores:
ARM1136
ARM1156, introduced Thumb2 instructions
ARM1176, introduced security extensions
ARM11MPcore, introduced multicore support
Chips
Ambarella A5s, A7, A7L
ASPEED Technology Inc. AST25xx
Broadcom BCM2835 (Raspberry Pi 1 A/B, Pi Zero), BCM21553
Cavium ECONA CNS3000 series
CSR Quatro 4230, 45xx, 53xx
Freescale Semiconductor i.MX3x series, such as i.MX31, i.MX35
Infotmic IMAPX2xx
Nintendo CTR-CPU (Nintendo 3DS, New Nintendo 3DS, Nintendo 2DS)
MediaTek MT6276, MT6573
Mindspeed Comcerto 1000 (Freescale LS102MA)
Philips Semiconductor/NXP/ST-NXP Wireless Nomadik STn8820
PLX Technology NAS782x
Qualcomm MSM720x, MSM7x27
Qualcomm Atheros AR7400
Samsung S3C64xx, S5P64xx, S5L87xx, S5L89xx or Exynos Dual with Logic11
Telechips TCC8902
Texas Instruments OMAP2 series, with a TMS320 C55x or C64x DSP as a second core
iPhone 3G series, with a Samsung ARM 1176JZ chip
Xcometic KVM2800
See also
References
External links
ARM11 official documents
Core Reference Manuals: ARM1136J(F)-S, ARM1156T2-S, ARM1156T2F-S, ARM1176JZ-S, ARM1176JZF-S, ARM11 MPCore
Coprocessor Reference Manual: VFP11 (Floating-Point for ARM1136JF-S)
Quick Reference Cards
Instructions: Thumb (1), ARM and Thumb-2 (2), Vector Floating Point (3)
Opcodes: Thumb (1, 2), ARM (3, 4), GNU Assembler Directives 5.
Other
The ARM11 Architecture, 2009, by Ian Davey and Payton Oliveri