Вопрос

Я читал о моделях памяти в книге по сборке, которую взял, и у меня есть один или два вопроса.Допустим, адресная шина имеет 32 линии, шина данных — 32 линии, а ЦП — 32-битный (для простоты).Теперь, если ЦП делает запрос на чтение и отправляет 32-битный адрес, но ему нужно только 8 бит, все 32 бита все равно вернутся?Кроме того, адреса в памяти по-прежнему адресуются побайтно, верно?Значит, выборка одного байта вернет 0000 0001 по адресу 0000 0004?

Это было полезно?

Решение

В целом да.Читая части слова из автобуса, вы ничего не получите, поэтому читается целое слово.Инструкции указывают, какие части слов им необходимо загрузить или сохранить в регистрах.

Тем не менее, в наши дни редко можно читать прямо из памяти.У процессоров есть кеши, с которыми вы взаимодействуете 99% времени, и когда данных нет в кеше, вводится целая строка (несколько слов), а затем вы все равно читаете из кеша.

Также обратите внимание, что многие современные процессоры имеют 64-битные шины.

Другие советы

Вам действительно стоит прочитать это: Что каждый программист должен знать о памяти

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top