2013-10-07 8 views
1

На этой page, есть пример изображение части макета памяти для программы:Интерпретации макете памяти

enter image description here

Что каждая строка в таком изображении представляет? Каждая строка представляет собой одну строку физической памяти? Обычно физическая память имеет 32-разрядную или 64-разрядную длину в каждой строке, так что в этом случае каждая строка в изображении покрывает несколько строк физической памяти?

Спасибо.

ответ

1

Каждая группа из двух цифр представляет один октет (байт). Они часто выкладываются группами из 16 октетов, потому что они хорошо подходят на печатной странице или экране терминала. Адрес самого левого октета находится в левом столбце (например, 00430020).

Это представление используется как типографское соглашение и не обязательно имеет какое-либо отношение к физической структуре памяти.

+0

Объединив два ответа, которые у меня есть, означает ли это, что если физическая память имела 8-битную в качестве каждой записи, каждый октет будет вписываться в каждую запись, и из диаграммы мы можем наблюдать виртуальные адреса каждого 16-го октета, и когда процессору нужны 32-битные/64-битные данные, он будет извлекать несколько октетов из памяти? Благодарю. – Jake

+0

Это делает слишком много предположений о физической структуре памяти и оконечности инструкций ЦП. С быстрым взглядом на исходную страницу они демонстрировали концепцию с использованием абстрактной, а не реальной машины. Данная реальная машина может так поступить, но может и не так. – msw

1

Можно было бы надеяться, что это было очевидно очевидно, но ...

Каждая строка в приведенной выше схеме представляет 16 байтов (при условии, что адрес перемещаетесь на гекс 0x10 с каждой линией и учитывая, что есть 16 байт на каждый линия).

«Обычно физическая память имеет 32-разрядную или 64-разрядную длину в каждой строке» - Ну, нет. Физическая память в основном разделяется на 8-битные байты. Компьютер может иметь 32 или 64-битный путь передачи из памяти в CPU, но ширина этого пути не имеет отношения к пониманию диаграмм, таких как выше. (Термин «строка» внутри компьютера в основном применяется только к «кеш-строке», которая представляет собой группу байтов длиной от 16 байтов до, возможно, 256 байтов (в зависимости от дизайна), которые вместе находятся в «кеше» - высокоскоростной «снимок» частей памяти, но такой кеш работает «прозрачно», поэтому вы можете игнорировать его существование для большинства целей.)

Что вы увидите на приведенной выше диаграмме, так это то, что данные в 32- разрядный адрес - «маленький конец» - первое «следующее» поле - 30 00 43 00, а местоположение, на которое он указывает, - 00430030. Байты в памяти меняются на противоположные от того, как вы или я «естественно» их прочитали.

Таким образом, эта диаграмма просто показывает некоторые простые структуры в памяти и как они адресуют друг друга.