Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Шины персональных компьютеров




Шина ПК — это канал (магистраль), который связывает между собой процессор, ОЗУ, кэш-память, контроллеры устройств ПК, а также разъемы (слоты) расширения на материнской плате для подключения различных контрол­леров устройств ввода/вывода. При этом для сохранения совместимости данные слоты должны быть механически и электрически идентичны в разных моделях IBM-совмести­мых компьютеров.

По шине передаются как данные, так и управляющие сиг­налы.

Работа шины осуществляется в соответствии с определен­ными правилами, регламентированными стандартами.

Важнейшие характеристики шин: частоты, разрядности, скорости передачи данных. При этом, как правило, частота измеряется в МГц, разрядность — в битах, скорость — в мегабайтах в секунду или в мегабитах и секунду.

Шина ISA Шина Industry Standard

Architecture (ISA) — системная шина (ISA-bus) была специаль­но разработана в 1984 г. под возможности процессоров i80286 для IBM PC/AT286. Для ISA-шины часто исполь­зуется другое название — АТ-шина. Эта шина была пред­назначена заменить шину XT ПК IBM PC/XT и аналогич­ных IBM-совместимых ПК на основе процессоров i8086, i8088 и их аналогов.

Ввиду неперспективности морально устаревшей шины XT ее особенности и возможности рас­сматривать здесь нецелесообразно. Шина ISA позволяет передавать 16-разрядные данные и команды с частотой 8 МГц, что соответствует скорости 16 Мбайт/с. Значения этих параметров были сравнительно высокими и достаточ­ными не только для того уровня развития компьютерной техники, они и в настоящее время часто удовлетворяют требованиям ПК для решения задач, не требующих высо­кой производительности и не критичных к времени их вы­полнения. Данная шина стала стандартом для IBM-совмес­тимых ПК на длительный срок.

 

Шина EISA Системная шина

Extended Industry Standard Architecture (EISA) фактически является рас­ширением шины ISA. Частота шины EISA — 8 МГц. Однако эта шина характеризуется большей разрядностью — 32 бита и более высокой скоростью передачи данных — до 33 Мбайт/с. Шина EISA совместима с ISA-шиной: кроме собственно 32-битных плат EISA-контроллеров на EISA-шине могут быть установлены стандартные 16-битные платы ISA. В настоя­щее время шина EISA в основном используется в некото­рых вариантах файл-серверов компьютерных сетей.

Шина MCA Шина Micro Channel

Architecture (MCA) — системная шина с высокой скоростью передачи данных — до 160 Мбайт/с и разрядностью шины данных от 16 до 64 бит. Разработка и исключительное право на ее использование принадлежит фирме IBM. Вероятно поэто­му, для ПК, использующих MCA, рынок предлагает срав­нительно мало периферийных устройств и по относитель­но высоким ценам. Вследствие этого популярность данной шины сравнительно низка и производство компьютеров с шиной MCA практически прекращено.

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

 

Шина VLB Локальная шина Local Bus (LB)

быстрее, чем шины ISA, EISA, потому что данные по ней передаются с внешней тактовой частотой используемого в составе ПК процессора. Например, 33 МГц в случае Intel 486DX2-66, тогда как стандартная шина ISA работает при тактовой частоте 8 МГц.

Стандарт локальной шины VESA (VESA local bus) был раз­работан и введен в 1992 г. фирмами-производителями ком­пьютерной техники, входящими в ассоциацию VESA (Video Electronics Standart). При разработке нового стандарта од­новременно решались две задачи. Первая — повышение производительности компьютеров за счет увеличения про­пускной способности системных шин. Вторая — сохранение преемственности в использовании стандартного оборудо­вания. В результате была создана 32-разрядная локальная шина — VESA local bus (VLB), дополняющая стандартную системную шину ISA при обмене данными процессора с контроллерами монитора, жесткого диска, кэш-памяти, сети и т. д.

В соответствии со стандартом максимальное число контроллеров, подключаемых к данной локальной шине, было установлено в количестве не более трех. Тактовая ча­стота VLB соответствовала частоте процессора. При внеш­ней частоте процессора, равной 33 МГц, шина VLB обеспе­чивала скорость передачи данных до 132 Мбайт/с.

К основным недостаткам шины VLB следует отнести сле­дующие: несовместимость и слабую нагрузочную способ­ность VLB. Действительно, поскольку быстродействие VLB связано с тактовой частотой процессора, контроллеры, под­ключаемые к шине VLB, должны были обеспечивать рабо­ту на этой частоте. На других ПК частота могла отличать­ся. Слабая нагрузочная способность VLB в основном была связана с тем, что данная шина фактически являлась продолжением контактов собственной шины процессора, что и отражено на рис. 16.

Кстати, этим объясняется совпадение частоты шины VLB и внешней так­товой частоты процессора.

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


Рис. 16. Организация ПК с шиной VLB

 

Шина PCI Шина PCI (Peripheral Component

Interconnect) является альтернативным вариантом локальной шины. Эта шина образует 32-битный канал между процес­сором и контроллерами периферийных устройств (рис. 17). Для PCI частота ограничена 33 МГц, что позволяет передавать дан­ные по шине, как и в случае использования шины VESA, со скоростью до 132 Мбайт/с.

Таким образом, шина PCI имеет практически такие же скоростные свойства, что и шина VLB при частоте процессора равной 33 МГц. Однако число контроллеров не ограничивается тремя, как для VLB, а может достигать десяти. Стандарт шины PCI поддержи­вает спецификации VESA для BIOS и видеоадаптеров. Кроме того, локальная шина PCI оптимально соответствует 64-бит­ной технологии современных процессоров.


PCI относится к классу так называемых шин-“пристроек”, поскольку имеет между собой и локальной шиной процессора специальный узел - согласующий “мост” (электрический и логический согласователь).

 

Рис. 17. Организация ПК с шиной PCI

 

Стандарт PCI предусматривает использование контроллера, осуществляющего разделение управляющих сигналов шины и процессора, и арбитраж шины. Это делает шину процессорно-независимой, обеспечивая ее использование не только на Intel-подобных процессорах. Контроллер шины PCI позволяет работать шине с 10 платами расширения.

Стандарт PCI также предусматривает несколько способов повышения пропускной способности шины. Один из них - блочная передача последовательных данных, применяемых, например, в графике, дисковых файлах, что не требует дополнительного времени на установку адреса каждого элемента.

Более того, видео акселератор может накапливать информацию в буферах, что обеспечивает одновременный с чтением данных из памяти блочный обмен с периферийными устройствами. Другой способ ускорения передачи данных - мультиплексирование. Оно предусматривает передачу последовательных данных по адресным линиям, что удваивает пропускную способность шины. При рабочей частоте 66 МГц и возможности передачи ею 4 байт информации за каждый такт пропускная способность шины теоретически достигает 250 Мбайт/c. Практически она примерно в два раза ниже. При тактировании шины частотой 100 МГц, используемой в МПС на МП Pentium II и Pentium III, теоретическая пропускная способность шины может быть доведена до 400 Мбайт/с.

Шина PCI использует установку прерываний по уровню сигнала.

Стандартом PCI предусмотрена 64-разрядная версия PCI-шины. Это дает возможность ее использования в системах на МП Pentium II и Pentium III, которые выполняются с 64-разрядной шиной данных. Одновременно этот стандарт подразумевает конфигурирование устройств, подключаемых к МПС, программным способом. Последнее дает возможность использовать режим “plug-and-play” (включил и работай), при котором новое устройство операционной системой автоматически распознается и подключается к системе.

Для 32-разрядной шины PCI используется 124-контактный разъем, причем в нем предусмотрены ключи и контакты, предназначенные для оценки необходимого для работы платы расширения напряжения питания (5 В или 3,3 В). Для 64-разрядной шины используется дополнительный 64-контактный разъем.

 

Шина AGP Стандарт на шину AGP был раз -

работан фирмой Intel в начале 1997 г. и предусматривал разработку высокопроизводительной шины для вывода графики, за что она и получила название AGP (Accelerated Graрfics Port) (рис. 18). Здесь видеопамять располагается не на графическом адаптере, а в ОЗУ компьютера. В процессе обработки информации процессор автоматически выделяет необходимый объем памяти для вывода графики.

 
 

Рис. 18. Организация ПК с шиной AGP

 

Физически это будет реализовано в виде добавки для шины PCI и полностью прозрачно для нее.

AGP работает на частоте основной памяти (66 МГц) и имеет два режима работы:

- режим (x1), при котором данные передаются только по переднему фронту тактового сигнала, что дает возможность достичь пиковой пропускной способности 266 Мбайт/с,

- режим (x2), при котором данные передаются и по переднему, и по заднему фронту тактового сигнала, при этом пропускная способность достигает значения в 532 Мбайт/с.

AGP реализована двумя моделями. Первая из них основана на традиционной модели DMA, а вторая - на новой модели DIME. В зависимости от выбранной модели данные по-разному распределяются между основной и локальной памятью, что, в свою очередь, влияет на качество отображаемой картинки и частоту смены кадров.

В режиме DMA для графики используется только локальная память видеоускорителя, а данные, расположенные вне ее, предварительно загружаются в локальную память и лишь затем обрабатываются видеопроцессором. При этом AGP исполняет роль быстрой шины.

В режиме DIME для построения изображения видеоускоритель использует локальную и системную память. При этом любая структура данных может располагаться как в локальной, так и в системной памяти. Данные не копируются предварительно из системной памяти в локальную, а интерпретируются “на месте”.

Необходимо отметить одну важную особенностью AGP, которая состоит в том, что память под текстуры выделяется операционной системой по требованию исполняемой программы и остается доступной для него. Поскольку текстура может занимать более одной страницы оперативной памяти (более 4 Кбайт), то в спецификацию AGP включена таблица переадресации графики, содержимое которой должно быть согласовано с таблицами переадресации операционной системы. Таким образом, поддержка AGP не может ограничиваться драйвером производителя, здесь требуется поддержка на уровне операционной системы. Такая поддержка реализована, например, в версии Windows 98.

Преимуществом при использовании AGP является следующее:

- интерфейс реализован по принципу “соединение точка-точка”, при котором отсутствуют проблемы с арбитражем шин,

- в интерфейсе предусмотрены раздельные шины для передачи команд и данных, повышающие пропускную способность интерфейса,

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

Принимая во внимание перечисленные преимущества интерфейса AGP разработано большое количество видеоускорителей, совместимых со спецификацией AGP, среди которых можно отметить Asus 3DexPlorer 3000, ATI Xpert@Work, 3Dfx Voodoo 3, Diamond Viper330, Matrox Millenium II, STB Velocity 128 и др.

В заключение необходимо отметить, что единого подхода по оценке быстродействия AGP пока нет. Связано это с тем, что, во-первых, разные видеоускорители на аппаратном уровне реализуют очень разные наборы функций, а, во-вторых, различные видеопрограммы используют разные функции. Большое разнообразие функций является главной единственной причиной, не позволяющей однозначно определить быстродействие шины. Однако проведенные приближенные оценки показывают, что для большинства программ трехмерной графики быстродействие микропроцессорных систем вывода видеоинформации с использованием видеоускорителей, использующих шину PCI, и систем с использование интерфейса AGP приблизительно одинаково.

 

Шина USB Шина USB (Universal Serial Bus)

была разработана в 1996 г. Эта относительно быстрая и деше­вая двунаправленная шина имеет скорость передачи данных:

- до 12 Мбит/с в быстром режиме,

- до 1,5 Мбит/с в медленном режиме.

Максимальная длина сегмента шины: до 5 м.

USB предназначена для обеспечения обмена различными данными (табл. 4) между центральным процессором и периферийными устройствами в условиях динамического (горячего) изменения конфигурации системы.

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

Таблица 4

Тип Передачи Control Interrupt Isochronous Bulk
Доставка данных 1 - + задается максимальная задержка 1-255/10-255 + 1 пакет / на канал в кадре  
Тип канала 2 Message, «, последовательное выполнение IRP Stream, ® только от ВУ к хосту Stream,® Stream, ®
Размер пакета, байт 3 8, 16, 32, 64/8 (по умолчанию - 8) 1-646 / 1-86 1 - 1023 / - (недоступен в медленном режиме) 8,16,32,64 (недоступен в медленном режиме)
Емкость кадра, пакеты 4 28(8) / 3(8) 71 (8) / 8(8) 20 (64) 11 (64)7
МСПД5,Кбайт/с 224(8)/24(8) 568 (8) /64 (8) 1280 (64) 728 7
  Поведение при ошибке / состоянии «занято» Ограниченное число повторных попыток, передача управления клиентскому ПО. Повтор через некоторое время Ограниченное число повторных попыток, передача управления клиентскому ПО. Повтор через некоторое время. Переход к передаче следующего пакета Ограниченное число повторных попыток, передача управления клиентскому ПО. Повтор через некоторое время
  Назначение Асинхронная передача структурированных сообщений с квитированием их получения. Используется для конфигурирования / управления ВУ. Обеспечивает доступ к параметрам ВУ. Асинхронная передача небольших объемов данных, например от УВ, с квитированием их получения Синхронная передача данных типа аудио- и видеоинформации. Типы синхронизации: от тактовой шины, внешняя, программная Асинхронная передача с квитированием больших массивов данных, допускающих отсрочку передачи

 

Примечание: В числителе указаны показатели для быстрого режима (до 12 Мбит/с), в знаменателе – для медленного режима (до 1,5 Мбит/с).

1 При знаке «+» гарантируется предельный размер временной задержки, при «-» задержка не гарантируется.

2 ® однонаправленный канал, «двунаправленный или однонаправленный канал,

3 Максимальное число байтов полезной информации в пакете (задается при открытии канала),

4 Предельная (теоретическая) вместимость кадра (размер пакета в байтах)

5 МСПД – максимальная скорость передачи данных для определенного типа данных и скоростного режима (при максимальном размере пакета, байт),

6 Определяется при конфигурации устройства во время его подключения к шине,

7 В связи с ограничением в 728 байт данных типа bulk на кадр приведенные цифры не отражают предельные возможности шины по передаче информации этого типа.

Специфи­кация USB была разработана в очень сжатые сроки усилиями семи компаний: Compaq, Digital Equipment, IBM, Intel, Microsoft, NEC и Northern Telecom. Примечательно, что рождение шины совпало с началом взрывного роста по­пулярности Internet, а это, по мнению автора, наложило свой отпечаток на ар­хитектуру USB.

Первая вер­сия стандарта открытой архитектуры шины USB (Universal Serial Bus Specifi­cation, v 1.0, 1996) была выпущена Intel в 1996 г. Несмот­ря на оптимистичные прогнозы (на­пример, фирма Dataquest предсказыва­ла, что к 1998 г. все компьютеры будут оснащаться шиной USB), новый стан­дарт сначала вызвал весьма сдержан­ную реакцию производителей перифе­рии для ПК. Это объяснялось как от­сутствием поддержки со стороны теку­щих и ближайших анонсированных версий ОС, в первую очередь Windows 95 и NT, и незначительным парком машин с установленной шиной, так и существенным (на порядок) повыше­ повыше­нием сложности предлагаемого про­дукта по сравнению с предшественниками - параллельным и последовательным интерфейсами ПК.

Это вынудило Intel предпринять самые решительные действия по поддержке новой шины, и уже во II кварта­ле 1996 г. были выпущены микросхемы 430HX/VX и 440FX с хост-контролле­ром шины USB. А летом того же года появились и первые ПК с пор­том USB. К числу первопроходцев в об­ласти периферийных устройств можно отнести фирмы Logitech (джойстик), KeyTronic (клавиатура), Philips (17-дюймовый монитор) и Advanced Gravis (игровой пульт).

Важным событием явилась реализа­ция в 1997 г. законченного интерфейса USB в относительно дешевых 8-разряд­ных микропроцессорах (в частности, в процессорах серии С500 типа 80С52 фирмы Siemens Semiconductors), что способствовало расширению сферы применения новой шины в области те­лекоммуникаций и бытовой техники.

При проектировании новой шины особое внимание обращалось на следующие показатели:

- простоту изменения конфигурации системы;

- стоимость законченного решения при пропускной способности до 12 Мбит/с;

- возможность передачи потоков аудио- и сжатых видеоданных в реаль­ном времени;

- обеспечение одновременной пе­редачи разных типов данных;

- адаптацию к существующей ин­фраструктуре ПК и возможность быстрого включения интерфейса шины в представленное на рынке прикладное ПО;

- стимулирование разработки но­вых классов устройств, расширяющих возможности ПК.

Топология шины. Сама шина — это многоуровневая иерар­хическая система. На физическом уровне топология шины представляет собой кор­невидную структуру (рис. 19) — много­уровневую звезду (в терминологии стан­дарта), при которой соединения ПУ могут формировать цепочки и звезды (рис. 20).

 
 

Рис. 19. Топология шины USB

 

В настоящее время существуют ос­новные, системообразующие, решения и компоненты: концентраторы, мультиплексированная шина, программные и аппаратные средства ее поддержки.

 

 
 

Рис. 20. Многоуровневая звезда

 

Центром каждой звезды является узел (концентратор) шины USB, кото­рый обеспечивает набор двухточечных соединений с другими узлами и/или функциями, лежащими вниз по потоку (т. е. на большем удалении от компью­тера). Узел состоит из двух функцио­нальных элементов — повторителя, служащего для управления коммутаци­ей потоков информации между вход­ным и выходными портами узла, и кон­троллера, предназначенного для управ­ления статусом (состоянием) узла и его портов (рис. 21).

Функции шины USB — это возмож­ности, которые формируют полезные свойства сети USB, например выход в линию ISDN, получение данных от джойстика или вывод сигнала на звуко­вые колонки. Понятие функции не эквивалентно определению устрой­ства, поскольку последнее может реали­зовать сразу несколько функций. В этом случае оно называется составным и рассматривается системой как узел с несколькими постоянно подключенны­ми однофункциональными устройства­ми. Подобное устройство должно со­держать встроенный концентратор ши­ны USB.

 
 

Рис. 21. Узел (концентратор) шины USB

 

Логическая топология сети (с удаленными для простоты концентраторами) представлена на рис. 22.

 
 

Рис. 22. Логическая топология сети

 

Все устройств и узлы шины USB могут иметь собственные источники пи­тания или запитываться от вышестояще­го узла USB. (Запитываемый от шины узел обеспечивает работу до четырех ВУ, а с собственным питанием до семи и более.) Вce эти устройства в cooтветствии со стандартом шины подразделяют­ся на классы, которые

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

разделять новые классы ВУ.

Архитектура программно-аппарат­ных средств шины приведена на рис. 23.

 

 
 

Рис. 23. Архитектура программно-аппаратных средств шины

 

Интерфейс между USB и компьютером называется хост-контроллером (host controller, НС), который реализуется комбинацией аппаратных средств и драйвера хост-контроллера (host con­troller driver, HCD). Хост-контроллер отвечает за выполнение следующих операций:

- обнаружение подключения/отключения устройств;

- потоки управляющей информации между хостом и ВУ;

- управление потоками данных по шине, в частности выполнение протоко­ла шины;

- сбор информации о статусе и ак­тивности ВУ- системы, а также форми­рование отчетов о состоянии системы USB;

- выделение ВУ определенных лимитов энергоресурсов системы (особенно актуально для мобильных систем).

Хост-контроллер USB активно взаи­модействует с различными службами операционной системы. Например, при наличии в ОС службы управления энер­горесурсами АРМ (advanced power man­agement) ПО USB перехватывает и вы­полняет запросы этой службы на приос­тановку функционирования и восста­новление рабочего состояния конкретных устройств.

 

Архитектура ПО USB. Назначение шины USB, физическая топология сети и ориентация на РС-совместимые ПК определили архитектуру ПО шины.

Прикладной интерфейс USB содержит драйверы стандартных классов устройств для данной ОС. Здесь использу­ются обращения к специфическим службам ОС, в частности РпР для Win­dows 95/98. Разработчики нестандартного оборудования должны включать свои драйверы в этот уровень ПО шины USB.

Еще один важный компонент верх­него уровня ПО шины — система кон­фигурирования шины и идентификации ВУ, поставляемая разработчиком ОС или независимыми производителями ПО. Эта система управляет всеми узлами сети, в том числе корневым концентра­тором, и является частью службы управления энергопотреблением компьютерной системы.

Ключевым элементом ПО USB яв­ляется драйвер USBD, поставляемый, как сказано в стандарте шины, разра­ботчиком ОС. На него ложится вся дис­петчеризация активности на шине. Драйвер транслирует запросы вво­да/вывода клиентского ПО в вызовы HCD. Например, USBD на основании данных запроса на подключение нового ВУ (число конечных точек в устройстве, допустимые типы и объемы передач данных и т.д.) дает отказ или удовле­творяет запрос, исходя из свободных ресурсов шины. В последнем случае USBD создает канал связи с конечной точкой 0 подключаемого устройства. Последовательность операций по под­соединению к шине нового устройства имеет вид:

- подключение нового устройства,

- запрос на подключение ВУ с нагрузочным (по умолчанию) адресом (00h),

- загрузка драйвера для нового устройства

- конфигурирование (установка параметров) ВУ,

- запуск драйвера устройства,

- ВУ запущено и готово к работе.

USBD опирается на драйвер хост-контроллера, скрывающий особенности аппаратных решений USB от вышележа­щего ПО. Драйвер хост-контроллера от­слеживает выполнение текущих запро­сов на доступ к шине и обеспечивает бездефицитное выделение имеющихся ресурсов шины. Драйвер хост-контрол­лера также поставляется разработчиком ОС и содержит в настоящее время два аппаратных интерфейса: UHCI (universal host controller interface) и OHCI (open host controller interface).

Протокол обмена по шине. Как и в любой сложной многоуровневой системе, использующей общий комму­никационный канал, передача потоков информации между хостом и ПУ по ши­не USB требует взаимодействия многих программных и аппаратных компонен­тов, каждый из которых имеет свою сфе­ру ответственности. Это придает особое значение протоколу обмена между эле­ментами системы. Организация ПК с шиной USB при выполнении запросов ввода/вывода показано на рис. 24.

В шине USB используется мульти­плексирование передаваемых данных с временным уплотнением (time division multiplexing, TDM). Основу логической модели передачи данных составляют па­кеты. Размер пакета переменный, он за­висит от многих факторов, рассматрива­емых ниже. Хост-контроллер объединя­ет пакеты в кадры, длительность кото­рых 0,001 с. Порядок следования паке­тов в кадре определяется драйвером хост-контроллера, однако для каждого получателя информации (логического канала передачи данных) гарантируется сохранение последовательности поступ­ления данных.

 
 

Рис. 24. Организация связи между элементами шины

 

Системное ПО шины и специаль­ные протоколы обмена скрывают от клиентского ПО (прикладных про­грамм) сложность централизованного управления маркерным доступом к совместно используемым ресурсам ши­ны USB, сводя его к системе двухточеч­ных связей. Этим USB отличается от таких шин, как PCI, EISA, PCMCIA, где клиентское ПО напрямую работает с адресатом.

Рассмотрим систему потоков ин­формации, одну из концеп­ций шины USB (рис. 25).

Рис. 25. Система потоков информации шины

 

На логическом уровне каждый по­ток данных между клиентским ПО и функцией ПУ оформляется в виде кана­ла (pipe).

В зависимости от типа переда­ваемой информации канал может быть одно- и двунаправленным. Канал начинается в системном ПО USB-хоста (вза­имодействие между прикладными про­­граммами и системным ПО USB-хоста строится на базе API), а заканчивается элементом интерфейса функции, кото­рый называется конечной точкой (end-point) и работает независимо от других аналогичных элементов интерфейса уст­ройства. Множество всех конечных то­чек функции образует интерфейс функ­ции (обращенный к шине USB).

Каждое логическое ПУ имеет, как минимум, один канал, постоянно подсо­единенный к конечной точке 0, исполь­зуемый системой для конфигурации и управления устройством. Этот канал ус­танавливается сразу после подсоедине­ния ВУ к шине и его включения. «Вла­деет» данным каналом системное ПО шины USB, которое, однако, может вы­ступать посредником для клиентского ПО, если оно использует этот канал.

С учетом канальной модели переда­чи информации полный «адрес» функ­ции образуется из уникального адреса устройства, присваиваемого хост-кон­троллером при подключении ВУ к ши­не, и фиксированного (изготовителем) номера конечной точки данной функ­ции. Множество каналов одной функ­ции образует пучок ее каналов.

На стороне хоста каждый канал име­ет располагаемый в ОЗУ буфер, размер которого назначается на основе заявлен­ных параметров устанавливаемой связи, в частности:

— частоты и допустимого времени задержки обращений к шине;

— необходимой пропускной способ­ности канала;

— заданного механизма обработки ошибок;

— максимального размера пакета;

— типа передаваемой информации;

— направления передачи данных.

Функции, использующие медлен­ный режим передачи (до 1,5 Мбит/с), могут иметь не более двух каналов, по­мимо конечной точки 0, а остальные — до 16 входных и выходных каналов. Каждый канал (кроме конечной точки 0) должен быть предварительно сконфигу­рирован с помощью системною ПО USB-хоста и настроен на конкретную модель передачи данных.

Стандартом шины предусмотрены два альтернативных механизма передачи данных:

— поток неструктурированных дан­ных (stream pipe) типа аудио- или видео­информации;

— передача структурированных со­общений (message pipe).

С учетом основных различий в ха­рактере передаваемой информации разработчики определили четыре типа опе­раций передачи данных по шине: сопtrol, interrupt, isochronous и bulk. Следует отметить, что в таблице дана те­оретическая оценка максимальной ско­рости передачи данных по шине, кото­рая по многим причинам на практике не всегда реализуется в полном объеме.

В любом случае пересылаемая между прикладной программой и ВУ полезная информация никак не интерпретируется программным обеспечением шины, ко­торая остается «прозрачной» для пользо­вателя и передается в режиме FIFO. Рас­пределение передаваемых данных по па­кетам происходит следующим образом: первые пакеты данных содержат ровно по Nmax байт, где Nmax - определенный зара­нее максимальный размер пакета, а по­следний пакет включает оставшиеся дан­ные, число байтов которых не превышает Nmax.

ВУ делят пропускную способность шины на основе управляемого хостом маркерного доступа. Передаваемые дан­ные каждого запроса ввода/вывода (IRP) распределяются по пакетам данных, ко­торые «транслируются» в серию транзак­ций — от одного (interrupt, isochronous, bulk) до трех (control) пакетов шины (рис. 26).

Правила распределения полезного объема кадра заключаются в следующем:

1. Под сумму передач isochronous и interrupt отводится не более 90% ресур­сов кадра.

Передача управляющих сообщений (control)    
       
Запрос ввода/вывода   ê   Пересылка установочного пакета   Пересылка пакета данных   Пересылка пакета со статусом транзакции   Дополнительные передачи управляющих сообщений  
       
Передача информации в режиме прерываний (interrupt)    
       
Запрос ввода/вывода ê   Пакет входных данных   Пакет входных данных
       
Передача изохронных данных (isochronous)    
       
Запрос ввода/вывода   ê   Транзакция (пересылка пакета данных)   Транзакция (пересылка пакета данных)   Транзакция (пересылка пакета данных)
       
Передача данных типа bulk    
       
Запрос ввода/вывода   ê     Транзакция (пересылка пакета данных)   Транзакция (пересылка пакета данных)   Транзакция (пересылка пакета данных)
                 

 

Рис. 26. Схема передачи данных

 

2. Изохронным запросам по уже существующим каналам гарантируется выделение определенных при образова­нии канала лимитов ресурсов шины. Как правило, канал получает квоту в один пакет на кадр, то есть каждые 0,001 с. Новые каналы устанавливаются только в том случае, если запрашиваемые для них размеры пакетов обеспечиваются свободными ресурсами шины.

3. Часть кадра резервируется под управляющие сообщения (control). Ес­ли объем передачи этого типа оказал­ся меньше, Новые свободные ресурсы отда­ются передачам типа bulk. Если объем управляющих сообщений превышает 10%, но в кадре имеется свободное место, лимит ресурсов под управляю­щие сообщения повышается. В случае отсутствия свободного места применя­ются специальные алгоритмы опреде­ления очередности их передачи, зави­сящие от реализации хост - контролле­ра и ОС. В любом случае хост - кон­троллер обрабатывает управляющие запросы по принципу best effort (наи­лучшим образом).

4. Передача массивов данных, допу­скающих задержку во времени (bulk), производится по остаточному принци­пу. В любом случае передачи этого типа не могут переслать более 728 байт по­лезной информации в одном кадре. Ал­горитмы определения очередности вы­полнения отсроченных запросов зави­сят от реализации хост - контроллера и ОС. Допускаются ситуации, когда пере­дача типа bulk может стать приоритет­ной по отношению к пересылке управ­ляющего сообщения.

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

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

 

Устойчивость шины к ошибкам, методы их обнаружения и обработки. Разработчики шины предполагают, что частота появления ошибок на шине мо­жет быть сравнима с частотой ошибок на объединительной плате, а сами ошибки носят случайный характер. По­этому для повышения ошибкоустойчи­вости шины были реализованы следую­щие решения:

— встроенные системы проверки це­лостности сигнала;

— раздельный контроль четности ин­формации в полях данных и управляющей информации передаваемых кадров (систе­ма обеспечивает обнаружение и исправле­ние одинарных и двойных ошибок);

— централизованная служба обнару­жения подсоединения/отключения ВУ и изменения конфигурации системы;

— методика самовосстановления об­мена по шине в случае утери или по­вреждения передаваемых пакетов;

— система управления потоками ин­формации, аппаратными буферами ши­ны и изохронностью передачи данных;

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

При необходимости обеспечения целостности передаваемой информации, например для устройств, не допускаю­щих потери данных, используются про­цедуры восстановления данных на аппа­ратном и/или программном уровне. В частности, на аппаратном уровне реали­зуется процедура повторной передачи пакета с ошибками (до трех попыток) и генерация сообщений об имевших место ошибках, которые передаются клиент­скому ПО для принятия соответствую­щих решений.

Следует отметить, что медленный режим передачи данных по шине (до 1,5 Мбит/с) позволяет работать при меньшем уровне защиты от электро­магнитных помех, однако обеспечивает функционирование лишь ограниченно­го числа медленных устройств, по­скольку связан с существенным сниже­нием эффективности использования ресурсов шины.

Физические и электрические параметры шины. Дифференциальный сигнал пере­дается по двум проводам витой пары — D+ и D-. Уровень сигнала на D+ определяет скорость передачи дан­ных: высокий уровень задает быст­рый режим передачи, а низкий уро­вень — медленный. Проводники Vbus и GND служат для подводки питания (+5 В) к устройствам, которые запитываются от шины. Импеданс кабеля составляет 90 Ом, его максимальная длина ограничена 5 м. Чувствитель­ность дифференциального приемника шинных сигналов должна быть не менее 200 мВ.

Пропускная способность шины. Там, где речь идет о совместно использу­емых ресурсах, рано или поздно встает вопрос о предельных возможностях. Для шины USB с переменным служебным графиком и динамическим изменением конфигурации системы это особенно актуально.

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

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

Расчетная оценка пропускной спо­собности шины на конфигурациях, близких к реальным, приведена в рабо­те: John Gamey. An analysis of throughput characteristics of USB//Media and Inter­connect Technology/Intel Architecture Labs. Для анализа использовались сле­дующие модели устройств (потребите­лей шины):

1. Передача выходного потока изо­хронных данных с качеством CD, на­пример на звуковые колонки (44,1 Кгц, 16-бит квантование сигнала).

2. Видеокамера, генерирующая изо­хронный поток данных в формате MPEG2 объемом 6 Мбит/с.

3. Низкоскоростное устройство, ра­ботающее в режиме прерываний (мышь, клавиатура или джойстик).

4. Изохронный поток линии 2B+D ISDN (каждый канал В — 64 Кбит/с двунаправленной передачи, канал D — 16 Кбит/с двунаправлен­ной передачи).

Из данных устройств были сфор­мированы три конфигурации перифе­рийных устройств шины USB: мини­мальная, типичная и максимальная.

Минимальная конфигурация:

— клавиатура с встроенным концен­тратором LJSB.

Типичная конфигурация:

— клавиатура с встроенным концен­тратором LJSB;

— выходной поток изохронных дан­ных с качеством CD;

— дополнительный концентратор шины USB, например на мониторе;

— изохронный поток линии ISDN. Максимальная конфигурация:

— клавиатура с встроенным концен­тратором USB;

— выходной поток изохронных дан­ных с качеством CD;

— дополнительный концентратор шины USB, например на мониторе;

— изохронный поток линии ISDN;

— изохронный поток видеоданных в формате MPEG2.

По результатам моделирования ти­пичная загрузка шины составляет от 20 до 40% ее пропускной способности и повышается до 80 — 100% при рабо­те с мультимедийными потоками дан­ных (в рассматриваемом примере — поток сжатого видеосигнала). Таким образом, шина USB имеет примерно двух- или трехкратный запас по про­изводительности для офисных прило­жений и менее чем 50%-ный запас для интенсивной работы с мультимедий­ными приложениями.

 




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


Дата добавления: 2015-06-04; Просмотров: 2145; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.138 сек.