LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

Cortex-M0+ – najbardziej energooszczędny z rdzeni ARM

32-bitowy Cortex-M0+ to najnowszy z rdzeni mikroprocesorowych firmy ARM (o jego powstaniu producent poinformował 13 marca). Jak nazwa wskazuje, został zaprojektowany w oparciu o rdzeń Cortex-M0, który na rynku obecny jest od trzech lat i przez ten czas zdobył sobie duże uznanie klientów, o czym świadczy aż 50 licencji na ten rdzeń, które ARM udostępnił producentom mikrokontrolerów (do listopada 2011 rok). Od momentu powstania rdzenia Cortex-M0 inżynierowie z firmy ARM pracowali nad usprawnieniami, które mogłyby dodatkowo poprawić jego parametry techniczne. Efektem tych działań jest właśnie rdzeń Cortex-M0+, znany też pod nazwą „Flycatcher” (rys. 1).

Rys. 1. ARM Cortex-M0+

Rys. 1. ARM Cortex-M0+

2-stopniowy Pipeline

Jednym z głównych wymagań wobec nowego rdzenia było obniżenie poboru mocy w porównaniu do rdzenia Cortex-M0. W celu spełnienia tego założenia zdecydowano się wykorzystać (po raz pierwszy w rdzeniu ARM) 2-stopniowy pipeline . W wyniku tego zabiegu pobór mocy (tzw. dynamic power ) przez rdzeń został zredukowany o około 1/3 (tab. 1).

Tab. 1. Porównanie poboru mocy (Cortex-M0+, Cortex-M0) dla procesu technologicznego 90 nm i częstotliwości pracy 50 MHz

  Cortex-M0+ Cortex-M0
Static power 0.95 µW 0.96  µW
Dynamic Power 11.21 µW/MHz 16.36 µW/MHz

Zmniejszenie poboru mocy przez rdzeń jest z pewnością ważne, jednak rozpatrując efektywność energetyczną trzeba się też odnieść do zapotrzebowania na moc przez cały układ, a więc rdzeń oraz zasoby mikrokontrolera. Wspomniany 2-stopwnnowy pipeline zmniejsza liczbę cykli pracy na instrukcję (CPI – number of Cycles Per Instruction ) usprawniając dostęp rdzenia do pamięci Flash, co skutkuje dalszym zmniejszeniem poboru mocy.

Ograniczenie poboru mocy nie wpłynęło negatywnie na wydajność rdzenia Cortex-M0+, która kształtuje się na poziomie 1.77 CoreMark/MHz (0.93 DMIPS/MHz), w porównaniu do 1.62 CoreMark/MHz w przypadku Cortex-M0 (0.84 DMIPS/MHz).

Nowy interfejs wejścia/wyjścia

W Cortex-M0+ zaimplementowany został nowy interfejs wejścia/wyjścia (I/O), który umożliwia wykonywanie operacji I/O w jednym cyklu. Dzięki temu dostęp rdzenia do wykorzystujących ten interfejs peryferii i portów I/O jest niezwykle szybki (rys. 2).

  Rys. 2. Wykonywanie instrukcji I/O - Cortex-M0+ i inne rdzenie

Rys. 2. Wykonywanie instrukcji I/O – Cortex-M0+ i inne rdzenie

 

Moduł MPU

W rdzeniu Cortex-M0+ zintegrowanych zostało kilka funkcjonalności, które obecne są w Cortex-M3 i  Cortex-M4, a które były niedostępne w Cortex-M0. Do najważniejszych z nich należy moduł MPU ( Memory Protection Unit ). Jest to jednostka ochrony pamięci, sterująca dynamicznie dostępem do 8 konfigurowalnych regionów pamięci. Może być użyteczna podczas wykorzystania systemu operacyjnego do nadawania uprawnień dostępu do pamięci różnym zadaniom zapobiegając nadpisaniu przez jedno z zadań obszaru pamięci, który jest już używany przez inne zadanie (rys. 3).

Rys. 3. Zasada działania modułu MPU

Rys. 3. Zasada działania modułu MPU

Polski portal branżowy dedykowany zagadnieniom elektroniki. Przeznaczony jest dla inżynierów i konstruktorów, projektantów hardware i programistów oraz dla studentów uczelni technicznych i miłośników elektroniki. Zaglądają tu właściciele startupów, dyrektorzy działów R&D, zarządzający średniego szczebla i prezesi dużych przedsiębiorstw. Oprócz artykułów technicznych, czytelnik znajdzie tu porady i pełne kursy przedmiotowe, informacje o trendach w elektronice, a także oferty pracy. Przeczyta wywiady, przejrzy aktualności z branży w kraju i na świecie oraz zadeklaruje swój udział w wydarzeniach, szkoleniach i konferencjach. Mikrokontroler.pl pełni również rolę patrona medialnego imprez targowych, konkursów, hackathonów i seminariów. Zapraszamy do współpracy!