Frage

Ich watsche derzeit durch das Arm Architekturhandbuch für den Armv7-Kern. In Kapitel A3.5.3 Über die Zerstäubung von Speicherzugriffe heißt es:

Wenn eine einkopierende Atomlast einen einkopierenden Atomspeicher überlappt und Bei einem der überlappenden Bytes gibt die Last die von geschriebenen Daten zurück der Schreib in die Kohärenzreihenfolge dieses Byte durch die Atom-Single-Kopierer, dann muss die Last Daten von einem Punkt zurückgeben In der Kohärenzbestellung nein, nicht früher als die schreienden in die Kohärenzauftrag durch den einkopierenden Atomspeicher von allen überlappende Bytes.

Als nicht einheimischer englischer Sprecher habe ich gebe zu, dass ich etwas in der Lage bin, diesen Satz zu verstehen.

Gibt es ein Szenario, in dem schreibt, dass er in eine Speicherbyte schreibt, nicht in die Kohärenzreihenfolge eingesetzt und damit das oben genannte nicht gilt? Wenn nicht, bin ich richtig, um zu sagen, dass die Verkürzung und Wiederatmung des Satzes auf folgende Weise hergestellt und wiederholt wird:

Wenn die Last stattfindt, um mindestens ein Byte der Der Schreib, dann muss die Last alle überlappenden Bytes von einem Punkt zurückgeben Nein, nicht früher, als der Schreiben sie in die Kohärenzreihenfolge aller überlappenden Bytes.

transportiert immer noch dieselbe Bedeutung?

War es hilfreich?

Lösung

Ich sehe, dass das Wortlaut im Armv8-Arm, der wirklich versucht, mögliche Mehrdeutigkeit an vielen Orten zu entfernen (selbst wenn der Speicherordnungsabschnitt nahezu unlesbar ist).

in Bezug auf das allgemeine Verständnis (im Gegensatz zu eigentlich implementieren die Spezifikation) weh nicht immer weh, so dass es nicht immer tut, während es nicht ist, es absolut zu machen Löschen, was ein "Speicherplatz" bedeutet, ich denke, dass das alte V7-Handbuch (DDI0406C.B) ein schöneres Lesen in diesem Fall ist:

Eine Lese- oder Schreiboperation ist ein einzelner Kopiergerät, wenn die folgenden Bedingungen TRUE TRUE:

sind

  • Nach einer beliebigen Anzahl von Schreibvorgängen an einen Speicherort ist der Wert des Speicherorts der Wert, der von einem der Schreibvorgänge geschrieben ist. Es ist nicht möglich, einen Teil des Wertes des Speicherplatzes von einem Schreibvorgang zu stammen, und einen anderen Teil des Werts, der von einem anderen Schreibvorgang stammt

  • Wenn ein Lesevorgang und ein Schreibvorgang an denselben Speicherort vorgenommen werden, ist der von der Lesevorgang erhaltene Wert einer von:

    • der Wert des Speicherplatzes vor dem Schreibvorgang
    • der Wert des Speicherplatzes nach dem Schreibvorgang.

    Es ist niemals der Fall, dass der Wert des Lesevorgangs vor dem Schreibvorgang teilweise der Wert des Speicherplatzes ist, und teilweise den Wert des Speicherorts nach dem Schreibvorgang.

Ihr Verständnis ist also recht > davon.

Es gibt einen Fall in v7, wodurch (wenn ich es richtig interpretiere) zwei normalerweise einkopierende Atomspeicher, die gleichzeitig an demselben Ort auftreten, aber mit unterschiedlichen Größen, die die Zerstäubigkeit garantieren, so theoretisch Es könnte einige unerwartete Mischung von Bytes dort beobachten - diese blickt in V8 aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top