Embedded-Systeme

Für die Atom Prozessorfamilie Softwareentwicklungswerkzeuge unterstützen Parallelisierung

Die bekannten Atomprozessoren werden in Zukunft weiterentwickelt und mit neuen Funktionen und Peripherie­ funktionen versehen. Damit wird dann das Parallelisieren und Debuggen von Anwendungen noch wichtiger. Diesem Umstand tragen bereits die heutigen Entwicklungssysteme Rechnung, die vor allem auf Skalierbarkeit der dann ­vorhandenen Rechnerkerne auf dem Chip ausgerichtet sein müssen.

Die Atom Prozessorfamilie von ist Entwickeln für die eine neue Generation der IA-32 basieren- Atomprozessorfamilie den Prozessoren mit extrem niedrigem Wenn man für die Windows XP Leistungsverbrauch und zielt damit auf oder die Windows 7 basierenden Net- eingebettete Anwendungen wie Point of books, die auf die Atom Prozessor Platt- Sales Terminals, Sicherheitssysteme, form basieren, entwickelt, dann benutzt ­Telekomgeräte, interaktive Kioskan­ Bild 1 : Vtune in gehosteter Umgebung. man praktisch eine identische Methode wendungen, industrielle Automation, (Alle Bilder: Intel) wie sie von der Notebook PC-Welt be- ­Infotainment im Autoumfeld, mobile In- kannt ist. Intel offeriert hier ein weites ternetgeräte, Netbooks/Nettops, Consu- Formfaktor und in mobilen PDA-ähnlichen Feld von Windows basierenden Tools merapplikationen und vieles mehr. Die Internetgeräten ihren Einsatz. wie z. B. die Intel Parallel Studio Suite, Atom-Prozessoren bieten auch den für Eine Dreichip-Lösung für Netbooks offe- einem aus vier Komponenten beste- Emdedded Anwendungen erweiterten riert die Kombination mit dem Atom Pro- hendem Plug-in für Visual Studio Lebenszyklussupport an, ein Muss für den zessor N270 und dem mobilen Intel 945GSE für C++ Entwickler, das sowohl das in diesem Bereich geforderten Investment- Express Chipsatz. ­Schreiben und Debuggen von seriellen schutz. Intel Hyper-Threading Technologie (HT wie auch parallelen Applikationen er- Technologie) ist bei fast allen Atompro- möglicht. Die Atom Prozessorfamilie zessoren (bis auf Z500 und Z510) verfüg- Speziell für die basierende - Die Atom Familie besteht aus mehreren bar. HT Technologie ist bereits vom Pen- OS Platform, die inzwischen in die ge­ Unterfamilien und ist mit den 32-Bit X86 tium 4 Prozessor bekannt und ermöglicht meinsame Intel-Nokia MeeGo-Platform Intel Vorläuferarchitekturen eine Multithreading (quasi parallele) aufgegangen ist, aber auch für andere kompatibel. Das bedeutet, dass viele vor- ­Programmierung und damit auch eine Linux- Distributionen offeriert Intel für handene Applikationen mit wenigen Än- signifikante Anwendungsleistungsstei- die Atom-Familie umfangreiche Entwick- derungen auch auf der Atom-Familie ab- gerung. Eine CPU erscheint wie zwei lo- lungstools, die sowohl das Generieren lauffähig sind, und auch die vorhandenen gische Prozessoren mit einem Shared von Anwendungen, das Testen aber auch X86 Entwicklungswerkzeuge mit einigen Memory und stellt praktisch den Vorläu- das Tunen der Applikationen ermögli- wenigen Anpassungen verwendet werden fer für zukünftige Multicoreprozessoren chen. Es wird sowohl das Entwickeln se- können. dar. rieller wie paralleler Codesequenzen Die neueste Prozessor-Unterfamilie (siehe Der größte Unterschied zu anderen Intel unterstützt. auch Tabelle 1 zum Download unter info- Prozessoren ist der ‚in-order‘ Instruktions- Im Folgenden wird ein Überblick über die DIRECT) beinhaltet den Atom Prozessor scheduler. Das bedeutet, dass die Instruk- beiden Atom Prozessor basierenden Linux N450, den Intel Atom Prozessor D410, und tionen genau in der Reihenfolge von der Entwicklungssuiten, der ‘Intel Application den Intel Atom Prozessor D510. Sie sind Instruktionseinheit verarbeitet werden, Software Development Tool Suite‘ und der mit dem Ein-/Ausgabe-Controller Hub 8 wie sie vom Binärcode der Applikation ‚Embedded Software Development Tool (Intel ICH8) kombinierbar und ermögli- vorgegeben werden. Jedwede Änderung Suite’, gegeben. Beide sind fast identisch chen eine Zweichip-Platformlösung. Ein- der Instruktionsabfolge, wie sie etwa die und unterscheiden sich im Wesentlichen satzgebiete sind Netbooks und Nettops. Core-Architekturen ermöglichen, ist aus- nur dadurch, dass letztere einen JTag- Die stromsparendste und mit kleinstem geschlossen. Dadurch ist der Atom-Pro- Debugger für den Insystemtest integriert. Formfaktor versehene Plattform ist eine zessor in der Regel langsamer, da er anfäl- Dieser JTag-Debugger wird damit haupt- Zweichipversion bestehend aus Elemen- liger für Instruktionslatenzzeiten oder gar sächlich von OEMs verwendet,während ten der Atom Prozessorserie Z5xx und dem Ausführungsunterbrechungen ist, welche der normale Softwareentwickler die ‚Ap- System Controller Hub US15W. Sie finden durch schlechtes Instruktionsscheduling plication Software Development Suite‘ in Embedded Lösungen mit kleinstem hervorgerufen wird. einsetzt.

60 elektronik industrie 6 - 2010 Entdecken Sie weitere interessante Artikel und News zum Thema auf all-electronics.de!

Hier klicken & informieren! embedded-Systeme

Individueller Werkzeugkasten Die individuellen Werkzeuge der Tools- suiten sind Linux ge- hostet und kompati- bel mit den bekannten GNU tools wie etwa die -Umge- bung. Beide Software Development Tool Suiten bieten Lösungen für das gehostete Cross- development im Linux-Umfeld an. Folgen- de Werkzeuge offeriert dieser Entwick- Bild 2: JTAG Debugger – lungssystemwerkzeugkasten. Anbindung von Host und dem eingebetteten Zielsystem. Intel C++ Compiler Der C++Compiler für Linux wurde für die Atom-Familie angepasst und kitzelt die geeignet, da es einen Sampling Collector wertvolle Informationen während des optimale Leistung aus diesen Prozessoren besitzt, der im Commandline-Modus auf Programmtestlaufes gesammelt werden heraus. Mittels der Switch Option –xSSE3_ der Zielplattform abläuft und dort die Test- und mit dem Trace Feature des Debuggers ATOM modelliert der C++ Compiler die daten der Anwendung in Echtzeit (ohne ausgewertet werden. Befehlspipeline entsprechend den ‘in-or- Instrumentierung der Anwendung) in ei- Zum Schluss sei auch noch der Bitfield- der‘ Gegebenheiten und minimiert ein ner TB5-Datei sammelt. Nach dem Testlauf Editor des Debuggers erwähnt. Er behält Abreißen des Instruktionsflusses (depen- wird diese Datei auf den Host übertragen den Überblick über mehrere Hundert dency stalls & resource stalls). Außerdem und am Bildschirm graphisch ausgewertet Atom Prozessorregister, die initialisiert gewährleistet er mithilfe einer heuristi- (Bild 1). werden müssen. Vor allem wird mit dem schen Berechnung, dass die optimalen Bitfeldeditor die Beschreibung der Regis- Assemblerinstruktionen ausgewählt wer- IntelJTAG Debugger ter im Tool mitgeliefert. Manuals zum den, um den Speicherzugriff sowie die Embedded Systeme haben in der Regel Nachschauen der Bedeutung der einzel- Sprungvoraussagen (Branch Prediction) zu keine ausreichende Bildschirmauflösung. nen Registerbits sind damit überflüssig verbessern und den Floating Point Eigen- Auch der verfügbare Prgrammspeicher ist geworden. schaften des Atom Prozessors Rechnung nicht umfassend genug, um sie für eine zu tragen. Vor allem werden mit diesem Entwicklungsumgebung zu nutzen. Applikationsdebugger Switch die SSE3 Instruktion aggressiv zur Der Ausweg aus dieser Misere ist es das Eine Ergänzung des JTAG Debuggers ist Programmleistungsverbesserung (z. B. bei Cross-Debugging über die JTAG Schnitt- der Applikationsdebugger, der im Wesent- Schleifen) eingesetzt. stelle (Bild 2). Auf dem Host-System läuft lichen von den Applikationsentwicklern typischerweise ein JTAG-Debugger inner- benutzt wird. Er setzt voraus, dass sich auf Intel Integrated Performance halb einer Eclipse RCP basierenden graphi- dem Zielsystem bereits ein Linux-Image Primitives (IPP) schen Entwicklungsumgebung. Sie erlaubt befindet. Der Applikationsdebugger, der Die IPP Bibliothek enthält einen reichen den Zugriff auf Descriptor-Tabellen, Page- auf dem Host läuft, wird über eine TCP/IP Satz von mehr als 10 000 multimedialen Tabellen und alle Chipsatzregister im Schnittstelle mit dem Zielsystem verbun- Funktionen für Video-, Audio- und Bild- Onchip-Validierungsmodus. Der JTAG- den. Der Applikationsdebugger bietet – bis Codecs sowie für die Signalverarbeitung. Debugger zielt auf die Fehlerbeseitigung auf die Hardware unterstützten Eigen- Diese hochoptimierten Bibliotheksfunk­ im Bootcode, im Betriebssystemkernel schaften – die gleichen Funktionen wie tionen sind zu großen Teilen bereits ‚ge- und bei den Device-Treibern. der JTAG-Debugger. Auch das Trace-Fea- threaded‘ (parallelisiert) und eignen sich Der Debugger kann über zwei verschiedene ture wurde implementiert. Im Gegensatz für den Einsatz in der Atom-Familie. JTAG Hardwareschnittstellen mit dem Ziel- zum internen Hardware Trace Buffer des system kommunizieren. Eine Lösung stellt JTAG-Debuggers wird auf eine Softwareim- Der VTune Performance Analyzer das Intel XDP3 System dar. Die andere nutzt plementierung zurückgegriffen. (sb) VTune erleichtert das Auffinden von ‚Bot- die Hardwareoption von Macraigor. tlenecks‘ in Anwendungen. Bottlenecks, Der Debugger hat noch eine weitere Funk- ˘ infoDIRECT 421ei0610 auch Hotspots genannt, sind Programm- tion, die die Fehleranalyse erleichtert. Es ˘ Link zu Intel leistungsengpässe, die es dann seitens des handelt sich um den ‚Execution Trace ˘ Link zu Atom Prozessoren ˘ Link zu Tabelle Übersicht Atomfamilie Entwicklers zu optimieren gilt. VTune ist ­Support‘. Dazu nutzt diese Funktion den für eine gehostete Programmentwicklung Tracebuffer des Atomprozessors in dem www.elektronik-industrie.de

elektronik industrie 6 - 2010 61