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

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

Царь поневоле. Том 1

Распопов Дмитрий Викторович
4. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Царь поневоле. Том 1

Измена. Не прощу

Леманн Анастасия
1. Измены
Любовные романы:
современные любовные романы
4.00
рейтинг книги
Измена. Не прощу

Мастер Разума IV

Кронос Александр
4. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума IV

Король Масок. Том 1

Романовский Борис Владимирович
1. Апофеоз Короля
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Король Масок. Том 1

Мерзавец

Шагаева Наталья
3. Братья Майоровы
Любовные романы:
современные любовные романы
эро литература
короткие любовные романы
5.00
рейтинг книги
Мерзавец

Я — Легион

Злобин Михаил
3. О чем молчат могилы
Фантастика:
боевая фантастика
7.88
рейтинг книги
Я — Легион

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

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

Девятый

Каменистый Артем
1. Девятый
Фантастика:
боевая фантастика
попаданцы
9.15
рейтинг книги
Девятый

Матабар. II

Клеванский Кирилл Сергеевич
2. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар. II

Ты нас предал

Безрукова Елена
1. Измены. Кантемировы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ты нас предал

Девочка по имени Зачем

Юнина Наталья
Любовные романы:
современные любовные романы
5.73
рейтинг книги
Девочка по имени Зачем

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

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

Проданная Истинная. Месть по-драконьи

Белова Екатерина
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Проданная Истинная. Месть по-драконьи

Генерал Империи

Ланцов Михаил Алексеевич
4. Безумный Макс
Фантастика:
альтернативная история
5.62
рейтинг книги
Генерал Империи