Шины 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). Штриховка на рисунках, изображающих назначение регистров и программных структур, означает зарезервированные или не используемые поля.

На все технические вопросы и замечания по книге я готов ответить по электронной почте [email protected].

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

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

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

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

Введение

Общие вопросы организации

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

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

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

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

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

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

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

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

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

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Мастер 9

Чащин Валерий
9. Мастер
Фантастика:
боевая фантастика
попаданцы
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Мастер 9

Око воды. Том 2

Зелинская Ляна
6. Чёрная королева
Любовные романы:
любовно-фантастические романы
5.57
рейтинг книги
Око воды. Том 2

Неудержимый. Книга XVI

Боярский Андрей
16. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVI

Попаданка в семье драконов 2

Свадьбина Любовь
6. Избранницы правителей Эёрана
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Попаданка в семье драконов 2

Император поневоле

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

Наследник хочет в отпуск

Тарс Элиан
5. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник хочет в отпуск

Точка Бифуркации

Смит Дейлор
1. ТБ
Фантастика:
боевая фантастика
7.33
рейтинг книги
Точка Бифуркации

Город Богов 4

Парсиев Дмитрий
4. Профсоюз водителей грузовых драконов
Фантастика:
юмористическое фэнтези
городское фэнтези
попаданцы
5.00
рейтинг книги
Город Богов 4

Игра Кота 2

Прокофьев Роман Юрьевич
2. ОДИН ИЗ СЕМИ
Фантастика:
фэнтези
рпг
7.70
рейтинг книги
Игра Кота 2

Комбинация

Ланцов Михаил Алексеевич
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Комбинация

Безумный Макс. Поручик Империи

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

Законы Рода. Том 10

Flow Ascold
10. Граф Берестьев
Фантастика:
юмористическая фантастика
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 10

Газлайтер. Том 2

Володин Григорий
2. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 2