Адресное пространство микропроцессорного устройства 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Адресное пространство микропроцессорного устройства



При подключении различных устройств к системной шине возникает вопрос — как различать эти устройства между собой? C этой целью используют индивидуальный адрес для каждого устройства, подключенного к системной шине микропроцессора. Достаточно часто устройства занимают целый диапазон адресов. Так как обращение производится к каждой ячейке памяти устройства индивидуально, то возникает понятие адресного пространства, занимаемого каждым устройством и адресного пространства микропроцессорного устройства в целом.

Адресное пространствомикропроцессорного устройства изображается графически прямоугольником, одна из сторон которого соответствует разрядам адресуемой ячейки этого микропроцессора, а другая сторона — всему диапазону доступных адресов для этого же микропроцессора. Обычно в качестве минимально адресуемого элемента адресного пространства, доступного для микропроцессора, выбирается 8‑разрядная ячейка (байт).

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

M = 2 N – 1,

где N — это количество разрядов шины адреса микропроцессора.

Для 16-разрядной шины адреса — это будет число 65535 (64K). Адресное пространство микропроцессора с 16-разрядной шиной адреса приведено на рис. 19.4. Это наиболее распространенный размер адресного пространства современных микроконтроллеров. Рис. 19.4 соответствует адресному пространству памяти микропроцессора, входящего в состав системы, структурная схема которой приведена на рис. 19.3.

десятичный номер ячейки   двоичный номер ячейки
64K    
     
     
   
     
   
     
   
     
     
     
     
     
                   
  номер бита в ячейке  
                   

Рис. 19.4. Адресное пространство микропроцессора с 16-разрядной шиной адреса

На этом рисунке слева приведены адреса ячеек памяти в десятичном виде, справа — их двоичный эквивалент. Знание двоичного эквивалента адреса позволяет в ряде случаев упростить принципиальную схему микропроцессорного устройства. Для этой же цели в микропроцессорных системах часто пользуются числами, кратными степени числа 2. Например, широко используется число, ближайшее к числу 1000 — килобайт, равный 1024 байтам, которое является десятой степенью числа 2. Это число обозначается как 1К. Для микропроцессорных систем, более сложных по сравнению с системой, использованной нами в качестве примера микропроцессорной системы, применяются числа, близкие к миллиону — мегабайт, равный 1024 килобайтам, и к миллиарду — гигабайт, равный 1024 мегабайтам. Мегабайт обозначается как 1М, а гигабайт обозначается как 1Г.

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

Распределением памяти микропроцессорной системыназывают разбиение адресного пространства микропроцессора на несколько областей, каждая из которых выделена для размещения ячеек какого-либо определенного элемента этой системы: ОЗУ, ПЗУ или внешних устройств. Часто его изображают в форме рисунка. Адресное пространство, соответствующее структурной схеме микропроцессорной системы, приведенной на рис. 19.3, изображено на рис. 19.5.

64K Порт ввода-вывода  
  Неиспользуемое  
  адресное пространство Xxxxxxxxxxxxxxxx
16K    
  ОЗУ 001xxxxxxxxxxxxx
8K    
  Неиспользуемое  
  адресное пространство 000xxxxxxxxxxxxx
2K    
  ПЗУ 00000xxxxxxxxxxx
     

Рис. 19.5. Распределение памяти микропроцессора с 16-разрядной шиной адреса

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

Микропроцессоры после включения питания и выполнения процедуры сброса всегда начинают выполнение программы с определенного адреса, чаще всего нулевого. Однако есть и исключения. Например, процессоры, на основе которых строятся универсальные компьютеры IBM PC или Macintosh стартуют не с нулевого адреса. Исполняемая программа или ее загрузчик должны храниться в памяти микропроцессорной системы, которая не стирается при выключении питания, то есть в ПЗУ. Таким образом, адрес, записываемый в счетчик команд процессора после выполнения его сброса, обязательно должен попадать в диапазон адресов, выделенных для размещения ПЗУ.

Выберем для построения микропроцессорной системы микросхему ПЗУ объемом 2 Кбайт, как это показано на рис. 19.3. При построении операционного блока мы договорились, что микропроцессор после снятия сигнала сброса RESET начинает работу с нулевого адреса, поэтому для ПЗУ в адресном пространстве выделим номера ячеек, начиная с нулевого адреса. Для того чтобы нулевая ячейка ПЗУ оказалась расположенной по нулевому адресу адресного пространства микропроцессора, старшие разряды шины адреса (5 старших разрядов, начиная с разряда номер 11) должны быть равны 0.

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

Теперь подключим к системной шине микропроцессорной системы оперативное запоминающее устройство. Для примера выберем микросхему объемом 8 Кбайт. Выбор любой из ячеек памяти этой микросхемы возможен при помощи 13‑разрядного адреса, поэтому необходимо дополнительно декодировать сигналы трех старших линий 16-разрядной шины адреса. Так как начальные ячейки памяти адресного пространства уже заняты ПЗУ, то их использовать нельзя. Им соответствует значение старших разрядов адресной шины 000. Выберем для адресации ОЗУ комбинацию сигналов 001 и используем уже известные нам принципы построения схемы по произвольной таблице истинности. Дешифратор адреса выродится в данном случае в 3-входовую схему "И‑НЕ" с двумя инверторами на входе. Схема дешифратора адреса ОЗУ приведена на рис. 19.3. Этот дешифратор адреса обеспечивает нулевой уровень сигнала на входе CS микросхемы ОЗУ только при комбинации старших битов адреса 001.

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

Так как все микропроцессоры предназначены для обработки данных, поступающих извне, то в любой микропроцессорной системе должны присутствовать порты ввода-вывода. Как устроены порты ввода-вывода, и как их применять при создании цифровых устройств, мы рассмотрим в последующих главах. Сейчас же для того, чтобы закончить построение адресного пространства (да и структурной схемы микропроцессорной системы), будем считать, что порт ввода-вывода отображается в адресное пространство микропроцессорного устройства как одиночная ячейка памяти, поэтому можно выбрать практически любой свободный адрес.

Проще всего построить дешифратор самого старшего адреса 65535. Он соответствует шестнадцатеричному представлению 0FFFFh. В этом случае он превращается в обычную 16‑входовую схему "16И-НЕ", поэтому и выберем данный адрес для размещения порта ввода-вывода. Именно такой дешифратор и изображен на структурной схеме, приведенной на рис. 19.3.

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

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

Ну а теперь рассмотрим подробнее особенности реализации цифровых устройств с использованием микропроцессоров.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 1180; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.183.150 (0.009 с.)