В случае операций ввода-вывода, специфичных для памяти (простые примерные инструкции, такие как lw $ r1, $ r2,16 в случае процессора MIPS), ЦП должен получить данные из памяти, чтобы облегчить операции ввода-вывода. Таким образом, ЦП должен приостановить любую другую операцию и контролировать операцию ЧТЕНИЯ / ЗАПИСИ в памяти, пока она не будет завершена. Другими словами, ЦП полностью занят, пока выполняется операция чтения / записи без DMA. Если в это время процессор был свободен, он мог бы выполнить некоторые другие инструкции.
Прямой доступ к памяти (DMA):
DMA предоставляет эту возможность для выполнения операций с памятью с минимальным вмешательством ЦП. Когда любому устройству ввода-вывода требуется доступ к памяти. Он отправляет запрос DMA (в форме прерывания) на ЦП. ЦП инициирует передачу, передавая соответствующие сигналы разрешения на шину данных. И передает управление контроллеру DMA, который управляет остальной передачей данных и передает данные непосредственно на устройство ввода-вывода. В это время ЦП продолжает выполнение других инструкций. После завершения операции чтения / записи (или возникновения любого исключения) контроллер DMA инициирует прерывание и уведомляет процессор о состоянии операции чтения / записи.
Таким образом, операция чтения / записи также выполняется, и ЦП также выполняет некоторые другие инструкции в течение этого времени. Однако инициализация DMA по-прежнему требует вмешательства процессора. Таким образом, общая производительность увеличивается.
Процессор ввода / вывода
Вы можете думать о процессоре ввода-вывода как о подходе DMA. Процессор ввода-вывода, обычно используемый в больших компьютерных системах, представляет собой сопроцессор, способный выполнять инструкции в дополнение к передаче данных. Между прочим, система инструкций сопроцессора отличается от центральной блок обработки.
ЦП может выполнять специальную программу ввода-вывода, инициализируя базовые операции, такие как включение пути к данным и настройка устройств ввода-вывода, участвующих в работе. И затем он передает задачу процессору ввода-вывода, который затем выполняет остальные задачи и по завершении уведомляет процессор. Тем временем процессор выполняет другие важные инструкции.
Процессор ввода-вывода - это, по сути, небольшой выделенный процессор DMA, который может выполнять ограниченные инструкции ввода и вывода и может использоваться несколькими периферийными устройствами.
Процессор ввода-вывода решает две проблемы:
- Задачу ввода и вывода берет на себя ЦП. Хотя DMA не требует ЦП для обмена данными между периферийными устройствами и памятью, он только снижает нагрузку на ЦП. Потому что в DMA инициализация ввода и вывода по-прежнему выполняется CPU.
- Проблема совместного использования интерфейса прямого доступа к памяти высокоскоростного оборудования в большой компьютерной системе. У большой компьютерной системы столько периферийных устройств, что она должна была совместно использовать интерфейс DMA Limited (для небольших компьютерных систем, таких как ПК, в каждом устройстве назначается высокоскоростной интерфейс DMA).
person
axiqia
schedule
06.06.2017