double arrow

PCI Express - пункт прибытия 2014 год

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

Существуют два способа решения проблемы: увеличение частоты передачи сигнала и увеличения ширины шины.

Прежде всего, разберем, от чего зависит скорость обмена данными по шине.

Шины для подключения внешних плат расширения

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

На материнской плате присутствует несколько типов разъемов для подключения плат расширения. Остановимся на этом подробнее.

Естественно, сам по себе разъем не представляет особой ценности. Гораздо важнее шина (т.е. магистраль обмена данными), заканчивающаяся разъемом, который мы и наблюдаем на плате.




Естественно, чем быстрее можно передавать данные по шине, тем больше возможностей она предоставляет.

На самом деле:

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

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

Второй способ увеличить пропускную способность канала обмена в приведенном выше примере еще более прост! Нужно просто добавить еще один (или несколько) проводов, по которым передаются данные! При этом частота остается той же, имеющееся оборудование будет работать, а передача данных происходит параллельно по двум или нескольким проводам. В таком случае говорят об увеличении ширины шины. Если в случае одного провода за один такт периодического сигнала передают один бит, то в случае, когда шина состоит из N проводов, за один такт можно передать N бит, поэтому ширину шины измеряют в битах, а физически это соответствует количеству проводов в шине, использующихся для передачи данных. Итак, говорят о разрядности шины и измеряют ее в битах. Чем больше разрядность, чем больше и пропускная способность шины.



Самой первой шиной для подключения плат расширения была разработанная для самых первых РС шина, названная XT-Bus (еще ее иногда называют ISA8). Это была восьмиразрядная шина, а частота, на которой она работала, составляла всего лишь 4,77 МГц.

Столь малая частота работы шины XT-Bus объясняется тем, что и процессор в самом первом компьютере IBM PC работал на частоте 4,77 МГц. Естественно, даже теоретическая пропускная способность такой шины 1байт х 4,77МГц = 4,77Мбайт/с (а реальная производительность шины заметно меньше), не может надолго удовлетворить потребности в пропускной способности, поэтому

для новых систем в 1984 году была разработана модификация шины XT-Bus, названная ISA.

Шина ISA была 16-разрядной, в отличии от своей восьмиразрядной предшественницы, кроме того частота шины ISA была поднята примерно до 8 МГц. Таким образом, пропускная способность новой шины увеличилась по сравнению с XT-Bus почти вчетверо.

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

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

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

Дело в том, что разработав и внедрив

новую шину, не совместимую со старой, производитель не вызовет особой радости у пользователя, который, купив новую материнскую плату и процессор, убедится, что все прочие платы расширения, которыми он пользовался ранее, теперь можно выбросить, так как установить их в новый компьютер нельзя. И шина ISA - это улучшенная XT-Bus, сохранившая с XT-Bus совместимость. Естественно, эта совместимость выражается и в организации логики обмена по шине, и в разъеме. Т.е. шина ISA является совместимой с XT-Bus в том смысле, что старую XT-Bus плату можно установить в разъем ISA и она при этом будет работать. Итого: в разъем ISA можно вставить как 16-разрядную, специально разработанную для ISA плату, так и старую, разработанную для XT-Bus плату.

Но, разумеется, новая шина удовлетворяет потребности только лишь некоторое время. И затем снова встает вопрос о разработке новой шины для подключения плат расширения. В 1988 году такие фирмы, как Wyse, AST Research, Tandy, Compaq, Hewlett-Packard, Zenith, Olivetti, NEC и Epsonпредложили 32 - битное расширение шины ISA, так называемую шину EISA .

Поскольку дальше удлинять разъем ISA было некуда, разработчики нашли оригинальное решение: новые контакты были размещены между контактами шины ISA и не были доведены до края разъема. Специальная система выступов на разъеме и щелей в EISA-картах позволяла им глубже заходить в разъем и подсоединяться к новым контактам. (Правда, утверждают, что при большом желании можно запихнуть и ISA-карту так, чтобы она замкнула EISA-контакты). Т.е. разъем EISA содержал дополнительные контакты, которые и обеспечивали 32 - битное расширение в глубине. И в разъем EISA можно было вставлять как обычные ISA платы, т.е. обеспечивалась совместимость, так и специально разработанные EISA платы. Однако архитектура EISA не прижилась.

Фактически переступив через EISA, индустрия использовала следующую разработку, шину, которая называлась локальная шина VESA , или VL-Bus - VESA Local Bus.

Разъем шины VESA состоял из разъема ISA и еще одного блока, обеспечивавшего дополнительные контакты, которые позволяли реализовать по шине VESA 32-битный обмен. Кроме того, разъем VESA работал не на частоте 8 МГц, а на частоте процессора, установленного в системе, что в то время составляло 25-50 МГц! Таким образом, шина была вдвое шире (в смысле разрядности :)), чем ISA, да еще и работала на частоте, в несколько раз большей, обеспечивая огромный рывок вперед по пропускной способности!

Шина PCI (Peripheral Component Interconnect bus)

Разработка шины PCI началась весной 1991 года как внутренний проект корпорации Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать недорогое решение, которое бы позволило полностью реализовать возможности нового поколения процессоров 486/Pentium/P6 . Особенно подчеркивалось, что разработка проводилась "с нуля", а не была попыткой установки новых "заплат" на существующие решения. В результате шина PCI появилась в июне 1992 года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще одну "антресольную" (mezzanine) шину.

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

Основные возможности шины следующие.

· Синхронный 32-х или 64-х разрядный обмен данными. При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям.

· Поддержка 5V и 3.3V логики. Разъемы для 5 и 3.3V плат различаются расположением ключей


Существуют и универсальные платы, поддерживающие оба напряжения.

Частота работы шины 33MHz или 66MHz (в версии 2.1) позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):

o 132 МВ/сек при 32-bit/33MHz;

o 264 MB/сек при 32-bit/66MHz;

o 264 MB/сек при 64-bit/33MHz;

o 528 МВ/сек при 64-bit/66MHz.

При этом для работы шины на частоте 66MHz необходимо, чтобы все периферийные устройства работали на этой частоте.

· Полная поддержка multiply bus master (например, несколько контроллеров жестких дисков могут одновременно работать на шине).

· Поддержка кэша.

· Автоматическое конфигурирование карт расширения при включении питания.

· Спецификация шины позволяет комбинировать до восьми функций на одной карте (например, видео + звук и т.д.).

· Шина позволяет устанавливать до 4 слотов расширения, однако возможно использование моста PCI-PCI для увеличения количества карт расширения.

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

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

Шина поддерживает метод передачи данных, называемый "linear burst" (метод линейных пакетов).Этот метод предполагает, что пакет информации считывается (или записывается) "одним куском", то есть адрес автоматически увеличивается для следующего байта. Естественным образом при этом увеличивается скорость передачи собственно данных за счет уменьшения числа передаваемых адресов.

Шина PCI является той черепахой, на которой стоят слоны, поддерживающие "Землю" - архитектуру Microsoft/Intel Plug and Play (PnP) PC architecture.

Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space - "конфигурационное пространство".

Конфигурационное пространство состоит из трех регионов:

· заголовка, независимого от устройства (device-independent header region);

· региона, определяемого типом устройства (header-type region);

· региона, определяемого пользователем (user-defined region).

В заголовке содержится информация о производителе и типе устройства - поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и т.д.) и прочая служебная информация.

Следующий регион содержит регистры диапазонов памяти и ввода/вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. В зависимости от реализации системы конфигурация устройств производится либо BIOS (при выполнении POST - power-on self test), либо программно. Базовый регистр expansion ROM аналогично позволяет отображать ROM устройства в системную память. Поле CIS (Card Information Structure) pointer используется картами cardbus (PCMCIA R3.0). Последние 4 байта региона используются для определения прерывания и времени запроса/владения. Сегодня PCI - основная шина современного компьютера, и вероятно еще долго таковой останется.

Шина AGP (Accelerated Graphic Port)

Для видеоконтроллеров разработана специальная шина, которая называется AGP (Accelerated Graphics Port).

Все хорошее когда-нибудь кончается. Обидно - но истинно. Сколько писали про то, что шина PCI наконец-то устранила "узкое место" РС - обмен с видеокартами - но не тут-то было! Прогресс, как известно, не стоит на месте. Появление 3D ускорителей привело к тому, что ребром встал вопрос: что делать? Либо увеличивать количество дорогой памяти непосредственно на видеокарте, либо хранить часть информации в дешевой системной памяти, но при этом каким-нибудь образом организовать к ней быстрый доступ.

Как это практически всегда бывает в компьютерной индустрии, вопрос решен не был. Казалось бы, вот вам простейшее решение: переходите на 66-мегагерцовую 64-разрядную шину PCI с огромной пропускной способностью, так нет же. Intel на базе того же стандарта PCI R2.1 разрабатывает новую шину - AGP (R1.0, затем 2.0), которая отличается от своего "родителя" в следующем:

1. шина способна передавать два блока данных за один 66 MHz цикл (AGP 2x);

2. устранена мультиплексированность линий адреса и данных (напомню, что в PCI для удешевления конструкции адрес и данные передавались по одним и тем же линиям);

3. дальнейшая конвейеризация операций чтения/записи позволяет устранить влияние задержек в модулях памяти на скорость выполнения этих операций.

В результате пропускная способность шины была оценена в 500 МВ/сек, и предназначалась она для того, чтобы видеокарты хранили текстуры в системной памяти, соответственно имели меньше памяти на плате, и, соответственно, дешевели.

Шина AGP имеет ширину 32 бита (как и PCI), но работает на частоте 66 МГц, имея, таким образом, вдвое большую пропускную способность (266 Мбайт/с).

Шина AGP имеет несколько режимов работы. Причем, во всех этих режимах частота работы шины одинакова и составляет 66 МГц.

Но пропускная способность шины AGP в разных режимах отличается.

В режиме работы, который называют AGP 2x, пропускная способность шины составляет 533 Мбайт/с. За счет чего?

За счет того, что данные по шине передаются вдвое чаще, то есть за один период сигнала передается два бита - один на подъеме и один на спаде периодического сигнала.

Шины, работающие в подобном режиме, называют DDR (Double Data Rate) шинами. Кроме того, шина AGP может работать и в режиме 4х, т.е. бит передается дважды на подъеме и дважды на спаде сигнала, биты передаются вчетверо чаще, чем в обычном режиме.

Шину, работающую в таком режиме, называют QDR (Quad Data Rate). Нетрудно подсчитать, что пропускная способность AGP 4x составляет 1066 Мбайт/с.

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

Операции шины AGP являются раздельными (split). Это означает, что запрос на проведение операции отделен от собственно пересылки данных.

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

В 1998 году спецификация шины AGP получила дальнейшее развитие - вышел Revision 2.0. В результате использования новых низковольтных электрических спецификаций появилась возможность осуществлять 4 транзакции (пересылки блока данных) за один 66-мегагерцовый такт (AGP 4x), что означает пропускную способность шины в 1GB/сек! Единственное, чего не хватает для полного счастья, так это чтобы устройство могло динамически переключаться между режимами 1х, 2х и 4х, но с другой стороны, это никому и не нужно.






Сейчас читают про: