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 28.01.2009

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

3 Microcontroller3 28.1.2009 Struktur

4 Microcontroller4 28.1.2009 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 Microcontroller5 28.1.2009 Digitale logsiche Ebene Komperatoren vergleichen Eingangssignale miteinander Programmierbare Logische Einheiten (PGA) können je nach Anwendung individuell angepasst werden

6 Microcontroller6 28.1.2009 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 Microcontroller7 28.1.2009 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 Microcontroller8 28.1.2009 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 Microcontroller9 28.1.2009 Fragen?

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

11 Microcontroller11 28.1.2009 Flip-Flops

12 Microcontroller12 28.1.2009 RS-Flip-Flop Taktgesteuert

13 Microcontroller13 28.1.2009 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 Microcontroller14 28.1.2009 Register Allgemeine Register Dienen zur Speicherung von Zwischenergebnissen Spezielle Register Programmpointer, Stackpointer, IO-Register, Statusregister Meist nur lesbar

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

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

17 Microcontroller17 28.1.2009 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 Microcontroller18 28.1.2009 Ram als Bitmatrix

19 Microcontroller19 28.1.2009 Gleicher Speicher / Unterschiedliche Anordnung

20 Microcontroller20 28.1.2009 4 Mbit Speicherchip

21 Microcontroller21 28.1.2009 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 Microcontroller22 28.1.2009 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 Microcontroller23 28.1.2009 Unterteilung DRAM Fast Page Mode - DRAM EDO-RAM SDRAM DDRAM

24 Microcontroller24 28.1.2009 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 Microcontroller25 28.1.2009 EDO-RAM Weiterentwicklung von EDO-RAM Der Ausgangswert bleibt erhalten und wird erst bei einem neuen CAS zurückgesetzt Zugriffszeit 25 ns

26 Microcontroller26 28.1.2009 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 Microcontroller27 28.1.2009 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 Microcontroller28 28.1.2009 Fragen?

29 Microcontroller29 28.1.2009 SDRAM am Microcontroller

30 Microcontroller30 28.1.2009 Mehrere Speicherbänke

31 Microcontroller31 28.1.2009 Schematischer Aufbau der Bänke

32 Microcontroller32 28.1.2009 Adressierung von Speicher

33 Microcontroller33 28.1.2009 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 Microcontroller34 28.1.2009 Fragen?

35 Microcontroller35 28.1.2009 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 Microcontroller36 28.1.2009 Umsetzung von Virtuellem Speicher

37 Microcontroller37 28.1.2009 MemoryMapping

38 Microcontroller38 28.1.2009 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 Microcontroller39 28.1.2009 Paging Der logische Adressraum ist in gleichgroße Seiten eingeteilt. Phsikalische Adresse 0 entspricht hier Logisch 4096

40 Microcontroller40 28.1.2009 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 12887 werden auf Platte gesucht und geladen 8192 ist jetzt Adresse 0 Programm wird fortgesetzt

41 Microcontroller41 28.1.2009 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 Microcontroller42 28.1.2009 Segmentierung

43 Microcontroller43 28.1.2009 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 Microcontroller44 28.1.2009 Beispiel Ersetzung von Segmenten

45 Microcontroller45 28.1.2009 Fragen?

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

47 Microcontroller47 28.1.2009 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 Microcontroller48 28.1.2009 Pipeline vs. Keine Pipeline

49 Microcontroller49 28.1.2009 Pipelinestruktur (5-Stufen)

50 Microcontroller50 28.1.2009 Parallele Pipeline

51 Microcontroller51 28.1.2009 Doppelte Ausführungseinheit

52 Microcontroller52 28.1.2009 7-Stufige Pipelines

53 Microcontroller53 28.1.2009 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 Microcontroller54 28.1.2009 2-Bit Prediction

55 Microcontroller55 28.1.2009 Fragen?


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

Ähnliche Präsentationen


Google-Anzeigen