Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вопрос №2. «Алгоритмы обработки ввода-вывода»

Использование DMA.

1. Сначала центральный процессор программирует DMA-котроллер, устанавливая его регистры и указывая, таким образом, какие данные и куда следует переместить (шаг 1 на рис. 5.3).

2. Затем процессор дает команду дисковому контроллеру прочитать данные во внутренний буфер и проверить контрольную сумму.

Когда данные получены и проверены контроллером диска, DMA может начинать работу.

3. DMA-контроллер начинает перенос данных, посылая дисковому контроллеру по шине запрос чтения (шаг 2). Этот запрос чтения выглядит как обычный запрос чтения, так что контроллер диска даже не знает, пришел ли он от центрального процессора или от контроллера DMA.

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

5. Когда запись закончена, контроллер диска также по шине посылает сигнал подтверждения контроллеру DMA (шаг 4).

6. Затем контроллер DMA увеличивает используемый адрес памяти и уменьшает значение счетчика байтов. После этого шаги со 2-го по 4-й повторяются, пока значение счетчика не станет равно нулю.

7. По завершении цикла копирования контроллер DMA инициирует прерывание процессора, сообщая ему таким образом, что перенос данных завершен.

 

Операционной системе не нужно копировать блок диска в память. Он уже находится там.

 

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

 

Таким образом, в набор используемых команд входят команды ввода-вывода, принадлежащие следующим категориям

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

Состояние. Используется для проверки состояния контроллера ввода-вывода и соответствующих периферийных устройств.

Передача. Используется для чтения и/или записи данных в регистры процессора и внешние устройства и из регистров процессора и внешних устройств.

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

 

<== предыдущая лекция | следующая лекция ==>
Перечисленные методы служат не только для идентификации запросившего модуля ввода-вывода, но и для назначения приоритетов, когда прерывание запрашивают несколько устройств | Вводные понятия
Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 474; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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