О микропроцессорной памяти 8086 - PullRequest
0 голосов
/ 23 января 2019

Говорят, что микропроцессор 8086 имеет 1 МБ памяти и 20-битный адрес, 16-битную шину данных.Я сомневаюсь, что если это 1 МБ памяти, то это означает (2 ^ 20 * 2 ^ 3) (1 байт = 8 бит) или 2 ^ 23 бита - это весь объем памяти.Тогда как 8086 является 16-битным регистром, то 2 ^ 20 (из адресных строк) * 2 ^ 4 (16-битный размер) является памятью, то есть 2 ^ 24 битами, что не является тем, что я вычислил выше.Так что в моей оценке есть ложь, что это такое?

1 Ответ

0 голосов
/ 23 января 2019

Каждый из 2 ^ 20 адресов относится к 8-битному байту.

Некоторые из машинных инструкций 8086 работают с байтами (8 битами) (используя регистры AH, AL, BH, BL,...) и другие машинные инструкции работают со словами (16-разрядными) (с использованием регистров AX, BX, ...).

При использовании инструкции Word два смежных байта в памяти (адреса (a) и(+ 1)) обрабатываются как данные Word.Я не помню, обеспечивает ли 8086 равномерное выравнивание адресов для ссылок в памяти данных Word.Но 2 ^ 20 байт содержат только 2 ^ 19 слов (выровненных по четным адресам).

Биты сохраняются: (2 ^ 20 * 2 ^ 3) = (2 ^ 19 * 2 ^ 4) = 2^ 23

...