Инструменты пользователя

Инструменты сайта


dma

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dma [2026/10/22 16:44] – geckodma [2026/10/22 16:53] (текущий) – gecko
Строка 2: Строка 2:
  
 DMA (Direct Memory Access) - контроллер, позволяющий периферийным устройствам обмениваться данными с [[RAM|системной памятью]] напрямую, без прямого участия [[CPU]]. Процессор лишь настраивает регистры DMA, после чего контроллер забирает управление шиной. Это позволяет осуществлять асинхронный ввод/вывод, освобождая процессор для других задач, что особенно важно для программ реального времени. DMA (Direct Memory Access) - контроллер, позволяющий периферийным устройствам обмениваться данными с [[RAM|системной памятью]] напрямую, без прямого участия [[CPU]]. Процессор лишь настраивает регистры DMA, после чего контроллер забирает управление шиной. Это позволяет осуществлять асинхронный ввод/вывод, освобождая процессор для других задач, что особенно важно для программ реального времени.
 +
 +Примеры использования DMA:
 +  * Загрузка данных в [[VRAM|видеопамять]] и отправка пакетов [[GPU]]
 +  * Загрузка данных в память [[SPU]]
 +  * Чтение с [[cd_rom|CD-ROM]]
 +
 +===== Каналы DMA =====
 +Контроллер поддерживает 7 каналов, каждый из которых жестко привязан к конкретному устройству:
 +  * 0x1F80108x DMA0/MDECin - передача данных в [[MDEC|декодер макроблоков]]
 +  * 0x1F80109x DMA1/MDECout - чтение данных из декодера макроблоков
 +  * 0x1F8010Ax DMA2/GPU - передача списков команд и данных изображений в [[GPU|графический процессор]]
 +  * 0x1F8010Bx DMA3/CDROM - передача данных с привода CD-ROM в память
 +  * 0x1F8010Cx DMA4/SPU - передача данных в звуковой процессор
 +  * 0x1F8010Dx DMA5/PIO - обмен данными через [[PIO|параллельный порт]]
 +  * 0x1F8010Ex DMA6/OTC - специальный программный канал, не связанный с физическим устройством; используется для быстрой очистки [[OT|таблицы упорядочивания]].
 +
 +===== Регистры DMA =====
 +
 +  * 0x1F8010F0 DPCR - контрольный регистр
 +  * 0x1F8010F4 DICR - регистр прерываний.
 +
dma.1792687489.txt.gz · Последнее изменение: — gecko

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki