Александр Микушин - Занимательно о микроконтроллерах стр 21.

Шрифт
Фон

Занимательно о микроконтроллерах

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

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

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

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

Александр Микушин - Занимательно о микроконтроллерах

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

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

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

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

Александр Микушин - Занимательно о микроконтроллерах

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

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

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

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

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

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

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

Александр Микушин - Занимательно о микроконтроллерах

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

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

Согласование быстродействия памяти и универсальных микропроцессоров

Универсальные микропроцессоры применяются в настольных или портативных компьютерах, а также во встраиваемых системах, и в настоящее время именно на них отрабатываются самые передовые решения по повышению быстродействия микросхем.

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

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

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

В качестве решения этой проблемы в современных компьютерах предлагается использование кэш-памяти. Эта память с точки зрения программиста никак не видна и общий объем системной памяти вследствие ее наличия не увеличивается.

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

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

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

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке