Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dipl.-Inf. Swen Habenberger

Ähnliche Präsentationen


Präsentation zum Thema: "Dipl.-Inf. Swen Habenberger"—  Präsentation transkript:

1 Dipl.-Inf. Swen Habenberger 28.01.2009
Microcontroller Dipl.-Inf. Swen Habenberger

2 Aufbau Microcontroller
Digital logische Ebene Mikroarchitekturebene Instruktions Set Architekture (ISA) Assemblerebene Microcontroller

3 Struktur Microcontroller

4 Digitale logische Ebene
NAND- und NOR-Gates bilden die kleinsten Einheiten in der Digitaltechnik Multiplexer bilden aus mehreren Dateneingangs- und Steuersignalen ein Datenausgangssignal Dekodierer: Bildet aus z.B. 3 Eingangssignalen bis zu 8 Ausgangssignale Microcontroller

5 Digitale logsiche Ebene
Komperatoren vergleichen Eingangssignale miteinander Programmierbare Logische Einheiten (PGA) können je nach Anwendung individuell angepasst werden Microcontroller

6 Mikroarchitekturebene
Die Mikroarchitekturebene hat die Aufgabe die ISA-Schicht zu implementieren Ziel: Schnelle Ausführung der Befehle des ISA Muss nicht immer vorhanden sein Bei RISC nicht zwangsläufig erforderlich Bei CISC erforderlich Microcontroller

7 ISA Wird häufig mit der Assemblerebene gleich gesetzt
ISA ist die Schnittstelle zwischen Hard- und Software Maschinenbefehle werden direkt interpretiert Es wird festgelegt, welche Maschinenbefehle (Maschinencode) in der Hardware direkt ansprechbar sind Microcontroller

8 Assemblerebene Aufbauend auf der ISA wird eine Programmiersprache entwickelt mit der sich ein Microcontroller programmieren lässt Diese Programmiersprache erzeugt mit Hilfe eines Compilers aus Assemblercode den Maschinencode Microcontroller

9 Fragen? Microcontroller

10 Speicheraufbau Einteilung in
Register ROM RAM Realisierung mit Latches und Flip-Flop Schaltungen (Einfache 1bit-Speicher) Microcontroller

11 Flip-Flops Microcontroller

12 RS-Flip-Flop Taktgesteuert
Microcontroller

13 Register Sind als Flip-Flop-Schaltungen realisiert
Sitzen direkt an der CPU Können direkt beschrieben werden ohne Einsatz eines Buses Unterscheidung in Sichtbare: Stehen dem Programmierer zur Verfügung Unsichtbare: Nur interne Verwendung der CPU Microcontroller

14 Register Allgemeine Register Spezielle Register
Dienen zur Speicherung von Zwischenergebnissen Spezielle Register Programmpointer, Stackpointer, IO-Register, Statusregister Meist nur lesbar Microcontroller

15 RAM Eine Unterteilung des RAM kann zunächst in erfolgen
Statischer RAM (SRAM) Dynamischer RAM (DRAM) erfolgen Microcontroller

16 SRAM Statischer RAM wird durch FLIP-FLOPs realisiert.
Flip-Flops speichern den Wert solange Strom fließt. Schnelle Zugriffszeiten im Nanosekundenbereich Microcontroller

17 Dynamisches Ram Jede Zelle (Bit) wird durch einen Transistor und Kondensator angesprochen Kriechströme entladen Kondensator Regelmässiges Refresh (alle paar Millisekunden) erforderlich Komplexere Ansteuerung als bei statischem RAM erforderlich Langsamerer Zugriff (mehrere Nanosekunden) Größerer Speicherumfang wie bei SRAM Microcontroller

18 Ram als Bitmatrix Microcontroller

19 Gleicher Speicher / Unterschiedliche Anordnung
Microcontroller

20 4 Mbit Speicherchip Microcontroller

21 Signale beim DRAM Chip Select (CS): Wählt den entsprechenden Speicherchip aus Write Enable (WE): Ermöglicht das Schreiben eines Bits Output Enable (OE): Ermöglicht das Lesen eines Bits Microcontroller

22 Auslesen eines Bits Zunächst liegt die Reihen-Adresse an und Row Adress Strobe (RAS) ist gesetzt Dann wird die Spalten-Adresse gesetzt und das Column Adress Strobe (CAS) ist gesetzt RAS und CAS Signal wird zurückgesetzt Dies bedeutet man braucht zwei Taktzyklen zum auslesen eines Bits Microcontroller

23 Unterteilung DRAM Fast Page Mode - DRAM EDO-RAM SDRAM DDRAM 28.1.2009
Microcontroller

24 Fast Page Mode - DRAM Es ist sehr wahrscheinlich ist, dass das nächste Bit auch gelesen / gesetzt wird. Daher bleibt das RAS-Signal gesetzt Diese Zeile nennt man Page Das CAS-Signal wird jedesmal deaktiviert und wieder gesetzt Zugriffszeit: ca. 40ns Microcontroller

25 EDO-RAM Weiterentwicklung von EDO-RAM
Der Ausgangswert bleibt erhalten und wird erst bei einem neuen CAS zurückgesetzt Zugriffszeit 25 ns Microcontroller

26 SDRAM Im Gegensatz zu EDO und FPM ist SDRAM synchron, d.h. Adress- und Datenleitungen sind durch einen gemeinsamen Taktgeber gesteuert Zugriffszeiten: 7-10 ns Microcontroller

27 DDR-SDRAM Double-Data-Rate Synchronous Dynamic Random Access Memory:
Es wird nicht nur bei einem steigenden Signal gelesen/geschrieben sondern auch bei einem fallenden Signal Microcontroller

28 Fragen? Microcontroller

29 SDRAM am Microcontroller
Microcontroller

30 Mehrere Speicherbänke
Microcontroller

31 Schematischer Aufbau der Bänke
Microcontroller

32 Adressierung von Speicher
Microcontroller

33 Eigenschaften SDRAM-Controller
Pro Bank kann eine unterschiedliche Reihe aktiv sein D.h. Daten und Programmcode sollten auf verschiedenen Bänken sein Burst-Mode wird in der Regel unterstützt, D.h. es wird ständig automatisch das nächste Bit gesendet Microcontroller

34 Fragen? Microcontroller

35 Virtueller Speicher 32 Bit-Microcontroller haben in der Regel auch eine Memory-Management-Einheit (MMU) Die MMU ermöglicht den Einsatz von virtuellem Speicher Es ist möglich mehr Speicher zu nutzen als physikalisch vorhanden ist Z.B. bei 32 Bit sind 4 GByte adressierbar Mehrere Prozesse können gleichzeitig laufen durch einen unterschiedlichen Adressbereich (Multitasking) Microcontroller

36 Umsetzung von Virtuellem Speicher
Microcontroller

37 MemoryMapping Microcontroller

38 Memory Management Unit
Die Memory Managment Unit besteht aus einem X-Bit Eingaberegister und einem Y-Bit Ausgaberegister und regelt das Abbilden von virtuellen Speicheradressen in den pyhsikalischen Adressraum Unterscheidung nach Funktion in Segmente Page Microcontroller

39 Paging Der logische Adressraum ist in gleichgroße Seiten eingeteilt.
Phsikalische Adresse 0 entspricht hier Logisch 4096 Microcontroller

40 Page Miss / Fault Bei Zugriff auf Speicherstelle 8192 würde ein Page Miss ausgelöst werden Inhalt des Arbeitsspeichers wird auf „Platte“ geschrieben Daten von 8192 bis werden auf „Platte“ gesucht und geladen 8192 ist jetzt Adresse 0 Programm wird fortgesetzt Microcontroller

41 Translocation Lookaside Buffer
Der TLB kann mehrere zuletzt benutzte Seiten im Speicher halten um Zugriffszeiten zu erniderigen Ersetzungstrategien: FIFO: First in First Out LRU: Least Recently Used Microcontroller

42 Segmentierung Microcontroller

43 Segmentierung Bei der Segmentierung werden mehrere Adressräume gebildet. Diese Adressräume können unterschiedlich groß sein Möglicherweise muss auf einzelne Segmente wieder Paging angewendet werden Ersetzungsstrategie: Best Fit First Fit Microcontroller

44 Beispiel Ersetzung von Segmenten
Microcontroller

45 Fragen? Microcontroller

46 Pipelines Durch Einsatz von Pipelines wird Öl transportiert
Aber diese Pipeline hat nichts mit Computern zu tun Unsere Pipeline befördert schnell Daten Microcontroller

47 Pipeline Wenn die Daten von einander unabhängig sind, ist eine Pipeline hervorragend. Bei Datenabhängigkeit muss der Programmierer (Oder Compiler) aufpassen, dass die Daten sinnvoll in die Pipeline gelangen Microcontroller

48 Pipeline vs. Keine Pipeline
Microcontroller

49 Pipelinestruktur (5-Stufen)
Microcontroller

50 Parallele Pipeline Microcontroller

51 Doppelte Ausführungseinheit
Microcontroller

52 7-Stufige Pipelines Microcontroller

53 Sprungvorhersage / Branch Prediction
Oft werden Anweisungen in einer Schleife ausgeführt Die Anweisung bleibt die gleiche, nur die Daten ändern sich Erst bei der Abbruchbedingung wird die nächste Anweisung geladen Sprungvorhersage ist wichtig Microcontroller

54 2-Bit Prediction Microcontroller

55 Fragen? Microcontroller


Herunterladen ppt "Dipl.-Inf. Swen Habenberger"

Ähnliche Präsentationen


Google-Anzeigen