Цифровые устройства и микропроцессоры: Учебное пособие, страница 51

7.6.3 Понятие адресного пространства

Адресное пространство микропроцессора изображается в виде набора ячеек с последовательно возрастающими номерами (адресами) , как показано на рисунке 7.14.

десятичный номер ячейки

двоичный номер ячейки

64K

1111111111111111

1111111111111110

1111111111111101

0000010000000001

0000010000000000

0000001111111111

4

0000000000000100

3

0000000000000011

2

0000000000000010

1

0000000000000001

0

0000000000000000

7

6

5

4

3

2

1

0

номер бита в ячейке

Рисунок 7.14. Адресное пространство микропроцессора ША16

Обычно в качестве минимально адресуемой единицы памяти выбирается восьмиразрядная ячейка памяти (байт). Диапазон доступных адресов микропроцессора определяется разрядностью шины адреса. При этом минимальный номер ячейки памяти (адрес) будет равен 0, а максимальный определяется из формулы:

                                    ,

где   N – разрядность ША.

Для шестнадцатиразрядной ША  это будет  М = 65535  (64 К).

Распределение памяти микропроцессорной системы, изображённой на рисунке 7.13, приведено на рисунке 7.15.

64K

Порт ввода-вывода

1111111111111111

Неиспользуемое

адресное пространство

Xxxxxxxxxxxxxxxx

16K

0011111111111111

ОЗУ

001xxxxxxxxxxxxx

8K

0010000000000000

Неиспользуемое

адресное пространство

000xxxxxxxxxxxxx

2K

0000011111111111

ПЗУ

00000xxxxxxxxxxx

0

0000000000000000

Рисунок 7.15. Распределение памяти микропроцессорной системы ША16.

Микропроцессоры после включения питания и выполнения процедуры сброса всегда начинают выполнение программы с определённого адреса, чаще всего нулевого.

В микропроцессорной системе (рисунок 7.13) ПЗУ имеет объёмом 2 килобайта. Поэтому отведём для ПЗУ в адресном пространстве ячейки, начиная с нулевого адреса. Для этого старшие пять разрядов шины адреса должны быть равны 0  (11 бит шины адреса позволяют адресовать 2К ячеек). При построении схемы необходимо проверить старшие пять разрядов адреса (определить, что они  равны 0). Это выполняется при помощи   пятивходовой  схемой "ИЛИ-НЕ". Это связано с тем, что внутри ПЗУ уже есть одиннадцативходовой дешифратор адреса. Обращение к ячейкам памяти выше двух килобайт не приведёт к чтению ячеек ПЗУ, так как на входе выбора кристалла CS уровень напряжения останется высоким.

Теперь подключим  ОЗУ объёмом 8 Кбайт. Для выбора любой из ячеек этой микросхемы достаточно тринадцатибитового адреса (213 = 8к), поэтому необходимо дополнительно проверить три оставшихся разряда адреса. Так как начальные ячейки памяти адресного пространства уже заняты ПЗУ, то выберем  для старших разрядов адреса комбинацию цифр А15 А14 А13  = 001. Тогда проверка выполняется трёхвходовой схемой "И-НЕ" с двумя инверторами на входе, что обеспечивает нулевой уровень сигнала на входе CS только при комбинации старших бит 001. Обратите внимание что,  между областью адресов ПЗУ и областью адресов ОЗУ имеется пустое пространство неиспользуемых адресов памяти.