4 Speicher TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA...

Preview:

Citation preview

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

Recommended