Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ВС.doc
Скачиваний:
228
Добавлен:
22.03.2016
Размер:
1.1 Mб
Скачать

7.2 Подключение устройств

В зависимости от степени участия ЦП в обмене данными между памятью и ПУ может быть реализовано три способа управления обменом: асинхронный, синхронный и режим прямого доступа. Асинхронный и синхронный способы обмена описаны выше. При асинхронном режиме производится последовательный опрос, или «сканирование» всех ПУ процессором с целью узнать готовность его к обмену. ПУ. Если ПУ готово к обмену данными, то ЦП организует процедуру программного обмена, т.е. загружает соответствующую программу-драйвер, производит пересылку данных между ПУ и ОП, вносит необходимые изменения в программу и «выгружает» ее в память. Если же ПУ не готово к обмену данными, то ЦП продолжает опрос других ПУ. Такой режим сканирования существенно упрощает организацию обмена, но ведет к значительной занятости ЦП. При синхронном обмене ЦП также выполняет все функции по управлению обменом, но, в отличие от режима сканирования, реализация этих функций начинается с приходом сигнала прерывания от ПУ. ЦП выполняет какую-либо программу и регулярно проверяет специальный регистр на наличие сигнала прерывания. Как только ПУ сообщает о своей готовности к обмену сигналом прерывания, ЦП производит переключение программ, переходит на обработку прерывания, осуществляет управление обменом и возвращается к выполнению прерванной программы.

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

Возможно несколько способов организации интерфейсов:

  • индивидуальные интерфейсы для каждого из ПУ,

  • общий интерфейс,

  • несколько интерфейсов на разных уровнях иерархии.

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

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

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

В настоящее время самое широкое использование получил оптимизированный по пропускной способности способ иерархической организации интерфейсов. Схема такого способа с локальными шинами приведена на рисунке 7.х,б. На этой схеме выделены интерфейсы IDE, PCI и USB.

Контроллер

ЦП

Кэш

ОЗУ

Графич. адаптер

Модем

Сканер

Дисплей

НМД

(а)

Внутренняя шина

ЦП

Кэш

PCI USB

Сканер

Дисплей

Модем

Контроллер

шины

ОЗУ

IDE

Графич. адаптер

НМД

(б)

Рисунок 7.х. Персональный компьютер с единой (а) и локальной (б) шиной

При современной технологии все интерфейсы организуются посредством БИС. Так системная шина соединяет ЦП с главным концентратором, который в свою очередь соединяется с памятью, графическим процессором и концентратором ввода-вывода. Концентратор ввода-вывода имеет интерфейсы PCI, AGP, Serial ATA, Ultra ATA, USB и другие.

7.3 Внутренние интерфейсы

Шина PCI

Шина PCI является внутренним интерфейсом, т.е. к ней подключаются контроллеры периферийных устройств, находящиеся внутри компьютера. Внутренний интерфейс всегда считался «узким местом» системы, т.к. практически все устройства компьютера конкурируют за возможность передачи по ней своих данных в память.

Вначале в IBM PC использовалась общая шина стандарта ISA (Industry Standart Architecture) с тактовой частотой 8 МГц, способная передавать от 8 до 16 Мбайт/c (ISA AT). Но вскоре ее пропускная способность оказалась недостаточной, и был предложен стандарт EISA (Extended ISA), обеспечивающий скорость передачи данных до 33 Мбайт/c. Тем не менее, и такая пропускная способность тоже не «угнаться» за скоростью работы процессора и памяти.

Для решения этой проблемы был разработан новый подход, состоящий в том, что шина для подключения ПУ не была напрямую связана с внутренней системной шиной. Это позволило обеспечить независимость интерфейса от конкретного типа ЦП. Однако новый интерфейс был несовместим ни с одним из предшествующих.

Этот интерфейс, или локальная шина PCI (Peripheral Component Interconnect – межсоединение периферийных компонентов) служит для ускорения обращений процессора к ПУ. К ней подключаются устройства, скорость работы которых может превышать быстродействие шины ISA. Шина PCI связана с внутренней системной шиной процессора посредством специального набора микросхем, выполняющего функции контроллера шины. Этот набор микросхем (это дословный перевод английского термина chipset) содержит память достаточно большого объема, позволяющую буферизовать передаваемые данные, изменять их формат, задерживать передачу и т.п.

[Выпускается несколько различных ИС, выполняющих функции такого «набора». Наиболее известные интегральные схемы реализует 64-разрядный канал доступа к памяти, обеспечивает параллельную работу шины PCI, а также содержат средства сопряжения с устройствами ввода-вывода. Эти средства обеспечивают работу интерфейса USB, программируемого ввода-вывода и управления шиной дискового накопителя. Современные наборы позволяет адресовать до 4 Гбайт ОП, применять память с коррекцией ошибок и управлять двухпроцессорной конфигурацией. Подобные микросхемы регулярно обновляются; на них возлагается все большее число функций.]

Шина PCI обладает довольно высокой пропускной способностью и обеспечивает поддержку режима P&P (Plug-and-Play). Первоначально тактовая частота шины составляла 33, а позднее 66 МГц. Но в настоящее время шина PCI-Х работает с тактовой частотой 133 МГц, обеспечивая пропускную способность до 1064 Мбайт/с при передаче 64-разрядных данных слов.

Конструктивно шина PCI выглядит в виде нескольких разъемов на системной плате, между которыми находятся печатные проводники. Эти разъемы сгруппированы в «сегменты»; число разъемов в сегменте не более четырех. Общее число разъемов также невелико (обычно не более 5 – 7), так как увеличение их числа привело бы к удлинению линий и, следовательно, к снижению тактовой частоты. В качестве периферийных устройств могут использоваться специальные «мосты» для организации связи этой шины с другими видами шин.

Для повышения пропускной способности шины используется несколько способов:

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

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

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

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

В настоящее время шина PCI является стандартной, т.е. независимой от процессоров – ее наличие стало стандартом де-факто для любых персональных компьютеров. Локальная шина PCI обеспечивает единообразное подключение всех ПУ и тем самым позволяет избежать узких мест. Кроме того, шина PCI до некоторой степени обеспечивает «обратную совместимость» с ПУ, предназначенными для подключения к шине ISA. Она создает некоторый промежуточный уровень между шиной процессора и периферийными устройствами. Стандарт PCI предусматривает обширный перечень дополнительных функций. К ним относится автоматическая конфигурация ПУ, позволяющая пользователю устанавливать дополнительные платы контроллеров, не задумываясь о распределении прерываний, адресного пространства и каналов доступа в память.

Как уже отмечалось, шина PCI служит для передачи 32-разрядных или 64-разрядных слов. Если по шине передаются только 32-разрядные слова данных, то она содержит 49 информационных линий; при расширении шины до 64 бит добавляется еще 48 линий. По этим линиям передаются 32- и 64-разрядные данные, а дополнительные линии служат для передачи контрольных разрядов, что позволяет исключить ошибки. К этой шине одновременно можно подключать до десятка разных ПУ, в том числе адаптеры локальных сетей и шин ISA и SCSI. Предусматривается групповой режим обмена при выполнении операций чтения и записи. В шине PCI применяется «мультиплексирование», позволяющее передавать по одной электрической линии более одного сигнала. Благодаря этому сокращается число выводов адаптера ПУ и снижается его цена.

Основными преимуществами PCI являются:

  • поддержка синхронного обмена 32 или 64 бит данных с мультиплексированием пере­дачи адресов и данных по одним линиям;

  • возможность уста­новки компонентов с уровнями сигналов питания 5В или 3,3В;

  • комбинирование частот шины 33 МГц или 66 МГц с различной разрядностью данных предоставляет широкий диапазон для выбора пропускной способности шины;

  • возможность передачи методом линейных пакетов (данные при записи/чтении передаются единым пакетом - нет необходимости передавать последовательные адреса);

  • возможность использования различных способов кэширования.

Однако суще­ственные ограничения по пиковой пропускной способности (30-40 Мбайт/с) при тактовой частоте шины 33 МГц стали тор­мозить рост производительности компьютерной системы. В частно­сти, появление жестких дисков большого объема, сетевых карт, адаптеров SCSI потребовало увеличения пропускной способности шины РСI в несколько раз.

С целью совершенствования шины была принята спецификация РС1-Х, которая предполагает передачу 64-разрядных слов данных, тактовую частоту 133 МГц и передачу данных по протоко­лам DDR и QDR. В основном такая шина служит для высокопроизводительных серверов и рабочих станций, так как увеличение ширины шины (150 контактов в разъеме) и ее рабочих частот приводит к значитель­ному удорожанию системной платы и компьютера в целом.

Основными претендентами на замену PCI являются интер­фейс РСI Express (3GIO), разработанный фирмой Intel, и шина HyperTransport, предлагаемая фирмой АМD.

Шина AGP

Вскоре после внедрения шины PCI обнаружилось, что она не удовлетворяет возросшим требованиям при передаче графической информации. Поэтому для передачи видеоинформации было предложено использовать специальную шину, получившую название AGP (Accelerated Graphics Port). Ее главным преимуществом стала очень высокая пропускная способность – в режиме передачи 32-битных слов ее пиковая пропускная способность составляет до 2132 Мбайт/с.

При разработке интерфейса AGP стремились разрешить две проблемы, связанные с особенностями обработки трехмерной графики на персональном компьютере. Во-первых, трехмерная графика требует выделения памяти для хранения текстур (стиля закрашивания) и Z-буфера (буфера глубины, предназначенного для удаления невидимых поверхностей). Если использовать для этих целей часть ОП, то мы будем ограничены пропускной способностью шины PCI. Во-вторых, AGP служит для прямого соединения графической подсистемы и контроллера ОП, тем самым разделяется доступ к ОП со стороны графической подсистемы и ЦП. Через AGP возможно подключение только графических плат.

В шине AGP использованы раздельные линии адреса и данных и, кроме того, введена конвейеризация операций чтения/записи, позволившая устранить влияние задержек в памяти на скорость их выполнения. Шина AGP способна передавать два, четыре или восемь блоков данных за один цикл. Для контроллера AGP конкретный физический адрес, где хранятся данные в ОП, не имеет значения.

Шина AGP может работать в двух режимах: DIME и DMA. В режиме прямого доступа в память DMA текстуры могут храниться в ОП, но перед использованием они должны быть скопированы в локальную видеопамять. В режиме непосредственного исполнения DIME текстуры не копируются в видеопамять, а выбираются непосредственно из системной ОП. Системная память динамически осуществляет выделение блоков по 4 Кбайт, так как она может использоваться не только контроллером AGP, а для обеспечения приемлемого быстродействия предусмотрен специальный механизм, отображающий последовательные адреса на реальные адреса в ОП. Этот механизм основан на специальной таблице, хранящейся в ОП.

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

Интерфейс HyperTransport

Интерфейс HyperTransport (HT) предназначен для использования в ВС, прежде всего, в качестве внутренней локальной шины. По сравнению с шиной PCI он позволяет уменьшить число проводников на системной плате, устранить задержки, связанные с монополизацией шины устройствами с низкой производительностью, снизить энергопотребление и в целом многократно повысить пропускную способность системы.

Интерфейс HT организован на нескольких уровнях:

  • на физическом уровне шина представлена 32 линиями, контроллерами и стандартными электрическими сигналами;

  • на уровне передачи данных интерфейс определяет порядок инициализации и конфигурирования устройств, установления и прекращения сеанса связи, помехоустойчивого циклического кодирования и пакетирование данных;

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

  • на уровне транзакций команды протокола конкретизированы в управляющие сигналы, например, чтения или записи;

  • На уровне сессии определены команды управления энергопотреблением и другие команды общего характера.

Физические устройства в рамках интерфейса HT подразделяются на несколько типов: Cave («пещера») – оконечное устройство дуплексного канала связи; Tunnel («туннель») – промежуточное устройство дуплексного канала связи, отличное от моста; Bridge («мост») – устройство дуплексного канала связи.

Основные характеристики интерфейса:

  • асинхронная последовательная пакетная передача по принципу «точка-точка»;

  • пиковая пропускная способность – 6,4 Гбайт/с при тактовой частоте шины 800 Мгц (по обоим фронтам импульсов – 1600 МГц) и ширине шины 32 бита;

  • динамическое распределение линий.

С точки зрения схемотехнической организации шины HT принципиальным является ее масштабируемость. В минимальной конфигурации (ширина шины 2 бита, на каждый бит - две физические линии) требуется 24 контакта, а в максимальной (ширина канала 32 бит) - 197.

В интерфейсе HT используются сигналы уровня 1,2 В (а не 2,5 В), «улучшенные» сигналы позволяют достичь длины шины около 60 см при скорости передачи данных до 800 Мбит/c.

Интерфейс PCI Express (3GIO)

Интерфейс PCI Express (3GIO) имеет топологию звезды и предназначен в качестве внутренней шины. Стандартизация процедур в этом интерфейсе осуществляется на нескольких «уровнях» взаимодействия.

В PCI Express связь между устройствами производится по последовательным низковольтным дифференциальным линиям, по одной паре для передачи и приема данных. Масштабируемость шины достигается динамическим увеличением требуемого числа линий в 2, 4, 8, 16 или 32 раза. Между устройствами, участвующими в обмене данными по шине PCI Express, устанавливается выделенный канал связи, ширина которого и тактовая частота оговариваются устройствами в процессе инициализации канала. Тем самым реализуется процедура обмена типа «точка-точка», одновременно определяется формат пакетов (8 или 10 бит).

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

Логической частью интерфейса предусмотрена возможность передачи потока данных как по одному, так и по нескольким каналам. Такая организация обмена позволила получить пропускную способность до 2,5 Гбит/c в каждом направлении, а с переходом на медные технологии пропускная способность увеличивается до 10 Гбит/с. Предполагается, что интерфейс PCI Express заменит шину AGP.