![]() |
Einführung Datenverarbeitungssystemevon Prof. Jürgen Plate |
relativ teuer. Er
besitzt einen eingeschränkten Adressumfang (festgelegt durch
die Adressbus-Breite der CPU). Da nicht alle benötigten
Informationen ständig direkt für die CPU verfügbar
sein müssen (und können) wird der Arbeitsspeicher durch
periphere Speicher (Hintergrundspeicher, externe Speicher)
ergänzt (z.B. Plattenspeicher, Magnetbandspeicher, etc.).
Diese Speicher zeichnen sich aus durch:
Die Speicherkapazität nimmt nach unten hin zu, Preis und Zugriffsgeschwindigkeit nehmen dagegen ab. Der Zugriff auf einen Speicher tieferer Hierarchiestufe erfolgt nur, wenn die gewünschte Information sich nicht in der höheren Stufe befindet. Der Informationstransport erfolgt blockweise. Eine weitere Verfeinerung der Hierarchiestufen ist möglich, z.B. Sekundärspeicher (Platte) und Tertiärspeicher (Magnetband).
Problem der Auswahl der gewünschten
Einzelinformation.

Begriffsdefinitionen:
sie läuft um
Umlaufspeicher. Die Zeit stellt ein
zusätzliches Auswahlkriterium dar. Die Zeitdauer zum Auffinden
der Information ist variabel (CCD-Speicher, Magnetblasen-Speicher).
Es lässt sich eine mittlere Zugriffszeit angeben.
Das Adressregister dient als Zwischenspeicher für die gewünschte Adresse. Über den Adressdecoder wird eine einzelne Speicherzelle (Bit oder Speicherwort) ausgewählt. Lese- und Schreibregister bilden die Schnittstelle zur CPU oder zum Datenbus. Da die Wortbreite gegenüber der Anzahl der Speicherworte sehr klein ist, würde sich bei der vollständigen Decodierung der Adresse eine ungünstige Topologie des Speichers ergeben. Deshalb teilt man die Adressbits und ordnet die Speicherzellen (bzw. Speicherworte) in einer annähernd quadratischen Matrix an. Der Decoder wird so auch in einen Zeilen- und Spaltendecoder aufgeteilt.
Vor allem sehr hoch integrierte Halbleiterspeicher sind bitorganisiert, d. h. die Wortbreite ist 1 Bit. Es gibt aber auch Speicherbausteine, die selbst schon wortorganisiert sind (meist 4 oder 8 Bit). Heute werden im Arbeitsspeicher - bis auf wenige Ausnahmen - Halbleiterspeicher eingesetzt.
Vorteile der Halbleiter-Speicher:
statisch).
Realisierung sowohl in bipolarer Technologie (TTL, ECL) als auch in MOS-(FET-)
Technologie.
Transistor-Zelle (bipolar):
Das Speicher-FF besteht aus 2 MultiEmitter-Transistoren
schneller, höherer Leistungsbedarf.
Ruhezustand (Zelle nicht angewählt):
Wortleitung auf 0-Potential; beide Datenleitungen auf
1-Potential. Je nach Info ist T1 oder T2 leitend, sein Emitterstrom
fließt über WL.
Lesen:
Wortleitung auf 1-Potential; beide Datenleitungen auf
0-Potential; Emitterstrom beider Transistoren fließt
über zugeordnete DL. Der in beiden DL fließende Strom
wird über einen Differenzverstärker ausgewertet.
Schreiben:
Wortleitung auf 1-Potential. Setzen des FF durch eine
Datenleitung auf "0" und andere Datenleitung auf "1".
"1": D = 1
T2 leitend, T1 gesperrt
"0": D = 0
T1 leitend, T2 gesperrt
CMOS-Zelle:
Speicher-FF besteht aus 2 CMOS-Invertern.
Extrem geringe Rest-Verlustleistung.
Ruhezustand (Zelle nicht angewählt):
Wortleitung auf 0-Potential; T1 & T6 sperren. Datenleitungen
sind abgekoppelt.
Lesen:
Wortleitung auf 1-Potential --> T1 & T6 leitend. Die
beiden Datenleitungen der gew. Speicherstelle werden auf einen
Differenzverstärker geschaltet. Alle anderen Datenleitungen
sind inaktiv (Spaltenwahl). Potentialdifferenz wird ausgewertet.
Schreiben:
Wortleitung auf 1-Potential. Setzen des FF durch eine
Datenleitung auf "0" und andere Datenleitung auf "1" (bei CMOS
abgeschaltet).
"0": D = 0
T3, T4 leitend, T2, T5 gesperrt
"1": D = 1
T2, T5 leitend, T3, T4 gesperrt
Die Verbindung der einzelnen Speicherelemente an Eingangs- und
Ausgangsverstärker sowie die Zeilen- und Spaltenauswahl sind -
je nach Technologie - Transistoren oder FETs. Im Beispiel oben haben
alle Spalten den gleichen Leseverstärker.
Es gibt auch Realisierungen mit je einem Leseverstärker pro
Spalte - deren Ausgänge liegen dann am gemeinsamen "Data
Sense Bus". Mit dem Spaltenauswahl-Signal wird dann auch der
entsprechende Verstärker auf den Ausgangspuffer geschaltet.
Über das WE-Signal wird zwischen Schreiben und Lesen
umgeschaltet. Das CS (Chip Select)-Signal erlaubt die Aktivierung
des Bausteins. Ein nicht aktivierter Baustein verhält sich in
der Schaltung passiv
Zusammenschalten mehrerer Bausteine zur
Erweiterung der Kapazität möglich.
dynamische Speicher). Eigenschaften:
Realisierung nur in MOS-Technologie. Wegen des geringen
Platzbedarfs verwenden Speicher höherer Kapazität (ab ca.
16 KBit) ausschließlich die 1-Transistor-Zelle, die hier
genauer betrachtet werden soll. Die reale Zelle wird mit einem Kondensator
und einem Transistor aufgebaut. Im Ruhezustand liegt die Wortleitung auf
0-Pegel, T1 und T3 sperren und C ist von der Datenleitung abgekoppelt.
Schreiben:
Die Schreibauswahlleitung liegt auf 1-Potential, T3 leitet und C lädt
sich auf das Potential der Datenleitung (0 oder 1) auf.
Lesen:
Die Datenleitung liegt auf 1-Potential, wodurch die
Leitungskapazität Cl auf 1-Potential geladen wird
("Precharge"). Die Leseauswahlleitung liegt ebenfalls auf
1-Potential, T2 leitet und es erfolgt ein Ladungsaustausch zwischen
C und Cl. War C auf 0-Potential, wird Cl teilweise entladen und
es erfolgt eine Potentialänderung auf der Datenleitung. War C
auf 1-Potential, wird Cl nicht entladen und es gibt keine
Potentialänderung auf der Datenleitung.
Die Ladung in C wird durch das Lesen zerstört. Daher ist
nach jedem Lesezugriff ein erneutes Einschreiben der Info notwendig.
Besonderheiten der DRAM-Bausteine:
Im allgemeinen ein Leseverstärker pro Spalte. Es wird immer
eine ganze Zeile gelesen (auch beim Schreibzugriff) und in einem
Register zwischengespeichert. Hier erfolgt dann die Bit-Auswahl
gemäß der Spaltenadresse. Beim Schreiben wird das
entsprechende Bit geändert, beim Lesen ausgegeben.
Anschließend wird der Registerinhalt in die Zeile
zurückgespeichert.
Um Bauteileanschlüsse zu sparen, wird ab 16 KBit-Baustein
die Adresse im Multiplex zugeführt
gleiche
Anschlüsse für Spalten- und Zeilenadresse. Es wird zuerst
die Zeilenadresse und danach die Spaltenadresse zugeführt.
Statt eines CS- (Chip Select) Anschlusses gibt es nun RAS (Row
Address Strobe) und CAS (Column Address Strobe).
Zusätzlich ist eine Auffrisch-Logik erforderlich, da der Speicherkondensator
durch Leckströme an Ladung verliert. Das
Auffrischen kann so organisiert werden, dass es den normalen
Betrieb nicht behindert. Teilweise ist eine externe Auffrischlogik
notwendig, bei manchen Speichern ist sie bereits in den Baustein
integriert
quasistatische RAMs. In der Regel ist für jede
Spalte ein Leseverstärker vorhanden und es kann gleichzeitig
eine ganze Zeile zwischengespeichert werden. Damit ist zeilenweises
Auffrischen möglich (nur RAS-Signal).
Die Steuerlogik bewirkt, dass ein Auffrischzyklus nicht während eines normalen Speicherzugriffs anläuft und der Speicherbaustein während eines Auffrischzyklus für Schreiben und Lesen gesperrt ist.
maskenprogrammiertes ROM (ROM = Read Only Memory)
MOS:
Dicke der Gate-Oxidschicht; bei normaler Dicke kann der FET
leiten ("0"), andernfalls reicht das 1-Potential auf der WL nicht
aus, den FET durchzuschalten
"1".
der binäre Wert, der
dem durch die Herstellung vorhandenen nicht entspricht, wird
programmiert.
Programmierung mit Ausbrennwiderständen
Der Ausbrennwiderstand ("fusible link") liegt an der Substrat-Oberfläche; er
hat die Funktion einer Schmelzsicherung (z. B. Titan-Wolfram,
Chrom-Nickel, Polysilizium). Das
Durchbrennen geschieht mittels eines hohen Programmierstroms, z. B.
durch Adressieren der gewünschten Zelle und Anlegen einer
Spannung an die Ausgänge des Bausteins. Programmierzeit ca. 1 ms/Bit.
Programmierung durch kurzgeschlossene Sperrschicht
Das Koppelelement ist ein npn-Transistor mit nicht
angeschlossener Basis ("junction fuse"). Durch Anlegen einer
hohen Spannung erfolgt ein Durchbruch der BE-Diode - es bleibt eine
Diodenstrecke übrig (Basis an Spaltenleitung). Die
Adressierung erfolgt im Baustein durch 0-Potential an den
Zeilenleitungen.
Programmierzyklus (Beispiel): Chip Select auf 1-Pegel, dann
20 V an Datenausgänge anlegen und Chip Select auf 15 V (5 ms).
Programmierzeit: ca. 0,2 ms Bit
EPROM, das nur ein
einziges Mal programmiert werden kann
production EPROM, one
time programmable EPROM.
programmiert:
negative Ladung auf isoliertem Gate, durch Ladungsverschiebung
leitet FET nicht, 1-Potential auf SL, 0-Potential am Ausgang.
Bei der Programmierung wird
über die Zeilen- und Spaltenleitung eine hohe Spannung
an Gate und Drain angelegt (Auswahl der Zelle). Source und Substrat
liegen auf Massepegel. Infolge des starken elektrischen Feldes
erfolgt eine Injektion von Elektronen auf das isolierte Gate
(Lawinendurchbruch, avalanche effect). Die Ladung bleibt auch nach
dem Abschalten der Versorgungsspannung erhalten. Der Ladungsverlust
beträgt schätzungsweise 30% in 10 Jahren. Die negative
Ladung auf dem isolierten Gate verschiebt die Schwellenspannung des
FET und verhindert ein Durchschalten.
Zur Programmierung wird eine höhere Spannung (12 - 25 V) an
den Baustein (Vpp) angelegt. Die Auswahl des zu programmierenden
Wortes erfolgt genauso, wie beim Lesezugriff. Die zu
programmierenden Daten werden an die Ausgangspins angelegt
(TTL-Pegel). Mit einem 0-Impuls von 50 ms Dauer am Programmierpin
wird der Wert programmiert. Moderne EPROMS verwenden einen
"intelligenten" Algorithmus: es werden solange Impulse
von 1 ms Dauer gegeben, bis die Daten beim Prüflesen stimmen;
danach erfolgen noch 5 - 10 weitere "Sicherheits-Impulse".
Das Löschen der Gate-Ladung erfolgt durch Bestrahlung
des Chips mit UV-Licht (15 - 20 min) durch ein Fenster aus
Quarzglas, wodurch die Isolierschicht ionisiert wird und so die
"gespeicherten" Elektronen entweichen.
programmiert:
Negative Ladung auf isoliertem Gate, durch Ladungsverschiebung leitet FET
nicht, 0-Potential auf SL.
Zur Programmierung Gate (ZL) und Source (SL) auf 1-Potential legen. Drain liegt
auf 0-Potential. Die Elektronen "tunneln" auf das Floating Gate.
Programmierzeit: 5 - 10 ms/Byte.
Zum Löschen Gate (ZL) auf 1-Potential und Source (SL) auf 0-Potential legen.
Drain liegt dann auf 0-Potential. Die Elektronen "tunneln"
vom Floating Gate nach Drain und der FET leitet wieder.
EEPROMS können in eingebautem Zustand (in der Schaltung)
programmiert werden, da keine zusätzliche Programmierspannung
erforderlich ist. Die benötigte hohe Programmierspannung wird
während des Programmierens auf dem Chip selbst erzeugt. Auch
Adress- und Datenregister sind auf dem Chip integriert. Nach dem
Auslösen des Programmiervorgangs (=Schreibzyklus) kann die CPU
sich anderen Aufgaben widmen (manche EEPROMs haben einen speziellen
READY/BUSY-Pin zur Anzeige des internen Programmiervorgangs; andere
liefern beim Lesen invertierte Daten solange die Programmierung
läuft).
EEPROMs verhalten sich somit wie RAMs mit einem sehr langen
Schreibzyklus (5 - 10 ms), die aber die gespeicherte Info nach dem
Abschalten der Versorgung behalten (Lesezyklus 150 - 450 ns). Die
Zahl der Schreibzyklen ist begrenzt (10.000 - 100.000 mal). Manche
EEPROMS bieten die Möglichkeit, den gesamten Chip auf einmal
zu löschen ("chip erase")
Flash-Speicher
(Intel).
physikalischer Speicherblock = logischer Adressenblock.
aufeinanderfolgende Befehle/Daten
befinden sich i.a. im gleichen Block
Einfachste und bei
kleineren Systemen fast ausschließlich verwendete
Organisation. Ein Speicherblock kann ohne weiteres aus mehreren
Bausteinen bestehen, wenn z. B. die Wortbreite eines Bausteins
kleiner als die Datenwortbreite ist. Ein Speicherwort ist dann in
mehreren parallelen Bausteinen gespeichert, z.B. 16K x 8 Bit -
Block = 8 Bausteine 16 K x 1.
Speicheradressregister und Speicherdatenregister können bei dieser Organisationsform auch fehlen (und fehlen auch bei Mikrocomputer-Systemen). Es muss nur sichergestellt sein, dass Adressen und Daten auf dem Bus genügend lange bereitstehen. Zum Teil sind entsprechende Register in den Speicherbausteinen selbst enthalten. Die Datenausgänge der Speicherbausteine sind i.a. als Tri-State-Ausgänge gestaltet und können direkt auf den Bus geschaltet werden (TriState = Möglichkeit, den Ausgang hochohmig zu schalten, so dass er den Datenbus nicht beeinflusst).
physikalischer Speicherblock
ungleich logischer Speicherblock. Die niederwertigen Bits der
Adresse bestimmen die Blocknummer, der höherwertige Adressteil
bestimmt die Adresse innerhalb eines Blocks (also genau umgekehrt,
wie vorher). Bild: Umdruck. Üblich ist eine 2-fache bis
8-fache Verschränkung.
Speicher mit überlappendem Zyklus. Die tatsächlich
erreichte Geschwindigkeit hängt von der Adress-Reihenfolge
beim Zugriff ab. Die Beschleunigung wirkt nur dann optimal, wenn
immer zu aufeinanderfolgende Adressen zugegriffen wird.
Da die für einen Speicherzugriff benötigte Information (Adresse, Datum) nach wie vor während der gesamten realen Zugriffszeit benötigt wird, müssen für jeden Block Speicheradressregister, Speicherdatenregister und Register für Steuersignale vorhanden sein. Diese sind heute in der Regel im Speicherbaustein integriert oder werden von einem speziellen Baustein zur Speicheransteuerung (Memory Management Unit) bereitgestellt.
bei jedem Speicherzugriff ist nur die Zykluszeit des Cache
und nicht jene des Arbeitsspeichers abzuwarten (Geschwindigkeitszuwachs um den
Faktor 4 ... 5). Für den Programmierer und die CPU ist der Cache
"transparent", d. h. es spielt keine Rolle, ob das referierte Wort im
Arbeitsspeicher oder im Cache steht
die DVS hat
scheinbar einen Arbeitsspeicher mit der Kapazität des realen Arbeitsspeichers
und der Zykluszeit des Cache.
Im realen Betrieb ist die Wahrscheinlichkeit, daß ein referiertes Arbeitsspeicher-Wort im Cache steht (=Trefferrate H), immer kleiner 1 ("page fault"). Typische Werte für H liegen im Bereich 50 bis 98%. Die Trefferrate wird umso größer sein, je besser es gelingt das "working set" des aktuellen Programms im Cache zu halten. Auf Grund der Lokalitätseigenschaft von Programmen (die überwiegende Zahl von Speicherzugriffen erfolgt "in der Nähe" der zuletzt referierten Adresse), ist die Wahrscheinlichkeit, dass die benötigte Info bereits im Cache steht, relativ groß.
Der Cache wird immer dann mit neuen Werten geladen, wenn ein Speicherzugriff zu einem nicht in ihm enthaltenen Wert erfolgt. In diesem Fall wird immer ein ganzer Datenblock ab der gerade referierten Adresse in den Cache geladen (typisch 4 - 16 Worte). Ursprünglich wurden Pufferspeicher nur bei Großrechnern eingesetzt, heute gibt es Prozessoren mit Cache auf dem Chip (z. B. 68020), wobei der Cache aber funktionell zum Speicherwerk gehört. Für andere Prozessoren (z.B. 80386) gibt es spezielle Cache-Controller (z.B. 82385), die zwischen Prozessor und Speicherwerk geschaltet werden und den Speicher unabhängig vom Prozessor ansteuern.
Seit Ende 1998 ist der von Sony entwickelte Memory
Stick erhältlich. Er ist 21 x 50 x 2,8 mm groß und vier Gramm
leicht. Dieser Speicher wird bislang fast ausschließlich in Sony-Produkten
eingesetzt, beispielsweise im Sony-Walkman, der Musikdateien im ATRAC3-Format
abspielt oder in den Geräten der Vaio-Serie. Der Memory Stick basiert auf
Flash-Technik. Derzeit gibt es den "normalen" Memory Stick und den Memory Stick
mit Kopierschutz "Magic Gate". Die "normalen" sind blau und mit
Kapazitäten bis 128 MB erhältlich. Die weißen Sticks hingegen
sind für die Aufnahme und Wiedergabe von Musik konzipiert und mit einem
Kopierschutz ausgestattet. Die Musik wird verschlüsselt gespeichert.
Erkennbar ist dieser Memory Stick auch an dem Aufdruck MG "Magic Gate". Der
Anschluss an ein Notebook funktioniert über einen PC-Card-Adapter.
Mit Adaptern für Diskettenlaufwerk, USB-Schnittstelle und Parallel-Port
lassen sich die Daten auf den Computer übertragen.
Auf den MB-Preis umgerechnet sind die Memory Sticks teuer.
Die nur knapp 0,8 mm hohen Smart-Media-Karten sind etwa
halb so groß wie eine Scheckkarte. Durch die geringe Bauhöhe passt
die Elektronik zur Steuerung (Controller) nicht mehr mit auf die Karte. Damit
ist die SmartMedia von den Geräten abhängig, in denen sie eingesetzt
wird. Kann ein Gerät nur 64 MB verwalten, nützt eine 128 MB-Karte
nichts. SmartMedia-Karten werden sowohl in MP3-Playern, als auch in
Digitalkameras eingesetzt. Allerdings können Musik- und Bilddaten nicht
gleichzeitig darauf gespeichert werden, denn die beiden Datentypen benötigen
eine unterschiedliche Formatierung der Karte.
Die alten 2- und 4-MB-Karten arbeiten mit verschiedenen Spannungen: 5,5 Volt
oder 3 Volt. Damit keine Verwechslungen stattfinden, haben die 5,5-Volt-Karten
eine abgeschrägte Ecke. So können Karten, die eine 3-Volt-Versorgung
benötigen, nicht aus Versehen ins falsche Gerät eingesetzt werden.
Die CompactFlash Cards wurden bereits 1994 von SanDisk eingeführt. Seit
1995 kümmert sich die
CompactFlash Association um die Standardisierung der CompactFlash Cards. Die
Speicherkarten sind mit ihren Abmessungen von 43 x 36 x 3,3 mm etwa halb so
groß wie eine PC-Card. Sie beherbergen einen Flash-Speicherbaustein und
einen Controller, der sie bis auf den Stecker zu einer AT-Bus-Festpaltte
kompatibel macht. Deshalb gibt es bei Geräten mit
CF-Steckplatz keine Probleme, wenn neue Medien auf den Markt kommen. Die Daten
gelangen dann am einfachsten über einen externen Card-Reader in den PC.
Sie sind robuster als ihre SmartMedia-Kollegen und haben eine höhere
Zukunftssicherheit sowie Kapazität. Die momentane Obergrenze beim Speicher
liegt bei 512 Megabyte.
Mit einer Größe von 24 x 32 x 1,4 mm sind sie die kleinsten Medien
unter den mobilen Speichern und nur halb so groß wie Compact Flash Karten.
Die nur 1,5 Gramm leichten Karten haben eine maximale Kapazität von 128 MB.
Aufgrund ihrer Größe eigenen sie sich besonders gut für den
Einsatz in Mobiltelefonen. Nokias Communicator zum Beispiel oder das Siemens
SL 45 sind mit Multimedia Cards erweiterbar. Mit einer Card-Station lassen
sich Daten über die Parallel- und USB-Schnittstelle auf den PC übertragen.
Die Steuerelektronik für den Speicher (Controller) ist auf der Karte eingebaut.
Zum vorhergehenden Abschnitt |
Zum Inhaltsverzeichnis |
Zum nächsten Abschnitt |