Hallo zusammen
Ich erstelle gerade ein sehr einfaches Tutorial mit einer Sammlung benutzerdefinierter Konfigurationsdateien und einem DOWNLOAD-LINK für TM5 v0.12
anta777 absolut config Offizieller Intel DDR4 24/7 Memory Stability Thread
Nichts von der Arbeit ist meine, aber es scheint eine ziemlich gute und schnelle Test-App zu sein
Update: Bitte lesen Sie diesen Beitrag, bevor Sie fortfahren Speichertests mit TestMem5 TM5 mit benutzerdefinierten Konfigurationen
Ich erstelle gerade ein sehr einfaches Tutorial mit einer Sammlung benutzerdefinierter Konfigurationsdateien und einem DOWNLOAD-LINK für TM5 v0.12
anta777 absolut config Offizieller Intel DDR4 24/7 Memory Stability Thread
Nichts von der Arbeit ist meine, aber es scheint eine ziemlich gute und schnelle Test-App zu sein
Update: Bitte lesen Sie diesen Beitrag, bevor Sie fortfahren Speichertests mit TestMem5 TM5 mit benutzerdefinierten Konfigurationen
1/ Extrahieren Sie an einen Ort Ihrer Wahl mit 7zip oder Winrar oder ähnlichem. Kein Umbenennen oder Verschieben erforderlich
2/ Führen Sie TM5.exe aus. Alle Dateien sind jetzt auf Englisch, dank @Hequaqua für seine Idee
und Extreme1@anta777.cfg ist die Standardeinstellung
3/ Um zu einer anderen Konfigurationsdatei zu wechseln, ist es super einfach. Unten rechts in TM5 steht "Konfiguration laden und beenden", wo Sie die erforderliche Konfigurationsdatei von dem Ort auswählen können, an den Sie alles extrahiert haben, und es erledigt den Rest für Sie
Wenn Sie das nächste Mal TM5.exe ausführen, ist die neue Konfigurationsdatei die Standardeinstellung
2/ Führen Sie TM5.exe aus. Alle Dateien sind jetzt auf Englisch, dank @Hequaqua für seine Idee
3/ Um zu einer anderen Konfigurationsdatei zu wechseln, ist es super einfach. Unten rechts in TM5 steht "Konfiguration laden und beenden", wo Sie die erforderliche Konfigurationsdatei von dem Ort auswählen können, an den Sie alles extrahiert haben, und es erledigt den Rest für Sie
1/ Extrahieren Sie an einen Ort Ihrer Wahl mit 7zip oder ähnlichem
2/ Sie sollten eine TM5.exe und einen bin-Ordner sehen
3/ Öffnen Sie den bin-Ordner
4/ Benennen Sie die ausgewählte .cfg-Datei in MT.cfg um (Sie könnten alle .config-Dateien an einen anderen Ort verschieben und nur die gewünschte in den bin-Ordner kopieren und sie in MT.cfg umbenennen)
5/ Gehen Sie zur TM5.exe und klicken Sie darauf. TestMem5 sollte zu laufen beginnen
6/ Wenn Sie zu einer anderen .cfg-Datei wechseln möchten, müssen Sie sie in MT.cfg umbenennen und die Cfg.link-Datei löschen, die im bin-Ordner generiert wurde, als die TM5.exe ausgeführt wurde
7/ Ich schlage vor, eine neue Instanz von TestMem5 v0.12 (beste Konfigurationen).zip zu extrahieren und den Vorgang von oben zu starten, nachdem Sie den ersten extrahierten Ordner in etwas anderes umbenannt haben
8/ Wenn Sie nur die Konfigurationsdatei in der ersten von Ihnen extrahierten Datei ändern möchten, müssen Sie die Cfg.link-Datei löschen, die während der ersten Ausführung erstellt wurde
9/ Achten Sie darauf, alles andere zu schließen, wenn Sie dies ausführen
10/ Es gibt eine Schaltfläche über der Schaltfläche "Beenden" mit der Bezeichnung "Konfiguration laden & beenden", die die Cfg.link-Datei löschen und das Programm beenden soll, anstatt dies manuell zu tun
2/ Sie sollten eine TM5.exe und einen bin-Ordner sehen
4/ Benennen Sie die ausgewählte .cfg-Datei in MT.cfg um (Sie könnten alle .config-Dateien an einen anderen Ort verschieben und nur die gewünschte in den bin-Ordner kopieren und sie in MT.cfg umbenennen)
5/ Gehen Sie zur TM5.exe und klicken Sie darauf. TestMem5 sollte zu laufen beginnen
6/ Wenn Sie zu einer anderen .cfg-Datei wechseln möchten, müssen Sie sie in MT.cfg umbenennen und die Cfg.link-Datei löschen, die im bin-Ordner generiert wurde, als die TM5.exe ausgeführt wurde
7/ Ich schlage vor, eine neue Instanz von TestMem5 v0.12 (beste Konfigurationen).zip zu extrahieren und den Vorgang von oben zu starten, nachdem Sie den ersten extrahierten Ordner in etwas anderes umbenannt haben
8/ Wenn Sie nur die Konfigurationsdatei in der ersten von Ihnen extrahierten Datei ändern möchten, müssen Sie die Cfg.link-Datei löschen, die während der ersten Ausführung erstellt wurde
9/ Achten Sie darauf, alles andere zu schließen, wenn Sie dies ausführen
10/ Es gibt eine Schaltfläche über der Schaltfläche "Beenden" mit der Bezeichnung "Konfiguration laden & beenden", die die Cfg.link-Datei löschen und das Programm beenden soll, anstatt dies manuell zu tun
Wenn TM5 nicht funktioniert, schlägt @Hequaqua vor, es als Administrator auszuführen
Ein weiteres Problem, das ich gefunden habe, ist, dass Sie möglicherweise die Seitendateigröße in den erweiterten Systemeinstellungen festlegen müssen
Ein weiteres Problem, das ich gefunden habe, ist, dass Sie möglicherweise die Seitendateigröße in den erweiterten Systemeinstellungen festlegen müssen

Veii und KedarWolf denken, dass die Standardtests MT.cfg und 1usmus_v3.cfg möglicherweise mit diesen Fehlernummern übereinstimmen, aber die anderen Konfigurationen möglicherweise nicht, daher müssen Sie möglicherweise einige Hausaufgaben machen
Hier ist sein Beitrag
Fehler 0 Aktualisierungsstabilitätsfehler = Spannungsausfall Drossel
Fehler 1 = Einfacher Test 16 MB ~ kann spannungsbezogen sein, kann tRFC-Probleme sein,
winzige Timeout-Probleme, z. B. tRRD_L sieht etwas umständlich aus
Fehler 2, 12 ist ein Timeout-Problem, irgendwo endet etwas zu schnell oder es fehlt an Spannung und Zellen werden nicht rechtzeitig wieder aufgeladen
ein Synchronisierungsproblem mit anderen Worten, dessen erster Schuldiger die Spannung irgendwo oder der Widerstand irgendwo ist
Fehler 3 & 4 durch Überprüfung der MT.cfg - sind MirrorMove-Fehler
Dieser Satz zeigt tRFC 2-Probleme und dieses tRFC "automatisch vorhergesagt"? ist falsch.
tRFC ist bisher immer gerade
als tRFC-Schritte sind 32,16,8,4,2,
Fehler 5 dann 6 ist eine Zeitabweichung zwischen den DIMMs (Daten-Mirror-Move)
Fehler 6 bezieht sich rein auf den IMC, sei es procODT, CLDO_VDDP oder vSOC
~ es übersetzt sich in "ich konnte nicht einmal mit der Datenübertragung beginnen, ich bin abgestürzt"
4-6x Fehler 6 führt zu einem vollständigen Bluescreen
Fehler 7, 11 sind Burst-Tests
Fehler 9 Burst-Test 4 MB ist ein Spannungsproblem
Wenn Sie tRP gesenkt haben, erhöhen Sie vDimm ein wenig
Wenn Sie tRP auf eine längere Verzögerung erhöht haben, verringern Sie vDIMM +0,01, einen winzigen Schritt
Fehler 10 betrifft meistens die ersten 5 Haupt-Timings
- festgestellt, dass es tRCDWR zu RD sein kann. kann auch tRP sein, aber es können auch die letzten beiden tRDWR & tRDRD sein, die nicht gut mit Ihrem Haupt-tRCDWR/RD harmonieren
Fehler 13 = Einfacher Test 64 MB, Timeout beim Übertragen großer Daten
= vollständiger Absturz, fast immer mit der Spannung verbunden ~ da der Speicher nicht in der Lage war, sich selbst zu korrigieren
Fehler 14 wissen wir, ist MirrorMove Omb, ein Timeout-Problem
- es kann nach dem 2. oder 3. Durchgang einen Fehler ausgeben, wenn etwas um ein paar ns nicht stimmt und einfach "verloren gegangen" ist
Vielen Dank an Veii und @KedarWolf für diese Informationen
Hier ist sein Beitrag
Fehler 0 Aktualisierungsstabilitätsfehler = Spannungsausfall Drossel
Fehler 1 = Einfacher Test 16 MB ~ kann spannungsbezogen sein, kann tRFC-Probleme sein,
winzige Timeout-Probleme, z. B. tRRD_L sieht etwas umständlich aus
Fehler 2, 12 ist ein Timeout-Problem, irgendwo endet etwas zu schnell oder es fehlt an Spannung und Zellen werden nicht rechtzeitig wieder aufgeladen
ein Synchronisierungsproblem mit anderen Worten, dessen erster Schuldiger die Spannung irgendwo oder der Widerstand irgendwo ist
Fehler 3 & 4 durch Überprüfung der MT.cfg - sind MirrorMove-Fehler
Dieser Satz zeigt tRFC 2-Probleme und dieses tRFC "automatisch vorhergesagt"? ist falsch.
tRFC ist bisher immer gerade
als tRFC-Schritte sind 32,16,8,4,2,
Fehler 5 dann 6 ist eine Zeitabweichung zwischen den DIMMs (Daten-Mirror-Move)
Fehler 6 bezieht sich rein auf den IMC, sei es procODT, CLDO_VDDP oder vSOC
~ es übersetzt sich in "ich konnte nicht einmal mit der Datenübertragung beginnen, ich bin abgestürzt"
4-6x Fehler 6 führt zu einem vollständigen Bluescreen
Fehler 7, 11 sind Burst-Tests
- es wird einen Fehler ausgeben, wenn CAD_BUS nicht optimal ist
- wird einen Fehler ausgeben, wenn tRFC zu niedrig ist
- meistens Fehler erst nach einiger Zeit
Fehler 9 Burst-Test 4 MB ist ein Spannungsproblem
Wenn Sie tRP gesenkt haben, erhöhen Sie vDimm ein wenig
Wenn Sie tRP auf eine längere Verzögerung erhöht haben, verringern Sie vDIMM +0,01, einen winzigen Schritt
Fehler 10 betrifft meistens die ersten 5 Haupt-Timings
- festgestellt, dass es tRCDWR zu RD sein kann. kann auch tRP sein, aber es können auch die letzten beiden tRDWR & tRDRD sein, die nicht gut mit Ihrem Haupt-tRCDWR/RD harmonieren
Fehler 13 = Einfacher Test 64 MB, Timeout beim Übertragen großer Daten
= vollständiger Absturz, fast immer mit der Spannung verbunden ~ da der Speicher nicht in der Lage war, sich selbst zu korrigieren
Fehler 14 wissen wir, ist MirrorMove Omb, ein Timeout-Problem
- es kann nach dem 2. oder 3. Durchgang einen Fehler ausgeben, wenn etwas um ein paar ns nicht stimmt und einfach "verloren gegangen" ist
Vielen Dank an Veii und @KedarWolf für diese Informationen
In keiner bestimmten Reihenfolge:
Ollie.cfg
Extreme1@ anta777.cfg
1usmus_v3.cfg
Heavy5opt@ anta777.cfg
2020high@ anta777.cfg
2020medium@ anta777.cfg
2020low@ anta777.cfg
Light1@ anta777.cfg
SuperLight2@ anta777.cfg
Bitte kommentieren Sie Ihre Lieblings-.cfg und warum
Vielen Dank
Ollie.cfg
Extreme1@ anta777.cfg
1usmus_v3.cfg
Heavy5opt@ anta777.cfg
2020high@ anta777.cfg
2020medium@ anta777.cfg
2020low@ anta777.cfg
Light1@ anta777.cfg
SuperLight2@ anta777.cfg
Bitte kommentieren Sie Ihre Lieblings-.cfg und warum
Vielen Dank
@KedarWolf
Um die Sprache auf Englisch zu ändern, bearbeiten Sie die .cfg-Datei und ändern Sie Language=1 in Language=0
Wenn Sie usmus .cfg verwenden, sollten Sie auf 25 Zyklen umstellen. Dauert etwa 3 Stunden. Die Standardeinstellung von 3 Zyklen ist nicht annähernd lang genug
Vielen Dank an @Hequaqua für die Idee, den Download auf Englisch zu stellen
Vielen Dank @h610er für den Tipp, Extreme1@ anta777.cfg zum Laufen zu bringen, indem er das Fenster mit seinem allerersten Beitrag auf OCN
Speichertests mit TestMem5 TM5 mit benutzerdefinierten Konfigurationen ändert
Vielen Dank an alle Leute, die zu dieser Software beigetragen haben
Wenn Sie möchten, dass etwas zu diesem Abschnitt hinzugefügt wird, hinterlassen Sie einen Kommentar im Thread mit @munternet danach
Um die Sprache auf Englisch zu ändern, bearbeiten Sie die .cfg-Datei und ändern Sie Language=1 in Language=0
Wenn Sie usmus .cfg verwenden, sollten Sie auf 25 Zyklen umstellen. Dauert etwa 3 Stunden. Die Standardeinstellung von 3 Zyklen ist nicht annähernd lang genug
Vielen Dank an @Hequaqua für die Idee, den Download auf Englisch zu stellen
Vielen Dank @h610er für den Tipp, Extreme1@ anta777.cfg zum Laufen zu bringen, indem er das Fenster mit seinem allerersten Beitrag auf OCN
Vielen Dank an alle Leute, die zu dieser Software beigetragen haben
Wenn Sie möchten, dass etwas zu diesem Abschnitt hinzugefügt wird, hinterlassen Sie einen Kommentar im Thread mit @munternet danach
Warum wird dieses Programm benötigt.
Nun, ich denke, Sie wissen, worum es in dem Programm geht, schließlich Version 5. Im Moment sind die Speichertests nicht schlecht, aber ziemlich schlecht. Ich möchte nicht über "alle" Tests sprechen, aber die meisten von ihnen sind sich der wesentlichen Änderungen in der Hardware nicht bewusst. Und der Hauptschaden geht überhaupt nicht vom Speicher aus, er hat sich wenig entwickelt, nämlich vom Prozessor und dem Speichercontroller (in geringerem Maße). Prozessoren sind schneller geworden, es gibt eine Menge davon und sie sind seltsam geworden.
Zum Beispiel "saß" der Speicher früher auf einem Controller, mit dem der Prozessor kommunizierte. Jetzt kann der Speicher auf verschiedenen Prozessoren hängen und infolgedessen eine andere "Entfernung" von einem bestimmten Prozessorkern zu einem bestimmten DIMM haben. Darüber hinaus hat die Menge an Caches im Prozessor zugenommen, was sich auf das Testen auswirken kann. Zum Beispiel verwendete TM4 eine Testblockgröße von 512 KB. Zum Zeitpunkt des Schreibens des Programms war dies das Optimum, aber jetzt passt dieser Block leise in L2 und der Test funktioniert überhaupt nicht wie beabsichtigt. Wird sich dieser unangenehme Moment auf die Qualität der Speicherfehlererkennung auswirken? Zweifellos und auf die widerlichste Weise. Ach. Andere Programme können auf einem Zugriffsblock arbeiten, was jetzt äußerst unvernünftig ist und mehr Probleme als mythische Vorteile verursacht. Alles wird veraltet. Ach, dasselbe Schicksal ereilte MemTest86. Ziemlich gut und effektiv, jetzt ist es leise zu "nur einem Test" degradiert. Der Grund ist derselbe - die Testmodule haben sich lange nicht geändert, und die Hardware steht nicht still. Ach. Andere Programme können auf einem Zugriffsblock arbeiten, was jetzt äußerst unvernünftig ist und mehr Probleme als mythische Vorteile verursacht. Alles wird veraltet. Ach, dasselbe Schicksal ereilte MemTest86. Ziemlich gut und effektiv, jetzt ist es leise zu "nur einem Test" degradiert. Der Grund ist derselbe - die Testmodule haben sich lange nicht geändert, und die Hardware steht nicht still. Ach. Andere Programme können auf einem Zugriffsblock arbeiten, was jetzt äußerst unvernünftig ist und mehr Probleme als mythische Vorteile verursacht. Alles wird veraltet. Ach, dasselbe Schicksal ereilte MemTest86. Ziemlich gut und effektiv, jetzt ist es leise zu "nur einem Test" degradiert. Der Grund ist derselbe - die Testmodule haben sich lange nicht geändert, und die Hardware steht nicht still.
Wenn Sie jedoch eine Horrorgeschichte über Testprobleme lesen, bitte
Was ist neu.
Volle Unterstützung für 16 Tests und die Möglichkeit, andere Testkonfigurationsdateien zu laden, wurde hinzugefügt. Leider ist ein vollständiger und unmerklicher Neustart des Programms sehr schwierig, daher müssen Sie den "manuellen" Start verwenden. Nach der Installation der neuen Einstellungsdatei schließt sich das Programm.
Aussehen.
Im Programmfenster werden links der Typ und der Name des Prozessors, seine Frequenz, die Anzahl der Kerne und die unterstützten SSE-Modi angezeigt.
Die rechte Seite zeigt den Zustand des Systemspeichers - wie viel verfügbar ist und wie viel das Programm beschäftigt ist.
Die linke Mitte zeigt den Fortschritt des Tests, wenn ein Fehler erkannt wird, ändern die Zellen 0-5 die Farbe zu Rot und die Anzahl der Testfehler wird im Statusabschnitt in der Mitte rechts angezeigt.
Kleine Beschreibung.
Dieses Programm basiert auf einem etwas anderen Prinzip als alle vorherigen. Nämlich - es ist anpassbar... Darüber hinaus kann es vom Benutzer für die Bedingungen konfiguriert werden, die ihm am besten erscheinen. Das Programm hat das Konzept des "Testmoduls" und des "Tests". Ein Modul wird aufgerufen, um Tests durchzuführen, aber es kann (und sollte) auf verschiedene Weise konfiguriert werden. Formal gesehen sind Tests in S&M ein und dasselbe Modul, aber mit unterschiedlichen Einstellungen - haben Sie gesehen, dass die Leistung der Tests erheblich variiert? ... und dieser Effekt kann für verschiedene Speicher (verschiedene Hersteller) unterschiedlich sein. Nun, wenn sich die Effizienz ändert, dann ist die logische Schlussfolgerung daraus, dass es durch Anpassen der Parameter möglich ist, sie zu erhöhen (Effizienz, das heißt). Es ist schwierig, ein Programm, das vor 5 Jahren geschrieben wurde, als optimal zu betrachten.
Also, Test = Testmodul + individuelle Einstellungen. Der zweite Punkt ist die Anzahl der Test-Threads. In Bezug auf moderne Prozessoren sollte die Anzahl der Test-Threads mehr als eins betragen, was die Kommunikation mit Prozessoren mit eigenem Speicher erleichtert (genauer gesagt, häufiger). Dies gilt insbesondere für den K10-11-12 mit seinem verteilten Bus. Das Programm unterstützt eine andere (sagen wir es mal vorsichtig) Anzahl von Test-Threads. Aus der Erfahrung von S&M kann ich sagen - der schnellste Modus für einen Prozess, aber ich wurde wiederholt darüber informiert, dass die Aktivierung des Mehrfachmodus, obwohl dies zu einer leichten Verringerung der Geschwindigkeit führt, die Effizienz des Algorithmus erhöht. Nun ... obwohl die Arbeitsgeschwindigkeit fast gleichbedeutend mit Qualität ist (da ein langsamer Algorithmus keine Fehler findet), ist es dumm, mit der Praxis zu argumentieren. Das Programm unterstützt eine andere (sagen wir es mal vorsichtig) Anzahl von Test-Threads. Aus der Erfahrung von S&M kann ich sagen - der schnellste Modus für einen Prozess, aber ich wurde wiederholt darüber informiert, dass die Aktivierung des Mehrfachmodus, obwohl dies zu einer leichten Verringerung der Geschwindigkeit führt, die Effizienz des Algorithmus erhöht. Nun ... obwohl die Arbeitsgeschwindigkeit fast gleichbedeutend mit Qualität ist (da ein langsamer Algorithmus keine Fehler findet), ist es dumm, mit der Praxis zu argumentieren. Das Programm unterstützt eine andere (sagen wir es mal vorsichtig) Anzahl von Test-Threads. Aus der Erfahrung von S&M kann ich sagen - der schnellste Modus für einen Prozess, aber ich wurde wiederholt darüber informiert, dass die Aktivierung des Mehrfachmodus, obwohl dies zu einer leichten Verringerung der Geschwindigkeit führt, die Effizienz des Algorithmus erhöht. Nun ... obwohl die Arbeitsgeschwindigkeit fast gleichbedeutend mit Qualität ist (da ein langsamer Algorithmus keine Fehler findet), ist es dumm, mit der Praxis zu argumentieren.
Im Moment sind die folgenden Testparameter geplant (und werden unterstützt):
Bisher gibt es nur zwei davon, aber das ist vorübergehend.
1. Test 0, nämlich und nur darauf funktioniert dieses Modul - Datenstabilitätsprüfung. Die Idee hier ist, dass der gesamte Speicher mit einem nicht konstanten Muster signiert wird, dann wird ein Test durchgeführt und die Sicherheit dieser Daten überprüft.
Der Test verlangsamt die Testgeschwindigkeit drastisch.
2. SimpleTest - obwohl es einfach genannt wird, ist es eher Sarkasmus. Alle Einstellungen werden unterstützt (Größe-Methode-Vorlage), aber aufgrund erhöhter Vielseitigkeit nicht sehr effizient optimiert. Verluste aufgrund einer nicht optimalen Softwareimplementierung sind jedoch nicht so groß und werden nivelliert, wenn Multithread-Tests aktiviert werden - mehrere Prozessoren verstopfen den Speicher-E/A-Kanal um 100 %.
Wenn sich jedoch etwas vereinfachen lässt, erhöht sich die Geschwindigkeit.
Funktion: Das Programm besteht aus zwei Teilen - einem Startprogramm und einer DLL mit Testmodulen. Packen Sie alles aus und behalten Sie die Verzeichnisse bei.
Zwei Funktionen geschrieben: MirrorMove und MirrorMove128.
Der springende Punkt ist, dass der Testblock umgedreht wird. In diesem Fall treffen sich zwei Prozesse des Lesens und Schreibens. Wenn der Speichercontroller versucht, schlau zu sein und sich an den Zugriffsmodus anzupassen, sollte sein Chef von einer solchen Pornografie abgerissen werden - es gibt niemals zwei gleiche Prozesse in + und in - Adressierung. Die Funktionen selbst schütteln nur den Block, testen aber nicht die Datenintegrität. Test 0 wird zur Überprüfung verwendet. Wenn Sie diese Funktionen also verwenden möchten, schalten Sie Test 0 nicht aus.
MirrorMove
- spiegelt den Testblock. Bei einer geraden Anzahl von Reflexionen ändert sich der Endzustand des Blocks nicht (wenn es keine Fehler gibt). Der Block selbst kann in mehrere Unterblöcke aufgeteilt und gleichzeitig gespiegelt werden. Dies verursacht große Probleme für den Controller (und den Speicher selbst) - Sie müssen SDRAM-Seiten häufiger überlasten.
Nur Test Block Size und Parameter sind konfigurierbar, die die Werte 1,2,3,4 annehmen können - dies ist die Anzahl der Unterblöcke im Block.
Alle anderen Einstellungen (und dies ist der Vorlagengenerierungsmodus) werden ignoriert.
MirrorMove128
- ähnlich wie MirrorMove, funktioniert aber etwas anders - Operationen werden auf einer Seite von 128 Bytes durchgeführt (siehe unten), ein zusätzlicher Offset wird zwischen dem Zugriff vorgenommen. Das. Bewegung (Spiegelung) erfolgt in Streifen in mehreren Durchgängen - zuerst gerade Streifen, dann ungerade (für 2 Streifen). Zusätzlich zur Erhöhung der Last auf den Speichercontroller verursacht diese Aktion ein intensives Neuladen der Seite in SDRAM, was die Wahrscheinlichkeit eines Fehlers darin erhöht. (nun, natürlich auch Erwärmung)
Nur Test Block Size und Parameter sind einstellbar, die Werte von 0 und mehr annehmen können. Der Parameter selbst bedeutet, wie viel zusätzlich in Seiten von 128 Bytes verschoben werden soll. Das. 0 bedeutet linearen Zugriff (fast wie in MirrorMove), 1 - Seite überspringen und 'jedes zweite Mal' springen, 2 - 2 Seiten überspringen (256 Bytes) ...
Dementsprechend legt der Parameter die Anzahl der zusätzlichen Bänder (Durchläufe) fest, um den gesamten Block zu füllen. Nach der Ausführungszeit des Zugriffs zu urteilen, verursacht der 510-Stunden-Zugriff für Core2 (wahrscheinlich und andere Prozessoren mit dem alten Interleaving-Modus) die größten Probleme. Dies bedeutet, dass es potenziell interessant für Tests ist. Für andere Prozessoren und Systeme wäre es gut, Zahlen in Potenzen von zwei minus 2 zu überprüfen. Dieses '-2' zwingt Sie, nicht eine, sondern zwei SDRAM-Seiten auszuwählen, was zu einer Erhöhung der Zeit führt. Das heißt, für die Optimierung wäre es gut, die Zeile 128-2 = 126, 256-2, 512-2, 1024-2, 2048-2 zu überprüfen.
In Bezug auf den Zugriff auf 128 Bytes wurde dies absichtlich getan. In der Regel beträgt eine Datenübertragungseinheit auf dem Bus 64 Bytes, was einer Cache-Zeile entspricht, aber in Core2 (und höher) ist diese Zeile gepaart und ihre Dimension beträgt 128 Bytes. Wenn Sie 64 Bytes lesen, sinkt die Download-Geschwindigkeit. Darüber hinaus ist bei den neuen Prozessoren (AMD K10, K11 ...; Intel Core i * ) das Interleaving nicht klein geschrieben, sondern Block- und 64-Byte-Zugriffseinheit. Wenn also auf 128 Bytes zugegriffen wird, werden beide DIMMs gelesen.
Eine weitere Erhöhung von 128 auf 256 Bytes ist noch nicht relevant ... aber Sie können es tun. Es wird MirrorMove256 geben
In TM5 Version 0.5 wurde die Dimension der Darstellung des Testtestblocks geändert. Früher war es in Bytes, jetzt in Megabytes. Das Argument ist, dass kleine Blöcke schön in L2/L3 zwischengespeichert werden und nicht getestet werden. Bedeutung? Es gibt keinen Sinn, aber der Komfort leidet, also habe ich es geändert.
Da in modernen Prozessoren der Cache mehr als 4 MB (oder in der Größenordnung) beträgt, sind die Zahlen 0-3 nicht interessant und werden auf besondere Weise interpretiert. Nämlich als Grad des Fensterbruchs.
Das Testen erfolgt in einem 1 GB-Fenster (diese Zahl kann geändert werden) und der Testblock sollte darin passen. Sie können die Größe des Testblocks in einem absoluten Wert Mb oder als Teil des Fensters angeben. Hier sind die Zahlen 0-3 und definieren diesen 'Teil'.
0 = ganzes Fenster
1 = 1/2 Fenster
2 = 1/3 Fenster
3 = 1/4 Fenster
Wahrscheinlich ist es für die MirrorMove * -Funktionen besser, 0 anzugeben und das gesamte Fenster zu geben.
Anpassung.
Nach dem Start des Programms erschien die Datei MT.cfg im bin-Verzeichnis, die die Testkonfigurationsdatei ist.
Enable = 1 - 1 = aktiviert, 0 = deaktiviert
Zeit = 100 - Testzeit, 100%
Funktion = SimpleTest -
DLL-Funktionsname Name = bin
MT0.dll - dll-Name
Muster-Modus = 1 - Muster-Typ. 0 = konstant, 1 = variabel, 2 = zufällig
Muster-Param0 = 0x1E5F - wird verwendet, um ein Muster zu generieren; Für Modus 2 dient es als Multiplikator
Muster-Param1 = 0x45357354 - ähnlich. Für Modus 2 wird der Vorlage hinzugefügt.
Parameter = 0 - das Prinzip des Verschiebens nach Adressen.
Test Block Size = 4194304 - Blockgröße in Bytes
Um eine Vorlage im Modus 2 zu generieren, wird eine einfache Formel verwendet, um RND = Wert * Param0 + Param1 zu erhalten.
Parameter ist eine Möglichkeit, zum nächsten Block zu gelangen. 0 = linearer (sequentieller) Bypass. Andere Werte sind nur für ihre DIMM. Die Zahl selbst ist, wie viel verschoben werden soll.
Die Idee ist, dass zuerst ein DIMM geprüft wird, dann das zweite (und das dritte, für Varianten wie Core i7).
Zugriffseinheit, d. h. die Anzahl der Bytes, die jeweils von einem DIMM entnommen werden, 64 Bytes. Dementsprechend geht die Überprüfung durch Einstellen von Parameter = 1 auf jedem Block des ausgewählten DIMM. Wenn "2" - dann nach einem .....
Übrigens ist der Abschnitt zum Einrichten der Ausrüstung hier wichtig. Ich denke, fast jeder hat Speicher in gepaarten Steckplätzen und der DUAL-Modus funktioniert. Sie müssen also eines tun - den Intreliving-Modus umschalten. 0 für ältere Prozessoren (kein integrierter Speichercontroller) und 1 für neuere.
Der Speichermanager in Windows 7 hat eine Funktion - sobald Sie Speicher von Windows nehmen, beginnt er sofort, mehr und mehr zu leeren. Normalerweise reicht es aus, ein paar Zyklen zu warten, und dieser Prozess wird sich beruhigen. Wenn es stört, können Sie diesen 'Soft'-Modus der Speicheranforderung deaktivieren.
Wenn Sie Folgendes einfügen: Capable = 0x 0, dann wird der belegte Speicher sofort verriegelt.[/I][/I]
TestMem-Supportseite - TestMem V
Nun, ich denke, Sie wissen, worum es in dem Programm geht, schließlich Version 5. Im Moment sind die Speichertests nicht schlecht, aber ziemlich schlecht. Ich möchte nicht über "alle" Tests sprechen, aber die meisten von ihnen sind sich der wesentlichen Änderungen in der Hardware nicht bewusst. Und der Hauptschaden geht überhaupt nicht vom Speicher aus, er hat sich wenig entwickelt, nämlich vom Prozessor und dem Speichercontroller (in geringerem Maße). Prozessoren sind schneller geworden, es gibt eine Menge davon und sie sind seltsam geworden.
Wenn Sie jedoch eine Horrorgeschichte über Testprobleme lesen, bitte
Was ist neu.
Volle Unterstützung für 16 Tests und die Möglichkeit, andere Testkonfigurationsdateien zu laden, wurde hinzugefügt. Leider ist ein vollständiger und unmerklicher Neustart des Programms sehr schwierig, daher müssen Sie den "manuellen" Start verwenden. Nach der Installation der neuen Einstellungsdatei schließt sich das Programm.
Aussehen.

Im Programmfenster werden links der Typ und der Name des Prozessors, seine Frequenz, die Anzahl der Kerne und die unterstützten SSE-Modi angezeigt.
Die rechte Seite zeigt den Zustand des Systemspeichers - wie viel verfügbar ist und wie viel das Programm beschäftigt ist.
Die linke Mitte zeigt den Fortschritt des Tests, wenn ein Fehler erkannt wird, ändern die Zellen 0-5 die Farbe zu Rot und die Anzahl der Testfehler wird im Statusabschnitt in der Mitte rechts angezeigt.
Kleine Beschreibung.
Dieses Programm basiert auf einem etwas anderen Prinzip als alle vorherigen. Nämlich - es ist anpassbar... Darüber hinaus kann es vom Benutzer für die Bedingungen konfiguriert werden, die ihm am besten erscheinen. Das Programm hat das Konzept des "Testmoduls" und des "Tests". Ein Modul wird aufgerufen, um Tests durchzuführen, aber es kann (und sollte) auf verschiedene Weise konfiguriert werden. Formal gesehen sind Tests in S&M ein und dasselbe Modul, aber mit unterschiedlichen Einstellungen - haben Sie gesehen, dass die Leistung der Tests erheblich variiert? ... und dieser Effekt kann für verschiedene Speicher (verschiedene Hersteller) unterschiedlich sein. Nun, wenn sich die Effizienz ändert, dann ist die logische Schlussfolgerung daraus, dass es durch Anpassen der Parameter möglich ist, sie zu erhöhen (Effizienz, das heißt). Es ist schwierig, ein Programm, das vor 5 Jahren geschrieben wurde, als optimal zu betrachten.
Im Moment sind die folgenden Testparameter geplant (und werden unterstützt):
- Blockgröße. Je kleiner, desto effizienter der Algorithmus. Aber wenn der Block in den Cache passt, schlägt der Algorithmus fehl.
- Block-Bypass-Methode. Linear oder springend. Der erste hat eine hohe Geschwindigkeit, der zweite - lädt die Controller-DIMM-Bündelung intensiver und führt zu einer stärkeren Erwärmung des Speichers. (ähm, es ist nicht umsonst, dass der vierte Test in S&M den Speicher so stark erhitzt hat).
- das Prinzip der Generierung von Vorlagen. Konstant, variabel und zufällig.
Bisher gibt es nur zwei davon, aber das ist vorübergehend.
1. Test 0, nämlich und nur darauf funktioniert dieses Modul - Datenstabilitätsprüfung. Die Idee hier ist, dass der gesamte Speicher mit einem nicht konstanten Muster signiert wird, dann wird ein Test durchgeführt und die Sicherheit dieser Daten überprüft.
Der Test verlangsamt die Testgeschwindigkeit drastisch.
2. SimpleTest - obwohl es einfach genannt wird, ist es eher Sarkasmus. Alle Einstellungen werden unterstützt (Größe-Methode-Vorlage), aber aufgrund erhöhter Vielseitigkeit nicht sehr effizient optimiert. Verluste aufgrund einer nicht optimalen Softwareimplementierung sind jedoch nicht so groß und werden nivelliert, wenn Multithread-Tests aktiviert werden - mehrere Prozessoren verstopfen den Speicher-E/A-Kanal um 100 %.
Funktion: Das Programm besteht aus zwei Teilen - einem Startprogramm und einer DLL mit Testmodulen. Packen Sie alles aus und behalten Sie die Verzeichnisse bei.
Zwei Funktionen geschrieben: MirrorMove und MirrorMove128.
Der springende Punkt ist, dass der Testblock umgedreht wird. In diesem Fall treffen sich zwei Prozesse des Lesens und Schreibens. Wenn der Speichercontroller versucht, schlau zu sein und sich an den Zugriffsmodus anzupassen, sollte sein Chef von einer solchen Pornografie abgerissen werden - es gibt niemals zwei gleiche Prozesse in + und in - Adressierung. Die Funktionen selbst schütteln nur den Block, testen aber nicht die Datenintegrität. Test 0 wird zur Überprüfung verwendet. Wenn Sie diese Funktionen also verwenden möchten, schalten Sie Test 0 nicht aus.
MirrorMove
- spiegelt den Testblock. Bei einer geraden Anzahl von Reflexionen ändert sich der Endzustand des Blocks nicht (wenn es keine Fehler gibt). Der Block selbst kann in mehrere Unterblöcke aufgeteilt und gleichzeitig gespiegelt werden. Dies verursacht große Probleme für den Controller (und den Speicher selbst) - Sie müssen SDRAM-Seiten häufiger überlasten.
Nur Test Block Size und Parameter sind konfigurierbar, die die Werte 1,2,3,4 annehmen können - dies ist die Anzahl der Unterblöcke im Block.
Alle anderen Einstellungen (und dies ist der Vorlagengenerierungsmodus) werden ignoriert.
MirrorMove128
- ähnlich wie MirrorMove, funktioniert aber etwas anders - Operationen werden auf einer Seite von 128 Bytes durchgeführt (siehe unten), ein zusätzlicher Offset wird zwischen dem Zugriff vorgenommen. Das. Bewegung (Spiegelung) erfolgt in Streifen in mehreren Durchgängen - zuerst gerade Streifen, dann ungerade (für 2 Streifen). Zusätzlich zur Erhöhung der Last auf den Speichercontroller verursacht diese Aktion ein intensives Neuladen der Seite in SDRAM, was die Wahrscheinlichkeit eines Fehlers darin erhöht. (nun, natürlich auch Erwärmung)
Nur Test Block Size und Parameter sind einstellbar, die Werte von 0 und mehr annehmen können. Der Parameter selbst bedeutet, wie viel zusätzlich in Seiten von 128 Bytes verschoben werden soll. Das. 0 bedeutet linearen Zugriff (fast wie in MirrorMove), 1 - Seite überspringen und 'jedes zweite Mal' springen, 2 - 2 Seiten überspringen (256 Bytes) ...
Dementsprechend legt der Parameter die Anzahl der zusätzlichen Bänder (Durchläufe) fest, um den gesamten Block zu füllen. Nach der Ausführungszeit des Zugriffs zu urteilen, verursacht der 510-Stunden-Zugriff für Core2 (wahrscheinlich und andere Prozessoren mit dem alten Interleaving-Modus) die größten Probleme. Dies bedeutet, dass es potenziell interessant für Tests ist. Für andere Prozessoren und Systeme wäre es gut, Zahlen in Potenzen von zwei minus 2 zu überprüfen. Dieses '-2' zwingt Sie, nicht eine, sondern zwei SDRAM-Seiten auszuwählen, was zu einer Erhöhung der Zeit führt. Das heißt, für die Optimierung wäre es gut, die Zeile 128-2 = 126, 256-2, 512-2, 1024-2, 2048-2 zu überprüfen.
In Bezug auf den Zugriff auf 128 Bytes wurde dies absichtlich getan. In der Regel beträgt eine Datenübertragungseinheit auf dem Bus 64 Bytes, was einer Cache-Zeile entspricht, aber in Core2 (und höher) ist diese Zeile gepaart und ihre Dimension beträgt 128 Bytes. Wenn Sie 64 Bytes lesen, sinkt die Download-Geschwindigkeit. Darüber hinaus ist bei den neuen Prozessoren (AMD K10, K11 ...; Intel Core i * ) das Interleaving nicht klein geschrieben, sondern Block- und 64-Byte-Zugriffseinheit. Wenn also auf 128 Bytes zugegriffen wird, werden beide DIMMs gelesen.
Eine weitere Erhöhung von 128 auf 256 Bytes ist noch nicht relevant ... aber Sie können es tun. Es wird MirrorMove256 geben
In TM5 Version 0.5 wurde die Dimension der Darstellung des Testtestblocks geändert. Früher war es in Bytes, jetzt in Megabytes. Das Argument ist, dass kleine Blöcke schön in L2/L3 zwischengespeichert werden und nicht getestet werden. Bedeutung? Es gibt keinen Sinn, aber der Komfort leidet, also habe ich es geändert.
Da in modernen Prozessoren der Cache mehr als 4 MB (oder in der Größenordnung) beträgt, sind die Zahlen 0-3 nicht interessant und werden auf besondere Weise interpretiert. Nämlich als Grad des Fensterbruchs.
Das Testen erfolgt in einem 1 GB-Fenster (diese Zahl kann geändert werden) und der Testblock sollte darin passen. Sie können die Größe des Testblocks in einem absoluten Wert Mb oder als Teil des Fensters angeben. Hier sind die Zahlen 0-3 und definieren diesen 'Teil'.
0 = ganzes Fenster
1 = 1/2 Fenster
2 = 1/3 Fenster
3 = 1/4 Fenster
Wahrscheinlich ist es für die MirrorMove * -Funktionen besser, 0 anzugeben und das gesamte Fenster zu geben.
Anpassung.
Nach dem Start des Programms erschien die Datei MT.cfg im bin-Verzeichnis, die die Testkonfigurationsdatei ist.
Enable = 1 - 1 = aktiviert, 0 = deaktiviert
Zeit = 100 - Testzeit, 100%
Funktion = SimpleTest -
DLL-Funktionsname Name = bin
MT0.dll - dll-Name
Muster-Modus = 1 - Muster-Typ. 0 = konstant, 1 = variabel, 2 = zufällig
Muster-Param0 = 0x1E5F - wird verwendet, um ein Muster zu generieren; Für Modus 2 dient es als Multiplikator
Muster-Param1 = 0x45357354 - ähnlich. Für Modus 2 wird der Vorlage hinzugefügt.
Parameter = 0 - das Prinzip des Verschiebens nach Adressen.
Test Block Size = 4194304 - Blockgröße in Bytes
Um eine Vorlage im Modus 2 zu generieren, wird eine einfache Formel verwendet, um RND = Wert * Param0 + Param1 zu erhalten.
Parameter ist eine Möglichkeit, zum nächsten Block zu gelangen. 0 = linearer (sequentieller) Bypass. Andere Werte sind nur für ihre DIMM. Die Zahl selbst ist, wie viel verschoben werden soll.
Die Idee ist, dass zuerst ein DIMM geprüft wird, dann das zweite (und das dritte, für Varianten wie Core i7).
Zugriffseinheit, d. h. die Anzahl der Bytes, die jeweils von einem DIMM entnommen werden, 64 Bytes. Dementsprechend geht die Überprüfung durch Einstellen von Parameter = 1 auf jedem Block des ausgewählten DIMM. Wenn "2" - dann nach einem .....
Übrigens ist der Abschnitt zum Einrichten der Ausrüstung hier wichtig. Ich denke, fast jeder hat Speicher in gepaarten Steckplätzen und der DUAL-Modus funktioniert. Sie müssen also eines tun - den Intreliving-Modus umschalten. 0 für ältere Prozessoren (kein integrierter Speichercontroller) und 1 für neuere.
Der Speichermanager in Windows 7 hat eine Funktion - sobald Sie Speicher von Windows nehmen, beginnt er sofort, mehr und mehr zu leeren. Normalerweise reicht es aus, ein paar Zyklen zu warten, und dieser Prozess wird sich beruhigen. Wenn es stört, können Sie diesen 'Soft'-Modus der Speicheranforderung deaktivieren.
Wenn Sie Folgendes einfügen: Capable = 0x 0, dann wird der belegte Speicher sofort verriegelt.[/I][/I]
TestMem-Supportseite - TestMem V