. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Úvod do architektury Cortex-M3 - díl. 3
27. dubna 2010 - 9:56 | Pandatron | Úvod do architektury Cortex-M3 - díl. 3 | Komentářů: 4  

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

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í.

V předchozích dvou dílech úvodu do architektury Cortex-M3 jsme se zaměřili na popsání hlavních principů jádra a obecné struktury. Dále byly uvedeny hlavní rozdíly mezi jádrem Cortex-M3 a tradičním jádrem architektury ARM7 a popsány základní principy interakce mezi organizačními jednotkami procesorů vystavěných na architektuře Cortex-M3.

Jak bylo uvedeno dříve, jádro Cortex-M3 obsahuje dekodér pro obě tradiční instrukční sady a pro novou generaci Thumb-2. Rozšířené ALU rovněž podporuje hardwarové násobení a dělení, stejně jako obsahuje blok řídicí logiky a rozhraní s ostatními komponentami systému procesoru. Procesor postavený na architektuře jádra Cortex-M3 má jednoduchou, pevnou paměťovou plochu s maximálním adresovatelným prostorem až do 4 GB. Její součástí je pevně daný adresní prostor pro programovou paměť Flash, pracovní paměť RAM, externí paměť, periferie a další (obr. 1). Jak je z obrázku patrné, součástí adresovatelného paměťového prostoru jsou rovněž adresy, které jsou vyhrazeny výrobcem.


Obr. 1: Adresovatelný paměťový prostor obvodů architektury Cortex-M3

Procesory postavené na jádře architektury Cortex-M3 poskytují rovněž přímý přístup k datovým bitům a to pomocí jednoduchého mechanismu (obr. 2). Všimněte si, že uvedené operace jsou základní a nemohou být přerušený dalšími operacemi a přerušením.


Obr. 2: Srovnání mechanismu bitových operací v tradiční architektuře ARM7 (a) a Cortex-M3 (b)

Tradiční procesory založené na architektuře ARM7 podporují pouze přístup k celým datovým slovům, což znamená, že veškeré datové práce musí být zarovnány na hranice 32 bitových slov. Zpracování stejných instrukcí na architektuře Cortex-M3 umožňuje přístup k nezarovnaným datům, což výrazně minimalizuje časové prodlevy spojené s přístupem k takovým datům. V případě, že je požadován přístup k nezarovnaným datům, je možné provést jejich rozdělení do několika paralelních vláken se zarovnanými daty, takový proces je transparentní i pro uživatele programu, jako je tomu automaticky uvnitř jádra.
Krom toho, architektura obvodů Cortex-M3 podporuje 32-bit násobení v jediném cyklu, stejně jako práci se signed a unsigned daty, což ve svém důsledku vyžaduje 2 až 12 hodinových taktů v závislosti na velikosti operandů. Operátor dělení je samozřejmě rychlejší v případě, že dělitel a dělenec jsou malé. Takové zlepšení v provádění matematických operací, poskytované architekturou obvodů CortexM3, je významnou výhodu oproti procesorům založených na standardu architektury ARM7 a to především pro řešení problémů, které vyžadují rozsáhlé matematické výpočty.

Mikroprocesory architektury ARMv7-M jsou rozšířením architektury ARM7, které se od předchozích ARM architektur liší podporou systému instrukcí Thumb-2. Thumb-2 je technologie 16 - a 32-bit instrukční sady, poskytující kapacitu 32-bit ARM instrukcí a velice malou velikost výsledného kódu. Je třeba rovněž poznamenat, že systém instrukcí Thumb-2 je zpětně kompatibilní s 16-bit instrukcemi Thumb. Obr. 3 je uveden výsledek testu jednotlivých instrukčních sad, což svědčí o výkonnosti systému Thumb-2 ve srovnání s jinými instrukčními systémy obvodů ARM. V předchozích verzích procesorů architektury ARM7 bylo pro efektivní kód, maximální výkon a celkově kompaktní kód potřeba vytvořit různé části programu buď pomocí ARM instrukční sady a nebo sady Thumb. Současně procesory architektury CortexM3 nevyžaduje tak složité manipulace, stejně jako jsou maximálně tolerantní k 16-bit a 32-bit instrukcím, vykonávaným ve stejném režimu. Vzhledem k tomu, že systém Thumb-2 je vytvořen z 16-bit instrukční sada Thumb, je možné na architektuře Cortex-M3 spustit i programy napsané pomocí instrukční sady Thumb stanovené pro starší verze procesorů. Stejně tak jsou obvody Cortex-M3 kompatibilní i s kódem dřívějších verzí sérií ARM7.


Obr. 3: Srovnání jednotlivých instrukčních sad

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 (4):

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

host
4. Dne 03. 05. 2010 v 14:08 zaslal host
Bez titulku
Ta kniha je dosti drahá.


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:
Vývojový kit MEGA328
Nejvýkonnější varianta univerzálního a bohatě vybaveného vývojového kitu s obvodem ATmega328 společnosti ATMEL je vhodná jak pro začátečníky, tak i profesionály.
Skladem od 795 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