Обмен данными с компьютером
Существует четыре основных способа обмена данными с компьютером: - по опросу флага готовности - в режиме прерывания программы - в режиме прямого доступа к ОЗУ компьютера - с использованием автономного контроллера с буферной памятью в качестве накопителя. Перечисленные способы обмена данными отличаются различными скоростями передачи данных и уровнем сложности аппаратуры, необходимой для их реализации. Обмен экспериментальных данных с компьютером, работающим по опросу флага готовности внешнего устройства, требует минимальных затрат на разработку и изготовление дополнительной аппаратуры. Данный способ обмена характеризуется достаточно высокой скоростью реакции на обслуживание. Однако это обходится постоянной занятостью процессора тривиальными операциями опроса флага [3]. Если необходимость в обмене возникает достаточно редко, то наиболее приемлемым будет способ обмена с использованием прерывания. Реализация режима прерывания программы требует некоторого усложнения интерфейса связи с объектом, но это позволяет освободить процессор от периодического опроса устройства сопряжения и он в этом случае может заниматься другими задачами. Однако, использование аппаратных прерываний ни в коем случае не увеличивает скорости обмена с устройством сопряжения, наоборот, уменьшает её. Это связано с тем, что реакция на прерывание гораздо медленнее, чем на выставление флага готовности, т.к. чтобы обслужить прерывание процессор должен завершить текущий цикл, сохранить в стеке текущие значения своих регистров и только потом инициализировать контроллер прерываний и перейти на программу обработки прерывания [3,6].
Прямой доступ к памяти предназначен для быстрого обмена данными между устройством ввода-вывода и системной памятью компьютера. Использование режима ПДП весьма специфично. Во-первых, это связано с тем, что максимальный темп выдачи и приёма информации возможен только при передачи большого массива данных и даже в режиме блочной передачи пересылка одного байта (слова) требует нескольких тактов SYSCLC и занимает около 1 мкс. Как известно в поле адресов устройств ввода-вывода свободных адресов крайне мало, поэтому на практике возможен только последовательный доступ к буферному ОЗУ устройства ввода-вывода, что дополнительно снижает скорость обмена, и требует усложнения аппаратуры. Наибольшую скорость выдачи или приёма данных обеспечивают не устройства сопряжения с прямым доступом, а устройства с так называемой разделяемой памятью, в которых быстрая буферная память, расположенная на плате устройства сопряжения доступна как со стороны внешнего устройства, так и со стороны магистрали ISA. При этом процессор рассматривает эту буферную память, как часть системного ОЗУ. В этом случае приём информации в ОЗУ компьютера или выдача её может осуществляться со скоростью до 50 Мбайт/с и выше. Рассматривая устройства сопряжения имеющие буферные ОЗУ, можно выделить две большие группы: - устройства сопряжения с непрерывным режимом обмена с внешним устройством. В этом случае буферное ОЗУ непрерывно выдаёт на внешнее устройство или принимает от него данные, а процессор в определённые моменты соответственно записывает или считывает необходимые ячейки этого ОЗУ. - устройства сопряжения с периодическим режимом обмена. Буферное ОЗУ может находиться в одном из двух режимов: в режиме обмена с компьютером (запись или чтение содержимого ОЗУ) или в режиме обмена с внешним устройством (приём или выдача). По методу доступа к буферному ОЗУ со стороны компьютера устройства сопряжения могут быть разделены на следующие группы:
- устройства с параллельным доступом к буферному ОЗУ; - устройства с последовательным доступом к буферному ОЗУ. Схематически оба метода представлены на рисунке 2.5.
При параллельном доступе каждой ячейке буферного ОЗУ соответствует свой адрес в адресном пространстве компьютера. В этом случае любой задатчик магистрали (процессор, контроллер ПДП и т.д.) может общаться с буферным ОЗУ как с системным, используя для этого все средства, все методы адресации, команды обработки строк. Данные, с точки зрения программиста, накапливаются непосредственно в памяти компьютера. Естественно это наиболее быстрый метод общения с буферным ОЗУ (а также и с внешним устройством), так как в данном случае не требуется времени для перекачки данных из системной памяти в буферное ОЗУ или наоборот. Адресное пространство устройств ввода-вывода в данном случае использовать нецелесообразно, так как в нем нет достаточно больших непрерывных зон свободных адресов. Кроме того, возможности процессора по работе с памятью гораздо богаче, чем по общению с устройствами ввода-вывода. При последовательном доступе данные буферного ОЗУ по очереди проецируются в один из адресов в адресном пространстве компьютера (или реже в несколько адресов). То есть задатчик при обращении по одному и тому же адресу в разное время общается с разными ячейками буферного ОЗУ. Главный недостаток этого подхода резкое снижение темпа обмена, а очевидное преимущество – экономия адресов магистрали [6].
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|