REKLAMA

Systemy heterogeniczne

Na rynku systemów komputerowych można spotkać wiele różnorakich rozwiązań, których celem jest udoskonalenie systemu. Niektóre z nich mają za zadanie zwiększyć wydajność układu, inne zmniejszyć moc pobieraną przez system. Oczywiście nie sposób wymienić wszystkich przykładów z uwagi na fakt, że rozwiązań takich jest wiele i ciągle pojawiają się nowe. Jednym z nich jest umieszczenie kilku różniących się od siebie architektur w jednym układzie scalonym. 

Niniejszy artykuł przybliża tematykę systemów heterogenicznych i podzielony jest na kilka części. Pierwsza opisuje przypadek systemu, gdzie zastosowano zarówno architekturę ARMv7, jak i Cortex-M3. Kolejna przybliża Linuksowy koncept sterowników typu MISC (ang. Miscellaneous device drivers), który może być użyty do zarządzania rdzeniem Cortex-M3 z poziomu rdzenia ARMv7. Ostatnia część skupia się na wskazówkach dotyczących komunikacji międzyprocesorowej.

Zagadnienia poruszane w tym artykule:

  • Podział systemów wieloprocesorowych;
  • Przykładowy system heterogeniczny;
  • Linuksowy podsystem MISC jako sterownik CM3;
  • Komunikacja ze sterownikiem z poziomu przestrzeni użytkownika;
  • O czym należy pamiętać podczas komunikacji między procesorami;
  • Rozmiar danych i format zapisu;
  • Optymalizacje kompilatora;
  • Optymalizacje procesora i systemu pamięci;
  • Coś więcej niż tylko bariery.

Artykuł znajduje się w miesięczniku "Programista" nr 09/2016 (52). Szczegółowy spis treści tego wydania: https://programistamag.pl/programista-09-2016-52/. Jest to wydanie październikowo-listopadowe.

>>POBIERZ FRAGMENT TEGO ARTYKUŁU<<

grzegorz_jaszczykAutorem artykułu jest Grzegorz Jaszczyk, programista systemów wbudowanych w krakowskiej firmie Semihalf. Zajmuje się głównie programowaniem systemu operacyjnego Linux, pracującego na platformie ARM. Prywatnie ceni sobie aktywny wypoczynek i walory naturalnego krajobrazu.

sys_heterogeniczne2