Präsentation herunterladen
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.