Ist die Verzögerung gleich, wenn eine CPU zum Start des RAM oder zum Ende gehen muss, oder gibt es keinen Unterschied?Verzögerung zwischen Start und Ende des RAM
Antwort
Es gibt keinen Unterschied in der Leistung, wenn die CPU versucht, auf physischen Speicher unter einer beliebigen Adresse/Bereich zuzugreifen.
Soweit es die CPU betrifft, interagiert es mit einem Speichercontroller über einen Bus. Die Werte in Random Access Speicher werden mittels einer Adresse abgerufen, ohne sich um zu kümmern, wobei die Adresse physisch in einem Speichermodul befindet.
Wenn wir annehmen, dass die CPU Inhalte anfordert, die sich im RAM befinden, nachdem der Cache fehlgeschlagen ist, dann spielt es keine Rolle, ob die angeforderte Adresse x
oder x + 100
ist. Die Zeitverzögerungen werden voraussichtlich im selben Leistungsbereich liegen.
Der ‚Start‘ und ‚Ende‘ Standorte würden Rolle, wenn Sie auf sequentiellen Zugriff (z Bandlaufwerke, die oft verwendet für Backups) auf Medien basiert wechseln waren.
Beachten Sie, dass ich das Thema einer Prozessansicht des Speichers bei der Ausführung durch das Betriebssystem (z. B. virtueller Speicher usw.) und die Idee, verschiedene Arten/Mengen von Speicher zu testen und zu vergleichen, vermeiden . Mit anderen Worten, ich nehme an, dass ein gegebenes System eine festgelegte Menge eines bestimmten Speichertyps für einen gegebenen Test hat.
Außerdem habe ich bei der Betrachtung von Speichermodul-Spezifikationen nie irgendwelche Informationen bemerkt, die auf eine Art Leistungseinbußen hinweisen, wenn ein bestimmter Adressbereich innerhalb des Moduls vermieden/verwendet werden sollte.
So zum Beispiel, CPU muss für eine nächste Adresse im RAM zugreifen, wird es die gleiche Zeit als zehn Adressen weiter dauern, oder? Ich möchte sicher sein, dass es keinen Cache oder andere "schnelle Wege" zum Zugriff gibt, wie zum Beispiel Disk-Cache. – Kdmeizk
@Kdmeizk Ich bin nicht klar, was Sie dort meinen. Systemcache-Daten zur Verbesserung der Leistung. Die CPU verfügt über mehrere Cache-Ebenen. Wenn ich verstehe, was Sie richtig meinen, dann ist es vermutlich egal, ob die CPU versucht, nach Cache-Fehlern auf RAM-Daten zuzugreifen, dann ist es egal, ob sie auf die Adressen "x" oder "x + 10" zugreifen will. Ich nehme auch an, dass Sie nicht über die Geschwindigkeit sprechen, mit der es verarbeitet werden würde, da Pipeline-CPUs Daten in Blöcken abrufen/verarbeiten, aber wenn sie etwas anderes benötigen (z. B. aufgrund einer Verzweigung), muss die Pipeline möglicherweise gelöscht werden und nimmt einen Leistungstreffer. – ray
"_wenn die CPU nach einem Cache-Fehler versucht, auf RAM-Daten zuzugreifen, dann spielt es keine Rolle, ob sie versucht, auf Adresse x oder x + 10 zuzugreifen." Ja, das wollte ich hauptsächlich wissen. Danke euch allen für Antworten trotz meiner Klarheit. – Kdmeizk
- 1. Finden gzip Start und Ende?
- 2. Gleiches Zeichen zwischen Start-String und Ende-String
- 3. CSS3 Animation-Verzögerung Start
- 4. Externer Symbolwert automatisch dem Ende des RAM zugewiesen
- 5. T-SQL: Inseln und Lücken, Start/Ende
- 6. Verzögerung zwischen Preloader und Bühne gezeigt
- 7. XAMPP Verzögerung in mysql Start
- 8. Identität Start und Ende einer Methode
- 9. C# Winforms Suche Start und Ende string und erhalten Auswahl
- 10. jQuery prevUntil() include Start-Selektor und Ende-Selektor
- 11. die Datetime Bereiche Merging am Ende des Tages und der Start des nächsten Tages
- 12. Editier-Distanz: ignore Start/Ende
- 13. DMA-Übertragung RAM-to-RAM
- 14. jQuery Verzögerung zwischen Animationen
- 15. Verzögerung zwischen Grundkarte und Vektorebene beim Zoomen
- 16. In MPAndroidChart geben Raum zwischen Y-Achse und Liniendiagramm Start und Ende
- 17. mpeg-dash Echtzeit-Streaming Verzögerung vom Start
- 18. Resty-GWT benutzerdefinierten Rückruf bei asynchronen Start und Ende
- 19. android - was ist der unterschied zwischen android ram und pc's ram
- 20. Ändern FullCalendar Event Info (Start und Ende) von ngDialog modal
- 21. Finden Inhalt zwischen mehreren Start- und Ende-Tags mit regulären Ausdruck
- 22. Was ist der Unterschied zwischen Android Rand Start/Ende und rechts/links?
- 23. Darf eine Apostrophie im Inhalt, der zwischen Start- und Ende-XML-Tags vorkommt, unschlüssig erscheinen?
- 24. Wie effizient ist list.index (Wert, Start, Ende)?
- 25. Benutzerdefinierte Übergangsanimation unbekannte Verzögerung zwischen animationControllerForPrensedController und animateTransition
- 26. ng wiederholt Start/Ende in Angular 2
- 27. Jquery-Verzögerung zwischen den Schlüsselfunktionen
- 28. Linux, wie man Ton im RAM-Puffer notiert und Audio mit kundenspezifischer Verzögerung wiedergibt
- 29. SQL Server und RAM
- 30. Regex Differenz zwischen Wortgrenze Ende und Kanten
Das ist keine Frage über das Programmieren in C. :) Interessant, obwohl. – unwind
Hängt davon ab, was Sie als "RAM" betrachten. Den "RAM" sieht ein Prozess oder den physikalischen "RAM" einer Box vor. – alk
Es hängt von der Struktur des RAM und des Speicherplatzes ab. Zum Beispiel hat ein Prozessor mit L1/L2/L3 SRAM und SDRAM grundsätzlich vier verschiedene Verzögerungen für vier verschiedene Adressbereiche. Auch für die NUMA-Architektur hat der Prozessor-Cluster eine geringere Latenz, indem er auf den Speicher zugreift, der näher bei ihm liegt. Adapteva Epiphany/Parallella ist ähnlich und hat eine lineare Latenz, abhängig von der Entfernung von Prozessor und Speicher. Wenn Sie GPU-Speicher als RAM betrachten, hat auch der dem Host-Adressraum zugeordnete Gerätespeicher eine längere Latenz. So variiert die Latenz, aber nicht unbedingt so einfach – user3528438