Организация прямого доступа к памяти (ПДП). Реализация обмена в режиме ПДП с «захватом цикла». Реализация обмена в режиме ПДП с блокировкой процессора.
⇐ ПредыдущаяСтр 4 из 4 Одним из способов обмена данными с ВУ является обмен в режиме прямого доступа к памяти (ПДП). В этом режиме обмен данными между ВУ и основной памятью микроЭВМ происходит без участия процессора. Обменом в режиме ПДП управляет не программа, выполняемая процессором, а электронные схемы, внешние по отношению к процессору. Обычно схемы, управляющие обменом в режиме ПДП, размещаются в специальном контроллере, который называется контроллером прямого доступа к памяти. Необходимость реализации в микроЭВМ обмена данными в режиме ПДП вызывается двумя основными факторами. Во-первых, при использовании режима ПДП появляется возможность начальной загрузки программ в основную память микроЭВМ из устройства ввода. Во-вторых, что и является наиболее важным, режим ПДП обеспечивает возможность использования в микроЭВМ быстродействующих внешних запоминающих устройств, таких, как накопители магнитных дисках (НМД). Это связано с тем, что обмен данными с ВЗУ (НМД) производится блоками фиксированного размера от 128 байт и более. Причем обмен должен осуществляться в строгой последовательности, соответствующей расположению информации на магнитном носителе, без каких-либо пропусков. Пропуск хотя бы одного байта вызывает необходимость в повторном обмене. При этом время, отводимое на обмен одним байтом данных, жестко ограничивается скоростью перемещения магнитного носителя относительно магнитных головок и не превышает, как правило, нескольких микросекунд. Обеспечить обмен блоком данных с ВЗУ с помощью программно-управляемого обмена не представляется возможным, так как на обмен каждым байтом затрачивается несколько команд процессора, суммарное время выполнения которых в современных ЭВМ превышает максимально допустимое время на обмен одним байтом с ВЗУ. Такой обмен обеспечивается прямым доступом в память микроЭВМ, при котором время на обмен одним байтом данных между памятью и ВЗУ равно циклу памяти.
Для реализации режима прямого доступа в память необходимо обеспечить непосредственную связь контроллера ПДП и памяти ЭВМ. Для этой цели можно было бы использовать специально выделенные шины адреса и данных, связывающие контроллер ПДП с памятью ЭВМ. Но такое решение нельзя признать оптимальным, так как это приведет к значительному усложнению микроЭВМ в целом, особенно при подключении нескольких ВЗУ. В целях сокращения количества линий в шинах ЭВМ контроллер ПДП подключается к памяти посредством шин адреса и данных системного интерфейса. При этом возникает проблема совместного использования шин системного интерфейса процессором и контроллером ПДП. Можно выделить два основных способа ее решения: реализация обмена в режиме ПДП с «захватом цикла» и в режиме ПДП с блокировкой процессора. Существуют две разновидности прямого доступа в память с «захватом цикла». Наиболее простой способ организации ПДП состоит в том, что для обмена используются те машинные циклы процессора, в которых он не обменивается данными с памятью. В такие циклы контроллер ПДП может обмениваться данными с памятью, не мешая работе процессора. Однако возникает необходимость выделения таких циклов, чтобы не произошло временного перекрытия обмена ПДП с операциями обмена, инициируемыми процессором. В некоторых процессорах формируется специальный управляющий сигнал, указывающий циклы, в которых процессор не использует память. При использовании других процессоров для выделения таких циклов необходимо применение в контроллерах ПДП специальных селектирующих схем, что, конечно же, усложняет их конструкцию. Применение рассмотренного способа организации ПДП не снижает производительности микроЭВМ. но при этом обмен в режиме ПДП возможен только в случайные моменты времени одиночными байтами или словами.
Наиболее распространенным является ПДП с «захватом цикла» и принудительным отключением процессора от шин системного интерфейса. Для реализации такого режима ПДП системный интерфейс ЭВМ дополняется двумя линиями для передачи управляющих сигналов «Требование прямого доступа к памяти» (ТПДП) и «Предоставление прямого доступа к памяти» (ППДП). Управляющий сигнал ТПДП формируется контроллером прямого доступа к памяти. Процессор, получив этот сигнал, приостанавливает выполнение очередной команды, не дожидаясь ее завершения, выдает в системный интерфейс управляющий сигнал ППДП и отключается от шин системного интерфейса. С этого момента все шины системного интерфейса управляются контроллером ПДП. Контроллер ПДП, используя шины системного интерфейса, осуществляет обмен одним байтом или словом данных с памятью микроЭВМ и затем, сняв сигнал ТПДП, возвращает управление системным интерфейсом процессору. Как только контроллер ПДП будет готов к обмену следующим байтом, он вновь «захватывает» цикл процессора и т.д. В промежутках между сигналами ТПДП процессор продолжает выполнять команды программы. Тем самым выполнение программы замедляется, но в меньшей степени, чем при обмене в режиме прерывания. Прямой доступ в память с блокировкой процессора отличается от ПДП с «захватом цикла» тем, что управление системным интерфейсом передается контроллеру ПДП не на время обмена одним байтом, а на время обмена блоком данных. Такой режим ПДП необходим в тех случаях, когда время обмена одним байтом с ВУ сопоставимо с циклом процессора. В этом случае процессор не успевает выполнить хотя бы одну команду между очередными операциями обмена в режиме ПДП.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|