9 Family Pavel Mezera
ARM processors family jsou založené 32b RISC architektuře s ortogonálními instrukcemi dnes představují 75% trhu procesorů pro vestavěné aplikace široká podpora mezi vývojovými nástroji u verzí s MMU možnost Linuxu, WinCE, VxWorks a dalších OS. obchodní model založený na licencování výroby – řada implementátorů – množství procesorů a SoC vyvinutých a ušitých na míru specializovaným třídám aplikací – není potřeba chodit s dělem na vrabce
Filosofie ARM jádra jsou založena na Redukované sadě instrukcí (RISC) bez využití mikrokódování Volitelné representaci – Little / Big Endian Load/Store architektuře (operace pouze nad registry, nikoliv přímo nad pamětí) sadě všeobecně použitelných registrů (31 celkem, 16 pro normální využití, 15 pro rychlá přerušení) Jednoduchých adresovacích módech (adresa se musí být určitelná pouze z prováděné instrukce a obsahu registrů) Využití Pipeline – paralelizace zpracování instrukcí, s plánováním pro zamezení pipeline hazardů Možnosti redukované šířky instrukce(16b) – Thumb Privilegovaných módech procesoru Podmiňování instrukcí – instrukce obsahuje podmínku
Schéma značení ARM [x] [y] [z] [T] [D] [M] [I] [E] [J] [F] [S] x – Family y – memory management / protection z – cache T – Thumb mode D – JTAG support M – fast multiplier I – Embedded ICE macro cell E – Enhanced instruction J – Jazelle – hardware accelerated Java F – floating point unit S – Synthesizable version Př. : ARM926EJ-S
ARM9 32-bit ARM926EJ-S RISC processor : 103 to 177 MHz 5-stage pipeline with interlocking Harvard architecture 8 kB instruction cache and 4 kB data cache 32-bit ARM and 16-bit Thumb instruction sets. Can be mixed for performance/code density tradeoffs. MMU to support virtual memory-based OSs, such as Linux, WinCE/Pocket PC, VxWorks, others DSP instruction extensions, improved divide, single cycle MAC ARM Jazelle, 1200CM (coffee marks) Java accelerator Embedded ICE-RT debug unit JTAG boundary scan, BSDL support
ARM 9 TDMI architecture
5-stage pipeline with interlocking
Memory management FCSE – Fast Context Switch Extension – rozšíření pro rychlé přepínání procesů v multi-threadovém OS – modifikuje virtuální adresní prostory jednotlivých procesů, tak aby se nepřekrývaly, což normálně vyvolává při přepínání procesů nutnost výměny TLB MMU – Memory Management Unit – pomocí Translation Lookaside Buffer (TLB) překládá virtuální adresy jednotlivých procesů do fyzického adresného prostoru ARM core FCSEMMU Main Memory Cache Virtual address Modified virtual address Physical address
Děkuji za pozornost !