• Medientyp: E-Book; Elektronische Hochschulschrift; Dissertation
  • Titel: Dynamische Programm-Code-Verwaltung und -Optimierung für eingebettete Systeme ; Dynamic Management and Optimization of Program Code for Embedded Systems
  • Beteiligte: Schell, Dominic [VerfasserIn]
  • Erschienen: OPUS FAU - Online publication system of Friedrich-Alexander-Universität Erlangen-Nürnberg, 2009-12-21
  • Sprache: Deutsch
  • Schlagwörter: Cache-Speicher ; Eingebettetes System ; ARM <Computerarchitektur> ; Dynamische Optimierung ; Mik ; Kontrollfluss ; Maschinencode ; Speicherbereinigung
  • Entstehung:
  • Anmerkungen: Diese Datenquelle enthält auch Bestandsnachweise, die nicht zu einem Volltext führen.
  • Beschreibung: Bei Desktop-PCs ist ein großer Hauptspeicherausbau im Bereich jenseits von 1 GB dank gesunkener Speicherpreise und auf Grund gestiegener Anforderungen keine Seltenheit mehr. Es existiert jedoch eine Unmenge Kleinstrechner, wie z.B. im Automobilbereich eingesetzte Steuergeräte, die sich einen großen Speicherausbau wegen des Platzbedarfs der Speicherchips, deren Energiekonsum und den zusätzlichen Kosten nicht leisten können. Ein wichtiges Ziel beim Erzeugen der Software für eingebettete Systeme ist es also, so wenig Hauptspeicher (RAM) wie möglich zu verbrauchen. Als Entwickler steht man demnach ähnlichen Problemen gegenüber wie die Computer-Pioniere in den 1970er und 1980er Jahren. Jedoch haben Lösungen wie Overlays oder die von Betriebssystemen eingesetzte seitenbasierteSpeicherverwaltung den Nachteil, dass sie den Speicher sehr grobgranular verwalten. Dadurch wird häufig Maschinen-Code in den Arbeitsspeicher geladen, der nicht ausgeführt wird und somit die Effizienz des Speichers herabgesetzt. Der Beitrag dieser Arbeit besteht in einer neuen Form der Speicherverwaltung für Programm-Code. Unser dynamischer Code-Lader (DCL), lädt nur Programm-Code in den Arbeitsspeicher, der unbedingt zur Ausführung einer Anwendung notwendig ist. Dazu wird der Code in Einheiten von Grundblöcken geladen. Diese sind Code-Regionen mit nur jeweils einem Ein- und Ausgang, d.h. wird ein Grundblock betreten, wird er auch garantiert vollständig ausgeführt. Sollte der zur Verfügung stehende Arbeitsspeicher trotzdem nicht ausreichen, verdrängt ein Speicherbereiniger nicht mehr benötigte Grundblöcke aus dem Speicher, wodurch wieder Platz für neue entsteht. Im Laufe der Arbeit wurden je ein Prototyp des Programmladers für die Intel x86-, die ARM-Architektur und IBMs Cell B.E. entwickelt, sowie mehrere Speicherbereiniger-Techniken untersucht. Des Weiteren wurde mit unterschiedlichen Ladegranulatgrößen experimentiert, wobei neben Grundblöcken auch Funktionen betrachtet wurden. Die Evaluation des Programmladers für ARM zeigt, dass eine ...
  • Zugangsstatus: Freier Zugang