. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Úvod do architektury Cortex-M3 - díl. 1
10. února 2010 - 9:35 | Pandatron | Úvod do architektury Cortex-M3 - díl. 1 | Komentářů: 1  

Úvod do architektury Cortex-M3 - díl. 1

Rodina procesorů založených na architektuře ARM Cortex poskytuje potřebné zdroje k řešení i náročných průmyslových, automobilových, bezdrátových a mnoha dalších technologií.

Rodina obvodů je složena ze tří hlavních typů architektur: ARMv7 je typ pro velmi náročné aplikace, běžící na složitých operačních systémech. Typ R je určen pro použití v real-time systémech a typ M je naproti tomu optimalizován pro použití v levných embedded aplikacích.

Rodiny procesorů Cortex-M3 jsou první procesory architektury ARMv7-M, které byly navrženy s cílem dosáhnout vysokého výkonu systému a maximální efektivity levných vestavěných aplikací, jako jsou například průmyslové řídicí systémy, automobilová elektronika, drátové a bezdrátové telekomunikační systémy, systémy elektrického ovládání atd. K dosažení tohoto cíle však bylo potřeba provést v základní architektuře řadu zásadních změn. Zejména velmi zjednodušit proces tvorby softwarového balíku. Výsledkem je cenově efektivní využití procesorů architektury Cortex-M3 a to i v těch nejjednodušších aplikací.


Obr. 1: Blokové schéma obvodu řady Atmel SAM3U

Chcete-li zvýšit výkon, musíme procesory donutit pracovat buď s vyšší taktovací frekvenci, nebo použít sofistikovanější metody zvyšování výkonnosti algoritmů. Zvýšením hodinové frekvence lze v zásadě zvyšovat produktivitu, ale zároveň tímto krokem dojde i ke zvýšení spotřeby energie a tím spojené složitosti celé aplikace, vycházející ze zajištění potřebného napájení. Naproti tomu zvýšení efektivity zpracování strojového kódu na nižší taktovací frekvenci je mnohem výhodnější. Ve svém jádru pracují procesory Cortex-M3 v závislosti na použité Harvardské technologii se třemi fázemi zpracování dat (pipeline), které nabízí řadu příležitosti. Množství jedno-cyklových operací přináší až 1,25 MIPS / MHz (v praktickém testu).

V procesorech Cortex-M3 je k dispozici nová sada příkazů s označením Thumb-2, která programátorovi umožňuje dosažení až o 70 % vyššího výkonu na jeden megahertz než klasické ARM procesory, založené na jádře ARM7TDMI a vybavené pouze klasickou Thumb instrukční sadou. Navíc je možné dosáhnout až o 35 % vyššího výkonu, než u shodných procesorů, které vykonávají základní sadu instrukcí ARM (testováno na shodném testu).

Zkrácení doby uvedení konečného produktu na trh a snížení nákladů na vývoj, jsou dnes ty nejdůležitější kritéria při výběru procesoru. Stejně jako schopnost rychle a snadno vytvořit strojový kód, jsou všechny uvedená kritéria klíčovým požadavkem aplikovaným v tomto směru.

Procesory založené na architektuře Cortex-M3, jejichž cílem je zajistit rychlé a jednoduché vytvoření efektivního strojového kódu bez použití vložek assembleru, netlačí na programátora zbytečně hluboké znalosti své architektury a to ani při vytváření průměrně náročných aplikací. Tyto procesory využívají zjednodušený programovací model zásobníku, ve kterém se podařilo velmi efektivně provázat ARM jádro s myšlenkami aplikovanými ve standardních 8- a 16-bitových mikrokontrolérech. Například tak funkce řízení přerušení umožňuje produkovat velmi jednoduchý kód a to zcela bez použití assembleru nebo složité manipulace s registry.


Obr. 2: Blokové schéma jádra Cortex-M3

Zbrusu novým, klíčovým prvkem systému instrukcí Thumb-2 je účinnější kompilátor C s možností operací s bity a bitovými poli, hardwarovým tříděním a účinnějším provádění strukturálních podmínek (jakými jsou kupříkladu if / then). Z pohledu programátora, umožňuje instrukční soubor Thumb-2 generovat strojový kód mnohem rychleji, jednodušeji a efektivněji. Navíc pomocí odpovídajícího kompilátoru není třeba řešit ani volbu mezi optimalizací kódu pro rychlost nebo objem - jednoduše je možné zvolit komplexní optimalizaci objemu a rychlosti. To dále zrychluje i samotný proces přípravy a generování kódu, neboť nyní vývojáři nemusí předkompilovávat kritické části kódu a přilinkovávat je na hlavní program v podobě samostatných knihoven.

Hlavním omezujícím faktorem v masivním nasazování efektivnějších procesorů je jejich vyšší výrobní cena. Moderní technologie jsou drahé a proto je rozhodujícím faktorem při snižování nákladů na výrobu procesoru jedině velikost použitého křemíku. Z toho důvodu procesory vyrobené technologií Cortex-M3 obsahují nejmenší jádro typu ARM, které je k dnešnímu dni průmyslově aplikovatelné. Obsahuje pouze 33 tisíc tranzistorů, vyrobených technologií 0,18 mikronů a stejně tak i okolní periferie snížily počet svých prvků na rozumnou velikost. Další obměna proběhla i v přístupu jádra procesoru do paměťového prostoru a to zavedením technologie uchování pracovních dat, změnou práce bitových operací a systémových instrukcí Thumb-2.

Výsledkem těchto změn je o více než 25 % nižší počet přístupů do hlavního paměťového prostoru ve srovnání s klasickým jádrem ARM. Na následujících obrázcích jsou uvedeny grafy výkonu a objemu strojového kódu v různých oblastech využití procesorů Cortex-M3 a ARM7TDMI.


Obr. 3: Srovnání výkonu procesorů ARM7TDMI a Cortex-M3 v jednotlivých aplikacích


Obr. 4: Srovnání objemu strojového kódu procesorů ARM7TDMI a Cortex-M3 v jednotlivých aplikacích

Přestože procesory s jádrem ARM nejsou na trhu příliš dlouho, i tak již nalezly uplatnění v celé řady embedded aplikací. Dnes jsou však nejprogresivnější obvody založené na architektuře Cortex-M3 a v blízké budoucnosti se zřejmě stanou nejpoužívanější ARM architekturou. Především je tomu tak v důsledku vyšší produktivity, nižší složitosti programovacího modelu, lépe propracovaným systémem přerušení a v neposlední řadě i díky své nízké ceně. Základní výhody a srovnání obvodů založených na architekturách Cortex-M3 a ARM7TDMI jsou uvedeny v následující tabulce.¨

Parametr Jádro
ARM7TDMI-S Cortex-M3
Jádro ARMv4T ARMx7-M
Architektura von Neumann Harvard
Podporované instrukční sady Thumb Thumb / Thumb-2
Přerušení FIQ /IRQ NMI + 1 až 240 fyz. přerušení
Čas přerušení 24 .. 42 cyklů 12 cyklů
Stepping režim Ne Integrované
Ochrana paměti Ne 8 regionálních jednotek
Výkon 0,95 DMIPS / MHz (ARM) 1,25 DMIPS / MHz
Příkon 0,28 mW / MHz 0,19 mW / MHz
Plocha čipu v mm2 0,62 (pouze jádro) 0,86 (základní a standardní periferie)
Tab. 1: Srovnání základních vlastností obvodů Cortex-M3 a ARM7TDMI

Pokud se vám některé z výše uvedených výroků zdají neopodstatněné a nepodložené, rozhodně má smysl seznámit se s obvody založenými na architektuře Cortex-M3 blíže. V dalším pokračování seriálu o architektuře Cortex-M3 se tak zaměříme na strukturu obvodů a samotné jádro.

Použitá literatura:
Stellaris® ARM® Cortex™-M3 Microcontrollers
SAM3U Series: 96 MHz Cortex-M3 Flash MCU with High-Speed USB








GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (1):

Zobrazit starší 30 dnů (1)...

host
1. Dne 11. 02. 2010 v 15:13 zaslal host
Bez titulku
Pěkný článek, už se těším na pokračování


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
RTL SDR-3+
Nová generace moderních, snadno použitelných RTL SDR přijímačů vychází z vynikajících vlastností obvodů R820T.
Skladem od 1490 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007