Achtergrond

Multicore stelt nieuwe eisen aan debuggers

Andrea Martin is afgestudeerd computerwetenschapper aan de Technische Universtiteit München en werkt meer dan tien jaar bij Lauterbach als verantwoordelijke voor opleiding. Haar belangrijkste focus is momenteel technische marketing.

Leestijd: 3 minuten

Debuggen en tracen wordt met de introductie van multicore processoren ingewikkelder. Andrea Martin legt uit hoe de tooling kan helpen en wat de verschillen in aanpak zijn tussen symmetrische en asymmetrische systemen.

Zoals het woord ’multiprocessing‘ impliceert, werken meerdere cores samen in een embedded systeem. Voor debugging is het cruciaal hoe de taken worden verdeeld tussen de individuele kernen. We maken hierbij onderscheid tussen asymmetrische en symmetrische multiprocessing (AMP en SMP). In AMP-systemen wijst de systeemontwerper tijdens de ontwikkelfase elke core toe aan een specifieke taak en hebben de rekenkernen doorgaans geen gezamenlijk geheugen. Vaak zijn dergelijke systemen gebaseerd op een standaard controller (veelal Risc) gekoppeld aan versnellers zoals DSP‘s of maatwerk-cores. In een SMP-systeem hebben alle kernen dezelfde architectuur en adresseren ze een gezamenlijke geheugenruimte, en verdeelt het OS de taken runtime over de beschikbare cores naargelang de systeemtoestand. Afhankelijk van de gebruiksmodus zijn er verschillende debug- en traceconcepten van toepassing.

Bij een AMP-systeem verwerkt elke core een afzonderlijk gedeelte van de applicatie en kan het zelfs om verschillende core-architecturen binnen één systeem gaan. Bij het debuggen hiervan wordt daarom voor iedere kern een individueel systeem gestart. De meerderheid van de symbolische en debuginformatie is immers exclusief toegewezen aan de corresponderende core.

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one and enjoy all the benefits.

Login

Related content