Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Anwendung von Microcontollern Dipl.-Inf Swen Habenberger 19.01.2009.

Ähnliche Präsentationen


Präsentation zum Thema: "Anwendung von Microcontollern Dipl.-Inf Swen Habenberger 19.01.2009."—  Präsentation transkript:

1 Anwendung von Microcontollern Dipl.-Inf Swen Habenberger

2 Unterlagen Die Unterlagen zur Vorlesung kann man unter herunterladenhttp://www.habenberger-soft.de

3 Aufbau Vorlesungstag Erster Teil: Theorie zum AP7 Zweiter Teil: Programmierung in C des AP7

4 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

5 Benchmark Standardisierter Leistungsvergleich von Prozessoren MIP - Meaningless Indicator of Performance Werbetechnischer Blödsinn Meist Vergleich mit einer Referenzmaschine Die relevante Leistung hängt von der tatsächlichen Anwendung ab

6 Dhrystone Test Anfang der 80er Jahre entwickelt Referenzmaschine ist VAX11/780 1 VAXMIP = 0,5 MIPS Dhrystone Leistung: 1757 pro Sekunde Wieviel MIPS sind 210 DMIPS? 210 * 0,5 = 105 MIPS 210 * 1757 * 0,5 = Dhrystones

7 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

8 Whetstone Test Hauptsächlich Gleitkomma-Arithmetik Zusätzlich Zugriffe auf Arrays Einfache Integer-Arithmetik Zunächst in Algol, später C und Fortran

9 Linpack TOP500.org listet die schnellsten bekannten Rechner der Welt Vergleich anhand von MFLOPs MFLOP: Million Floating Point Operations per Second

10 Benchmark Optimierte Compiler für das jeweilige System verbessern die Performance Fast jeder Hersteller bietet optimierte Varianten für seinen Prozessor an Schlechte Programmierung verlangsamt die Performance Da ist Programmiererfahrung und Kenntnisse des Systems gefragt

11 Performance Prozessor besitzt keine Gleitkommaeinheit bzw. numerischen CoProzessor Jede Gleitkommaoperation muss von der CPU ausgeführt werden Mathematische Berechnung mit Gleitkommazahlen führen zu einem dramatischen Geschwindigkeitseinbruch

12 32bit RISC Was bedeutet die Werbeaussage 32-bit load/store RISC architecture RISC: Reduced Instruction Set Computing 32-Bit: ALU kann 4 Bytes gleichzeitig verarbeiten

13 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

14 Überlegungen Maschinencode Jeder Befehl braucht einen eindeutigen Operationcode (Opcode) Einfache Prozessoren besitzen meist schon Befehle (6 Bit) 15 Register entsprechen 4 Bits Zugrunde liegende Architektur 1, 2 oder 3 Adressmaschinen

15 Adressierungsart 1 –Adressmaschine Der Akkumulator wird immer verwendet Mov 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)

16 Adressierungsart 2 –Adressmaschine Mov 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

17 Adressierungsart 3 –Adressmaschine Add R0, R1, R2 R0 = R1 + R2 oder R0 + R1 = R2

18 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

19 Operationsmodus Direkt / Unmittelbar Register Indirekt Indiziert Die Anzahl der Bits und der Operationsmodus erfordern weitere bits

20 Befehlssatz Opcode Operationsmodus Operanden

21 CISC Unterschiedliche Opcodelänge Wichtige Befehle haben Länge von 2 Byte Unwichtige Befehle haben Länge 3 Byte Extrabefehl zum erkennen von Befehl mit 3 Byte notwendig Dekodierprozess langwierig Keine 3-Register Architekturen Register sind teuer

22 Microcode Hardwareinterpreter zwischen Dekoder und Ausführeinheit Ein Befehl wird ggf. in kleine Einzelbefehle zerlegt Dekrementiere Register und Springe falls Ergbnis 0 ist Erfordert 1-10 Takte je nach komplexität des Befehls

23 Nutzung von Registern Manche Befehle ermöglichen die implizite Nutzung von Registern Einsparung von Bits beim Befehlssatz in dem bspw. Bei manchen Befehlen mit dem Akku gerechnet wird

24 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

25 Architektur AP7 Vom Ansatz RISC-Architektur Hat aber auch CISC-Befehle SIMD-Befehle Befehle für CoProzessor Je mehr Funktionalität auf dem Chip integriert ist, desto eher sind auch Ansätze von CISC zu erkennen

26 Fragen?

27

28 Von-Neumann Architektur

29 Harvard-Architektur

30 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

31 Vorteile / Nachteile Befehlswortbreite kann unabhängig von der Datenwortbreite gewählt werden Unterschiedliche Adressbreiche für Befehle und Daten erfordern spezielle Compiler und Programmieraufwand

32 Orthogonaler Instruction Set Jeder Befehl kann jede Adressierungsart des Prozessors verwenden Fast orthogonal: Die meisten Befehle können alle Adressierungsarten benutzen

33 AP7 Hoher Datendurchsatz dank 1 Zyklus- Zugriff auf SRAM und FLASH


Herunterladen ppt "Anwendung von Microcontollern Dipl.-Inf Swen Habenberger 19.01.2009."

Ähnliche Präsentationen


Google-Anzeigen