Для быстрого ввода-вывода блоков данных и разгрузки процессора от управления операциями ввода-вывода используют прямой доступ к памяти (DMA - Direct Memory Access).

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

В режиме прямого доступа к памяти используется специализированное устройство - контроллер прямого доступа к памяти, который перед началом обмена программируется с помощью центрального процессора: в него передаются адреса основной памяти и количество передаваемых данных. Затем центральный процессор от контроллера прямого доступа к памяти отключается, разрешив ему работать, и до окончания обмена может выполнять другую работу. Об окончании обмена контроллер прямого доступа к памяти сообщает процессору. В этом случае участие центрального процессора косвенное. Обмен ведет контроллер прямого доступа к памяти.

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

● освобождает процессор от управления операциями ввода-вывода;

● позволяет осуществлять параллельно во времени выполнение процессором программы с обменом данными между внешним устройством и основной памятью;

● производит обмен данными со скоростью, ограничиваемой только пропускной способностью основной памяти и внешним устройством.

ПДП разгружает процессор от обслуживания операций ввода-вывода, способствует увеличению общей производительности ЭВМ, дает возможность машине более приспособление работать в системах реального времени.

НЕ нашли? Не то? Что вы ищете?

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

При работе в режиме прямого доступа к памяти контроллер ПДП выполняет следующие функции:

● принимает запрос на ПДП от внешнего устройства;

● формирует запрос микропроцессору на захват шин системной магистрали;

● принимает сигнал, подтверждающий вход микропроцессора в состояние захвата (перехода в z-состояние, при котором процессор отключается от системной магистрали);

● формирует сигнал, сообщающий внешнему устройству о начале выполнения циклов ПДП;

● выдает на шину адреса системной магистрали адрес ячейки ОП, предназначенной для обмена;

● вырабатывает сигналы, обеспечивающие управление обменом данными;

● по окончании ПДП контроллер либо организует повторение цикла ПДП, либо прекращает режим ПДП, снимая запросы на него.

Циклы ПДП выполняются с последовательно расположенными ячейками памяти, поэтому контроллер ПДП имеет счетчик числа переданных байтов.

На рис.6.4 приведена схема взаимодействия устройств микропроцессорной системы в режиме ПДП.

, Контроллеры ПДП (КПДП) в ЮМ PC совместимы снизу-вверх, т. е. программы, написанные с использованием КПДП ранних моделей ЭВМ, нормально работают и на более поздних моделях ЭВМ.

Каждый канал КПДП состоит из четырех 16-разрядных регистров (рис.6.5): регистр текущего адреса (CAR), регистр циклов ПДП (CWR), регистр хранения базового адреса (BAR), регистр хранения базового числа Циклов ПДП (WCR) и 6-разрядный регистр режима (MR).

Регистр текущего адреса хранит текущий адрес ячейки памяти при выполнении цикла ПДП. После выполнения каждого цикла ПДП содержимое этого регистра увеличивается или уменьшается на единицу. Оно может быть прочитано или загружено с помощью двух команд IN или соответственно QUT, работающих каждая только с одним байтом. В режиме автоинициализации содержимое регистра текущего адреса при обновлении принимает базовый адрес из регистра хранения базового адреса.

Регистр циклов ПДП хранит число слов, предназначенных для передачи. При выполнении циклов регистр работает в режиме вычитающего счетчика. При переходе из нулевого состояния в FFFFH вырабатывается управляющий сигнал для блока управления контроллером. Регистр может быть прочитан Двумя командами IN. В него можно осуществить запись двумя командами

Рис. 6.4. Взаимодействие устройств в режиме ПДП

OUT из микропроцессора или в режиме инициализации - из регистра хранения базового числа циклов ПДП.

Регистры BAR и WCR предназначены для хранения констант - базового адреса и базового числа циклов. Они загружаются в режиме программирования КПДП одновременно с регистрами CAR и CWR. В процессе выполнения циклов ПДП их содержимое не изменяется. Прочитать состояние этих регистров невозможно.

Регистр режима определяет режим работы канала. Он содержит информацию о номере канала, типе цикла ПДП (чтение (ОП <- ВУ), запись (ОП -> ВУ), проверка), необходимости автоинициализации, режиме изменения регистра текущего адреса (CAR) - увеличение или уменьшение и режиме работы канала - передача по запросу, одиночная передача, блочная передача, каскадирование (работа в составе каскада КПДП).

Регистр команд блока управления режимом определяет основные параметры работы канала. Загружается при программировании КПДП микропроцессором.

Регистр условий хранит разрешение на ПДП каждому каналу (устанавливаемые программно) и запоминает факт перехода через 0 в регистре хранения базового числа циклов каждого канала.

Контроллер ПДП может работать в двух основных режимах: в режиме программирования и режиме выполнения циклов ПДП.

В режиме программирования микропроцессор работает с КПДП, как с внешним устройством. После загрузки в КПДП управляющих слов контроллер переходит в пассивное состояние. В этом состоянии КПДП будет находиться до тех пор, пока не поступит запрос на ПДП от ВУ или от микропроцессора. Обнаружив запрос на ПДП, контроллер выставляет микропроцессору запрос на захват системной магистрали и ожидает от него подтверждения захвата (т. е. отключения МП от СМ, перехода его выходов в состояние высокого сопротивления, Z-состояния). При получении сигнала подтверждения захвата контроллер начинает выполнять циклы ПДП.

Рис. 6.5. Структурная схема контроллера ПДП

Системная магистраль (СМ) в режиме прямого доступа к памяти используется мультиплексно КПДП и микропроцессором, причем основное управление системной магистралью выполняет КПДП, а МП получает к ней доступ на очень короткие промежутки времени для обмена информацией с основной памятью.

Несмотря на большую самостоятельность ПДП, ведущее положение в МП-системе остается все-таки за микропроцессором, который, запустив обмен информацией в режиме ПДП, продолжает выполнять свою работу.

Интерфейс системной шины

Системная магистраль является узким местом ЭВМ, так как все устройства, подключенные к ней, конкурируют за возможность передавать свои данные по ее шинам.

Системная магистраль - это среда передачи сигналов управления, адресов, данных, к которой параллельно и одновременно может подключаться несколько компонентов вычислительной системы. Физически системная магистраль представляет собой параллельные проводники на материнской плате, которые называются линиями. Но это еще и алгоритмы, по которым передаются сигналы, правила интерпретации сигналов, дисциплины обслуживания запросов, специальные микросхемы, обеспечивающие эту работу. Весь этот комплекс образует понятие интерфейс системной магистрали или стандарт обмена.

Исторически все интерфейсы СМ ведут свою родословную от стандарта IBM MULTGBUS, для которого фирмой был разработан комплект микросхем (chipset). Этот стандарт мог обслуживать передачу 8- и 16-битовых данных, работать в мультипроцессорном режиме с несколькими ведущими устройствами. Понятие “ведущее/ведомое устройство” могло динамически переопределяться с помощью сигналов управления (например, контроллер ПДП в режиме программирования - ведомое устройство, а в активном режиме - ведущее). Для этого стандарта характерно наличие следующих линий: 20 линий адресов, 16 линий данных, 50 управляющих и служебных линий.

Для IBM PS-2 разработанстандарт Микроканал - МСА (Micro Channel Architecture) в 1987 г. В нем 24-разрядная шина адреса. Шина данных увеличена до 32 бит. Отказались от перемычек и переключателей, определяющих конфигурацию технических средств, и ввели CMOS-память (Complementary Metal Oxyde Semicondactor), позволяющую хранить эту информацию и при отключении питания. Все оборудование, подключаемое к системной магистрали, содержит специальные регистры POS (Programmable Option Select), позволяющие конфигурировать систему программным путем. При тактовой частоте 10 МГц скорость передачи данных составляла 20 Мбайт/с.

Для IBM PC XT был разработан стандарт ISA (Industry Standart Architecture), который имеет две модификации - для XT и для АТ. В ISA XT шина данных - 8 бит, шина адресов - 20 бит, шина управления - 8 линий. В ISA АТ шина данных увеличена до 16 бит. Встречаются и 32-битовые ISA, но это - нестандартизированное расширение. Тактовая частота для работы СМ в стандарте ISA составляет 8 МГц. Производительность ISA XT - 4 Мбайт/с, ISA АТ - от 8 до 16 Мбайт/с.

Стандарт EISA (Extended ISA) - это жестко стандартизованное расширение ISA до 32 бит. Конструктивно совместима с ISA-адаптерами внешних устройств. Предназначена для многозадачных систем, файл-серверов и систем, в которых требуется высокоэффективное расширение ввода-вывода. При тактовой частоте 8.33 МГц скорость передачи данных составляла 33 Мбайт/с.

Стандарт VESA (VESA Lokal Bas или VLB) разработан Ассоциацией стандартов видеоданных (Video Electronics Standart Association) как расширение стандарта ISA для обмена видеоданными с адаптером SVGA. Обмен данными по этому стандарту ведется под управлением микросхем, расположенных на карте, устанавливаемой в специальный слот (разъем) расширения VLB и соединяемой с СМ через стандартный слот расширения. В отличие от стандартных слотов расширения слот VLB связан с микропроцессором напрямую, минуя системную магистраль. Карта VLB, работая совместно с системной магистралью, реализующей стандарт ISA, обеспечивает 32-разрядную передачу данных с тактовой частотой микропроцессора (но не более 40 - 50 МГц). В стандартные слоты материнской платы с интерфейсом VLB устанавливаются карты расширения с интерфейсом ISA. Производительность стандарта VLB достигает 132 Мбайт/с.

Стандарт PCI (Peripheral Component mterconnect) разработан фирмой Intel для ЭВМ с МП Pentium. Это не развитие предыдущих стандартов, а совершенно новая разработка. Системная магистраль в соответствии с этим стандартом работает синхронно с тактом МП и осуществляет связь между локальной шиной МП и интерфейсом ISA, EISA или МСА. Но поскольку для этого интерфейса используются микросхемы, выпускаемые другими фирмами (Satum - для 486, Mercury, Neptune, Triton - для Pentium), скорость работы СМ реально'составляет 30 - 40 Мбайт/с при теоретически возможной 132/ 264 Мбайт/с. Стандарт PCI разрабатывался как процессорно-независимый интерфейс. Помимо Pentium с этим интерфейсом могут работать и МП других фирм (Alpha корпорации DEC, MIPS R4400 и Power PC фирм Motorola, Apple и IBM). Стандарт PCI позволяет реализовать дополнительные функции: автоматическую конфигурацию периферийных устройств (которая позволяет пользователю устанавливать дополнительные платы, не задумываясь над распределением прерываний, каналов ПДП и адресного пространства); работу при пониженном напряжении питания; возможность работы с 64-разрядным интерфейсом. "Слоевая" структура интерфейса PCI снижает электрическую нагрузку на МП и позволяет одновременно управлять шестью периферийными устройствами, подключенными к СМ. Стандарт PCI позволяет использовать "мосты" (Bridges) для организации связи с другими стандартами (например, PCI to ISA Bridge).

Из за большого объема этот материал размещен на нескольких страницах:
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