

Kvality a velká propagace výkonných 32bitových mikrokontrolérů s jádrem ColdFire V1 až V5 firmy Freescale často nabádá k přímému srovnání s velmi populárními procesory a architekturou ARM. Jak se ale lze přesvědčit v následujícím článku, není to jednoduchá záležitost, protože i když na první pohled vypadají jako přímí konkurenti a vyznačují se v základu dost podobným výkonem, je prakticky každý zaměřen trošku na něco jiného...
Objektivní porovnání architektury ColdFire a ARM je docela těžké, zvláště je obtížné najít mezi nimi výrazné rozdíly, protože jsou si v mnoha směrech dosti podobné. Jak už to u kvalitních soupeřů bývá. U obou jsou prakticky od verzí ColdFiru V2 a ARM7xx samozřejmostí hardwarové násobičky s DSP funkcemi, víceúrovňové pipeline linky, víceprocesorové rozhraní AHB, 16 nebo 32bitové RISC instrukční soubory. Zhruba od posledních verzí procesoru (tj. od ColdFire V4 a ARM10xx) pak také jednotky MMU/MPU, FPU nebo pro komunikaci s pamětí nasazená Harvardská struktura, přičemž dříve byla upřednostňován typ Von Neumann. Ten je sice jednoduší na implementaci (méně sběrnic), ale zase proti Harvardu neumožňuje zároveň číst instrukce a data a tedy je ve vykonávání instrukcí pomalejší. Stejná je technologie implementace (0.18 nebo 0.13 mikronů), podobné jsou i frekvence taktování a výkony v DMIPS, i když to už ne úplně platí pro porovnání některých posledních špičkových verzí obou protivníků. Oba soupeři jsou také nabízeny buď jako licencované architektury pro implementaci na chip zákaznických MCU či SoC obvodu (System-On-Chip), nebo i jako kompletní integrované součástky. Přesto lze u nich najít rozdíly, které toho či onoho zvýhodňují, ale vždy jen pro určitou skupinu aplikací. Aby však k přímému porovnání mohlo dojít, je nutné si nejdříve připomenout vlastnosti obou protivníků.
Všechny 68K/ColdFire jádra jsou založena na paměťově konfigurovatelné hierarchické architektuře, která je 100% syntetizovatelná, navržena pro snadnou integraci do zákaznických návrhů a vždy plně zpětně kompatibilní s předchozími staršími verzemi. Základem je 32bitová adresové a datové sběrnice a integrovaný ladící debug modul. V současné době se ColdFire jádra vyrábí již převážně v 0.13 mikronové technologii. Všechna dosud vyvinutá jádra sdílejí shodný RISC instrukční soubor s volitelnou proměnnou velikostí instrukcí (16/32/48 bitových) optimalizovaných pro velkou hustotu kódu, což celkově zlevňuje systém. Výsledkem je totiž efektivnější uložení kódu v paměti, možnost použít menší paměť a tedy i snížit cenu celého systému.
V Freescale má v nabídce celkem 5 ColdFire jader označených jako V1 až V5:
Výkon a plocha jádra na chipu je mimo jiné dána i použitou technologií implementace - v současné době se využívá 0.18 a 0.13 mikronů
Pro použití celé struktury v zákaznických systémech SoC (System-On-Chip), kdy je jádro společně na jednom chipu (v jedné součástce) s různými potřebnými periferiemi, je dovoleno prostřednictvím licenčního programu Freescalu. Takto může každý uživatel za přesně daných podmínek vytvořit vlastní integrovaný systém (integrovaný obvod) s 32bitovým výpočetním procesorem a vlastními požadovanými rozhraními a jednotkami. Jak ColdFire jádra, tak i již periferiemi vybavené SPP ColdFire platformy (Standard Product Platform) jsou k dispozici skrz licenci firmy IPextreme Inc., partnera Freescalu. Standard Product Platform (SPP) pomáhá designérům nových systémů zkrátit čas vývoje aplikace, protože již otestovaný a dříve vyvinutý podsystém s periferiemi, který se již hotový a snadno se vloží na chip velkého komplexního systému.
Bloková struktura "Standardní platformy" ColdFiru, která mimo samotného jádra obsahuje i další periferie vyžadované od MCU
Jádro V4 je současná třetí nejvyspělejší 32bitová mikroarchitektura ColdFire, která dosahuje 2.8x vyšší výpočetní výkon než vývojový předchůdce jádro V3. Zvýšení výkonu spočívá hlavně v použití Hardvardské architektury pro přístup do paměti spolu se superskalární architekturou, víceúrovňovými pipeline linkami a volitelnou délkou RISC instrukcí 16/32/48 bitů.
Harvardská architektura ColdFire jádra V4 a V5 má oddělený přístup a paměť pro čtení/zápis instrukcí a dat a tím se urychluje zpracování instrukcí
Rozšířené jádro V4e bylo navrženo pro hardwarovou podporu multiprocesorových systémů na jednom chipu vyžadující velký výpočetní výkon, který nemůže poskytnout jednoduchý procesor. Jádro implementované v technologii 0.18 mikronů dosahuje výkonu 350 DMIPS na jedno jádro při taktování 250 MHz, zatímco při přechodu k 0.13 mikronové technologii se zvýšil výkon až 510 DMIPS na jádro při taktování 333 MHz. Dalším plus je, že obsahuje komunikační IP jádro, čímž se stává automaticky součástí zákaznického systému nebo produktů Freescale, které ho vyžadují.
Jádro ColdFire V5 se narozdíl od verze V4 a V4e vyznačuje plně superskalární architekturou (spolupráce více subprocesorů), čímž se zvýšil výkon 1.4 až 2x proti verzi V4e. Stále však je plně binárně zpětně kompatibilní se všemi staršími jádry a tedy lze na něm rozběhnout i dříve vytvořené programy. Proti verzi V4e pak má vylepšení v podobě:
Mikroprocesory s jádrem ColdFire V5 a V5e však zatím nejsou k dispozici a uvedení prvních typů se očekává v roce 2008.
Situace u procesorů ARM není pro popis tak jednoduchá jako u ColdFire. Zatímco u ColdFire odpovídá označení i procesorů, které ho obsahují (V1 až V5), u ARM jsou odlišně označovány samotné architektury a procesory. V současné době ARM k užívání a implementaci nabízí následující typy architektur CPU (ARM Instruction Set Architecture):
Výše uvedené ARM architektury jsou pak v současné době využity a nabízeny v 8 různých řadách ARM procesorů:
Současným nejvýkonnějším ARM procesorem je CortexTM-A8 s výkonem až 2000 DMIPS. Dále lze však ARM jádra nalézt v zákaznických procesorech, 32bitových mikrokontrolérech a SoC obvodech. Asi mezi nejznámější patří Intel® XScale™. Mimo zde uvedenou "klasickou" řadu lze jmenovat "speciality" v podobě CPU SecurCore. Výběr je tedy narozdíl od ColdFiru výrazně větší.
Rodina procesorů Cortex vystavěná na architektuře ARMv7 představuje současnou nejvýkonnější řadu nejen v nabídce ARMu. Asi mezi její nejzajímavější zástupce patří Cortex-M3 a nejvýkonější Cortex-A8.
Procesor Cortex-M3 byl vyvinut a je určen jako moderní náhrada staršího typu ARM7TDMI. Je tedy vhodný jako jádro pro výkonné 32bit. mikrokontroléry nebo univerzální SoC obvody. Proti řadě ARM7TDMI poskytuje výrazně vyšší výkon (1.25 DMIPS/MHz), jednodušší programovací model a menší spotřebu danou nasazením nových technologií zpracování signálů a řízení spotřeby energie. Základem je pak Harvardská architektura, 3úrovňovou pipeline linkou a hardwarovou násobičkou a děličkou zpracovávající MAC instrukci v jednom hod. cyklu. Z pohledu programování využívá 32bitový instrukční soubor Thumb-2.
Základní
vlastnosti:
Procesor ARM Cortex-A8 je první aplikační procesor založen na architektuře ARMv7 a zároveň je i nejvýkonnějším ARM procesorem vůbec. Navíc je optimalizován i pro implementaci technologií 65 nm. Může být taktován frekvencemi i přes 1 GHz, zároveň však má optimalizovanou spotřebu menší než 300 mW, takže je vhodný i pro bateriově napájené mobilní zařízení. Zároveň je prvním superskalárním procesorem od ARMu, což znamená zvýšenou hustotu kódu a tím i výkon. Dále samozřejmě zahrnuje NEON technologii pro multimedia a zpracování signálů, technologii Jazelle® RCT (Runtime Compilation Target) pro efektivní překlad Java a jiných jazyků založených na bajtových kódech.
Jak již bylo zmíněno v úvodu, oba soupeři jsou dost kvalitativně podobní, zvláště při porovnání "starších verzí" zástupců (ColdFire verze V1 až V4 a ARM7 až ARM11). Prakticky oba totiž nabízejí 32bit. harvardskou architekturu nebo typu Von Neumann, MAC s DSP funkcemi a MMU jednotku, víceúrovňové pipeline linky, cache paměti, několik sleep módů nebo ladící rozhraní, i když někdy zabalené v jiném názvu. Možná se dá eMAC jednotka ColdFiru označit jako "vymakanější" a výkonnější než násobičky ARMu.
V porovnání vrcholných procesorů, tj. ColdFire jádra V5 a procesoru ARM-Cortex, resp. architektury ARMv7, je zde již znatelný rozdíl ve výkonu a výbavě pro potřebu běh složitějších operačních systémů (OS) ve prospěch ARMu, zvláště při použití procesoru ARM Cortex-A8. Další výhodou ARMu je pak rozsáhlejší nabídka typů procesorů a tím přesnější výběr podle zaměření aplikace. To však neznamená vítězství ARMu. ColdFire se totiž více zaměřuje a hodí na méně i více náročné DSP výpočty a univerzálního zpracování naměřených dat v oblasti MaR a distribuované automatizace. Zde se velmi zúročí limitovaná nebo superskalární 32bit. nebo 64bit. harvardská architektura s velmi výkonnou eMAC jednotkou s FPU, IP jádro (Ethernet) či podpora dual-port RAM a vůbec nevadí nepřítomnost některých věcí, které má ARM, např. podpory Java aplikací. Navíc je do zákaznických součástek možnost použití u ColdFiru SPP platformu, která mimo jádro obsahuje i on-chip velkou SRAM, Ethernet i sériovou komunikaci (UART, I2C, CAN atd.), čítače/časovače eTPU, DDR RAM rozhraní apod.
ColdFire je tedy spíše výkonný 32 nebo 64bitový mikrokontrolér (řídící jednotka) pro přímé vyhodnocení signálů ze senzorů a sofistikované řízení akčních členů (např. motorů), na kterém běží nějaký firmware nebo RTOS, zatímco ARMy výbavou i architekturou se spíše kloní k označení procesor a je vhodnější pro realizaci multimediálních aplikací (PDA, navigace, DVB-H atd.) a běhu náročnějších "uživatelských" RTOS nebo i OS typu Linux a různých verzí Windows. Navíc ColdFire jádra jsou Freescalem od počátku dodávána jako kompletní MCU MCF5xxx, které již mají integrováno mnoho periferií, jako např. UART, I2C, PCI, USB, CAN, čítače/časovače, budiče LCD, SRAM nebo MCU s ColdFirem V2 také on-chip Flash, zatímco procesory ARM tyto periferie nebo velkou paměť standardně v sobě na chipu nemají a mají vyvedená jen rozhraní - prostě jsou to typické procesory. Samozřejmě při použití ARMu v nějakém zákaznickém SoC pak mohou být zmíněné periferie i paměti na chipu přítomny.
Nedá se tedy říci, že se jedná o 100% přímé konkurenty, spíše se jen výkonově a vlastnostmi "překrývají", kdy ARMy se dají spíše označit za dost výkonné procesory, zatímco ColdFiry spíše jako výkonné mikrokontroléry. Tak nakonec prezentuje i firma Freescale, která ColdFiry po Motorole vyvíjí a také rovnou implementuje do řady MCU MCF5xxx, zatímco ARM jádra například využívá a implementuje do svých multimediálních aplikačních procesorů rodiny i.MX. Z toho je vidět, že ani Freescale nebere ARM jako přímou konkurenci ColdFiru a nelze vždy v aplikacích ARM a ColdFire nahradit. Každý je více vhodný na něco jiného. ColdFire je prostě "duší" více výkonný mikrokontrolér, zatímco ARM více typický procesor. Toto dokumentuje i samotná praxe, kde se MCU ColdFire využívají často například v průmyslových aplikacích, měření a regulaci domů i domácností nebo zařízeních bílé techniky, naopak procesory nebo SoC obvody s ARM lze spíše najít v multimediálních přístrojích (video, hudba, řeč, náročná bezdrátová komunikace) nebo tam, kde se realizuje HMI rozhraní, např. interaktivní grafický ovládací panel s operačním systémem.
Pro bližší informace o parametrech CPU Freescale jader ColdFire i podrobný popis vlastností a parametrů mikrokontrolérů Freescale MCF5xxx lze najít na stránkách výrobce www.freescale.com. Informace o procesorech ARM, jejich struktuře, vlastnostech i parametrech, včetně historie ARMu lze najít na stránkách www.arm.com. Pokud tedy si tedy chcete udělat vlastní srovnání, nic Vám nebrání než navštívit zmíněné stránky a udělat si vlastní názor.
Antonín Vojáček