Организация обмена данными по интерфейсу USB - Программирование, компьютеры и кибернетика контрольная работа

Организация обмена данными по интерфейсу USB - Программирование, компьютеры и кибернетика контрольная работа




































Главная

Программирование, компьютеры и кибернетика
Организация обмена данными по интерфейсу USB

Операция обмена данными между прикладной программой и шиной USB путем передачи буферов памяти. Основные характеристики каналов. Аппаратная часть USB. Физическая топология шины. Конструкция кабелей и коннекторов. Способы питания устройств от сети.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

Организация обмена данными по интерфейсу USB
Спецификация USB была разработана консорциумом компаний, вкл ючая Intel и Microsoft. Целью нового стандарта было обеспечение организации недорогой среднескоростной шины в таких областях применения, как передача цифровых изображений, компьютерная телефония и мультимедийные игры. Текущими версиями спецификации USB является версии 2.0 (во вторую заложены более высокие скоростные характеристики).
Данные передаются последовательно по паре проводников. Питание для некоторых устройств доступно по отдельным проводникам питания и заземления (для устройств с небольшим энергопотреблением).
Устройства USB могут быть подключены 5-метровым кабелем (а практически - и более длинным). Использование USB-хаба (hub - концентратор) позволяет увеличить дальность размещения устройств от хост-контроллера, а так же количество устройств, подключаемых к одной шине USB. Последовательно можно подключить до пяти хабов, обеспечив длину соединения 30 метров. К хост-контроллеру можно подключить до 127 устройств, шинный адрес которых устанавливается динамически при подключении устройств.
На рисунке 1 приведен пример конфигурации сети USB-устройств:
Работа программиста, создающего драйвер внешнего (не находящегося на материнской плате) USB устройства сводится к тому, чтобы воспольз оваться программным интерфейсом системных драйверов шины USB, общение с которым происходит при помощи пакетов, называемых URB (USB Request Block) пакетами. Работа с регистрами USB контроллеров на материнской плате теперь стала уделом узкого круга специалистов - разработчиков материнских плат и операционных систем. Всем остальным разработчикам USB-устройств в операционной системе Windows предлагается достаточно развитый программный интерфейс WDM-драйверов, которые берут на себя все аппаратно-ориентированные операции.
Все операции по передаче данных по шине USB инициируются хостом. Периферийные устройства не могут сами начать обмен данными, они могут только реагировать на команды хоста. Рассмотрим общую схему обмена да нными по шине USB.
Система USB разделяется на три логических уровня с определенными правилами взаимодействия. Устройство USB содержит интерфейсную, логическую и функциональную части. Хост тоже делится на три части: интерфейсную, системную и программное обеспечение. Каждая часть отвечает только за определенный круг задач. Логическое и реальное взаимодействие между ними показано на рисунке 2.
Рис. 2. Взаимодействие компонентов USB
Таким образом, операция обмена данными между прикладной пр ограммой и шиной USB выполняется путем передачи буферов памяти через следующие уровни:
· уровень клиентского программного обеспечения в хосте - обычно представляется драйвером устройства USB, обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой;
· уровень системного программного обеспечения USB в хосте (USBD, Universal Serial Bus Driver) - управляет нумерацией устройств на шине, управляет распределением пропускной способности шины и мощности питания, обрабатывает запросы пользовательских драйверов;
· хост-контроллер интерфейса шины USB (HCD, Host Controller Driver) - преобразует запросы ввода / вывода в структуры данных, по которым хост-контроллер выполняет физические транзакции, работает с регистрами хост-контроллера.
Уровень клиентского программного обеспечения определяет тип передачи данных, необходимый для выполнения затребованной прикладной программой операции. После определения типа передачи данных этот уровень передает системному уровню следующее:
- буфер памяти, называемый клиентским буфером;
- пакет IRP, указывающий тип необходимой операции. Непосредственной обработкой запроса занимается системный драйвер USB.
Уровень системного драйвера USB необходим для управления ресурсами USB. Он отвечает за выполнение следующих действий:
· распределение полосы пропускания шины USB;
· назначение логических адресов устройств каждому физическому USB-устройству;
Логическое устройство USB представляет собой набор независимых конечных точек, с которыми клиентское программное обеспечение обменивается информацией. Каждому логическому устройству USB назначается свой адрес, уникальный на данной шине USB. Каждая конечная точка логического устройства идентифицируется своим номером и направлением передачи (IN - передача к хосту, OUT - от хоста).
Транзакция на шине USB - это последовательность обмена пакетами между хостом и периферийным устройством, в ходе которой может быть передан или принят один пакет данных. Когда клиентское программное обеспечение передает IRP уровню системного драйвера, USB-драйвер преобразует их в одну или несколько транзакций шины и затем передает получившийся перечень транзакций драйверу контроллера хоста.
Системный драйвер USB состоит из драйвера USB и драйвера хост-контроллера. Когда клиентский уровень передает IRP уровню системного обеспечения USB, USB-драйвер преобразует их в одну или несколько транзакций шины и затем передает получившийся перечень транзакций драйверу контроллера хоста. Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:
· планирует исполнение полученных транзакций, добавляя их к списку транзакций;
· извлекает из списка очередную транзакцию и передает ее уровню хост-контроллера интерфейса шины USB;
· отслеживает состояние каждой транзакции вплоть до ее завершения.
При выполнении всех связанных с командным пакетом транзакций системный уровень уведомляет об этом клиентский уровень.
Уровень хост-контроллера интерфейса шины USB получает отдельные транзакции от драйвера контроллера хоста (в составе уровня системного обеспечения USB) и преобразует их в соответствующую последовательность операций шины. В результате этого USB-пакеты передаются вдоль всей физической иерархии хабов до периферийного USB-устройства.
Нижний уровень периферийного USB-устройства называется уровнем интерфейса шины USB. Он взаимодействует с интерфейсным уровнем шины USB на стороне хоста и передает пакеты данных от хоста к периферийному устройству в формате, определяемом спецификацией USB. Затем он передает пакеты вверх - уровню логического USB-устройства.
Средний уровень периферийного устройства USB-устройства называется уровнем логического USB-устройства. Каждое логическое USB-устройство представляется набором своих конечных точек, с которыми может взаимодействовать системный уровень USB-хоста. Эти точки являются источниками и приемниками всех коммуникационных потоков между хостом и периферийными USB-устройствами.
Самый верхний уровень периферийного USB-устройства называется функциональным уровнем. Этот уровень соответствует уровню клиентского обеспечения хоста. С точки зрения клиентского уровня, нижележащие уровни нужны для организации между ним и конечными точками прямых «каналов данных», которые идут вплоть до функционального уровня. А с точки зрения нашей схемы функциональный уровень выполняет следующие действия:
· получает данные, посылаемые клиентским уровнем хоста из конечных точек каналов данных нижележащего уровня логического USB-устройства;
· посылает данные клиентскому уровню хоста, направляя их в конечные точки каналов данных нижележащего уровня логического USB-устройства.
Логически передача данных между конечной точкой и программным обеспечением производится с помощью выделения канала и обмена данными по этому каналу, а с точки зрения представленных уровней, передача данных выглядит следующим образом:
Конечная точка (Endpoint) - это часть USB-устройства, которая имеет уникальный идентификатор и является получателем или отправителем информации, передаваемой по шине USB. Проще говоря, это буфер, сохраняющий несколько байт. Обычно это блок данных в памяти или регистр микроконтроллера. Данные, хранящиеся в конечной точке, могут быть либо принятыми данными, либо данными, ожидающими передачу. Хост также имеет буфер для приема и передачи данных, но хост не имеет конечных точек.
Конечная точка имеет следующие основные параметры:
· допустимая величина задержки обслуживания;
· требуемая ширина полосы пропускания канала;
· максимальный размер пакета, который конечная точка может принимать или отправлять;
· используемый конечной точкой тип посылок;
Любое USB-устройство имеет конечную точку с нулевым номером (Endpoint Zero). Эта точка позволяет хосту опрашивать устройство с целью определения его типа и параметров, выполнять инициализацию и конфигурирование устройства.
Кроме нулевой точки, устройства, обычно, имеют дополнительные конечные точки, которые используются для обмена данными с хостом. Дополнительные точки могут работать либо только на прием данных от хоста (входные точки, IN), либо только на передачу данных хосту (выходные точки, OUT).
Нулевая точка устройства доступна после того, как устройство подключено к шине, включено и получило сигнал сброса по шине (bus reset). Все остальные конечные точки после включения питания или сброса находятся в неопределенном состоянии и недоступны для работы до тех пор, пока хост не выполнит процедуру конфигурирования устройства.
Спецификация шины определяет четыре различных типа передачи данных для коне чных точек:
· управляющие передачи (Control Transfers) - используются хостом для конфигурирования устройства во время подключения, для управления устройством и получения статусной информации в процессе работы. Протокол обеспечивает гарантированную доставку таких посылок;
· передачи массивов данных (Bulk Data Transfers) - применяются при необходимости обеспечения гарантированной доставки данных от хоста к функции или от функции к хосту, но время доставки не ограничено;
передачи по прерываниям (Interrupt Transfers) - используются в том случае, когда требуется передавать одиночные пакеты данных небольшого размера. Каждый пакет требуется передать за ограниченное время. Операции передачи носят спонтанный характер и должны обслуживаться не медленнее, чем того требует устройство;
· изохронные передачи (Isochronous Transfers) - применяются для обмена данными в «реальном времени», когда на каждом временном интервале требуется передавать строго определенное количество данных, но доставка
· информации не гарантирована (передача данных ведется без повторения при сбоях, допускается потеря пакетов).
Канал (pipe) - это логическое соединение между конечной точкой устройства и ПО хоста. Существует две модели каналов:
· потоковый канал (или просто поток, streaming pipe) - это канал для передачи данных, структура которых определяется клиентским ПО. Потоки используются для передачи массивов данных, передачи данных по прерываниям и изохронной передачи данных. Поток всегда однонаправленный. Один и тот же номер конечной точки может использоваться для двух разных потоковых каналов - ввода и вывода. Передачи данных в потоковых каналах подчиняются следующим правилам:
· запросы клиентских драйверов для разных каналов, поставленные в определенном порядке друг относительно друга, могут выполняться в другом порядке;
· запросы для одного канала будут исполняться строго в порядке их поступления;
· если во время выполнения какого-либо запроса происходит серьезная ошибка (STALL), поток останавливается;
· канал сообщений (message pipe или control pipe) - это канал для передачи данных, структура которых определяется спецификацией USB. Каналы этого типа двунаправленные и применяются для передачи управляющих посылок. Каналы сообщений строго синхронизированы - спецификация USB запрещает одновременную обработку нескольких запросов: нельзя начинать передачу нового сообщения, пока не завершена обработка предыдущего. В случае возникновения ошибки передача сообщения может быть прервана хостом, после чего хост может начать передачу нового сообщения.
Основными характеристиками каналов являются:
· используемый каналом тип передачи данных;
· характеристики, соответствующие конечной точке: направление передачи данных и максимальный размер пакета.
Полоса пропускания шины делится между всеми установленными каналами. Выделенная полоса закрепляется за каналом, и если установление нового канала требует такой полосы, которая не списывается в уже существующее распределение, запрос на выделение канала отвергается. Архитектура USB предусматривает внутреннюю буферизацию всех устройств, причем, чем большей полосы пропускания требует устройство, тем больше должен быть его буфер. Шина USB должна обеспечивать обмен с такой скоростью, чтобы задержка данных в устройстве, вызванная буферизацией, не превышала нескольких миллисекунд.
Канал сообщений, связанный с нулевой конечной точкой, называется Основным каналом сообщений (Default Control Pipe или Control Pipe 0). Владельцем этого канала является USBD, и он используется для конфигурирования устройства. Основной канал сообщений поддерживает только управляющие передачи. Остальные каналы (они называются клиентскими каналами, Client Pipe) создаются в процессе конфигурирования устройства. Их владельцами являются драйверы устройств. По клиентским каналам могут передаваться как потоки, так и сообщения с помощью любых типов передач. Набор клиентских каналов, с которыми работает драйвер устройства, называется интерфейсом устройства или связкой клиентских каналов.
Традиционные интерфейсы (COM, LPT, Game…)
Подключение каждого устройства в общем случае требует присутствия собственного контро л лера (адаптера)
Все устройства подключены через один хостк о нтроллер
Каждый контроллер занимает свои ресурсы (области в пространстве памяти, вв о да / вывода, а также запросы прерывания)
Ресурсы занимает только хост-контроллер
Малое количество устройств, которые во з можно одновременно подключить к комп ь ютеру
Возможность подключения до 127 ус т ройств
Драйверы устройств могут обращаться непосредственно к контроллерам своих ус т ройств, независимо друг от друга
Драйверы устройств обращаются только к общему драйверу хост-контроллера
Независимость драйверов оборачивается непредсказуемостью результата одновр е менной работы с множеством устройств, отсутствием гарантий качества обслужив а ния (возможность задержек и уменьшения скорости п е редачи) для различных устройств
Централизованный планируемый обмен обеспечивает гарантии качества обслуж и вания, что позволяет передавать мультим е дийные изохронные данные наряду с обычным асинхро н ным обменом
Разнообразие интерфейсов, разъемов и кабелей, специфичных для каждого типа ус т ройств
Единый удобный и дешевый интерфейс для подключения устройств всех типов. Возм о жность выбора скорости работы устройства (1,5-15-480 Мбит/с) в зависимости от п о требности
Отсутствие встроенных средств обнаруж е ния подключения / отключения и идентификации устройств, сло ж ность поддержки PnP
Возможность «горячего» подключ е ния / отключения устройств, полная поддержка PnP, динамическое ко н фигурирование
Встроенные средства обеспечения наде ж ной передачи данных
Отсутствие штатного питания ус т ройств
Возможность питания устройств от шины, а также наличие средств управления энерг о потреблением
Архитектура USB допускает четыре базовых типа передач данных м е жду хостом и периферийными устройствами:
изохронные передачи (isochronous transfers) - потоковые передачи в реальном времени, занимающие предварительно согласованную часть пропускной способности шины с гарантированным временем з а держки доставки. На полной скорости (FS) можно организовать один канал с полосой до 1,023 Мбайт/с (или два по 0,5 Мбайт/с), заняв 70% досту п ной полосы (остаток можно занять и менее емкими каналами). На в ы сокой скорости (HS) можно получить канал до 24 Мбайт/с (192 Мбит/с). Надежность доставки не гарантируется - в случае обнаруж е ния ошибки изохронные данные не повторяются, недействительные пакеты игнорируются. Шина USB позволяет с помощью изохронных передач организовывать синхронные соединения между устройствами и прикладными программами. Изохронные передачи нужны для пот о ковых устройств: видеокамер, цифровых аудиоустройств (колонки USB, микрофон), устройств воспроизведения и записи аудио- и виде о данных (CD и DVD). Видеопоток (без компрессии) шина USB способна передавать только на высокой скорости;
прерывания (interrupts) - передачи спонтанных сообщений, которые должны выполняться с задержкой не более, чем того требует устройс тво. Предел времени обслуживания устанавливается в диапазоне 10-255 мс для низкой и 1-255 мс для полной скорости. На высокой скорости можно заказать и 125 мкс. Доставка гарантирована, при случайных ошибках обмена выполняется повтор, правда, при этом время обслуживания увеличивается.
передачи массивов данных (bulk data transfers) - это передачи без каких-либо обязательств по своевременности доставки и по скорости. Передачи массивов могут занимать всю полосу пропускания шины, свободную от передач других типов. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Доставка гарантированная - при случайной ошибке выполняется повтор. Передачи массивов уместны для обмена данными с принтерами, сканерами, устройствами хранения и т.п.;
управляющие передачи (control transfers) используются для конфигурирования устройств во время их подключения и для управления устройствами в процессе работы. Протокол обеспечивает гарантированную доставку данных и подтверждение устройством успешности выполнения управляющей команды. Управляющая передача позволяет подать устройству команду (запрос, возможно, и с дополнительными данными) и получить на него ответ (подтверждение или отказ от выполнения запроса и, возможно, данные). Только управляющие передачи на USB обеспечивают синхронизацию запросов и ответов; в остальных типах передач явной синхронизации потока ввода с потоком вывода нет.
· периферийные устройства USB, несущие полезные функции (USB-functions);
· хост-контроллер (Host Controller), обеспечивающий связь шины с центром компьютера, объединенный с корневым хабом (Root Hub), обеспечивающим точки подключения устройств USB. С у ществует два варианта хост-контроллеров USB 1.x - UHC (Universal Host Controller) и OHC (Open Host Controller), поддерживающие скорости FS/LS; высокую скорость шины USB 2.0 (HS и только) поддерживает EHC (Enhanced Host Controller);
· хабы USB (USB Hubs), обеспечивающие дополнительные точки подключения устройств.
· клиентское ПО (CSw, Client Software) - драйверы устройств USB, обеспечивающие доступ к устройствам со стороны прикладного ПО. Эти драйверы взаимодействуют с устройствами только через программный интерфейс с общим драйвером USB (USBD). Непосредственного обращения к каким-либо регистрам аппаратных средств драйверы устройств USB не выполняют;
· драйвер USB (USBD, USB Driver), «заведующий» всеми USB-устройствами системы, их нумерацией, конфигурированием, предоставлением служб, распределением пропускной способности шины, мощности питания и т.п.;
· драйвер хост-контроллера (HCD, Host Controller Driver), преобразующий запросы ввода / вывода в структуры данных, размещенные в коммуникационной области оперативной памяти, и обращающийся к регистрам хост-контроллера. Хост-контроллер
· выполняет физические транзакции, руков о дствуясь этими структурами данных.
Драйверы USBD и HCD составляют хост-часть ПО USB; спецификация USB очерчивает круг их задач, но не описывает интерфейс между ними. Ф изическое устройство USB должно иметь интерфейс USB, обеспечивающий полную поддержку протокола USB, выполнение стандартных операций (конфигурирование и сброс) и предоставление информации, описывающей устройство. Физические устройства USB могут быть комбинированными (compound devices): включать в себя несколько устройств-функций, подключенных к внутреннему хабу, а также предоставлять своим внутренним хабом дополнительные внешние точки подключения.
Работой всех устройств шины USB управляет хост-контроллер (host controller), являющийся программно-аппаратной подсистемой хост-компьютера. Хост-контроллер является интеллектуальным устройством шины PCI или составной частью «южного» хаба (моста) системной платы, интенсивно взаимодействующим с оперативной памятью.
Физическая топология шины USB - многоярусная звезда (рисунок 1, а). Ее вершиной является хост-контроллер, объединенный с корневым хабом (root hub). Хаб является устройством-разветвителем, он может служить и источником питания для подключенных к нему устройств. К каждому порту хаба может непосредственно подключаться периферийное устройство или промежуточный хаб; шина допускает до пяти уровней (ярусов) каскадирования хабов (не считая корневого). Поскольку комбинированные устройства содержат внутри себя хаб, их подключение к хабу пятого яруса уже недопустимо. Каждый промежуточный хаб имеет несколько нисходящих (downstream) портов для подключения периферийных устройств (или нижележащих хабов) и один восходящий (upstream) порт для подключения к корневому хабу или нисходящему порту вышестоящего хаба.
Логическая топология USB - звезда. Хабы (включая корневой) создают иллюзию непосредственного подключения каждого логического устройства к хост-контроллеру (см. рисунок ниже, б). В этой звезде устанавливаются сугубо подчиненные отношения по системе опроса-ответа: хост-контроллер по своей инициативе передает данные к выбранному устройству или принимает их. Устройство по своей инициативе передавать данные не может; непосредственные передачи данных между устройствами невозможны. Устройство по своей инициативе может лишь сигнализировать о «пробуждении» (wakeup), для чего используется специальная сигнализация, но не передача данных.
Физический интерфейс USB прост и изящен. Конструкция кабелей и коннекторов USB не дает возможности ошибиться при подключении устройств (рисунок 2, а и б). Для распознавания разъема USB на корпусе ус тройства ставится стандартное символическое обозначение (рисунок 2, в). Гнезда типа «A» устанавливаются только на нисходящих портах хабов, вилки типа «A» - на шнурах периферийных устройств или восходящих портов хахабов. Гнезда и вилки типа «B» используются только для шнуров, отсоединяемых от периферийных устройств и восходящих портов хабов (от «мелких» устройств - мышей, клавиатур и т.п. кабели, как правило, не отсоединяются). Для малогабаритных устройств имеются разъемы mini-B, а для поддержки OTG (On-the-Go) имеются и вилки mini-A, и розетки miniAB. Хабы и устройства обеспечивают возможность «горячего» подключения и отключения с сигнализацией об этих событиях хосту.
При планировании соединений следует учитывать способ питания устройств: устройства, питающиеся от шины, как правило, подключают к хабам, питающимся от сети. К хабам, питающимся от шины, подключают лишь маломощные устройства - так, к клавиатуре USB, содержащей внутри себя хаб, подключают мышь USB и другие устройства-указатели (трекбол, планшет).
Характеристика буфера обмена как области памяти, резервируемой системой Windows для организации обмена данными между приложениями. Копирование и перемещение файлов как функции буфера обмена. Изучение абсолютной и относительной адресации ячеек MS Excel. контрольная работа [13,9 K], добавлен 11.09.2011
ISDN как цифровая сеть с интеграцией обслуживания для совместимости услуги телефонной связи и обмена данными. Передача звукового сигнала в цифровой форме. Повышение скорости обмена данными по обычной телефонной сети. Минимальное число двоичных разрядов. лекция [230,6 K], добавлен 15.04.2014
Приобретение навыков самостоятельной работы по сопряжению макета на базе микроконтроллера AVR АТMEGA128 с компьютером. Принципы управления двунаправленным обменом данными. Программирование последовательного интерфейса в операционных системах Windows. лабораторная работа [365,4 K], добавлен 16.06.2011
Назначение буфера обмена, управление его данными в среде Windows. Взаимодействие между владельцем и клиентом буфера. Данные и тип дескриптора, для каждого типа предопределенных форматов. Воспроизведение данных буфера обмена с задержкой, окна просмотра. реферат [58,9 K], добавлен 04.10.2010
Прикладные решения для российских организаций на платформе "1С:Предприятие 8". Особенности обмена данными с помощью XML-файлов между "1С" и "ST-Мобильная Торговля". Создание плана обмена, предназначенного для регистрации измененной цены в номенклатуре. дипломная работа [1,9 M], добавлен 27.03.2015
История создания твердотельного накопителя на основе флэш-памяти. Назначение, область применения, плюсы и минусы устройств, перспективы их развития. Объем флэш-накопителей. Скорость обмена данными. Концепция компьютерной памяти на фазовых переходах. доклад [26,9 K], добавлен 04.11.2014
Обмен данными между приложениями Word и Excel в MS Office как основа их интеграции. Основные способы обмена данными между программами в MS Office. Связывание и внедрение объектов. Сравнительный анализ основных способов. Простое (статическое) копирование. методичка [599,5 K], добавлен 10.11.2013
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Организация обмена данными по интерфейсу USB контрольная работа. Программирование, компьютеры и кибернетика.
Реферат по теме Порядок заключения договора
Курсовая работа: Коммерческая деятельность по сбыту продукции на предприятии
Курсовая Работа На Тему Технология Приготоления Блюд Из Экзотических Видов Рыб
Реферат На Тему Особенности Поэзии 20 Века
Контрольная работа по теме Параметри позасмугового випромінення
Сочинение Литература 2022 Направления
Курсовая работа: Фармакология с токсикологией и токсикологическим анализом. Зооциды
Реферат: Классификация микроорганизмов по типу питания
Сочинение Вариант 25 2022
Жидкостное химическое травление
Контрольная Работа На Тему Основы Международной Торговли
Доклад по теме The Architecture of India. Victoria Train Station
Влияние Изменения Климата На Бизнес Реферат
Чацкий Декабрист Сочинение
Наступила Осень Сочинение 8 Класс
Лекция На Тему Населення В Надзвичайних Ситуаціях Воєнного Та Мирного Часу 2
Реферат по теме Функциональные возможности ib system object
Как Правильно Писать Сочинение 3 Класс
Реферат: Визначні педагоги
Как Писать Эссе В Вузе Образец
Инновационная деятельность как объект управления - Менеджмент и трудовые отношения реферат
Засіб візуалізації технології LINQ to SQL - Программирование, компьютеры и кибернетика дипломная работа
Формирование и функционирование компьютерного сленга в словарном составе английского языка - Иностранные языки и языкознание курсовая работа


Report Page