Устройство графического процессора

 

Архитектура современных графических процессоров опирается на три фундаментальных свойства программ создания полигональной трехмерной графики:

  • высокая «арифметичность» графических алгоритмов с минимальной долей логических операций;
  • возможность эффективного распараллеливания графических алгоритмов;
  • потоковый характер операций графического конвейера.

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

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

С внедрением спецификаций API DirectX 9.0c (пиксельные и вершинные шейдеры версии 3.0) в графических алгоритмах появились динамические операции (условия). Характер и порядок обработки данных ставится в зависимость от того, каковы исходные данные. Поэтому пришлось создавать полноценные параллельные конвейеры, каждый из которых оснащен контрольной логикой.

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

1 Архитектура графического процессора
2 Вершинный процессор
3 Определение видимых поверхностей
4 Пиксельный процессор