Рис. 1.27. Структура графической системы с дисплейным процессором
Графические системы и модели
1.8.2. Конвейерная архитектура Совершенствование архитектуры графических систем шло параллельно с совершенствованием аппаратного обеспечения рабочих станций. В обеих областях существенный прогресс наметился после появления на рынке специализированных интегральных микросхем сверхбольшой степени интеграции (СБИС). Кроме того, радикальное снижение стоимости интегральных запоминающих схем привело к повсеместному переходу на растровый принцип создания изображения в системах компьютерной графики.
С точки зрения задач компьютерной графики наибольшее значение имеет возможность реализовать в специализированных СБИС конвейерный принцип обработки информации. Схема на рис. 1.28 иллюстрирует этот принцип на примере простейших арифметических вычислений.
Рис. 1.28. Арифметический конвейер
Эта простейшая конвейерная структура состоит из сумматора и умножителя. Пусть необходимо вычислить значения выражений вида а+(Ьхс), что требует одной операции сложения и одной операции умножения на каждое очередное выражение. Если вычисляется одно выражение, то время вычислений в такой структуре будет таким же, как и в единственном процессоре, использующем электронику с теми же динамическими характеристиками. Но если нужно выполнить подряд несколько однотипных операций с разными значениям операндов а, Ъ и с, то умножитель, выполнив умножение пары операндов первого набора, передаст результат на сумматор, и пока последний будет выполнять сложение, успеет выполнить умножение второй пары операндов. В результате время выполнения всей операции сократится вдвое (если, конечно, умножитель и сумматор выполняют свою работу с одинаковой скоростью). Таким образом, интегральная пропускная способность системы возрастает (в данном случае удваивается).
По этому же принципу можно создать и конвейеры с более сложной структурой, которые позволяют еще больше повысить пропускную способность специализированного вычислителя. Естественно, применять подобный конвейер имеет смысл только в том случае, если необходимо многократно выполнять вычисления по одним и тем же формулам с разными данными. Но в задачах компьютерной графики мы имеем именно такой случай - нужно многократно обрабатывать по одним и тем же формулам список вершин, характеризующих отображаемые объекты.