Component Interconnect Express). Новый интерфейс должен был заменить стремительно теряющую актуальность (вследствие архитектурных ограничений на пропускную способность) параллельную шину PCI, а также ее более производительную разновидность AGP. Такая замена потребовалась прежде всего именно для графических адаптеров, поскольку объемы обрабатываемых ими данных за последние годы существенно выросли. Мониторы становятся все крупнее, их разрешение растет, информации для формирования картинки требуется все больше, следовательно, необходимо предусмотреть достаточно широкий канал для обмена данными между графическим адаптером и прочими компонентами компьютерной системы.

Параллельная передача данных по шине PCI/AGP вполне соответствовала требованиям своего времени. Однако такая организация шины накладывает принципиальные ограничения на частоту ее работы и ширину полосы пропускания. Переход к последовательной передаче сигнала позволяет в довольно широких пределах масштабировать производительность. В настоящее время на рынке присутствуют графические адаптеры, построенные по спецификациям вплоть до PCI Express 16x, а исходные документы нового стандарта предусматривают и реализацию PCI Express 32x.

Помимо повышения предела производительности у шины PCI Express имеется немало и других достоинств. В частности, она дает возможность использовать различные физические среды для передачи сигнала – не только медные соединения, но и оптоволокно. Intel рассматривает PCI Express как универсальную шину, позволяющую обеспечивать совместную работу отдельных компонентов компьютерной системы и налаживать прямые соединения между их микросхемами. Именно поэтому при применении PCI Express отпадает надобность в мостах между гнездами расширения (для монтажа тех же графических плат) и микросхемами на системной плате, которые обмениваются данными с платами в этих гнездах. Процессоры AMD Opteron и Athlon 64 работают с собственной шиной (HyperTransport) и с HyperTransport 2.0, с которыми технология PCI Express полностью совместима.

Максимальная производительность прежней шины PCI достигалась при частоте работы 66 МГц и составляла 266 Мбайт/с. Не так уж и мало, однако вследствие архитектурных особенностей шины этот ресурс производительности делился между всеми устройствами с интерфейсами PCI. В случае PCI Express шина работает на частоте 2,5 ГГц, а пропускная способность одного ее канала в одном направлении – 250 Мбайт/с. Поскольку эта шина двунаправленная, суммарная пропускная способность PCI Express 1х оказывается равной 500 Мбайт/с.

Шина PCI Express, еще не успев утвердиться на рынке, уже претерпела существенную модернизацию. В 2007 г. был принят стандарт PCI Express 2.0, основное отличие которого от первой версии – удвоение пропускной способности каждого из каналов в обоих направлениях. Таким образом, если суммарная пропускная способность шины PCI Express 16х составляет 8 Гбайт/с, то для PCI Express 2.0 16х она оказывается равной 16 Гбайт/с. Для сравнения: пропускная способность интерфейса AGP 8х приближается к 2 Гбайт/с.

Физические и электрические параметры плат расширения PCI Express 1x в большинстве случаев позволяют им размещаться и нормально функционировать в разъемах PCI Express 4x или 8x (обратное чаще всего неверно). Стандарт PCI Express 2.0 полностью обратно совместим со своим предшественником, т. е. графический адаптер, предназначенный для PCI Express 16х, гарантированно будет работать при установке в системную плату с разъемом PCI Express 2.0 16х. Возможен и такой вариант, как установка платы PCI Express 2.0 в гнездо PCI Express. В этом случае, разумеется, будет вдвое снижена максимальная пропускная способность платы расширения. Кроме того, потребуется дополнительное питание. Если системы с PCI Express не способны питать графический адаптер с потребляемой мощностью более 150 Вт, то платы PCI Express 2.0 могут потреблять до 300 Вт. Многие современные блоки питания уже оснащены восьмиконтактным штекером, предназначенным именно для графических адаптеров PCI Express 2.0, тогда как платы PCI Express обходятся шестиконтактным.

Директива на прорыв

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

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

И в такой гипотетической (пока?) ситуации, и при нынешнем положении дел набор интерфейсов программирования приложений (Application Programming Interface, API) становится чуть ли не более важным компонентом для компьютерной графики, чем «железные» вычислительные средства. Очередной API DirectX 10, разработанный Microsoft, – не исключение. Его применение, как утверждают в корпорации, способно существенно увеличивать производительность графических приложений (в два, три и более раз по сравнению с не оптимизированными под DirectX 10 их версиями).

Первый DirectX появился в ОС Microsoft в 1995 г. и был предназначен для разработчиков аудио– и видеоприложений для этой ОС. Данный API стал промежуточным слоем, позволявшим абстрагироваться от конкретного набора аппаратных средств, на которых будет исполняться программа, а также пользоваться широким спектром стандартных процедур для работы с графикой и звуком. Поскольку DirectX – программная надстройка над функциональностью самой ОС, его эффективность с точки зрения конечного пользователя в серьезной степени зависит не только от того, совместим ли он с кодом приложения (в наиболее общем случае компьютерной игры). Очень важно также, насколько эффективно сама ОС использует ресурсы аппаратных компонентов ПК. Таким образом, существенное значение приобретает корректная реализация драйверов (для графических адаптеров).

С точки зрения разработчика различия между DirectX версий 9 и 10 весьма значительны. Первый API появился на рынке в составе Windows XP, а второй сопровождал громкий выход Windows Vista; времени между этими двумя событиями прошло достаточно. Однако с точки зрения пользователя (если игра совместима и с 9-й, и с 10-й версиями DirectX) разница в восприятии работы двух API будет лишь зрительной.

В зависимости от того, какими объектами и персонажами насыщен игровой мир, человек по эту сторону монитора отметит при переходе от прежнего API к новому более мягкие по внутренним оттенкам и более четкие по контуру тени; заметно улучшенное отображение структуры кожи, меха животных и мелких элементов растений (листвы, травяных стеблей и т. п.); более реалистичную прорисовку тумана и дымки, а также водной толщи и объектов в ней; углубленную детализацию при отображении пространных ландшафтов. И, пожалуй, самое главное – значительно более интенсивное использование всей доступной мощности графического процессора, позволяющее в ряде случаев ощутимо разгрузить ЦП, что благотворно скажется не только на производительности компьютерной системы, но и на устойчивости ее работы.

Вскоре после появления DirectX версии 10 Microsoft объявила о ее модификации – API DirectX 10.1. На сегодня это последняя из официально объявленных версий DirectX. В отношении 10.1 мнения двух лидеров рынка графических плат разделились. AMD/ATI незамедлительно ввела поддержку этой версии на аппаратном уровне во все свои продукты. NVIDIA предпочла не отвлекаться на этот промежуточный релиз (фактически «заплату»), не тратить силы и средства на обеспечение его полноценной работы на своих графических адаптерах. В результате платы NVIDIA, даже новейшие, официально совместимы сейчас лишь с API DirectX 10.0.

Когда ждать объявления спецификаций нового «большого» релиза данного API (DirectX 11) и когда появятся первые ГП для него, пока неясно. Можно лишь предполагать, что Microsoft захочет воплотить в его рамках такие командные примитивы, как тесселяция, аппаратная трассировка лучей в реальном времени, прямой рендеринг прозрачных многоугольников, система глобального освещения и т. п.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату