Anwendung von Microcontollern Dipl.-Inf Swen Habenberger 19.01.2009.
-
Upload
eberhard-strang -
Category
Documents
-
view
105 -
download
2
Transcript of Anwendung von Microcontollern Dipl.-Inf Swen Habenberger 19.01.2009.
Anwendung von Microcontollern
Dipl.-Inf Swen Habenberger
19.01.2009
Unterlagen
Die Unterlagen zur Vorlesung kann man unter http://www.habenberger-soft.de herunterladen
Aufbau Vorlesungstag
Erster Teil: Theorie zum AP7 Zweiter Teil: Programmierung in C des
AP7
Erster Teil: Grundlagen AP7
Was bedeutet die Werbeaussage:210 DMIPS Durchsatz bei 150 MHz
150 MHz = Taktfrequenz Prozessor DMIPS = Dhrystone MIPS
MIPS = Millionen Instruktionen pro Sekunde
Benchmark
Standardisierter Leistungsvergleich von ProzessorenMIP - Meaningless Indicator of Performance Werbetechnischer Blödsinn
Meist Vergleich mit einer Referenzmaschine
Die relevante Leistung hängt von der tatsächlichen Anwendung ab
Dhrystone Test
Anfang der 80er Jahre entwickelt Referenzmaschine ist VAX11/780
1 VAXMIP = 0,5 MIPSDhrystone Leistung: 1757 pro Sekunde
Wieviel MIPS sind 210 DMIPS?210 * 0,5 = 105 MIPS210 * 1757 * 0,5 = 184485 Dhrystones
Dhrystone Test
Test wurde zunächst in Fortran und Cobol entwickelt
Später dann nach Ada portiert Heute ist C der Standard Bestandteile:
Einfache Integer Operationen Stringoperationen Logische Entscheidungen Speicherzugriffe
Whetstone Test
Hauptsächlich Gleitkomma-Arithmetik Zusätzlich Zugriffe auf Arrays Einfache Integer-Arithmetik
Zunächst in Algol, später C und Fortran
Linpack
TOP500.org listet die schnellsten bekannten Rechner der Welt
Vergleich anhand von MFLOPsMFLOP: Million Floating Point Operations per
Second
Benchmark
Optimierte Compiler für das jeweilige System verbessern die PerformanceFast jeder Hersteller bietet optimierte
Varianten für seinen Prozessor an Schlechte Programmierung verlangsamt
die PerformanceDa ist Programmiererfahrung und Kenntnisse
des Systems gefragt
Performance
Prozessor besitzt keine Gleitkommaeinheit bzw. numerischen CoProzessorJede Gleitkommaoperation muss von der
CPU ausgeführt werdenMathematische Berechnung mit
Gleitkommazahlen führen zu einem dramatischen Geschwindigkeitseinbruch
32bit RISC
Was bedeutet die Werbeaussage32-bit load/store RISC architecture
RISC: Reduced Instruction Set Computing 32-Bit: ALU kann 4 Bytes gleichzeitig
verarbeiten
RISC vs. CISC
Complex Instruction Set Computer Die meisten moderen Desktop CPUs sind CISC
Prozessoren mit RISC-Coprozessoren und Zerlegung von CISC-Befehlen in RISC-Befehle (Pentium)
Reduced Instruction Set Computer Die meisten embedded-Systeme sind RISC-
Prozessoren Problemstellung zum Architekturdesign:
Welche Maschinenbefehle sollen implementiert sein? Wie viele Register stehen zur Verfügung
Überlegungen Maschinencode
Jeder Befehl braucht einen eindeutigen Operationcode (Opcode)Einfache Prozessoren besitzen meist schon
50-60 Befehle (6 Bit)15 Register entsprechen 4 Bits
Zugrunde liegende Architektur1, 2 oder 3 Adressmaschinen
Adressierungsart
1 –AdressmaschineDer Akkumulator wird immer verwendetMov R1 (Lädt Register 1 in den Akku)Add R2 (Addiert Register 2 zum Wert des
Akku)Sto R1 (Speichert das Ergebnis in Register 1)
Adressierungsart
2 –AdressmaschineMov R1, Akku (Lädt Register 1 in den Akku)Add R2, Akku (Addiert Register 2 zum Wert
des Akku)Sto R1, Akku (Speichert das Ergebnis in
Register 1)Add R2, R1 (R1=R1+R2) oder R2 = R1 + R2
Adressierungsart
3 –AdressmaschineAdd R0, R1, R2 R0 = R1 + R2 oder R0 + R1 = R2
32 Bit
Byte = 8 Bit Upper Halfword = 16 Bit (2 höchtwertigen Bytes) Lower Halfword = 16 Bit (2 niederwertigsten
Bytes) Word = 32 Bit
Unterscheidung Big-Endian und Little-Endian
Operationsmodus
Direkt / Unmittelbar Register Indirekt Indiziert
Die Anzahl der Bits und der Operationsmodus erfordern weitere bits
Befehlssatz
Opcode Operationsmodus Operanden
CISC
Unterschiedliche OpcodelängeWichtige Befehle haben Länge von 2 ByteUnwichtige Befehle haben Länge 3 Byte
Extrabefehl zum erkennen von Befehl mit 3 Byte notwendig
Dekodierprozess langwierigKeine 3-Register Architekturen
Register sind teuer
Microcode
Hardwareinterpreter zwischen Dekoder und Ausführeinheit
Ein Befehl wird ggf. in kleine Einzelbefehle zerlegtDekrementiere Register und Springe falls
Ergbnis 0 istErfordert 1-10 Takte je nach komplexität des
Befehls
Nutzung von Registern
Manche Befehle ermöglichen die implizite Nutzung von RegisternEinsparung von Bits beim Befehlssatz in dem
bspw. Bei manchen Befehlen mit dem Akku gerechnet wird
RISC
Nur einfache Befehle Gleichlange Opcode für alle Befehle
Ermöglicht den Einsatz von Pipelines, da Bytes 2-4 immer mit Operanden versehen sind
Mehr Register Kein Hardwareinterpreter erforderlich
Architektur AP7
Vom Ansatz RISC-Architektur Hat aber auch CISC-Befehle
SIMD-BefehleBefehle für CoProzessor
Je mehr Funktionalität auf dem Chip integriert ist, desto eher sind auch Ansätze von CISC zu erkennen
Fragen?
Von-Neumann Architektur
Harvard-Architektur
Harvard Architektur
Befehlsspeicher ist physisch vom Datenspeicher getrennt
Vorteil: Daten können parallel zu den Befehlen geschrieben
und gelesen werden Keine Überschreibung des Programmspeichers durch
Daten Nachteil: Ungenutzter Programmspeicher kann
nicht genutzt werden
Vorteile / Nachteile
Befehlswortbreite kann unabhängig von der Datenwortbreite gewählt werden
Unterschiedliche Adressbreiche für Befehle und Daten erfordern spezielle Compiler und Programmieraufwand
Orthogonaler Instruction Set
Jeder Befehl kann jede Adressierungsart des Prozessors verwenden
Fast orthogonal:Die meisten Befehle können alle
Adressierungsarten benutzen
AP7
Hoher Datendurchsatz dank 1 Zyklus-Zugriff auf SRAM und FLASH