Принципы управления внешними устройствами персонального компьютера
В компьютерных системах кроме процессора и оперативной памяти присутствует множество разнообразных устройств ( 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 с, ил. Книга английского автора является практическим курсом по использованию компьютера для управления внешними устройствами через сот-порт, параллельны и принтерный порт или параллельный программируемый интерфейсный порт. Книга дает общее представление о микропроцессорных системах и выгодно отличается от других тем, что в ней содержится описание как аппаратных, так и программных средств. Приведенные серии про.
Читайте также: