Nakieken, das Familienmagazin

Die RAM FAQ

DRAM_DDR2 512

Die RAM FAQ (von Holger Ehlers)
——————————-

Version : 2.4 (Korrekturen + Ergaenzungen willkommen!)

Inhalt

0. Die RAMFAQ
0.1 Wo bekomme ich die RAMFAQ ?
0.2 Welche Version ist aktuell ?
0.3 Mini-RAM FAQ Grosse RAMFAQ
0.4 Hinweise

1. RAM allgemein
1.1 Zugriffszeit
1.2 Unterschiede SIMM PS/2
1.3 Einsatzgebiete
1.4 Mischbestueckung, Adapter
1.5 RAM Baenke
1.6 Groessenbezeichnungen
1.7 Parity
1.8 Single / Double Sided
1.9 Refresh
1.10 Topless / COB, 3rd Party
1.11 Interleaving
1.12 Page Mode / Fast Page Mode
1.13 DIMM
1.14 SRAM
1.15 CDRAM
1.16 EDRAM
1.17 RDRAM
1.18 SDRAM
1.19 SIP
1.20 RAM Verdopplung per Software
1.21 Was tun bei DRAM Problemen ?
1.22 Special: RAM Bezeichnung entschluesselt
1.23 Special: SIMM und PS/2 intern

2. EDO RAMs
2.1 Was sind EDO RAMs ?
2.2 Unterscheidung EDO FPM DRAM
2.3 Welche Boards unterstuetzen EDOs ?
2.4 Wieviel schneller sind EDOs ?
2.5 Burst EDO

3. Speicher fuer Grafikkarten
3.1 Unterschiede DRAM, VRAM, WRAM, MDRAM
3.2 Speicherbedarf
3.3 Shared Memory

4. Cache
4.1 Was ist Cache ? Wozu Cache ?
4.2 1st und 2nd level Cache
4.3 Asynchroner und synchroner Cache
4.4 Cachegroessen
4.5 Cachetechniken: Write Back, Write Thru, Tag, Dirty Tag

5. BIOS und RAM
5.1 Special: BIOS Update
5.2 Shadow RAM
5.3 RAM/Cache Settings im BIOS
5.4 BIOS Error Codes
5.5 CMOS Passwort
5.6 RAM Groesse

6. Glossar
6.1 Abkuerzungen

0 Die RAM FAQ
0.1 *Wo bekomme ich die RAMFAQ ?*

Die jeweils neueste RAMFAQ kann bei meiner Stamm-Mailbox, dem iX-Board
Walsrode bezogen werden. Per Fido-Request unter der Adresse 2:241/1020
(Analog: V32/V.34) oder unter 2:241/1021 (ISDN: X.75). Das Request-Magic
lautet RAMFAQ bzw. MINIFAQ.
Wer keinen Fidorequest durchfuehren kann, sollte Online unter einer der
Mailboxnummer anrufen: 05167/1429 (Analog) oder 05167/91011 (ISDN).

Neben der RAMFAQ gibt es von mir noch eine TAKTFAQ, die sich mit dem
Hochtakten von CPUs, CPU Faelschungen, Kuehlung etc. befasst. Am besten
gleich mitrequesten: Magic TAKTFAQ.

0.2 *Welche Version ist aktuell ?*

Interessierte Leser koennen per Netmail an mich (Holger Ehlers,
2:241/1020.20) in den Mailverteiler aufgenommen werden, der per Netmail
ueber jede neue Version der FAQ informiert.

0.3 *Mini-RAM FAQ Grosse RAMFAQ*

Hinweis: Dies ist die vollstaendige Fassung der RAMFAQ (‚grosse‘
RAMFAQ). Zur besseren Uebersicht gibt es fuer weniger technisch
interessierte Leser einen Mini-RAMFAQ, die auf das wichtigste
beschraenkt ist und sich nicht in technischen Erklaerungen verliert
(siehe 0.1).

0.4 *Hinweise*

Diese RAMFAQ ist verfasst worden von Holger Ehlers, PC POWER GmbH. Sie
darf und soll frei weitergegeben werden, solange sie unveraendert
bleibt. Das Copyright liegt bei der PC POWER GmbH. Ueber Feedback,
Fehlerhinweise, Tips zu Erweiterungen etc. freue ich mich besonders.
Bitte an 2:241/1020.20 adressieren. An dieser Stelle moechte ich mich
bei allen bedanken, die mit Ihren Tips zu dieser FAQ beigetragen haben.

Und noch etwas: Wie der Fachpresse in der letzten Zeit zu entnehmen
war, kann die Verwendung des Codenamens T**ton fuer Intels Pentium-PCI
Chipset ‚S824337FX‘ zu Abnahmungen fuehren. In dieser FAQ ist der
betreffende Chipsatz deshalb als ‚Intels T-Chipsatz‘ gefuehrt. Sein
Nachfolger wird mit dem Codenamen TXC gezeichnet.

1 RAM allgemein
1.1 *Zugriffszeit*

Bei heutigen DRAM (Dynamic Random Access Memory) Speicher Modulen ist
(unabhaengig von der Bauform) die Zugriffszeit ein wichtiges Thema.
Ueblicherweise liegt sie bei 70 ns. Es gibt jedoch auch Versionen mit
z.B. 80 oder 60 ns Zugriffszeit. Die Zugriffszeit, eines Moduls kann man
meist an der letzten Ziffer der Typbezeichnung ablesen. Naeheres zum
Entschluesseln der Typbezeichnungen findet sich in 1.17.

Heutige Boards verlangen fast alle eine Zugriffzeit von 70 ns oder
weniger. Einige Pentiumboards (z.B. Asus P54TP4, P55TP4XE etc.) wollen
bei Pentium 100/133 Bestueckung – also 66 MHz Boardtakt – sogar 60 ns
haben. Da diese Module jedoch schwer zu beschaffen sind und nicht
gerade billig ausfallen, lohnt meist der Test mit 70 ns. Nur in seltenen
Faellen funtioniert die Bestueckung mit 70 ns nicht. In einem Fall ging
es sogar mit 80 ns und den schnellsten BIOS Settings. Dies aber soll
lediglich zeigen, dass es bei der Herstellung erhebliche Schwankungen
in der Qualitaet (Zugriffszeit) gibt. Eine Kaufempfehlung sind 80 ns
nicht.

Wichtig: Auch bei EDO RAM (s. Abschnitt 2) gibt es 60 ns und 70 ns
Typen. Also auch hier auf die richtige Zugriffszeit achten.

1.2 *Unterschiede SIMM PS/2*

SIMM bedeutet Single Inline Memory Module. Es handelt sich hierbei um 8
bittige (ohne Parity) bzw. 9 bittige (mit Parity) Speichermodule mit
einer Groesse von maximal 4 MB. SIMMs haben 30 ‚Anschluesse‘
(Kontaktflaechen).

PS/2 Module wurden zuerst von IBM in ihren gleichnamigen Rechnern
Anfang der 90er Jahre verwandt. Sie sind im Gegensatz zu SIMMs 32
(ohne Parity) bzw. 36 Bit (mit Parity) breit. Die Zahl der Kontakte
betraegt 72. Zu erkennen sind diese Module an ihren groesseren
Abmessungen und einer kleinen Einkerbung etwa in der Mitte der
Kontaktleiste. PS/2 Module sind z.Zt. am Markt bis 64 MB pro Modul zu
bekommen.

1.3 *Einsatzgebiete*

Rechner der 386DX/486 Klasse koennen in 32 Bit Breite auf ihren
Arbeitsspeicher zugreifen. Deshalb ist es noetig SIMMs auf solchen
Boards jeweils in 4er Gruppen zu bestuecken (8 Bit*4=32). Die meisten
Boards haben zwei solcher Baenke zu je vier Modulen. Der 386SX ist ’nach
aussen‘ nur 16 Bit breit und kommt deshalb auch mit zwei Modulen pro
Bank aus (s. auch 1.5).

Mit dem Erscheinen des Pentium Prozessors wurde der Datenpfad zum
Hauptspeicher 64bit breit. Entsprechend waeren 8 SIMMs pro Bank noetig
gewesen. Dies ist jedoch schon allein aus Platzgruenden auf heutigen
Mainboards nicht moeglich: Man haette – um ein Aufruesten zu
ermoeglichen – mindestens 16 Steckplaetze fuer SIMMs unterbringen
muessen. Ein Weg aus diesem Dilemma sind die PS/2 Module, die hierdurch
erstmals grosse Verbreitung erlangten. Bis dato wurden sie nur in
wenigen teuren Rechnern von Markenherstellern z.B. IBM, Compaq, DELL
eingesetzt.

Da PS/2 Module 32/36 bittig sind (siehe 1.2) braucht ein Pentium Board
2 Module pro Bank (Ausnahme: s. 1.5).

1.4 *Mischbestueckung, Adapter*

Durch die zunehmende Popularitaet der PS/2 Module kamen mit der Zeit
auch 486er Mainboards auf den Markt, die die Bestueckung mit PS/2
Modulen erlaubten. Entweder als sog. Mischbestueckung – also in
Kombination mit SIMMs – oder ausschliesslich. Viele PC Besitzer
stehen durch die neuen Entwicklungen am DRAM-Markt vor dem Problem,
‚veraltete‘ Speichermodule zu besitzen. Hier gibt es jedoch neben den
486er Boards mit Mischbestueckung die Moeglickeit einen sog. SIMM-PS/2
Adapter (auch ‚SIMM Shuttle‘ genannt) zu erwerben. Mit einem solchen
Adapter koennen vier SIMMs in einem PS/2 Steckplatz genutzt werden. Die
Kosten fuer solche Adapter liegen je nach Ausfuehrung zwischen 30 und
100 DM.

Zu beachten ist jedoch, dass es vielfach Probleme bei der Benutzung
dieser Adapter gibt. Zum einen koennen mechanische Probleme – sprich
Platzmangel – auftreten, wenn mehrere Adapter nebeneinander betrieben
werden sollen und zum anderen kann es aufgrund der laengeren Leitungen
zu Timingproblemen kommen. Dies betrifft besonders Pentiumsysteme, da
diese einen hoeheren Boardtakt als 486er haben. Wichtig ist, bei
SIMM-PS/2 Adaptern auf die Bestueckungsseite (li, re), die Hoehe und
die Jumpermoeglichkeiten (60ns, 70ns, 80ns u.a.) zu achten.

1.5 *RAM Baenke*

Eine Speicherbank kann aus einem oder mehreren (gleichen!) Modulen
bestehen. Sie muss entweder leer oder voll bestueckt sein. Halbvolle
Baenke sind nicht moeglich. Meist gilt:

CPU Typ Module pro Bank Breite
——————————————–
286 2 SIMMs 16 Bit
386SX 2 SIMMs 16 Bit
386DX 4 SIMMs 32 Bit
486 4 SIMMs / 1 PS/2 Modul 32 Bit
Pentium,
Pentium Pro 2 PS/2 Module 64 Bit

Ausnahmen sind z.B:

– Der Intel Saturn Chipsatz fuer 486er Boards, der auf Interleaving
besteht und deshalb 2 PS/2 Module pro Bank braucht.
– Die Pentiumchipsaetze SiS 551x, ALI (Acer) Aladin II und Via Apollo,
die mit nur einem PS/2 Modul auskommen, in dem sie einen 64 Bit
Zugriff in zwei 32 Bit Zugriffe aufteilen. Dieses Verfahren geht
natuerlich zu Lasten der Geschwindigkeit. Allerdings ist man so
flexibler bei der Aufruestung und spart meist bei einem grossen Modul
(statt zweier kleiner) etwas Geld.

Bei den meisten Mainboards muss zuerst Bank 0, dann Bank 1 usw.
bestueckt werden. Einige alte Mainboards muessen den Speicherausbau
ueber Jumper bzw. ueber das CMOS Setup mitgeteilt bekommen.

1.6 *Groessenbezeichnungen*

Bei DRAMs wird die Groesse der Speicherchips zumeist in Megabit (M,
Mb) bzw. Megabyte (MB) angegeben. Die Bezeichnung ‚M‘ fuer Megabit hat
sich eingebuergert, obwohl es eigentlich ‚Mb‘ heissen muss. Fuer
30 polige SIMMs gilt:

1 M x 8 = 1 Megabyte ohne Parity
1 M x 9 = 1 Megabyte mit Parity
4 M x 8 = 4 Megabyte ohne Parity

Bei 72poligen PS/2 Modulen gilt aufgrund der 32 bzw. 36bittigen
Organisation:

1 M x 32 = 4 Megabyte ohne Parity
1 M x 36 = 4 Megabyte mit Parity
2 M x 32 = 8 Megabyte ohne Parity
4 M x 32 = 16 Megabyte ohne Parity

1.7 *Parity*

Mit Hilfe der Paritaetspruefung koennen vom Chipsatz Bitfehler in den
Speichermodulen entdeckt werden. Im Fehlerfall haelt der PC an und gibt
meist eine Meldung wie „Parity Error at xxxx:yyyy“ aus (Vorsicht: Der
verbreitete Parity_Boot.B Virus gibt die Meldung „PARITY CHECK“ aus.
Also nicht nur auf RAM Fehler, sondern auch auf Virenbefall pruefen !).

Technisch gesehen wird (vereinfacht gesagt) aus 8 Datenbits durch
Quersummenbildung ein Paritybit ausgerechnet. Ist dieses Paritybit
vorhanden, so spricht man von 9 bittigen SIMMs bzw. 36 bittigen PS/2
Modulen.

Dieses Verfahren funktioniert jedoch nur zuverlaessig bei kleineren
Defekten. Bei mehr als einem falschen Bit kann die Paritypruefung u.U.
nichts mehr ausrichten. Wirklich sicher sind nur ECC RAMs, die nicht nur
Bitfehler erkennen, sondern auch selbststaendig korrigiren
koennen (Erkennung von max. 2 Bitfehlern, Korrektur von max. 1
Bitfehler). Sie sind jedoch um ein Vielfaches teurer als SIMMs mit
normaler Paritypruefung und werden deshalb nur bei sicherheitskritischen
Anwendungen eingesetzt (Server, Banken etc.). Der Intel Orion Chipsatz
fuer den Pentium Pro und der Intel TXC Chipsatz unterstuetzen ECC.
Anmerkung: ‚ECC RAMs‘ werdem auch als ‚EDC RAMs‘ (Error Detecting and
Correcting) bezeichnet.

Da heute die DRAM-Technik recht zuverlaessig ist, treten Fehler bei
intakten Modulen nur noch extrem selten auf (z.B. durch Alpha
Strahlung). Deshalb hat vor einiger Zeit ein Trend hin zu Modulen ohne
Parity eingesetzt. Die meisten neuen Pentiumchipsaetze – wie z.B. der
populaere Intel T-Chipsatz – unterstuetzen gar kein Parity mehr. Hier ist
es also rausgeworfenes Geld in PS/2 Module mit Parity zu investieren.
Achtung: Intel TXC unterstuetzt wieder Parity !

Einige Speichermodule taeuschen mittels eines Parity-Simulators
(‚elektronisches Parity‘) das vorhandensein einer Paritypruefung vor,
obwohl sie keine besitzen. Dieses Feature kann bei Boards, die Parity
verlangen helfen, Geld zu sparen, jedoch auch bei Boards, die eine
Autoerkennung fuer Parity besitzen zu Inkompatibilitaeten fuehren.

1.8 *Single / Double Sided*

Verwirrenderweise hat die Bezeichnung „Single-Sided“ (SS) bzw.
„Double-Sided“ (DS) nichts mit der Anzahl der Bestueckungsseiten (ein-
oder doppelseitig) des DRAM Moduls zu tun. Vielmehr bezeichnet sie die
Anzahl der RAS (Row Adress Strobe) Signale: Bei Single Sided sind es
zwei, bei Double Sided 4 RAS Signale. Da etliche Mainboards abhaengig
von der Groesse des Moduls entweder Single- oder Double-Sided Module
verlangen ist ein Blick ins Handbuch vor dem Kauf ratsam. Einige
Mainboards (z.B. Gigabyte, ABit) unterstuetzen zwar beide Typen, wollen
jedoch den jeweils verwandten Typ ueber Jumper oder im BIOS mitgeteilt
bekommen. Die ueblichen Bauformen sind:

Single Sided: 1-, 4-, 16-, 64 MB SIMMs
Double Sided: 2-, 8-, 32 MB SIMMs

Es gibt jedoch z.B. auch 8 MB Single Sided Module. Beim Kauf ist also
Vorsicht angesagt! Von aussen ist kaum zu erkennen, ob es sich um ein
SS oder DS Modul handelt. Nur eine kleine Differenz in der Verdrahtung
zeigt die Anzahl der RAS Signale – und damit den Typ – indirekt an.
Naeheres dazu in 1.19.

Falls das Mainboard falsch konfiguriert ist oder prinzipiell keine
Bausteine des jeweiligen Typs (SS/DS) vertraegt, kann es dazu kommen,
dass entweder kein Speicher oder nur ein Teil erkannt wird. Mir sind
Faelle bekannt, in denen 16 MB Module (DS) nur als 4 MB erkannt wurden.
In anderen Boards liefen diese ungewoehnlichen Module gar nicht, in
einem Board korrekt mit 16 MB. Also nochmals: Vorsicht!

1.9 *Refresh*

Da herkoemmliche DRAMs ihren Speicherinhalt durch Leckstroeme
innerhalb von Sekundenbruchteilen wieder verlieren, muessen ihre
Speicherzellen regelmaessig aufgefrischt (‚refresht‘) werden. Je nach
Typ muessen DRAMs alle 1..16 ms refresht werden. Bei einem solchen
Refresh werden die Speicherinhalte zeilenweise ausgelesen und wieder
zurueckgeschrieben. Diese Aufgabe wird heutzutage vom Chipsatz des
Mainboards uebernommen (CAS before RAS Refresh statt RAS-only). In
aelteren Mainboards ist z.T. noch der DMA Controller (DMA 0) fuer das
Auffrischen der DRAMs zustaendig.

Die verschiedenen DRAM Baugroessen unterscheiden sich auch in der
Art des Refresh, den sie benoetigen. Nachfolgend eine kurze Uebersicht
ueber die gaengigen Refreshtypen. Module die von diesen Werten
abweichen, sollten erst nach Klaerung der Kompatibilitaet gekauft
werden.

512 Refresh: 1 MB, 2 MB Module
1k Refresh: 4 MB, 8 MB Module
2k Refresh: 16 MB, 32 MB Module
4k Refresh: 64 MB Module

Insbesondere mit dem 4k Refresh der neuen 64 MB SIMMs haben viele
Mainboards Probleme. Achtung: Es gibt auch 16 MB Module mit 4k Refresh.

1.10 *Topless / COB, 3rd Party*

Topless-SIMMs – auch COB (Chip on board) genannt – haben kein
Chipgehaeuse. Bei ihnen ist das DIE (das Siliziumplaettchen) direkt mit
der Platine verdrahtet (gebondet). Sie bekommen als Schutz nur einen
kleinen Harzklecks. Topless SIMMs sind prinzipiell nicht schlechter,
als normale SIMMs. Es werden jedoch oft defekte Chips aus dem
Produktionsausschuss der Markenhersteller von Drittanbietern zu Topless
Modulen wiederverwertet. (Wie das genau funktioniert, will ich hier
nicht breittreten. Fakt ist, dass Topless Module in der Praxis
haeufiger Fehler produzieren als ’normale‘ SIMMs.)

SIMMs vom Dritthersteller (3rd Party) haben mit Topless Modulen
prinzipiell nichts zu tun, stehen jedoch ebenfalls in dem Ruf als
Noname Ware, den Produktionsausschuss der Markenanbieter zu
‚recyklen‘. Auch wenn keine generelle Gefahr besteht, lohnt es sich
beim Kauf auf den Hersteller der Chips zu achten.

1.11 *Interleaving*

Interleaving ist eine preiswerte – weil einfach zu realisierende –
Moeglichkeit zur Beschleunigung von RAM Zugriffen. Der wichtigste
begrenzende Faktor beim RAM Zugriff ist bekanntlich die Zugriffszeit,
die meist bei 70ns liegt (Arbeitsspeicher; bei Grafikkarten werden
teilweise DRAMs mit bis zu 45ns verwendet). Beim Interleaving werden
die Daten nun auf zwei RAM Baenke (siehe 1.5) so verteilt, dass jeweils
abwechselnd aus ihnen ein Datenblock gelesen werden kann. Waehrend eine
Bank sich ‚erholt‘ (Refreshzyklus) kann das nachfolgende Datum aus der
zweiten Bank gelesen werden. Die Performance steigt hierdurch deutlich
(die effektive Zugriffszeit liegt im Idealfall bei 0 ns) und der
Abstand zu den teureren VRAMs verringert sich. Nachteil dieser Technik
ist jedoch, dass immer ein Vielfaches von zwei Baenken bestueckt sein
muss, damit abwechselnde Zugriffe erfolgen koennen.

1.12 *Page Mode / Fast Page Mode*

Der Page Mode (PM) und der Fast Page Mode (FPM) stellen Verfahren dar,
die die Geschwindigkeit des Speichers wesentlich steigern koennen (bis
zu 20%).

DRAMs sind in Seiten (Pages) organisiert. Jeder dieser Seiten ist
wiederum in Zeilen und Spalten organisiert – aehnlich einer Tabelle.
Bei aktiviertem Page Mode wird bei aufeinanderfolgenden Lese- und
Schreibzugriffen auf eine Zeile (Row) innerhalb der selben Seite im
DRAM die immer wiederkehrende Zeilenangabe weggelassen und nur die
Spaltenadresse (Column) uebertragen. Dadurch sind kuerzere
Zugriffszeiten moeglich. Der FPM ist eine Erweiterung des PM, hier wird
bei einem Wechsel der Speicherseite (d.h. bei einer Aenderung der
Zeilenadresse) dieser Seitenwechsel „durch eine spezielle Codierung“
beschleunigt [Leider besitze ich keine genaueren Informationen – bitte
um Feedback]. Der FPM bringt jedoch weit weniger Mehr-Leistung als der
PM.
Der sog. Hyper Page Mode sendet bereits waehrend des Auslesens der
Daten die naechste Spaltenadresse und spart so nochmals etwas Zeit.

Da nicht alle Chipsaetze und DRAMs PM/FPM unterstuetzen sind diese
Zugriffstechniken mit Vorsicht einzusetzen. Ein gruendlicher
Speichertest nach dem Einschalten dieser Option im BIOS empfiehlt sich.
Beim Kauf von DRAMs sollte man sich bestaetigen lassen, dass sie
FPM-tauglich sind. Waehrend sich EDO RAMs nur in Boards einsetzen
lassen, die EDO unterstuetzen, sind PM bzw. FPM DRAMs universell
verwendbar. Es kommt nur auf die richtige BIOS Einstellung an.

1.13 *DIMM*

DIMM = Dual Inline Memory Module
DIMMs wurden bis vor kurzem nur im Bereich von Workstations verwandt.
Mit der Unterstuetzung von DIMMs in den Apple Power Macs rueckten sie
erstmals in den Bereich der Mikrocomputer vor. DIMMs haben eine im
Vergleich zu PS/2 Modulen (32 Bit) nochmals vergroesserte Datenbreite
von 64 Bit (72 Bit mit Parity) und 168 Pins. Sie sind leicht an ihren
zwei Einkerbungen an der Kontaktleiste zu erkennen (PS/2 Module haben
nur eine Einkerbung). Die kleinste DIMM Bauform hat 8 MB Kapazitaet.
Auch beim Einsatz von DIMMs ist es moeglich ‚alte‘ PS/2 Module durch
Adapter weiter zu verwenden. Fuer PCs gibt es mittlerweile erste
Pentium Pro Mainboards, die DIMM verwenden.

1.14 *SRAM*

SRAM (Static RAM) ist im Vergleich zu DRAM wesentlich schneller und
stromsparender, da es keinen Refresh (s. 1.8) benoetigt. Aufgrund
seines hohen Preises (SRAM benoetigt pro Bit zwei Transistoren) wird es
ueblicherweise nur im 2nd Level Cache und fuer Spezialanwendungen (z.B.
PCMCIA RAM Karten) eingesetzt. Technisch gesehen speichert SRAM die
Information in einem Flip-Flop, waehrend DRAM die Information in Form
von Ladung in einem Kondensator speichert.

1.15 *CDRAM*

CDRAM = Cached DRAM
Cached DRAM ist ein von Mitsubishi entwickelter synchroner Speicher. Es
ist im Prinzip herkoemmliches DRAM mit einem integrierten 2nd Level
Cache.
Der Cache faellt mit 4 SRAM Baenken (4x4k fuer 4MBit, 4x16k fuer
16MBit usw.) relativ gross aus. Dieser Cache wird von einem externen
Cache Controller verwaltet. Dadurch lassen sich ‚intelligente‘
Cache-Steuerungen realisieren, wie assoziative Caches beim
Prozessor-Pipelining. Ein Cache Hit (Datum im Cache) ist damit so
schnell wie bei herkoemmlichen 2nd Level Caches. Bei einem Cache Miss
(Datum nicht im Cache) muss die aktuelle Cacheline zurueckgeschrieben
werden (Warum ?), dann folgt ein Precharge (DRAM-Vorladen) und das Lesen
der Cacheline an der neuen Adresse, also sehr langsam. Schreibzugriffe
auf das DRAM finden wie beim EDRAM unter Umgehung des Caches ab.
Wenn die zu lesenden Daten sich im Cache befinden, ist CDRAM also sehr
schnell, sonst (Cache Miss und Schreibzugriffe) eher langsam. CDRAM hat
im PC Bereich bis heute keinerlei Marktbedeutung erlangt. Die Chancen,
dass sich dies in Zukunft aendert, stehen ebenfalls eher schlecht.
Groessere Aussichten auf Erfolg haben Techniken wie Burst EDO RAM und
SDRAM.

1.16 *EDRAM*

EDRAMs (Enhanced DRAM) sind in vielen Punkten aehnlich CDRAM
aufgebaut. Im Gegensatz zu ihnen gibt es jedoch im PC Bereich zumindest
ein Mainboard (486er Octek Hippo), das EDRAM verwenden kann. Hierzu ist
auch in der Zeitschrift c’t ein Test erschienen. Danach ist es jedoch
wieder recht still um EDRAM geworden.
Was macht nun ein EDRAM aus ? Jeder EDRAM Chip besitzt einen internen
2048 Bit grossen Cache, der jedoch nur als Lesecache genutzt wird und
beim schreiben umgangen wird. Es ist sogar moeglich waehrend des
auslesens einer Cachline in das EDRAM zu schreiben. Die effektive
Zugriffszeit sinkt hiermit auf ca. 15 ns (c’t). Da jeder EDRAM Baustein
einen unabhaengigen Cache besitzt, ist EDRAM auch bei geringer
Datenlokalitaet (Windows, OS/2 etc.) recht effektiv. Aehnlich EDO RAMs
lassen sich auch EDRAMs mit normalen FPM DRAMs gemeinsam betreiben,
solange sie nicht innerhalb einer Bank gemsicht werden. Bei den derzeit
hohen EDRAM Preisen vielleicht eine gute Uebergangsloesung. Doch erst
einmal fehlt es an Mainboards und Chipsaetzen, die EDRAM unterstuetzen.

1.17 *RDRAM*

RDRAM (Rambus DRAM) sind DRAMs einer voellig neuen Generation. Ihre
Technik ermoeglicht nicht nur groessere Sepeicherkapazitaeten, sondern
vor allem eine hoehere Speicherbandbeite. So bezeichnet RDRAM auch
nicht nur einen neuen IC Typ, sondern auch ein neues Speicher-Bus-
konzept, das in der Lage ist, theoretisch bis zu ca. 0.5 GB/s zu
uebertragen. Im Gegensatz zu herkoemmlichem DRAM (ca. 90 MB/s), EDO RAM
(107 MB/s) und SDRAM (264 MB/s) kommt RDRAM in der Praxis auf
stattliche 425 MB/s – so zumindest die Angaben der Firma RAMBUS. Die
hohe Transferrate von 500 MB/s wird durch einen mit 250 MHz getakteten
Rambus erreicht, bei dem sowohl bei steigender als auch bei fallender
Signalflanke Daten uebertragen werden koennen.
Ermoeglicht werden die hohen Transferraten durch extrem grosse
Packungsdichten (= kurze Signalwege, wenig Kapazitaeten etc.) und
niedrige Versorgungsspannung von 0.6 V. Der gesamte Bus darf aufgrund
des hohen Taktes grade einmal 10 cm lang sein. Die CPU befindet sich
deshalb bei RAMBUS Systemen meist auf einer Platine mit dem RAM.
RDRAM sind intern in neun Baenken aufgebaut, die jeweils in einem
Cache die zuletzt ausgelesene Zeile vorhalten. Je mehr RDRAMs verwendet
werden, desto groesser wird also auch der Cache und desto schneller die
Zugriffe.

In absehbarer Zeit sind jedoch trotz der optimistischen Firmenangaben
keine RDRAM Produkte fuer PC zu erwarten. Auf Workstations soll der
Einsatz jedoch im Kommen sein.

1.18 *SDRAM*

SDRAM (Synchronous DRAM) koennen durch laengere Burstzuklen
wesentlich schneller ausgelesen werden, als normale DRAMs. Intern sind
sie in mehreren Baenken aufgebaut, so dass ein internes Interleaving
moeglich ist (s. 1.11). SDRAM unterstuetzt auch die Faehigkeiten des
Hyper Page Mode (s. 1.12).

1.19 *SIP*

SIP = Single Inline Package
SIP Module werden heutzutage nicht mehr verwendet. Sie sind technisch
gesehen identisch mit SIMMs und unterscheiden sich nur durch ihre
Beinchen an den Kontaktflaechen. Man kann SIP in SIMM umwandeln, indem
man vorsichtig die Beinchen abloetet. So lassen sich SIP in Boards, die
fuer SIMM ausgelegt sind, weiterverwenden. Sogar die Verwendung in PS/2
Adaptern klappt nach dem Abloeten der Pins zumeist.

1.20 *RAM Verdopplung per Software*

Ein Programm, dass obiges verspricht ist z.B. das mittlerweile vom
Markt genommene Produkt ‚Softram‘. Verschiedene Tests haben ergeben,
dass diese Software unter Windows vielleicht etwas die freien
Ressourcen vergroessert, sonst aber keinen messbaren
Geschwindigkeitsvorteil bringt. Von einer Verdopplung des
Arbeitsspeichers kann keine Rede sein. Man kann wohl alles aus dieser
Programmsparte unter Humbug verbuchen. Fuer den Apple (Power)
Macintosh gibt es ebenfalls RAM Verdopplungs Software, die im
Gegensatz zu den PC Produkten aber eine Wirkung zeigen soll.

1.21 *Was tun bei DRAM Problemen ?*

Fehlersymptome:

– Ausgabe der Meldung „PARITY ERROR at xxxx:yyyy“, wobei xxxx und yyyy
eine hexadezimale Speicheradresse bezeichnen
– Ausgabe der Meldung „PARITY ERROR ???“
– Haeufige unerklaerliche Abstuerze, speziell unter grafischen
Benutzeroberflaechen (Windows / OS/2) oder anderen
speicherintensiven Anwendungen
– HIMEM meldet „unzuverlaessigen“ Speicher

Fehlerdiagnose:

– „Above 1 MB Memory Test“ im BIOS einschalten
– Speichertest bei HIMEM durchlaufen lassen
– Testprogramme wie z.B. Checkit den Arbeitsspeicher pruefen lassen
(dazu ohne Treiber etc. booten !)

Fehlerbehebung: (siehe auch: 5.3)

– SIMMs herausnehmen und Kontaktflaechen mit Radiergummi vorsichtig
(statische Aufladungen vermeiden !) reinigen.
– Ein anderes (passendes) SIMM besorgen und nach und nach alle Module
gegen dieses austauschen. So laesst sich recht sicher bestimmen, ob
ein Hardwarefehler in einem der Bausteine vorliegt.
– Jumper fuer Single/Double Side Bestueckung auf dem Mainboard (falls
vorhanden) auf korrekte Einstellung pruefen
– DRAM Timings im BIOS veraendern (mehr Waitstates einlegen, „DRAM
Speed“ auf Slower/Slowest etc.)
– Pruefen, ob die eingesetzten Module die im Mainboardhandbuch
empfohlene Zugriffszeit besitzen (s. 1.1).
– „Decoupled Refresh“ im BIOS probehalber ausschalten
– „RAS before CAS“ im BIOS probehalber ausschalten
– „Quick POST“ im BIOS probehalber ausschalten

1.22 *Special: RAM Bezeichnung entschluesselt*

Leider geraet der Versuch aufgrund des Aufdrucks auf dem Gehaeuse
eines DRAM Chips seine Daten zu erfahren, oft zu einem Lotteriespiel.
Die Hersteller sind daran nicht ganz unschuldig, da sie keine
einheitlichen Codierungen verwenden. Im folgenden habe ich versucht,
die gaengisten Bezeichnungen zu entschluesseln. Dazu als Beispiel die
Beschriftung „TI4C41000J-7“:

TI 4 C 4 1000J – 7
| | | | | | — Zugriffszeit (70 ns)
| | | | | — Gehaeusetyp
| | | | — Kapazitaet (1024 kBit)
| | | — Organisationsform (x4)
| | — Technik (CMOS)
| — Typ (DRAM)
— Hersteller (Texas Instruments)

Fuer die gebraeuchlichen Bezeichnungen habe ich ihre Bedeutung
nachfolgend aufgelistet. Wenn jemand weitere Bedeutungen kennt, bitte
melden !

Hersteller Typ
———- —
AE Aster 4 DRAM
AS Alliance 5 SRAM
CY Cyrix 42 VRAM
GM ??? 48 Sync. RAM
EM EltronTech 61 PB SRAM
HM Hitachi
HY Hyundai Technik
KM, KH Samsung ——-
M Oki, Mitsubishi k.a. NMOS
MCM Motorola C CMOS
MT Micron LC Low Power CMOS
N NKK
NEC Nippon Electronics Company Gehaeusetyp
NN NPN ———–
TMM,TC Toshiba k.A. DIP
TI,TMS Texas Instruments J SOJ
Z ZIP
UM UMC DJ ???
W Winbond

Die Organisationsform gibt multipliziert mit der Kapazitaet die
Speicherkapazitaet des Moduls an:

Organisation Kapazitaet* Beispiele: Zwei Module mit der
———— ———- Organisationsform x16 und der Kapa-
zitaet 256 kBit ergeben 1 MB DRAM:
1: x1 16: 16 kBit 256 * 16 = 4096 kBit * 2 = 1 MB
4: x4 64: 64 kBit
8: x8 256: 256 kBit Ein SIMM traegt 9 Bausteine mit der Be-
16: x16 512: 512 kBit zeichnung ‚TMM4C11000J-8‘, es hat also
1000: 1024 kBit die Organisation ‚x1‘ und die Kapa-
1024: 1024 kBit zitaet ‚1024 kBit‘. Es ergibt sich :
1M: 1024 kBit 1024 * 1 = 1024 kBit * 9 = 1 MB +
Paritybit.

* Bei den Kapazitaetsangaben werden oft auch leicht abweichende Zahlen
angegeben. Sie klassifizieren diverse Subtypen, haben aber keine
praktische Auswikung auf die Kapazitaet. So z.B. ist statt ‚256‘ fuer
256 kBit oft auch 257, 258 oder 262 anzutreffen.

Die aufgedruckte Zugriffszeit ist nicht immer ganz eindeutig zu
entschluesseln, da einige Codes doppelt vorkommen. Zieht man aber die
Verwendung des Moduls (Cache, Arbeitsspeicher, etc.) in Betracht wird
meist schnell klar, wie die korrekte Zugriffszeit lautet.

-12: 120 ns bzw. 12 ns -50/-5: 50 ns
-10: 100 ns bzw. 10 ns -45: 45 ns (oft bei Grafikkarten)
-80/-8: 80 ns -20: 20 ns (oft bei 2nd Level Cache)
-70/-7: 70 ns -15: 15 ns (oft bei 2nd Level Cache)
-60/-6: 60 ns – 7: 7 ns (oft bei PB Cache)

1.23 *Special: SIMM und PS/2 intern*

Eine detallierte Erklaerung saemtlicher Abkuerzungen in dieser Liste
wuerde ein kleines Buch fuellen. Deshalb verweise ich hier nur auf das
kleine Glossar am Ende der FAQ.

Standard SIMM:

————————–
|o SIMM (vorn) o|
|_________________________|
1 30

1 Vcc 11 A4 21 W
2 CAS 12 A5 22 GND
3 DQ0 13 DQ3 23 DQ6
4 A0 14 A6 24 nc
5 A1 15 A7 25 DQ7
6 DQ1 16 DQ4 26 Q8
7 A2 17 A8 27 RAS
8 A3 18 A9 28 CAS8
9 GND 19 A10 29 D8
10 DQ2 20 DQ5 30 Vcc

Anmerkung: SIPPs sind genauso wie SIMMs beschaltet, die obige
Tabelle gilt also auch fuer SIP.

Standard PS/2 Modul:

————————————————-
|o PS/2 Modul o|
| Bestueckungsseite/vorn |
| |
———————–^———————–
1 36 37 72

1 Vss 19 nc 37 s.u. 55 DQ11
2 DQ0 20 DQ4 38 s.u. 56 DQ27
3 DQ16 21 DQ20 39 Vss 57 DQ12
4 DQ1 22 DQ5 40 /CAS0 58 DQ28
5 DQ17 23 DQ21 41 /CAS2 59 Vcc
6 DQ2 24 DQ6 42 /CAS3 60 DQ29
7 DQ18 25 DA22 43 /CAS1b 61 DQ13
8 DQ3 26 DQ7 44 /RAS0 62 DQ30
9 DQ19 27 DQ23 45 s.u. 63 DQ14
10 Vcc 28 A7 46 nc 64 DQ31
11 nc 29 nc 47 /WE 65 DQ15
12 A0 30 Vcc 48 nc 66 nc
13 A1 31 A8 49 DQ8 67 PD1
14 A2 32 s.u. 50 DQ24 68 PD2
15 A3 33 s.u. 51 DQ9 69 PD3
16 A4 34 /RAS2 52 DQ25 70 PD4
17 A5 35 s.u. 53 DQ10 71 nc
18 A6 36 s.u. 54 DQ26 72 Vss

Pin Organisationsform
——————————————————————-
256×32 512×32 1Mx32 2Mx32 256×36 512×36 1Mx36 2Mx36
——————————————————————-
32 nc nc A9 A9 nc nc A9 A9
33 nc /RAS3 nc /RAS3 nc /RAS3 nc /RAS3
35 nc nc nc nc DQ_a DQ_a DQ_a DQ_a
36 nc nc nc nc DQ_b DQ_b DQ-b DQ_b
37 nc nc nc nc DQ_c DQ_c DQ_c DQ_c
38 nc nc nc nc DQ_d DQ_d DQ_d DQ_d
45 nc /RAS1 nc /RAS1 nc /RAS1 nc /RAS1
——————————————————————-

Zur Unterscheidung von SS und DS Modulen, muss man die Verdrahtung der
Pins 33+45 betrachten: Sind diese von den Kontaktflaechen zu der
Bestueckungsflaeche durchverbunden, so handelt es sich um ein Double
Sided (DS) Modul, andernfalls um ein Single-Sided (SS) Modul.

2 EDO RAMS
2.1 *Was sind EDO RAMs ?*

EDO = Extended Data Output
EDO RAMs werden auch als ‚Hyper Page Mode DRAMs‘ bezeichnet. Sie be-
sitzen einen im Vergleich zu normalen DRAMs ([Fast] Page Mode DRAMs)
erhoehten Datendurchsatz bei Lesezugriffen. Dies wird durch eine
Verlaengerung der Auslesezeit (genau: Auslesezeit ist bei EDO
unabhaengig vom CAS Signal) erreicht. Hierdurch sind ineinander
verschachtelte Zugriffe (Pipelining) auf den Speicher moeglich, was die
Geschwindigkeit erhoeht. Allerdings ist mit EDO RAMs kein
Bank-Interleaving mehr moeglich (s. 1.8). Schreibzugriffe werden durch
EDO nicht beschleunigt. EDO RAMs besitzen die selbe Bauform wie PS/2
SIMMs. Sie sind jedoch deutlich teurer. 8 MB EDO Module sind momentan
am Markt recht gut verfuegbar. 16 MB EDO Module gibt es erst in kleinen
Stueckzahlen und zu Preisen von um 1000 DM. Hier lohnt sich das Warten
sicher.

_Entgegen vieler Geruechte besitzen EDO RAMs keinerlei Cache_. Diese
Geruechte beruhen meist auf der irrefuehrenden Werbung eines
Discounters oder einer Verwechselung von EDO RAMs mit EDRAMs (s. 1.16).
Da EDO RAMs also keinen Cache besitzen, ist es nicht sinnvoll bei EDO
RAM Bestueckung den 2nd Level Cache wegzulassen, so wie es einige
Discounter (z.B. auf Basis des Intel Zappa Mainboards) praktizieren.
Bei Kauf eines PC mit EDO RAM sollte man also besonders auf das
Vorhandensein bzw. wenigstens auf die Nachruestbarkeit von 2nd Level
Cache achten. Die hoechste Geschwindigkeit laesst sich in Kombination
von EDO RAMs und schnellem (synchronen) 2nd Level Cache erzielen (s.
4.3., Benchmark 2.4).

Im internen Aufbau unterscheiden sich EDO RAMs nur minimal von
herkoemmlichen DRAMs. Ein leicht modifizierter Schaltplan ist alles,
was EDO RAMs ausmacht. Durch diesen Schaltungs-Trick verdient das DRAM
Kartell wesentlich mehr, ohne die Produktionskosten nennenswert zu
erhoehen. Auch Discounter verdienen durch den Ersatz des teuren 2nd
Level Cache durch EDO RAM mit.

2.2 *Unterscheidung EDO FPM DRAM*

Schwer :-). Eine genormte Bezeichung gibt es nicht. Durch
Geschwindigkeitsvergleich laesst sich der Unterschied aber meist
zeigen. Zudem zeigt zumindest das Asus P55TP4(XE) Mainboard das
Vorhandensein von EDO RAMs an.

2.3 *Welche Boards unterstuetzen EDO ?*

Grundsaetzlich alle Mainboards mit Intels T-Chipsatz (S824337FX)
Chipsatz haben eine EDO RAM Unterstuetzung (Mainboards mit dem Intels
TXC Chipsatz unterstuetzen sogar Burst EDO RAM). Das heisst, sie
koennen sowohl normale (Page Mode) PS/2 Module als auch EDO RAMs
verwenden. Eine Mischbestueckung ist ebenfalls moeglich. Ob eine
Mischbestueckung die EDO RAMs ausbremst ist vom Board abhaengig.

Mittlerweile haben auch viele andere Chipsatzproduzenten eine EDO
Unterstuetzung entwickelt und bieten entsprechende Boards an. Bei den
aktuellen Chipsaetzen von SiS (551x) und Opti ist allerdings eine
Mischbestueckung nicht moeglich. Der Pentium Pro Chipsatz ‚Orion‘
unterstuetzt kein EDO RAM; er ist aelter als der Intel T-Chipsatz. In
Mainboards ohne EDO Unterstuetzung kann kein EDO RAM eingesetzt werden.

Bei Grafikkarten ist EDO Unterstuetzung schon laenger zu finden.
Meines Wissens verwenden Elsa Winner 1000 Trio, Asus PCI/AV868, einige
Spea Mirage und Hercules Stingray 64 EDO RAM.

2.4 *Wieviel schneller sind EDOs ?*

Das schwerste zuletzt. Dies ist sicher eine Streitfrage. Deshalb
moechte ich hier auch nicht zu sehr ins Detail gehen, sondern lediglich
Anhaltspunkte liefern (Quelle hierfuer: c’t 4/95, S.134). Getestet wurde
ein Asus PCI/I P54TP4 Mainboard mit Page-Mode DRAM und EDO RAM.
Kurzfassung der Ergebnisse (mit freundlicher Genehmigung der c’t):

P54TP4 DRAM -P54TP4 EDO -P54TP4 DRAM -P54TP4 EDO Cache
ohne 2nd Level -ohne 2nd Level -mit BurstSRAM -mit BurstSRAM
————————————————————–
(1) 38 44 31 39
(2) 39 45 49 54
(3) 38 45 43 49
(4) 94% 101% 111% 112%
(5) 323 340 407 412
Legende: (1) Memorytransferrate MOVSD, Hauptspeicher [MB/s]
(2) DOS Simulation [MB/s]
(3) Windows Simulation [MB/s]
(4) Mittelwert Anwendungsbenchmarks Win3.1 (DRAM, 256kB Async.
Cache =100%)
(5) aus c’t 10/95: Sysmarks 95 mit Intel T-Chipsatz, 16 MB
RAM und Pentium 133 MHz

So schoen die Lowlevel Benchmarks aussehen, so enttaeuschend sind
die realen Anwendungsbenchmarks fuer EDO RAMs. Ein Gewinn von 0..2% an
Geschwindigkeit ist der Normalfall. Bei extrem Speicherintensiven
Programmen (z.B. Bildbearbeitung) faellt der Gewinn etwas hoeher aus
(ca. 3..5%) ist aber immer noch gering. Detalliertere Informationen
finden sich u.a. in der c’t 10/95 ab Seite 150 und in der PC Intern
12/95 unter dem Titel ‚Nepp mit EDO RAM‘. Interessant sind auch die
Benchmarks im Artikel ‚Das letzte Quentchen‘ der c’t 2/96.

2.5 *Burst EDO*

Burst EDO RAMs befinden sich derzeit im Entwicklungsstadium. Sie
besitzen die Faehigkeiten von EDO RAMs und koennen zusaetzlich auch
Schreibzugriffe beschleunigen (x-2-2-2 Burst). Die dabei verwandte
Technik ist im Prinzip die selbe wie sie EDO RAMs zur Beschleunigung
von Lesezugriffen einsetzen (s. 2.1). Erste Mainboards, die Burst
EDO unterstuetzen sind bereits angekuendigt worden. Sie werden auf
Intels TXC Chipsatz basieren. Intel bezeichnet Burst EDO RAM uebrigens
als ‚Enhanced EDO RAM‘.

3 Speicher fuer Grafikkarten
3.1 *Unterschiede DRAM, VRAM, WRAM, MDRAM*

DRAM = Dynamic Random Access Memory
MDRAM= Multibank – “ –
VRAM = Video – “ –
WRAM = Window – “ –

Im Gegensatz zu DRAM, das fuer viele Zwecke verwendet wird, sind VRAM
Bausteine ausschliesslich auf (hochwertigen) Grafikkarten zu finden. Ihr
wesentlicher Unterschied ist, dass sie gleichzeitig gelesen und
beschrieben werden koennen (‚Dual ported‘, Sie besitzen zwei getrennte
Adress- und Datenbusse). Dadurch kann man bei Grafikbeschleunigerkarten
hohe Bildwiederholfrequenzen (hohe Auslesebandbreite fuer den
Bildaufbau) und hohe Geschwindigkeit (hohe Bandbreite beim Schreiben in
den Grafikspeicher) kombinieren. Ein Nachteil von VRAMs ist jedoch,
dass sie recht teuer sind, und dass sich ihr technischer Vorsprung zu
den DRAMs in den letzten Jahren durch Techniken wie das Interleaving
verringert hat (siehe 1.8). Interleaving ist auch bei VRAM Karten
moeglich – leider jedoch selten zu finden. Unterstuetzt wird diese
Technik z.B. von Weiteks P9000 Grafikprozessor.

WRAM ist ein neuer Speichertyp, der technisch auf VRAMs basiert.
Erstmals eingesetzt wurde er auf der Matrox Millennium Grafikkarte.
WRAM bietet im Vergleich zu VRAM einen um 50% hoeheren Datendurchsatz
(max. 400 MB/s), sowie kompaktere Bauweise (1 MB/Chip statt 512kB pro
Chip). Durch die hoehere Kapazitaet und geringere Chipflaeche sind sie
pro MB billiger als VRAMs. Ihr Videoport ist aehnlich dem von VRAMs
aufgebaut (Dual ported).

MDRAMs sind im Prinzip normale DRAMs, die jedoch intern in 32kB kleinen
Speicherbaenken angesprochen werden koennen. Dadurch sind ueberlappende
Zugriffe (Interleaving) moeglich. Angeblich erreicht MDRAM den 5fachen
Durchsatz von DRAMs. Da MDRAMs in 64kB Bloecken aufgebaut sind, ist es
moeglich, den Speicher der Grafikkarte besser an die Aufloesung/Farb-
tiefe anzupassen. So sind z.B. 1.5 MB statt 2 MB RAM moeglich. MDRAM
wird z.Zt. nur vom Tseng ET6000 Chip unterstuetzt.

3.2 *Speicherbedarf*

Abhaengig von Aufloesung und Farbanzahl benoetigen Grafikkarten
unterschiedlich viel RAM zur Darstellung des Bildes. Folgende Tabelle
gibt fuer alle gaengigen Aufloesungen den benoetigten Speicherausbau
an:

Aufloesung Farbtiefe min. RAM
——————————–
640×480 8 bit 512 kB
16 bit 1 MB
24 bit 1 MB
800×600 8 bit 512 kB 8 bit = 256 Farben
16 bit 1 MB 15 bit = 32768 Farben (Directcolor)
24 bit 2 MB 16 bit = 65536 Farben (Highcolor)
1024×768/ 8 bit 1 MB 24 bit = 16.8Mio. Farben (Truecolor)
1152×864 16 bit 2 MB
24 bit 4 MB
1280×1024 8 bit 2 MB
16 bit 4 MB
24 bit 4 MB
1600×1280 8 bit 2 MB
16 bit 4 MB
24 bit 8 MB

Anmerkung: Bei dieser Tabelle wurde davon ausgegangen, dass die 24
Bit pro Pixel im Speicher physikalisch 32 Bit belegen. Die Alternative
dazu – der sog. ‚Packed Pixel Mode‘ – fand keine Beruecksichtigung. Er
wird auch nur auf wenigen Grafikkarten eingesetzt, da seine Anwendung
Performance kostet. Auch ‚krumme‘ Speichergroessen (‚2.5 MB‘) sind
nicht beruecksichtigt. Der bei einigen High-End Grafikkarten
vorzufindende 3D Beschleuniger Chip kann zusaetzlichen Speicher
benoetigen.

Wenig bekannt ist, dass 64 Bit Grafikkarten erst mit 2 MB RAM auf ihre
volle Leistung kommen. Bei 1 MB Grafikspeicher muessen sie ihre
Zugriffe aufteilen und sind so langsamer. Auch einige 32 Bit Karten
koennen via Interleaving mit 2 MB etwas beschleunigen.

3.3 *Shared Memory*

Dieses Feature wird z.Zt nur vom SiS 551x Chipsatz in Verbindung mit
einem SiS onboard Grafikchip des Typs 6204 bzw. 6205 unterstuetzt.
Shared Memory ermoeglicht die Nutzung eines Teils des Hauptspeichers
als Grafikspeicher. Dieses kostet Performance, ist jedoch billiger als
der getrennte Einsatz des RAMs. Vielleicht stehen demnaechst beim
Discounter PCs mit 8 MB RAM, die aber nur 7 MB einsetzen koennen, da 1
MB fuer die Grafik belegt ist. Dass Shared Memory schlecht fuer die
Leistung ist, gibt SiS selbst zu. Mainboards mit Nutzung des Shared
Memory gibt es uebrigens z.B. vom taiwanesischen Hersteller Chaintech.

4 Cache
4.1 *Was ist Cache ? Wozu Cache ?*

Moderne CPUs werden beim Zugriff auf den Arbeitsspeicher durch zwei
Faktoren stark gebremst:

a) Der Boardtakt (‚externer Takt‘) – und damit auch der Takt, mit dem
auf den Arbeitsspeicher zugegriffen werden kann – liegt meist
niedriger, als der CPU Takt. Hier tritt also schon ein Performance-
verlust auf. Zur Verdeutlichung die Taktraten der aktuellen Pentium
bzw. Pentium Pro Prozessoren in MHz:

CPU Takt Board PCI Bus MUL
———————————-
P5: 60 60 30 x1 MUL = Taktmultiplier;
66 66 33 x1 Werte fuer synchrone Taktung;
P54C: 75 50 25 x1.5 alles in MHz
90 60 30 x1.5
100 66 33 x1.5 Maximaler PCI Bustakt: 33 MHz.
120 60 30 x2 Insofern sind CPUs mit 66/100/
133 66 33 x2 133/166 MHz optimal.
P54C: 150 60 30 x2.5 Bei Pentium mit 66 MHz Boardtakt
+P6 166 66 33 x2.5 und bei Pentium Pro generell wird
180 60 30 x3 die Verwendung von 60 ns DRAM
200 66 33 x3 empfohlen (s. 1.1).

[Der Vollstaendigkeit sind hier die richtige Einstellung fuer den
Taktmultiplier und der PCI Bustakt, der bei PCI 2.0 maximal 33 MHz
betragen darf (PCI Specs V2.1: 66 MHz), mit aufgelistet. Hierauf will
ich jedoch nicht naeher eingehen. Die Unterstuetzung der Taktmultiplier
Raten von x2.5 und x3 werden auch als BF0/BF1 Support bezeichnet.]

b) Auch der Boardtakt liegt noch um einiges hoeher, als herkoemmliche
DRAMs mit 60..80 ns Zugriffszeit es verkraften koennen. Die Folge davon
ist, dass die CPU beim Speicherzugriff extrem zeitraubende Wartezyklen
einlegen muss. Ein simples Rechenbeispiel zur Verdeutlichung: Bei 66
MHz Boardtakt ist jeder Takt nur ca. 15*10^-8 Sekunden = 15 ns lang –
viel zu schnell fuer normale DRAMs. Aus Kostengruenden ist es nicht
moeglich, wesentlich schnellere DRAMs einzusetzen.

Eine Loesung dieses Dilemmas sind kleine, schnelle Zwischenspeicher:
die Caches. Sie ‚puffern‘ die Lese-/Schreibzugriffe auf das langsame
DRAM ab, indem sie haeufig benoetigte Daten zwischenspeichern. Ihre
Zugriffszeit liegt bei 20 ns und weniger (typisch: 15 ns).

4.2 *1st und 2nd level Cache*

Der 1st (First) Level Cache befindet sich in der CPU. Er ist 8kB (486
SX, DX, DX2, AMD DX4) bzw. 16 kB (Intel DX4, Pentium, Pentium Pro)
gross. Der 386 und aeltere CPUs besitzen keinen 1st Level Cache. Auf
diesen Cache kann die CPU ohne Wartezyklen (Waitstates) zugreifen. Er
arbeitet mit der selben Taktrate wie die CPU selbst.

Der 2nd (Second) Level Cache (‚externer Cache‘) befindet sich auf dem
Mainboard (Ausnahme: Pentium Pro, hier ist der 2nd Level Cache
in das CPU Gehaeuse integriert). Er dient dazu, Speicherzugriffe auf
den eigentlichen Arbeitsspeicher zu cachen. Dieser Cache ist auf der
grossen Mehrzahl der Mainboards 256 kB gross und kann meist auf bis zu
512 kB aufgeruestet werden. Einige Chipsaetze unterstuetzen sogar 1 MB
2nd Level Cache (z.B. SiS 551x). Der 2nd Level Cache besteht aus SRAMs
mit typischerweise 12, 15 oder 20 ns Zugriffszeit. Damit ist er deutlich
schneller als der normale Arbeitsspeicher (normal: 70 ns). Den
Geschwindigkeitsvorteil, der durch 2nd Level Cache erreicht wird zeigt
auch der Benchmark unter 2.4.

Bei einigen Mainboards ist es moeglich, durch den Einsatz schnellerer
Cache RAMs den Zugriff auf den 2nd Level Cache zu beschleunigen. Z.B.
kann man in einigen Faellen durch den Wechsel von 20ns auf 15ns ohne
Waitsates auf den Cache zugreifen.

Beim Pentium Pro (P6) ist der 2nd Level Cache in den Chip integriert
und wesentlich schneller, da er mit dem vollen Prozessortakt laeuft
(Performancezuwachs rund 100% in Vergleich zu Pipelined Burst Cache).
Den Pentium Pro gibt es z.Zt. in Ausfuehrungen mit 256 kB und 512 kB
2nd Level Cache.

Bei Digital Alpha Rechnern gibt es uebrigens zusaetzlich zum in die
CPU integrierten 1st und 2nd Level Cache einen auf dem Board
befindlichen 3rd Level Cache. Beim Pentium Pro ist derartiges bisher
nicht vorgesehen.

4.3 *Asynchroner und synchroner Cache*

Bis zum Erscheinen des Intel T-Chipsets konnten fuer den 2nd
Level Cache lediglich asynchrone SRAMs mit Zugriffszeiten von 12, 15
oder 20 ns eingesetzt werden. Diese sind jedoch auf modernen Boards
bereits eine Bremse, da sie nicht synchron mit dem Boardtakt laufen.

Neuere Chipsaetze wie Intels T-Chipsatz, SiS 551x, UMC, …
unterstuetzen neben asynchronem Cache auch synchrone SRAMs („Burst
Cache“) eingesetzt werden. Diese sind zwar deutlich teurer als
asynchrone Bausteine, jedoch mit ca. 7 ns Zugriffszeit unschlagbar
schnell. Der ebenfalls unterstuetzte Pipelined Burst Cache ist nochmals
schneller als der Burst Cache. Vereinfacht gesagt, spart er durch
verlaengerte Bursts ohne erneutes Anlegen der Adresse Zeit (Wegfall des
Lead off cycle: 3-1-1-1-1-1…. Burst statt 3-1-1-1 Burst).

4.4 *Cachegroessen*

Wie bereits unter 4.2 gesagt ist der typische asynchrone 2nd Level
Cache heute 256 kB gross. Eine Aufruestung – sofern sie moeglich ist –
schlaegt fuer weitere 256 kB je nach Zugriffszeit mit ca. 50-80 DM zu
Buche (Pipelined Burst Cache: knapp 200 DM). Wichtig ist bei einer
Cacheaufruestung auch das Dirty Tag RAM (s. 4.5) – so vorhanden –
entsprechend zu vergroessen und auf die korrekte Zugriffszeit zu
achten. Der mit einer Cacheaufruestung auf mehr als 256 kB erreichbare
Geschwindigkeitsvorteil ist jedoch aeusserst mager (meist nicht mehr
als 2-3%). Deshalb unterstuetzen die meisten Chipsaetze auch keine
Caches >512 kB, da spaetestens hier der Vorteil gegen 0% strebt. (Dies
gilt nur fuer die ueblichen Ein-Prozessor Systeme. Bei Multiprocessing
koennen Caches von bis zu 2 MB oder getrennte Caches fuer jede CPU
sinnvoll sein.)

Fuer den (seltenen) Fall, dass die Groesse des Hauptspeichers die vom
Chipsatz cachebare Groesse uebersteigt, ist eine Aufruestung des 2nd
Level Cache sinnvoll, da andernfalls ein Teil des RAM ueberhaupt nicht
gecachet wird (s. auch 4.5). Leider ist die Groesse des cachebaren
Bereichs vom Chipsatz abhaengig, so dass man hierzu keine allgemeinen
Aussagen treffen kann. Als Beispiel sei nur der Intel T-Chipsatz
angegeben, der mit 256kB Cache max. 64 MB RAM cachen kann (der
Nachfolger TXC (‚T… 2‘) kann 512 MB RAM cachen).

Sinnvoller – wenn auch noch etwas teurer als 512 kB asynchroner
Cache – sind 256 kB synchroner Cache. Diverse Tests z.B. in der c’t
haben dies bestaetigt. Eine interessante Variante sind Mainboards, die
sich via COAST-Steckmodul mit asynchronem oder synchronem Cache
aufruesten lassen. Solche Boards gibt es von Asus (PCI/I P55TP4
XE), IWill (P54TS(W)), ABit (PH5), Gigabyte (GA586ATS) u.v.a. Der
Ausbau ist hier meist bis zu 1 MB 2nd Level Cache moeglich. Im Falle
einer Nachruestung mit PB-Cache wird der auf dem Board vorhandene
asynchrone Cache deaktiviert. Er kann nicht zusaetzlich betrieben
werden.

Die o.g. COAST (Cache on a Stick) Module entstammen einem Standard
von Intel. Sie sind universell in allen COAST kompatiblen Mainboards
zu verwenden. COAST Module haben 160 Kontakte und sehen PS/2 SIMMs
nicht unaehnlich. Es gibt sie mit asynchronem sowie synchronem Burst-
oder Pipelined-Burst Cache. Vorsicht: ASUS COAST Module entsprechen
nicht ganz der Norm: sie passen zwar in Sockel anderer Boards, sind
aber aufgrund anderer Beschaltung inkompatibel und koennen schwere
Schaeden verursachen.

Im Fall des Pentium Pro muss man beim Kauf der CPU festlegen, wieviel
Cache man haben will. Eine Nachruestung ist (natuerlich) nicht
moeglich. Den Pentium Pro gibt es mit 256 kB und 512 kB Cache.
Groessere Caches sind in Zukunft zu erwarten.

4.5 *Cachetechniken: Write Back, Write Thru, Tag, Dirty Tag*

Ein Write Thru (WT) Cache wird nur bei Lesezugriffen wirksam. Schreib-
zugriffe der CPU reicht er direkt an den Hauptspeicher weiter.
Zusaetzlich muss natuerlich ueberprueft werden, ob durch den Schreib-
zugriff der Cacheinhalt ebenfalls aktualisiert werden muss.

Der Write Back (WB) Cache kann zusaetzlich bei Schreibzugriffen seine
Vorteile ausspielen: Wird ein Datum geschrieben, das sich bereits im
Cache befindet, wird es nur dort aktualisiert und der zeitraubende
Zugriff auf den Hauptspeicher wird vermieden. Besonders bei hoher
Lokalitaet der Schreibzugriffe entlastet dieses Verfahren den Memory
Bus. Erst wenn der Cache ‚voll‘ ist und ein Teil ueberschrieben werden
muss, wird das Datum in den Hauptspeicher zurueckgeschrieben.

Das Tag RAM speichert, welche Speicheradressen (d.h. welche Daten) im
Cache vorhanden sind. So kann der Cachecontroller die angeforderten
Daten entweder aus dem Cache lesen oder die Anfrage an den
Hauptspeicher weiterleiten. Das TAG RAM ist unentbehrlich fuer die
Funktion des Cache.

Das optionale Dirty Tag RAM (auch: Alter RAM) dient dem Write Back
Cache dazu, diejenigen Cachelines zu markieren, die ‚Dirty‘ sind (d.h.
andere Daten als der Hauptspeicher enthalten). Fehlt es, kann der
Cachecontroller des Chipsatzes nicht wissen, welche Cachelines noch
zurueckgeschrieben werden muessen und schreibt sicherheitshalber alle
Lines, die ueberschrieben werden sollen in den Hauptspeicher. Diese
Verfahren sichert zwar die Datenintegritaet, kostet aber Performance.
Das Dirty Tag RAM ist meist etwas schneller organisiert, als der
eigentliche 2nd Level Cache (z.B. 12 ns statt 15 ns). Der
Geschwindigkeitsgewinn durch das Dirty Tag RAM ist mit