Полная версия

Главная arrow Информатика arrow Архитектура ЭВМ и систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

4.3. Обмен данными

Принципы взаимодействия программ с периферийными устройствами.

Выделим два класса устройств:

  • системные устройства, обладающие системными ресурсами (ячейки памяти, порты ввода-вывода, линии запросов прерывания, каналы прямого доступа к памяти). С ними может взаимодействовать программа через центральный процессор. Системные устройства обычно располагаются на системной плате или на картах расширения, устанавливаемых в слоты шин расширения;
  • периферийные устройства, не обладающие системными ресурсами. Для взаимодействия с программой периферийные устройства подключаются к тем или иным интерфейсам системных устройств. Согласно приведенной классификации к системным устройствам относятся:
  • адаптеры, предназначенные для сопряжения какого-либо устройства с какой-либо шиной или интерфейсом компьютера;
  • контроллеры, выполняющие те же функции, но обладающие способностью к самостоятельным действиям после получения команд от обслуживающей его программы. Сложный (интеллектуальный) контроллер может иметь в своем составе собственный процессор. Часто понятия адаптер и контроллер считают синонимами, не обращая внимания на эти тонкости терминологии.

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

Для периферийных устройств, подключенных к шине РС1, рекомендуется взаимодействие через память. Эта рекомендация вытекает из архитектурных особенностей процессоров х86, у которых существует множество способов адресации к памяти и только два (непосредственный и косвенный) – к портам ввода-вывода. В спецификацию PCI заложены требования полной перемещаемости ресурсов, занимаемых любым устройством. Это значительно упрощает программу управления (драйвер) адаптером и контроллером. Кроме того, пространство памяти имеет гораздо больший размер (4 Гбайт) по сравнению с пространством ввода-вывода (64 Кбайт).

 
<<   СОДЕРЖАНИЕ   >>