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