Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Microcontroller Dipl.-Inf. Swen Habenberger 28.01.2009.

Ähnliche Präsentationen


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

1 Microcontroller Dipl.-Inf. Swen Habenberger

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

3 Microcontroller Struktur

4 Microcontroller 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

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

6 Microcontroller 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

7 Microcontroller 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

8 Microcontroller 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

9 Microcontroller Fragen?

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

11 Microcontroller Flip-Flops

12 Microcontroller RS-Flip-Flop Taktgesteuert

13 Microcontroller 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

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

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

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

17 Microcontroller 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

18 Microcontroller Ram als Bitmatrix

19 Microcontroller Gleicher Speicher / Unterschiedliche Anordnung

20 Microcontroller Mbit Speicherchip

21 Microcontroller 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

22 Microcontroller 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

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

24 Microcontroller 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

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

26 Microcontroller 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

27 Microcontroller 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

28 Microcontroller Fragen?

29 Microcontroller SDRAM am Microcontroller

30 Microcontroller Mehrere Speicherbänke

31 Microcontroller Schematischer Aufbau der Bänke

32 Microcontroller Adressierung von Speicher

33 Microcontroller 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

34 Microcontroller Fragen?

35 Microcontroller 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)

36 Microcontroller Umsetzung von Virtuellem Speicher

37 Microcontroller MemoryMapping

38 Microcontroller 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

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

40 Microcontroller 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

41 Microcontroller 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

42 Microcontroller Segmentierung

43 Microcontroller 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

44 Microcontroller Beispiel Ersetzung von Segmenten

45 Microcontroller Fragen?

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

47 Microcontroller 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

48 Microcontroller Pipeline vs. Keine Pipeline

49 Microcontroller Pipelinestruktur (5-Stufen)

50 Microcontroller Parallele Pipeline

51 Microcontroller Doppelte Ausführungseinheit

52 Microcontroller Stufige Pipelines

53 Microcontroller 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

54 Microcontroller Bit Prediction

55 Microcontroller Fragen?


Herunterladen ppt "Microcontroller Dipl.-Inf. Swen Habenberger 28.01.2009."

Ähnliche Präsentationen


Google-Anzeigen