Mikrocomputertechnik
Vorstellung: Prof. Laura Maria Comella
Literatur:
“Embedded Programming: Basiswissen und Anwendungen“, Prof.
Reiner Kriesten
Taschenbuch, Oldenbourg, ISBN-10: 3486712845
„Mikroprozessortechnik“, Klaus Wüst, Vieweg+Teubner
Thema: Grundlagen
➢ Informationseinheiten
➢ Digitaltechnikgrundlagen
➢ Halbleiterspeicher
➢ Rechnerarchitektur
Warum Mikrocomputertechnik ???
Folie 2 22.09.2023, Prof. L. M. Comella, übernommen und modifiziert aus Vorlagen von Prof. J. Wietzke
Warum Mikrocomputertechnik ???
• Allgegenwärtigkeit im modernen Leben
• Kreativität und Innovation
• Auswirkungsstarke Projekte
• Beitrag zu nachhaltigen Lösungen
Folie 3 22.09.2023, Prof. L. M. Comella, übernommen und modifiziert aus Vorlagen von Prof. J. Wietzke
Zwie Beispiel von meinen Projekten
Comella, Laura Maria, et al. "Estimation of Leaf Area Index with a Multi-Channel Spectral Micro-
Sensor for Wireless Sensing Networks." Sensors 22.13 (2022): 5048.
Manzouri, Farrokh, et al. "A comparison of
energy-efficient seizure detectors for
implantable neurostimulation devices."
Frontiers in Neurology 12 (2022): 703797.
Folie 4 22.09.2023, Prof. L. M. Comella, übernommen und modifiziert aus Vorlagen von Prof. J. Wietzke
Von-Neumann-Architektur
Die Von-Neumann-Architektur wurde vom österreichisch-ungarischen
Mathematiker János von Neumann zu Margitta im Jahr 1945 zum ersten mal
vorgestellt. Die meisten der heutigen Rechnersysteme orientieren sich an der Von-
Neumann-Architektur.
Der Von-Neumann-Rechner besteht aus folgenden fünf Komponenten:
➢ Rechenwerk= ALU: Übernimmt Rechen-
Prozessor und logische Operationen.
➢ Steuerwerk: Interpretiert die Befehle
Steuerwerk Rechenwerk eines Programms und steuert die
Befehlsabfolge.
➢ Speicher: Speichert sowohl
Programmcode wie auch Daten.
Bussystem
➢ Ein-/Ausgabesystem: Steuert die Ein- und
Ausgabe von Daten.
Ein-/Ausgabe-
Speicher ➢Verbindungselement (BUS): Dient zum
system Datentransport zwischen den
Komponenten Prozessor, Speicher und
Ein-/Ausgabesystem.
Folie 5 22.09.2023, Prof. L. M. Comella, übernommen und modifiziert aus Vorlagen von Prof. J. Wietzke
Alles dreht sich um Zahlen
➢ Computer können keinen Text verarbeiten
➢ Alles, was verarbeitet wird, muss als Zahl dargestellt werden
➢ Buchstaben werden zu Zahlen übersetzt (zum Beispiel ASCII, American
Standard Code for Information Interchange)
Folie 6 22.09.2023, Prof. L. M. Comella, übernommen und modifiziert aus Vorlagen von Prof. J. Wietzke
Zahlendarstellungen
➢ Es gibt drei besonders häufig anzutreffende Zahlendarstellungen im
Mikrocomputerbereich:
➢ Binär
➢ 0, 1, 10, 11, 100, …
➢ Dezimal
➢ 0, 1, …, 9, 10, 11, …
➢ Hexadezimal:
➢ 0, 1, …, 9, A, … F, 10, 11, …
Folie 7
Informationseinheiten
BIT 1
NIBBLE MSB 3 0 LSB
BYTE MSB 7 0 LSB
WORD MSB 15 0 LSB
DOUBLE WORD MSB 31 0 LSB
QUADRUPLE WORD MSB 63 0 LSB
MSB = Most Significant Bit
LSB = Least Significant Bit
In diesem Zusammenhang häufig verwendete Einheitenvorsätze:
KILO (K) 1K = 103 aber 1KByte = 2 10 Byte
MEGA (M) 1M = 106 aber 1MByte = 2 20 Byte
GIGA (G) 1G = 109 aber 1GByte = 2 30 Byte
TERA (T) 1T = 1012 aber 1TByte = 2 40 Byte
Folie 8
Thema:
Digitaltechnikgrundlagen
Folie 9
Digitale Logik
➢ Vier grundlegende Operationen
➢ NOT
➢ AND
➢ OR
➢ XOR
➢ Drei „erweiterte“ Operationen
➢ NAND
➢ NOR
➢ XNOR
Folie 10
Folie 11
De-morgansche Gesetze
Bild von [Link]
➢ Gesätze
➢ 𝐴 ∙ 𝐵 = 𝐴ҧ + 𝐵ത
➢ 𝐴 + 𝐵 = 𝐴ҧ ∙ 𝐵ത
Folie 13
De-morgansche Gesetze
[Link]
Folie 14
Schaltnetze
Weitere logische Gatter
Bezeichnung Symbol Schaltfunktion
_____ _____
NAND A
& X X = A ٨ B = A · B
B
_____ _____
NOR A
≥1 X X = A ٧ B = A + B
B
EXOR/XOR A
=1 X X = A B
(Antivalenz) B
_____
EXNOR/XNOR A
=1 X X = A B
(Äquivalenz) B
Folie 15
Exercise
➢ Finden Sie den Booleschen Algebra-Ausdruck für das folgende System und Konstruieren
Sie eine Wahrheitstabelle
Folie 17
Exercise
Folie 18
Schaltnetze
Schaltnetze
➢ Schaltnetze sind schaltungstechnische Realisierungen von booleschen
Funktionen.
➢ Sie bestehen aus logischen Schaltgliedern, welche auch als Logikgatter
bezeichnet werden.
➢ Sämtliche Schaltnetze lassen sich durch die drei Grundverknüpfungen AND
(UND), OR (ODER) und NOT (NICHT) realisieren.
➢ Die Schaltfunktion X eines Schaltnetzes ist, im Gegensatz zu Schaltwerken, nur
von den momentan anliegenden Eingangsinformationen abhängig. Ein
Schaltnetz hat kein „Gedächtnis“.
Folie 19
Schaltnetze, Beispiel Multiplexer
Der Multiplexer ist ein Schalter, der
durch das Anlegen eines Steuersignals
das ausgewählte Eingangssignal auf den
Ausgang durchschaltet (wie eine
Weiche).
Folie 20
Schaltnetze ohne Gedächtnis:
Multiplexer
➢ Ein Multiplexer (kurz: MUX oder Mux) ist eine Selektionsschaltung in der analogen und digitalen
Elektronik, mit der aus einer Anzahl von Eingangssignalen eines ausgewählt und an den Ausgang
durchgeschaltet werden kann [1]
➢ Der einfachste Fall ist der 2-Eingaben-Multiplexer (auch Einfach-Multiplexer kurz „1-MUX“; siehe
Abbildung 1), der ein Steuersignal s0, 2 Eingänge e0 und e1 und einen Ausgang a hat. Liegt am
Steuersignal s0 eine 1 an, so liefert der Ausgang a das Signal, das am Eingang e1 anliegt, andernfalls das
von Eingang e0 [1]
𝑋 = 𝑆ҧ ∙ 𝐸0 + 𝑆𝐸1
[1] [Link]
Folie 21
Schaltnetze ohne gedächtnis:
demultiplexer
➢ Ein Demultiplexer oder kurz DEMUX(er) ist das Gegenstück zu einem Multiplexer. Mit dem
Demultiplexer wird ein Eingangssignal auf einen von mehreren Ausgängen geschaltet
E
S E X0 X1
Sel 0 0 0 0
X1 X0
0 1 1 0
1 0 0 0
1 1 0 1
𝑥0 = 𝑆ҧ ∙ 𝐸
𝑥1 = 𝑆 ∙ 𝐸
[Link]
Folie 22
Schaltnetze, Beispiel Halbaddierer
Halbaddierer als Beispiel für Schaltnetze:
Ein Halbaddierer kann zwei einstellige Binärzahlen addieren. Er besitzt zwei
Ausgänge, welche die linke (Carry = Übertrag) und die rechte (Sum = Summe)
Stelle des Ergebnisses widerspiegeln.
Die Wahrheitstabelle des Halbaddierers:
x y Carry c Sum s x
&
y
0 0 0 0 ≥1 s
0 1 0 1 &
1 0 0 1
1 1 1 0 & c
Aufbau des Halbaddierers mit den
c = x ٨ y Grundverknüpfungen UND, ODER, NICHT
_ _
s = (x ٨ y) ٧ (x ٨ y) x
y
=1 s
s = x y
& c
Aufbau des Halbaddierers mit XOR Gatter
Folie 23
Schaltnetze, Beispiel ALU
Jeder Computer besitzt eine sogenannte ALU (arithmetic logic unit).
Mit dieser können Additionen und Subtraktionen durchgeführt werden:
A+B, A-B, A+B+1, A+1.
Mit Modifikatoren kann ein Eingang durchgeschaltet oder alle Bits auf 0 oder 1
gesetzt werden: A, B, A=0, A=FF, B=0, B=FF
Mit Shiftern können Werte nach links oder rechts verschoben werden, siehe
nächste Seite.
Die ALU kann Bitoperationen durchführen:
A v B, A ᴧ B, ¬A, ¬B, A xor B
Neben dem Ergebnis erzeugt
die ALU üblicherweile 4 Flags:
Z Ergebnis =0
N Ergebnis negativ
C Übertrag
OV Überlauf
Folie 25
Schaltnetze und Befehle
Jeder Computer besitzt entsprechende Additions-, Subtraktions- und logische
Befehle/Operationen. Zusätzlich gibt es Rotations- und Schiebebefehle, z.B.
LSL #1 (entspricht einer Multiplikation mit 2), die ebenfalls mit Schaltnetzen in
der ALU (arithmetic logic unit) realisiert werden:
LSL #1
ASR #1 (entspricht einer signed Division):
ROR #1 RRX #1
Folie 26
Schaltwerke
Schaltwerke
➢ Bei Schaltwerken hängen die Ausgangsvariablen von den Eingangsvariablen und
zusätzlich vom jeweiligen Zustand des Systems, d.h. von der Vorgeschichte ab.
➢ Bei Schaltwerken ist mindestens einer der Ausgänge auf mindestens einen der
Eingänge rückgekoppelt. Hierdurch erhält die Schaltung einen speichernden
Charakter, der auch als „Gedächtnis“ bezeichnet wird.
➢ Schaltwerke bestehen aus logischen Gattern und Speicherbausteinen,
sogenannten bistabilen Kippschaltungen, welche im Folgenden als Flipflops (FF)
bezeichnet werden.
➢ FFs sind Binärspeicher, die den Inhalt eines Bit speichern können.
➢ Die wichtigsten FFs sind:
➢ RS-FF
➢ D-FF, auch Register genannt, siehe nächste Folie
➢ JK-Master-Slave-FF
➢ Man unterscheidet zwischen asynchronen FFs, welche ohne Taktsignal arbeiten
und synchronen FFs, die mittels Takt gesteuert werden.
Folie 27
Beispiel: RS – Flip Flop *
𝑆ҧ 𝑄
𝑅ത 𝑄ത
5
1-1
=
Q = 0
a= 1
.
1
.
R = 0 1
. =
a =
Q .
S = 0
: =
E = 0 -11
Folie 28
Schaltwerke
Register
➢ Ein Register ist ein Speicher, der Daten einschreibt, wenn das Signal ie (input
enable) anliegt und Daten ausgibt, wenn das Signal oe (output enable) anliegt.
➢ Je nach Wortbreite werden dabei mehrere Bits parallel behandelt.
➢ In unserem speziellen Modell, das wir später brauchen, erfolgt das Schreiben
und Lesen jeweils beim Flankenwechsel des Prozessortaktes, so dass innerhalb
eines Zyklus ein Register erst seine alte Information ausgeben kann und danach
eine neue Information einschreiben kann.
Folie 29
Beispiel: 4 Bit D-Register
Data X X X
[[Link]
Clock
Folie 30
Thema:
Halbleiterspeicher
Folie 31
Klassifizierung von Halbleiterspeichern
Halbleiterspeicher
Nicht flüchtig Flüchtig
Nicht löschbar Löschbar Statisch Dynamisch
ROM EPROM SRAM DRAM
PROM EEPROM
Flash
Folie 32
ROM
➢ ROM steht für Read Only Memory.
➢ Es handelt sich um einen Festwertspeicher. D.h. der Speicher kann im normalen
Betrieb nur gelesen, jedoch nicht beschrieben werden.
➢ ROMs sind somit nicht löschbare Speicher.
➢ Daten in einem ROM bleiben auch ohne Stromversorgung erhalten.
➢ Dieser Speicher dient zur Aufnahme „fest verdrahteter“ Programme.
➢ Man spricht hierbei auch von einem maskenprogrammierten ROM oder Masken-
ROM.
➢ Diese ROMs können nur im Herstellungsprozess programmiert werden, wodurch
sie sich nur für hohe Stückzahlen rechnen.
Folie 33
PROM
➢ PROM steht für Programmable Read Only Memory.
➢ Im Gegensatz zum ROM muss das PROM nicht schon bei der Herstellung
programmiert werden.
➢ Es kann vom Entwickler zu einem späteren Zeitpunkt EINMALIG programmiert
werden.
➢ Wie bereits das ROM kann auch das PROM nach dem Programmieren nicht
wieder gelöscht werden.
➢ Das Programmieren basiert auf dem Durchschmelzen von Sicherungen
(zerstörendes Schreiben).
➢ Für das Programmieren von PROMs ist ein spezieller „Brenner“ notwendig.
Folie 34
EPROM
➢ EPROM steht für Erasable Programmable Read Only Memory.
➢ Das EPROM zählt zu den nichtflüchtigen, jedoch löschbaren Speichern.
➢ Der EPROM-Speicher basiert auf einer MOSFET-Transistor-Matrix, wobei jeder
Transistor ein Datenbit repräsentiert. Bei der Programmierung wird eine erhöhte
Spannung an den Transistor angelegt. Die Lesespannung liegt wiederum
unterhalt der Programmierspannung
➢ EPROMs können mit speziellen Programmiergeräten programmiert werden. Im
Normalbetrieb kann dieser Speicher nur gelesen werden.
➢ Mit Hilfe von UV-Licht kann das EPROM gelöscht (Ionisation des Halbleiters) und
anschließend wieder programmiert werden.
➢ Ein Löschvorgang benötigt zwischen 10 bis 30 Minuten.
➢ Es kann lediglich der komplette Speicher auf einmal gelöscht werden.
➢ EPROMs können i.d.R. bis zu 200 mal gelöscht und neu beschrieben werden.
Diese Zahl hängt jedoch vom Hersteller des Bausteins ab und kann im jeweiligen
Datenblatt nachgelesen werden.
➢ Für den Löschvorgang bzw. die Bestrahlung mit UV-Licht wird ein Gehäuse mit
integriertem Quarzglasfenster benötigt, welches den Baustein relativ teuer
macht.
Folie 35
EEPROM
➢ EEPROM steht für Electrically Erasable Programmable Read Only Memory.
➢ Das EEPROM zählt wie auch da EPROM zu den nichtflüchtigen, jedoch
löschbaren Speichern.
➢ Die ersten EEPROMs konnten nur mittels spezieller Programmiergeräte mit
Daten gefüllt werden. Heutige EEPROMs können auch im Normalbetrieb
beschrieben werden. Die hierfür notwendige höhere Programmierspannung wird
im Baustein intern erzeugt.
➢ Im Gegensatz zum EPROM kann ein EEPROM in nur wenigen Sekunden komplett
gelöscht werden.
➢ Außerdem ist es möglich EEPROM-Speicher byteweise zu löschen bzw.
byteweise wieder zu beschreiben.
➢ Die Anzahl der Schreibvorgänge ist auch bei diesem Speicher begrenzt und liegt
heute i.d.R. bei bis zu 1.000.000 Schreibzyklen. Die genaue vom Hersteller
gewährleistete Mindestanzahl von Schreibzyklen kann auch hier dem jeweiligen
Datenblatt entnommen werden.
➢ Ein Schreibzyklus bei EEPROMs dauert zwischen 1ms bis 10ms.
➢ EEPROM-Speicher ist in der Herstellung relativ teuer.
Folie 36
Flash
➢ Wird auch als Flash-EEPROM bezeichnet.
➢ Wie EPROM und EEPROM verfügen auch FLASH-Speicher über die Eigenschaft
der Nichtflüchtigkeit und der Beschreibbarkeit.
➢ Flash-Speicher ist im Gegensatz zu (E)EPROM-Speicher schneller und vor allem
kostengünstiger.
➢ Im Gegensatz zum EEPROM-Speicher können beim Flash-Speicher keine
einzelnen Bytes gelöscht werden. Daten können nur blockweise gelöscht
werden, wobei die Größe des Blocks vom jeweiligen Baustein abhängt.
➢ Während des Löschens kann der Baustein in der Regel nicht gelesen werden.
➢ Das Löschen eines Blocks kann Sekunden dauern!
➢ Bevor eine Speicherzelle beschrieben werden kann, muss sie zuvor gelöscht
werden.
➢ Ein Schreibzyklus bei Flash-Speichern dauert zwischen 1µs bis 1ms.
➢ Die Anzahl der Schreibvorgänge ist auch bei diesem Speicher begrenzt und liegt
heute zwischen 100.000 bis 1.000.000 Schreibzyklen. Die genaue vom Hersteller
gewährleistete Mindestanzahl von Schreibzyklen kann wiederum dem jeweiligen
Datenblatt entnommen werden.
Folie 37
RAM
➢ RAM steht für Random Access Memory.
➢ RAM wird auf Deutsch auch als Speicher mit „wahlfreiem“ Zugriff (Random
Access) übersetzt. Dies bedeutet, dass die Daten nicht in Blöcken gespeichert
sind und somit direkt angesprochen werden können. Jede Speicherzelle kann
somit über ihre Adresse direkt angesprochen werden. Diese Eigenschaft macht
RAM besonders schnell
➢ RAM gehört zur Gattung der flüchtigen Speicher. Die Daten werden im RAM nur
so lange gehalten, bis die Stromzufuhr unterbrochen wird.
Folie 38
SRAM
➢ SRAM steht für Static Random Access Memory.
➢ „Statisch“ bedeutet in diesem Zusammenhang, dass der Speicherinhalt mittels
Flip-Flops gespeichert wird.
➢ Durch die Flip-Flop-Technologie ist SRAM-Speicher extrem schnell, besitzt jedoch
auch einen sehr hohen Stromverbrauch.
Folie 39
DRAM
➢ DRAM steht für Dynamic Random Access Memory.
➢ DRAM ist der einfachste, langsamste und billigste Speicherbaustein, den es gibt.
➢ Sein Speicherinhalt geht verloren, wenn er nicht mehr mit Strom versorgt wird.
➢ Eine DRAM-Speicherzelle besteht aus einem Transistor und einem Kondensator.
In einer DRAM-Speicherzelle wird ein Bit durch die Ladung des Kondensators
gespeichert.
➢ Nachteil dieser Speicherart ist, dass sich der Kondensator durch Kriechströme
entlädt und der Speicherzustand immer wieder neu aktualisiert werden muss
(Refresh).
➢ Der zyklische Refresh liegt in der Obhut des Entwicklers. Er wird oftmals über
eine zyklische Interruptroutine angestoßen. Typischerweise gehen im Mittel 3-
5% der Zugriffszeit durch den Refresh verloren.
➢ Es gibt verschiedene Refresh-Modi, die vom jeweilig verwendeten Baustein
abhängen. Auch die Refresh-Perioden hängen von diesem ab.
Folie 40