23

Я готовлюсь к концу семестра и меня смущает следующий вопрос. Если процессор имеет 16-битную адресную шину и 8-битные слова, сколько памяти в КБ он может адресовать? Мое понимание скажет мне, что он может адресовать 64 КБ, однако для этого я просто использовал 2 ^ 16 = 65 536. Это вычисление никогда не принимало во внимание 8-битные слова, поэтому я не уверен, что это правильно. И что означает 8-битные слова?

ура

5 ответов5

38

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

Максимально возможный размер адреса, используемый для обозначения места в памяти, обычно называется аппаратным словом.

Таким образом, ваш процессор сможет адресовать 64 КБ (2 ^ 16), но сможет передавать только за одну операцию 8 бит.

20

Машинное слово или обычно просто слово - это самая большая единица данных, которой ЦПУ может манипулировать в целом, используя общие инструкции. Это не имеет ничего общего с адресацией памяти.

Важна единица разрешения адреса, которая обычно составляет 8-битный байт даже в 16/32/64-битных архитектурах. Он не должен быть равен размеру машинного слова, но, вероятно, это в вашем случае.

8-разрядный адресуемый модуль в сочетании с 16-разрядной адресной шиной составляет 64 КБ ОЗУ, к которому может обращаться ЦП.

2

И что означает 8-битные слова?

В контексте размер слова соответствует размеру адреса для описания шины памяти. В память уходит 16 бит, поэтому она может выбирать 64 места. Затем каждое местоположение содержит 8 битов.

Размер слова здесь может соответствовать или не соответствовать размеру блока вычислений ЦП, и это может соответствовать или не соответствовать логической детализации при адресации.

Например, ЦП может объявить 16-битную шину (для этой цели). Он использует 16-битные адреса в своих инструкциях, и, как ваш пример, имеет 64ки. Но у этого есть 15 битов адресной шины и 16 битов шины данных. Для этого нужны только 32ки адреса и всегда получается 2 байта с каждой локацией. (Если команде требуется 1 байт, она отправит адрес с наименьшим пропущенным битом, извлечет оба байта на этом шаге, а затем посмотрит на младший бит нужного адреса, чтобы решить, какую половину использовать.)

Обратите внимание, что переключение банков, PAE и т.д., Упомянутые другими, здесь не имеют значения. Блок управления памятью может использовать 16-разрядные адреса и иметь 20-разрядный аппаратный адрес, поэтому ЦПУ необходимо переключать и отображать объекты, чтобы использовать фактический 20-разрядный диапазон адресов микросхем ОЗУ, которые можно адресовать.

Не забудьте указать единицы в ваших ответах. «64ki». Которого? 8-битные слова, делающие (пока) 64ки байтов адресуемой оперативной памяти. Этот шаг устраняет путаницу и делает такие проблемы тривиальными.

0

Вы также должны использовать размер слова в расчетах. Ответ 64 КБ.

Вы можете адресовать 2 ^ 16 слов, и каждое слово является 8-битным (= 1 байт). Поэтому это 64 КБ.

Если размер слова был 16 бит. Ответ будет 128 КБ.

0

У этого есть две стороны: что ваш инструктор, вероятно, хочет, чтобы вы ему сказали, и какова реальность.

Сначала то, что ваш инструктор, вероятно, хочет, чтобы вы сказали ему.

«16 бит могут адресовать 2 ^ 16 ячеек памяти, каждая ячейка имеет 8 бит. Таким образом, мы можем обратиться к 524288-битной (65536 октетной) памяти. "

Это, однако, отражает довольно упрощенное мировоззрение. Реальность более сложна, и для того, чтобы дать окончательный ответ, требуется больше информации. Некоторые из способов, которыми реальные системы могут быть более сложными, чем это, включают.

  • Многие процессоры не имеют выделенной карты ввода-вывода, поэтому части адресного пространства памяти, возможно, придется использовать для чего-то другого, кроме памяти.
  • "Размер слова" процессора не всегда совпадает с шириной шины данных памяти или наименьшей адресуемой единицей памяти.
  • Некоторые шины позволяют перемещать блоки данных различного размера. Это требует дополнительной адресации, которая может обрабатываться или не обрабатываться битами главной адресной шины.
  • Некоторые шины мультиплексируют разные сигналы на одних и тех же линиях. Например, SDRAM дважды использует одни и те же строки адреса для отправки "адреса строки" и "адреса столбца".
  • Многие системы использовали подходы банковской коммутации, чтобы позволить программам получать доступ к большему объему памяти, чем процессор мог изначально адресовать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .