КАТЕГОРИИ: Архитектура-(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-совместимых компьютеров. По шине передаются как данные, так и управляющие сигналы. Работа шины осуществляется в соответствии с определенными правилами, регламентированными стандартами. Важнейшие характеристики шин: частоты, разрядности, скорости передачи данных. При этом, как правило, частота измеряется в МГц, разрядность — в битах, скорость — в мегабайтах в секунду или в мегабитах и секунду.
Architecture (ISA) — системная шина (ISA-bus) была специально разработана в 1984 г. под возможности процессоров i80286 для IBM PC/AT286. Для ISA-шины часто используется другое название — АТ-шина. Эта шина была предназначена заменить шину XT ПК IBM PC/XT и аналогичных IBM-совместимых ПК на основе процессоров i8086, i8088 и их аналогов. Ввиду неперспективности морально устаревшей шины XT ее особенности и возможности рассматривать здесь нецелесообразно. Шина ISA позволяет передавать 16-разрядные данные и команды с частотой 8 МГц, что соответствует скорости 16 Мбайт/с. Значения этих параметров были сравнительно высокими и достаточными не только для того уровня развития компьютерной техники, они и в настоящее время часто удовлетворяют требованиям ПК для решения задач, не требующих высокой производительности и не критичных к времени их выполнения. Данная шина стала стандартом для IBM-совместимых ПК на длительный срок.
Extended Industry Standard Architecture (EISA) фактически является расширением шины ISA. Частота шины EISA — 8 МГц. Однако эта шина характеризуется большей разрядностью — 32 бита и более высокой скоростью передачи данных — до 33 Мбайт/с. Шина EISA совместима с ISA-шиной: кроме собственно 32-битных плат EISA-контроллеров на EISA-шине могут быть установлены стандартные 16-битные платы ISA. В настоящее время шина EISA в основном используется в некоторых вариантах файл-серверов компьютерных сетей.
Architecture (MCA) — системная шина с высокой скоростью передачи данных — до 160 Мбайт/с и разрядностью шины данных от 16 до 64 бит. Разработка и исключительное право на ее использование принадлежит фирме IBM. Вероятно поэтому, для ПК, использующих MCA, рынок предлагает сравнительно мало периферийных устройств и по относительно высоким ценам. Вследствие этого популярность данной шины сравнительно низка и производство компьютеров с шиной MCA практически прекращено. Развитие вычислительной техники и расширение области применения ПК сопровождаются увеличением потоков информации и скорости передачи данных между процессором, внутренней и внешней памятью, устройствами ввода/вывода и т. д. Однако данное увеличение сдерживается ограниченной пропускной способностью указанных системных шин. Все это требует новых архитектурных решений, обеспечивающих повышение производительности ПК.
быстрее, чем шины 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 предусматривает подключение к данной шине не более трех устройств, обычно это одно или два устройства. Как правило, это контроллеры монитора и жестких дисков.
Interconnect) является альтернативным вариантом локальной шины. Эта шина образует 32-битный канал между процессором и контроллерами периферийных устройств (рис. 17). Для PCI частота ограничена 33 МГц, что позволяет передавать данные по шине, как и в случае использования шины VESA, со скоростью до 132 Мбайт/с. Таким образом, шина PCI имеет практически такие же скоростные свойства, что и шина VLB при частоте процессора равной 33 МГц. Однако число контроллеров не ограничивается тремя, как для VLB, а может достигать десяти. Стандарт шины PCI поддерживает спецификации VESA для BIOS и видеоадаптеров. Кроме того, локальная шина PCI оптимально соответствует 64-битной технологии современных процессоров.
Рис. 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-контактный разъем.
работан фирмой 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 приблизительно одинаково.
была разработана в 1996 г. Эта относительно быстрая и дешевая двунаправленная шина имеет скорость передачи данных: - до 12 Мбит/с в быстром режиме, - до 1,5 Мбит/с в медленном режиме. Максимальная длина сегмента шины: до 5 м. USB предназначена для обеспечения обмена различными данными (табл. 4) между центральным процессором и периферийными устройствами в условиях динамического (горячего) изменения конфигурации системы. Как заявляют разработчики, шина должна стать стандартным расширением архитектуры ПК, призванным расширить возможности персоналок, в первую очередь в области компьютерной телефонии и приложений для сектора SOHO, а также свести к минимуму излишнее разнообразие интерфейсов и шин для подключения периферии. Таблица 4
Примечание: В числителе указаны показатели для быстрого режима (до 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 Specification, 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 controller driver, HCD). Хост-контроллер отвечает за выполнение следующих операций: - обнаружение подключения/отключения устройств; - потоки управляющей информации между хостом и ВУ; - управление потоками данных по шине, в частности выполнение протокола шины; - сбор информации о статусе и активности ВУ- системы, а также формирование отчетов о состоянии системы USB; - выделение ВУ определенных лимитов энергоресурсов системы (особенно актуально для мобильных систем). Хост-контроллер USB активно взаимодействует с различными службами операционной системы. Например, при наличии в ОС службы управления энергоресурсами АРМ (advanced power management) ПО USB перехватывает и выполняет запросы этой службы на приостановку функционирования и восстановление рабочего состояния конкретных устройств.
Архитектура ПО USB. Назначение шины USB, физическая топология сети и ориентация на РС-совместимые ПК определили архитектуру ПО шины. Прикладной интерфейс USB содержит драйверы стандартных классов устройств для данной ОС. Здесь используются обращения к специфическим службам ОС, в частности РпР для Windows 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% ресурсов кадра.
Рис. 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 Interconnect 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; Просмотров: 2469; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |