dma.pptx
- Количество слайдов: 9
Санкт-Петербургский Колледж Информационных Технологий Контроллер DMA Выполнил студент группы 392 Козлов Константин 2011
DMA — именно та технология, которая помогает вашему компьютеру воспроизводить для вас музыку, выводить изображение на экран, записывать информацию на жесткий диск, и при этом оказывать на центральный процессор просто мизерную нагрузку.
DMA, или Direct Memory Access – технология прямого доступа к памяти, минуя центральный процессор. В эпоху 486 -ых и первых Pentium во всю царствовала шина ISA, а также метод обмена данными между устройствами – PIO (Programmed Input/Output).
PIO по своей сути прост: чтобы получить данные с устройства, драйвер операционной системы (или же firmware другого устройства), должен был читать эти данные из регистров устройства.
В итоге, чтение одного байта отнимает около 1 мс процессорного времени, то чтение 1500 байт – соответственно 1500 мс. Но это всего лишь один Ethernet пакет, представьте себе, сколько пакетов получает сетевая карта, когда вы активно пользуетесь интернетом. Конечно в реальности чтение в PIO режиме можно организовывать по 2, 4 байта, однако потери производительности при этом все равно будут катастрофическими.
Когда объемы данных, которыми оперирует процессор начали возрастать, стало понятно, что нужно минимизировать участие процессора в цепочке обмена данными, а то придется туго. И вот тогда активное применение нашла технология прямого доступа к памяти.
Прямой доступ к памяти (англ. Direct Memory Access, DMA) — режим обмена данными между устройствами или же между устройством и основной памятью (RAM) без участия центрального процессора. В результате скорость передачи увеличивается, так как данные не пересылаются в ЦП и обратно.
В оригинальной архитектуре IBM PC (шина ISA) был возможен лишь при наличии аппаратного DMAконтроллера (микросхема с индексом Intel 8237).
DMA-контроллер может получать доступ к системной шине независимо от центрального процессора. Контроллер содержит несколько регистров, доступных центральному процессору для чтения и записи. Регистры контроллера задают порт (который должен быть использован), направление переноса данных (чтение/запись), единицу переноса (побайтно/пословно), число байтов, которое следует перенести.
dma.pptx