Logo Cortex

Mikrokontroléry Cortex-M0 Plus

Cortex-M0-Plus-Microcontrollers-product

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

Cortex-M0-Plus-Microcontrollers-1

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

Cortex-M0-Plus-Microcontrollers-2

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

Cortex-M0-Plus-Microcontrollers-3

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í

Cortex-M0-Plus-Microcontrollers-4

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

Cortex-M0-Plus-Microcontrollers-5

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-Plus-Microcontrollers-6

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

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *