Multimediaexpo.cz je již 18 let na českém internetu !!
V tiskové zprávě k 18. narozeninám brzy najdete nové a zásadní informace.
ARM
Z Multimediaexpo.cz
m (Nahrazení textu „Toshiba“ textem „Toshiba“) |
m (Nahrazení textu „Samsung“ textem „Samsung“) |
||
Řádka 171: | Řádka 171: | ||
|16 KB/16 KB, MMU s FCSE (Fast Context Switch Extension)<ref>[http://infocenter.arm.com/help/topic/com.arm.doc.ddi0151c/I47491.html Register 13, FCSE PID register] ARM920T Technical Reference Manual</ref> | |16 KB/16 KB, MMU s FCSE (Fast Context Switch Extension)<ref>[http://infocenter.arm.com/help/topic/com.arm.doc.ddi0151c/I47491.html Register 13, FCSE PID register] ARM920T Technical Reference Manual</ref> | ||
|200 MIPS @ 180 MHz | |200 MIPS @ 180 MHz | ||
- | |[[Armadillo CPU Boards|Armadillo]], [[Atmel]] [[AT91SAM]]9, [[GP32]],[[GP2X]] (první jádro), [[Tapwave Zodiac]] ([[Motorola]] i. MX1), Hewlet Packard [[HP-49|kalkulátory HP-49/50]], [[Sun SPOT]], Cirrus Logic EP9302, EP9307, EP9312, EP9315, | + | |[[Armadillo CPU Boards|Armadillo]], [[Atmel]] [[AT91SAM]]9, [[GP32]],[[GP2X]] (první jádro), [[Tapwave Zodiac]] ([[Motorola]] i. MX1), Hewlet Packard [[HP-49|kalkulátory HP-49/50]], [[Sun SPOT]], Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 ([[HTC TyTN]], [[First International Computer|FIC]] [[Neo FreeRunner]]<ref>{{Citace elektronické monografie | url=http://wiki.openmoko.org/wiki/Neo1973:_GTA01Bv4_versus_GTA02_comparison | titul=Neo1973: GTA01Bv4 versus GTA02 comparison | datum přístupu=2007-11-15}}</ref>), Samsung S3C2410 (navigační zařízení [[TomTom]])<ref>{{Citace elektronické monografie | url=http://elinux.org/S3C2410 | titul=S3C2410 | datum přístupu=2010-01-13}}</ref> |
|- | |- | ||
|ARM922T | |ARM922T | ||
Řádka 210: | Řádka 210: | ||
|variabilní, TCM, MMU | |variabilní, TCM, MMU | ||
|220 MIPS @ 200 MHz, | |220 MIPS @ 200 MHz, | ||
- | |Mobilní telefony: [[Sony Ericsson]] série K a W; Siemens a [[Benq]] (série x65 a novější); Texas Instruments [[OMAP|OMAP1710]], [[OMAP|OMAP1610]], [[OMAP|OMAP1611]], [[OMAP|OMAP1612]], [[OMAP|OMAP-L137]], [[OMAP|OMAP-L138]]; [[Qualcomm]] MSM6100, MSM6125, MSM6225, MSM6245, MSM6250, MSM6255A, MSM6260, MSM6275, MSM6280, MSM6300, MSM6500, MSM6800; [[Freescale]] [[i.MX21]], i.MX27, [[Atmel]] [[AT91SAM]]9, [[NXP Semiconductors]] [http://www.standardics.nxp.com/products/lpc3000/ LPC3000], GPH Wiz, [[Marvell Technology Group|Marvell]] [[Feroceon]] (ex.: [[SheevaPlug]]), NEC C10046F5-211-PN2-A SoC – nezdokumentované jádro v [[ATi Hollywood]], grafickém čipu použitém ve Wii,<ref>[http://wiibrew.org/wiki/Starlet Starlet].</ref> | + | |Mobilní telefony: [[Sony Ericsson]] série K a W; Siemens a [[Benq]] (série x65 a novější); Texas Instruments [[OMAP|OMAP1710]], [[OMAP|OMAP1610]], [[OMAP|OMAP1611]], [[OMAP|OMAP1612]], [[OMAP|OMAP-L137]], [[OMAP|OMAP-L138]]; [[Qualcomm]] MSM6100, MSM6125, MSM6225, MSM6245, MSM6250, MSM6255A, MSM6260, MSM6275, MSM6280, MSM6300, MSM6500, MSM6800; [[Freescale]] [[i.MX21]], i.MX27, [[Atmel]] [[AT91SAM]]9, [[NXP Semiconductors]] [http://www.standardics.nxp.com/products/lpc3000/ LPC3000], GPH Wiz, [[Marvell Technology Group|Marvell]] [[Feroceon]] (ex.: [[SheevaPlug]]), NEC C10046F5-211-PN2-A SoC – nezdokumentované jádro v [[ATi Hollywood]], grafickém čipu použitém ve Wii,<ref>[http://wiibrew.org/wiki/Starlet Starlet].</ref> Samsung S3C2412 použitý v ovladači [[Squeezebox (network music player)#Squeezebox Duet (January 2008)|Squeezebox Duet]]. [[NeoMagic]] MiMagic Family MM6, MM6+, MM8, MTV; Buffalo TeraStation Live ([[Network-attached storage|NAS]]); Telechips TCC7801, TCC7901;[[ZiiLABS]]' ZMS-05 SoC. |
|- | |- | ||
|ARMv5TE | |ARMv5TE |
Verze z 1. 11. 2018, 10:37
ARM je architektura procesorů, vyvinutá v Británii firmou ARM Limited. Starší obchodní název architektury ARM je Advanced RISC Machine, původní název je Acorn RISC Machine. Tato architektura způsobila v několika směrech revoluci v informačních technologiích. Její návrh se řídil filosofií RISC, neméně pozoruhodné je, že první procesory ARM byly založeny na GaAs polovodičích, které dovolily na tehdejší dobu velmi vysoké taktovací frekvence. Rovněž použitá 32bitová šířka slova nebyla v době vzniku ARMu samozřejmostí. První mikroprocesor s architekturou ARM byl navržen firmou ARM Limited v roce 1984. V roce 2007 byla architektura ARM zastoupena v 98 % ve více než jedné miliardě každoročně prodaných mobilů.[1] Firma ARM limited časem ustoupila od výroby procesorů a místo toho se soustředila pouze na jejich vývoj. Schéma procesorů ARM je tedy "intelektuálním vlastnictvím" firmy ARM, která od výrobců hardware vybírá licence za jeho použití. Procesory ARM je dnes možné najít ve všech odvětvích spotřební elektroniky od PDA, mobilních telefonů, multimediálních přehrávačů, přenosných herních konzolí, kalkulaček až po počítačové periferie (pevné disky, routery). Procesory ARM mají ve svém výrobním programu desítky výrobců, ve spotřební elektronice se často používají např. procesory XScale od firmy Marvell, nebo OMAP od firmy Texas Instruments. Architektura ARM se nejvýrazněji uplatňuje ve vestavěných systémech. Nízká spotřeba energie při vysokém výpočetním výkonu má zásadní význam hlavně v zařízeních napájených bateriemi, avšak je velkou výhodou také u zařízení pracujících v náročných tepelných podmínkách. Nízkopříkonové procesory totiž nepotřebují složité a přitom relativně nespolehlivé chlazení. Rostoucí význam architektury ARM, jejíž nejvýkonnější zástupci[2] dnes již mají dostatečný výkon i pro použití v jednodušších osobních počítačích byl pravděpodobně jedním z impulsů, které přiměly firmu Intel k vývoji "nízkopříkonových" procesorů Intel Atom.
Obsah |
Přehled procesorů ARM
Rodina | Architektonická verze | Jádro | Vlastnosti | Cache (I/D)/MMU | Typický výkon v MIPS @ MHz | V použití |
---|---|---|---|---|---|---|
ARM1 | ARMv1 (zastaralá) | ARM1 | Není | ARM Evaluation System druhý procesor pro BBC Micro | ||
ARM2 | ARMv2 (zastaralá) | ARM2 | Architektura 2 přidala 2 MUL (multiply) instrukce. | None | 4 MIPS @ 8 MHz 0.33 DMIPS/MHz | Acorn Archimedes, Chessmachine |
ARMv2a (zastaralá) | ARM250 | Integrovaný MEMC (MMU), grafický a IO procesor. Architektura 2a přidala instrukce SWP a SWPB (swap). | Není, MEMC1a | 7 MIPS @ 12 MHz | Acorn Archimedes | |
ARM3 | ARMv2a (zastaralá) | ARM2a | První použití procesorové cache u ARM. | 4KB unifikovaná | 12 MIPS @ 25 MHz 0.50 DMIPS/MHz | Acorn Archimedes |
ARM6 | ARMv3 (zastaralá) | ARM60 | v3 architektura poprvé podporovala adresování 32 bitů paměti (oproti 26 bitům) | Není | 10 MIPS @ 12 MHz | 3DO Interactive Multiplayer, Zarlink GPS Receiver |
ARM600 | As ARM60, cache a sběrnice koprocesor u (pro FPA10 FPU). | 4K unifikovaná | 28 MIPS @ 33 MHz | |||
ARM610 | As ARM60, cache, žádná sběrnice koprocesoru. | 4K unifikovaná | 17 MIPS @ 20 MHz 0.65 DMIPS/MHz | Acorn Risc PC 600, Apple Newton 100 series | ||
ARM7 | ARMv3 (zastaralá) | ARM700 | 8 KB unifikovaná | 40 MHz | Prototypová CPU karta Acorn Risc PC | |
ARM710 | As ARM700 | 8 KB unifikovaná | 40 MHz | Acorn Risc PC 700 | ||
ARM710a | As ARM700 | 8 KB unifikovaná | 40 MHz 0.68 DMIPS/MHz | Acorn Risc PC 700, Apple eMate 300 | ||
ARM7100 | As ARM710a, integrovaný SoC. | 8 KB unifikovaná | 18 MHz | Psion Series 5 | ||
ARM7500 | As ARM710a, integrovaný SoC. | 4 KB unifikovaná | 40 MHz | Acorn A7000 | ||
ARM7500FE | As ARM7500, "FE" přidaní řadiče FPA a pamětí EDO. | 4 KB unifikovaná | 56 MHz 0.73 DMIPS/MHz | Acorn A7000+ Network Computer | ||
ARM7TDMI | ARMv4T | ARM7TDMI(-S) | 3-stupňová pipeline, Thumb | none | 15 MIPS @ 16.8 MHz 63 DMIPS @ 70 MHz | Game Boy Advance, Nintendo DS, iPod, Lego NXT, Atmel AT91SAM7, Juice Box, NXP Semiconductors LPC2000 a LH754xx |
ARM710T | As ARM7TDMI, cache | 8 KB unifikovaná, MMU | 36 MIPS @ 40 MHz | Psion Series 5mx, Psion Revo/Revo Plus/Diamond Mako | ||
ARM720T | As ARM7TDMI, cache | 8 KB unifikovaná, MMU s Fast Context Switch Extension | 60 MIPS @ 59.8 MHz | Zipit Wireless Messenger, NXP Semiconductors LH7952x | ||
ARM740T | Jako ARM7TDMI, cache | MPU | ||||
ARMv5TEJ | ARM7EJ-S | 5-stupňová pipeline, Thumb, Jazelle DBX, Enhanced DSP instrukce | ||||
StrongARM | ARMv4 | SA-110 | 16 KB/16 KB, MMU | 203 MHz 1.0 DMIPS/MHz | Apple Newton série 2x00, Acorn Risc PC, Rebel/Corel Netwinder, Chalice CATS, Psion Netbook | |
SA-1110 | As SA-110, integrovaný SoC | 16 KB/16 KB, MMU | 233 MHz | LART (počítač), Intel Assabet, Ipaq H36x0, Balloon2, Zaurus SL-5x00, HP Jornada 7xx, Jornada 560, Palm Zire 31 | ||
ARM8 | ARMv4 | ARM810[3] | 5-stupňová pipeline, statická predikce skoku, paměť s dvojnásobnou propustností | 8 KB unifikovná, MMU | 84 MIPS @ 72 MHz 1.16 DMIPS/MHz | Prototyp CPU karty Acorn Risc PC |
ARM9TDMI | ARMv4T | ARM9TDMI | 5-stupňová pipeline, Thumb | Není | ||
ARM920T | As ARM9TDMI, cache | 16 KB/16 KB, MMU s FCSE (Fast Context Switch Extension)[4] | 200 MIPS @ 180 MHz | Armadillo, Atmel AT91SAM9, GP32,GP2X (první jádro), Tapwave Zodiac (Motorola i. MX1), Hewlet Packard kalkulátory HP-49/50, Sun SPOT, Cirrus Logic EP9302, EP9307, EP9312, EP9315, Samsung S3C2442 (HTC TyTN, FIC Neo FreeRunner[5]), Samsung S3C2410 (navigační zařízení TomTom)[6] | ||
ARM922T | As ARM9TDMI, cache | 8 KB/8 KB, MMU | NXP Semiconductors LH7A40x | |||
ARM940T | As ARM9TDMI, cache | 4 KB/4 KB, MPU | GP2X (druhé jádro), Meizu M6 Mini Player[7][8] | |||
ARM9E | ARMv5TE | ARM946E-S | Thumb, Enhanced DSP instrukce, cache | variabiln, těsně spřažené paměti, MPU | Nintendo DS, Nokia N-Gage, Canon PowerShot A470, čipy Conexant 802.11, Samsung S5L2010 | |
ARM966E-S | Thumb, Enhanced DSP instrukce | žádná cache, TCM | ST Micro STR91xF, zahrnuje Ethernet[9] | |||
ARM968E-S | As ARM966E-S | žádná cache, TCM | NXP Semiconductors LPC2900 | |||
ARMv5TEJ | ARM926EJ-S | Thumb, Jazelle DBX, Enhanced DSP instrukce | variabilní, TCM, MMU | 220 MIPS @ 200 MHz, | Mobilní telefony: Sony Ericsson série K a W; Siemens a Benq (série x65 a novější); Texas Instruments OMAP1710, OMAP1610, OMAP1611, OMAP1612, OMAP-L137, OMAP-L138; Qualcomm MSM6100, MSM6125, MSM6225, MSM6245, MSM6250, MSM6255A, MSM6260, MSM6275, MSM6280, MSM6300, MSM6500, MSM6800; Freescale i.MX21, i.MX27, Atmel AT91SAM9, NXP Semiconductors LPC3000, GPH Wiz, Marvell Feroceon (ex.: SheevaPlug), NEC C10046F5-211-PN2-A SoC – nezdokumentované jádro v ATi Hollywood, grafickém čipu použitém ve Wii,[10] Samsung S3C2412 použitý v ovladači Squeezebox Duet. NeoMagic MiMagic Family MM6, MM6+, MM8, MTV; Buffalo TeraStation Live (NAS); Telechips TCC7801, TCC7901;ZiiLABS' ZMS-05 SoC. | |
ARMv5TE | ARM996HS | netaktovaný, jako ARM966E-S | žádná caches, TCM, MPU | |||
ARM10E | ARMv5TE | ARM1020E | 6-stupňová pipeline, Thumb, Enhanced DSP instrukce, (VFP) | 32 KB/32 KB, MMU | ||
ARM1022E | As ARM1020E | 16 KB/16 KB, MMU | ||||
ARMv5TEJ | ARM1026EJ-S | Thumb, Jazelle DBX, Enhanced DSP instrukce, (VFP) | variabilní, MMU nebo MPU | Western Digital MyBook II World Edition | ||
XScale | ARMv5TE | 80200/IOP310/IOP315 | I/O Processor, Thumb, Enhanced DSP instrukce | |||
80219 | 400/600 MHz | Thecus N2100 | ||||
IOP321 | 600 BogoMips @ 600 MHz | Iyonix | ||||
IOP33x | ||||||
IOP34x | 1–2 jádra, akcelerace RAID | 32K/32K L1, 512K L2, MMU | ||||
PXA210/PXA250 | Aplikační procesor, 7-stupňová pipeline | PXA210: 133 and 200 MHz, PXA250: 200, 300 a 400 MHz | Zaurus SL-5600, iPAQ H3900, Sony CLIÉ NX60, NX70V, NZ90 | |||
PXA255 | 32KB/32KB, MMU | 400 BogoMips @ 400 MHz; 371–533 MIPS @ 400 MHz[11] | Gumstix basix & connex, Palm Tungsten E2, Zaurus SL-C860, Mentor Ranger & Stryder, iRex ILiad | |||
PXA263 | 200, 300 and 400 MHz | Sony CLIÉ NX73V, NX80V | ||||
PXA26x | standardně 400 MHz, schopný provozu do 624 MHz | Palm Tungsten T3 | ||||
PXA27x | Aplikační procesor | 32 KB/32 KB, MMU | 800 MIPS @ 624 MHz | Gumstix verdex,"Trizeps-Modules" PXA270 COM, HTC Universal, HP hx4700, Zaurus SL-C1000, 3000, 3100, 3200, Dell Axim série x30, x50 a x51, Motorola Q, Balloon3, Trolltech Greenphone, Palm TX, Motorola Ezx Platform A728, A780, A910, A1200, E680, E680i, E680g, E690, E895, Rokr E2, Rokr E6, Fujitsu Siemens LOOX N560, Toshiba Portégé G500, Trēo 650-755p, Zipit Z2 | ||
PXA800(E)F | ||||||
PXA3XX (kódové jméno "Monahans") | 32KB/32KB L1, TCM, MMU | 1000 MIPS @ 1.25 GHz | Samsung Omnia | |||
PXA900 | Blackberry 8700, Blackberry Pearl (8100) | |||||
IXC1100 | Control Plane Processor | |||||
IXP2400/IXP2800 | ||||||
IXP2850 | ||||||
IXP2325/IXP2350 | ||||||
IXP42x | NSLU2 IXP460/IXP465 | |||||
ARM11 | ARMv6 | ARM1136J(F)-S[12] | 8-stupňová pipeline, SIMD, Thumb, Jazelle DBX, (VFP), Enhanced DSP instrukce | variabilní, MMU | 740 @ 532–665 MHz (i.MX31 SoC), 400–528 MHz | Texas Instruments OMAP2420 (Nokia E90, Nokia N93, Nokia N95, Nokia N82), Zune, BUGbase[1], Nokia N800, Nokia N810, Qualcomm MSM7200 (s integrovaným koprocesorem ARM926EJ-S na frekvenci @274 MHz, použitým ve Eten Glofiish, HTC TyTN II, HTC Nike), Freescale i.MX31 (použitý v originálním Zune 30gb a Toshiba Gigabeat S), Freescale MXC300-30 (Nokia E63, Nokia E71, Nokia 5800, Nokia E51, Nokia E75, Nokia N97,Nokia 5530, Nokia N81), Qualcomm MSM7201A viděn v HTC Dreamu, HTC Magic, Motorola Z6, HTC Hero, & Samsung SGH-i627 (Propel Pro) |
ARMv6T2 | ARM1156T2(F)-S | 9-stupňová pipeline, SIMD, Thumb-2, (VFP), Enhanced DSP instrukce | variabilní, MPU | |||
ARMv6KZ | ARM1176JZ(F)-S | As ARM1136EJ(F)-S | variabilní, MMU+TrustZone | Apple iPhone, Apple iPod touch, Conexant CX2427X, Motorola RIZR Z8, Motorola RIZR Z10, NVIDIA GoForce 6100[13]; Telechips TCC9101, TCC9201, TCC8900, Fujitsu MB86H60, Samsung S3C6410, S3C6430[14] | ||
ARMv6K | ARM11 MPCore | As ARM1136EJ(F)-S, 1–4 SMP jádra | variabilní, MMU | Nvidia APX 2500 | ||
Cortex | ARMv7-A | Cortex-A5 | VFP, NEON, Jazelle RCT a DBX, Thumb-2, 8-stupňová pipeline, 1–4 SMP jádra | variabilní (L1), MMU+TrustZone | do 1500 (1.5 DMIPS/MHz) | "Sparrow" (kódové jméno ARM)[15][16][17] |
Cortex-A8 | VFP, NEON, Jazelle RCT, Thumb-2, 13-stupňová superskalární pipeline | variabilní (L1+L2), MMU+TrustZone | do 2000 (2.0 DMIPS/MHz v rychlostech od 600 MHz do větších než 1 GHz) | Texas Instruments OMAP3xxx, SBM7000, Oregon State University OSWALD, Gumstix Overo Earth, Pandora, Apple iPod touch (třetí generace), Archos 5, FreeScale i.MX51-SOC, BeagleBoard, Apple iPhone 3GS, Motorola Droid, Palm Pre, Samsung i8910, Sony Ericsson Satio, Touch Book, Nokia N900, ZiiLABS ZMS-08 SoC | ||
Cortex-A9 | Application profile, (VFP), (NEON), Jazelle RCT and DBX, Thumb-2, superskalární spekulativní provádění instrukcí mimo pořadí | MMU+TrustZone | 2.5 DMIPS/MHz | |||
Cortex-A9 MPCore | Jako Cortex-A9, 1–4 SMP jádra | MMU+TrustZone | 2.5 DMIPS/MHz (na jádro) | Apple iPad, Texas Instruments OMAP4430/4440, ST-Ericsson U8500, Nvidia Tegra2 | ||
Cortex-A15 | Jako Cortex-A9, 1–4 SMP jader s FPU, LPAE (adresuje až 1TB) | MMU+TrustZone, hw virtualizace | 2.5 DMIPS/MHz (na jádro)? | ? | ||
ARMv7-R | Cortex-R4(F) | Určené do vestavěných systémů, Thumb-2, (FPU) | variabilní cache, volitelné MPU | 600 DMIPS @ 475 MHz | používá Broadcom, TMS570 od Texas Instruments | |
ARMv7-M | Cortex-M3 | Určení pro mikrokontroléry, pouze Thumb-. Hardwarově oddělené instrukce | žádná cache, volitelné MPU. | 125 DMIPS @ 100 MHz | EFM32 od Energy Micro, Texas Instruments Stellaris microcontroller family, ST Microelectronics STM32, NXP Semiconductors LPC1700, Toshiba TMPM330FDFG, série EM300 od Ember, Atmel AT91SAM3, Europe Technologies EasyBCU | |
ARMv6-M | Cortex-M0 (kódové jméno "Swift")[18] | Určení pro mikrokontroléry, podmnožina Thumb-2 (16-bitové Thumb instrukce & BL, MRS, MSR, ISB, DSB a DMB). | Žádná cache. | 0.9 DMIPS/MHz | NXP Semiconductors NXP LPC1100[19], Triad Semiconductor [20], Melfas[21], Chungbuk Technopark [22], Nuvoton [23], austriamicrosystems [24] | |
Cortex-M1 | Určené do FPGA, profil pro mikrokontroléry, podmnožina Thumb-2 (16-bitové Thumb instrukce & BL, MRS, MSR, ISB, DSB a DMB). | Žádná, těsně spřažená paměť je volitelná. | Do 136 DMIPS @ 170 MHz[25] (0.8 DMIPS/MHz,[26]) | Actel ProASIC3, ProASIC3L, IGLOO a Fusion PSC devices, Altera Cyclone III, další FPGA produkty jsou také podporovány např. Synplicity | ||
Rodina | Architektonická verze | Jádro | Vlastnosti | Cache (I/D)/MMU | Typický výkon v MIPS @ MHz | V použití |
Charakteristika procesoru ARM
- 32bitová vnitřní architektura
- 32bitová datová sběrnice s propustností 32 MB/s
- 26bitová adresová sběrnice (dostupný lineární adresní prostor 64 MiB)
- 25 vnitřních 32bitových registrů
- přístup do paměti pouze instrukcemi Load/Store
- částečné překrývání vnitřních registrů
- nejdelší doba reakce na přerušení 3 milisekundy
- možnost podmíněného vykonání instrukcí
- možnost připojení standardních pamětí DRAM
- jednoduchý a výkonný instrukční soubor, jednoduše využitelné kompilátory vyšších programovacích jazyků
Procesory ARM podporují dva adresové módy. Můžeme adresovat buď prostřednictvím čítače instrukcí, nebo pomocí bázové adresy uložené v jednom z vnitřních registrů. Do paměti lze přistupovat pouze instrukcemi Load/Store (Load-Store Architecture) výrazně zjednodušuje výkonnou jednotku (Execution Unit) procesoru, protože pouze několik instrukcí pracuje přímo s pamětí. Většina instrukcí pracuje s vnitřními registry. ARM procesory podporují dvě úrovně priority přerušení s dvěma zaměnitelnými bankami registrů. Nejkratší doba provedení požadavku na přerušení je poskytována režimem rychlého přerušení FIQ (Fast Interrupt Request). Druhý typ přerušení je IRQ (Interrupt Request), který se používá pro obsluhu přerušení nevyžadujících extrémně krátké doby odezvy nebo v případě, že vlastní obsluha přerušení je oproti době reakce procesoru mnohonásobně delší.
Architektura procesoru ARM
Procesor ARM obsahuje 44 základních instrukcí s jednotnou šířkou 32 bitů. V jednom taktu se vykonávají pouze instrukce pracující s aritmeticko-logickou jednotkou (ALU), s registry nebo s přímými operandy. Procesor pracuje ve čtyřech základních režimech:
- uživatelský režim USR
- privilegovaný režim supervizora SUP
- privilegovaný režim přerušení IRQ
- privilegovaný režim rychlého přerušení FIQ
V procesoru je obsaženo 25 částečně se překrývajících 32bitových registrů (15 registrů je univerzálních a zbývajících 10 má speciální funkce), z toho 16 registrů je v každém režimu činnosti programově přístupných.
Režim | Mód | Registry | Poznámka | ||||||
---|---|---|---|---|---|---|---|---|---|
Uživatelský | 0 | R0 až R9 | R10 | R11 | R12 | R13 | R14 | R15 (PSW) | |
Rychlé přerušení | 1 | R10 FIQ | R11 FIQ | R12 FIQ | R13 FIQ | R14 FIQ | Privilegované | ||
Přerušení | 2 | R10 | R11 | R12 | R13 IRQ | R14 IRQ | |||
Supervisor | 3 | R10 | R11 | R12 | R13 SVC | R14 SVC |
Registry R0 až R13 jsou přístupné v uživatelském režimu pro libovolný účel. Registr R14 je určen výhradně pro uživatelský režim. Pět registrů je speciálně určeno pro režim rychlého přerušení (FIQ). Je-li procesor v režimu FIQ, je těchto pět registrů mapováno do registrů R10 až R14. V registru R14 je uložena návratová adresa do přerušeného programu. Další dva registry jsou určeny pro režim přerušení (IRQ) a v tomto režimu překrývají registry R13 a R14 uživatelského režimu. Další dva registry jsou určeny pro privilegovaný režim supervizora. Poslední registr R15 obsahuje stavové slovo procesoru a čítač instrukcí, který je sdílen všemi režimy činnosti. Významově nejvyšších 6 bitů PSW obsahuje stav procesoru, dalších 24 bitů představuje čítač instrukcí a významově nejnižší dva bity obsahují aktuální režim činnosti procesoru.
Specifika procesoru ARM
Jak bylo uvedeno, procesor obsahuje množinu částečně se překrývajících registrů, takže v případě přerušení nemusí být proveden kompletní úklid registrů. V případě režimu rychlého přerušení FIQ je zkrácení doby odezvy procesoru dosaženo použitím čtyř lokálních univerzálních registrů a jednoho registru s návratovou adresou. Tyto registry mohou obsahovat všechny ukazatele a různé čítače používané v jednoduchých procedurách obsluhy vstupů a výstupů, takže lze dobře dosáhnout velmi rychlého opakovaného přepínání procesoru mezi uživatelským režimem a režimem „rychlého přerušení“. Procesor je dále schopen obsloužit následující přerušení:
- chyba v adresování (Address Exception Trap)
- chyba při čtení, nebo zápisu dat do vnější paměti (Data Fetch Cyrcle Aborts)
- chyba při čtení instrukce z vnější paměti (Instruction Fetch Cyrcle Aborts)
- přerušení programovými prostředky (instrukce SWI)
- nedefinovaný kód instrukcí (Undefined Instruction Traps)
- reset procesoru
Procesor poskytuje 26bitovou adresu lineární operační paměti, což umožňuje adresovat 64 MiB fyzické paměti. Odkaz na data mimo rozsah způsobí přerušení chyby adresování (Address Exception Trap).
Adresa | Funkce | Priorita |
---|---|---|
000 0000 | Reset | 0 (nejvyšší) |
000 0014 | Chyba adresace | 1 |
000 0010 | Abort (datový) | 2 |
000 001C | Rychlé přerušení (FIQ) | 3 |
000 0018 | Přerušení (IRQ) | 4 |
000 000C | Abort (instrukční) | 5 |
000 0004 | Nedefinovaný instrukční kód | 6 |
000 0008 | Softwarové přerušení | 7 (nejnižší) |
Instrukční soubor procesoru ARM
Instrukční soubor můžeme rozdělit na skupiny:
- instrukce zpracování údajů - zpracování registrových operandů, zpracování přímých operandů, nastavení podmínkového kódu a instrukce aritmeticko-logické
- instrukce jednoduchého přenosu údajů
- instrukce blokového přenosu údajů - instrukce vykonávají přenos mezi skupinou registrů a spojitou oblastí paměti, přičemž jeden registr je použit jako směrník
- instrukce větvení a větvení s uchováním návratové adresy (tyto instrukce odkládají PSW do R14)
- instrukce přechodu do privilegovaného režimu supervizora, které zahrnují i programové přerušení
Všechny instrukce mají čtyřbitový prefix, který zajišťuje podmíněné vykonání samotné instrukce. Instrukce zpracování údajů pracují pouze nad souborem vnitřních registrů a každá z těchto instrukcí obsahuje reference na tři operandy: jeden cílový a dva zdrojové. Instrukce přenosu údajů jsou použity k přenosu dat mezi pamětí a souborem registrů (Load) a naopak (Store). Efektivní adresa je vypočtena součtem obsahu zdrojového registru a posuvu (offset) daného 12bitovou konstantou nebo obsahem dalšího registru. Posuv (offset) může být přičítán k indexovému registru nebo od něj odčítán. Instrukce přenosu údajů mohou pracovat jak s jednotlivými byty, tak s dvojitým slovem (Double Word, 32bitů). Byte přečtený z paměti je uložen do významově nejnižších 8bitů cílového registru a zbytek obsahu je zaplněn nulami. Instrukce blokového přenosu zabezpečují přenos několika registrů jednou instrukcí. Instrukce obsahuje pole bitů, z nichž každý odpovídá jednomu registru viditelnému v daném režimu. Bit 0 odpovídá R0, bit 1 odpovídá R1, atd. Instrukce programového přerušení jsou použity především pro přechod do privilegovaného režimu supervizora. PSW je ukládáno do registru R14 režimu supervizora a hodnota čítače instrukcí je dána adresou softwarového přerušení.
Literatura
- LIČEV, Lačezar; MORKES, David. Procesory - architektura, funkce, použití. Praha : Computer Press, 1999. ISBN 80-7226-172-X.
Reference
- ↑ "ARMed for the living room".
- ↑ "ARM's new brain"
- ↑ "ARM810 – Dancing to the Beat of a Different Drum" ARM Holdings presentation at Hot Chips 1996-08-07.
- ↑ Register 13, FCSE PID register ARM920T Technical Reference Manual
- ↑ Neo1973: GTA01Bv4 versus GTA02 comparison [online]. [cit. 2007-11-15]. Dostupné online.
- ↑ S3C2410 [online]. [cit. 2010-01-13]. Dostupné online.
- ↑ Rockbox Samsung SA58xxx series [online]. [cit. 2008-02-22]. Dostupné online.
- ↑ Rockbox Meizu M6 Port – Hardware Information [online]. [cit. 2008-02-22]. Dostupné online.
- ↑ STR9 – STR912 – STR912FW44 microcontroller – documents and files download page [online]. Mcu.st.com, [cit. 2009-04-18]. Dostupné online.
- ↑ Starlet.
- ↑ Benchmarks – Albatross [online]. Albatross-uav.org, 2005-06-18, [cit. 2009-04-18]. Dostupné online.
- ↑ ARM1136J(F)-S – ARM Processor [online]. Arm.com, [cit. 2009-04-18]. Dostupné online.
- ↑ GoForce 6100 [online]. Nvidia.com, [cit. 2009-04-18]. Dostupné online.
- ↑ Samsung S3C6410 and S3C6430 Series ARM Proccessors [online]. Samsung, [cit. 2009-10-08]. Dostupné online.
- ↑ MERRIT, Rick. "ARM stretches out with A5 core, graphics, FPGAs" [online]. EE Times, 2009-10-21, [cit. 2009-10-28]. Dostupné online.
- ↑ CLARKE, Peter. ARM tips plans for Swift and Sparrow processor cores [online]. EE Times, 2009-02-03, [cit. 2009-04-18]. Dostupné online.
- ↑ SEGAN, Sascha. ARM's Multicore Chips Aim for Netbooks [online]. PC Magazine, 2009-04-09, [cit. 2009-04-18]. Dostupné online.
- ↑ CLARKE, Peter. ARM preps tiny core for low-power microcontrollers [online]. EE Times, 2009-02-23, [cit. 2009-11-30]. Dostupné online.
- ↑ WALKO, John. NXP first to demo ARM Cortex-M0 silicon [online]. EE Times, 2009-03-23, [cit. 2009-06-29]. Dostupné online.
- ↑ http://www.triadsemi.com/services/arm-powered-vcas/
- ↑ http://www.electronicsweekly.com/Articles/2009/06/10/46252/cortex-m0-used-in-low-power-touch-controller.htm
- ↑ http://www.design-reuse.com/news/22137/arm-cortex-m0-processor.html
- ↑ http://translate.google.co.uk/translate?hl=en&sl=zh-TW&u=http://www.nuvoton.com/hq/enu/NewsAndEvents/News/MediaCoverage/20091005.htm&ei=WeI4S67YCJa8jAfFlvWmDg&sa=X&oi=translate&ct=result&resnum=4&ved=0CA4Q7gEwAw&prev=/search%3Fq%3Dcortex-m0%2Bnuvoton%26hl%3Den%26safe%3Doff
- ↑ http://www10.edacafe.com/nbc/articles/view_article.php?articleid=752000
- ↑ "ARM Extends Cortex Family with First Processor Optimized for FPGA", ARM press release, March 19, 2007. Retrieved April 11, 2007.
- ↑ "ARM Cortex-M1", ARM product website. Retrieved April 11, 2007.
- ↑ ARM Extends Cortex Family with First Processor Optimized for FPGA.
Externí odkazy
- http://pandatron.cz/?542&at91sam7se512_-_schema_zkusebni_desky
- http://pandatron.cz/?606&at91sam7s_-_1.dil:_seznameni_s_obvody
|
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |