Шины PCI, USB и FireWire

на главную

Жанры

Шины PCI, USB и FireWire

Шрифт:

Михаил Юрьевич Гук
Шины PCI, USB и FireWire. Энциклопедия

От автора

Пауза после выхода к читателям книги «Аппаратные интерфейсы ПК. Энциклопедия» несколько затянулась… Одной из причин тому стала активная деятельность по применению накопленных знаний и поиску новых сведений – разработка периферийных устройств для ПК. В ходе ее углубилось понимание устройства и работы различных интерфейсов, а также идеологии взаимодействия подсистем компьютера. Я с удовольствием делюсь с читателями накопленными знаниями.

Первоначально в данной книге планировалось ограничиться шинами PCI и USB. По этим темам удалось найти много технической информации. Также имеется практический опыт разработок устройств. В том виде, в каком эти темы представлены в данной книге, они вошли в мою книгу «PC Hardware Interfaces: A Developer's Reference by Michael Gook» ISBN, 1-931769-29-X, выпущенную издательством A-List Publishing (партнер БХВ-Петербург) в феврале 2004 г. на английском языке. Эта книга заинтересовала не только англоязычных читателей: в своей книге «Интерфейс USB. Практика использования и программирования» (БХВ-Петер-бург, осень 2004 г.) Павел Агуров приводит довольно обширные «цитаты» (на русском языке, к сожалению, с неточной ссылкой на первоисточник). В Интернете я с удивлением обнаружил перевод этой книги на польский язык.

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

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

Плодотворная работа над данной книгой не стала бы возможной без практики в ЦНИИ РТК и общения с коллективами разработчиков нестандартной периферии. Самое весомое достижение на этом поприще автора – успешное создание аппаратно-программного комплекса «ОСЦИГЕН». Комплекс состоит из периферийного устройства аналогового ввода-вывода (осциллограф и генератор), подключенного к ПК по интерфейсу USB, и его программной поддержки на ПК. В процессе разработки этого «многоэтажного» сооружения (схема, программируемая логика, программа микроконтроллера с интерфейсом USB, драйверы, библиотеки функций и собственно приложение) ряд тезисов данной книги был использован и проверен коллективом разработчиков, возглавляемым автором.

Другая работа – чтение лекций по архитектуре вычислительных систем и их интерфейсам на Факультете переподготовки специалистов СПбГПУ, тоже влияет на процесс написания книг. Это занятие отнимает значительное время, но зато заставляет более строго подходить к подаче и структурированию материала.

Для облегчения восприятия в книге используются шрифтовые выделения названий сигналов (Frame#, D+), инструкций, регистров и битов (SYNC). Курсивом выделены ключевые понятия, а также названия команд (READ), пакетов (DataO), состояний (Idle). Штриховка на рисунках, изображающих назначение регистров и программных структур, означает зарезервированные или не используемые поля.

На все технические вопросы и замечания по книге я готов ответить по электронной почте mgook@stu.neva.ru.

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты comp@piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

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

Введение

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

Структура компьютера PC-совместимые компьютеры, как и большинство других, построены по классической схеме фон-неймановской машины образца 1945 года. Согласно этой схеме, компьютер состоит из центрального процессора (ЦП, CPU), памяти и устройств ввода/вывода. Процессор исполняет программы, находящиеся в памяти; память предназначена для хранения программ и данных, доступных процессору; устройства ввода/вывода (УВВ) предназначены для связи с внешним миром. Время внесло небольшие коррективы в названия этих «трех китов», и сейчас то, что попадало под название УВВ, называют периферийными устройствами. Процессор (один или несколько), память и необходимые элементы, связывающие их между собой и другими устройствами, называют центральной частью или ядром компьютера (или просто центром).

Периферийные устройства (ПУ) – это все программно-доступные компоненты компьютера, не попавшие в его центральную часть. Их можно разделить по назначению на несколько классов:

• устройства хранения данных (устройства внешней памяти) – дисковые (магнитные, оптические, магнитооптические), ленточные (стримеры), твердотельные (карты, модули и устройства USB на флэш-памяти). Эти устройства используются для сохранения информации из памяти на энергонезависимые носители и загрузки этой информации в оперативную память. В каком виде хранится информация на этих устройствах, нам не так уж важно (главное – правильно считать то, что сохранили);

• устройства ввода/вывода, служащие для преобразования информации из внутреннего представления компьютера (биты и байты) в форму, понятную окружающим, и обратно. Сюда относятся дисплеи (устройства отображения, то есть вывода), клавиатура и мышь (устройства ввода), принтеры и сканеры, плоттеры и дигитайзеры, джойстики, акустические системы и микрофоны, телевизоры и видеокамеры, устройства телеуправления и телеметрии. Любопытно, что в этих парах обычно лидируют устройства вывода, появляющиеся в компьютерах раньше соответствующих устройств ввода. Под окружающими подразумевается и человек (и другие биологические объекты), и различные технические устройства (компьютер можно приспособить для управления любым оборудованием, были бы датчики и исполнительные устройства). В какую форму эти устройства преобразуют двоичную информацию – определяется их назначением;

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

Главным действием в компьютере является исполнение программного кода центральным процессором, и ЦП должен иметь возможность взаимодействия с ПУ.

Для обращения к периферийным устройствам в процессорах x86, применяемых в PC-совместимых компьютерах, специально выделено пространство ввода/вывода (I/O Space), отдельное от памяти. Размер пространства адресов ввода/вывода 64 Кбайт; в этой области могут располагаться регистры периферийных устройств разрядностью 1, 2 или 4 байт, и для обращения к ним имеется несколько специальных инструкций процессора (IN, OUT, INS и OUTS). Регистры ПУ могут отображаться и в пространстве памяти – областях, свободных от оперативной и постоянной памяти. Заметим, что обособление пространства ввода/вывода используется далеко не во всех архитектурах процессоров. В любом случае разные регистры разных устройств не должны пересекаться по адресам в своих пространствах – в этом состоит требование бесконфликтного распределения ресурсов по адресам.

Популярные книги

Изгой. Трилогия

Михайлов Дем Алексеевич
Изгой
Фантастика:
фэнтези
8.45
рейтинг книги
Изгой. Трилогия

Вечный Данж IV

Матисов Павел
4. Вечный Данж
Фантастика:
юмористическая фантастика
альтернативная история
6.81
рейтинг книги
Вечный Данж IV

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Клеванский Кирилл Сергеевич
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.51
рейтинг книги
Сердце Дракона. нейросеть в мире боевых искусств (главы 1-650)

Кодекс Крови. Книга III

Борзых М.
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга III

Кодекс Охотника. Книга VIII

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

Идеальный мир для Социопата 4

Сапфир Олег
4. Социопат
Фантастика:
боевая фантастика
6.82
рейтинг книги
Идеальный мир для Социопата 4

Камень. Книга восьмая

Минин Станислав
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Камень. Книга восьмая

Хозяйка Проклятой Пустоши. Книга 2

Белецкая Наталья
2. Хозяйка Проклятой Пустоши
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка Проклятой Пустоши. Книга 2

Не грози Дубровскому! Том VII

Панарин Антон
7. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том VII

Особняк Ведьмы. Том 1

Дорничев Дмитрий
1. Особняк
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Особняк Ведьмы. Том 1

На изломе чувств

Юнина Наталья
Любовные романы:
современные любовные романы
6.83
рейтинг книги
На изломе чувств

Мымра!

Фад Диана
1. Мымрики
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мымра!

Кодекс Крови. Книга VII

Борзых М.
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VII