# ARM11

ARM11 és un grup de nuclis de processadors RISC ARM de 32 bits amb llicència d'ARM Holdings. La família bàsica ARM11 consta d'ARM1136J(F)-S, ARM1156T2(F)-S, ARM1176JZ(F)-S i ARM11MPCore. Atès que els nuclis ARM11 es van llançar entre 2002 i 2005, ja no es recomanen per als nous dissenys de circuits integrats, sinó que es prefereixen els nuclis ARM Cortex-A i ARM Cortex-R.

## Visió general

Anunciat :
| Curs | Nucli |
| 2002 | ARM1136J(F)-S |
| 2003 | ARM1156T2(F)-S |
| 2003 | ARM1176JZ(F)-S |
| 2005 | ARM11MPCore |
La família de productes ARM11 (anunciada el 29 d'abril del 2002) va presentar les addicions arquitectòniques ARMv6 que s'havien anunciat l'octubre de 2001. Aquests inclouen instruccions de suports SIMD, suport multiprocessador i una nova arquitectura de memòria cau. La implementació va incloure una canalització de processament d'instruccions significativament millorada, en comparació amb les famílies anteriors ARM9 o ARM10, i s'utilitza en telèfons intel·ligents d'Apple, Nokia i altres. El nucli inicial ARM11 (ARM1136) es va llançar als titulars de llicència l'octubre del 2002.
La família ARM11 són actualment els únics nuclis d'arquitectura ARMv6. Hi ha, però, nuclis ARMv6-M (Cortex-M0 i Cortex-M1), que s'adrecen a aplicacions de microcontroladors; Els nuclis ARM11 es dirigeixen a aplicacions més exigents.

### Diferències amb ARM9

Pel que fa al conjunt d'instruccions, ARM11 es basa en la generació ARM9 anterior. Incorpora totes les característiques ARM926EJ-S i afegeix les instruccions ARMv6 per al suport de mitjans (SIMD) i l'acceleració de la resposta IRQ.
Les millores de la microarquitectura als nuclis ARM11 inclouen:
* Instruccions SIMD que poden duplicar la velocitat de l'algoritme de processament de senyal digital d'àudio i MPEG-4
* La memòria cau s'adreça físicament, solucionant molts problemes d'àlies de memòria cau i reduint la sobrecàrrega de canvi de context.
* S'admet l'accés a les dades no alineades i mixtes.
* Reducció de la producció de calor i menor risc de sobreescalfament
* Canalització redissenyada, que admet velocitats de rellotge més ràpides (objectiu fins a 1 GHz)
** Més llarg: 8 (vs 5) etapes
** Finalització fora de comanda per a algunes operacions (per exemple, botigues)
** Predicció/plegament de branques dinàmiques (com XScale)
** Els errors de memòria cau no bloquegen l'execució d'instruccions no dependents.
** Paral·lelisme de càrrega/emmagatzematge
** Paral·lelisme ALU
* Camins de dades de 64 bits
S'ha simplificat el suport de depuració de JTAG (per a aturar, fer passos, punts d'interrupció i punts de vigilància). El mòdul EmbeddedICE es va substituir per una interfície que va passar a formar part de l'arquitectura ARMv7. Els mòduls de traça de maquinari (ETM i ETB) són versions compatibles, però actualitzades, amb les utilitzades a l'ARM9. En particular, es va actualitzar la semàntica de traça per abordar l'execució d'instruccions paral·leles i les transferències de dades.
ARM fa un esforç per promoure els estils i tècniques de codificació de Verilog recomanats. Això garanteix dissenys semànticament rigorosos, preservant una semàntica idèntica en tot el flux de disseny de xips, que incloïa un ús extensiu de tècniques de verificació formal. Sense aquesta atenció, integrar un ARM11 amb dissenys de tercers podria arriscar-se a exposar errors latents difícils de trobar. Com que els nuclis ARM s'han integrat en molts dissenys diferents, utilitzant una varietat d'eines de síntesi lògica i processos de fabricació de xips, l'impacte de la seva qualitat de nivell de transferència de registre (RTL) s'amplifica moltes vegades. La generació ARM11 es va centrar més en la síntesi que les generacions anteriors, fent que aquestes preocupacions fossin més un problema.

## Nuclis

Hi ha quatre nuclis ARM11:
* ARM1136
* ARM1156, va introduir instruccions Thumb2
* ARM1176, va introduir extensions de seguretat
* ARM11MPcore, va introduir suport multinucli

## Xips

* Ambarella A5s, A7, A7L
* ASPEED Technology Inc. AST25xx
* Broadcom BCM2835 (Raspberry Pi 1 A/B, Pi Zero), BCM21553
* Sèrie Cavium ECONA CNS3000
* CSR Quatro 4230, 45xx, 53xxSTMicroelectronics STA2065N2 (ARM1176) amb GPS incrustat
* Sèrie Freescale Semiconductor i.MX3x, com ara i.MX31, i.MX35
* Infotmic IMAPX2xx
* Nintendo CTR-CPU (CPU Nintendo 3DS)
* Mòdul NTC 1879VYa1Ya, K1879KhB1Ya, 1879KhK1Ya, K1888VS018
* Nvidia Tegra
* MediaTek MTK6573
* Mindspeed Comcerto 1000 (Freescale LS102MA)
* Philips Semiconductor/ NXP / ST-NXP Wireless Nomadik STn8820
* Tecnologia PLX NAS782x
* Qualcomm MSM720x, MSM7x27
* Qualcomm Atheros AR7400
* Samsung S3C64xx, S5P64xx, S5L87xx, S5L89xx o Exynos Dual amb Logic11
* Telexips TCC8902
* Sèrie OMAP2 de Texas Instruments, amb un DSP TMS320 C55x o C64x com a segon nucli
* Xcometic KVM2800

## Referències

* ↑ «The ARM11 Architecture» (en anglès). [Consulta: 15 octubre 2023].
* ↑ «ARM11 Overview» (en anglès). [Consulta: 15 octubre 2023].
* ↑ «Proper use of the ARM PLD instruction (ARM11)» (en anglès). [Consulta: 15 octubre 2023].
* ↑ «BCM2835 – Raspberry Pi Documentation» (en anglès britànic). raspberrypi.org. [Consulta: 15 abril 2017].