|
|||||||||||||||||||||||||||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[44] 7.4. DMA DMA (Direct Memory Access - "прямой доступ к памяти", или ПДП). Это способ (механизм, технология) обмена данными между внешним устройством и памятью без участия процессора, что может заметно снизить нагрузку на процессор и повысить общую производительность системы. Необходимо сказать, что "прямой доступ к памяти" существовал в электронной вычислительной технике задолго до появления первых ПК. Он осуществляется через DMA-контроллер -специальный чип, получающий первоначальную команду на перенос данных от центрального процессора. Каналы DMA предназначены для передачи массивов информации по 8-или 16-битным шинам одновременно. В отличие от портов ввода/вывода каналы DMA непосредственно не сообщаются с центральным процессором, они работают напрямую с системной памятью. Всего каналов DMA - 8 (от 0 до 7). Первоначально DMA-контроллер задумывался, прежде всего, для разгрузки CPU от тривиальных задач, например, контроля флоппи- дисководов или жестких дисков (на PC/XT DMA-каналов было 4). Начиная с компьютеров PC/AT передача данных от жестких дисков и к ним стала осуществляться уже не через каналы DMA, а через программируемый ввод/вывод. Начиная с Intel 80386, процессоры располагают собственным устройством управления памятью (MMU - Memory Management Unit), которое пересчитывает логические адреса в физические. DMA-контроллеры "ничего не знают" о разрядности адресов. Поэтому, чтобы иметь возможность применять DMA вместе с управлением виртуальной памятью, нужно зарезервировать в качестве DMA-буфера какую-то область памяти в первом мегабайте адресного пространства, где логические и физические адреса совпадают. В эту область DMA-контроллер записывает данные, прежде чем они будут скопированы процессором из этого буфера. Эта технология, называемая двойной буферизацией, неэффективна. Основными "потребителями" каналов DMA являются звуковые карты, CD-ROM-дисководы более ранних выпусков. В обоих случаях скорость передачи не превышает 500 Кб/с. Максимально возможная скорость передачи данных по DMA-каналам (около 2 Мб/с) значительно перекрывает потребности 8-битной звуковой карты. Если же необходимо осуществить быстрый обмен информацией, то в этом случае DMA не используется - процессор берет на себя управление процессом переноса информации, перекрывая все допустимые способности DMA-каналов. Еще одно замечание. Возможность использования одного IRQ несколькими картами расширения требует поддержки со стороны драйверов и реализуется на уровне конкретного программного продукта. Использование разными картами (или устройствами) одного канала DMA в принципе возможно, но связано со множеством проблем и поэтому не рекомендуется. Простейший пример! При одновременном использовании DMA-канала звуковой картой и портом принтера может возникнуть треск в динамиках или "зависание" воспроизведения звука. Небольшое уточнение. Цикл DMA начинается с запроса DMA от исполнителя, желающего произвести обмен. После освобождения шины текущим задатчиком (например, процессором) контроллер DMA формирует соответствующий сигнал - "DACK" (DMA Acknowledge - подтверждение ПДП), говорящий о предоставлении канала DMA запросившему его устройству.
DMA Clock эта опция позволяет установить скорость DMA-каналов, равной полной или половинной системной тактовой частоте. Гравда, слишком высокая тактовая частота может представлять опасность либо оказаться завышенной для некоторых микросхем. Опция может носить название "DMA Clock Selection" или "DMA Clock Speed". Значения параметров могли иметь следующий вид: "BUSCLK/2", "BUSCLK" или "ISA/2", "ISA". Была встречена опция и с названием "Fast DMA Only". Только для нее высокая скорость передачи по DMA-каналам реализовывалась через "Enabled". Все перечисленные опции в таком виде уже не встречаются. DMA Line Buffer Mode -использование этой опции позволяет DMA-данным накапливаться в буфере с тем, чтобы не прерывать работу PCI-шины. Когда установлено значение "Standard", линейный буфер будет применяться в одиночном режиме передачи. "Enhanced"-установка позволяет оперировать с данными в 8-байтном режиме, что естественно более эффективно. DMA n Assigned to -(канал DMA с номером n назначен на...). Опция становится доступной пользователю при "ручном" контроле над ресурсами. Согласно этой опции каждому каналу DMA системы может быть назначен один из следующих типов устройств: "Legacy ISA" (классические ISA-карты). Это стандартные карты для ISA-шины, такие как модемы или звуковые карты, без поддержки "Plug&Play". Эти карты требуют назначения каналов DMA в соответствии с документацией на них, "PCI/ISA PnP" (устройства для шины PCI или устройства для шины ISA с поддержкой Plug&Play). Данной опции абсолютно идентична "DMA Channel n" с параметрами "PnP" и "ISA/EISA". Естественно, что это не одна опция, а небольшое подменю с возможностью установки типа устройства по 0, 1, 2, 3, 5, 6 и 7-му каналам DMA. Опция "DMA-n Type" встречалась и раньше, применяется и в более современных системах. Поэтому в качестве параметров собран, пожалуй, весь возможный ряд значений: "Normal ISA", "PC/PCI", "Distributed", "LPC DMA". Спецификация LPC (Low Pin Count) была разработана "Intel" еще в 1997 г. и начала использоваться в системных наборах 8xx, первым из которых был 810-й. Эта шина была призвана заменить устаревшую шину ISA в тех системах, где без нее пока еще нельзя обойтись. В частности, к ней можно подключать контроллеры флоппи-дисководов, параллельные и последовательные порты, контроллер клавиатуры и т. п. То есть речь идет о всей низкоскоростной периферии, хотя тактовая частота интерфейсной шины составляет ни много, ни мало - 66 МГц. DMA n Used By ISA (канал DMA с номером n используется на шине ISA). Параметр может принимать значения: "No/ICU" (нет/конфигурационная утилита для ISA). Если установлено это значение, то BIOS может распоряжаться этим каналом DMA по своему усмотрению. Для DOS настройка параметров в этом случае выполняется с помощью программы ICU (ISA Configuration Utility) от "Intel", которая ранее изредка прилагалась к материнским платам. Она запрашивала у пользователя необходимые данные и загружала их при последующем пуске ПК, "Yes" (да). Означает принудительное освобождение канала DMA для какой-либо карты на шине ISA, не поддерживающей технологию "Plug&Play". Рекомендуется всегда указывать "Yes" для таких карт и нужных им каналов DMA, так как в противном случае BIOS может назначить канал, жестко используемый какой-либо картой на ISA, другой карте, что может вызвать даже прекращение нормальной работы компьютера. DMA Wait States - этой опцией устанавливается количество тактов ожидания перед началом передачи данных по DMA-каналам. Уменьшение значения повышает быстродействие, но у пользователя остается резерв для возврата назад при возникновении сбойных ситуаций. В некоторых случаях версия BIOS может предоставить возможность такой регулировки отдельно для 8- и 16-битных каналов: "8-Bit DMA Cycle Wait States", "16-Bit DMA Cycle Wait States". При этом предлагается следующий ряд значений: 1T, 2T, 3T, Extended DMA Registers -(расширенные DMA-регистры). В пределах AT-стандарта DMA оперирует в пределах 16 МБ адресуемой памяти. Если установлено "Enabled", DMA охватывает все 4 ГБ адресуемой памяти 32-битного процессора. !!! При использовании некоторых системных плат с процессорами 386 и 486 адресация памяти свыше 16 МБ может вызвать сложности, связанные с контроллером прямого доступа к памяти. Если в разъеме шины ISA установлен адаптер, который использует канал DMA, то при установке памяти объемом более 16 МБ могут возникнуть проблемы, поскольку архитектура шины ISA позволяет организовать канал DMA только в пределах первых 16 МБ. PCI/PNP ISA DMA Resource Exclusion -в данном случае это специализированное подменю "Phoenix BIOS", с помощью которого можно индивидуально блокировать отдельные DMA-каналы и предоставить их стандартным ISA-картам (т.е. не Plug&Play картам). Само же подменю имеет следующий вид: DMA 0: [Available] DMA 1: [Available] DMA 2: [Available] DMA 3: [Available] DMA 5: [Reserved] DMA 6: [Available] DMA 7: [Available] Параметр "Available" означает, что DMA-канал может быть использован PCI- и P&P ISA-картами. Значение "Reserved" означает, что DMA-канал не может быть использован этими же устройствами. TypeF DMA Buffer Control1(2) -очень интересная опция "AMI BIOS". Обычный цикл прямого доступа к памяти занимает 8 циклов шины, а в данном режиме - только 3 (что, естественно, намного ускоряет доступ). Однако необходимо согласовать этот параметр с |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | |||||||||||||||||||||||||||