Mikrokontroléry Cortex-M0 Plus
Dobrý den, vítejte u této prezentace jádra ARM® Cortex®-M0+, které je zabudováno ve všech produktech rodiny mikrokontrolérů STM32U0.
Procesor Cortex-M0+ skončilview
- Architektura ARMv6-M
- Von Neumanova architektura, 2-stage potrubí
- Jednodílná architektura
- Násobte v 1 cyklu
- Jednotka ochrany paměti (MPU)
- Jednocyklový I/O port
Design s ultranízkým výkonem Velmi kompaktní kód | |
Nízká spotřeba energie a vysoká energetická účinnost | Kromě řídicích instrukcí a větvení a spoje jsou všechny instrukce dlouhé 16 bitů |
Jádro Cortex®-M0+ je součástí skupiny ARM Cortex-M 32bitových RISC jader. Implementuje architekturu ARMv6-M a nabízí 2-stage potrubí.
Cortex®-M0+ má jedinečný hlavní port AHB-Lite, ale podporuje souběžné načítání instrukcí a přístup k datům, když přístup k datům cílí na rozsah adres Fast I/O Port.
Kompatibilita s procesory Cortex-M
Bezproblémová architektura napříč všemi aplikacemi
Mikrokontroléry STM32U0 integrují jádro ARM® Cortex®-M0+, aby těžily z nesrovnatelného poměru výkonu na miliwatt.
Všechny procesory Cortex®-M mají 32bitovou architekturu.
Cortex®-M3 byl první procesor Cortex®-M vydaný společností ARM.
Poté se ARM rozhodl rozlišit dvě produktové řady: vysoký výkon a nízký výkon, při zachování kompatibility mezi nimi.
Cortex®-M0+ patří do produktové řady s nízkou spotřebou. Je určen pro bateriově napájená zařízení, velmi citlivá na spotřebu energie.
Skončila základní architekturaview
Jádro Cortex®-M0+ poskytuje vyšší výkon než jádro Cortex®-M0 díky 2-stage instrukční kanál.
Začněme popisem CPU jádrem procesoru, které má na starosti načítání a provádění instrukcí.
ARM Cortex-M0+ → 2-stage potrubí
Většina instrukcí V6-M je dlouhá 16 bitů. Existuje pouze šest 32bitových instrukcí a většina z nich jsou řídicí instrukce, zřídka používané. Instrukce větvení a spoje, která se používá k volání podprogramu, je však také dlouhá 32 bitů, aby podporovala velký posun mezi touto instrukcí a návěštím ukazujícím na další instrukci, která má být provedena.
V ideálním případě jeden 32bitový přístup načte dvě 16bitové instrukce, což má za následek méně načtení na instrukci.
Během hodin číslo 2 nedochází k načítání instrukce. Port AHB Lite je k dispozici pro provedení přístupu k datům, když instrukce N je instrukce načíst/uložit.
Výkon pobočky
Jádro Cortex®-M0+
• Maximálně dvě 16bitové instrukce stínové větve
Na dané větvi se vyplýtvá méně předem načtených instrukcí (díky 2-stage potrubí).
V taktu číslo 1 procesor načte Inst0 a bezpodmínečnou instrukci větve.
V hodině číslo 2 provede Instr0.
V hodině číslo 3 provede instrukci větvení a zároveň načte dvě další sekvenční instrukce Inst1 a Inst2 nazývané instrukce stínové větve.
V taktu číslo 4 procesor zahodí Inst1 a Inst2 a načte InstrN a InstN+1.
Cortex-M0, M3 a M4 implementují 3-stage potrubí: Načíst, dekódovat a spustit. Počet instrukcí stínu větve je větší: až čtyři 16bitové instrukce.
Skončila základní architekturaview
Cortex®-M0+ nemá ani vestavěnou mezipaměť ani interní RAM. V důsledku toho je jakákoli transakce načítání instrukce směrována na rozhraní AHB-Lite a jakýkoli přístup k datům je směrován buď na rozhraní AHB-Lite nebo na jednocyklový I/O port.
Všimněte si, že STM32U0 implementuje mezipaměť instrukcí na úrovni SoC, externí k CPU, umístěnou ve vestavěném flash řadiči.
Hlavní port AHB-Lite je připojen k matici sběrnice, která umožňuje CPU přístup k pamětem a periferiím. Vzhledem k tomu, že transakce jsou zřetězeny na AHB-Lite, nejlepší propustnost je 32 bitů dat nebo instrukcí na takt, s minimální 2hodinovou latencí.
Cortex®-M0+ je také vybaven jednocyklovým I/O portem, který umožňuje CPU přistupovat k datům s jednohodinovou latencí. Externí dekódovací logika určuje rozsah adres, ve kterém jsou přístupy k datům směrovány na tento port.
V STM32U0 se jednocyklový I/O port nepoužívá pro přístup k registrům portů GPIO. Porty GPIO jsou místo toho mapovány na AHB, což umožňuje přístup přes DMA.
Jednotka ochrany paměti
- Nastavení atributů MPU definují přístupová oprávnění
- 8 nezávislých paměťových oblastí
- Může spustit kód?
- Lze zapisovat data?
- Přístup do neprivilegovaného režimu?
MPU v mikrokontroléru STM32U0 nabízí podporu pro osm nezávislých paměťových oblastí s nezávislými konfigurovatelnými atributy pro:
- přístupové oprávnění: povoleno nebo zakázáno čtení/zápis v privilegovaném/neprivilegovaném režimu,
- oprávnění k provedení: spustitelná oblast nebo oblast zakázaná pro načítání instrukcí.
Reference
- Další podrobnosti naleznete v následující dokumentaci:
- Programovací příručka procesoru Cortex®-M32+ řady STM0G0 (PM0223)
- Správa jednotky ochrany paměti (MPU) v STM32 MCU (AN4838)
- PAŽE webstránkách na následujícím odkazu:
- http://www.arm.com/products/processors/cortex-m/cortex-m0+-processor.php
Další podrobnosti naleznete v těchto aplikačních poznámkách a v programovacím manuálu Cortex®-M0+, který je k dispozici na www.st.com webmísto.
Navštivte také ARM webstránky, kde najdete více informací o jádru Cortex®-M0+.
Děkuju
© STMicroelectronics – Všechna práva vyhrazena.
Logo ST je ochranná známka nebo registrovaná ochranná známka společnosti STMicroelectronics International NV nebo jejích poboček v EU a/nebo jiných zemích.
Další informace o ochranných známkách ST naleznete na www.st.com/trademarks
Všechny ostatní názvy produktů nebo služeb jsou majetkem příslušných vlastníků.
Dokumenty / zdroje
![]() |
Mikrokontroléry ST Cortex-M0 Plus [pdfNávod k obsluze Mikrokontroléry Cortex-M0, Cortex-M23, Cortex-M33-M35P, Cortex-M55, Cortex-M85, Cortex-M0 Plus, Cortex-M0 Plus, Mikrokontroléry |