Принципы управления внешними устройствами персонального компьютера

Обновлено: 07.07.2024

В компьютерных системах кроме процессора и оперативной памяти присутствует множество разнообразных устройств ( device ) – жесткие диски, приводы оптических дисков (CD, DVD , Blu-Ray Disk ), устройства флеш-памяти, принтеры, сканеры, звуковые и видеокарты, модемы, сетевые карты и т. п.

Операционная система должна обеспечивать управление всеми этими устройствами, т. е. предоставлять способы обмена информацией между приложениями и устройствами.

Управление устройствами в Windows осуществляется подсистемой ввода вывода, включающей несколько компонентов (см. рис.4.1 в лекции 4 " Архитектура Windows "):

  • диспетчер ввода-вывода (I/O manager – Input/Output manager) – основной компонент; обеспечивает интерфейс между приложениями и устройствами;
  • диспетчер PnP (Plug and Play manager) – компонент, реализующий принцип Plug and Play ("подключи и работай") – автоматическое распознавание и конфигурацию подключаемых к системе устройств;
  • диспетчер электропитания (power manager) – обеспечивает поддержку различных режимов энергопотребления системы и устройств;
  • драйверы устройств – программы, реализующие операции ввода-вывода для конкретного устройства; драйверы больше других компонентов системы "знают" о специфике своего устройства;
  • HAL (Hardware Abstraction Layer) – уровень абстрагирования от аппаратных средств; скрывает от других компонентов особенности реализации конкретных процессоров, системных плат и контроллеров прерываний;
  • реестр (registry) – используется как база данных для параметров устройств и драйверов.

Далее будут рассмотрены общая схема ввода-вывода, функции и структуры данных диспетчера ввода-вывода, представленные в WRK, а также пример выполнения операции чтения.

Принцип управления устройствами

Рассмотрим схематично принцип управления внешними устройствами, а затем перейдем к изучению соответствующих структур и функций WRK.

Для пользовательских приложений операционная система представляет устройства в виде файлов. Такое представление позволяет единообразно работать с разными устройствами, используя одинаковые функции, не задумываясь о деталях реализации доступа к устройствам.

Файл (file) – совокупность данных, имеющих имя и допускающих операции чтения-записи. Типичная последовательность работы с файлом: открытие файла , выполнение команд чтения-записи, закрытие файла .

При открытии файла создается файловый объект типа FILE_OBJECT , который связан с объектом, представляющим конкретное устройство ( DEVICE_OBJECT ). В объекте-устройстве содержится информация о драйвере, который управляет этим устройством. Драйвер в системе описывается объектом типа DRIVER_OBJECT . Объекты DRIVER_OBJECT создаются при загрузке в систему нового драйвера. Затем объект DRIVER_OBJECT может создать несколько объектов DEVICE_OBJECT – по количеству управляемых драйвером устройств (рис.15.1).

Объекты для управления вводом-выводом

Как видно из рис.15.1, в объекте DRIVER_OBJECT содержится указатель на список объектов-устройств, а в каждом из этих объектов хранится ссылка на управляющий драйвер . Таким образом, имея информацию об объекте DRIVER_OBJECT , можно найти все устройства, которыми он управляет и, наоборот, по объекту DEVICE_OBJECT легко определяется драйвер устройства.

Приложение , которому необходимо произвести некоторую операцию с устройством (файлом), вызывает соответствующую WinAPI функцию (CreateFile, ReadFile, WriteFile и др.), которая, в свою очередь , обращается к функции диспетчера ввода-вывода.

Операция, которая запрашивается приложением, представляется в системе объектом типа IRP ( I/O Request Packet – пакет запроса на ввод/вывод ). В этом объекте хранится информация о типе операции ввода/вывода (создание, чтение, запись и т. п.), а также необходимые параметры для данной операции . Пакет IRP передается диспетчером ввода-вывода в очередь IRP потока, который запросил операцию ввода-вывода, после чего вызывается соответствующий драйвер , непосредственно выполняющий запрошенную операцию.

Структуры данных для ввода-вывода

Драйвер в системе описывается объектом типа DRIVER_OBJECT ( файл base\ntos\inc\io.h, строка 1603), имеющим следующие основные поля:

  • Type – поле, определяющее тип структуры подсистемы ввода-вывода. Значения этого поля могут быть следующими – IO_TYPE_DRIVER, IO_TYPE_FILE, IO_TYPE_DEVICE, IO_TYPE_IRP и др. (см. файл base\ntos\inc\io.h, строка 25);
  • Size – размер объекта в байтах;
  • DeviceObject – ссылка на первый объект DEVICE_OBJECT в списке устройств, управляемых данным драйвером (см. рис.15.1). Следующие устройства в списке можно определять по полю NextDevice объекта DEVICE_OBJECT ;
  • Flags – флаги, определяющие тип драйвера (см. файл base\ntos\inc\io.h, строка 1530);
  • DriverName – имя драйвера в системе;
  • HardwareDatabase – путь в реестре к информации о драйвере;
  • DriverStart , DriverSize , DriverSection – информация о расположении драйвера в памяти;
  • DriverInit – адрес процедуры DriverEntry (точка входа в драйвер), отвечающей за инициализацию драйвера;
  • DriverUnload – адрес процедуры выгрузки драйвера;
  • MajorFunction – массив адресов процедур, каждая из которых отвечает за определенную операцию с устройством. Максимальное количество таких процедур равно константе IRP_MJ_MAXIMUM_FUNCTION+ 1 = 2 8 (файл base\ntos\inc\io.h, строка 80), которая определяет также количество кодов IRP (см. далее).

Устройства представлены объектами типа DEVICE_OBJECT , который включает следующие главные поля ( файл base\ntos\inc\io.h, строка 1397):

  • Type , Size – совпадают по назначению с полями типа DRIVER_OBJECT ;
  • ReferenceCount – счетчик количества открытых дескрипторов для устройства. Позволяет отслеживать, используется кем-либо устройство или нет;
  • DriverObject – ссылка на драйвер, который управляет устройством;
  • NextDevice – указатель на следующее устройство в списке устройств для данного драйвера;
  • Flags , Characteristics – поля, уточняющие характеристики устройства;
  • DeviceType – тип устройства; возможные типы перечислены в файле public\sdk\inc\devioctl.h (строка 26);
  • SecurityDescriptor – дескриптор безопасности, сопоставленный с устройством (см. лекцию 9 "Безопасность в Windows").

Пакеты запроса на ввод- вывод описываются типом IRP ( I/O Request Packet ), состоящим из двух частей – заголовка фиксированной длины (тело IRP ) и одного или нескольких блоков стека. В заголовке описывается информация , общая для запроса. Каждый блок стека содержит данные об одной операции ввода-вывода.

Заголовок включает следующие основные поля:

  • Type , Size – поля, по назначению аналогичные соответствующим полям типов DRIVER_OBJECT и DEVICE_OBJECT ;
  • IoStatus – статус операции при завершении;
  • RequestorMode – режим, в котором работает поток, инициировавший операцию ввода-вывода, – пользовательский или режим ядра;
  • StackCount – количество блоков стека;
  • Tail.Overlay.Thread – указатель на структуру ETHREAD потока, запросившего операцию ввода-вывода;
  • Tail.Overlay.CurrentStackLocation – указатель на блок стека (IRP Stack Location), который описывается структурой IO_STACK_LOCATION .

Структура блока стека IO_STACK_LOCATION описана в файле base\ntos\inc\io.h, строка 2303) и имеет следующие главные поля:

  • MajorFunction – номер основной функции, определяющий запрошенную операцию ввода-вывода и совпадающий с номером функции драйвера в массиве MajorFunction (структура DRIVER_OBJECT, см. выше), которую нужно вызвать для выполнения запрошенной операции. Как уже отмечалось, всего кодов 28 (IRP_MJ_MAXIMUM_FUNCTION + 1) , они описаны в файле base\ntos\inc\io.h (строки 51–79);
  • DeviceObject – указатель на структуру DEVICE_OBJECT , определяющую устройство для данной операции ввода-вывода;
  • FileObject – указатель на структуру FILE_OBJECT (файл base\ntos\inc\io.h, строка 1763), которая ассоциирована со структурой DEVICE_OBJECT .

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

Пример ввода-вывода

Для ввода-вывода используются следующие основные функции:

  • создание/открытие файла – IoCreateFile (файл base\ntos\io\iomgr\iosubs.c, строка 4795);
  • чтение из файла – NtReadFile (файл base\ntos\io\iomgr\read.c, строка 90);
  • запись в файл – NtWriteFile (файл base\ntos\io\iomgr\write.c, строка 87);
  • закрытие файла – IopDeleteFile файл base\ntos\io\iomgr\objsup.c, строка 465).

Рассмотрим пример чтения с устройства, используя изученные структуры данных и функцию NtReadFile (рис.15.2).

Последовательность операций и структуры данных при чтении с устройства


Рис. 15.2. Последовательность операций и структуры данных при чтении с устройства

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

Для чтения из файла приложение вызывает WinAPI-функцию ReadFile , которая обращается к функции диспетчера ввода-вывода NtReadFile и передает ей дескриптор объекта FILE_OBJECT .

Функция NtReadFile определена в файле base\ntos\io\iomgr\read.c (строка 90) и выполняет две основные задачи – создает объект IRP (строка 517) и вызывает функцию IopSynchronousServiceTail (строка 725). При создании объекта IRP в блок стека заносится номер основной функции (Major Function ), в случае операции чтения этот код равен константе IRP_MJ_READ (строка 558) и указывает на функцию чтения в массиве MajorFunction структуры DRIVER_OBJECT .

Функция IopSynchronousServiceTail определена в файле base\ntos\io\iomgr\internal.c (строка 7458). Эта функция помещает переданный ей объект IRP в очередь потока ( функция IopQueueThreadIrp , строка 7468). Указатель на очередь IRP потока хранится в поле IrpList структуры ETHREAD ( файл base\ntos\inc\ps.h, строка 623). Кроме этого, функция IopQueueThreadIrp вызывает соответствующий драйвер ( функция IoCallDriver, строка 7494).

Драйвер выполняет определенную кодом IRP функцию и возвращает статус операции .

Резюме

В лекции представлены компоненты подсистемы ввода вывода в Windows , рассмотрен принцип управления устройствами, а также реализация этого принципа на основе структур данных и функций Windows Research Kernel . Разобран пример ввода вывода для операции чтения из файла.

В следующей лекции подробно рассматривается структура основной файловой системы Windows – NTFS .

Вычислительные машины, помимо процессоров и основной памя­ти (образующих ее ядро), содержат многочисленные периферийные устройства (ПУ): ВЗУ и УВВ.

Передача информации с периферийного устройства в ЭВМ называ­ется операцией ввода, а передача из ЭВМ в ПУ — операцией вывода.

Производительность и эффективность ЭВМ определяются не толь­ко возможностями ее процессора и характеристиками ОП, но и соста­вом ПУ, их техническими данными и способами организации их со­вместной работы с ЭВМ.

При разработке систем ввода-вывода ЭВМ особое внимание об­ращается на решение следующих проблем:

• должна быть обеспечена возможность реализации машин с пере­менным составом оборудования, чтобы пользователь мог выбирать состав оборудо­вания (конфигурацию) машины в соответствии с ее назначением.

• для эффективного и высокопроизводительного использования обо­рудования в ЭВМ должны реализовываться одновременная рабо­та процессора над программой и выполнение периферийными уст­ройствами процедур ввода-вывода;

• необходимо упростить для пользователя и стандартизовать про­граммирование операций ввода-вывода, обеспечить независимость программирования ввода-вывода от особенностей того или иного •периферийного устройства;

Рекомендуемые файлы

Моор С.М., Моор П.К., Моор А.П. - Информационные технологии управления А.В. Ахо, М.С. Лам, Р. Сети, Дж. Д. Ульман - Компиляторы - принципы, технологии и инструментарий Реферат. Создание WEB документов. Язык HTML: основные принципы работы

• необходимо обеспечить автоматическое распознавание и реакцию ядра ЭВМ на многообразие ситуаций, возникающих в ПУ (готов­ность устройства, отсутствие носителя, различные нарушения нормальной работы и др.).

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

• специальные управляющие сигналы и их последовательности;

• программы, реализующие обмен.

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

В зависимости от типа соединяемых устройств различаются:

• внутренний интерфейс ЭВМ (например, интерфейс системной шины, НМД), предназначенный для сопряжения элементов внутри системного блока ПЭВМ;

• интерфейс ввода-вывода — для сопряжения различных устройств с системным блоком (клавиатурой, принтером, сканером, мышью, дисплеем и др.);

• интерфейсы межмашинного обмена (для обмена между разными машинами) — для сопряжения различных ЭВМ (например, при об­разовании вычислительных сетей);

• интерфейсы «человек — машина» — для обмена информацией меж­ду человеком и ЭВМ.

Если интерфейс обеспечивает обмен одновременно всеми разряда­ми передаваемой информационной единицы (чаще всего — байта или машинного слова), он называется параллельным интерфейсом.

Внутренний интерфейс ЭВМ всегда делается параллельным. Интерфейсы межмашинного обмена обычно последовательные, т.е. в них обмен информацией производится по одному биту, последова­тельно.

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

В зависимости от используемых при обмене программно-техничес­ких средств интерфейсы ввода-вывода делятся на два уровня: физический и логический

В зависимости от степени участия центрального процессора в об­мене данными в интерфейсах может использоваться три способа уп­равления обменом:

• режим сканирования (так называемый «асинхронный» обмен);

• синхронный обмен;

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

Для внутреннего интерфейса ЭВМ режим сканирования предус­матривает опрос центральным процессором периферийного устрой­ства (ПФУ): готово ли оно к обмену, и если нет, то продолжается оп­рос периферийного устройства (рис. 6.3).

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

Режим сканирования упрощает подготовку к обмену, но имеет ряд недостатков:

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

• при большом быстродействии периферийного устройства процес­сор не успевает организовать обмен данными.

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

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

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

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

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

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

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

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

Вычислительные машины, помимо процессоров и основной памя­ти (образующих ее ядро), содержат многочисленные периферийные устройства (ПУ): ВЗУ и УВВ.

Передача информации с периферийного устройства в ЭВМ называ­ется операцией ввода, а передача из ЭВМ в ПУ — операцией вывода.

Производительность и эффективность ЭВМ определяются не толь­ко возможностями ее процессора и характеристиками ОП, но и соста­вом ПУ, их техническими данными и способами организации их со­вместной работы с ЭВМ.

При разработке систем ввода-вывода ЭВМ особое внимание об­ращается на решение следующих проблем:

• должна быть обеспечена возможность реализации машин с пере­менным составом оборудования (машин с переменной конфигурацией), в первую очередь с различным набором периферийных уст­ройств, с тем чтобы пользователь мог выбирать состав оборудо­вания (конфигурацию) машины в соответствии с ее назначением, легко дополнять машину новыми устройствами;

• для эффективного и высокопроизводительного использования обо­рудования в ЭВМ должны реализовываться одновременная рабо­та процессора над программой и выполнение периферийными уст­ройствами процедур ввода-вывода;

• необходимо упростить для пользователя и стандартизовать про­граммирование операций ввода-вывода, обеспечить независимость программирования ввода-вывода от особенностей того или иного •периферийного устройства;

• необходимо обеспечить автоматическое распознавание и реакцию ядра ЭВМ на многообразие ситуаций, возникающих в ПУ (готов­ность устройства, отсутствие носителя, различные нарушения нормальной работы и др.).

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

Однако автономность потребовала проведения проверок исправ­ности устройств при каждом обращении к ним. Появилась определен­ная технология обращения к автономным внешним устройствам — интерфейс.

Когда эту технологию унифицировали, появилось понятие стан­дартного интерфейса.

Стандартизация интерфейсов ввода-вывода привела к возможно­сти гибко изменять конфигурацию вычислительных машин (количе­ство и состав внешних устройств, расширять комплект ЭВМ за счет подключения новых устройств).

Затем появилась концепция виртуальных устройств, позволяющая совмещать различные типы ЭВМ, операционные системы. Совмести­мость распространилась и на работу машин разной конфигурации (можно использовать соответствующее программное обеспечение и при физическом отсутствии необходимых устройств).

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

Дальнейшее совершенствование интерфейсов потребовалось при решении специфических задач: новые внешние устройства (сканеры) позволяли вводить текст в графическом виде, а обрабатывать его надо было в символьном виде. Поэтому возникла необходимость в систе­мах распознавания, идентификации, преобразования из графического формата в символьный.

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

Все это стимулировало развитие специального математического аппарата в интерфейсах.

Необходимость вывода информации различными шрифтами при­вела к изменению технологии вывода, связанной с применением TrueType-шрифтов, масштабированием матричных и векторных изоб­ражений, преобразованием векторных символов в матричные.

В о внешние устройства стали встраивать свою основную память, объем которой должен обеспечивать вывод целой страницы (напри­мер, текста) при плотности 600 точек/дюйм — этот объем превышает иногда объем основной памяти ЭВМ.

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

При создании автоматизированных рабочих мест появилась необ­ходимость подключения к ЭВМ аудиовизуальной аппаратуры — те­лекамер, видеомагнитофонов, фотокамер, аудиоустройств. На этой основе образовался специальный аппаратный комплекс, называемый анимационной линейкой. Из-за технической несовместимости необхо­димой для таких комплексов аппаратуры потребовались программ­ные и аппаратные преобразователи сигналов, специальные средства сопряжения.

При разработке пятого поколения ЭВМ была заложена интеллек­туализация общения: речевой ввод и вывод; графический ввод; ввод текстовой информации без клавиатуры; естественно-языковое обще­ние; общение на разных естественных языках.

Все это и явилось основой для совершенствования систем, обеспе­чивающих связь ЭВМ с периферийными устройствами.

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

• специальные управляющие сигналы и их последовательности;

• программы, реализующие обмен.

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

В зависимости от типа соединяемых устройств различаются:

• внутренний интерфейс ЭВМ (например, интерфейс системной шины, НМД), предназначенный для сопряжения элементов внутри системного блока ПЭВМ;

• интерфейс ввода-вывода — для сопряжения различных устройств с системным блоком (клавиатурой, принтером, сканером, мышью, дисплеем и др.);

• интерфейсы межмашинного обмена (для обмена между разными машинами) — для сопряжения различных ЭВМ (например, при об­разовании вычислительных сетей);

• интерфейсы «человек — машина» — для обмена информацией меж­ду человеком и ЭВМ.

Для каждого интерфейса характерно наличие специального аппа­ратного комплекса (рис. 6.1).


Характер использования этого аппаратного комплекса определя­ется технологией обмена, установленным церемониалом, идеологией данного интерфейса, протоколом общения.

Особое место занимает человеко-машинный интерфейс, реализу­ющий специфические методы организации общения. Например, цере­мониал человеко-машинного общения предусматривает «дружествен­ность пользователю», которая может обеспечиваться техническими средствами, программами и технологией общения.

Если интерфейс обеспечивает обмен одновременно всеми разряда­ми передаваемой информационной единицы (чаще всего — байта или машинного слова), он называется параллельным интерфейсом.

Внутренний интерфейс ЭВМ всегда делается параллельным или последовательно-параллельным (если одновременно передается не вся информационная единица, а ее часть, содержащая несколько двоичных разрядов: например, i8088 обеспечивает побайтовый, a 80386SX — двух­байтовый обмен через системную магистраль, тогда как основная ин­формационная единица — машинное слово — имеет длину: у 8086 — 2 байта, а у 80386 — 4 байта).

Интерфейсы межмашинного обмена обычно последовательные, т.е. в них обмен информацией производится по одному биту, последова­тельно.

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

В зависимости от используемых при обмене программно-техничес­ких средств интерфейсы ввода-вывода делятся на два уровня: физический и логический (рис. 6.2).


Рис. 6.2. Логический и физический уровни интерфейсов ввода-вывода

В зависимости от степени участия центрального процессора в об­мене данными в интерфейсах может использоваться три способа уп­равления обменом:

• режим сканирования (так называемый «асинхронный» обмен);

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

Для внутреннего интерфейса ЭВМ режим сканирования предус­матривает опрос центральным процессором периферийного устрой­ства (ПФУ): готово ли оно к обмену, и если нет, то продолжается оп­рос периферийного устройства (рис. 6.3).

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

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

Режим сканирования упрощает подготовку к обмену, но имеет ряд недостатков:

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

• при большом быстродействии периферийного устройства процес­сор не успевает организовать обмен данными.


Рис. 6.3. Алгоритм сканирования

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

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

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

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

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

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

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

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

Рябенький В.М., Ходаков В.Е., Ушкаренко А.О. Компьютерное управление внешними устройствами через стандартные интерфейсы

Рябенький В. М., Ходаков В. Е., Ушкаренко А. О. Компьютерное управление внешними устройствами через стандартные интерфейсы. Херсон: ОЛДИ-ПЛЮС, 2008. - 380 с. :

Рассмотрены вопросы сопряжения устройств с компьютером по указанным интерфейсам. Приводятся примеры схем, а также исходные коды программ для компьютера и микроконтроллеров семейства AVR.

Гук М. Аппаратные интерфейсы ПК. Энциклопедия

  • формат doc
  • размер 4.25 МБ
  • добавлен 19 мая 2008 г.

СПб.: Питер, 2002. — 528 с.: ил. Книга посвящена аппаратным интерфейсам, использующимся в современных персональных компьютерах и окружающих их устройствах. В ней подробно рассмотрены универсальные внешние интерфейсы, специализированные интерфейсы периферийных устройств, интерфейсы устройств хранения данных, электронной памяти, шины расширения, аудио и видеоинтерфейсы, беспроводные интерфейсы, коммуникационные интерфейсы, вспомогательные последов.

Ключев А.О., Ковязина Д.Р. и др. Интерфейсы периферийных устройств

  • формат pdf
  • размер 4.72 МБ
  • добавлен 25 января 2011 г.

Санкт-Петербург: СПбГУ ИТМО, 2010. - 294 с. Учебное пособие посвящено вопросам организации интерфейсов периферийных устройств. В пособии рассматриваются: организация системы ввода-вывода, способы обмена информацией между устройствами вычислительной системы, аппаратные интерфейсы вычислительных систем. В приложениях к учебному пособию помещены справочные данные и задания к выполнению лабораторных работ с использованием учебного лабораторного стенд.

Лапин А.А. Интерфейсы. Выбор и реализация

  • формат djvu
  • размер 1.84 МБ
  • добавлен 30 января 2009 г.

Москва: Техносфера, 2005. - 168с. Глава 1. Границы применения интерфейсов. Глава 2. Типовые решения реализации цифровых интерфейсов. 2.1. Параллельные интерфейсы. 2.2. Последовательные интерфейсы. 2.3. Временное разделение передачи адреса и данных в параллельных интерфейсах. 2.4. Режимы синхронизации интерфейсов. 2.5. Обнаружение и коррекция ошибок передачи. 2.6. Среды передачи данных. Глава 3. Последовательные интерфейсы. 3.1. Коммуникационные и.

Лекции - Аппаратные интерфейсы информационных систем

  • формат doc
  • размер 800.96 КБ
  • добавлен 21 декабря 2009 г.

Курс лекций по предмету Аппаратные интерфейсы информационных систем прочитаны в Бийском Технологическом Институте Барсуковым Р. В. Ознакомление с базовыми принципами обмена информацией между информационными подсистемами, с внутрисистемными интерфейсами, возможными способами ввода/вывода информации в ЭВМ, межмашинными интерфейсами. Рассматриваются интерфейсы: I2C, SPI, 1-Wire, Bluetooth.

Лекции - Интерфейсы периферийных устройств (ИПУ)

  • формат doc
  • размер 3.05 МБ
  • добавлен 13 октября 2010 г.

Лекции ОГУ ФИТ по предмету "Интерфейсы периферийных устройств". Лекции за два семестра. . Периферийные устройства. Источники бесперебойного питания. Модемы. Магнитные накопители. Жесткие магнитные диски. Сканеры. Устройства графического ввода информации. Принтеры. Плоттеры. Звуковые платы. Клавиатура. Видеоадаптеры. Мониторы. Манипулятор мышь. Устройства ввода-вывода речевой информации. Блок питания ПЭВМ. Основные принципы органи.

Лекции - Периферийные устройства + вопросы к экзамену

  • формат doc, ppt
  • размер 2.89 МБ
  • добавлен 17 сентября 2010 г.

Кубанский Государственный Технологический университет. 3 курс. 230101 Вычислительные машины, комплексы, системы и сети. Введение в дисциплину периферийные устройства (ПУ) ЭВМ. Классификация и основные определения ПУ. Общая характеристика клавиатуры. Интерфейс клавиатуры и мыши. Скан-коды и системная поддержка. Манипуляторы-указатели. Общая характеристика методов вывода изображений. Графический режим. Текстовый режим. Трехмерная графика и способы.

Новиков Ю.В. и др. Разработка устройств сопряжения для персонального компьютера типа IBM PC

  • формат djvu
  • размер 4.65 МБ
  • добавлен 03 февраля 2009 г.

Практ. пособие - М.: ЭКОМ., 1997 - 224 с. илл. Книга посвящена проблеме разработки аппаратуры и программных средств для сопряжения персональных компьютеров типа IBM PC с различными внешними устройствами, возникающей при создании компьютерных систем и комплексов. Приведенные справочные данные по интерфейсам ISA, Centronics, RS-232C, а также типичные схемотехнические решения позволяют проектировать устройства сопряжения в наибольшей степени соответ.

Ответы на билеты ПУ

  • формат doc
  • размер 3.27 МБ
  • добавлен 18 января 2011 г.

Кубанский Государственный Технологический университет. Третий курс. Специальность 230101 - Вычислительные машины, комплексы, системы и сети. Список вопросов: Классификация и основные определения ПУ. Схема преобразования цветов через регистры палитр и RAMDAC. Общая характеристика клавиатуры. Интерфейс клавиатуры и мыши. Скан-коды и системная поддержка. Манипуляторы-указатели. Общая характеристика методов вывода изображений. Графический режим, при.

Смит Дж. Сопряжение компьютеров с внешними устройствами. Уроки реализации

  • формат djvu
  • размер 2.5 МБ
  • добавлен 04 июня 2008 г.

Пер. с англ. — М.: Мир, 2000. — 266 с, ил. Книга английского автора является практическим курсом по использованию компьютера для управления внешними устройствами через сот-порт, параллельны и принтерный порт или параллельный программируемый интерфейсный порт. Книга дает общее представление о микропроцессорных системах и выгодно отличается от других тем, что в ней содержится описание как аппаратных, так и программных средств. Приведенные серии про.

Читайте также: