Шины 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). Регистры ПУ могут отображаться и в пространстве памяти – областях, свободных от оперативной и постоянной памяти. Заметим, что обособление пространства ввода/вывода используется далеко не во всех архитектурах процессоров. В любом случае разные регистры разных устройств не должны пересекаться по адресам в своих пространствах – в этом состоит требование бесконфликтного распределения ресурсов по адресам.

Комментарии:
Популярные книги

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

Идеальный мир для Лекаря 16

Сапфир Олег
16. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 16

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

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

Назад в СССР: 1984

Гаусс Максим
1. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
4.80
рейтинг книги
Назад в СССР: 1984

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

Дядя самых честных правил 8

Горбов Александр Михайлович
8. Дядя самых честных правил
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Дядя самых честных правил 8

Попаданка в академии драконов 4

Свадьбина Любовь
4. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
7.47
рейтинг книги
Попаданка в академии драконов 4

Стеллар. Трибут

Прокофьев Роман Юрьевич
2. Стеллар
Фантастика:
боевая фантастика
рпг
8.75
рейтинг книги
Стеллар. Трибут

6 Секретов мисс Недотроги

Суббота Светлана
2. Мисс Недотрога
Любовные романы:
любовно-фантастические романы
эро литература
7.34
рейтинг книги
6 Секретов мисс Недотроги

Лорд Системы 11

Токсик Саша
11. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 11

Золотая осень 1977

Арх Максим
3. Регрессор в СССР
Фантастика:
альтернативная история
7.36
рейтинг книги
Золотая осень 1977

Я не князь. Книга XIII

Дрейк Сириус
13. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я не князь. Книга XIII

Моя (не) на одну ночь. Бесконтрактная любовь

Тоцка Тала
4. Шикарные Аверины
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Моя (не) на одну ночь. Бесконтрактная любовь

Раб и солдат

Greko
1. Штык и кинжал
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Раб и солдат