Linux Kernel (Ядро линукса) (часть 2)


Прямой доступ к памяти (DMA)

В оригинальной архитектуре PC центральный процессор является единственным "хозяином" шины в системе. То есть это единственное аппаратное устройство, управляющее адресной шиной данных при чтении и сохранении значений в ячейках оперативной памяти. В современных архитектурах шин, таких как PCI, каждое периферийное устройство может быть хозяином шины, если имеет соответствующую электронную схему. В настоящее время все персональные компьютеры снабжены схемами DMA, которые обеспечивают обмен данными между оперативной памятью и устройством ввода/вывода. После того как центральный процессор активизирует схему DMA, она способна продолжать пересылку данных самостоятельно. Как пересылка закончится, DMA сгенерирует запрос на прерывание. Конфликты, возникающие, когда процессору и схеме DMA одновременно нужна одна и та же область памяти, разрешаются электронной схемой, называемой арбитром памяти.

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

Первые схемы DMA для старых ISA-шин были сложны, трудны для программирования и ограничены нижними 16 Мбайт физической памяти. Современные схемы DMA для шин PCI и SCSI взаимодействуют со специализированными схемами в самих шинах, что облегчает жизнь разработчикам драйверов.

Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | Следующая страница




Возможно, Вас также заинтересует:

ОС Knoppix - это Linux без про...

ВведениеЕсли вы цените свое время, умеете считать деньги и знаете стоимость информации, то эта книга...

Linux Kernel (Ядро линукса) (ч...

Спин-блокировкаСпин-блокировка необходима в многопроцессорной системе, потому что могут возникнуть...

Linux Kernel (Ядро линукса) (ч...

Копирование при записи В системах Unix первых поколений создание процесса было реализовано довольно...

Linux Kernel (Ядро линукса) (ч...

Буферы блоков и головы буферовУ каждого буфера есть дескриптор голова буфера, имеющий тип buffer...