Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Обмен данными с реальной ОП



Как правило организуются двумя способами:

1. С приостановкой выполнения команд ЦП на время передачи данных между контроллером и реальной ОП.

2. Без приостановки выполнения команд ЦП. (Прямой доступ к памяти - DMA.)

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


Функционирование происходит следующим образом:

1. ОС подготавливает контроллер DMA к работе для выполнения ввода-вывода. Устанавливаются регистры контроллера, указывая куда и сколько переместить данных из внешнего устройства.

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

3. После того, как буфер заполнен DMA контроллер осуществляет перенос данных, посылая по шине запрос чтения контроллеру диска. Контроллер диска пересылает данные по адресу реальной ОП, выставленному на шине DMA контроллера.

4. После того, как запись произошла, DMA увеличивает адрес реальной ОП и посылает новый запрос на чтение в контроллер диска. Данные пересылаются вновь до тех пор, пока значение счетчика в DMA контроллере не станет равным 0. (Счетчик количества данных устанавливается ОС.) После передачи данных DMA контроллер выставляет прерывание - перенос данных завершен. ОС завершает выполнение операции ввода-вывода: успешно - перекачивает информацию из собственных буферов в область данных процесса; неуспешно - обработка ошибки. Контроллер DMA может работать в нескольких основных режимах: посимвольном (пословном) и поблочном. В первом случае передается в реальную ОП символ слова, в поблочном блок.





Дата публикования: 2015-06-12; Прочитано: 381 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...