·  264 МВ/сек при 64-bit/33MHz;

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

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

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

·  Поддержка write - back и write - through кэша;

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

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

·  Шина позволяет устанавливать до 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 (PC MCIA R3.0). С Subsystem vendor/Subsystem ID все понятно, а последние 4 байта региона используются для определения прерывания и времени запроса/владения.

7.3. Ускоренный графический порт (AGP)

Шина AGP (Accelerated Graphic Port) Ускоренный графический порт. Ускоренный графический порт - это расширение шины PCI, чье назначение -- обработка больших массивов данных 3D графики.

Разработчики PC имели ранее возможность использовать системную память для хранения информации о текстурах и z-буфера, но ограничением в этом подходе была передача такой информации через шину PCI. Производительность графической подсистемы и системной памяти ограничиваются физическими характеристиками шины PCI. Кроме того, ширина полосы пропускания PCI, или ее емкость, не достаточна для обработки графики в режиме реального времени. Чтобы решить эти проблемы, Intel разработала AGP.

Если определить кратко, что такое AGP, то это - прямое соединение между графической подсистемой и системной памятью. Это решение позволяет обеспечить значительно лучшие показатели передачи данных, чем при передаче через шину PCI, и явно разрабатывалось, чтобы удовлетворить требованиям вывода 3D графики в режиме реального времени. AGP позволит более эффективно использовать память страничного буфера (frame buffer), тем самым увеличивая производительность 2D графики также, как увеличивая скорость прохождения потока данных 3D графики через систему.

Определением AGP, как вида прямого соединения между графической подсистемой и системной памятью, является соединение point-to-point. В действительности, AGP соединяет графическую подсистему с блоком управления системной памятью, разделяя этот доступ к памяти с центральным процессором компьютера (CPU).

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

Итак, магистральный интерфейс AGP. Называть его шиной не совсем верно — на несколько слотов расширения он не был рассчитан изначально, и, хотя в спецификации AGP 3.0 есть упоминание о возможности подобных конфигураций, в железе ничего подобного так и не появилось. Этот интерфейс был разработан фирмой Intel для подключения видеокарт. Предполагался почти полный отказ от локальной видеопамяти, и использование вместо нее системной. Первым шагом в этом направлении стала видеокарта Intel 740 — на ней устанавливался относительно небольшой объем памяти, использовавшийся под буфер кадра и Z-буфер, а все текстуры хранились только в системной памяти. Но путь оказался тупиковым — относительно медленная системная память не смогла соперничать с широкими и быстрыми шинами памяти видеокарт — отказ от модулей расширения позволил реализовать 128- и 256-битный доступ, а существенно более мягкие требования к отказоустойчивости отдельных ячеек памяти позволили поднять частоту даже на тех же самых микросхемах. Все дело в том, что изменение содержимого одной-единственной ячейки видеопамяти на картинку сильно повлиять не способно — изменившую цвет на одном-единственном кадре точку заметить практически невозможно, тогда как в случае системной памяти такой сбой будет иметь куда более печальные последствия. Причем повысить частоты при таких требованиях к отказоустойчивости можно очень сильно. Текстуры соврменные карты хранят в собственной памяти, используя возможности AGP только в случае ее нехватки, а Intel 740 так и остался единственным в своем роде ускорителем, став позже основой встроенного в многие чипсеты от Intel графического ядра I752 — в этом применении его особенности пришлись как раз кстати.

AGP 1.0

За основу интерфейса AGP 1.0 была взята шина PCI 2.1, а точнее, ее вариант PCI 32/66 — 32х разрядная шина с частотой работы 66MHz. В стандарте AGP 3.0 предусмотрено расширение разрядности до 64х бит при сохранении обратной совместимости, но пока такие конфигурации не реализованы. Электрически (но не по слоту и разводке) AGP 1.0 остался обратно совместим с PCI, но получил и кое-какие расширения:

1.  Очередь запросов. На AGP, в отличие от PCI, для передачи следующего адреса дожидаться окончания текущей передачи вовсе не обязательно — можно сделать сразу несколько запросов на чтение (запись), а затем последовательно считать (передать) данные.

2.  Частичное демультиплексирование шин адреса и данных. Реализация весьма оригинальна — в дополнение к стандартной 32 х битной мультиплексированной шине (AD) имеется 8 ми разрядная “боковая” шина адреса (SBA). Алгоритм таков: при пустой очереди запросов несколько первых передач адреса производится станадартно, по мультиплексированной шине AD, а после того, как по ней пойдут запрошенные данные, передачи следующих адресов в очередь будут производиться по шине SBA.

3.  Режим DDR для линий данных. Уже в стандарте AGP 1.0 был реализован режим 2 х — передачи по линиям AD и SBA с удвоенной частотой, по фронту и спаду синхросигнала. Вопреки распостраненному заблуждению, материнских плат с поддержкой только режима 1x просто не существует — в первом чипсете с поддержкой AGP, Intel 440LX, режим 2 х уже был реализован. Этот вариант AGP довольно быстро стал общим стандартом, VIA, SIS и ALi выпустили собственные чипсеты с поддержкой AGP.

AGP 2.0

Довольно быстро развитие системной памяти привело к тому, что ее пропускная способность превысила пропускную способность AGP 1.0 даже в режиме 2 х. Естественно, был разработан новый стандарт — AGP 2.0. Кроме мелких усовершенствованиях режима Bus Master, оставшегося от PCI, было одно-единственное, но глобальное изменение спецификации - для реализации передач QDR (4 передачи за такт) сигнальные уровни интерфейса были снижены до 1.5в вместо 3.3в. в AGP 1.0. Из-за того, что при таких частотах емкость проводников начинает играть уже существенное значение, понижение уровня логической “1” способно уменьшить потребление выходных каскадов и повысить быстродействие и стабильность. Вопреки распостраненным заблуждениям, напряжение линий, по которым подается питание для чипа и памяти (или их стабилизаторов) не изменилось — все 3 линии, VDD 3.3, VDD 5 и VDD 12 так и остались в разъеме. С 3,3в до 1,5в изменилось только VDDQ — напряжение питания для выходных каскадов чипа. Мало кто знает, но подобное решение уходит корнями еще в спецификацию PCI — изначально эта шина имела уровень логической “1” 5.0в, а в спецификации PCI 2.1 для реализации частоты 66MHz было предусмотрено его снижение до 3.3в. Проблем не возникло, во-первых, потому, что варианты PCI 32/66 и 64/66 широкого распостранения до сих пор не получили, присутствуя только в серверных решениях, а во-вторых, из-за того, что сигнальные уровни шины однозначно задаются ключами слота PCI:

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67