Die RAMFAQ (von Holger Ehlers) ------------------------------ Version : 3.0 (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 SCRAM 1.20 SIP 1.21 RAM Verdopplung per Software 1.22 Was tun bei DRAM Problemen ? 1.23 Special: RAM Bezeichnung entschluesselt 1.24 Special: SIMM und PS/2 intern 1.25 Wieviel RAM brauche ich ? 1.26 DRAM Zahl pro Modul 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 / UMA 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 RAMFAQ 0.1 *Wo bekomme ich die RAMFAQ ?* Die jeweils neueste RAMFAQ kann bei meiner Mailbox, der PC POWER BBS in Walsrode bezogen werden: per Fido-Request unter der Adresse 2:241/1050 (analog bis 28k8 + ISDN). Das Request-Magic lautet RAMFAQ bzw. MINIFAQ fuer die kleine Ausgabe der RAMFAQ. Wer keinen Fidorequest durchfuehren kann, kann gern auch Online unter der Nummer 05161/910862 anrufen (analog+ISDN): Hier findet sich die FAQ im Dateibereich 2 (FAQs). Die RAMFAQ ist auch in zahlreichen anderen Mailboxen verfuegbar. In den Fidoechos 386.GER, HARDWARE.GER und STORAGE.GER poste ich alle zum 14 Tage eine aktuelle Liste der Support-Boxen. Neben der RAMFAQ gibt es von mir noch zwei weitere FAQs - am besten gleich requesten: Magics TAKTFAQ bzw. HDDFAQ. TAKTFAQ: *alles* zu Hochtakten von CPUs, CPU Faelschungen, Kuehlung, Bus/Boardtakt, Tuningtips, CPU Codenummern, ... HDDFAQ: *alles* ueber Festplatten: IDE, EIDE, SCSI, Terminierung, IDs, LUNs, Zugriffszeiten, Cache, RAID, Master/Slave, Powersave, PIO Modes, Daeisysteme: FAT, VFAT, HPFS, NTFS, Streamer, ZIP/JAZ Drive, Benchmarks, Lowlevel Fortmat, Mapping, SDMS, ... 0.2 *Welche Version ist aktuell ?* Interessierte Leser koennen per Netmail an mich (Holger Ehlers, 2:241/1050.1) 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/1050.1 adressieren. An dieser Stelle moechte ich mich bei allen bedanken, die mit Ihren Tips zu dieser FAQ beigetragen haben. Wichtige Neuerungen in der FAQ sind am linken Rand mit '*' gekennzeichnet. 1 RAM allgemein 1.1 *Zugriffszeit* Heute findet man bei neu gekaufen RAM Modulen fuer den PC nur noch FPM oder EDO Module mit 60 ns. Die aelteren 70 ns Typen sind ausgestorben und finden sich nur noch in aelteren PCs oder Laserdruckern. Teilweise tauchen jetzt sogar 50 ns Typen auf (teuer!). Die Zugriffszeit, eines Moduls kann man meist an der letzten Ziffer der Typbezeichnung ablesen. Naeheres zum Entschluesseln der Typbezeichnungen findet sich in 1.17. Die neuen SDRAM Module besitzen 12 (selten auch 15 oder 10 ns) Zugriffszeit. Mehr dazu in 1.18. Waehrend 486er Boards meist noch mit 70 oder gar 80 ns Modulen auskommen, verlangen Boards der Pentium-Klasse und aufwaerts insbesondere bei 66 MHz Boardtakt (also bei Pentium 100/133/166/200/233 Bestueckung) 60 ns Module. Jedoch gibt es auch hier Boards die tolerant sind und mit 70 ns zurechtkommen. In einem mir bekannten Fall liefen sogar 80 ns Module mit den schnellsten BIOS Settings. Dies aber soll lediglich zeigen, dass es bei der Herstellung erhebliche Schwankungen in der Qualitaet (Zugriffszeit) gibt. Eine Kaufempfehlung sind heute weder 70 ns noch 80 ns. 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 16 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. Da PS/2 Module auch als 'Single Inline Memory Module' (=SIMM) aufgebaut sind, liest man auch oft die Bezeichnung 'PS/2 SIMM'. Der besseren Unterscheidbarkeit halber spreche ich hier von SIMMs (30 polig) und PS/2 Modulen (72 polig). 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 64 bit 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 (bzw. PPro und alle anderen CPUs mit 64 bittigem Speicherbus) Board 2 Module pro Bank (Ausnahme: s. 1.5). Noch moderner sind DIMM Module die 64 bittig sind. Mehr dazu in 1.13. 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 (bei einigen Adaptern sind neben vier Modulen auch acht SIMMs moeglich) in einem PS/2 Steckplatz genutzt werden. Die Kosten fuer solche Adapter liegen je nach Ausfuehrung zwischen 30 und 100 DM. Neuerdings gibt es auch sog. 'PS/2 to PS/2' Adapter, mit denen aus zwei PS/2 Modulen eines gemacht werden kann. So kann man Steckplaetze einsparen. Selbst PS/2 -> DIMM Adapter soll es demnaechst geben. 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 sowie kapazitiven und ohmschen Veraenderungen kommen. Dies betrifft besonders Pentiumsysteme, da diese einen hoeheren Boardtakt als 486er haben und somit empfindllicher sind. Wichtig ist, bei SIMM-PS/2 Adaptern auf die Bestueckungsseite (li, re), die Hoehe und die Jumpermoeglichkeiten (60 ns, 70 ns, 80 ns u.a.) zu achten. Gernerell gilt die auch im folgenden Abschnitt ausgegebene Losung "Innerhalb einer Bank nicht mischen". Die Mischung eines SIMM->PS/2 Adapters mit einem echten PS/2 Modul laeuft jedoch erstaunlich oft problemlos. Meist ist es jedoch aufgrund der gesunkenen Preise unwirtschaftlich alte SIMMs via Adapter weiterzuverwenden. 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. Innerhalb einer Bank sollte man nur identische Module verwenden, die die selbe Organisationsform, Zugriffszeit, Bestueckungsart etc. besitzen. Folgende Bankgroessen gibt es im PC Bereich: 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, Pentium II 2 PS/2 Module / 1 DIMM 64 Bit Sonderfaelle sind z.B: - Der Intel Saturn Chipsatz fuer 486er Boards, der auf Interleaving besteht und deshalb immer zwei (oder ein Vielfaches davon) bestueckte Baenke 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. Die betreffende Bank wird also nur halb bestueckt. 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 72 poligen PS/2 Modulen gilt aufgrund der 32 bzw. 36 bittigen 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 koennen aus dem Paritybit ECC Code generieren und unterstuetzen so ECC. 'Echte' ECC RAMs werden jedoch nicht unterstuetzt. 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 unterstuetzen heute einige Chipsaetze gar kein Parity mehr und die grosse Mehrheit aller RAM Module aus den letzten Jahren besitzt auch kein Parity Bit mehr. Module mit Parity kann man jedoch i.d.R. auf neuen Boards weiterverwenden. Hier ist es aber meist rausgeworfenes Geld in PS/2 Module mit Parity zu investieren. Achtung: Intel TXC unterstuetzt wieder Parity! Mit Parity Modulen ist beim TXC und Pentium Pro sogar ECC moeglich. Hier lohnt sich Parity wieder, da ECC eine wirkliche Sicherheit bietet. 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.23. 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, die nur mit einigen Pentium Boards laufen. Ein interessantes Detail bietet der Intel T-Chipsatz (und vermutlich auch einige andere Chipsaetze): Die erste Bank (Bank 0) wird immer refresht, die anderen Baenke nur, wenn sie bestueckt sind. Da es bei vielen Boards moeglich ist, Bank 0 unbestueckt zu lassen (und statt dessen nur Bank 1 zu bestuecken), kann es so zu Geschwindigkeits- einbussen kommen: Bank 0 wird ueberfluessigerweise refresht, was Zeit kostet. Also immer zuerst Bank 0 bestuecken - auch wenn etwas anderes moeglich ist. 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 allerdings 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. Eine Liste der Herstellercodes findet sich unter 1.23. 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 70 ns liegt (Arbeitsspeicher; bei Grafikkarten werden teilweise DRAMs mit bis zu 45 ns 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 (bei Grafikkarten) verringert sich. Nachteil dieser Technik ist jedoch, dass immer ein Vielfaches von zwei Baenken bestueckt sein muss, damit abwechselnde Zugriffe erfolgen koennen. Ein Interleaving mit zwei RAM Baenken wird als 'zwei-Weg' bzw. 'zweifach' Interleaving bezeichnet, das z.B. noch beim Intel Pentium PPro Chipsaetz 'Orion' vorzufindende Interleaving ueber vier Baenke heisst dementsprechend 'vierfach Interleaving'. 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 (= EDO DRAM) sendet bereits waehrend des Auslesens der Daten die naechste Spaltenadresse und spart so nochmals etwas Zeit. Da frueher nicht alle Chipsaetze und DRAMs PM/FPM unterstuetzten sind diese Zugriffstechniken bei einigen 486er und aelteren Maschinen 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 DRAMs 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 einiger Zeit 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. Viele aktuelle Pentium Boards besitzen zusaetzlich zu PS/2 Modulen auch DIMM Module. Wichtig ist, ob dafuert PS/2 Steckplaetze geopfert wurden. Denn im Regelfall wird der Kunde heute noch zu den billigeren PS/2 Modulen greifen wollen. Wenn dann nur 2 solche Steckplaetze zur Verfuegung stehen ist man beim Aufruesten auf DIMM festgelegt. Ideal sind 4x PS/2 und 1-2x DIMM. <------------ Laenge: 13.34 cm -----------------> ------------------------------------------------- ) DIMM Modul ( | Bestueckungsseite/vorn | |o o| ------^-----------------^------------------------ 1 10 11 40 41 84 Wie die Skizze zeigt, sind die Pins bei DIMMs - im Gegensatz zu PS/2 Modulen vorn und hinten nicht identlich belegt. Nur so konnte sie hohe Zahl von 168 Pins bei praxistauglichen Abmessungen erreicht werden. 1.14 *SRAM* SRAM (Static RAM) ist im Vergleich zu DRAM wesentlich schneller, da es aufgrund der integrierten Flip-Flop Schaltung 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 eingesetzt. Technisch gesehen speichert SRAM die Information in einem Flip-Flop, waehrend DRAM die Information in Form von Ladung in einem Kondensator speichert. Frueher war SRAM auch haefig in PCMCIA Karten fuer Notebooks und Digitale Kameras zu finden. Es ist jedoch weitgehend vom billigeren Flash RAM abgeloest worden, das zudem im Ruhezustand keine Stromaufnahme hat. 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 DRAM und vor allem 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* Der von Intel offiziell propagierte Nachfolger der SDRAMs in DIMM Bauform sollten ab 1999 die RDRAMs sein. Ab einer Taktfrequenz von etwa 100 MHz kommen SDRAM naemlich an ihre Grenzen. 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 ca. 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. 1.18 *SDRAM* SDRAM (Synchronous DRAM) koennen durch laengere Burstzuklen wesentlich schneller ausgelesen werden, als normale DRAMs. Bei der heute ueblichen Taktfrequenz von 66 MHz fuer den Speicherzugriff bringen sie SDRAMs trotz ihrer geringen Zugriffszeit von 12-15 ns kaum einen Vorteil gegenueber EDO RAM. Wird der Boardtakt jedoch auf bis zu 100 MHz angehoben - und das ist das erklaerte Entwicklungsziel fuer die naechten Monate - gelangt EDO RAM endgueltig an seine Grenzen und SDRAM kann seine Vorteile ausspielen. Intern sind SDRAM 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). SDRAMs erhalten im Gegensatz zu normalen DRAMs ein Taktsignal, das z.Zt. bis zu 100 MHz betragen kann. Desweiteren verfuegen sie ueber einen Stromsparmodus (CKE Signal, s.u.) und verfuegen ueber Autorefresh. Somit besitzen sie eine gewisse 'Eigenintelligenz'. Pinbelegung von 72 poligem SDRAM: 1 Vss 19 DQ15 37 A6 55 DQ21 2 DQ0 20 nc 38 A7 56 Vss 3 DQ1 21 /CAS0 39 A8 57 DQ22 4 DQ2 22 /CAS1 40 A9 58 DQ23 5 DQ3 23 A3 41 nc 59 DQ24 6 DQ4 24 A2 42 Vss 60 DQ25 7 DQ5 25 A1 43 CKE0 61 Vcc 8 DQ6 26 Vcc 44 CKE1 62 DQ26 9 DQ7 27 A0 45 nc 63 DQ27 10 Vcc 28 A10 46 CLK 64 DQ28 11 DQ8 29 A11 47 Vcc 65 DQ29 12 DQ9 30 nc 48 DQM0 66 DQ30 13 DQ10 31 Vss 49 DQM1 67 DQ31 14 DQ11 32 /RAS 50 DQ16 68 DQ32 15 DQ12 33 /CAS 51 DQ17 69 DQ33 16 DQ13 34 /WE 52 DQ18 70 DQ34 17 Vss 35 A4 53 DQ19 71 DQ35 18 DQ14 36 A5 54 DQ20 72 Vss 1.19 *SCRAM* Ein weiterer Speichertyp sind die Static Column DRAMS (SCRAM). Sie erlauben mit deutlich geringerem Aufwand als bei EDO DRAM Burst-Zugriffe auf Speicherbereiche. Verwendet wurden sie auf Grafikkarten und z.B. im Amiga 3000, Compaq und Peacock-Rechnern als Hauptspeicher in der Zeit von 1990 bis 1993. Im Falle des Amiga 3000 verbesserten sich die Burst-Raten bei 25 Mhz von 4-4-4-4 bei 70 ns auf 3-2-2-2 und bei 60 ns auf 3-1-1-1. Schreibzugriffe werden - im Gegensatz zum klassischen EDO DRAM - ebenfalls leicht beschleunigt. Die innere Struktur stellet eine primitive Vorform von EDO DRAM dar. SCRAMs muessen ebenso wie EDO DRAMs vom Chipsatz unterstuetzt werden (FIFO wird benoetigt). Klassische Typenbezeichnungen: Hitachi HM514258 OKI MSM514258, MSM514402 Sharp LH64258 Toshiba TC514258, TC514402 1.20 *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.21 *RAM Verdopplung per Software* Ein Programm, dass obiges verspricht ist z.B. das mittlerweile vom Markt genommene Produkt 'Softram' (eine neue Version fuer Windows 95 ist aber angekuendigt). 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 alle Programme, die eine Verdopplung des RAMs versprechen, unter Humbug verbuchen. Die ebenfalls angebotenen Speicheroptimierer erzielen ihre Wirkung durch eine effektivere Nutzung des RAMs und koennen im Gegensatz zu den Speicherverdopplern sinnvoll sein. Fuer den Apple (Power) Macintosh gibt es ebenfalls RAM Verdopplungs Software, die im Gegensatz zu den PC Produkten aber eine Wirkung zeigen soll. 1.22 *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 - 'Quick POST' im BIOS ausschalten - Speichertest bei HIMEM durchlaufen lassen (/TESTMEM:ON) - 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 1.23 *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 4xxx 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 Goldstar 48 Sync. RAM EM EltronTech 61 PB SRAM HM Hitachi xxx die letzte Ziffer der Typ- HY Hyundai bezeichnung gibt meist an, HYB Siemens ob es sich um FPM oder EDO IBM IBM RAM handelt (s. 2.2) KM, KH Samsung LGS LG Semiconductor Technik LH Sharp ------- M Oki, Mitsubishi k.a. NMOS MB Fujitsu C CMOS MCM Motorola LC Low Power CMOS MS(M) Oki MT Micron Gehaeusetyp N NKK ----------- NEC Nippon Electronics Company k.A. DIP NN NPN J SOJ PD NEC Z ZIP SEC Samsung DJ ??? SMJ Texas Instruments TMM,TC Toshiba TI,TMS Texas Instruments UM UMC 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.24 *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 ------------------------------------------------------------------- 256x32 512x32 1Mx32 2Mx32 256x36 512x36 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. Wenn man ein PS/2 Modul mit Multilayer Platine erwischt hat, kann die optische Erkennung u.U. nicht moeglich sein. 1.25 *Wieviel RAM brauche ich ?* Natuerlich kann man nicht fuer jeden Anwendungsfall per Faustregel bestimmen, wieviel RAM benoetigt wird. Es gibt jedoch - abhaengig vom verwendeten Betriebssystem, einige Grundsaetze, die (fast) immer zutreffen. Allgemein laesst sich sagen, dass die ueberaus grosse Mehrheit der PCs mit zu wenig RAM ausgestattet wird. Durch die Werbung oder die 'positive Wirkung auf das eigene Image in der PC Gemeinde' lassen sich viele Anwender verleiten auf Kosten des Arbeitsspeichers eine moeglichst schnelle CPU zu kaufen. Dabei ist z.B. ein Pentium 150 mit 8 MB RAM unter Windows95 praktisch immer langsamer - und teurer! - als ein Pentium 90 mit 16 MB RAM. Nun ein paar Empfehlungen gegliedert nach Betriebssystemen bzw. Benutzeroberflaechen: Betriebssystem A B C D E ------------------------------------------------------- DOS 256kB 1 MB 4 MB 16 MB ab 16 MB Windows 3.x 1 MB 4 MB 8 MB 16 MB ab 24 MB Windows 95 4 MB 8 MB 16 MB 32 MB ab 32 MB OS/2 Warp 4 MB 8 MB 16 MB 32 MB ab 32 MB Linux 8 MB 12 MB 24 MB 32 MB ab 32 MB Windows NT WS 8 MB 12 MB 24 MB 32 MB ab 32 MB Windows NT Server 8 MB 16 MB 32 MB 64 MB ab 64 MB A = theoretische Mindestanforderung ('Herstellerangabe') B = Mindestanforderung in der Praxis (Arbeiten geht, aber sehr langsam) C = Empfehlung fuer normale Standardanwendungen wie Textverabeitung, Tabellenkalkulation, Spiele D = Empfehlung fuer komfortables Arbeiten mit anspruchsvolleren Applikationen und Spielen, etwas Grafikanwendung E = Poweruser: viel Multitasking, Bildbearbeitung, Netzwerk, Softwareentwicklung 1.26 *DRAM Zahl pro Modul* Eine unterschiedliche Anzahl von DRAMs (das sind die kleinen schwarzen 'Kaefer') innerhalb einer Bank ist oft ein Ausloeser von Kompatibilitaetsproblemen. Man sollte Module mit unterschiedlicher DRAM Anzahl nicht innerhalb einer Bank mischen. Einen Verstoss gegen diese Regel nehmen vor allem aeltere 386/486 Boards uebel, d.h. sie laufen nicht korrekt. Bei einigen Pentiumboards gibt es eine Obergrenze fuer die Anzahl der DRAMs pro Modul. ASUS z.B. zieht bei 24 DRAMs/Modul die Grenze. Module mit 36 DRAMs laufen meist nicht. Anhand der Zahl der DRAMs (das sind die kleinen schwarzen 'Kaefer') pro Modul kann man meist erkennen, ob ein Modul mit Parity versehen ist oder nicht. Fast immer gilt: SIMM mit Parity : 3, 9, 12 DRAMs pro Modul SIMM ohne Parity : 2, 4, 8 DRAMs pro Modul PS/2 mit Parity : 3, 9, 12 DRAMs pro Modul PS/2 ohne Parity : 2, 4, 8, 16, 24, 36 DRAMs pro 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.11). Schreibzugriffe werden durch EDO nicht beschleunigt. Aufgrund der z.Zt. fast gleichen Preise von EDO und FPM RAM hat sich EDO weitgehend durchgesetzt. Bei keinem oder nur geringem Aufpreis kann man also ruhig zu EDO greifen. _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) in der Vergangenheit praktiziert haben. 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* Die Unterscheidung zwischen diesen beiden RAM Typen ist nicht ganz einfach. Mittlerweile stehen einem aber mehrere Chancen offen, den Typ richtig zu identifizieren: - BIOS Anzeige beim Start des Systems gibt Speichertyp an - genauer Speicherbenchmark mit bekannten Modulen zum Vergleich - oder durch die Bezeichnung auf den RAM Chips. Die meisten Hersteller haben sich mittlerweile darauf geeinigt, die letzte Ziffer der Organisationsform (siehe 1.23) zur Codierung des RAM Typs zu verwenden: 0 steht fuer FPM und 5 bzw. 9 stehen fuer EDO RAM. 2.3 *Welche Boards unterstuetzen EDO ?* Mittlerweile haben alle aktuellen Pentium Boards (und somit deren Chipsaetze) eine EDO RAM Unterstuetzung. Ob eine Mischbestueckung von FPM und EDO RAM die EDO RAMs ausbremst ist vom Board abhaengig. Der T-Chipsatz kann jedoch prinzipiell jede Bank mit dem fuer sie optimalen Timing (EDO/FPM) ansprechen. Es ist sogar moeglich EDO und FPM innerhalb einer Bank zu mischen! Der T-Chipsatz erkennt dies und spricht die Bank dann als FPM Bank an. Bei Grafikkarten ist EDO Unterstuetzung schon laenger zu finden. In diesem Einsatzgebiet ist der Geschwindigkeitsvorteil von EDO etwas deutlicher, als beim Arbeitsspeicher des PC. 2.4 *Wieviel schneller sind EDOs ?* Dier hier genannten Tests sind zwar schon aelter, sind aber uebertragbar auf heutige Boards. 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 ohne 2nd Level ohne 2nd Level mit PB Cache mit PB Cache -------------------------------------------------------------- (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. An dieser Stelle gleich mal eine kleine Geschwindigkeits-Rangfolge der verschiedenen RAM-Typen: FPM RAM < EDO RAM < BEDO RAM < VRAM < WRAM Die diversen Spezialtypen und das neue SDRAM fehlen hier mangels Vergleichsmoeglichkeiten. Anzumerken bleibt noch, dass 'normales' FPM RAM mit Interleaving schneller als EDO RAM sein kann. Genaue MB/s Werte kann man fuer die verschiedenen RAM-Typen nicht angeben, da diese stark schwanken (Zugriffszeit, Chipsatz, Interleaving, ...) 2.5 *Burst EDO* BEDO RAMs 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). Ob sie durch die starke SDRAM Konkurrenz jemals eine Bedeutung erlangen koennen ist fraglich. 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 und der ATI Mach 32. WRAM ist ein neuer Speichertyp, der von Samsung entwickelt wurde und 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. Hier gibt es z.B. eine Grafikkarte mit 2.5 MB MDRAM, die fast alle Aufloesungen einer 4 MB Karte darstellen kann. 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 -------------------------------- 640x480 8 bit 512 kB 16 bit 1 MB 24 bit 1 MB 800x600 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) 1024x768/ 8 bit 1 MB 24 bit = 16.8Mio. Farben (Truecolor) 1152x864 16 bit 2 MB 24 bit 4 MB 1280x1024 8 bit 2 MB 16 bit 4 MB 24 bit 4 MB 1600x1280 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 / UMA* Das Feature Shared Memory bzw. Unified Memory Architecture wurde mit dem SiS 551x Chipsatz in Verbindung mit einem SiS onboard Grafikchip des Typs 6204 bzw. 6205 eingefuehrt. Shared Memory ermoeglicht die Nutzung eines Teils des Hauptspeichers als Grafikspeicher. Dieses kostet Performance, ist aber billiger als der getrennte Einsatz des RAMs. Heute ist dieses Konzept klar gescheitert und kein aktuelles Mainboard bietet mehr Shared Memory an. Bei Shared Memory wird ein grosser Teil der sowieso schon recht knappen Bandbreite des Hauptspeichers fuer die Grafikdarstellung dauerhaft belegt. Je hoeher die aufloesung ist, desto drastischer geht die Leistung in die Knie. 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. In der c't 2/96 ist ein ausfuehrlicher Test mit Benchmarks von Shared Memory Architekturen zu finden. Einige Markenanbieter (z.B. Peacock) haben ihre Shared Memory PCs unterdessen wieder von Markt genommen. 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). 233 66 33 x3.5 [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. 1.5*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), 16 kB (Intel DX4, AMD 5x86/P75, Pentium, Pentium Pro) oder sogar 32 kB (Intel Pentium Overdrive) gross. Der 386 und aeltere CPUs besitzen keinen 1st Level Cache. Auf diesen Cache kann die CPU ohne Wartezyklen (Waitstates) zugreifen (Ausnahme: Cx486, 1 WS). 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. Beim Pentium 2 ist er wieder extern auf der CPU Karte). Er dient dazu, Speicherzugriffe auf den eigentlichen Arbeitsspeicher zu cachen. Dieser Cache auf den meisten aktuellen Board mittlerweile 512 kB gross und kann nicht erweitert werden. Einige Billigboards arbeiten noch mit 256 kB Cache und haben evtl. eine Aufruestoption. Einige neue Nicht-Intel Chipsaetze unterstuetzen sogar 1 MB 2nd Level Cache. Der 2nd Level Cache besteht aus SRAMs mit typischerweise 12 (bei alten Boards auch 15 oder 20 ns Zugriffszeit). Damit ist er deutlich schneller als der normale Arbeitsspeicher (60 ns). Den Geschwindigkeitsvorteil, der durch 2nd Level Cache erreicht wird zeigt auch der Benchmark unter 2.4. Bei einigen 486 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. Da die Herstellung des Pentium Pro jedoch mit hohen Kosten und Ausschussraten zu kaempfen hat, ist Intel mit dem Nachfolger Pentium 2 wieder den andere weg gegangen und hat den 2nd Level Cache wieder ausgelagert. Der befindet sich allerdings immer noch im selben Modul mit der CPU, wird jedoch nachtraeglich mit ihr verbunden und laeuft auch nur mit halbem CPU Takt. Diesen Nachteil muss der Pentium 2 durch interne Verbesserungen und hoeheren Takt wieder ausgleichen. 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. 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 (Ausnahme: Intel Mercury und Neptun, wenig verbreitet). Diese sind jedoch auf modernen Boards eine Bremse, da sie nicht synchron mit dem Boardtakt laufen. Synchroner Cache ist zwar etwas teurer als asynchrone Bausteine, jedoch mit 7-8 ns Zugriffszeit unschlagbar schnell. Der mittlerweile zum Standard gewordene Pipelined Burst Cache (PB 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-512 kB gross. Eine Aufruestung von 256 kB- sofern sie moeglich ist - schlaegt fuer weitere 256 kB je nach Zugriffszeit mit ca. 40 DM zu Buche. 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 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 auch vom Chipsatz und der Breite des Tag RAMs abhaengig, so dass man hierzu keine allgemeinen Aussagen treffen kann. Beispielsweise kann der Intel FX und der aktuelle VX Chipsatz auch mit 512 kB Cache nur 64 MB Cachen, da das hier im Chipsatz integrierte Tag RAM immer noch nur 8 Bit breit ist. Nur der Intel HX kann bei entsprechend vergroesstertem Tag RAM bis zu 512 MB RAM cachen. COAST (Cache on a Stick) Module entstammen einem Standard von Intel (letzte Version 2.1). 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. Die meisten neuen Boards haben keinen COAST Sockel mehr, sondern werden gleich mit 512 kB ausgeruestet. 4.5 *Cachetechniken* 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 <3% eher gering. Unter Windows bzw. OS/2 macht er sich aufgrund der geringeren Lokalitaet der Daten etwas deutlicher bemerkbar. Bei einigen Chipsaetzen und BIOS Varianten ist es moeglich bei fehlendem Dirty Tag RAM vom normalen Tag RAM ein Bit abzuzweigen ('Alt Bit in Tag RAM') und so ein Dirty Tag RAM zu generieren. Nachteil dieses Verfahrens ist, dass sich der cachebare Bereich dadurch halbiert. Dieser betraegt ueblicherweise 256*Cachegroesse - bei 256 kB Cache also 64 MB. Mit 'abgezweigtem' Dirty Tag kann der Cache so nur maximal 32 MB cachen. Was ist eigentlich ein 'Direct Mapped Cache' ? Diese Cache-Architektur bildet einzelne Bereiche des Arbeitsspeichers direkt im Cache ab. Das heisst, dass ein Teil der Arbeisspeicheradresse zur Adressierung des Cache RAMs verwendet wird. 5. BIOS und RAM 5.1 *Special: BIOS Update* Die meisten neuen Mainboards bieten die Moeglichkeit eines BIOS Updates ueber ein Flash ROM (genau: Flash EEPROM). Ein Flash ROM benoetigt zum Datenerhalt ebenso wie ein herkoemmliches ROM keinen Strom, kann aber wesentlich einfacher neu beschrieben werden. Sind bei normalen EPROMs noch UV-Loeschgeraete und EPROM Programmer notwendig, reicht bei Flash ROMs eine Brennspannung von 12 Volt zum Schreiben und von 5 V zum Lesen aus. Ein Flash ROM kann je nach Typ zwischen 10.000 und 100.000 mal neu geschrieben werden. Es bietet bei korrekter Handhabung eine Datensicherheit fuer 10 bis 100 Jahre. Sieht der Anwender nun die Notwendigkeit eine neue Version seines BIOS einzuspielen, so muss er zuerst (meist ueber einen Jumper) auf dem Mainboard die Spannung des Flash ROMs von 5 V Lesespannung auf 12 V Loesch- und Schreibspannung hochsetzen. Dies ist aus Sicherheitsgruenden nicht per Software zu machen, da sonst 'aus Versehen' das BIOS geloescht werden koennte. Zum eigentlichen Update muss der Rechner neu gestartet und ohne Treiber (z.B. von einer Bootdisk) gebootet werden. Danach kann das 'Brennprogramm' geladen werden und das neue BIOS geschrieben werden. Diesen Vorgang auf keinen Fall durch Reset o.ae. abbrechen! Nach dem erfolgreichen BIOS Update ist der Jumper fuer die Flash ROM Spannung wieder auf 5 V zu setzen und der Recher neu zu gestarten. Schlaegt das BIOS Update fehl - etwa durch Absturz oder Stromausfall waehrend des Schreibens - bieten die viele Mainboards die Chance, ein sog. Not-BIOS, das nicht loeschbar ist, (per Jumper - siehe Board- dokumentation) zu aktivieren. Mit Hilfe dieses Not-BIOS kann wieder gebootet werden und ein erneuter Update-Versuch unternommen werden. Bietet das betreffende Mainboard keine derartige Recovery Funktion, muss das BIOS-ROM ersetzt werden. Meist kommt man dabei nicht um ein kosten- und zeitaufwendiges Einsenden des Mainboards herum. Unerfahrene sind also vor einem unnoetigen oder leichtfertigen BIOS Update zu warnen. Vor dem Update sollte man sich klar machen, ob die Bugfixes und neuen Features die die neue Version bringen mag, wirklich gebraucht werden. Der gedankliche Kurzschluss 'Neu = Besser' ist beim BIOS Update oft falsch. Viele neue BIOS Versionen sind (zur Beseitigung von Inkompatibilitaeten) langsamer(!) als die 'alte' Version. Updaten sollte man in der Regel nur, wenn die alte Version Probleme bereitet. Vom Hersteller Microid Research (MR) gibt es fuer einige aktuelle Boards ein alternatives BIOS. Dieses BIOS bietet mehr Einstellungsmoeglichkeiten und Funktionen, als das zumeist vorhandene Award BIOS. Unter anderem unterstuetzt es SCSI Boot vor IDE, RAID-0 mit IDE Platten, schnellere DRAM Timings u.v.m. Zu der Zeit, als das BIOS noch Shareware war, erfreute es sich groesserer Verbreitung. Naehres dazu auf http://www.mrbios.com. Vorsicht: MR BIOS enthaelt kein SDMS. Somit kann man also bei einigen SCSI Hostadaptern von SCSI booten, sobald das MR BIOS eingeflasht ist. Uebrigens gibt es auch fuer Grafikkarten die Moeglichkeit eines BIOS Updates via Flash ROM. Z.B. koemmen alle aktuellen Matrox Karten ueber ein spezielles Programm aktualisiert werden. 5.2 *Shadow RAM* Bei vielen BIOS Typen lassen sich sog. 'Shadow RAM' Bereiche einstellen. Sie dienen dazu Teile des langsamen System ROMs in den schnelleren Arbeitsspeicher zu kopieren. Davon profitieren z.B. Grafikroutinen ('Video BIOS Shadow'), Zugriffsroutinen fuer Disketten und Festplatten etc. Dadurch gehen zwar einige kB Arbeitsspeicher verloren (32 kB fuer Video, 54 kB fuer System BIOS) aber Programmroutinen, die vorher aus dem langsamen ROM (typisch: 150 ns Zugriffszeit) gelesen werden mussten, koennen so schneller ausgefuehrt werden. Entsprechend dem Verhaeltnis der Zugriffszeiten kann der Performancezuwachs bis zu 400% betragen. In der Systemgesamtleistung macht sich die Verwendung von Shadow RAM jedoch zunehmend weniger bemerkbar (2..5%), da immer mehr Betriebssysteme und Programme direkt unter Umgehung des BIOS auf die Peripherie zugreifen. Die Konfiguration des Shadow RAM ist nur etwas fuer Systemkenner: Wird BIOS Code in einen nicht geschuetzten Shadow Bereich geschreiben, kann der Code ueberschrieben werden, und es zu katastrophalen Fehlfunktionen kommen. 5.3 *RAM/Cache Settings im BIOS* Aufgrund der Vielzahl verschiedener BIOS Hersteller und BIOS Versionen lassen sich hier unmoeglich allgemeingueltige Aussagen machen. Es kann also sein, dass einige der hier vorgestellten Optionen in bestimmten BIOS Versionen nicht vorzufinden oder anders bezeichnet sind. Achtung: Wer nicht genau weiss, was er mit den verschiedenen Setup-Einstellungen bewirkt, sollte tunlichst die Finger davon lassen. Von Abstuerzen bis zu Hardwareschaeden durch uebertaktete DMA Chips ist alles drin. Unbedingt vor Aenderungen die alten Einstellungen notieren. Beim AMI BIOS ist meist ein Safe-Recovery moeglich, falls der Rechner dermassen falsch eingestellt wurde, dass man nicht mehr in das BIOS Setup kommt: Rechner ausschalten, Im Numerischen Tastenblock die 0 festhalten und Rechner einschalten. Der PC bootet dann mit den BIOS default Werten. Die nachfolgend beschriebenen Einstellungen finden sich zumeist im 'Advanced Chipset Setup' bzw. 'Advanced COMS Setup'. Damit die Aenderungen wirksam werden muss eine evtl. vorhandene 'Auto Config' Funktion abgeschaltet werden. Ein letzter Hinweis zum Thema Waitstates: In vielen BIOS Varinaten ist eine bestimmte Anzahl an Waitstates voreingestellt, die sich nicht veraendern laesst. So bedeutet '0 Waitstates' meist nur soviel wie 'keine zusaetzlichen Waitstates'. Legende: T = Hier kann Leistung gesteigert werden (Tuning Tips) F = Testweise zur Fehlerbehebung ein/ausschaten [...] = Beispiel fuer moegliche Einstellungen T F DRAM Read/Write Waitstate [0, 1, 2, 3] Anzahl der Wartezyklen bei Schreib oder Lesezugriff auf den Arbietsspeicher. Je niedriger desto schneller, aber auch riskanter. Je kleiner die Zugriffszeit des DRAMs (60 ns) desto geringer kann die Zahl der Waitsatates (WS) sein. Meist gilt: 0 fuer 50..70 ns DRAM 1 fuer 70 ns DRAM Diese Option wird oft auch unter 'DRAM Precharge Wait State' gefuehrt. T F DRAM Read/Write Burst Timing [x222, x333, x444] Auch diese Einstellung haengt von der Zugriffszeit des Arbeitsspeichers ab. Meist gilt: x222 fuer 60 ns und gute 70 ns Chips x333 fuer 70 ns Chips x444 fuer alte 80 ns Chips Hinweis: Einige BIOSse ermmoeglichen die separate Einstellung des 'DRAM Leadoff Cycle' (das ist der erste Zyklus bei einem Burst, oben mit 'x' bezeichnet). Auch hier kann sich Tuning lohnen. T F DRAM Access Time [55 ns, 60 ns, 70 ns] Die nur (?) beim MR BIOS (siehe 5.1) zu findende 55 ns Einstellung kann mit Glueck auch bei 60 ns DRAMs eingesetzt werden. F DRAM Parity Check [Enabled, Disabled] Schaltet die DRAM Paritaetspruefung ein oder aus. Eingeschaltet kann diese Option bei Arbeitsspeicher ohne Parity oder defektem oder simuliertem Parity (siehe 1.7) Probleme verursachen. T F CPU Internal Cache [Enabled, Disabled] Schaltet den 1st Level Cache ein oder aus. Siehe 4.2. T F External Cache [Enabled, Disabled] Schaltet den 2nd Level Cache ein oder aus. Siehe 4.2. Bei nicht vorhandenem oder defektem Cache Option deaktivieren. F Above 1 MB Memory Test [Enabled/Disabled] Schaltet den Speichertest beim booten fuer den Arbeitsspeicher ueber 1 MB ein bzw. aus. Bei Verdacht auf unzuverlaessigen Speicher einschalten. Anmerkung: Durch Abschalten dieser Option versuchen einige Rechner zu schnell auf die Festplatte zuzugreifen (naemlich wenn sie noch nicht hochgelaufen ist) und erzeugen so einen 'HDD error' bzw. die Meldung 'Harddisk(s) fail'. In diesem Fall den Speichertest wieder einschalten. T Cache Tag Size / Alt Bit in Tag SRAM [7+1, 8+0] Legt die Einstellung fuer das Dirty Tag RAM fest. Bei 8+0 wird kein Dirty Tag RAM verwendet, bei 7+1 wird vom Tag RAM ein Dirty Bit abgezweigt (siehe 4.5). T F Hidden Refresh [Enabled, Disabled] Die meisten modernen DRAMs koennen sich automatisch selbst refreshen. Mit dieser Option wird der normalerweise vom Chipsatz gesteuerte Refresh abgeschaltet und der DRAM interne Refresh eingeschaltet. T F DRAM Page Mode [Enabled, Disabled] Kann bei inkompatiblen Modulen zu Fehlern fuehren. Falls eingeschaltet Speicher vorsorglich durch geeignete Software preufen lassen. Siehe auch 1.12. T F Slow Refresh [Enabled, Disabled] Die ueblicherweise alle 15 Mirkosekunden folgenden Refreshzyklen der DRAMs koennen mit dieser Option auf (meist) ca. 60 Mikrosekunden verlangsamt werden. Diese Option ist recht riskant! Nach Aktivierung Zuverlaessigkeit des Speichers gruendlich pruefen. T F Decoupled Refresh [Enabled, Disabled] T Above 16 MB DRAM cachable [Enabled, Disabled] Stellt ein, ob der Arbeitsspeicher ueber 16 MB gecachet wird oder nicht. Auf jeden Fall bei mehr als 16 MB RAM einschalten! T F 15-16 M Memory Hole [Enabled, Disabled] Diese Option stellt im Bereich von 15-16 MB ein Speicherfenster zur Verfuegung, in das sich alte ISA-Busmaster Karten einblenden koennen (z.B. Adaptec SCSI Hostadapter). Hat man mehr als 15 MB installiert, so geht dieser Speicher durch Einschalten dieser Funktion verloren. Verwendet man noch eine alte Karte, die dieses Feature nutzt und hat weniger als 16 MB RAM, dann kann man so etwas Beschleunigung erreichen. *** SDRAM Optionen in Vorbereitung *** 5.4 *BIOS Error Codes* Auch hier lassen sich keine allgemeingueltigen Aussagen machen - jeder Hersteller kocht sein eigenes Sueppchen. Trotzdem einige wichtige Hinweise zu verbreiteten Typen. Bitte beachten: Hier sind nur BIOS Fehlercodes , die in Zusammenhang mit RAM / ROM / CMOS stehen koennen aufgefuehrt. Alles weitere wuerde den Rahmen sprengen und die Uebersichtlichkeit verringern. AMI BIOS - Beepcodes Pieptoene Art Fehler 1 kurz/ Refresh Failure lang Der Chipsatz fuehrt kein Refresh der DRAMs mehr durch. Der Rechner kann nicht gebootet werden. 2 kurz Fehler in der Paritaetspruefung Dies ist kein klassischer 'Parity Error'! Defekt ist nicht das Paritybit, sondern die Paritaetspruefung selbst. Evtl. Chipsatzproblem oder defektes Mainboard. 3 kurz Fehler in den ersten 64 kB RAM Speicher nicht installiert oder Modul defekt bzw. nicht erkannt. Modul testweise austauschen. Auch moeglich: Keine Nennspannung auf dem Board 8 kurz Display memory Read/Write Error Es gibt Probleme beim Zugriff auf dem Bildspeicher der Grafikkarte. Grafikkarte tauschen bzw. Bustakt erniedrigen. 9 kurz ROM BIOS checksum error Im ROM BIOS hat sich ein Fehler eingeschlichen (Hinweis: Mit ROM BIOS ist nicht das CMOS RAM gemeint). Meist hilft nur ein Austausch des ROM. 10 kurz CMOS Shutdown Register read/write error 11 kurz Cache error Der 2nd Level Cache ist moeglicherweise defekt. Nach Moeglichkeit im BIOS ausschalten oder Cachemodule pruefen. Evtl. ist die Cachegroesse auf dem Mainboard flasch gejumpert. Phoenix BIOS - Beep Codes [1 2 1 = 1 Beep, Pause, 2 Beeps, Pause, 1 Beep] Piepcode Fehler 1 1 3 Fehler beim Lesen/Schreiben des CMOS RAM 1 1 4 BIOS ROM Checksum Error (s. AMI BIOS) 1 3 1 Refresh Failure (s. AMI BIOS) 1 3 3 Fehler in den ersten 64 kB RAM (s. AMI BIOS) 3 3 4 Display Memory error (s. AMI BIOS) 4 3 1 Fehler im RAM oberhalb von 64 kB Phoenix BIOS - Codenummern Codenummer Fehler 109 Fehler in den ersten 64 kB RAM (s. AMI BIOS) 162 Pruefsumme im CMOS RAM flasch BIOS Einstellungen pruefen und abspeichern. Tritt der Fehler gehaeuft auf, Batterie ersetzen. 201 Allgemeiner Speicherfehler Award BIOS - Beep Codes Piepcode Fehler 1 kurz kein Fehler, System bootet 1 lang, 2 kurz Fehler in der Video-Karte 2 kurz+'PRESS F1 TO CONTINUE' irgendein Fehler (nicht-kritischer Fehler, das System kann durch F1 gebootet werden) 5.5 *CMOS Passwort* Leider passiert es immer wieder, dass unachtsame User im CMOS Setup ein Passwort einstellen, und dies dann postwendend vergessen. Hier gibt es zwei Moeglichkeiten: a) Das Passwort (PW) fuer den Zugang ins BIOS ist vergessen worden. Hier kann man bei Rechnern mit AMI BIOS mit Hilfe des Sharewareprogramms 'AMISETUP' von DOS aus das Passwort auslesen (!) und auch deaktivieren. Auch fuer einige andere BIOS Typen gibt es Software, die dies kann. Eine weitere Moeglichkeit sind Programme ala 'KILLCMOS', die das CMOS inkl. PW auf die Fabrikwerte zuruecksetzen. Es gibt immer wieder Geruechte um Master-Passwoerter fuer die verschiedenen BIOS Hersteller. Zumindest bei AWARD gibt es ein solches Passwort, mit dem man immer ins BIOS kommt. Im uebrigen ist oft der Name des BIOS-Herstellers als Passwort eingestellt. b) Schlagen diese Versuche fehl, oder handelt es sich um ein Boot-PW, das schon vor dem Booten des Rechners abgefragt wird, helfen nur Hardwareloesungen (oder bei AWARD BIOS das Masterpasswort). Folgende Tips haben sich bewaehrt: - 'CMOS Clear' Jumper auf dem Mainboard lokalisieren und mit ihm den CMOS Inhalt loeschen - Spannungsversorgung des CMOS auf 'EXTERNAL/BATTERY' (s. Handbuch) setzen, sofern keine externe Stromversorgung angeschlossen ist - Akku bzw. Batterie aus Mainboard ausloeten/herausnehmen und einige Minuten bis einige Stunden (meist eher Stunden) das CMOS sich entladen lassen - CMOS Chip aus der Fassung hebeln und auf Alupapier legen Weniger zu empfehlen ist das oft praktizierte Kurzschliessen des Akkus. Dies kann zu Schaeden des Akkus und somit zu einer Verringerung der Kapazitaet - bis zum Totalausfall - fuehren. Problematisch sind die Faelle, in denen in einem IC CMOS und Stromversorgung gemeinsam untergebracht sind (vielfach von DALLAS). Hier muss man sich die Pinbelegung des ICs besorgen und dann ggf. die integrierte Stromversorgung ueber einen Widerstand entladen bzw. das CMOS gemaess Schaltplan loeschen. Wichtig: Nach einem kompletten Loeschen des CMOS muessen alle BIOS Einstellungen ueberprueft werden und Datum, Uhrzeit, Diskettenlauferke, Festplatten etc. wieder korrekt eingetragen werden. Bei dem naechsten PW Einsatz sollte man dann vorher ueberlegen, ob das PW wirklich mehr Nutzen als Schaden bringt. Wie man sieht, gibt es fuer entsprechend "interessierte" sowieso genuegend Moeglichkeiten das PW zu umgehen. 5.6 *RAM Groesse* "Hilfe ! Ich hab doch 8 MB RAM aber mein Rechner zeigt beim booten nur 7808 kB (statt 8192 kB) an. Woran liegt das ?" Viele BIOS Typen zeigen nicht den gesamten physikalisch vorhandenen Arbeitsspeicher an, sondern nur einen Teil davon. Einige lassen z.B. die HMA (High Memory Area, das ist der Bereich von 640 kB - 1024 kB) weg. Andere subtrahieren von der installierten Speichergroesse auch noch die vom Shadow RAM belegten Bereiche (s. 5.2). Es ist es also i.d.R. voellig normal, wenn der PC beim booten scheinbar nicht den gesamten Speicher anzeigt. Im BIOS Setup selbst steht uebrigens meistens eine kleine tabellarische Zusammenfasung, die auch den gesamten Speicher angibt. 6. Glossar 6.1 Abkuerzungen AMI American Megatrends Inc. BEDO Burst EDO RAM BIOS Basic Input/Output System CAS Cloumn-Adress-Strobe (Spaltenadresse) CDRAM Cached DRAM CISC Complex Instruction Set Computer (Prozessortechnik) CLK Clock (Takt) CMOS Complementary Metal Oxid Semiconductor CPU Central Processing Unit (Prozessor) DIMM Dual Inline Memory Module DRAM Dynamic Ramdom Access Memory DS Double Sided ECC Error Correction Code EDC Error Detecting and Correcting (Synonym fuer ECC) EDO Enhanced Data Output (auch: Hyper Page Mode) EDRAM Enhanced DRAM ESCD Extended System Configuration Data FIFO First In First Out (Datenpuffer) FPM Fast Page Mode ('normales' DRAM) GND Ground (Masse) HMA High Memory Area (Bereich von 640 kB - 1024 kB) HPM Hyper Page Mode (EDO RAM) IC Integrated Circuit IO Input / Output IRQ Interrupt Request MDRAM Multibank DRAM NC Not connectecd (Nicht angeschlossen) ns Nanosekunde (10^-9 Sekunden) PB Pipeline Burst (Cache) PCI Peripheral Component Interconnect (Local Bus von Intel) PM Page Mode PM Power Management POST Power On Self Test (Selbsttest beim Einschalten) PPro Pentium Pro (P6, Nachfolger des Pentium Prozessors) PWR Power RAS Row-Adress-Strobe (Zeilenadresse) RDRAM Rambus DRAM RDY Ready RISC Reduced Instruction Set Computer (Prozessorteknik) SDRAM Synchronous DRAM SIMM Single Inline Memory Module SIP Single Inline Package SS Single Sided TXC Tri*on Accelerated Controller UMA Unified Memory Architecture (Standard fuer Shared Memory) Vcc Versorgungsspannung WB Write Back WE Write Enable WS Waitstate WS Workstation WT Write Through ENDE DER FAQ ---Rechte: PC POWER GmbH, Holger Ehlers@2:241/1050.1 aka 2:2449/422.32--- --- Weitergabe mit Copyright erlaubt ---