КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Прямой доступ к памятиВ системах ввода-вывода ЭВМ используется два основных способа организации передачи данных между памятью и периферийными устройствами: программно-управляемая передача и прямой доступ к памяти. Программно-управляемая передача данных осуществляется при непосредственном участии и под управлением процессора, который при этом выполняет специальную подпрограмму процедуры ввода-вывода. Данные между памятью и периферийным устройством пересылаются через процессор. Операция ввода-вывода инициируется текущей командой программы или запросом прерывания от периферийного устройства. При этом процессор на все время выполнения операции ввода-вывода отвлекается от выполнения основной программы. Кроме того, при пересылке блока данных процессору приходится для каждой единицы передаваемых данных выполнять несколько команд, чтобы обеспечить буферизацию, преобразование форматов данных, подсчет количества переданных данных, формирование адресов в памяти и т.п. Это сильно снижает скорость передачи данных (не выше 100 Кб/сек), что недопустимо при работе с высокоскоростными ПУ. Между тем, потенциально возможная скорость обмена данными при вводе-выводе определяется пропускной способностью памяти. Для быстрого ввода-вывода блоков данных используется прямой доступ к памяти (DMA – Direct Memory Access). Прямой доступ к памяти (ПДП) – система для быстрой передачи данных между памятью и периферийным устройством, минуя процессор. При этом МП освобождается от участия в обмене данными. ОЗУ связывается с МП и с аппаратурой, руководящей обменом данных, разными шинами. Обмен данными полностью управляется с помощью аппаратных средств. Инициатором обмена данными является ПУ, которое посылает запрос об обмене данными на флажок запроса ПДП. Флажок запроса активизирует блок ПДП. Блок ПДП посылает в память сигнал чтения или записи и определяет ячейку ОЗУ, с которой начнется обмен данными. Блок ПДП посылает эти сигналы, после того, как получит от МП сигнал подтверждения. Регистр данных передает данные из ОЗУ в ПУ и из ПУ в ОЗУ. При ПДП процессор освобождается от управления операциями ввода - вывода и может параллельно выполнять основную программу. ПДП обеспечивает более высокое быстродействие и более высокую производительность работы ЭВМ. Прямым доступом к памяти управляет контроллер ПДП, который выполняет следующие функции: 1. Управление инициируемой процессором или ПУ передачей данных между ОП и ПУ. 2. Задание размера блока данных, который подлежит передаче, и области памяти, используемой при передаче. 3. Формирование адресов ячеек ОП, участвующих в передаче. 4. Подсчет числа переданных единиц данных (байт или слов) и определение момента завершения операции ввода-вывода. Указанные функции реализуются контроллером ПДП с помощью одного или нескольких буферных регистров, регистра – счетчика текущего адреса данных и регистра – счетчика подлежащих передаче данных. При инициировании операции ввода-вывода в счетчик подлежащих передаче данных заносится размер передаваемого блока (число байт или слов), а в счетчик текущего адреса - начальный адрес области памяти, используемой при передаче. При передаче каждого байта содержимое счетчика адреса увеличивается на 1, при этом формируется адрес очередной ячейки памяти, участвующей в передаче. Одновременно уменьшается на 1 содержимое счетчика подлежащих передаче данных; обнуление этого счетчика указывает на завершение передачи. В компьютерах, совместимых с IBM PC и PC/XT, для организации прямого доступа в память используется одна 4-канальная микросхема 8237, канал 0 которой предназначен для регенерации динамической памяти. Каналы 2 и 3 предназначены для управления высокоскоростной передачей данных между дисководами гибких дисков, винчестером и оперативной памятью соответственно. Только канал 1 доступен для дополнительного оборудования. IBM РС/АТ – совместимые компьютеры имеют уже 7 каналов прямого доступа к памяти. В первых компьютерах это достигалось каскадным включением двух микросхем 8237, как и в случае контроллеров прерываний. Поскольку прямой обмен данными между оперативной памятью и периферийными устройствами в IBM PC-совместимых компьютерах имеет некоторые существенные ограничения (в том числе и по скорости), то в PC/AT задействован только канал 2 – для обмена с приводом флоппи-диска. Заметим, что для первых четырех каналов ПДП (0–3) передача данных осуществляется побайтно, а для каналов 5–7 – 16-разрядными словами. Контроллер ПДП обычно имеет более высокий приоритет в занятии цикла обращения к памяти по сравнению с процессором. Управление памятью переходит к контроллеру ПДП, как только завершается цикл обращения к памяти для текущей команды процессора. Прямой доступ к памяти обеспечивает высокую скорость обмена данными за счет того, что управление обменом производится не программными, а аппаратными средствами.
|