Архитектура современных графических процессоров опирается на три фундаментальных свойства программ создания полигональной трехмерной графики: • высокая «арифметичность» графических алгоритмов с минимальной долей логических операций; • возможность эффективного распараллеливания графических алгоритмов; • потоковый характер операций графического конвейера. Первичные данные, с которыми оперирует современная компьютерная графика (вершины, матрицы преобразования, значения цвета) относятся к векторному типу. Большинство операций, выполняемых графическим процессором, являются векторными. Графические вектора, как правило, четырехмерные: три цветные компоненты (R, G, В) и степень прозрачности (альфа-канал). Поэтому графические процессоры содержат четырехмерные векторные АЛУ (арифметико-логические устройства), исполняющие операции с компонентами того или иного формата. Операции с цветом и прозрачностью — чисто арифметические, логически данные друг от друга не зависят, поэтому их можно выполнять параллельно, то есть за один шаг. Для этого достаточно иметь один векторный АЛУ и общий блок контрольной логики, обеспечивающий произвольную перестановку компонентов перед вычислениями. В реальных задачах обычны ситуации, когда надо обработать только двумерные векторы или скалярные величины (особенно это касается пиксельных конвейеров и пиксельных алгоритмов). В этом случае вычисления оптимизируются по схеме 2+2 (две операции над двумерными компонентами). Особенность графических алгоритмов в том, что объекты, обрабатываемые в графическом конвейере, как правило, не зависят друг от друга. Например, при обработке вершин треугольника совершенно не важен порядок вычислений. Поэтому в современных графических процессорах может быть несколько вершинных блоков. Обработка пикселов еще лучше поддается распараллеливанию. Как следствие, происходит рост числа пиксельных конвейеров в архитектуре GPU. То есть наращивать мощность графического ускорителя можно простым клонированием вершинных и пиксельных блоков.