Главная | |
Материал взят из книги![]() Скачать оригинал КНИГИ в хорошем качествеПеред тем, как перейти к изучению конкретного процессора, рассмотрим еще одну систему, широко применяемую в больших компьютерах — систему прямого доступа к памяти. Как уже говорилось выше, в обычном режиме работы всей микропроцессорной системой управляет центральный процессор. Он отвечает за формирование адреса, на соответствующей шине, а также формирует управляющие сигналы ІШ, \1REQ и КЖ(} на шине управления. Режим прямого доступа к памяти — это тот случай, когда управление передается другому устройству. Этим устройством является контроллер прямого доступа к памяти. Режим прямого доступа применяется в тех случаях, когда нужно перенести большой блок информации из одной области памяти в другую. Второй случай, когда нужно с большой скоростью последовательно передать байт за байтом блок информации на один из портов ввода/вывода. Третий вариант, это когда, наоборот, требуется получить блок информации байт за байтом из порта ввода/вывода, и записать его в какую-нибудь область памяти. Под блоком информации подразумевается некоторая последовательность байтов, хранящихся в памяти в смежных ячейках. Хороший пример такой задачи — вывод текста на печать. Любой компьютер перед выво- дом на печать сначала формирует специальный массив кодов, предназначенный для вывода на принтер. Этот массив содержит набор инструкций для печати нужного изображения. Затем подготовленный массив помещается в специальную область памяти, а дальше нужно просто последовательно выводить эти коды в порт принтера. Эту операцию можно прекрасно выполнить программным путем. Для этой цели можно создать программу вывода на печать, в которой для вывода кодов использовать оператор цикла. Для медленных устройств печати такой способ вполне приемлем. Однако, в том случае, если блок информации передается программным путем, нельзя достигнуть максимальной производительности, так как для вывода одного байта процессор должен выполнить 5-6 команд программы. Нужно считать из памяти очередной код, выдать его в порт, увеличить счетчик адреса на единицу, проверить, не достигнут ли конец блока. Затем повторить все для всех остальных байтов, составляющих этот блок информации. С появлением скоростных принтеров, такой способ оказался неприемлем. Для вывода информации на такой принтер применяется прямой доступ к памяти. Для передачи данных в режиме прямого доступа применяются специальные микросхемы — контроллеры прямого доступа к памяти (ПДП). На рис. 33 приведена схема подключения такого контроллера к микропроцессорной системе. ![]() Микросхема контроллера ПДП — это программируемое устройство. В данном случае понятие «программируемое» означает то, что микросхема имеет внутри специальные регистры, которые подключаются к систем- ной шине, как порты ввода/вывода. Процессор может записывать в эти порты различные коды и тем самым менять режимы работы микросхемы. Так, процессор записывает в контроллер прямого доступа к памяти адреса начала и конца блока памяти, подлежащего передаче. Кроме того, таким же образом в микросхему ПДП записывается режим работы (выдать блок в порт / считать блок из порта / переместить блок в памяти). Для того, чтобы запустить процесс прямого доступа к памяти, центральный процессор должен сначала запрограммировать соответствующий контроллер. Затем процессор передает на контроллер команду запуска процесса ПДП, а сам переходит к выполнению других операций. Получив команду запуска, контроллер ПДП ждет специального сигнала с одного из специальных входов DRQ0...DRQ4 (см. рис. 33). В нашем случае сигнал запроса ПДП поступает от схемы параллельного интерфейса, который вырабатывает его при получении сигнала готовности от принтера. При получении сигнала запроса на ПДП, микросхема контроллера формирует сигнал запроса на захват (HOLD), который поступает на центральный процессор. Получив этот сигнал, процессор прерывает выполнение текущей программы и переходит в специальный режим прямого доступа к памяти. В этом режиме процессор полностью остановлен и отключен от системной шины. После того, как процессор готов к процедуре прямого доступа, он сообщает об этом контроллеру ПДП при помощи сигнала подтверждения захвата (HLDA). В режиме прямого доступа управление полностью берет на себя контроллер ПДП. Он сам вырабатывает сигналы адреса и сигналы управления (RD, WR, MREQ, IORQ). Таким образом, данные с максимальной скоростью передаются на принтер. По окончании процесса, контроллер ПДП отключается от системной шины и снимает с процессора сигнал HOLD. Процессор возобновляет свою работу в нормальном режиме. В любом персональном компьютере имеется несколько устройств, которые пользуются системой прямого доступа к памяти. В IBM совместимых компьютерах, к которым относится славное семейство «Пентиумов», существует четыре канала прямого доступа к памяти. Механизм ПДП, кроме принтеров, использует сетевые и звуковые карты, а также накопители на гибких и жестких дисках. Используются технологии uCoz
|