Способы расширения адресного пространства микропроцессора 


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



ЗНАЕТЕ ЛИ ВЫ?

Способы расширения адресного пространства микропроцессора



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

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

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

Рис. 19.33. Использование параллельного порта в качестве переключателя страниц памяти

При применении восьмиразрядного параллельного порта в микропроцессорной системе появились дополнительные восемь линий адреса. В результате адресное пространство микропроцессорной системы увеличилось до 16 Мбайт. Структура нового адресного пространства приведена на рис. 19.34, а принцип формирования нового адреса с использованием переключателя страниц пояснен на рис. 19.35.

Полный адрес Адрес внутри страницы   Адрес ячейки внутри страницы
FFFFFF FFFF    
    Страница 255  
FF0000      
     
02FFFF FFFF    
    Страница 2  
       
01FFFF FFFF    
    Страница 1  
       
00FFFF FFFF    
    Страница 0  
       
       

Рис. 19.34. Структура страничного адресного пространства

       
Переключатель страниц Программный счётчик
   
Сформированный адрес

Рис. 19.35. Формирование адреса с использованием переключателя страниц

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

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

Адресное пространство при использовании сегментного метода адресации и различном размере сегментов, приведено на рис. 19.16.

Полный адрес Адрес внутри сегмента    
FFFFF      
    Неиспользуемое пространство  
       
       
    Сегмент 2  
0F030      
     
0F028   Сегмент 1  
0F010      
     
0F005 F005    
    Сегмент 0  
       
       

Рис. 19.36. Пример адресного пространства с разделением на сегменты

Для формирования физического адреса используется параллельный двоичный сумматор. На входы этого сумматора подается содержимое базового регистра и счетчика команд. Суммирование производится со смещением кода базового регистра влево на несколько битов относительно содержимого счетчика команд (рис. 19.37). В результате максимальный размер сегмента определяется разрядностью программного счетчика, а максимальная неиспользуемая область памяти – смещением базового регистра относительно программного счетчика.

Это связано с тем, что окна при сегментной организации памяти могут перекрываться, и если часть памяти в окне, выделенном для предыдущей программы, не используется, то следующее окно можно разместить, начиная с первой свободной ячейки памяти. Учитывая, что на рис. 19.37 базовый регистр смещен относительно программного счетчика на четыре разряда, минимальный шаг при размещении окон будет 24=16 байт. То есть, в этом случае максимальная область неиспользуемой памяти между окнами будет равна 15 байтам.

       
  Программный счётчик
+
     
Базовый регистр  
=
Адрес = Программный счётчик + Базовый регистр*216
   
Сформированный адрес

Рис. 19.37. Формирование адреса при сегментной адресации

Количество одновременно используемых сегментов определяется количеством базовых регистров. Сегменты могут перекрываться в адресном пространстве, и тем самым можно регулировать размер памяти, который отводится под каждый конкретный сегмент памяти. В компьютерах семейства IBM PC имеются четыре базовых регистра, определяющих сегмент данных, сегмент программы, сегмент стека и дополнительный сегмент. Информацию в базовые регистры заносит операционная система при запуске программы и переключении между активными программами.

Еще одним распространенным способом увеличения адресного пространства является применение окон. При использовании окон производится расширение не всего адресного пространства, а только его части. Внутри адресного пространства выделяется некоторая область, которая называется окном. В это окно может отображаться часть другого адресного пространства.

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

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

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

Принцип использования оконной адресации при отображении страниц дополнительной памяти в основное адресное пространство можно легко понять по рис. 19.38.

Рис. 19.38. Применение окна для расширения адресного пространства

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

 



Поделиться:


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

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