Archiv verlassen und diese Seite im Standarddesign anzeigen : memory gap - Was ist das genau?
der_hoppe
2004-02-07, 16:48:47
Hi,
ich habe schon öfters mal was über "memory gap" gelesen, kann dazu aber leider keine konkreten Informationen finden. Ich hatte lediglich eine Quelle gefunden, wobei ein "memory gap" angeblich zwischen dem Prozessor und dem Arbeitsspeicher entsteht. Der Prozessor würde in seiner Entwicklung stets deutlich an Geschwindigkeit zunehmen, wobei der Arbeitsspeicher dies nur in sehr geringem Maße tut und dort eher darauf gesetzt wird, die Bandbreite bzw. Kapazität zu erhöhen.
Das klingt ja soweit auch einleuchtend, dass durch diese beiden Prozesse ein immer größeres "Geschwindigkeitsloch" zwischen CPU und RAM ensteht. Allerdings wenn ich "memory gap" wörtlich übersetze, spricht man ja von einer Speicherlücke. Aber in meinem Beispiel wäre die Lücke ja durch den Geschwindigkeitsunterschied gegeben. Ideen für eine Speicherlücke? Und kann man das nicht mit irgendwelchen Methoden umgehen? Zwischen CPU und RAM existiert ja der Cache, der dort als Puffer dient. Das sollte ja bereits eine Lösung darstellen. Und dann für Speicherlücken? Falls es sowas überhaupt gibt.
Gruß,
Dennis
mrdigital
2004-02-07, 18:40:41
Ich denke, dass damit die (Geschwindigkeits)Lücke zwischen der CPU und dem Speicher gemeint ist. Cache gibt es ja nur, weil der Speicher zu langsam ist, es ist also eine "Notlösung" um die schnellen CPUs nicht so schnell trockenlaufen zu lassen. Bei heutigen CPUs ist das Missverhältniss zwischen CPU und Speicher schon deutlich grösser als 1 : 10. Dazu kommt noch, dass der verwendete DRAM Speicher recht grosse Latenzzeiten (das ist die Zeit, die zwischen Datenanforderung und Datenbereitstellung vergeht) hat, was die "Memory Gap" noch weiter vergrössert. Intel hatte mit RDRam versucht hier ein Speicherkonzept einzuführen, dass diesem Phänomen entgegenwirkt, allerdings war der Versuch ein wenig glücklos, was wohl hauptsächlich an den enormen Preisunterschieden zwischen S/D Dram uind RDRam lag und den anfänglich nicht so grossen Vorteil für RDRam lag (wobei das PC-1066 RDRam immer noch die schnellste Speicheranbindung für den P4 darstellt). Das Problem wird sich auch nicht verbessern in naher Zukunft, so lange man weiterhin auf DRam setzt (was hauptsächlich aus wirtschaftlichen Gründen geschieht). Würde man den Speicher aus SRam Zellen aufbauen, wäre man schon eine ganze Ecke schneller, aber eine viel grössere Ecke ärmer (um eine DRam Zelle herzustellen, benötigt man pro Bit einen Transistor und einen Kondensator, plus Steuerlogik, für ein Bit in SRam Technik benötigt man 6 Transistoren, plus Steuerlogik, wobei man den Kondensator durch eine geschickte Geometrie bei der Herstellung in den Transistor quasi integriert, daher benötigt ein SRam bit fast 6mal so viel Fläche (das ist der Kostenfaktor) als ein DRam Bit).
Stone2001
2004-02-07, 18:55:45
Original geschrieben von mrdigital
Das Problem wird sich auch nicht verbessern in naher Zukunft, so lange man weiterhin auf DRam setzt (was hauptsächlich aus wirtschaftlichen Gründen geschieht). Würde man den Speicher aus SRam Zellen aufbauen, wäre man schon eine ganze Ecke schneller, aber eine viel grössere Ecke ärmer (um eine DRam Zelle herzustellen, benötigt man pro Bit einen Transistor und einen Kondensator, plus Steuerlogik, für ein Bit in SRam Technik benötigt man 6 Transistoren, plus Steuerlogik, wobei man den Kondensator durch eine geschickte Geometrie bei der Herstellung in den Transistor quasi integriert, daher benötigt ein SRam bit fast 6mal so viel Fläche (das ist der Kostenfaktor) als ein DRam Bit).
hmm, tut mir leid, dir da widersprechen zu müssen, aber das eine SRAM-Zelle nur 6-mal größer ist als eine DRAM-Zelle entspricht nicht (ganz) der Wahrheit.
Eine DRAM-Zelle hat eine Zellengröße von 8 F², wobei F ist "Feature Size" (also die kleinste lithographisch hergestellte Struktur) ist. Zur Zeit liegt die Feature Size bei ca 100 bis 120 nm.
Eine SRAM-Zelle hat eine Zellengröße von 100-150 F². Ist also ca. 12 mal so groß.
Und wenn meine Quelle recht behält (wovon ich ausgehe), dann braucht Flash-Speicher nur ca. 4-10 F², ist also noch kleiner als DRAM.
mrdigital
2004-02-07, 19:10:25
das mit dem 6 fachen war mal so aus der Hüfte geschossen, wenn der Faktor in Wahrheit 12 ist, dann verschärft das ja das Kostenproblem (auf das ich da hinaus wollte) ja weiter. Ist eine Flash Zelle wirklich so klein?
Stone2001
2004-02-07, 19:24:35
Original geschrieben von mrdigital
das mit dem 6 fachen war mal so aus der Hüfte geschossen, wenn der Faktor in Wahrheit 12 ist, dann verschärft das ja das Kostenproblem (auf das ich da hinaus wollte) ja weiter. Ist eine Flash Zelle wirklich so klein?
Yup, jeh länger ich darüber nachdenke, dasto sicherer bin ich, das es stimmt.
Eine DRAM-Zelle besteht aus einem Transistor und einem Kondensator (obwohl der heute in den Transitor integriert wird), eine Flash-Zelle dagegen nur aus einem Feldeffekttransistor, der um ein sog. Flaoting Gate aus Poly-Silizium im Gate-Dielektrikum ergänzt wird. Außerdem gibt es mittlerweile Flash-Speicher die zwei Bit pro Zelle speichern können.
GloomY
2004-02-08, 16:21:08
Original geschrieben von mrdigital
Das Problem wird sich auch nicht verbessern in naher Zukunft, so lange man weiterhin auf DRam setzt (was hauptsächlich aus wirtschaftlichen Gründen geschieht). Würde man den Speicher aus SRam Zellen aufbauen, wäre man schon eine ganze Ecke schneller, aber eine viel grössere Ecke ärmerMan könnte DRAM auch so tunen, dass es an die Geschwindigkeit von SRAM herankommt, jedoch wird es dann ebenso teuer wie SRAM. Der Geschwindigkeitsvorteil von SRAM kommt hauptsächlich daher, dass bei DRAM darauf geschaut wurde/wird, dass es möglichst billig ist.
Wenn man nur die prinzipielle Technologie der Speicherzelle betrachtet, also den Flip-Flop gegen den Kondensator, und den Rest drum herum (Sense Amps, sonstige Logik) vernachlässtigt, dann ist DRAM nicht viel langsamer als SRAM. Dass man zeitversetztes Adress-Multiplexing für Zeile und Spalte bei DRAM verwendet, ist eigentlich eine Einsparung, die mit der eigentlichen Speichertechnologie nichts zu tun hat. (Es gibt ja auch schon 1T-SRAM, welches normale DRAM Speicherzellen besitzt, aber kein Adress-Multiplexing nutzt)
DRAM wird (künstlich) billig und damit langsam gehalten, während SRAM teuer und schnell ist. Das liegt aber eher daran, wie viel man in das "Drum-Herum" investiert. So Sachen wie 12 gleichzeitige Reads und 6 Writes (P4 L1 D-Cache) kostet halt nun mal teurer Logik, die man um die Speicherzellen herumbauen muß.
Dazu gibt es übrigends auch einen interessanter Artikel: The slow death of SRAM (http://www.reed-electronics.com/ednmag/index.asp?layout=article&stt=000&articleid=CA326914&pubdate=10%2F16%2F2003&rid=0&rme=0&cfd=1).
der_hoppe
2004-02-08, 19:08:42
Und wie wäre es, wenn man zwischen Arbeitsspeicher und Festplatten etwas tun würde? Dort ist ja auch ein "memory gap" vorhanden. Ich habe gelesen, dass man anstatt dem Plattenspeicher MRAM benutzen könnte. Genauso schnell wie DRAM, aber die Informationen werden halt permanent gespeichert. Allerdings kann ich mir vorstellen, dass diese Variante auch nicht günstig werden wird. Vor allem, da Plattenspeicher mittlerweile dreistellige GByte-Werte erreicht haben.
Stone2001
2004-02-08, 19:33:52
Original geschrieben von der_hoppe
Und wie wäre es, wenn man zwischen Arbeitsspeicher und Festplatten etwas tun würde? Dort ist ja auch ein "memory gap" vorhanden. Ich habe gelesen, dass man anstatt dem Plattenspeicher MRAM benutzen könnte. Genauso schnell wie DRAM, aber die Informationen werden halt permanent gespeichert. Allerdings kann ich mir vorstellen, dass diese Variante auch nicht günstig werden wird. Vor allem, da Plattenspeicher mittlerweile dreistellige GByte-Werte erreicht haben.
So einen Speicher gibt es doch bereits und zwar in Form von NVRAM. Dieser Speicher erfüllt die gleichen Aufgaben wie der Cache-Speicher zwischen CPU und Hauptspeicher.
Die Idee Halbleiterspeicher anstelle von Magnetplatten zu verwenden ist nicht neu. Sogenannte Solid-State-Platten bestehen aus jede Menge Halbleiterspeicher, einer normalen Festplatte und einer Batterie. Im Betrieb wird zu Lese und Schreibzwecken der Halbleiterspeicher gebraucht und wenn der Rechner ausgeschaltet wird, werden die Daten auf die Platte geschreiben. Die Batterie ist dazu da, die Stromversorgungen für diesen Rückschreibevorgang sicherzustellen.
Aber es gibt weitere Anstrengung im Bereich der Festplattentechnologien, die Versuchen die Festplatten zu verbessern oder durch neuere Technologien zu ersetzten. Da wären z.B. die MEMS (Mikro Elektro Mechanische Speicher), recht schnell, aber (noch) zu teuer um normale Festplatten ganz zu ersetzen. Ihr Einsatzgebiet ist daher den Zwischenspeicher zu vergrößern, bzw. eine zweite Cacheschicht zu etablieren.
GloomY
2004-02-08, 21:05:49
Original geschrieben von der_hoppe
Und wie wäre es, wenn man zwischen Arbeitsspeicher und Festplatten etwas tun würde? Dort ist ja auch ein "memory gap" vorhanden.Das bringt kaum etwas, weil kaum Lokalität der Daten vorhanden ist, weder zeitlich noch räumlich. Das sieht man ja schon heute bei den Festplattencaches, dass die 8 MiB Version einer Platte praktisch nicht schneller ist als die 2 MiB Version.
Zeitliche Lokalität ist fast gar nicht vorhanden (wann ließt man denn schon eine Datei zwei Mal in den RAM?) und räumliche Lokalität ist auch relativ schlecht. Die Daten können prinzipiell überall auf der Platte gespeichert sein. Es gibt keinen Grund, dass wenn ich eine Datei gelesen habe, der Zugriff auf die nächste Datei wieder in der Nähe davon liegen sollte. Beim RAM ist das anders: Ein Array oder Struct von Daten liegt immer hintereinander, die Cluster einer Datei können jedoch beliebig einzeln über die Platte verteilt sein.
Außerdem liegen Daten eines Programms immer innerhalb eines oder mehrerer größerer Blocks zusammen. Das ist einfach das Ergebnis der virtuellen Speicherverwaltung, die den Threads unterschiedliche reale Adressen zuweisen, damit diese sich bei gleichen virtuellen Adressen der Threads nicht in die Quere kommen.
Original geschrieben von der_hoppe
Ich habe gelesen, dass man anstatt dem Plattenspeicher MRAM benutzen könnte. Genauso schnell wie DRAM, aber die Informationen werden halt permanent gespeichert. Allerdings kann ich mir vorstellen, dass diese Variante auch nicht günstig werden wird. Vor allem, da Plattenspeicher mittlerweile dreistellige GByte-Werte erreicht haben. Wird denn MRAM schon in Serie produziert? Imho ist das alles noch in Entwicklung und damit teuer.
Aber selbst wenn MRAM verfügbar wäre, glaube ich nicht, dass es sehr viel bringen würde (obige Gründe).
Original geschrieben von Stone2001
So einen Speicher gibt es doch bereits und zwar in Form von NVRAM. Dieser Speicher erfüllt die gleichen Aufgaben wie der Cache-Speicher zwischen CPU und Hauptspeicher.Quasie Flash-Speicher?
Original geschrieben von Stone2001
Da wären z.B. die MEMS (Mikro Elektro Mechanische Speicher), recht schnell, Wie schnell? Hast du konkrete Zahlen bezüglich Zugriffszeit und Datentransferrate?
Stone2001
2004-02-08, 21:33:09
Original geschrieben von GloomY
Quasie Flash-Speicher?
Ich gehe davon aus. In dem Papier wird nur von non volatile DRAM geredet.
Original geschrieben von GloomY
Wie schnell? Hast du konkrete Zahlen bezüglich Zugriffszeit und Datentransferrate?
Natürlich, sie sind aber mit Vorsicht zu geniesen, da MEMS noch einen langen Weg bis zur Marktreife vor sich haben.
Kurz vorher noch etwas zum Aufbau:
Ein MEMS besteht aus einem Schlitten, welcher aus 6400 (80 * 80) einzelne kleine Partionen besteht, darüber sind 6400 Schreib- und Leseköpfe angebracht, jeder Kopf ist für ein Feld zuständig. Der Schlitten wird mit Hilfe von Actuatoren und Federn bewegt.
OK, so ein Schlitten hat dann bei max. 640 gleichzeitig aktiven Köpfen (sog. Tips) folgende Werte:
Zugriffszeit: 0.7 - 2 ms
max. Durchsatz: 25.6 MB/s
Kapazität eines Schlittens: 2.56 GB
Das nur 640 Tips verwendet wurden liegt einfach an der zu hohen Abwärme der Tips. Ein Tips erzeugt eine Abwärme von ca. 1 mW.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.