Anwendung von Microcontollern Dipl.-Inf Swen Habenberger 19.01.2009

Preview:

Citation preview

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

Recommended