Как подключаются периферийные устройства
Между центральной частью компьютера и периферийными устройствами имеется иерархия средств подключения, на верху которой стоят шины расширения ввода-вывода. Их самые яркие представители в IBM PC — шина ISA (отмирающая) и шина PCI (развивающаяся). Через шину расширения проходят все обращения ЦП к периферии, и на этой шине как раз и фигурируют адреса памяти и ввода-вывода, по которым обращается процессор. К шине расширения подключаются контроллеры и адаптеры 1 периферийных устройств или их интерфейсов. Часть ПУ совмещена со своими контроллерами (адаптерами), как, например, сетевой адаптер Ethernet, подключенный к шине PCI. Другие же ПУ подключаются к контроллеру через промежуточный периферийный интерфейс, который и является предметом нашего обсуждения.
К периферии, подключаемой через промежуточные интерфейсы, относится большинство устройств хранения (дисковые, ленточные), устройств ввода-вывода (клавиатуры, мыши, принтеры, плоттеры), ряд коммуникационных (внешние модемы). Традиционный подход к организации подключения заключался в том, что для каждого такого ПУ к шине расширения подключался свой контроллер интерфейса, к которому подключалось свое устройство — одно, в лучшем случае — небольшая группа устройств. Именно так устроен LPT-порт — адаптер интерфейса, к которому подключается принтер (подключение цепочки устройств к нему придумали с опозданием). Также и к COM-порту можно подключить или модем, или мышь, или другое устройство (одно). Диски ATA можно подключать к контроллеру всего по 1-2 на канал, устройства SCSI — до 7 или 15 — рекорд множественности традиционных подключений. Для взаимодействия с ПУ процессор обращается к регистрам контроллера, «представляющего интересы» подключенных к нему устройств.
Для периферийных устройств в процессорах x86, применяемых в PC-совместимых компьютерах, специально выделено пространство ввода-вывода(I/O Space) — область, отдельная от памяти. Размер пространства адресов ввода-вывода 64 Кбайт; в этой области могут располагаться регистры периферийных устройств разрядностью 1, 2 или 4 байт и для обращения к ним имеется несколько специальных инструкций процессора. Регистры ПУ могут отображаться и в пространстве памяти — областях, свободных от оперативной и постоянной памяти. Разные регистры разных устройств не должны пересекаться по адресам в своих пространствах — в этом заключается требование бесконфликтного распределения ресурсов по адресам..
1 Контроллер отличается от адаптера более высоким уровнем «интеллекта»
3. Как передается информация
Задача любого из рассматриваемых интерфейсов заключается в передаче информации между какими-либо устройствами. Информация (данные), которую следует передавать, может быть разной природы.
- Аналоговая информация, отображающая процесс, непрерывный во времени и по величине (может принимать любое из бесконечного числа значений, пусть и в ограниченном интервале). Пример — звуки, которые мы слышим (в том числе и речь), представляют собой непрерывное изменение давления. Задача передачи такой информации встает, например, при подключении микрофона (устройства, преобразующего изменения давления в изменения электрического напряжения) к компьютеру.
· Дискретная информация, отображающая процесс конечным числом значений. Элементарная единица дискретной информации — 1 бит, который может принимать лишь одно из двух логических значений: 0 (истина, «да») или 1 (ложь, «нет»). Одним битом, к примеру, можно отобразить состояние кнопки «мыши»: нажата или нет. Дискретная двоичная информация является «родной» для большинства компьютеров, поскольку ее проще всего получать, обрабатывать, хранить и передавать. Цифровая информация, представляющая собой последовательность (набор) чисел, имеющих ограниченную разрядность (и, соответственно, конечное число возможных значений). Пример — оцифрованный звук, представляющий собой последовательность отсчетов мгновенных значений давления, берущихся через равные интервалы времени.
Дискретную и цифровую информацию не всегда корректно различают (и не всегда это требуется), поскольку «выглядит» она похоже: в двоичной системе и та и другая представляет собой наборы ноликов и единичек. Важным отличием цифровых данных является осмысленность сравнения значений по условиям «больше-меньше». Цифровая информация является особым видом дискретной. Для передачи данных по различным интерфейсам наиболее существенно разделение на аналоговые (непрерывные) и дискретные.
Для того чтобы передавать данные, их нужно представить в виде сигнала — физического процесса (электрического, оптического, электромагнитного, хотя возможны и другие). Сигналы могут быть различных типов: аналоговые (непрерывные), дискретные, цифровые. Заметим, что тип сигнала может и не соответствовать типу передаваемых данных. Так, например, аналоговый сигнал телефонного модема несет дискретные (цифровые) данные. Тип и природа используемого сигнала определяется требованиями к интерфейсу: дальность связи, скорость передачи данных, надежность, достоверность, безопасность, стоимость, удобство подключения, энергопотребление и другими.
4 Параллельные и последовательные интерфейсы
Для компьютеров и связанных с ним устройств наиболее распространенной является задача передачи дискретных данных, и, как правило, в значительных количествах (не один бит). Самый распространенный способ представления данных сигналами — двоичный, например, условно высокому (выше порога) уровню напряжения соответствует логическая единица, низкому — логический ноль (возможно и обратное представление). Один двоичный сигнал за один квант времени передает один бит информации. Как говорилось выше, процессор с периферийными устройствами обменивается байтами (8 бит)1, словами (в мире x86 — 16 бит), двойными словами (32 бита) данных. Для того чтобы передавать группу бит, существует два подхода к организации интерфейса.
- Параллельный интерфейс — для каждого бита передаваемой группы используется своя сигнальная линия (обычно с двоичным представлением), и все биты группы передаются одновременно за один квант времени, т.е. продвигаются по интерфейсным линиям параллельно. Примеры: параллельный порт подключения принтера (LPT-порт, 8 бит), интерфейс ATA/ATAPI (16 бит), SCSI (8 или 16 бит), шина PCI (32 или 64 бита).
- Последовательный интерфейс — используется лишь одна сигнальная линия, и биты группы передаются друг за другом по очереди; на каждый из них отводится свой квант времени (битовый интервал). Примеры: последовательный коммуникационный порт (COM-порт), последовательные шины USB и FireWire, интерфейсы локальных и глобальных сетей.
На первый взгляд, организация параллельного интерфейса проще и нагляднее (не надо выстраивать биты в очередь на передачу и собирать байты из принятой последовательности бит). Также, на первый взгляд, параллельный интерфейс обеспечивает более быструю передачу данных, поскольку биты передаются сразу пачками. Очевидный недостаток параллельного интерфейса — большое количество проводов и контактов разъемов в соединительном кабеле (по крайней мере, по одному на каждый бит). Отсюда громоздкость и дороговизна кабелей и интерфейсных цепей устройств, с которой мирятся ради вожделенной скорости. У последовательного интерфейса приемопередающие узлы функционально сложнее, зато кабели и разъемы гораздо проще и дешевле. Понятно, что на большие расстояния тянуть многопроводные кабели параллельных интерфейсов неразумно (и невозможно), здесь гораздо уместнее последовательные интерфейсы.
Cкорость передачи данных. Очевидно, что она равна числу бит, передаваемых за квант времени, деленному на длительность кванта. Для простоты можно оперировать тактовой частотой интерфейса — величиной, обратной длительности кванта. Это понятие естественно для синхронных интерфейсов, у которых имеется сигнал синхронизации (clock), который определяет возможные моменты возникновения всех событий (смены состояния). Для асинхронных интерфейсов можно пользоваться эквивалентной тактовой частотой — величиной, обратной минимальной длительности одного состояния интерфейса. Теперь можно сказать, что максимальная (пиковая) скорость передачи данных равна произведению тактовой частоты на разрядность интерфейса. У последовательного интерфейса разрядность 1 бит, у параллельного — столько, сколько имеется параллельных сигнальных цепей для передачи битов данных. Остаются вопросы о достижимой тактовой частоте и разрядности. И для последовательного, и для параллельного интерфейсов максимальная тактовая частота определяется достижимым (при разумной цене и затратах энергии) быстродействием приемопередающих цепей устройств и частотными свойствами кабелей. Здесь уже проглядывают выгоды последовательного интерфейса: для него затраты на построение высокоскоростных элементов не приходится умножать на разрядность интерфейса, как это приходится делать для параллельного. В параллельноминтерфейсе есть явление перекоса (skew), существенно влияющее на достижимый предел тактовой частоты. Суть его в том, что сигналы, одновременно переданные на одной стороне интерфейсного кабеля, доходят до другого конца не одновременно из-за отклонений характеристик цепей. На время прохождения влияет длина проводов, свойства изоляции, соединительных элементов и т.п. Очевидно, что перекос (разница во времени прибытия) сигналов разных битов должен быть явно меньше кванта времени, иначе биты будут искажаться (путаться с одноименными битами предшествующих и последующих посылок). Вполне понятно, что перекос ограничивает и допустимую длину интерфейсных кабелей: при одной и той же относительной погрешности скорости распространения сигналов на большей длине набегает и больший перекос. Перекос сдерживает и увеличение разрядности интерфейса: чем больше используется параллельных цепей, тем труднее добиться их идентичности. Из-за этого даже приходится «широкий» (многоразрядный) интерфейс разбивать на несколько «узких» групп, для каждой из которых используются свои управляющие сигналы. В 90-х годах в схемотехнике приемопередающих узлов стали осваиваться частоты в сотни МГц и выше, т.е. длительность кванта стала измеряться единицами и долями наносекунд. Достичь соизмеримо малого перекоса можно лишь в пределах жестких компактных конструкций (печатная плата), а для связи отдельных устройств кабелями длиной в десятки сантиметров пришлось остановиться на частотах до десятков МГц. Для того чтобы ориентироваться в числах, отметим, что за 1 наносекунду сигнал пробегает по электрическому проводнику порядка 20-25 сантиметров.
В последовательном интерфейсе явление перекоса отсутствует, так что повышать тактовую частоту можно вплоть до предела возможностей приемопередающих цепей. Конечно, есть ограничения и по частотным свойствам кабеля, но изготовить хороший кабель для одной сигнальной цепи гораздо проще, чем для группы цепей, да еще и с высокими требованиями к идентичности. А когда электрический кабель уже «не тянет» требуемую частоту и дальность, можно перейти на оптический, у которого есть в этом плане огромные еще не освоенные «запасы прочности». Устраивать же параллельный оптический интерфейс — слишком дорогое удовольствие.2
Вышеприведенные соображения объясняют тенденцию перехода на последовательный способ передачи данных. В таблице 1 приведены сравнительные характеристики параллельных интерфейсов, ныне используемых для подключения периферийных устройств. Для полноты описания достижений параллельного способа передачи стоит упомянуть параллельные шины подключения процессоров и памяти, разрядность которых достигает 128 бит, а скорость передачи данных — нескольких Гбайт/с. Однако такие характеристики достигаются лишь на совсем коротких дистанциях (десяток сантиметров, а то и меньше). У последовательного способа в данную таблицу не попали сетевые интерфейсы (Ethernet 10/100/1000/10000 Мбит/с, технологии передач глобальных сетей ATM, SONET, SDH), впечатляющие сочетанием гигабитных скоростей и расстоянием (сотни метров — десятки и сотни километров). При сравнении скоростей параллельных интерфейсов, выражаемых мегабайтами в секунду, и последовательных с их мегабитами в секунду есть нюансы, о которых речь пойдет позже. Пока что можно ориентировочно мегабиты в секунду делить на 10 (а не на 8), чтобы получать мегабайты в секунду.
1 Бывают и не 8-битные байты2 В 10-гигабитной версии технологии Ethernet есть параллельно-последовательный вариант
Таблица 1. Сравнение параллельных и последовательных интерфейсов
Название, разрядность | Назначение | Пределы скорости | Дальность | Перспективы |
Параллельные интерфейсы | ||||
IEEE 1284 (LPT-порт), 8 бит | Подключение принтеров, плоттеров, сканеров и других внешних устройств | 2 Мбайт/с | 1-10 м | Отказаться от использования, перейти на USB |
SCSI, 8/16 бит | Подключение любых внутренних и внешних устройств | 10-20-40-80-160-320 Мбайт/с | До 6-12-25 м | Переход на Serial SCSI |
ATA/ATAPI, 16 бит | Подключение внутренних и внешних устройств хранения | 16-33-66-10-133 Мбайт/с | До 0,5 м | Переход на Serial ATA |
ISA, 8/16 бит | Подключение внутренних устройств (карт расширения) | 8-16 Мбайт/с | 15-20 см (в пределах печатной платы) | Отказаться от использования |
PCI, 32/64 бит | Подключение внутренних устройств (карт расширения) | 66-133-266-533 Мбайт/с | 10-15 см (в пределах печатной платы) | Переход на PCI-X |
PCI-X,64 бит | Подключение внутренних устройств (карт расширения) | 533—4256 Мбайт/с | 10-15 см (в пределах печатной платы) | Переход на Serial PCI |
Последовательные интерфейсы | ||||
RS-232C (COM-порт) | Подключение коммуникационных и других внешних устройств | 115200 бит/с (11,5 кбайт/с) | 25 м | Отказаться от использования, перейти на USB |
RS-422/485 | Подключение устройств промышленной автоматики и других | 10 Мбит/с | 1200 м | |
USB 1.0-1.1 | Подключение внешних устройств | 1,5-12 Мбит/с (до 1 Мбайт/с) | 25 м | Переход на USB 2.0 |
USB 2.0 | Подключение внешних устройств | 1,5-12-480 Мбит/с (до 24 Мбайт/с) | 30 м | |
Serial ATA | Подключение внутренних устройств хранения | 1,5 Гбит/с (150 Мбайт/с) | 1 м | Освоение более высоких скоростей |
Serial SCSI | Подключение внутренних и внешних устройств | 3 Гбит/с | 6 м | Переход на 6 Гбит/с |
Fibre Channel | Подключение внешних устройств | 2 Гбит/с | 15 м (медный устройств хранения кабель) — 10 км (оптический) | Переход на 4 Гбит/с |
Продолжая разговор об интерфейсах, обсудим, какими способами можно передавать информацию (интерфейсными сигналами) между устройствами.
5. Сигналы и среда передачи
Самым «модным» физическим процессом, используемым для передачи сигналов интерфейсов, являются электромагнитные колебания различных частотных диапазонов. Наиболее привычные электрические сигналы — это электромагнитные колебания сравнительно низкочастотного диапазона (до десятков и сотен МГц), передаваемые по электрическим проводам. Передатчик такого сигнала посылает в электрическую линию связи (кабель) сигнал в виде определенных уровней напряжения или тока, приемник на другом конце линии получает сигнал, в той или иной степени похожий на переданный. Степень похожести (или непохожести) определяется свойствами кабеля, длиной линии, частотным спектром сигнала и наличием внешних помех. При сочетании высоких частот и большой длины (интересен показатель «Эль-Эф» — произведение длины L на частоту F) приходится учитывать волновые свойства электромагнитного сигнала, такие, как затухание по мере распространения и отражение от неоднородностей в линии. Затухание сигнала связано не только с электрическими потерями (на нагрев кабеля), но и с паразитным излучением — выходом электромагнитного сигнала за пределы кабеля в открытый радиоэфир. Волновые явления заставляют применять специальные конструкции электрических кабелей, применяемых для передачи сигнала — коаксиальные кабели, витые (скрученные) пары проводов и некоторые другие. Задача этих конструкций — максимально сохранить форму передаваемого сигнала, не выпустить его за пределы кабеля и по возможности не впустить внешние помехи. Последние два пункта имеют особое значение для обеспечения безопасности (в смысле конфиденциальности) передачи информации — недопущения (осложнения) ее «подслушивания» и злонамеренного искажения извне. Проводная передача электрического сигнала используется в подавляющем большинстве интерфейсов периферийных устройств, обеспечивая дальность передачи в единицы, десятки и сотни метров со скоростями до единиц гигабит в секунду; она же доминирует и в компьютерных сетях.
Электромагнитные колебания с частотами в сотни МГц — десятки ГГц пригодны и для беспроводной радиопередачи сигналов. Более низкие частоты для эффективного излучения и приема требуют антенн неприемлемо большого размера; для более высоких частот пока что есть сложности в реализации приемопередатчиков, да и распространение сигнала в этом диапазоне имеет неприятную специфику (например, поглощение туманом и дождем). Первый массовый радиоинтерфейс в компьютерной технике — Bluetooth — использует радиоволны микроволнового диапазона 2,4 ГГц. В этом диапазоне радиоволны распространяются по прямой (нет эффекта огибания, свойственного длинным волнам), с некоторым затуханием проходят сквозь стены зданий. Неприятностью является отражение сигнала от различных предметов, так что приемник получает не только прямой сигнал от передатчика, но и отраженные сигналы, приходящие с некоторой задержкой относительного прямого. Из-за этого эффекта многолучевого приема в некоторых точках пространства на определенных частотах связь оказывается невозможной, но достаточно немного сместить приемник (или передатчик) или изменить частоту, как связь появляется. С замираниями сигнала из-за многолучевого приема борются разными способами, в Bluetooth применяют перескоки несущей частоты. В Bluetooth используются ненаправленные антенны, дальность связи в зависимости от мощности передатчика ограничивается десятками или сотнями метров. Беспроводные интерфейсы привлекательны отсутствием кабелей и разъемов, которые нужно прокладывать и соединять для организации связи — соединяемым устройствам достаточно лишь оказаться в зоне действия. Однако это имеет и обратную сторону — среда передачи полностью открыта, в том числе и для злоумышленников, которые могут перехватывать сигнал для съема информации и передавать свой для вредоносных действий. Эти проблемы безопасности имеют решения, выходящие за рамки уровня физической передачи сигнала. Еще одна проблема радиоинтерфейса — высокая и постоянно растущая «заселенность» радиоэфира, вызывающая интерференцию (нежелательное взаимодействие) различной аппаратуры, включая беспроводные и сотовые телефоны, аппаратуру беспроводных локальных сетей, микроволновые печи и другие устройства.
Если двигаться дальше в сторону повышения частоты электромагнитных колебаний, то мы попадаем сначала в инфракрасный диапазон, к которому примыкает и видимый оптический диапазон. Эти диапазоны также используются для оптической передачи сигналов как по проводам (оптоволокну), так и без проводов
Инфракрасный порт — стандартный IrDA и его фирменные предшественники HP-SIR и ASK IR — уже долгие годы используются для беспроводного подключения периферии (принтеров и других устройств) к компьютерам. Особенно эффектно это подключение выглядит с малогабаритными устройствами, размеры которых соизмеримы (а то и меньше) размеров кабелей и разъемов традиционных интерфейсов. Порт IrDA имеет направленные излучатели и приемники с углом охвата 15-30° и дальность действия порядка 1 м, так что для соединения устройств их нужно должным образом приблизить друг к другу и сориентировать.
Малая (по сравнению с радиоинтерфейсом) зона охвата не всегда является недостатком — ее проще контролировать на предмет несанкционированных подключений, будучи уверенным, что из-за стенки никто не подключится и не подслушает. Достижимая скорость передачи невелика — 4 Мбит/с, более высокие скорости проблематичны из-за слабости сигнала, получаемого фотоприемником. Инфракрасная связь используется и в беспроводных локальных сетях (IEEE 802.11 DFIR), где ненаправленные приемопередатчики за счет отражений от стен и потолка позволяют обеспечивать зону охвата порядка 10 м, но скорости еще ниже (1-2 Мбит/с).
Безусловным лидером по показателю «Эль-Эф» является проводная оптическая связь, где световые импульсы инфракрасного диапазона передаются по оптоволокну, стеклянному или пластиковому. Стеклянное волокно в основном используется в телекоммуникациях, где требуется дальность связи, измеряемая сотнями метров и десятками (и даже сотнями) километров. Определенные типы волокна при подходящей длине волны обеспечивают прохождение сигнала с допустимым затуханием и сохранением формы, дает возможность достигать гигабитных скоростей в сочетании с километровыми расстояниями. Резервом повышения пропускной способности оптической линии является возможность волнового мультиплексирования: по одному волокну может распространяться множество оптических сигналов с различными длинами волн, не мешая друг другу. Аналогичное частотное уплотнение в электрических кабелях имеет куда более скромные возможности. Недостаток стеклянной оптики — дороговизна оконечных устройств (приемопередатчиков) и соединительной аппаратуры, сам же кабель может быть и дешевле медного. В интерфейсах, не требующих больших расстояний (до десятков метров), с успехом используется пластиковое волокно, для которого и кабели, и разъемы существенно дешевле. Пример оптического интерфейса в современном персональном компьютере — Toslink, оптическая версия цифрового аудиоинтерфейса S/PDIF. В серверах можно встретить интерфейс Fibre Channel (FCAL), с помощью которого подключают устройства хранения данных, которые могут быть удалены от компьютера хоть на километры при скорости передачи порядка 1 Гбит/с.
Говоря об оптических интерфейсах, следует отметить, что они обеспечивают полную гальваническую развязку соединяемых устройств. Это означает, что схемы этих устройств не имеют электрической связи друг с другом, их «схемные земли» могут находиться под существенно различающимся потенциалом (хоть до тысяч и даже миллионов вольт). Кроме того, оптический интерфейс нечувствителен к электромагнитным наводкам. В ряде случаев эти свойства играют решающую роль, например, при соединении оборудования на энергетических объектах, в производственных помещениях с сильными источниками помех и т.п. В аудиотехнике гальваническая развязка позволяет избавиться от наводок (помех), приводящих к возникновению фона. Некоторые электрические интерфейсы (например, FireWire) также обладают гальванической развязкой, но параметры этой развязки скромнее (она распространяется только на низкие частоты, да и допустимая разность потенциалов не более 500 В, а в дешевых вариантах — 60 В). Конечно, гальваническую развязку обеспечивают и любые беспроводные интерфейсы, но в условиях сильных помех радиоинтерфейсы скорее всего не обеспечат высокой скорости и надежности передачи. Проводные оптические интерфейсы — наиболее защищенные от несанкционированного подключения. Съем информации без механического вмешательства в кабельное хозяйство практически невозможен, при необходимости можно организовать мониторинг состояния линии и своевременно засечь попытку подключения.
6. Организация и топология интерфейсов
Рассматриваемые интерфейсы служат для обмена информацией между соединяемыми устройствами; обмен происходит с помощью транзакций. Интерфейсной транзакцией называется законченная операция по пересылке некоторой порции информации. В каждой транзакции участвует ведущее устройство (инициатор обмена), которое управляет интерфейсом на данном отрезке времени, и ведомое устройство (целевое устройство) — второй участник транзакции, выбранный ведущим устройством и подчиняющийся ему.
Транзакция может состоять из последовательности фаз (состояний, шагов), в каждой из которых решается какая-то элементарная задача. Набор фаз зависит от сложности интерфейса, в простейшем случае он сводится лишь к фазам передачи данных. Протокол интерфейса — это набор правил взаимодействия ведущих и ведомых устройств, обеспечивающий выполнение транзакций. Сложность протокола зависит от возможного числа участников, их отношений и ряда характеристик обмена, которые должен обеспечить интерфейс.
Если интерфейс объединяет более двух устройств, то протокол должен решать задачу адресации — выбора устройства, которое будет отвечать на данную транзакцию. При этом встает и задача назначения адресов, для каждого устройства уникальных хотя бы в пределах данного объединения. В назначении адресов участие пользователя должно быть минимальным, а лучше — вообще отсутствовать — это один из принципов системы PnP (Plug and Play). Современные интерфейсы — шины PCI, USB, FireWire, Bluetooth — изначально проектировались с учетом полной автоматизации назначения адресов. В ряд старых интерфейсов автоматическое назначение адресов ввели искусственным приемом позже, и они прижились (например, спецификация Microsoft PnP для шины ISA), в других этого не произошло (от попыток автоматизации SCSI довольно быстро отказались).
Говоря о PnP, следует отметить еще одну задачу — автоматическая идентификация подключенных устройств. Устройства, претендующие на роль ведущих, должны иметь возможность узнать, какие именно устройства подключены к их интерфейсу, и поддерживать конфигурационные таблицы — списки соответствия адресов и идентификаторов устройств. Решение задач автоматической адресации и идентификации позволяет говорить о возможности автоматического конфигурирования, которое может быть статическим и динамическим. Системы со статическим конфигурированием позволяют подключать/отключать устройства только в нерабочем состоянии, после всех изменений конфигурации они требуют перезагрузки. Так ведут себя, например, шины PCI и SCSI, хотя для них есть и специальные варианты с «горячим» подключением (hot plug, hot swap). Системы с динамическим конфигурированием позволяют подключать/отключать устройства на ходу, почти не влияя на работу остальных. Возможность динамического конфигурирования имеют шины USB, FireWire, и, конечно же, беспроводные интерфейсы (Bluetooth, IrDA).
Отношения между соединяемыми устройствами могут быть равноранговыми или подчиненными. В случае равнорангового интерфейса любое из устройств (по крайней мере, не одно) может претендовать на роль ведущего и стать им для каких-либо транзакций. Из этого вытекает задача арбитража — определения, какое устройство станет ведущим для очередной транзакции. В случае подчиненных отношений ведущим может быть только одно из устройств, соединенных интерфейсом. Хост-центрический интерфейс означает, что всеми транзакциями управляет один центральный узел, называемый хостом (host, хозяин). Под хостом для интерфейсов системного уровня подразумевается центр компьютера (ЦП и ОЗУ с ближайшим окружением); для периферийного уровня — компьютер с интерфейсным адаптером (контроллером). Шины PCI, FireWire, SCSI — примеры равноранговых интерфейсов, USB, ATA — хост-центрического.
Топология определяет конфигурацию связей между соединяемыми устройствами: двухточечная, шинная, радиальная, смешанная, цепочечная.
Двухточечная топология, или выделенный интерфейс — самая простая связь, в которой участвуют только два устройства. Каждое из устройств «знает», что на противоположном конце интерфейса может быть лишь одно устройство, и задачи адресации не возникает. В случае подчиненных отношений в таком интерфейсе не возникает и задачи арбитража. Двухточечный интерфейс с подчиненным устройством будет иметь самый простой протокол. Пример — LPT-порт компьютера в стандартном варианте, к которому подключено лишь одно устройство (принтер).
Шинная топология — объединение нескольких устройств на одной шине. Шина в данном контексте — совокупность сигнальных линий, соединяющих несколько устройств. Все устройства для обмена информацией пользуются одними и теми же линиями шины, они одновременно «слышат» друг друга. Для успешного обмена на время транзакции только одно устройство на шине может быть ведущим (задатчиком, инициатором); если на шине присутствует более одного устройства, претендующего на роль задатчика, то должен быть реализован протокол и механизм арбитража — передачи права на управление шиной. Арбитраж может выполняться централизовано специальным выделенным узлом-арбитром шины или распределенно, когда эта функция выполняется всеми потенциальными задатчиками. Арбитраж может быть как простым, так и приоритетным, с различными механизмами управления приоритетом узлов. Пример шин с централизованным арбитражом — PCI, ISA; с распределенным арбитражом — SCSI, FireWire.
Если шиной управляет лишь одно устройство (хост), то арбитраж не нужен; примеры — шины ATA, USB. Шинные соединения обеспечивают удешевление и конструктивное упрощение, что особенно заметно в параллельных интерфейсах с большим числом сигнальных линий. Однако это достигается ценой усложнения протокола и повышения уязвимости, поскольку отказ одного устройства (или линии связи) может парализовать работу всей шины.
Радиальная (звездообразная) топология — способ соединения более двух узлов, при котором к каждому периферийному узлу от центрального идет свой набор интерфейсных линий. Как правило, центральный узел является и единственным ведущим устройством, так что из интерфейсного протокола исключается задача арбитража. Задача адресации решается исключительно средствами центрального узла (звезду можно рассматривать как совокупность двухточечных соединений), что также упрощает протокол. Кроме упрощения протокола, радиальная топология имеет ряд преимуществ: высокая живучесть (отказ одного из периферийных устройств или его линий связи не влияет на остальные); наибольшая дальность связи (для двухточечных соединений легче обеспечивается согласование с линией, нагрузки на передатчики минимальны). Однако при большом числе сигнальных линий радиальные интерфейсы оказываются слишком дороги, так что радиальная топология преимущественно используется в последовательных интерфейсах. Пример радиальной топологии — новый интерфейс Serial ATA.
Цепочечная топология (daisy chain1) — соединение устройств друг за другом, при котором каждое устройство имеет пару разъемов подключения и транслирует интерфейсные сигналы с одного на другой. За физической цепочечной топологией может стоять различная логическая организация. Например, в случае подключения внешних устройств SCSI, цепочка обеспечивает шинное соединение, но с заранее неопределенным числом абонентов, т.е. все узлы одновременно подключаются к одному набору сигнальных линий. Иной случай — подключение к LPT-порту цепочки устройств, например, сканера, за ним — внешнего винчестера, и, наконец, обычного принтера. Здесь внутренняя логика интерфейсной части «проходных» устройств (стандарт IEEE 1284.3) обеспечивает трансляцию сигналов с одного разъема на другой избирательно, под управлением специального протокола выбора устройства. В результате после отработки этого протокола устанавливается двухточечная связь между хостом и одним из устройств цепочки и обмен между этой парой устройств ведется так, как будто мы имеем лишь одно устройство, подключенное к порту компьютера.
В ряде интерфейсов наблюдается смесь топологий; так, например, в шине PCI большинство сигнальных линий идут шиной, но часть сигналов к каждому устройству (слоту) подходит радиально от центрального устройства (моста). Шина USB физически (внешне) использует древовидную топологию (соединение звезд, в центре которых находятся хабы USB), но логически хабы обеспечивают связь всех устройств в шину с единственным задатчиком — хост-контроллером.
Дата добавления: 2016-06-13; просмотров: 1440;