ARM11

ARM11
Allmän information
Designad av ARM Holdings
Arkitektur och klassificering
Mikroarkitektur ARMv6, ARMv6T2, ARMv6Z, ARMv6K
Instruktionsuppsättning

ARM (32-bitars) , Thumb (16-bitars) , Thumb-2 (32-bitars)

ARM11 är en grupp av 32-bitars RISC ARM -processorkärnor licensierade av ARM Holdings . ARM11-kärnfamiljen består av ARM1136J(F)-S, ARM1156T2(F)-S, ARM1176JZ(F)-S och ARM11MPCore. Eftersom ARM11-kärnor släpptes från 2002 till 2005 rekommenderas de inte längre för nya IC-designer, istället är ARM Cortex-A och ARM Cortex-R- kärnor att föredra.

Översikt

Meddelat
År Kärna
2002 ARM1136J(F)-S
2003 ARM1156T2(F)-S
2003 ARM1176JZ(F)-S
2005 ARM11MPCore

Produktfamiljen ARM11 (tillkännagiven 29 april 2002) introducerade ARMv6- arkitektoniska tillägg som tillkännagavs i oktober 2001. Dessa inkluderar SIMD- medieinstruktioner, multiprocessorstöd och en ny cache-arkitektur. Implementeringen inkluderade en avsevärt förbättrad pipeline för instruktionsbearbetning, jämfört med tidigare ARM9- eller ARM10 -familjer, och används i smartphones från Apple , Nokia , och andra. Den ursprungliga ARM11-kärnan (ARM1136) släpptes till licenstagare i oktober 2002.

ARM11-familjen är för närvarande de enda ARMv6-arkitekturkärnorna. Det finns dock ARMv6-M-kärnor ( Cortex-M0 och Cortex-M1 ), som adresserar mikrokontrollerapplikationer ; ARM11-kärnor riktar sig till mer krävande applikationer.

Skillnader från ARM9

När det gäller instruktionsuppsättningen bygger ARM11 på den föregående ARM9 -generationen. Den innehåller alla ARM926EJ-S-funktioner [ citat behövs ] och lägger till ARMv6-instruktionerna för mediastöd (SIMD) och accelererande IRQ-svar.

Mikroarkitekturförbättringar i ARM11-kärnor inkluderar:

  • SIMD-instruktioner som kan fördubbla MPEG-4- och ljudsignalbehandlingsalgoritmens hastighet
  • Cache är fysiskt adresserad, löser många cache-aliasingproblem och minskar kontextväxlingsoverhead.
  • Ojusterad och mixed-endian dataåtkomst stöds.
  • Minskad värmeproduktion och lägre överhettningsrisk
  • Omdesignad pipeline, stöder snabbare klockhastigheter (mål upp till 1 GHz)
    • Längre: 8 (vs 5) etapper
    • Slutförande i urdrift för vissa verksamheter (t.ex. butiker)
    • Dynamisk grenförutsägelse/vikning (som XScale )
    • Cachemissar blockerar inte exekvering av icke-beroende instruktioner.
    • Belastning/lager parallellitet
    • ALU- parallellism
  • 64-bitars datavägar

JTAG- felsökningsstöd (för stopp, steg, brytpunkter och övervakningspunkter) förenklades. EmbeddedICE-modulen ersattes med ett gränssnitt som blev en del av ARMv7-arkitekturen. Hårdvaruspårningsmodulerna (ETM och ETB) är kompatibla men uppdaterade versioner av de som används i ARM9. I synnerhet uppdaterades spårsemantik för att hantera parallella instruktioner och dataöverföringar.

ARM gör ett försök att främja rekommenderade Verilog- kodningsstilar och -tekniker. Detta säkerställer semantiskt rigorösa konstruktioner, och bevarar identisk semantik genom hela chipdesignflödet, vilket inkluderade omfattande användning av formella verifieringstekniker . Utan sådan uppmärksamhet kan en integrering av en ARM11 med tredjepartsdesigner riskera att exponera svåra att hitta latenta buggar. På grund av att ARM-kärnor integreras i många olika konstruktioner, med användning av en mängd olika logiska syntesverktyg och chiptillverkningsprocesser, förstoras effekten av dess registeröverföringsnivå (RTL)-kvalitet många gånger. ARM11-generationen fokuserade mer på syntes än tidigare generationer, vilket gör sådana problem mer av ett problem.

Kärnor

Det finns fyra ARM11-kärnor:

  • ARM1136
  • ARM1156, introducerade Thumb2-instruktioner
  • ARM1176, introducerade säkerhetstillägg
  • ARM11MPcore, introducerade stöd för flera kärnor

Pommes frites

Raspberry Pi B+ med en Broadcom BCM2835 (ARM1176JZF-S)
Atheros AR7400

Se även

externa länkar

ARM11 officiella dokument
Snabbreferenskort
  • Instruktioner: Thumb ( 1 ), ARM och Thumb-2 ( 2 ), Vector Floating Point ( 3 )
  • Opkoder: Thumb ( 1 , 2 ), ARM ( 3 , 4 ), GNU Assembler-direktiv 5 .
Övrig