4 speicher texpoint fonts used in emf. read the texpoint manual before you delete this box.: a a aa...
TRANSCRIPT
4 Speicher
4.1 Anforderungen
4.1 Speicherzellen
4.3 SRAM, DRAM
4.4 Caches
Kap. 4.1 2
Prinzipieller Aufbau eines Rechners
Bestandteile: Prozessor (CPU) Hauptspeicher Externe Speicher Eingabegeräte
(Tastatur, Maus) Ausgabegeräte
(Bildschirm, Drucker, Plotter)
Busse
Prozessor(CPU)
System-Bus
Haupt-speicher
Ein-/Ausgabe-Geräte, externe Speicher,
externe Kommunikation
Kap. 4.1 3
4.1 Anforderungen an Speicher
so schnell wie Prozessor – sonst muss der Prozessor warten,
so groß, wie jede vorstellbare Anwendung verlangt, - sonst können manche Anwendungen nicht auf dem Rechner realisiert werden,
so dauerhaft (persistent), wie es die Daten verlangen – sonst droht Verlust, und
bezahlbar.Anforderungen liegen teilweise miteinander im
Konflikt: schnelle Speicher sind nicht billig, beliebig große Speicher sind nicht bezahlbar, dauerhafte Speicherung kostet Zeit und Energie.
Kap. 4.1 4
Von Schaltkreisen zu Schaltwerken (mit Speichern)
Bisher wurden nur kombinatorische Schaltkreise
betrachtet; dabei war G azyklisch.
Schaltpläne, Schaltungen
Schaltungen dieser Art werden benötigt, um speichernde Elemente zu definieren!
Was geschieht, wenn G nicht azyklisch ist?
?x1
y1G1
mn YgGXSK
,,,
kein stabiler Zustand!
Kap. 4.1 5
Überblick
Im folgenden werden Schaltwerke behandelt. Sie enthalten Flip-Flops. Es gibt eine Trennung zwischen Schaltkreisen und
speichernden Elementen. Jeder Zyklus in Schaltwerk enthält Flip-Flop. Der Zustand eines Schaltwerkes ist gegeben
durch die in den Flip-Flops gespeicherten Werte Schaltwerke realisieren endliche Automaten. Sie werden benutzt z.B. als Kontrolllogik im
Steuerwerk für die Interpretation von Befehlen.
Kap. 4.1 6
Definition: Schaltwerke Aufteilung eines synchronen Schaltwerks in Schaltnetz
und speichernde Elemente:
yit = fi(x1
t, x2t, ..., xk
t, s1t, s2
t, ...spt)
sit+1 = gi(x1
t, x2t, ..., xk
t, s1t, s2
t, ...spt)
Schaltnetz
x1t
xkt
y1t
ymt
Clk Speicher
s1t s2
t spt
s1t+1 s2
t+1 spt+1
Kap. 4.1 7
Die Physik digitaler Schaltungen
Versorgungsspannung VCC und zwei Spannungen, VIL und VIH, zur Repräsentation der logischen Werte 0 und 1 an den Eingägen von Gattern:
Ebenso an den Ausgängen:
Wird der Ausgang u mit dem Eingang v verbunden, so sollte gelten:
logWert(U) =
8<
:
0 f alls U · VI L
1 f alls U ¸ VI H
undef iniert sonstEingangspegel
logWert(U) =
8<
:
0 f alls U · VOL
1 f alls U ¸ VOH
undef iniert sonst
VuOL · V v
I L und VuOH ¸ V v
I H
Kap. 4.1 8
Signalverläufe
0
VCCVIH
VIL
physikalisch
logisch1
0
undefiniert
Puls
Kap. 4.1 9
Spike-freies Umschalten
Umschalten von X1 = 1, X2 = 0, Y = 0 auf X1 = 0, X2 = 1, Y = 0,ohne dass zwischendurch Y auf 1 steigt.
x2
yx1
1
00
Kap. 4.1 10
Übergang im RS-Flip-Flop
(stabiler) Zustand Q = 0 ) (stabiler) Zustand Q = 1:
/S
/R
Q
/Q
1
1
1
01
0G1
G2
) 0) 1
) 1) 0
) 0
) 1
Senke /S zur Zeit t0 ab und hebe zu t0 + x wieder an (einen solchen Signalverlauf nennt man Puls )
Nach Zeit tP/SQ ist Q = 1.
Wähle x so, dass kein Spike entsteht!
Nach Zeit tP/S/Q ist /Q = 0.Schaltung mit zwei stabilen Zuständen, geeignet, um 1 Bit zu speichern.
Setzen desFlip-Flops
/S und /R durch Absenken aktiviert:“active low”
Kap. 4.1 11
RS-Flip/Flop, Aufbau und Funktion
Zustand 1 C1 hoch, C2 tief T1 und T4 ein, T2 und T3 aus
Zustand 0 C2 hoch, C1 tief T2 T3 ein, T1 T4 aus
Address line Transistoren T5 und T6 schalten zusammen
Schreibe – lege Wert auf B & Komplement auf B’
Lese – Wert ist auf Eingang B
Kap. 4.1 12
D-Latch
/S
/R
Q
/Q
RS-FFW
D
Symbol: W
D
Q
/Q
erlaubt Speichern eines ankommenden Datensignals D durch einen Puls (Interval zwischen Senken und Heben) an W
W active high
Kap. 4.1 13
Symbol:
Taktflankengesteuertes D-Flipflop
CK
D Q
D-FF
Clockeingang
Steuerung durch eine Flanke eines Signals (Clock)
Kap. 4.1 14
n-Bit-Register
CK
D QD-FF
CK
D QD-FF
CK
D QD-FF
D0 D1Dn-1Q0 Q1 Qn-1
CK
CK
D Q
n-Regn n
Schaltsymbol
Kap. 4.1 15
Aufbau eines n-Bit-Zählers
X
CK
D Q
n-Reg
n
n
CK
n-INC
0 1
0 1n
n
n
/C
Cout
Cin
/L0
Y
/C clear, /L load, X Eingabe, Y Ausgabe
Kap. 4.1 16
Random Access Memory (RAM)
Charakteristiken: lineares Feld von Speicherzellen einzelne Zelle selektierbar durch Adresse (dies hat
ihm den Namen gegeben, gilt aber für die anderen Speicherarten auch!)
Lesen und Schreiben möglich (macht eigentlich den Unterschied aus!)
ist volatil, d.h. verliert seine gespeicherten Werte und ist deshalb nur als Zwischenspeicher verwendbar.
Kap. 4.1 17
Schaltbild eines SRAMs (ein einzeln adressiertes Bit)
DnA ON Dout
G0
Gi
GN-1
Qi
DinW
FN FN
Wi W
D QW‘
Y0
YN-1
Yi
D‘
n
N N
D-Latch
A Adresse, W write, Din Dateneingabe, Dout DatenausgabeDn Dekodierer, ON Oder
Kap. 4.1 18
Statisches RAM, SRAM
Bits als Zustände/Schalter gespeichert ohne Verlust von Ladung keine Auffrischung benötigt komplizierter zu bauen größer pro Bit teurer schneller gebraucht für den Cache digital
benutzt Flip-Flops
Kap. 4.1 19
Dynamisches RAM, DRAM
Bits als Ladung in Kondensatoren gespeichert verlieren Ladung brauchen deshalb Auffrischung (refresh) einfacher zu bauen kleiner pro Bit billiger langsamer gebraucht für Arbeitsspeicher im Wesentlichen analog - Ladungsniveau bestimmt
Wert
Kap. 4.1 20
Dynamic RAM - Struktur und Funktion
Address line aktiv, wenn Bit gelesen oder geschrieben, Transistor schaltet (Strom fließt)
Schreiben Spannung auf der bit line
hoch für 1, tief für 0 Signal auf address line
transferiert Ladung zum Kondensator
Lesen Ladung des Kondensators wird zur bit
line und zu einem Leseverstärker transferiert
vergleicht mit Referenzwert, um 0 or 1 zu bestimmen
Kondensatorladung muss aufgefrischt werden
Kap. 4.1 21
Vergleich SRAM, DRAM
beide volatil es muss Energie aufgewendet werden, um Daten zu
erhalten Dynamische Speicherzelle
einfacher zu bauen und kleiner dichter billiger braucht refresh kann in größere Einheiten gepackt werden
Statische RAM schneller nur für Cache
Kap. 4.1 22
Read Only Memory (ROM)
Permanenter Speicher Nicht volatil
Gebraucht für Microprogrammierung Bibliotheksfunktionen Systemprogramme (BIOS) Funktionstablellen
Kap. 4.1 23
Typen von ROM
Beschrieben bei der Herstellung teur für kleine Produktionschargen
Programmable (once) PROM brauchen spezielle Programmiergeräte
Read “mostly” Erasable Programmable (EPROM)
gelöscht durch UV-Bestrahlung Electrically Erasable (EEPROM)
braucht viel länger zu schreiben als zu lesen Flash memory
elektrisches Löschen des ganzen Speichers
Kap. 4.1 24
Organisation im Detail
Kritischer Parameter: wieviel Bits können auf einmal gelesen bzw. geschrieben werden
Alternativen: Ein 16Mbit Chip kann organisiert sein als 1M von 16 Bit-
Wörtern – wie in der Abstraktion der ISA Ein 1-Bit-pro-Chip System hat 16 1Mbit Chips mit Bit 1
jedes Worts in Chip 1 usw. Ein 16Mbit Chip kann z.B. als ein 2048 x 2048 x 4Bit
Matrix organisiert sein (4 Bits auf einmal gelesen/geschrieben) Reduziert die Zahl der Adress-Pins
Multiplexing von Zeilen-Adresse und Spalten-Adresse 11 Pins, um (211=2048) zu adressieren Mit einem weiteren Pin doppelter Wertebereich, also x4
Kapizität
Kap. 4.1 25
Typischer 16 Mb DRAM (4M x 4)
Kap. 4.1 27
Einfluss des Speichers auf die Ausführungsgeschwindigkeit
Prozessor
Speicher
Load aLoad bAddStore x
a
b
x
Load a 2Load b 3Add
5
Store x
Viel Verkehr
auf dem Bus!Geschwindkeits-
unterschied istfatal, etwa 100:1!
Load aLoad bAddStore x
23
Ausführung eines Programms
Kap. 4.1 28
Lösung des Problems: Caches
Schneller Zwischenspeicher zwischen Prozessor und (Haupt-) Speicher
Prozessor
Speicher
Bus
Cacheschnell,klein,teuer
(relativ) langsam,groß,billig
Transportdauert
~ 1 Zyklus
Transportdauert
~ 100 Zyklen
Kap. 4.1 29
Caches
Statische RAM-Speicher sind schnell aber teuer, dynamische RAM-Speicher sind billig aber langsam. kleinen Cache in SRAM-Technologie auf Chip + großen Speicher in DRAM-Technologie Vorteil: wegen lokalen Zugriffsverhaltens der
Programme im Durchschnitt schneller Zugriff Nachteil: hohe Schwankungsbreite für Zugriffszeiten Für Echtzeitsysteme: korrekte und präzise Analysen
der Zugriffszeiten notwendig
Kap. 4.1 30
Caches
CPUCPU DRAMDRAM SpeicherSpeicher
Cache- Control
Adreßbus
Datenbus
In der Regel besitzt ein Rechner einen getrennten Cache für Instruktionen (InstruktionscacheInstruktionscache) und für Daten (DatencacheDatencache).Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden.Er ist software-transparentsoftware-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen.
Kap. 4.1 31
Speicher Funktion – Aufbewahrung für Programme und Daten Organisation – meist eine “Hierarchie”
CPU-Register
Speicher
Befehle/Adressen/./Operanden Programm 1-8 Bytes
BlöckeCache Controller
8-128 Bytes
oben
unten
schnell,klein
langsam,groß
Cache
Festplatte
Seiten Betriebssystem512-4K bytes
Band
Dateien Bnutzer/Operator
Mbytes
Inhalte/StrukturBesitzer/Verwalter
Größe