ARM11
ARM11 is a family of ARM architecture 32-bit RISC microprocessor cores.
Overview
Announced | |
---|---|
Year | Core |
2002 | ARM1136J(F)-S |
2003 | ARM1156T2(F)-S |
2003 | ARM1176JZ(F)-S |
The ARM11 microarchitecture (announced 29 April 2002) introduced the ARMv6 architectural additions which had been announced in October 2001. These include SIMD media instructions, multiprocessor support 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;[1] ARM11 cores target more demanding applications.
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[2] 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)
- 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 good 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.[3] The ARM11 generation focused more on synthesis than previous generations, making such concerns be more of an issue.
Cores
There are four ARM11 cores:
- ARM1136[4]
- ARM1156, introduced Thumb2 instructions
- ARM1176, introduced security extensions[5]
- ARM11MPcore, introduced multicore support
Chips
- Ambarella A5s, A7, A7L
- Broadcom BCM2835 (Raspberry Pi), BCM21553
- Cavium ECONA CNS3000 series [6]
- CSR Quatro 4230, Quatro 4500 series, Quatro 5300 series
- Freescale Semiconductor i.MX3x series, such as i.MX31, i.MX35
- Nintendo 1048 0H
- Infotmic IMAPX200, IMAPX210, IMAPX220
- Nvidia Tegra
- PLX Technology NAS7820, NAS7821, NAS7825
- MediaTek MTK6573_S01 / MTK6573_S00
- Qualcomm MSM720x, MSM7x27
- Qualcomm Atheros AR7400
- Samsung S3C64x0, S5P6422
- Telechips [tcc8902]
- Texas Instruments OMAP2 series, with a TMS320 C55x or C64x DSP as a second core
Products
Documentation
The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer and documents from CPU core designer. (ARM Holdings).
A typical top-down documentation tree is: high-level marketing slides, datasheet for the exact physical chip, a detailed reference manual that describes common peripherals and other aspects of physical chips within the same series, reference manual for the exact ARM core processor within the chip, reference manual for the ARM architecture of the core which includes detailed description of all instruction sets.
- Documentation tree (top to bottom)
- IC manufacturer marketing slides
- IC manufacturer datasheets
- IC manufacturer reference manuals
- ARM core reference manuals
- ARM architecture reference manuals
IC manufacturer has additional documents, including: evaluation board user manuals, application notes, getting started with development software, software library documents, errata, and more.
See also
References
- ^ not supported by Linux as of version 3.3
- ^ "The ARM11 Microarchitecture", ARM Ltd, 2002
- ^ The Dangers of Living with an X (bugs hidden in your Verilog), Version 1.1 (14 October 2003).
- ^ ARM1136JF-S and ARM1136J-S Technical Reference Manual Revision: r1p5; ARM DDI 0211K
- ^ ARM1176JZF-6 Technical Reference Manual Revision: r0p7; accessed on 4 October 2012.
- ^ ECONA CNS3XXX ARM Based SoC Processors at Cavium.com
- ^ "Kindle 2 First Look". iFixit.com. Retrieved 16 February 2012.
- ^ a b c d Patterson, Blake (7 July 2008). "Under the Hood: The iPhone's Gaming Mettle". touchArcade. Retrieved 16 February 2012.
- ^ http://www.gsmarena.com/motorola_es400-3409.php
External links
- ARM Holdings
- Official website
- ARM11 Technical Reference Manuals
- ARMv6 Architecture Reference Manual (requires registration)
- 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
- ARM11 lacks an integer hardware division instruction
- Yurichev, Dennis, "An Introduction To Reverse Engineering for Beginners" including ARM assembly. Online book: http://yurichev.com/writings/RE_for_beginners-en.pdf