русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Управление работой ЛЗУ


Дата добавления: 2015-08-14; просмотров: 1311; Нарушение авторских прав


В состав ЛЗУ всегда входит контроллер ЛЗУ, осуществляющий управление его работой. Обобщенная архитектура ЛЗУ с учетом наличия контроллера представлена на рис. 1.

Рис. 1.

Рассмотрим работу ЛЗУ в двух случаях: запись (из МП в ОЗУ) и чтение (из ОЗУ в МП)

Управление ЛЗУ в процессе записи данных из МП в ОЗУ

  1. МП начинает цикл обмена по записи (устанавливает адрес на шине адреса, данные на шине данных, активизирует управляющие линии).
  2. Запрашиваемый адрес поступает в блок поиска и сравнения адресов ЛЗУ. Блок производит поиск указанного адреса в таблице тэгов. Далее возможны два варианта:
    • адрес найден (случай "кэш-попадания"), то есть данные из запрашиваемой ячейки ОЗУ уже содержатся в ЛЗУ. В этом случае контроллер ЛЗУ обновляет эти данные, записывая в найденную ячейку ЛЗУ новые данные, переданные МП.
    • адрес не найден (случай "кэш-промаха"). В данном случае необходимо выделить какую-то ячейку ЛЗУ под сохранение данных и сохранить их. Контроллер ЛЗУ производит выделение ячейки ЛЗУ в соответствии с алгоритмом замещения, который будет описан ниже.

Помимо записи данных в ЛЗУ, они должны быть сохранены также и в основном ЗУ. Это может быть сделано в соответствии с одним из следующих алгоритмов:

  • Алгоритм "сквозной записи". Одновременно с записью данных в ЛЗУ происходит их сохранение в ОЗУ. Достоинство данного алгоритма — надежность, так как данные в ОЗУ и ЛЗУ всегда соответствуют друг другу (когерентны). Недостаток — при каждой операции записи приходится выполнять долгий цикл обращения к основному ЗУ.
  • Алгоритм "обратной записи". Данные сохраняются только в ЛЗУ, но при этом помечаются как модифицированные (т.е. не соответствующие ОЗУ). Сохранение же в основное ОЗУ производится позже, например во время простоя системной шины, или когда занимаемая ячейка ЛЗУ потребуется для хранения другой информации. Достоинство — нет обращения к основному ЗУ в каждом цикле записи. Недостаток — более сложная аппаратная реализация ЛЗУ (нужно реализовывать отложенное сохранение, а также хранить для каждой ячейки признак модифицированности).

Управление ЛЗУ в процессе чтения данных из ОЗУ в МП



  1. МП начинает цикл обмена по чтению (устанавливает адрес на шине адреса, активизирует управляющие линии).
  2. Запрашиваемый адрес поступает в блок поиска и сравнения адресов ЛЗУ. Блок производит поиск указанного адреса в таблице тэгов. Далее возможны два варианта:
    • адрес найден (случай "кэш-попадания"), то есть данные из запрашиваемой ячейки ОЗУ уже содержатся в ЛЗУ. В этом случае контроллер ЛЗУ возвращает МП данные, хранящиеся в ЛЗУ.
    • адрес не найден (случай "кэш-промаха"). В данном случае необходимо выделить какую-то ячейку ЛЗУ, загрузить в нее данные из ОЗУ, расположенные по запрашиваемому адресу и вернуть эти данные в МП. Контроллер ЛЗУ производит выделение ячейки ЛЗУ в соответствии с алгоритмом замещения, который будет описан ниже.

Загрузка данных из ОЗУ в ЛЗУ может быть организована в соответствии с двумя алгоритмами:

  • алгоритм "отложенного чтения". Загрузка из ОЗУ в ЛЗУ начинается только после того, как запрашиваемый адрес не найден в ЛЗУ.
  • Алгоритм "сквозного чтения". Цикл чтения из ОЗУ данных по запрашиваемому адресу начинается одновременно с началом поиска в ЛЗУ. В случае "кэш-попадания" цикл прерывается, в случае "кэш-промаха" — цикл завершается загрузкой необходимых данных в ЛЗУ.

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

Алгоритм замещения данных в ЛЗУ

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

  1. "Случайное замещение". Ячейка выбирается среди возможных случайным образом. Контроллер ЛЗУ содержит в своем составе генератор случайных чисел. Этот алгоритм является наипростейшим с точки зрения аппаратной реализации, однако он неэффективен, так как может привести к "затиранию" часто используемых данных.
  2. "Метод простой очереди". Описывается принципом "первым вошел, первым вышел" (FIFO). Замещению подвергаются данные, загруженные наиболее давно. Такой алгоритм обеспечивает примерно одинаковое время хранения данных в ЛЗУ.
  3. Удаление редко используемой информации. Замещению подвергаются данные, к которым дольше всего не было обращений. Таким образом, наиболее часто используемые данные сохраняются в ЛЗУ максимально долго.

Использование методов 2 и 3 требует особой аппаратной реализации ЛЗУ, в частности необходимо введение служебного ЗУ, которое будет для каждой ячейки ЛЗУ содержать информацию о времени загрузки данных или о времени последнего обращения. С точки зрения эффективности, третий алгоритм представляется наиболее эффективным, если принимать во внимание, что основная задача ЛЗУ — как раз хранение наиболее часто используемых данных.

Задачи управления в микропроцессорной системе

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

Нелинейная система стабилизации

Рассмотрим систему следующего вида (рис. 1):

Рис. 1.

Анализ такой системы методами ТАУ показывает, что в ней будут существовать незатухающие колебания (консервативная система). Фазовый портрет системы представлен на рис. 2.

Рис. 2.

Фазовый портрет имеет вид эллипса. Меняя коэффициент усиления , мы можем изменять форму этого эллипса, вытягивая его вдоль той или иной оси. Предположим, что фазовый портрет системы, изображенный на рис. 2 соответствует коэффициенту усиления , тогда при другом коэффициенте усиления вид фазового портрета может быть таким (рис. 3):

Рис. 3.

Теперь представим себе, что сначала система движется по фазовой траектории рис. 2 (коэффициент усиления ), но при пересечении изображающей точкой оси 1 КУ меняется на . Затем при пересечении оси 2 – снова меняется на , а при следующем пересечении x1 — снова на . Другими словами, смена коэффициентов происходит при изменении знака произведения . Тогда фазовый портрет системы будет таким, как показано на рис. 4.

Рис. 4.

То есть изменение КУ при смене знака позволило нам превратить систему с незатухающими колебаниями в устойчивую систему.

Как же можно организовать смену КУ? Например так: иметь две управляющие программы, одну — для случая , другую – для случая . При изменении знака специальное устройство производит переключение на соответствующую программу (рис. 5).

Рис. 5.

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

Рис. 6.

Асинхронный обмен

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

Основные понятия и определения операционных систем

Операционной системой ЭВМ называется программа (совокупность программ), управляющая работой ЭВМ.

Операционные системы (ОС) разрабатываются в первую очередь для универсальных многофункциональных ЭВМ

Не существует сколько-нибудь законченной схемы разработки операционной системы. Нет также установившейся терминологии для описания ОС.

Важно понимать, что ОС способна решать достаточно широкий круг задач управления (любую отдельную функцию ОС можно реализовать какими-либо другими средствами).

Тем не менее, проектирование ОС базируется на некоторых основополагающих принципах.

  1. Частотный принцип. Для действий, которые часто встречаются при работе ОС, обеспечиваются условия их быстрого выполнения.
  2. Принцип модульности. Под модулем в общем случае понимают функциональный элемент рассматриваемой системы, имеющий средства сопряжения с другими элементами. По своему определению модуль предполагает легкость его замены на другой при наличии заданных интерфейсов. Как правило, в отдельные модули выделяются части ОС, взаимодействующие с оборудованием ЭВМ. Это позволяет легко адаптировать ОС под конкретное оборудование путем простой замены соответствующих модулей
  3. Принцип функциональной избирательности. Является логическим продолжением частотного и модульного принципов. В ОС выделяется некоторая часть важных модулей, которые должны быть постоянно "под рукой" для эффективной организации вычислительного процесса. Эту часть ОС называют "ядром", так как она является основой системы.
  4. Принцип генерируемости. Заключается в возможности настройки ОС исходя из конкретной конфигурации вычислительной системы и круга решаемых задач.
  5. Принцип функциональной избыточности. Каждая функция ОС реализована в нескольких вариантах, что обеспечивает универсальность и большую гибкость при работе.
  6. Принцип перемещаемости. Предусматривает построение модулей, исполнение которых не зависит от места расположения в оперативной памяти.
  7. Принцип аппаратной независимости программ от внешних устройств. Взаимодействие прикладных программ с устройствами, входящими в состав вычислительной системы осуществляется только через функции ОС. ОС может быть настроена для использования конкретного оборудования с учетом принципов модульности и генерируемости. Таким образом, прикладная программа работает с оборудованием на абстрактном уровне и тем самым обеспечивается ее независимость от аппаратного обеспечения.
  8. Принцип защиты. Определяет необходимость разработки мер, ограждающих программы и данные пользователя от искажений и влияний друг на друга, а также пользователей на ОС и наоборот. Операционная система оснащается механизмами, которые не позволяют ей и другим программам выполнять действия, могущие поставить под угрозу функционирование других программ или самой ОС. Важно заметить, что организация эффективной защиты возможна только при наличии аппаратной поддержки на уровне МП. Наиболее известными подходами для организации защиты являются следующие:
    • Использование привилегированных команд. Часть команд, входящих в систему команд МП, становятся "привилегированными" и могут быть выполнены только программой, имеющей на это право. К привилегированным относятся, как правило, команды управления процессором и работы с портами ввода-вывода. Обычно правами для выполнения привилегированных команд обладает только операционная система. Такой подход позволяет не допустить выполнения обычной прикладной программой действий, могущих поставить под угрозу функционирование всей системы в целом. Контроль возможности выполнения конкретной команды в зависимости от уровня привилегий активной программы выполняет процессор.
    • Контекстная защита. В этом случае процессор контролирует операции доступа к определенным ресурсам, например к различным областям памяти. При попытке доступа определяется, имеет ли активная программа право на доступ к запрашиваемому ресурсу. Для того чтобы такая проверка была возможна, каждый ресурс (например, область памяти) должен иметь описание (контекст), определяющий возможность доступа к нему со стороны той или иной программы.


<== предыдущая лекция | следующая лекция ==>
ЛЗУ с секторной организацией | Процессы и ресурсы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.209 сек.