Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Последовательные высокопроизводительные интерфейсы



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

Пропускная способность шины у версии USB 1.0 составляет 12 Мбит/с, у версии USB 2.0 – 480 Мбит/с. Стандарт USB 3.0 проектируется на скорость обмена 4.8 Гбит/с.

USB – шина, ориентированная на периферийные устройства, подключаемые к персональному компьютеру. Управление передачами осуществляется централизованно. PC является необходимым управляющим узлом, находящимся в ”корне” структуры шины.

Разработка стандарта была инициирована такими фирмами как - Intel, DEC, IBM, NEC, Northen Telecom и Compaq и первая версия стандарта появилась 15 января 1996 года.

Основная цель стандарта – создание возможности пользователям работать в режиме Plug & Play с периферийными устройствами. Другими словами, должна быть реализована:

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

- возможность получения питания маломощных устройств от самой шины;

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

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

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

Конструкция разъемов для USB рассчитана на многократное сочленение и расчленение. Питание непосредственно от USB возможно для устройств с малым энергопотреблением, таких как клавиатуры, мыши, джойстики и даже сканеры и т.п.

Архитектура USB определяется следующими критериями:

- легко реализуемое расширение набора периферийных устройств РС;

- дешевое решение, поддерживающее высокую скоростьпередачи;

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

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

- доступность в РС всех конфигураций и размеров;

- обеспечение стандартного интерфейса, способного быстро завоевать рынок;

- создание новых классов устройств.

С точки зрения пользователя, привлекательны следующие черты USB:

- простота кабельнойсистемы и подключений;

- скрытие подробностей электрического подключенияотпользователя;

- возможность самоидентификации периферийных устройств;

- автоматическая связь устройств с драйверами и их конфигурирование;

- возможность динамического подключения и реконфигурирования ПУ.

С середины 1996 года выпускаются РС со встроенным контроллером USВ, реализуемым чипсетом на системной плате. На рынке появились модемы, клавиатуры, сканеры, принтеры, звуковоспроизводящие и другие устройства ввода/вывода с поддержкой USВ, а также мониторы и другие устройства с USВ -адаптерами – они выполняют роль разветвителей для подключения других устройств.

Организацию обмена информацией по USB шине рассмотрим на примере стандарта 1.0. Первичный канал передачи данных USB стандарта 1.0 поддерживает скорость до 12 Мбит/с, но может работать на разных скоростях. Например, в телекоммуникационных приложениях, USB может поддерживать 128 Кбит/с для ISDN или 1,5 Мбит/с для стыка T-1, не оказывая отрицательного влияния на производительность других периферийных устройств.

Обе скорости USB реализованы на одной шине благодаря динамическому переключению скоростей. Скорости передачи в 12Мбит/с достаточно для большинства периферийных устройств. Эта скорость предполагает необходимость экранирования кабеля, поэтому с учетом затрат на экранирование, USB также поддерживает режим низкоскоростной передачи, который предназначен для поддержки ограниченного числа медленных устройств (таких как клавиатура, мышь и т.д.). Включение большого числа таких устройств значительно снижает пропускную способность шины. Поддерживая разнообразные периферийные устройства, шина USB должна обеспечивать связь в синхронном и в асинхронном режимах передачи данных.В тех случаях, когда нет необходимости в постоянном потоке данных или он нежелателен из-за того, что другие устройства имеют более высокий приоритет, USB поддерживает асинхронный режим передачи данных. В такой ситуации периферийное устройство или хост-контроллер могут передавать данные, например клавиатурные коды или задания на печать.

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

Конечные точки описываются следующими параметрами:

- требуемой частотой доступа к шине и допустимыми задержками обслуживания;

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

- типом обмена;

- требуемой полосой пропускания канала;

- направлением обмена;

- номером точки;

- требованиями к обработке ошибок.

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

Кроме нулевой точки, устройства могут иметь дополнительные точки, реализующие обмен данными. Низкоскоростные устройства (LS) могут иметь до двух дополнительных точек. Полноскоростные (FS) – до 16 точек ввода и до 16 точек вывода.

USB поддерживает как однонаправленные, так и двунаправленные режимы связи. Передача данных производится между хостом и конечной точкой устройства. Устройство может иметь несколько конечных точек, связь с каждой из них устанавливается независимо. Архитектура USB допускает четыре базовыхтипа передачи данных.

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

передач, 64 байт для FS – передач и 8 байт для LS – передач. Управляющая посылка передаётся в два или три этапа. Первый этап заключается в передаче команды, для чего используется 8-байтный пакет данных. На втором этапе передаются данные. Завершающий этап позволяет устройству сообщить хосту об успешном выполнении команды. При подключении устройства к шине, управляющие посылки используются для получения хостом информации об устройстве – специальных структур данных, описывающих устройство (количество и типы конечных точек, количество интерфейсов и т.д.

2. Передача массивов (сравнительно больших пакетов без жестких требований ко времени доставки) осуществляется сплошными передачами. Передачи такого типа занимают всю свободную полосу пропускания шины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт для FS – передач или 512 байт для HS – передач. Передачи этого типа гарантируют доставку информации, для чего поддерживается механизм повторов передачи при возникновении ошибок, а также управление потоком передачи с помощью пакетов подтверждения. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Не опускаются для LS – передач.

3. Прерывания короткие передачи типа вводимых символов или координат (поле данных до 1 Кбайт для HS – передач, до 64 байт для FS – передач, до 8 байт для LS – передач). Прерывания имеют случайный характер и должны обслуживаться не медленнее, чем того требует устройство. Предел времени обслуживания устанавливается в диапазоне 1-255 мс для полной скорости передачи и 10-255 мс – для низкой.

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

На рис. 4.18. показана возможность взаимодействия высокоскоростных и низкоскоростных каналов обмена.

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

Рис 4.18. Взаимодействие каналов в структуре USB

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

USВ обеспечивает одновременный обмен данными между хост-компьютером и множеством разнообразных периферийных устройств (ПУ).

В системе имеется один хост-контроллер, расположенный в вершине пирамиды устройств и хабов. Хост-контроллер интегрируется с корневым хабом, обеспечивающим одну или несколько точек подключения (Рис. 4.19).

Логически устройство, подключенное и сконфигурированное к любому хабу(hub) USB, может рассматриваться как непосредственно подключенное к хост-контроллеру.Поскольку USB определяет связи точка-точка и обеспечивает поддержку до 127 устройств через единый хост-компьютер, топология многоуровневой звезды позволяет подключать периферийные устройства к хосту через другие периферийные устройства с интегрированными концентраторами, работающие как повторители. Распределение пропускной способности шины между ПУ планируется хостом и реализуется им с помощью посылки маркеров.

Рис.4.19. Топология USB

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

Система USB разделяется на три уровня с определенными правилами взаимодействия. Устройство USB содержит интерфейсную часть, часть устройства и функциональную часть. Хост тоже делится на три части – интерфейсную, системную и ПО устройства. Каждая часть отвечает только за определенный круг задач, логическое и реальное взаимодействие между ними иллюстрирует рис.4.20.

Как показано на рисунке даже самое простое взаимодействие устройства с хостом требует определённых межуровневых и межкомпонентных взаимодействий. Уровень интерфейсов шины USB предоставляет физическое, сигнальное и пакетное взаимодействие между хостом и устройством.

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

Хост– компьютер общается с устройствамичерез контроллер и выполняет следующие действия:

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

- манипулирование потоком управления между устройствами и хостом;

- управление потоками данных;

- сбор статистики;

- обеспечение энергосбережения подключенными ПУ.

Рис.4.20. Взаимодействие компонентов USB

Системное ПО контроллера управляет взаимодействиеммежду устройствами и их ПО. По возможности ПО USВ использует существующее системное ПО хост – компьютера для управления энергопотреблением.

Хост – контроллер также отвечает за разделение времени генерацией маркера с интервалом в 1 мсек, которые называются ”кадрами”. Маркер является началом передачи кадра. После формирования маркера хост контроллер освобождается на время длительности кадра и может осуществлять другие передачи. Когда хост контроллер находится в нормальном состоянии, то маркеры повторно периодически генерируются через 1 мсек, независимо от того, выполняет шина какие-нибудь операции или нет. Если он находится в состояние, в котором питание от шины не предоставляется, то он перестаёт генерировать маркеры и переходит в новое состояние с номинальным напряжением. Хабы запрещают любые передачи в направлении хоста после принятия конца кадра, обеспечивая тем самым паузу на шине для свободной передачи маркеров. В обязанности Хост контроллера также входит контролировать длину кадров.

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

Хост занимает особое место как координационный объект USB. К тому же на него налагаются определённые обязанности в отношении шины USB и подключённых к ней устройств, в том числе: управление доступом к USB (устройство получает доступ только с разрешения хоста), контроль топологии.

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

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

Управление энергопотреблением является развитой функцией USB. Для устройств, питающихся от шины, мощность ограничена. Любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. Рабочий ток (не более 500 мА) заявляется в конфигурации, и если хаб не сможет обеспечить устройству заявленный ток, оно не конфигурируется и, следовательно, не может быть использовано.

Устройство USB должно поддерживать приостановку, в котором его потребляемый ток не превышает 500 мкА. Устройство должно автоматически приос­танавливаться при прекращении активности шины.

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

Независимо от того, как устройство подключено к USB, хост работает с ним так, как если бы оно было подключено к корневому порту. Хаб состоит из двух частей – контроллера и повторителя. Повторитель представляет собой управляемый ключ и имеет средства аппаратной поддержки сброса и приостановки/возобновления передачи сигналов. Контроллер содержит регистры интерфейса для взаимодействия с хостом.

На сегодняшний день USB – интерфейс можно назвать самым успешным интерфейсом для периферийного оборудования ПК. Как следствие этого успеха был разработан стандарт для беспроводного USB – интерфейса. В 2007 году прошли испытания, и начался выпуск контроллеров, обеспечивающих скорость 480 Мбит/ с. Расстояние от источника информации до приемника на сегодняшний день составляет 3 метра при указанной скорости. Еще большие возможности получат пользователи с выходом стандарта 3.0, гарантирующего скорость 4.8 Гбит/с. Сечение кабеля для USB 3.0 приведено на рис..

Рис. 4.21. Сечение кабели для интерфейса USB 3.0

Интерфейс IEEE 1394 (Fire Wire). Стандарт IEEE 1394 появился в 1995 году. Интерфейс должен был обеспечивать высокую производительность при передаче аудио и видео потоков информации. Шина проектировалась для объединения потенциально равноправных устройств, ни одно из которых изначально не является выделенным устройством с большими ресурсами памяти и производительности. Первоначально интерфейс разрабатывался, на скорость передачи 100 Мбит/с. Проведенная в дальнейшем модификация позволила увеличить скорость передачи до 200 и 400 Мбит/с., а IEEE 1394в – 800, 1600 и 3200 Мбит/с.

К достоинствам интерфейса следует отнести:

- поддержка режима Plug and Play;

- питание внешних устройств через кабель;

- высокая скорость обмена;

- построение сетей различной конфигурации;

- простота конфигурации и большие функциональные возможности;

- поддержка асинхронной и синхронной передачи данных.

Интерфейс IEEE 1394 состоит из четырёх уровней (рис.4.22.)

Рис.4.22. Уровни протоколов интерфейса IEEE 1394

– уровень программного обеспечения, уровень взаимодействия или транспортный уровень, уровень связи или канальный уровень и физический уровень.

Уровень ПО обеспечивает взаимодействие всех устройств интерфейса и предназначен для: получения необходимой информации об устройствах; предоставления сервисов другим устройствам и выполнения операций по настройке шины; обмена информацией.

Транспортный уровень обеспечивает гарантированную доставку пакетов за счет передачи подтверждения о приёме и повторной передачи пакета.

Уровень связи поддерживает обмен пакетами и подтверждениями с уровнем взаимодействия.

Физический уровень обеспечивает арбитраж доступа узлов к среде передачи и преобразование уровней сигналов и данных из последовательного кода в параллельный и наоборот.

Концентраторы позволяют объединять несколько ветвей в один узел. Повторители служат для усиления сигнала при передаче на расстояние более 4,5 м. Внутри одного дерева допускается не более 16 промежуточных концентраторов. Петли не допускаются. Мосты объединяют несколько деревьев в одну сеть (рис. 4.23).

Рис.4.23. Топология IEEE 1394 и мост для соединения двух подсистем

Скорость передачи составляет 98,304, 196,608, и 393,216 Мбит/с, которая округляется до 100, 200 и 400 Мбит/с соответственно. Стандартом предусмотрена совместная работа устройств с разной скоростью. При этом общая скорость поддерживается на уровне каждого устройства. Таким образом, на периферии могут подключаться устройства со скоростью передачи 100 Мбит/с, а ближе к центру (корню) – 200 и 400 Мбит/с без потери производительности.

Временная диаграмма работы интерфейса (рис.4.24.) разбита на интервалы по 125 микросекунд, называемые кадрами, которые обозначаются специальными времязадающими сигналами. Внутри кадров располагаются данные, размещаемые согласно правилам арбитража. Для доступа к интерфейсу каждому устройству во время инициализации выделяется один или несколько каналов.


Рис.4.24. Временная диаграмма интерфейса IEEE 1394

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

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

Инициализация сети происходит в несколько этапов:

1. С процедуры сброса шины начинается процесс инициализации сети. Конфигурация, сформировавшаяся при этом, остаётся действительной и неизменной до следующего сброса шины.

2. Идентификация дерева. При передаче сигналов по шине IEEE 1394 все устройства используют механизм арбитража, реализованный на аппаратном уровне. Это позволяет обеспечить разделение ресурсов физического канала во времени. После включения устройство определяет, сколько к нему подключено портов: одно – лист или несколько – ветвь. Затем определяется родительские и дочерние устройства. На основе этих данных строится дерево и определяется корневое устройство. Пример логического дерева приведен на рис.4.24.

Рис.4.24. Пример логического дерева

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

По окончании инициализации наступает режим работы сети. Устройство, инициирующее передачу, посылает запрос своему родительскому устройству (Рис.4.25). Родительское устройство, получив запрос, передаёт запрос дальше, своему родительскому устройству, где всё повторяется. В итоге запрос доходит до корневого устройства, которое, в свою очередь, разрешает передачу тому устройству, чей запрос пришёл первым. Всем остальным передача запрещается. Таким образом, если два устройства одновременно пошлют запрос на передачу данных, то ответ будет зависеть от того, чей запрос первым достигнет корневого устройства.

Передача данных начинается с запроса готовности к приему устройства, для которого предназначены данные, и, получив подтверждение готовности, начинает передачу. Данные идут пакетами. Пакет данных содержит 2048 бит, из которых 160 бит приходится на заголовок. В заголовок входит информация об отправителе, получателе и контрольная информация. После пакета следует пауза не менее 0.75 мс, после которой получатель должен отправить подтверждение о получении пакета без ошибок. Затем следует межпакетная пауза более 1 мс.

При синхронной передаче данные передаются порциями, длина каждой из которых 125 мс. На одинарной (98.304 Mбит/с) скорости за один такой цикл передаётся до 1000 байт. При синхронной передаче подтверждение о приёме не посылается.

Рис.4.25. Процедура арбитража для IEEE 1394

В версии стандарта 1394а изменения коснулись как физической составляющей, так и логической:

1. При подключении/отключении нового устройства введено время ожидания, равное 1/3 секунды, необходимое для установления устойчивого соединения или потери контакта на подключение/отключение нового устройства, что гарантирует только один сброс шины при каждом подключении/отключении.

2. В интерфейсе IEEE 1394 устройство, которое передаёт данные, не может обнаружить сигнал на сброс пока не закончит передавать текущий пакет. Поэтому сброс шины должен длиться дольше, чем максимальное время передачи одного пакета. Однако, если сброс шины происходит сразу после того, как одно из устройств получает доступ, то в этом нет никакой необходимости, и сброс шины можно произвести гораздо быстрее. Это позволило уменьшить время, затрачиваемое на сброс шины в худшем случае с 300 до 100 мс, и в обычном случае с 165 до 5 мс.

3. В первой версии стандарта любое устройство должно было ответить не более, чем через 144 нс, в противном случае считалось, что оно недоступно. Это и определило максимальную длину кабеля в 4,5 м. Введение простой команды измерения времени от отсылки пакета до ответа позволило устройствам точно определить время ответа, что позволило использовать кабели большей длины.

4. Для стандарта IEEE 1394 сигнал, определяющий скорость, требовался только для первого пакета, но в серии могли присутствовать пакеты, передаваемые с другой скоростью. В IEEE 139 4а предусмотрен механизм решения этой проблемы – сигнал скорости добавляется в каждый пакет, передаваемый на скорости, отличной от предыдущего.

5. Возможность программного отключения порта.

6. Исключение паузы между пакетами.

7. Возможность прикрепления пакета на ”лету” к уже передающемуся.

8. Возможность одному устройству запрашивать (и получать) право на передачу несколько раз (до 63) в течении одного интервала.

В стандарте IEEE 1394b скорость передачи увеличена до 800, 1600 и 3200 Мбит/с. Максимальная длина кабеля может достигать 100 м. B качестве передающей среды используется витая пара или оптический кабель. Интерфейс IEEE 1394b обеспечивает полнодуплексный режим обмена.

Шина PCI Express или PCI-E, в отличие от параллельной шины PCI, является пакетной сетью с топологией типа звезда. Устройства PCI-E взаимодействуют между собой через коммутаторы, по принципу типа точка-точка, причём информация передаётся последовательно и реализован полнодуплексный режим (см. рис. 4.26). Кроме этого, шина PCI-E поддерживает:

режим Plug-and-Play, гарантированную полосу пропускания, управление энергопотреблением, контроль целостности передаваемых данных.

При разработке интерфейса PCI Express за основу взята идеология разработок в области сетевого оборудования (в частности, Gigabit Ethernet) на физическом уровне, и на уровне протоколов передачи данных.

Главное отличие шины PCI Express, что она является последовательной и в ней четко разнесены уровни представления данных и уровень их передачи. Информация, которую необходимо передать, упаковывается в пакеты, куда заносятся данные о получателе и коды обнаружения/исправления ошибок, сформировавшийся сплошной поток (данные, приложения и вспомогательная информация) передается через физическую среду. Приемник, в свою очередь, распаковывает принятые пакеты, исправляет ошибки или запрашивает повторную передачу, определяет получателя и направляет пакет далее.

PCI Express использует традиционную многоуровневую модель, аналогичную сетевой ISO/SOI.

На самом верхнем уровне располагаются прикладные приложения, использующие данное PCI -устройство. Для передачи или приема данных через шину PCI,приложения обращаются к операционной системе. Она обслуживает инфраструктуру всех PCI -устройств, обрабатывает события подключение устройств, присвоение им уникального адреса, нахождение подходящего драйвера для работы с конкретным устройством и т. д. На этом уровне по-прежнему сохраняется полная совместимость с уже существующей моделью PCI Plug`n`Play (PnP) — все операционные системы работающие с параллельной PCI —шиной, работают и с PCI Express. Отличия все же есть, и для полноценной реализации всех возможностей шины PCI Express (горячее подключение устройств), ОС доработаны.

Уровень драйверов также обеспечивает полную совместимость с параллельной PCI — шиной. Ниже уровня драйверов находятся транспортный уровень (Transaction Layer) и канальный уровень (Link Layer). Выполняемые функции те же, что и у ”сетевых” аналогов (TCP и IP).

Tранспортный уровень (Transaction Layer) получает запросы на чтение и запись от программного уровня и обеспечивает первоначальную ”упаковку” данных, передачу их конкретному получателю и гарантии корректной доставки сообщения. Если какой-то пакет не дойдет до получателя либо получатель обнаружит в принятом пакете ошибку, то протокол транспортного уровня будет повторять его передачу до тех пор, пока пакет не будет получен — тем самым гарантируется, что передаваемый через PCI Express поток данных достигнет получателя в целостности и сохранности. Каждый пакет снабжен уникальным идентификатором. На этом уровне поддерживается 32-битная и расширенная 64-битная адресация памяти, а также четыре адресных пространства — новое ”пространство сообщений” (Message Space) и три уже известных по шине PCI: память, пространство ввода/вывода и конфигурационное пространство. Пространство сообщений предназначено для упрощения формата передачи данных — замены сигналов боковой полосы (side-band) в спецификации PCI 2.2 и исключения ”специальных циклов” старого формата (прерывания, запросы управления энергосбережением, сброс).

Канальный уровень (Link Layer) обеспечивает формирование уникального номера пакета (его маршрутизация осуществляется по заголовку, относящемуся к транспортному уровню), по которому контроллеры шины принимают решение о направлении пакета в конкретную физическую линию передачи данных, здесь же реализован механизм обнаружения и исправления ошибок в принятом пакете (CRC), номер пакета, позволяющий отличить один пакет от другого, и вспомогательная информация (например, что пакет не был искажен в ходе его передачи). В отличие от TCP/IP, маршрутизация пакетов (принятие решений о том, на которую шину перенаправить пакет, какой из нескольких претендующих пакетов передать первым) осуществляется на транспортном уровне. Особенностью является то, что пакет передается только в том случае, когда поступил сигнал готовности от буфера приема. Как следствие, уменьшается число повторов пакета и шина используется более эффективно.

Самым нижним является физический уровень. Схема соединения двух компонентов представлена на рис.4.26.

Рис.4.26. Схема физического соединения компонентов PCI-Express

Минимум соединений - это две независимые дифференциальные пары проводников с импедансом 50 Ом (первая пара работает на прием данных, вторая - на передачу), данные по которым передаются с использованием избыточного кодирования по схеме ”8/10” с исправлением ошибок. Каждый байт (8 бит) данных, по определенной схеме кодируется 10 битами передаваемых данных. Избыточное кодирование позволяет исправлять многие простые ошибки, неизбежные на столь высоких частотах, без привлечения протоколов вышележащих уровней и без лишних повторных передач пакетов. Кроме того, это нужно для того, чтобы уменьшить долю ”постоянных” составляющих в сигнале не более 4 нулей или единиц подряд, (см. раздел ”интерфейс DVI ”) и рис..

Рис. Применение кодирования 8b/10b

Обеспечение баланса дифференциальной пары по постоянному току позволяет приемнику уверенно синхронизироваться по фронтам поступающего сигнала, поскольку никакого дополнительного (внешнего) синхронизирующего сигнала от тактового генератора в PCI Express не используется. В качестве рабочих напряжений выбраны уровни от 0,2 до 0,4 вольт для логического нуля и от 0,4 до 0,8 вольт для логической единицы. Напряжения выбраны из расчета удобства проектирования устройств для шины PCI Express на современных чипах, а также с целью снижения электромагнитных наводок и потребляемой мощности.

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

Рис.4.27. Структура пакета для PCI Express

Frame — начальный и конечный фрейм (кадр) пакета - его добавляет физический уровень для определения начала и окончания передачи пакета данных;
Packet # — номер пакета, добавляется на сетевом (канальном) уровне чтобы пакеты можно было отличить друг от друга;
Header — заголовок пакета, описывает тип пакета, получателя, приоритет и другие свойства, это информация транспортного уровня;
Data — собственно данные пакета;
CRC — контрольная сумма пакета.

Структура заголовка пакета приведена на рис.4.28.

Рис.4.28. Структура заголовка пакета PCI Express

На рисунке каждая строка занимает 4 байта. Заголовок включает несколько полей.

- Fmt — указание типа заголовка (12 или 16 байт) и признак наличия в пакете данных;
- Type — тип пакета (один из четырех основных типов - Memory, I/O, Config, Message и бит, определяющий запрос это или ответ на запрос);
- RequestorID — получатель пакета (шина, устройство, функция устройства);
- Reserved — зарезервированное поле;
- Traffic Class — используется для маршрутизации;
- Address/Routing — адрес в памяти, куда предназначается пакет (32- или 64-разрядный) или иная информация о маршрутизации пакета;
- Length — объем передаваемых в пакете данных;
- Attr — вспомогательные атрибуты пакета (Snoop, Ordering);
- Tag — идентификатор транзакции (Transaction Tag);
- Reserved — зарезервированное поле;
- Byte Enables — вспомогательная информация.

Шина PCI-E предназначена для использования только в качестве локальной шины. При тактовая частоте шины 2,5 ГГц без учета кодирования скорость передачи составит 2,5 Гбит/с в каждом направлении для шины PCI-E 1.0 и 5 Гбит/с для PCI-E 2.0. Схема кодировани ”8/10” уменьшает призводительность на 20%. Стандартом предусмотрено использование 1, 2, 4, 8, 16 и 32 линий — передаваемые данные поровну распределяются по ним по схеме ”первый байт на первую линию, второй — на вторую, …, n-й байт на n-ю линию, n+1-й снова на первую, n+2 снова на вторую” и так далее.. Все устройства должны поддерживать соединение 1x. В этом случае устройство, помещённое в любой слот той же или большей пропускной способности, будет работать.

“Шинным центром“ является комплексный корневой хаб (или мост) который обеспечивает взаимодействие трех шин - процессорной, шины памяти и PCI-E. (рис.4.29).Для взаимодействия с остальными узлами ПК предусмотрена система мостов и коммутаторов. Любые межкомпонентные соединения строятся по принципу "точка-точка". Коммутаторы могут выполнять и более интеллектуальные функции, нежели простой обмен данными.

Рис.4.29. Пример архитектуры современного PC

Serial-ATA (SATA) – это высокопроизводительный интерфейс для подключения жестких дисков и других устройств хранения данных, к компьютерам нового поколения. Он сменил интерфейс Parallel ATA (PATA), который существовал долгие годы (с 1989 г) без значительных изменений и являлся интерфейсом большинства выпускаемых жестких дисков. Несмотря на широкое распространение, интерфейсы PATA имеют ряд существенных недостатков:

- Необходимость в передаче 5-вольтового сигнала (в АТА – 100 уровень сигнала – 3,3 V) по большому числу близкорасположенных проводников.

- Ограничение длины кабеля (около 0,5 м) и его большая ширина.

- Имеет место проблема целостности данных из-за перекрестных помех.

Основные преимущества SATA:

- уменьшение перепадов напряжения сигнала (уровень нуля – уровень единицы) – до 0,5 V. Помимо увеличения быстродействия, уменьшение напряжения улучшает энергосбережение, а это особенно актуально в мобильных устройствах.

- маленькие в сечении и более длинные кабели – до 1 м. Увеличенная длина кабеля делает возможным применение внешних SATA -дисков (интерфейс E-SATA).

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

- полная совместимость со старыми ATA -устройствами и контроллерами при использовании соответствующих адаптеров.

Варианты использования интерфейса SATA и дисковых накопителей приведены на рис.4.30. Сравнение взаимодействие ОС с контроллерами для реализации протоколов обмена для интерфейсов SATA и PATA приведены на рис. 4.31.

Положительным является применение Serial ATA в секторе RAID -массивов.

Два диска с интерфейсом ATA/100(133), объединенных в RAID -массив и работающих в режиме Stripe, в идеальных условиях способны выдать поток в 132 Мб/с, поскольку их контролеры работают по шине PCI. Serial ATA верисии 1.0 уже имеет пропускную способность 150 Мб/c.

Поэтому применяют интегрированные в южный мост RAID -контролеры для. Serial ATA.

.

Рис.4.30. Варианты использования интерфейса S-ATA и дисковых накопителей

Рис.4.31. Взаимодействие ОС с контроллерами для реализации протоколов обмена:

А) – Р-АТА; В0) – S - ATA

Интерфейс SATA обеспечивает передачу информации со скоростью в 150 Мбайт/с (версия 1.0) и 300 Мбайт/с (версия 2.0). Для передачи данных используется код NRZ (потенциальный код без возврата к нулю), который очень чувствителен к длинным последовательностям нулей или единиц (сложности с самосинхронизацией при приеме). Поэтому интерфейс SATA, как и предыдущий интерфейс (PCI-E), использует достижения 100 Мбит Ethernet, то есть в нём также используется метод кодирования 8В/10В. Избыточное кодирование позволяет избавиться от длинных последовательностей нолей, что обеспечивает устойчивый процесс самосинхронизации кода, а неиспользуемые коды таблицы перекодировки применяются для передачи служебной информации. Информация передаётся пакетами, которые могут содержать от одного до 2048 32-х разрядных слов или от 4 байт до 8 Кбайт полезной информации.

Модель передачи данных для SATA включает 4 уровня (рис.4. 32). Это уровень приложений, транспортный уровень, канальный уровень и физический уровень.

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

Физическую реализацию обеспечивает сигнальный кабель SATA.

Кабель состоит из 7 проводников. Для передачи данных по последовательному интерфейсу необходимо две дифференциальные высокочастотные пары проводников.

Рис. 4.32. Многоуровневая модель интерфейса Serial ATA.

Одна пара для передачи информации, другая - для приема. По кабелю за одну операцию передается всего один бит. Благодаря дифференциальной передаче сигналов и противоположным фазам каналов происходит уничтожение взаимных помех — основного сдерживающего фактора интерфейса ATA. Кабель питания пятнадцатиконтактный. Главной причиной является возможность использования третьего напряжения помимо 5 В и 12 В. То есть SATA -винчестеры могут питаться от 3,3 В. Кроме того, обеспечивается возможность ”горячего” подключения. Питание может подаваться и с материнской платы, поскольку 3,3 В обеспечивает несколько компонентов платы. Снижение напряжения питания дает выигрыш в потребляемой мощности, что очень важно для ноутбуков.

Инициализация связи происходит со стороны Хоста (Comreset) или устройства (Cominit).

Comreset всегда происходит из Хоста и вынуждает жесткий сброс устройства.

Алгоритм сводится к следующему:

1. Хост включен и выполняет операции.

2. Некоторые события в Хосте заставляют его выставить на шину данных Comreset.

3. На шине данных выставляется Comreset. И шина данных переводится в ожидание (Host releases comreset).

4. Устройство выставляет на шине данных cominit в ответ на comreset. Устройство может задержать по времени cominit.

5. Хост калибрует и выставляет на шине данных Comewake. И шина данных переводится в ожидание(Host releases comewake).

6. Устройство калибрует и выставляет на шине данных Comewake. После чего посылает непрерывный поток выравнивающей последовательности.

Если после 2048 выравнивающих dword слов ответа от хоста не было, то устройство считает, что хост не может связаться на данной скорости. Устройство будет повторять эту операцию постоянно снижая скорости. Если при самой низкой скорости ответа от хоста так и не было, то введет состояние ошибки

7. Хост заблокирован. После обнаружения comewake, хост начинает передавать символы d 10.2 по его самой низкой возможной скорости. Тем временем хост принимает выравнивающую последовательность, когда она готова возвращает в устройство с такой же скоростью с которой была принята.

8. Устройство заблокировано. Устройство принимает выравнивающую последовательность, когда оно готово выставляет SYNC - примитив, указывающий на это и готово запустить нормальную операцию.

9. После получения трех back-to-back non-ALIGN - примитивов, связь установлена, и нормальная операция может начинаться.

Алгоритм инициализации связи со стороны устройства (Cominit) состоит из следующих шагов:

1. Устройство включено и выполняет операции.

2. Некоторые события в устройстве заставляют его выставить на шину данных Cominit.

3. Хост калибрует и выставляет Comwake.

4. Устройство калибрует и выставляет на шине данных Comewake. После чего посылает непрерывный поток выравнивающей последовательности.

Если после 2048 выравнивающих dword слов ответа от хоста не было, то устройство считает, что хост не может связаться на данной скорости. Устройство будет повторять эту операцию постоянно снижая скорости. Если при самой низкой скорости ответа от хоста так и не было, то введет состояние ошибки

5. Хост заблокирован. После обнаружения comewake хост начинает передавать символы d10.2 по его самой низкой возможной скорости. Тем временем хост принимает выравнивающую последовательность, когда она готова возвращает в устройство с такой же скоростью с которой была принята.

6. Устройство заблокировано. Устройство принимает выравнивающую последовательность, когда оно готово выставляет SYNC примитив, указывающий на это и готово запустить нормальную операцию.

Если после 2048 выравнивающих dword слов ответа от хоста не было, то устройство считает, что хост не может связаться на данной скорости. Устройство будет повторять эту операцию постоянно снижая скорости. Если при самой низкой скорости ответа от хоста так и не было, то введет состояние ошибки

7. После получения трех back-to-back non-ALIGN - примитивов, связь установлена, и нормальная операция может начинаться.

Уровень связи. Различий между данными и командой на физическом уровне нет, команды или данные формируются на уровне связи.

Требования к уровню связи при передаче фрейма (кадра):

1. Вставляет служебные данные в пакет данных транспортного уровня (то есть, SOF, CRC, EOF, и т.д.).

2. Получает данные в форме dwords от транспортного уровня.

3. Вычисляет CRC данных транспортного уровня.

4. Передает фрейм.

5. Предусматривает управление потоком данных фрейма от FIFO или равного по положению уровня связи.

6. Получает квитанцию о получении фрейма от равного по положению уровня связи.

7. Сообщает об успешной передачи или о ошибке на транспортном уровне.

8. Исполняет 8b/10b кодирование.

9. Выполняет скремблирование.

Требования к уровню связи при получении фрейма:

1. Подтверждает равному по положению уровня связи получить фрейм.

2. Получает данные в форме кодируемых символов от физического уровня.

3. Расшифровывает кодируемый 8b/10b символьный поток в dwords данные.

4. Удаляет служебные данные вокруг данных транспортного уровня (то есть, SOF, CRC, EOF, и т.д.).

5. Вычисляет CRC на полученный dwords.

6. Предусматривает управление потоком данных фрейма от FIFO или равного по положению уровня связи.

7. Сравнивает расчетный CRC с полученным CRC.

8. Сообщает об успешной передачи или о ошибке на транспортном уровне и сообщает об ошибке равному по положению уровню связи.

9. Выполняет дескремблирование.

Для передачи данных используется код NRZ. Потенциальный код без возврата к нулю. Код очень чувствителен к длинным последовательностям нулей или единиц.

Для надежной передачи данных используют алгоритм 8b/10b т.е. восемь исходных бит преобразуются в десять для того, чтобы уменьшить количествово повторяющихся нулей или единиц (см. интерфейс DVI).

Примитивы и фреймы.Существуют два типа структур - примитивы и фреймы.

Примитив состоит из единственного Dword (32 бита) и - самый простой модуль информации, который является единицой обмена между хостом и устройством. Порядок передачи байтов в пределах Dword должен быть от наименее - существенного байта (байт 0) к наиболее существенному байту (байт 3). Примитивы используются прежде всего, чтобы передать служебную информацию (такую как состояние хоста или устройства), управлять передачей информации и координировать хост/связь устройства. Все байты в примитиве - константы, и первый байт - всегда специальный символ.Так как все байты - константы, примитив не может использоваться, чтобы передать переменную информацию.

Фрейм состоит из нескольких Dwords, и всегда начинается с SOF примитива, после его идет структура информации фрейма(FIS), CRC, и заканчивается примитивом EOF. CRC является последним непримитивом Dword, который предшествующий EOF. Между началом фрейма и EOF могут быть специальные примитивы, которые обеспечивают скорость потока данных, соответствующей целям (Hold,HoldA,Cont). Фрейм должен быть передан последовательно в возрастании значимости Dword, начинающийся с SOF разделителя.

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

Рис.4.33.структура кадра SATA

CRC (Циклический контроль избыточности) структуры - Dword (32-разрядное) поле, которое должно следовать за последним Dword содержания FIS и будет предшествовать примитиву EOF.

Вычисление CRC охватывает все данные для транспортировки FIS между SOF и примитивом EOF. За исключением любых примитивов и CONT - потоков.

Значение CRC должно быть вычислено на содержании FIS перед кодированием для передачи и после расшифровки при приеме. Если FIS содержит нечетное число бит, последнее слово FIS должно дополняться нолями к полному Dword прежде, чем будет вычисляться CRC. Значение CRC должно быть инициализировано значением 52325032h прежде, чем будет производится вычисление.Для контроля целостности данных протокол, реализующий интерфейс SATA, использует алгоритм деления длинного двоичного числа на образующий полином R(x) следующего вида:

F(x) = х32 + х26 + х23 + х22 + х16 + х12 + х11 + х10 + х8 + х7 + х5 + х42 +х +1

Проверка правильности принятого кадра осуществляется на аппаратном уровне в два этапа:

- на первом этапе проверяется корректность пакета по длине и кратности целому числу байт;

на втором этапе производится деление содержимого кадра с учётом поля контрольной информации на образующий полином. Если в остатке получился ноль, то кадр принят без ошибки. Вероятность пропуска ошибки, такого метода контроля, составляет ~ 2-32.

Максимальный количество Dwords между SOF примитивом к примитивом EOF не должно превышать 2064 Dwords, включая FIS и CRC.

Транспортный уровень просто создает структуры информации фрейма (FIS's) для передачи и анализирует полученные структуры информации фрейма.

FIS конструкция. Когда требуется создать FIS, транспортный уровень обеспечивает следующие действия:

- Собирает содержание FIS, основанное на типе требуемого FIS.

- Размещает содержание FIS в надлежащий порядок.

- Управляет потоком Buffer/FIFO, уведомляет уровень связи о требуемом управлении потоком данных.

- Получает квитанцию фрейма от уровня связи.

FIS разложение:

- Определяет тип FIS.

- Распределяет содержание FIS место положениями, обозначенным типом FIS.

- Отправляет квитанцию.

- Сообщает о приеме или ошибке более высокому уровню.

Типы фреймов, которые формирует транспортный уровень разделены на три категории:

- Тип регистра (передача регистров состояния хоста или устройства).

- Тип установки или режим (DMA,PIO).

- Тип данных.

Схема передачи данных. Данные - Хост на Устройство и Данные - Устройство к Хосту FIS'S используется для передачи данных. FIS может или быть произведен устройством, чтобы передать данные к хосту или хостом, чтобы передать данные на устройство. При передачи данных хост и устройство должны быть настроены на соответствующий контекст. Объем передаваемых данных не должен превышать 2048 Dword (~8 кбайт) [37].

Интерфейс SAS (Serial Attached SCSI – последовательный улучшенный SCSI). Соединение "точка-точка" обеспечивает выделенную полосу пропускания для каждого диска, предельная длина кабеля составляет до 8 м на один порт. Для передачи и приема данных и команд используются две дифференциальные пары (так же как и в стандарте SATA 1.0), что позволяет организовать полнодуплексный режим работы. Как и в стандарте SATA 1.0, передача по дифференциальным парам низковольтных сигналов обеспечивается парафазным кодом, что позволяет избежать перекрестных наводок без скручивания проводов. Одна или несколько физических связей, каждая из которых является дифференциальной парой, образуют порт. Причем, если в порте используется только одна физическая связь, то говорят об узком порте (Narrow port), а при объединении в одном порте нескольких связей получают широкий порт (Wide port).

Интерфейс позволяет увеличить (с помощью SAS -расширителей), количество адресуемых устройств в одном домене до 16 256.

Вместо ручной установки ID (у дисков SCSI) используются уникальные номера (WWN – World Wide Number), присваиваемые каждому из них еще на этапе производства. Пропускная способность интерфейса SAS на сегодняшний день равна 3 Гбит/c. (версия 1.0), в следующих версиях она составляет от 6 до 12 Гбит/c. Разъемы для внешних SAS -устройств рассчитаны на подключение до четырех накопителей и обеспечивают полосу пропускания 1,2 Гбит/c. в одном направлении. Отметим и такие достоинства SAS, как полная поддержка горячего подключения и сортировка очереди команд.

Еще одним немаловажным фактором, существенно повышающим надежность либо производительность хранилища данных, является реализация в дисках SAS не одного, а двух портов, что позволяет подключать их не к одному, а сразу к двум хостам. Можно конфигурировать несколько портов в один (Wide Port) и обрабатывать несколько потоков параллельно, при этом пропускная способность суммируется.

Функционально SAS представляет собой логический протокол SCSI, использующий физический протокол SATA. Эта особенность позволяет с минимальными затратами интегрировать SAS -системы в уже существующие хранилища, созданные на основе SCSI - или FC -технологии, что значительно упрощает постепенный переход на новый интерфейс. В сущности, в SAS включены три протокола передачи данных – SSP (Serial SCSI Protocol), обеспечивающий передачу SCSI -команд, SMP (SCSI Management Protocol), работающий с управляющими SCSI -командами и отвечающий, например, за взаимодействие с SAS -расширителями, и, наконец, STP (SATA Tunneled Protocol), с помощью которого реализована работа с SATA -устройствами.

SAS -контроллер одновременно работает как c SATA -, так и с SAS -дисками (но не наоборот). Благодаря этому можно строить либо гетерогенные среды, в которых диски гибко разделяются в зависимости от решаемых задач, либо системы хранения данных с учетом последующего увеличения их производительности. При использовании SAS -контроллера переход с SATA на SAS фактически сводится к замене (в том числе постепенной) дисковых накопителей. Благодаря поддержке различных типов устройств и достижению высокой пропускной способности становится возможным создание больших дисковых кластеров в устройствах с очень высокой накопительной емкостью и большой производительностью.

SAS -технология позволяет объединить несколько SAS -устройств - массивов или внешних устройств - через прямые SAS -to- SAS -соединения без подключения к малой локальной сети (SAN) или совместно использовать эту сеть с другим трафиком. По предположениям экспертов, некоторые предприятия будут применять SAS- накопители для запоминающих устройств петлевого типа в большей степени как дополняющие, чем как заменяющие. Также предполагается использование SAS в двухузловых внешних системах хранения данных.

Интерфейс DVI (Digital Visual Interface). Классические мониторы с ЭЛТ-мониторы являются аналоговыми устройствами, так как электронная пушка, излучающая поток электронов, который и отображает картинку на экране, требует поступления аналогового сигнала. В принципе, ЭЛТ-монитор работает как традиционный телевизор.

Cигнал на такой монитор дожна выдавать видеокарта. Структуру видеокарты (см. раздел периферийные устройства). Цифро-аналоговый преобразователь (ЦАП, AC) преобразует цифровую информацию, обеспечиваемую графическим контроллером, в аналоговые сигналы, которые отсылаются на монитор через подключение VGA D - SUB. На старых графических картах ЦАП (часто его называют RAMDAC) представляет собой отдельный чип на плате. Сегодня ЦАП обычно встраивают в графический контроллер, по одному на каждый мониторный выход.

Новому поколению дисплеев жидкокристаллических (ЖК) мониторов для работы требуется цифровой сигнал, но на момент появления ЖК-мониторов все потребительские видеокарты использовали проверенный аналоговый выход VGA. Быстрое, но не очень качественное решение заключается в получении аналогового сигнала от видеокарты и последующем преобразовании его в цифровой вид внутри ЖК-монитора с помощью аналого-цифрового преобразователя (АЦП). Налицо удорожание самого монитора и ухудшение качества изображения.

В 1998 году компании Fujitsu, Compaq, HP, IBM, Intel, NEC и Silicon Image основали группу DDWG (Digital Display Work Group), которая в апреле 1999 года анонсировала стандарт DVI Standard 1.0, и с тех пор он являлся единым стандартам для подключения цифровых мониторов.

Стандарт DVI 1.0 разделяет передачу данных на три этапа: передатчик (на графической карте), кабель и приёмник (в мониторе).

Когда данные передаются по шине DVI, то RAMDAC видеокарты не используется. Вместо него поток параллельных данных поступает на передатчик TMDS, который преобразует его в последовательный код. Когда сигнал поступает на приёмник (в мониторе), то данные из последовательной формы преобразуется в параллельную. Последовательный способ передачи данных дифференциальным способом менее подвержен помехам, чем параллельный, особенно на больших расстояниях. На рис. 4.34. показана схема соединения видеокарты и ЖК (LCD) – монитора.

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

Рис.4.34. Схема соединения видеокарты и ЖК - монитора

TMDS -передатчик отсылает последовательные данные по четырём разным каналам кабеля: один для тактовых импульсов, а три - для цветовой информации. Восемь разрядов информации для каждого цвета передаются в последовательном 10-битном коде: восемь разрядов для цветовых данных, а также два служебных. Данные передаются в 10 раз быстрее тактового генератора из-за использования ФАПЧ-чипа (фазовая автоматическая подстройка частоты), работающего как умножитель частоты. Таким образом, скорость 1,65 Гбайт/с. достигается при номинальной частоте 165 МГц. Работу передатчика иллюстрирует рис.4.35.

Графический чип передаёт данные на передатчик в виде 24-битного параллельного кода (по 8 битов на цвет). Передатчик преобразует код в последовательную форму и добавляет ещё два бита. Поскольку данные должные передаваться в 10 раз чаще номинальной частоты, используется ФАПЧ-чип.

Рис 4.35. Работа TMDS-передатчика.

Добавление бита минимизации переходов приводит к увеличению объём передаваемой информации, но этот метод повышает помехоустойчивость. Алгоритм кодирования, который использует булевы операции "исключающее ИЛИ" (XOR) или "исключающее НЕ-ИЛИ" (XNOR), позволяет надёжнее передавать информацию по медному кабелю. Смысл в том, что любое изменение состояния с "0" на "1" (или наоборот) формирует электромагнитное излучение. Минимизация же числа переходов позволяет уменьшить количество переключений и уменьшить помехи. Принцип помехоустойчивого кодирования поясняет рис.4.36.

Рис.4.36. Принцип помехоустойчивого кодирования

На рисунке показан наихудший случай, когда передаваемая кодовая комбинация содержит 7 переходов между "0" и "1". Ниже показана версия с минимизацией числа переходов, где пришлось добавить разряд кодирования. В результате получилось только три перехода.

Второй добавочный разряд (десятый) DC-Balancing также позволяет повысить надёжность передачи. Поскольку скорости передачи очень высоки, то переключения уровней вызывают переходные процессы, замедляющие обмен: если длительное время будут передаваться одни единицы (есть ток), а затем поток данных прервётся одним нулём (нет тока). В зависимости от качества медного кабеля, этот нуль можно пропустить при приеме. В результате один из пикселей будет отображён неверно. Бит DC-Balancing указывает на обычную инверсию значений восьми битов, чтобы предотвратить длительную последовательность одинаковых носителей (двоичных чисел) по кабелю. Процедура преобразования информации поясняет рисунок 4.37.

На этом примере показана последовательность бит данных. Ниже находится восемь бит данных, дополненных девятым (он установлен в "0", поскольку минимизации переходов здесь не требуется). Еще ниже - восемь бит, дополненных битом DC-Balancing. Бит выставлен в "1", что приводит к инверсии всех восьми битов. На рисунке видно, как бит DC-Balancing обеспечивает исключение длинной кодовой последовательности.

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

TMDS-приёмник (монитора) аппаратно вычитает значение наведенной в оба провода помехи, обеспечивая ее компенсацию.

Рис.4.37. Процедура, позволяющая исключить

длинную кодовую последовательность.

Интерфейс Hyper Transport, так же как и PCI-Express позволяет производителям аппаратного обеспечения изменять количество сигнальных линий, что влечет за собой изменение количества выводов на плате, если этого требует реализация, а также изменение потребляемой мощности, так как лишние выводы требуют дополнительного питания. Этот факт оказывает влияние на широкое распространение технологии в мобильных системах. Кроме того, Hyper Transport, так же как и PCI-E, - это точка-точка шина, позволяющая обмениваться информацией между периферийными устройствами без участия процессора и памяти. Протокол использует пакетированную передачу данных; за передачу данных между устройствами отвечает контроллер шины. Подключение контроллера в двухпроцессорной системе показано на рис.4.38.

Шина HT позволяет передавать данные с частотой в 800 МГц по переднему и заднему фронтам стробирующего импульса, так что суммарная скорость работы шины получается около 12.8 ГБ/с при предаче двух восьмибитных слов за один такт. Это в 12 раз выше, чем PCI-X (1 ГБ/с), и в 48 раз больше, чем PCI (266 МБ/с).

В отличие от PCI-E шина Hyper Transport позволяет передавать асимметричные потоки данных от (к) периферийных(м) устройств(ам). Симметричная, то есть одинаковая в обоих направлениях, пропускная способность не всегда нужна в компьютере. Примером могут служить системы, преимущественно отображающие графическую информацию, или системы, активно посылающие запросы в сеть для получения больших объемов информации.

Рис.4.38. Подключение контроллера НТ к двух





Дата публикования: 2015-07-22; Прочитано: 2143 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.067 с)...