Адресное пространство микропроцессора изображается в виде набора ячеек с последовательно возрастающими номерами (адресами) , как показано на рисунке 7.14.
десятичный номер ячейки |
двоичный номер ячейки |
||||||||
64K |
1111111111111111 |
||||||||
1111111111111110 |
|||||||||
1111111111111101 |
|||||||||
… |
|||||||||
0000010000000001 |
|||||||||
1К |
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. Обратите внимание что, между областью адресов ПЗУ и областью адресов ОЗУ имеется пустое пространство неиспользуемых адресов памяти.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.