Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Ответы - Организации ЭВМ и систем - файл 1.doc


Ответы - Организации ЭВМ и систем
скачать (299 kb.)

Доступные файлы (1):

1.doc299kb.29.11.2011 20:54скачать

содержание
Загрузка...

1.doc

1   2   3   4   5
Реклама MarketGid:
Загрузка...

Рис. 9.3. Примеры устройств ввода/вывода
^

Магнитные и магнитооптические диски


В данном разделе мы кратко рассмотрим основную терминологию, применяемую при описании магнитных дисков и контроллеров, а затем приведем типовые характеристики нескольких современных дисковых подсистем.

Дисковый накопитель обычно состоит из набора пластин, представляющих собой металлические диски, покрытые магнитным материалом и соединенные между собой при помощи центрального шпинделя. Для записи данных используются обе поверхности пластины. В современных дисковых накопителях используется от 4 до 9 пластин. Шпиндель вращается с высокой постоянной скоростью (обычно 3600, 5400 или 7200 оборотов в минуту). Каждая пластина содержит набор концентрических записываемых дорожек. Обычно дорожки делятся на блоки данных объемом 512 байт, иногда называемые секторами. Количество блоков, записываемых на одну дорожку зависит от физических размеров пластины и плотности записи.

Данные записываются или считываются с пластин с помощью головок записи/считывания, по одной на каждую поверхность. Линейный двигатель представляет собой электромеханическое устройство, которое позиционирует головку над заданной дорожкой. Обычно головки крепятся на кронштейнах, которые приводятся в движение каретками. Цилиндр - это набор дорожек, соответствующих одному положению каретки. Накопитель на магнитных дисках (НМД) представляет собой набор пластин, магнитных головок, кареток, линейных двигателей плюс воздухонепроницаемый корпус. Дисковым устройством называется НМД с относящимися к нему электронными схемами.

^ 12. Способы обмена информацией в ЭВМ. Программный обмен. Система прерываний. Прямой доступ к памяти.

Все многообразие способов такого обмена можно разделить на несколько видов:

  • программно-управляемые:

    • синхронный;

    • асинхронный с программной проверкой готовности;

    • асинхронный с аппаратной проверкой готовности (обмен по прерыванию);

  • в режиме прямого доступа (без участия центральных процессоров)
^

Синхронный обмен данными


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

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

Основные достоинства:

  • потенциально, асинхронный обмен – самый быстрый из всех рассматриваемых в данном разделе;

  • асинхронный обмен требует минимум аппаратного обеспечения.

Основной минус: асинхронный обмен сложно (или вообще невозможно) организовать с асинхронными устройствами (т.е. с устройствами, имеющими разное время выполнения операций и/или множество производимых операций с сильно различающимися временами выполнения).
^

Асинхронный обмен с программной проверкой готовности


Этот способ обмена предполагает возможность программно оценить степень готовности элемента СВВ, к которым происходит взаимодействие. Обычно для этих целей служит программно доступный (через порт) регистр состояния устройства. Перед тем, как передать данные устройству или забрать их из него, программа имеет возможность определить, готово ли само устройство к этой операции, прочитав значение из порта состояния.

Простым примером может служить работа с контроллером последовательного канала (UART1) «по опросу»: перед тем, как прочитать данные из порта данных контроллера, необходимо проверить, являются ли эти данные результатом приема посылки и не забирались ли они программой ранее. Проще говоря, необходимо проверить данные на достоверность. Перед тем же, как записывать данные для передачи в буфер контроллера, необходимо убедиться, что в буфере есть место, т.е. что запись новых данных в буфер не приведет к уничтожению ранее помещенных и еще не переданных данных.

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

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

При этом очевидными «минусами» являются:

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

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



^

Асинхронный обмен с аппаратной проверкой готовности (обмен по прерыванию)


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

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

Недостатки по сравнению с ранее рассмотренными способами обмена:

  • сильное усложнение аппаратуры процессора, приводящее к его удорожанию;

  • относительная сложность построения программного обеспечения.


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

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

Программные прерывания — возникают при выполнении команды в двух случаях: от схем контроля, некорректности программы (деление на ноль).

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

Обслуживание аппаратного прерывания можно представить рядом шагов:

  1. фиксация запроса прерывания

  2. определение наиболее приоритетного запроса прерывания

  3. прием (определение) процессором номера устройства, вызвавшего прерывание.

  4. сохранение контекста прерываемой программы

  5. определение адреса процедуры обработки прерывания

  6. исполнение процедуры обработки прерывания

  7. возврат в прерванную программу

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

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

^ ОБСЛУЖИВАНИЕ ВУ ПО ПРЕРЫВАНИЮ:

  • Достоинства: сокращается время реакции на внешние события, т.к. не происходит опрос флагов готовности. Экономится процессорное время.

  • Недостатки: дополнительный объем аппаратуры. Высокая сложность программирования.

Замечание: процедура входа в прерывание занимает конкретное время и для некоторых процессоров это время меньше, чем альтернативные методы, а для некоторых нет.
1   2   3   4   5



Скачать файл (299 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru