Чтение онлайн

ЖАНРЫ

Шины PCI, USB и FireWire

Гук Михаил Юрьевич

Шрифт:

• шина подключения центрального процессора (или нескольких процессоров в сложных системах) – FSB (Front Side Bus, фасадная шина);[1]

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

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

Типичные представители шин ввода/вывода в IBM PC – шина ISA (отмирающая) и шина PCI (развивающаяся в PCI–X и далее). Через шины ввода/вывода проходят все обращения ЦП к периферии. К шинам ввода/вывода подключаются контроллеры и адаптеры[2] периферийных устройств или их интерфейсов. Часть ПУ совмещена со своими контроллерами (адаптерами), как, например, сетевой адаптер Ethernet, подключенный к шине PCI. Другие же ПУ подключаются к своим контроллерам через промежуточные периферийные интерфейсы, являющиеся

нижним уровнем иерархии подключений. Периферийные интерфейсы – самые разнообразные из всех аппаратных интерфейсов. К периферии, подключаемой через промежуточные интерфейсы, относится большинство устройств хранения (дисковые, ленточные), устройств ввода/вывода (дисплеи, клавиатуры, мыши, принтеры, плоттеры), ряд коммуникационных устройств (внешние модемы). Для взаимодействия с ПУ процессор обращается к регистрам контроллера, «представляющего интересы» подключенных к нему устройств.

 

По назначению периферийные интерфейсы можно разделить на специализированные и универсальные, выделенные и разделяемые:

• специализированные интерфейсы ориентированы на подключение устройств определенного узкого класса, и в них используются сугубо специфические протоколы передачи информации. Примеры – популярнейший интерфейс мониторов VGA, интерфейс накопителя на гибких дисках, традиционные интерфейсы клавиатуры и мыши, IDE/ATA и ряд других;

• универсальные интерфейсы имеют более широкое назначение, их протоколы обеспечивают доставку данных, не привязываясь к специфике передаваемой информации. Примеры – коммуникационные порты (COM), SCSI, USB, FireWire;

• выделенные интерфейсы позволяют подключить к одному порту (точке подключения) адаптера (контроллера) лишь одно устройство; число подключаемых устройств ограничено числом портов. Примеры – COM-порт, LPT-порт в стандартном режиме, интерфейс VGA-монитора, порт AGP, Serial SCSI;

• разделяемые интерфейсы позволяют подключить к одному порту адаптера множество устройств. Варианты физического подключения разнообразны: шина (жесткая, как ISA или PCI; кабельная шина SCSI и IDE/ATA), цепочка (daisy chain) устройств (SCSI, LPT-порт в стандарте IEEE 1284.3), логическая шина на хабах (USB) или встроенных повторителях (IEEE 1394 FireWire).

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

• параллельный интерфейс – для каждого бита передаваемой группы используется своя сигнальная линия (обычно с двоичным представлением), и все биты группы передаются одновременно за один квант времени. Примеры: параллельный порт подключения принтера (LPT-порт, 8 бит), интерфейс ATA/ATAPI (16 бит), SCSI (8 или 16 бит), шина PCI (32 или 64 бита);

• последовательный интерфейс – используется лишь одна сигнальная линия, и биты группы передаются друг за другом по очереди; на каждый из них отводится свой квант времени (битовый интервал). Примеры: последовательный коммуникационный порт (COM-порт), последовательные шины USB и FireWire, PCI Express, интерфейсы локальных и глобальных сетей.

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

Теперь подробнее разберемся со скоростью передачи данных. Очевидно, что она равна числу бит, передаваемых за квант времени, деленному на продолжительность кванта. Для простоты можно оперировать тактовой частотой интерфейса – величиной, обратной длительности кванта. Это понятие естественно для синхронных интерфейсов, у которых имеется сигнал синхронизации (clock), определяющий возможные моменты возникновения всех событий (смены состояния). Для асинхронных интерфейсов можно воспользоваться эквивалентной тактовой частотой – величиной, обратной минимальной продолжительности одного состояния интерфейса. Теперь можно сказать, что максимальная (пиковая) скорость передачи данных равна произведению тактовой частоты на разрядность интерфейса. У последовательного интерфейса разрядность 1 бит, у параллельного она соответствует числу

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

В параллельном интерфейсе существует явление перекоса (skew), существенно влияющее на достижимый предел тактовой частоты. Суть его в том, что сигналы, одновременно выставленные на одной стороне интерфейсного кабеля, доходят до другого конца не одновременно из-за разброса характеристик цепей. На время прохождения влияет длина проводов, свойства изоляции, соединительных элементов и т. п. Очевидно, что перекос (разница во времени прибытия) сигналов разных битов должен быть существенно меньше кванта времени, иначе биты будут искажаться (путаться с одноименными битами предшествующих и последующих посылок). Вполне понятно, что перекос ограничивает и допустимую длину интер-фейсных кабелей: при одной и той же относительной погрешности скорости распространения сигналов на большей длине набегает и больший перекос. Перекос сдерживает и увеличение разрядности интерфейса: чем больше используется параллельных цепей, тем труднее добиться их идентичности. Из-за этого даже приходится «широкий» (многоразрядный) интерфейс разбивать на несколько «узких» групп, для каждой из которых используются свои управляющие сигналы. В 90-х годах в схемотехнике приемопередающих узлов стали осваиваться частоты в сотни мегагерц и выше, то есть длительность кванта стала измеряться единицами наносекунд. Достичь соизмеримо малого перекоса можно лишь в пределах жестких компактных конструкций (печатная плата), а для связи отдельных устройств кабелями длиной в десятки сантиметров пришлось остановиться на частотах, не превышающих десятков мегагерц. Для того чтобы ориентироваться в числах, отметим, что за 1 нс сигнал пробегает по электрическому проводнику порядка 20–25 см. Наносекунда – это период сигнала с частотой 1 ГГц.

Для повышения пропускной способности параллельных интерфейсов с середины 90-х годов стали применять двойную синхронизацию DDR (Dual Data Rate). Ее идея заключается в выравнивании частот переключения информационных сигнальных линий и линий стробирования (синхронизации). В «классическом» варианте данные информационных линий воспринимаются только по одному перепаду (фронту или спаду) синхросигнала, что удваивает частоту переключения линии синхросигнала относительно линий данных. При двойной синхронизации данные воспринимаются и по фронту, и по спаду, так что частота смены состояний всех линий выравнивается, что при одних и тех же физических параметрах кабеля и интерфейсных схем позволяет удвоить пропускную способность. Волна этих модернизаций началась с интерфейса ATA (режимы UltraDMA) и прокатилась уже и по SCSI (Ultra160 и выше), и по памяти (DDR SDRAM). Кроме того, на высоких частотах применяется синхронизация от источника данных (Source Synchronous transfer): сигнал синхронизации, по которому определяются моменты переключения или действительности (валидности) данных, вырабатывается самим источником данных. Это позволяет точнее совмещать по времени данные и синхронизующие импульсы, поскольку они распространяются по интерфейсу параллельно в одном направлении. Альтернатива – синхронизация от общего источника (common clock) – не выдерживает высоких частот переключения, поскольку здесь в разных (пространственных) точках временные соотношения между сигналами данных и сигналами синхронизации будут различными.

Повышение частоты переключений интерфейсных сигналов, как правило, сопровождается понижением уровней сигналов, формируемых интерфейсными схемами. Эта тенденция объясняется энергетическими соображениями: повышение частоты означает уменьшение времени, отводимого на переключения сигналов. Чем выше амплитуда сигнала, тем выше должна быть скорость нарастания сигнала и, следовательно, выходной ток передатчика. Повышение выходного тока (импульсного!) нежелательно по разным причинам: большие перекрестные помехи в параллельном интерфейсе, необходимость применения мощных выходных формирователей, повышенное тепловыделение. Тенденцию снижения напряжения можно проследить на примере порта AGP (3,3/1,5/0,8 В), шин PCI/PCI–X (5/3,3/1,5 В), SCSI, шин памяти и процессоров.

В последовательном интерфейсе явления перекоса отсутствуют, так что повышать тактовую частоту можно вплоть до предела возможностей приемопередающих цепей. Конечно, есть ограничения и по частотным свойствам кабеля, но изготовить хороший кабель для одной сигнальной цепи гораздо проще, чем для группы цепей. А когда электрический кабель уже «не тянет» требуемые частоту и дальность, можно перейти на оптический, у которого есть в этом плане огромные, еще не освоенные «запасы прочности». Устраивать же параллельный оптический интерфейс – слишком дорогое удовольствие.[3]

Поделиться с друзьями: