8051 Compiler erzielt 56% mehr DMIPS/MHz mit 30-50% kleinerem Kode.
|
|
- Friedrich Knopp
- vor 7 Jahren
- Abrufe
Transkript
1 Kontakt: Nancy B. Green Nicky Douglas The William Baldwin Group HI-TECH Software ZUR VERÖFFENTLICHUNG AM 10 NOVEMBER Compiler erzielt 56% mehr DMIPS/MHz mit 30-50% kleinerem Kode. SiLabs C8051F9XX verbraucht 20% weniger Leistung, hat eine 40% geringere Interrupt-Reaktionszeit und benötigt bis zu 20% weniger SRAM ohne bank Qualifizierer oder C-Erweiterungen Acacia Ridge, Queensland, Australia, 10 November HI-TECH Software veröffentlicht heute einen omniscient ANSI C Compiler, der die DMIPS/MHz erhöht und gleichzeitig den Stromverbrauch der Silicon Labs 8051-basierenden mixed-signal MCU Familien reduziert, einschließlich der Ultra low-power, single-cell C8051F9XX Varianten. HI-TECH C PRO für die Silicon Labs 8051 MCU Familie reduziert die Interrupt Verzögerung, die Kodegröße und den SRAM-Bedarf, indem er die Interrupt-Kontext-Speicherung und die Registerverwendung dynamisch über alle Module eines C Programms optimiert. Das Ergebnis ist sowohl eine höhere Kode-Dichte als auch eine Verringerung der Anzahl der Prozessorzyklen für den Programmablauf. Und weniger Prozessorzyklen bedeutet, dass die CPU mehr Zeit im Sleep Modus verbringen kann. Dadurch wird der sowieso schon geringe Strombedarf der Silicon Labs MPUs weiter verringert. So erreicht der HI-TECH OCG Compiler beim Silicon Labs Dhrystone V1.1 Benchmark bei einer MHz Clock 55% mehr DMIPS/MHz und 49% kleineren Kode als jeder nicht-ocg Compiler (Tabelle 1). Dhrystone V 1.1 Benchmark Code Size SRAM DMIPS HI-TECH PRO nicht-ocg Compiler Unterschied -49.0% -0.2% +55.4%
2 Genauso produziert der HI-TECH C PRO für den Silicon Labs Ethernet Boot-Loader 30% kleineren Kode und das Ergebnis benötigt 20% weniger SRAM (Tabelle 2) SiLabs' Ethernet Boot Loader (8051F340) Code Size SRAM HI-TECH PRO nicht-ocg Compiler Unterschied -30% -20% Schnellere Interrupts reduzieren Stromverbrauch um 20% HI-TECH C PRO verwendet die omniscient code generation (OCG) Technologie. Diese sammelt umfassende Informationen über jede Register, Stack, Pointer, Objekt- und Variablen Deklaration des gesamten Programmes ermittelt. Sie nutzt diese Informationen um Register-Ausnutzung, Stack Zuweisungen und Pointer des gesamten Programmes zu optimieren. Sie stellt ebenfalls sicher, dass Variablen- und Objekt-Deklarationen in allen Modulen gleichartig erfolgen und entfernt unbenutzte Variablen und Funktionen. Compiler ohne OCG übersetzen die einzelnen Module unabhängig voneinander, ohne Informationen über andere Teile des Programms. Da sie nicht wissen, welche Register im übrigen Programm verwendet werden, müssen sie in der Regel alle acht General Purpose Register sowie andere On-chip Resourcen bei jedem Interrupt sichern. Dies benötigt bis zu 48 Takte. Im Gegensatz dazu hat ein OCG Compiler umfassende Informationen über jede Register, Stack, Pointer, Objekt- und Variablen Deklaration des gesamten Programmes. Da ihm genau bekannt ist, welche Register bei den einzelnen Interrupts wirklich benötigt weden kann der Interrupt-Kontext zur Compilierzeit dynamisch optimiert werden. Kode, der von einem OCG Compiler erzeugt wurde braucht nicht unbedingt alle Register für eine Interrupt-Behandlungsfunktion sichern. Dadurch können bis zu 48 Takte im Vergleich zu einem nicht-ocg Compiler eingespart werden. Als Beispiel betrachten wir eine Anwendung, die einen Audio Eingang mit 8kHz mit einem 10bit ADC abtastet und in die mu-law Kodierung umwandelt (8 bits, wie für die Telefon-Übertragung verwendet) und das Ganze über eine RS232 mit 115,200 Baud überträgt. Zusätzlich wird das Audio Signal verarbeitet und eine Aussteueranzeige betrieben. Es gibt Anforderungen an die CPU Clock Frequenz im Bezug auf die Baudrate. Die Clock Frequenz muss ein ganzzahliges Vielfaches der Baudrate sein (hier ) und gleichzeitig hoch genug, um den gesamten Ablauf 8000 mal pro Sekunde ablaufen zu lassen, nämlich für jede Abtastung ein Mal. Der Kode, den ein nicht-ocg Compiler für einen Silicon Labs single-cell C80519XXF erzeugt benötigt im Durchschnitt 108 Takte um den Interrupt und den Kode der Hauptschleife abzuarbeiten. Die maximale Taktzahl ist 135. Daraus ergibt sich eine minimale CPU Clock Frequenz von 1,08 MHz. Allerdings ist 1,08 MHz kein
3 ganzzahliges Vielfaches der Baudrate von Baud. Die Frequenz muss deshalb auf 1,1152MHz erhöht werden. Bei dieser Frequenz benötigt der C8051F9xx im Durchschnitt 248µA. Wird dasselbe Programm mit dem HI-TECH C PRO compiliert so benötigt es 93 Takte im Durchschnitt und 110 Takte as Maximum. Daraus ergibt sich eine erforderliche CPU Clock Frequenz von 880 khz. Die nächsthöhere Frequenz, die ein Vielfaches der Baudrate ist, ist khz. Bei dieser Frequenz benötigt der C8015F9XX im Durchschnitt 202µA und damit 22% weniger als der Chip, der das nicht-ocg Programm ausführt. Verzicht auf Speicher-Bereichs Qualifizierer möglich Die Microcontroller der Silicon Labs C8051 Familie verwenden eine hierarchische Speicher-Aufteilung mit 6 verschiedenen aber überlappenden Speicherbereichen. Die Compiler-Hersteller erweitern deshalb den C Sprachumfang um besondere Qualifizierer, mit denen der Programmierer jeder Variable den Speicherbereich zuweisen kann um die Ausführungsgeschwindigkeit zu verbessern. Diese manuelle Zuordnung macht den Kode jedoch nicht mehr portierbar und bedeutet zusätzlichen Entwicklungsaufwand für bestmögliche Resultate. Ausserdem wird die getroffene Zuordnung der Variablen zu Speicherbereichen in der Regel im Verlauf der weiteren Programmentwicklung ungünstiger und verschlechtert dadurch die Programm-Leistung. Der HI-TECH C PRO vermeidet dieses Problem komplett. Da er über das gesamte Programm genau weiss, auf welche Variable wie zugegriffen wird und welche Variablen voneinander abhängig sind kann er die Position der Variablen und die Zeiger darauf optimal auf die Speicherbereiche verteilen. Globale und static Variablen werden im verfügbaren Speicher aufgrund ihrer Grösse und der Anzahl der Verwendungen verteilt. Funktions- Parametern und auto Variablen wird eine Adresse auf dem kompilierten Stack zugewiesen. Zusätzliche Befehle zum Zugriff auf Daten im erweiterten Speicher werden so minimiert oder ganz vermieden. Der Compiler nutzt für Variablen, die nicht gleichzeitig verwendet werden, denselben Speicher und reduziert so den RAM Bedarf um bis zu 80%. Dafür ist kein Eingriff des Programmierers oder eine C Erweiterung erforderlich. Der HI-TECH PRO Compiler mit OCG kennt alle benutzten Variablen und Zeiger in allen Programm-Modulen und wie oft sie verwendet werden. Er definiert ohne Mithilfe des Programmierers für jeden Zeiger die Adressbereiche mit optimaler Effizienz für die C8051 Architektur. Er weiß ausserdem genau wie gross der Stack sein muss und wo er liegt bevor der Programmkode erzeugt wird. Variablen, auf die oft zugegriffen wird, werden in den RAM Bereichen abgelegt, auf die am schnellsten zugegriffen werden kann, während weniger oft verwendete Daten in das XDATA RAM gelegt werden. Dies führt zu einer erhöhten Kode-Dichte durch Verringerung der Anzahl der längeren movx Anweisungen und kann zu einer deutlichen Leistungssteigerung bei weniger SRAM Bedarf führen. Register Nutzung. Normale C8051 Compilers reservieren bis zu sieben Registers zur Speicherung von Parametern für Programmaufrufe. Werden mehr als sieben Register für die Parameter benötigt so werden die übrigen über den Stack (im RAM) übergeben. Dies benötigt viele CPU Takte und damit mehr Leistung und
4 RAM. Die aufgerufenden Funktionen rufen oft ihrerseits weitere Funktionen auf und so weiter. Werden dabei wieder Parameter übergeben, so müssen zunächst die eigenen Aufrufparameter auf dem Stack gesichert werden, bevor die Register wieder verwendet werden können. So werden Daten laufend zwischen Registern und dem Stack im RAM hin und her kopiert. Dies verschwendet sowohl RAM als auch CPU Takte und bläht das Programm mit zusätzlichen Anweisungen auf. Der 'omniscient code generator' im HI-TECH PRO Compiler weiß genau, welche Register an jedem Punkt im Programm verfügbar sind und welche nicht. Dieser kann daher die Registerverwendung ohne Einschränkungen optimieren. Bei zwei- oder dreistufigen Funktionsaufrufen weist der OCG Compiler die Parameter verschiedenen nicht überlappenden Registersätze zu und kann so des öfteren Kode zum Zwischenspeichern der Register im RAM komplett vermeiden. Dies führt zu einer besseren Ausnutzung der verfügbaren Register, weniger CPU Takten, die zum Kopieren von Parametern zwischen Stack und Registern verschwendet werden, und auch einem geringeren RAM Bedarf. Gleichzeitig wird das Programm kleiner da weniger oder keine Anweisungen zum Sichern der Parameter auf dem Stack benötigt werden. Debuggen mit Optimierungen. Der HI-TECH PRO Compiler für den Silicon Labs C8051 ist der einzige Compiler auf dem Markt der das Debuggen von Kode bei aktivierter Compiler-Optimierung erlaubt. In der Regel kann Kode, der mit voller Optimierung übersetzt wurde nur schwer oder gar nicht debuggt werden. Dies macht es sehr schwer Fehler zu finden. Der HI-TECH Pro Compiler sichert automatisch den Zusammenhang zwischen dem Objekt-Kode und dem zugrunde liegenden C-Kode und ermöglicht dadurch das schnelle und einfache Debuggen von optimiertem Kode. Vollständig in die Silicon Labs IDE integriert. Der HI-TECH C PRO Compiler ist vollständig in die Silicon Labs IDE integriert, so wie die meisten 3rd-party Entwicklungswerkzeuge. Der HI-TECH C PRO läuft auf mehreren Plattformen wie Windows (2000, XP, Vista 32/64), Linux und Mac OS X. Bibliotheks- und Laufzeit-Kode enthalten. Der HI-TECH PRO Compiler für den Silicon Labs C8051 ist mit den kompletten Quelltexten aller Bibliotheksfunktionen verfügbar, einschliesslich des Startup-Kodes, der vom Compiler automatisch für das Programm bei der Übersetzung erstellt wird. Es gibt keine Einschränkungen für die Nutzung des ausführbaren Bibliothekscodes. Preise und Verfügbarkeit. Der HI-TECH C PRO für die Silicon Labs 8051 MCU Familie ist ab sofort bis zum 31. Dezember 2008 zu einem Einführungspreis von US$1195 verfügbar. Danach beträgt der Verkaufspreis US$1495. Im Preis sind 12 Monate HPA (HI-TECH Priority AccessTM, Zugang zu Updates und technischer Unterstützung) und eine 30-Tage Geld-Zurück-Garantie enthalten. Mehr-Benutzer- und Schulungslizenzen sind zu Sonderpreisen verfügbar.
5 Kostenlose Testversion. Eine voll funktionsfähige 45-Tage Testversion des HI-TECH C PRO für die Silicon Labs 8051 MCU Familie ist kostenlos zum Download auf der HI-TECH Website erhältlich. Zusätzliche Informationen zum HI-TECH C PRO für die Silicon Labs 8051 MCU Familie sind verfügbar unter ### Über HI-TECH Software. HI-TECH ist ein international erfolgreicher Entwickler von Entwicklungswerkzeugen für Embedded Systeme. Zur Produktpalette gehören Compiler und eine Eclipsebasierte IDE (HI-TIDE) für 8-, 16- und 32-Bit Microcontroller und DSP Chip Architekturen von Microchip, Cypress, Silicon Labs, Atmel, NXP und anderen grossen MCU Herstellern. HI-TECH ist der wichtigste Third- Party Anbieter von Compilern für die gesamte Palette der Microchip PICmicro MCU un DSC mit einem weltweiten Marktanteil von etwa 64% und der vom Hersteller empfohlene Compiler-Hersteller für die Cypress Semiconductors PSoC Mixed-Signal Arrays, MCUs und DSCs, und liefert seit mehr als 15 Jahren hervorragende 8051 Compiler. Die Produkte werden von mehreren zehntausend Entwicklern genutzt, unter anderem bei General Motors, Daimler-Chrysler, BMW, Whirlpool, Qualcomm, John Deere, Siemens und EBM-Papst. HI-TECH Software wurde 1984 von Clyde Stubbs in Brisbane, Australien, gegründet und hat ein Büro in den USA und Distributoren überall in der Welt. Für den deutschsprachigen Raum wird HI-TECH durch die REICHMANN GmbH mit Sitz in Osterburken, Deutschland, vertreten.
Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf
Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf Technische Daten 16-Bit RISC Architektur bis zu 16 Mhz Vcc: 1,8-3,6V 64 KB FRAM 2 KB SRAM 7 Schlafmodi 5 16-Bit
MehrEinleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega
Einleitung... 11 Die Pins alphabetisch.... 12 Kapitel 1 Programmierung des ATmega8 und des ATmega328.... 15 1.1 Was Sie auf den nächsten Seiten erwartet... 19 1.2 Was ist eine Micro Controller Unit (MCU)?....
MehrDie AVR Mikrocontrollerfamilie
AKES - Ausgewählte Kapitel eingebetteter Systeme 10. Mai 2006 Übersicht über den Vortrag Was sind AVRs? 2/35 Anwendungsfelder Übersicht über den Vortrag Mikrocontroller 3/35 Kleiner Chip Viel integrierte
Mehrb) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch};
Aufgabe 1: (15 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort
MehrComputeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme
MehrARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH
ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
MehrName: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
Mehr4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
MehrHinweis: Sie finden die IP-Adresse des Druckers im Abschnitt "TCP/IP" des Menüs "Netzwerk/Berichte".
Seite 1 von 5 Verbindungsanleitung Unterstützte Betriebssysteme Mit der Software-CD können Sie Druckersoftware auf den folgenden Betriebssystemen installieren: Windows 8.1 Windows Server 2012 R2 Windows
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
MehrRechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7
1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrÜbungen zu Systemprogrammierung 1 (SP1)
Übungen zu Systemprogrammierung 1 (SP1) Ü1-2 Speicherverwaltung Andreas Ziegler, Stefan Reif, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
Mehrschnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv
Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag
MehrInhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Inhalt Interrupts Allgemein AVR Interrupt-Handler Synchronisation volatile Sperren von Interrupts
MehrEinführung in die Welt der Microcontroller
Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller
MehrInhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232
Inhaltsverzeichnis 1 Ein-Bit-Rechner... 15 1.1 Rechenwerk... 15 1.1.1 Register und Takt... 16 1.1.2 Zwischenspeicher... 17 1.1.3 Native und emulierte Datenmanipulationsbefehle... 18 1.2 Steuerwerk... 20
MehrObjective-C Anwendungen entwickeln für Mac und iphone (Apple Software) Click here if your download doesn"t start automatically
Objective-C 2.0 - Anwendungen entwickeln für Mac und iphone (Apple Software) Click here if your download doesn"t start automatically Objective-C 2.0 - Anwendungen entwickeln für Mac und iphone (Apple Software)
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrWireless LAN Meßverfahren
Wireless LAN 802.11 Meßverfahren Ad-hoc-Netzwerke für mobile Anlagen und Systeme 199. PTB-Seminar und Diskussionssitzung FA 9.1 Meßverfahren der Informationstechnik Berlin, 3. - 4.11.2004 Martin Weiß Rohde
MehrFunktionen in PHP 1/7
Funktionen in PHP 1/7 Vordefinierte Funktionen in PHP oder vom Entwickler geschriebene Funktionen bringen folgende Vorteile: gleiche Vorgänge müssen nur einmal beschrieben und können beliebig oft ausgeführt
MehrPicAxe M2 - Das Speicherkompendium. Ausgabe Matthias Heuschele / SSE
PicAxe M2 - Das Speicherkompendium Alles über RAM, Eeprom & Lookup-Table der PicAxe M2 Typen Ausgabe 03-2017 Matthias Heuschele / SSE Das Speicherkompendium zur PicAxe M2 Inhaltsverzeichnis Der PicAxe
MehrVarioTAP Einführung Hosea L. Busse
VarioTAP Einführung Hosea L Busse GÖPEL electronic GmbH 2013 JTAG/Boundary Scan 1 Überblick Was ist VarioTAP? Prinzipielle Struktur eines µcontrollers VarioTAP Teststruktur VarioTAP Testkategorien VarioTAP
MehrGrundlagen der OO- Programmierung in C#
Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3
MehrDie Technik hinter IoT: Arduino, Raspberry Pi & Co.
Die Technik hinter IoT: Arduino, Raspberry Pi & Co. Praxisbeispiele für den Hausgebrauch Uwe Steinmann MMK GmbH 25.-26. September 2017 Uwe Steinmann (MMK GmbH) Die Technik hinter IoT 25.-26. September
MehrErgänzungen zum Manual OS V 2.05/2.06
Ergänzungen zum Manual OS V 2.05/2.06 SYSTEMRESOURCEN - PROGRAMM DOWNLOAD - Ab der Betriebssystemversion 2.05 haben die C-Control Units M-2.0 und Station 2.0 die Möglichkeit das Anwenderprogramm von einem
MehrName: ES2 Klausur Thema: ARM Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
MehrÜbungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002
1. Stellen Sie die schrittweise Verbesserung eines Compilers durch das Bootstrap- Verfahren mit Hilfe von T-Diagrammen dar. Gegeben ist ein auf der Maschine M lauffähiger Compiler C 1, der in S geschrieben
Mehr9 Zeiger (Pointer). Dynamischer Speicher
9 Zeiger (Pointer). Dynamischer Speicher Jörn Loviscach Versionsstand: 25. September 2013, 18:07 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html
MehrVersionsupdate von V auf V We automate your success
JetSym Versionsupdate von V. 5.4.0 auf V. 5.4.1 We automate your success Jetter AG Gräterstrasse 2 71642 Ludwigsburg Telefon: Zentrale +49 7141 2550-0 Vertrieb +49 7141 2550-531 Technische Hotline +49
MehrProgrammieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff
Programmieren in C Speicher anfordern, Unions und Bitfelder Prof. Dr. Nikolaus Wulff Vergleich: Felder und Strukturen Felder müssen Elemente vom selben Typ enthalten. Strukturen können Elemente unterschiedlichen
MehrWorkware Wireless FAQ AV & IT November 9, 2016
Workware Wireless FAQ AV & IT November 9, 2016 Was sind die Auswirkungen auf mein Netzwerk, wenn ich Workware wireless nutze?... 3 Kann ich gleichzeitig mehrere Displays verwalten?... 3 Benötige ich einen
Mehr0. Einführung. C und C++ (CPP)
C und C++ (CPP) 0. Einführung Prof. Dr. Marc Rennhard Institut für angewandte Informationstechnologie InIT ZHAW Zürcher Hochschule für Angewandte Wissenschaften marc.rennhard@zhaw.ch Marc Rennhard, 05.01.2010,
MehrWER SIND WIR? VORTEILE.
WER SIND WIR? primaerp ist eine Startup-Abteilung von ABRA Software a.s., ein Unternehmen welches im Jahr 1991 gegründet wurde und derzeit der Leiter des ERP-Software-Markts in der Tschechischen Republik
MehrCUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg
CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche
MehrVerbindungsanleitung. Unterstützte Betriebssysteme. Installieren des Druckers. Verbindungsanleitung
Seite 1 von 5 Verbindungsanleitung Unterstützte Betriebssysteme Mit der CD Software und Dokumentation können Sie Druckersoftware auf den folgenden Betriebssystemen installieren: Windows 8 Windows 7 SP1
MehrDie Entwicklungsumgebung. Labor Technische Informatik. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber
Die Entwicklungsumgebung Labor Technische Informatik Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber 19.04.2011 Inhalt 1 Das Keil MCB1700 Board...2 2 Keil ARM MDK Toolchain...3 2.1 Projekterstellung...3
MehrCompute Unified Device Architecture CUDA
Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:
MehrEinführung in die Microchip PIC-Controller vergleichende Betrachtung zu anderen Microcontrollern CLUG 12.2.2016. Matthias Kupfer
Einführung in die Microchip PIC-Controller vergleichende Betrachtung zu anderen Microcontrollern CLUG 12.2.2016 Matthias Kupfer maku@kupfer-it.de 1 Übersicht Überblick über Microchip PIC-Familie Eigenschaften
MehrC-Grundlagen. Einführung von Tronje Krabbe 1/21
C-Grundlagen Einführung von Tronje Krabbe 1/21 Gliederung Hintergrund Geschichte Nutzungsgebiete C-Derivate Syntax Compiler Beispielcode 2/21 Was ist C? C ist eine imperative, kompilierte Programmiersprache
MehrÜbung 1 - Betriebssysteme I
Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits
MehrUnified-E Modbus Adapter
Unified-E Modbus Adapter Betrifft: Version 1.5.0.0 und höher Stand: Februar 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Adressierung von Datenpunkten... 4 Unified-E Modbus Adapter
MehrMikrocontrollertechnik
Matthias Sturm Mikrocontrollertechnik Am Beispiel der MSP430-Familie mit 102 Bildern und 44 Tabellen Fachbuchverlag Leipzig im Carl Hanser Verlag Inhaltsverzeichnis 1 Ein-Bit-Rechner 15 1.1 Rechenwerk
MehrJust-In-Time-Compiler (2)
Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:
MehrJetControl 647 Versions Update von V3.53 auf V3.60
JetControl 647 Versions Update von V3.53 auf V3.60 Auflage 1.00 21.06.07 / Printed in Germany Versions Update - von V3.53 auf V3.60 JetControl 647-21.06.07 Die Firma JETTER AG behält sich das Recht vor,
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrÜbung Verwenden der show-befehle des Routers
Übung 3.1.4 Verwenden der show-befehle des Routers Lernziel Kennenlernen der grundlegenden show-befehle des Routers Abrufen der aktuellen Konfiguration des Routers aus dem RAM mit show running-config Anzeigen
Mehr05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur
0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf
MehrPropädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik
MehrWertebereich und Genauigkeit der Zahlendarstellung
Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden
MehrMSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1
MSP 430 Mixed Signal Microcontroller MSP 430 Einführung Der Mikrocontrollers MSP430 von Texas Instruments Das Entwicklungsboard MSP-STK 430A320 http://www.ti.com Texas Instruments 1 Texas Instruments 2
MehrObjektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen
Agenda für heute, 1. April, 2010 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative
Mehrb) Gegeben sei folgende Enumeration: enum SPRACHE {Deutsch, Englisch, Russisch};
Aufgabe 1: (19 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort
MehrZwei Möglichkeiten die TLB zu aktualisieren
Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt
MehrEarly first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement
Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement Max Haslbeck Technische Universität München 20.01.2015 Zusammenfassung 1 Einleitung 2 Begriffsklärung Heutzutage
MehrGrundlagen der Anwendung und Programmierung des ESP8266. Dennis Hoffmann Mittwoch, :30 Uhr Schulungsraum SW23/147
Grundlagen der Anwendung und Programmierung des ESP8266 Dennis Hoffmann Mittwoch, 11.01.2017 08:30 Uhr Schulungsraum SW23/147 Inhalt Mikrocontroller ESP8266 Entwicklungsumgebung Firmware Beispiele Projekte
MehrEchtzeitbetriebssysteme
Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom
MehrKarlsruher Institut für Technologie
Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt
MehrLCD-Ansteuerung mit MikroForth
Das Attiny-Projekt LCD-Ansteuerung mit MikroForth 1 LCD-Ansteuerung mit MikroForth Zu unserer Attiny-Platine wird standardmäßig ein kleines LCD von der Firma Pollin beigelegt. Dieses ist auf eine kleine
Mehr6. Zeiger Allgemeines Definition eines Zeigers
6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.
MehrAndroid DER SCHNELLE UND EINFACHE EINSTIEG IN DIE PROGRAMMIERUNG UND ENTWICKLUNGSUMGEBUNG. EXTRA: E-Book inside. dirk LOUIS peter MÜLLER. 2.
dirk LOUIS peter MÜLLER 2. Auflage Android DER SCHNELLE UND EINFACHE EINSTIEG IN DIE PROGRAMMIERUNG UND ENTWICKLUNGSUMGEBUNG EXTRA: E-Book inside Im Internet: Beispiele, Tutorials, JRE und Android-Bundle
MehrBetriebssysteme Teil 3: Laufzeitsystem für Programme
Betriebssysteme Teil 3: Laufzeitsystem für Programme 23.10.15 1 Literatur [3-1] Stack: http://fbim.fh-regensburg.de/~hab39652/pg1/skriptum/ ausdruecke/maschinenmodell.html [3-2] https://de.wikipedia.org/wiki/dynamischer_speicher
MehrEinführung in die Programmierung zusammengesetzte Datentypen, dynamischer Speicher
Einführung in die Programmierung zusammengesetzte Datentypen, dynamischer Speicher Arvid Terzibaschian 1 Zusammengesetzte Datentypen 2 Wozu zusammengesetzte Datentypen? Anforderung: Sie sollen ein Kundenverzeichnis
MehrDekodierung eines Funkfernschreibersignals mithilfe der Zynq-Plattform. Lehrstuhlseminar Benjamin Koch
Dekodierung eines Funkfernschreibersignals mithilfe der Zynq-Plattform Lehrstuhlseminar Benjamin Koch Dresden, 27.08.2015 Gliederung Aufgabenstellung Funkfernschreiben (RTTY) Aufbau des Systems Fazit und
MehrJust-In-Time-Compiler (2)
Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler
MehrAufbau und Funktionsweise eines Computers
Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Hardware Prozessor (CPU)
MehrMaschinencode Dateiformat und Stackframes
Maschinencode Dateiformat und Stackframes Proseminar C-Programmierung - Grundlagen und Konzepte Julian M. Kunkel julian.martin.kunkel@informatik.uni-hamburg.de Wissenschaftliches Rechnen Fachbereich Informatik
MehrVom Web ins IoT: Schnelleinstieg in Tooling und Entwicklung
Vom Web ins IoT: Schnelleinstieg in Tooling und Entwicklung Webinar 11.05.2017 Andreas Schmidt @aschmidt75 www.cassini.ag www.thingforward.io @thingforward 2 11.05.17 Agenda Devices für das Internet der
MehrAufbau eines modernen Betriebssystems (Windows NT 5.0)
Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung
MehrErzeugen von PWM-Signalen mit dem Atmel AVR-Mikrocontroller
Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung/Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier Erzeugen von PWM-Signalen mit dem
MehrEin-Bit-Rechner 15. Mikrorechentechnik-Grundlagen 29
Ein-Bit-Rechner 15 1.1 Rechenwerk 15 1.1.1 Register und Takt 16 1.1.2 Zwischenspeicher 17 1.1.3 Native und emulierte Datenmanipulationsbefehle 18 1.2 Steuerwerk 20 1.2.1 Programmsteuerbefehle 21 1.2.2
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
MehrM I K R O P R O Z E SS O R P R A K T I K U M SS2018. Termin1. C-Programmierung für eingebettete Systeme
Mikroprozessorpraktikum Termin1 SS2018 Technische Fachgruppe C-Programmierung für eingebettete M I K R O P R O Z E SS O R P R A K T I K U M SS2018 Termin1 C-Programmierung für eingebettete Name, Vorname
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
MehrBedienungsanleitung für das MEEM-Netzwerk
Bedienungsanleitung für das MEEM-Netzwerk 1. Über das MEEM-Netzwerk Bevor Sie diese Anleitung lesen, sollten Sie bitte die Bedienungsanleitungen für MEEM-Kabel und Handy-App für ios oder Android sowie
Mehr8. Beschreibung des Prozessors MSP 430
8. Beschreibung des Prozessors MSP 430 8.1 Die Eigenschaften des MSP 430 8.2 Die Register des MSP 430 8.3 Der Aufbau des Speichers 8.4 Interrupts 8.5 Der Watchdog Programmierkurs II Wolfgang Effelsberg
MehrU4 Grundlagen der C-Programmierung
U4 Grundlagen der C-Programmierung U4 Grundlagen der C-Programmierung Makros Enums und Typedefs Deklaration und Definition Compileroptimierungen U4-1 Makros U4-1 Makros Makros sind Textersetzungen, welche
MehrMilestone Systems. Kurzanleitung zum Aktivieren von Lizenzen für XProtect Professional VMS -Produkte
Milestone Systems Kurzanleitung zum Aktivieren von Lizenzen für XProtect Professional VMS -Produkte XProtect Professional 2016 R3, XProtect Express 2016 R3, XProtect Essential 2016 R3 Vor Beginn In dieser
MehrPraktikum Mikrocomputertechnik. Anleitung
Praktikum Mikrocomputertechnik Anleitung Im Praktikum wird der Mikrocontroller 68332 von Motorola verwendet. Dieser Mikrocontroller besteht aus einer 32-Bit CPU und integrierten Peripheriebausteinen (ser.
MehrInstallation & Usage. Version 1.0. estickflashtool
Installation & Usage Version 1.0 estickflashtool Allgemeines Der estick ist ein USB basiertes Entwicklungs-Board für Atmel AT90USB162 Mikro-controller. Einfache, anschauliche Anwendungen und Beispiele
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
MehrThreads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger
Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes
MehrAssembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrEinstieg in die Informatik mit Java
1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung
Mehr7. Organisation von Informationen
Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme
MehrEinführung zu den Übungen aus Softwareentwicklung 1
Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches
Mehr32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule
32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag Inhalt Vorgeschichte Was wurde erreicht Hardware Energy Micro Microcontroller µctag Plattform EPC Gen2 Tag Standard Protokoll-Vorgaben
MehrEine praktische Einführung in die Programmierung mit der Programmiersprache C
Eine praktische Einführung in die Programmierung mit der Programmiersprache C www.c-howto.de C-HowTo www.c-howto.de Inhaltsverzeichnis 1 Einführung.. 10 1:1 Wozu Programmieren? 10 1.2 Was ist ein Programm?
MehrEinstieg in die Informatik mit Java
1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von
MehrEmbedded Linux für SoC Applikationen
Mitglied der Helmholtz-Gemeinschaft Embedded Linux für SoC Applikationen Beispielkonfiguration Virtex4 FX12 23. März 2009 Georg Schardt Embedded Linux für SoC Applikationen Modulaufbau Entwicklungsumgebung
Mehr