T Организация прямого доступа к памяти
При пересылке больших объемов данных, требуется более эффективный: способ ввода/вывода - прямой доступ к памяти. Прямой доступ к памяти предполагает наличие на системной шине дополнительного модуля — контроллера прямого доступа к памяти, способного брать на себя функции центрального процессора по управлению системной шиной и обеспечивать прямую пересылку информации между оперативной памятью и внешним устройством, без участия центрального процессора. В сущности, контроллер прямого доступа к памяти - это и есть модуль ввода/вывода, реализующий режим прямого доступа к памяти. Если центральный процессор желает прочитать или записать блок данных, он прежде всего должен поместить в контроллер прямого доступа к памяти информацию, характеризующую предстоящее действие. Этот процесс называется инициализацией контроллера прямого доступа к памяти и включает в себя занесение в контроллер следующих четырех параметров: вида запроса (чтение или запись). Параметр определяет направление пересылки данных: из оперативной памяти во внешнее устройство или наоборот. Вид запроса запоминается в схеме логики управления контроллера. адреса устройства ввода/вывода. К контроллеру прямого доступа к памяти обычно могут быть подключены несколько внешних устройств, а адрес устройства ввода/вывода конкретизирует, какое из них должно участвовать в предстоящем обмене данными. Этот адрес запоминается в логике управления контроллера. адреса начальной ячейки блока памяти, откуда будет извлекаться или куда будет вводиться информация; количества слов, подлежащих чтению или записи.
После инициализации процесс пересылки информации может быть начат в любой момент. Инициаторами обмена вправе выступать как центральный процессор, так и внешнее устройство. Устройство, желающее начать ввод/вывод, извещает об этом контроллер подачей соответствующего сигнала. Получив такой сигнал, контроллер прямого доступа к памяти выдает в центральный процессор сигнал «Запрос прямого доступа к памяти». В ответ центральный процессор освобождает шины адреса и данных, а также те линии шины управления, по которым передаются сигналы, управляющие операциями на шине адреса и шине данных. Далее центральный процессор отвечает контроллеру сигналом «Подтверждение прямого доступа к памяти», который для последнего означает, что ему делегированы права на управление системной шиной и можно приступать к пересылке данных. Как при чтении, так и при записи происходит буферизация пересылаемого слова в регистре данных контроллера. Это необходимо для компенсации различий в скорости работы оперативной памяти и внешнего устройства, в силу чего сигналы Вывода и Ввода формируются контроллером лишь при получении от внешнего устройства подтверждения о готовности. Буферизация сводится к тому, что после первого этапа слово с шины данных заносится в регистр данных, а перед вторым — возвращается из регистра данных на шину данных.
|