Forum: PC Hard- und Software shared memory, wie funktioniert der Speicherzugriff


von Hans (Gast)


Lesenswert?

Wie funktioniert der Speicherzugriff bei shared memory? Können Prozessor 
und Graphikkarte immer nur nacheinander auf das RAM zugreifen? Oder 
können die beiden zeitgleich unterschiedliche Adressen ansprechen 
(intern im RAM müsste das aber dann doch nacheinander gehen, oder)?

von Rolf Magnus (Gast)


Lesenswert?

Hans schrieb:
> Wie funktioniert der Speicherzugriff bei shared memory? Können Prozessor
> und Graphikkarte immer nur nacheinander auf das RAM zugreifen? Oder
> können die beiden zeitgleich unterschiedliche Adressen ansprechen
> (intern im RAM müsste das aber dann doch nacheinander gehen, oder)?

Wie sollten sie das denn zeitgleich machen? Es geht über ein und 
denselben Bus.

von (prx) A. K. (prx)


Lesenswert?

Die Memory Controller von PCs sind ja seit geraumer Zeit breiter als ein 
Speicherchip ("dual channel" und so). Mittlerweile sind darunter auch 
Speichercontroller, die diese Speicherkanäle nicht einfach in grösserer 
Breite sondern unabhängig voneinander ansprechen. Bei solchen Systemen 
können je nach Adresslage Grafik- und Prozessorzugriff auf den Speicher 
echt parallel erfolgen.

Klassische Bussysteme mit einem oder mehreren Prozessorsockeln und einem 
(oder mehreren) Speichersystemen am gleichen Bus sind bei den heute auf 
den Interconnects üblichen Taktraten schlichtweg nicht mehr machbar. Da 
sind seit dem K7 und mindestens den neueren P4ern Punkt-zu-Punkt 
Verbindungen im Einsatz. Das hat erheblichen Einfluss auf die Topologie.

Intels i5/i7 Quadcores sind mit ihrem zusammen mit den Cores auf dem 
Prozessorchip integrierten Speichercontroller und den 
Quickpath-Schnittstellen wohl mittlerweile prinzipiell ähnlich aufgebaut 
wie die AMDs seit dem K8.

Bei den AMDs befindet sich eine Art Crossbar auf dem Chip, die die 
verschiedenen Busmaster wie die Cores und die diversen 
Hypertransport-Schnittstellen und den Speichercontroller nach Bedarf 
miteinander verbindet, d.h. es ist mehr als ein Transfer gleichzeitig 
möglich. Ein klassischer shared bus, der nur einen Transfer gleichzeitig 
kann, existiert intern nicht. Eine per shared memory arbeitende Grafik 
sitzt dabei an einem Hypertransport-Link.

Bei den i3/i5/i7 Dualcores wiederum sitzen Grafikchip und 
Speichercontroller auf dem gleichen Chip, die Cores getrennt davon auf 
einem zweiten. Damit gibt es dazwischen wohl nur eine Verbinung (mehr 
ergibt bei gemeinsamen Cache auch wenig Sinn), aber diese Methode 
schliesst gleichzeitige Nutzung der Speicherkanäle durch Cores und 
Grafik ebensowenig aus.

von Hans (Gast)


Lesenswert?

vielen Dank

von Georg A. (Gast)


Lesenswert?

"Früher" war es bei edleren Grafikkarten tatsächlich so, dass der 
Speicher zwei Ports hatte. Der eine war read/write von der CPU aus, der 
andere nur read für die Videologik. Der Speichertyp hiess dann auch 
Videoram (VRAM). Was anderes war wegen den hohen Datenraten nicht drin, 
sonst hätte die CPU gar nicht mehr zugreifen können. "Noch früher" 
(>25Jahre) gab es aber auch sogar Grafikkarten, die die Videoausgabe bei 
CPU-Zugriffen deswegen abgeschaltet haben. Allerdings waren die schon zu 
einer Zeit Truecolor mit >XGA, während die breite Masse der PC und 
Atari/Amiga-User mit VGA und max. 16 Farben voll zufrieden waren ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.