Какова адресуемость с учетом количества 16 адресных проводов (шины) и размера 8-битного слова?

Компьютер имеет 16 адресных проводов (адресная шина?) И 8-битный размер слова. Что такое адресность?

Я понял, что адресное пространство равно 2^16 = 65536, но я все еще не знаю, как рассчитать адресуемость.

Я знаю, что адресность - это байты, которые занимает каждое пространство, но как мне это выяснить? Любая помощь приветствуется, особенно некоторая общая формула, связывающая размер слова / адресную шину с адресуемостью.

Извините, если этот вопрос очень прост.

1 ответ

Поскольку существует 2^16 уникальных значений, которые вы можете поместить в адресную шину, и вы хотите иметь возможность обращаться к своей памяти с байтовой гранулярностью, каждое значение отображается на один байт.

Если ваша машина всегда загружалась, скажем, в 64 КБ строк кэша, а ваша оперативная память была настроена на передачу 64 ББ пакетов с запрошенного адреса, вам потребуется всего 10 адресных строк, чтобы покрыть те же 64 КБ памяти. Процессор определит, какой байт нагрузки на самом деле нужен внутри, без необходимости помещать. (Или с 16 адресными строками, адресностью 2^16 * 64B).

Если вам нужна адресная память в битах, размер слова = 1b, 2^16 бит - это всего 2^13 байтов.

В реальной жизни контроллеры памяти передают адреса в DRAM в две половины, что сокращает количество адресных строк в два раза. См. Статью Урриха Дреппера "Что должен знать каждый программист о памяти", в которой упоминается об этом, но основное внимание уделяется поведению кэша и его оптимизации.

Другие вопросы по тегам