Можно было бы надеяться, что это было очевидно очевидно, но ...
Каждая строка в приведенной выше схеме представляет 16 байтов (при условии, что адрес перемещаетесь на гекс 0x10 с каждой линией и учитывая, что есть 16 байт на каждый линия).
«Обычно физическая память имеет 32-разрядную или 64-разрядную длину в каждой строке» - Ну, нет. Физическая память в основном разделяется на 8-битные байты. Компьютер может иметь 32 или 64-битный путь передачи из памяти в CPU, но ширина этого пути не имеет отношения к пониманию диаграмм, таких как выше. (Термин «строка» внутри компьютера в основном применяется только к «кеш-строке», которая представляет собой группу байтов длиной от 16 байтов до, возможно, 256 байтов (в зависимости от дизайна), которые вместе находятся в «кеше» - высокоскоростной «снимок» частей памяти, но такой кеш работает «прозрачно», поэтому вы можете игнорировать его существование для большинства целей.)
Что вы увидите на приведенной выше диаграмме, так это то, что данные в 32- разрядный адрес - «маленький конец» - первое «следующее» поле - 30 00 43 00
, а местоположение, на которое он указывает, - 00430030
. Байты в памяти меняются на противоположные от того, как вы или я «естественно» их прочитали.
Таким образом, эта диаграмма просто показывает некоторые простые структуры в памяти и как они адресуют друг друга.
Объединив два ответа, которые у меня есть, означает ли это, что если физическая память имела 8-битную в качестве каждой записи, каждый октет будет вписываться в каждую запись, и из диаграммы мы можем наблюдать виртуальные адреса каждого 16-го октета, и когда процессору нужны 32-битные/64-битные данные, он будет извлекать несколько октетов из памяти? Благодарю. – Jake
Это делает слишком много предположений о физической структуре памяти и оконечности инструкций ЦП. С быстрым взглядом на исходную страницу они демонстрировали концепцию с использованием абстрактной, а не реальной машины. Данная реальная машина может так поступить, но может и не так. – msw