МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

Методы управления вводом-выводом





Существует три основных метода управления вводом-выводом.

1. Ввод-вывод с опросом.

2. Ввод-вывод по прерываниям.

3. Прямой доступ к памяти.

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

Процедура заключается в последовательной выдаче процессором команд ввода-вывода, в которых указывается адрес конкретного МВВ и конкретного ВУ. Различают четыре типа команд ввода-вывода: управление, проверка, чтение и запись.

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

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

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

Команда записи заставляет МВВ принять элемент данных с шины данных «большого» интерфейса и занести его в буфер данных с последующей пересылкой в ВУ.

Рассмотрим процедуру ввода-вывода на примере записи блока данных в ВУ.

1. Процессор выдает соответствующему МВВ команду начала вывода данных.

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

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

4. Процессор записывает в буфер данных МВВ очередное слово блока.

5. Осуществляется переход к п.1.

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

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

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



Рассмотрим процедуру ввода-вывода по прерываниям на примере чтения информации из ВУ.

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

2. МВВ, получив команду, приступает к вводу элемента данных из ВУ. Когда буфер данных полностью заполняется, МВВ выставляет запрос на прерывание к процессору.

3. Процессор обрабатывает запрос на прерывание. Для этого сохраняется контекст текущей программы и вызывается соответствующая процедура-обработчик прерывания, которая выполняет следующие действия.

3.1. Читается содержимое регистра состояния МВВ. Состояние ВУ проверяется на предмет наличия ошибок передачи, в случае обнаружения которых процедура ввода-вывода завершается.

3.2. Производится чтения элемента данных из буфера данных МВВ.

3.3. Производится запись прочитанного элемента в основную память.

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

3.5. В МВВ передается команда ввода очередной порции данных.

4. Процессор восстанавливает контекст прерванной программы, после чего циклически повторяются пп. 2 и 3.

Порядок определения источника прерывания и передачи управления программе-обработчику подробно рассмотрен в п. 2.6.

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

Поскольку в обоих рассмотренных методах (с опросом и по прерываниям) на процессор полностью возложены все функции управления, и все данные проходят через процессор, данные методы получили названия процессорного ввода-вывода (PIOProcessor Input-Output).

Рис. 4.2. Схема контроллера ПДП

Альтернативой PIO являетсяметод ввода-вывода с прямым доступом к памяти (ПДП). ПДП предполагает наличие в системе ввода-вывода специального устройства – контроллера прямого доступа к памяти (КПДП, рис. 4.2). КПДП способен брать на себя функции процессора по управления вводом-выводом и обеспечивать пересылку информации напрямую между основной памятью и МВВ. Во все время информационного обмена между МВВ и ОП процессор может выполнять другие вычисления.

Процедура ввода-вывода с использованием ПДП выглядит следующим образом (на примере операции чтения из ВУ).

1. Процессор инициализирует КПДП, сообщая ему следующие параметры:

· вид запроса (чтение или запись, в нашем случае запись в ОП);

· адрес МВВ и ВУ;

· адрес начальной ячейки блока основной памяти, куда будет заноситься информация – помещается в регистр адреса КПДП;

· количество слов, подлежащих записи в ОП, - помещается в счетчик данных КПДП.

2. После инициализации процесс пересылки информации может быть начат в любой момент. ВУ извещает контроллер ПДП о своей готовности к обмену.

3. КПДП посылает процессору сигнал «запрос ПДП». Процессор освобождает шину основной памяти и делегирует право на ее использование контроллеру ПДП посылкой сигнала «подтверждение ПДП».

4. КПДП считывает из ВУ очередной элемент данных, заполняя регистр данных.

5. Когда регистр данных заполнен, КПДП выставляет на шину адреса содержимое регистра адреса, а на шину данных – регистра данных, выполняя запись очередного слова в ОП.

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

7. КПДП повторяет пп. 4-6 до обнуления счетчика данных, после чего снимает сигнал «запрос ПДП», освобождая шину памяти. В ответ процессор снимает сигнал «подтверждение ПДП».

Как видно из приведенного примера, процессор вовлекается в процесс ввода-вывода только в начале и в конце передачи данных. Эффективность ПДП зависит от того, как реализовано распределение шины памяти между процессором и КПДП в процессе пересылки блока данных. Здесь может применяться один из трех режимов.

1. Блочная пересылка.

2. Пропуск цикла.

3. Прозрачный режим.

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

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

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

 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.