Warum kommt es bei falsch ausgerichtetem Adresszugriff zu 2 oder mehr Zugriffen?
Die normale Antwort auf die Frage, warum die Datenausrichtung einen effizienteren Zugriff und eine Vereinfachung des CPU-Designs ermöglicht.
Eine relevante Frage und ihre Antworten sindHie. Und eine andere Quelle istHie. Aber beide lösen meine Frage nicht.
Angenommen, eine CPU hat eine Zugriffsgranularität von 4 Byte. Das heißt, die CPU liest jeweils 4 Bytes. Das oben aufgeführte Material besagt, dass die CPU zwei Zugriffe ausführen muss, wenn ich auf falsch ausgerichtete Daten zugreife, z. B. Adresse 0x1 (eine von den Adressen 0x0, 0x1, 0x2 und 0x3, eine von den Adressen 0x4, 0x5, 0x6 und 0x7). und kombiniere die Ergebnisse. Ich kann nicht verstehen warum. Warum kann die CPU keine Daten von 0x1, 0x2, 0x3, 0x4 lesen, wenn ich auf die Adresse 0x1 zugreife? Die Leistung wird dadurch nicht beeinträchtigt, und die Schaltung ist sehr komplex.
Danke im Voraus