Wie hält der RAM mit der CPU Schritt?

Wie hält der RAM mit der CPU Schritt?

Ich versuche zu verstehen, wie der RAM mit der CPU mithalten kann. Hier ist eine Aufschlüsselung, warum ich den Eindruck habe, dass dies nicht der Fall ist:

  1. Die Taktfrequenzen moderner CPUs sind häufig höher als die Taktfrequenzen von RAM-Modulen (z. B. ein 2,4-GHz-Laptop-Prozessor im Vergleich zu einem 2133-MHz-RAM-Modul).
  2. Solche CPUs haben oft mehrere Kerne, wodurch Anweisungen schneller ausgeführt werden können als die Taktfrequenz
  3. Diese CPUs können auch Single-Core-Parallelitätstechniken einsetzen, um mehr Befehle pro Kern auszuführen, als Taktzyklen vorhanden sind.
  4. Aus diesem Grund werden Anweisungen mit einer weitaus höheren Geschwindigkeit ausgeführt als die RAM-Frequenz.
  5. Sie können höchstens den Inhalt einer Adresse pro RAM-Taktzyklus aus dem RAM holen
  6. Mit Ausnahme des BIOS müssen die Anweisungen letztlich aus dem RAM kommen
  7. Die Anforderung, Anweisungen aus dem Speicher abzurufen, übersteigt daher bei weitem die Fähigkeit des RAM, diese bereitzustellen.

Ich fand eine Antwort vonPeter CordesAnDasFrage von Stack Overflow, in der erklärt wird, dass dieses Problem durch Caching und Prefetching gelöst wird. Ich verstehe jedoch nicht, wie die CPU überhaupt die Möglichkeit zum Prefetching erhält, da die enorme Rate, mit der sie Anweisungen abrufen muss, scheinbar höher ist als die, die vom RAM bereitgestellt werden kann.DasLaut Wikipedia kann der Intel Core i7 6950X Befehle mit einer Geschwindigkeit von 317.900 MIPS ausführen. Bei einer RAM-Frequenz von 2.133 MHz entspricht dies etwa 150 Befehlen pro RAM-Taktzyklus.

Was vermisse ich?


Ich habe gerade nachgesehenSydney HaukeAntwort auf die zuvor verlinkte Frage, in der es heißt, dass Anweisungen, von denen die CPU weiß, dass sie sich wiederholen, nicht erneut aus dem Speicher abgerufen werden. Reicht das allein aus, um den Geschwindigkeitsunterschied auszugleichen?

verwandte Informationen