В данном разделе:
Рабочие станции (иногда называют "графические станции") появились в конце 70-х как результат сбалансированного объединения лучших технологий: построение процессоров, работа с графическими объектами и устройствами, организация ввода/вывода, организация связи - в одной системе, удобной для решения инженерных задач.
Многие идеи, появившиеся в 80-е годы, наложили свой отпечаток на рабочие станции, построенные, в основном, из стандартных компонент. Что, в свою очередь, отразилось на производстве компьютеров: увеличение роли ОС Unix, рождение концепции "открытых систем", разработка новых стратегий производителями компьютеров.
В начале 90-х производительность рабочих станций по многим параметрам приблизилась к большим машинам (mainframe). По закону Джой такой показатель как MIPS удваивается каждые два года с 1 MIPS в 1984 до 64 MIPS в 1990. Наибольшие отличия сегодня можно обнаружить в направлении наиболее быстрого развития - визуализации 3D объектов и росте интерактивных возможностей, - поднимающем производительность труда исследователей и инженеров.
В течении длительного времени было довольно трудно сравнивать производительность рабочих станций, особенно в области графики. Но сейчас ситуация изменилась. В связи с достижением согласия в области стандартов, таких как Unix, X Window, Phigs+ , стало гораздо легче разработать и применить процедуры для оценки производительности рабочих станций. А также, что не менее важно, одинаковым образом проинтерпретировать полученные результаты.
Суперстанция (superworkstation) - это соединение в одной системе возможностей рабочей станции (3D графика, интегрированность) и суперкомпьютера (быстрый ввод/вывод, векторизация вычислений). В настоящее время на западном рынке представлено около 120-ти моделей рабочих станций и 20-ти моделей Х-терминалов. Среди них около 20-ти можно считать суперстанциями, отобранными, например, по производительности при работе с 3D графикой.
Типичную суперстанцию можно описать, как организованную эффективным образом систему из следующих компонент:
· одно или несколько 32/64-битных ЦПУ с кэш-памятью;
· сопроцессоры с плавающей запятой и/или векторный;
· графическая подсистема с процессором, кадровым буфером и Z-буфером;
· не менее чем 32-битная внутренняя шина;
· сетевой контроллер (FDDI, Ethernet Token Ring);
· быстрый дисковый контроллер (IPI, SCSI ...);
· от 16 до 256 мегабайт внутренней памяти;
· стандартная шина ввода/вывода (VME, EISA, MCA ...) для
подключения периферийных устройств (диска, магнитофона ...);
· один или несколько асинхронных портов;
· монитор, клавиатура, мышь;
· Unix, X Window, NFS, PHIGS, GKS, C, Fortran, TCP-IP, NCS,
эмуляторы графических терминалов, средства отладки ...
Технические характеристики некоторых суперстанций приведены в таблицах 1-4 раздела 6.
Рабочие станции развиваются более динамично, чем другие классы компьютеров: рост рынка, снижение цен, рост производительности. Современные достижения в областях: ЦПУ, шины, графика, ОС, диски, ј могут быть использованы в рабочих станциях.
Указанные процессы приведут к тому, что:
· возрастет общая производительность рабочих станций;
· увеличатся периферийные возможности;
· улучшится программное обеспечение;
· улучшатся эргономические характеристики рабочих станций.
Анализируя тенденции развития архитектур растровых графических рабочих станций (ГРС), ориентированных на интерактивную графику можно отметить, что за последние годы сформировалась и стала традиционной архитектура, включающая центральный процессор и растровую графическую дисплейную систему. Центральный процессор выполняет функции обмена информацией между ГРС и внешним миром (базовой ЭВМ или вычислительной сетью), диспетчеризации потоков данных между компонентами рабочей станции и предварительной обработки данных. Растровая графическая дисплейная система осуществляет функции формирования и модификации наборов данных в памяти изображения (видеопамяти) и управляет режимами вывода графической информации на растровый монитор.
Растровая графическая система современной архитектуры состоит из следующих функциональных компонент:
В растровых дисплейных системах видеопамять организована в виде прямоугольного массива точек. Элемент видеопамяти, стоящий на пересечении конкретных строки и столбца видеопамяти, хранит значение яркости и/или цвета соответствующей точки. Отображаемая на экране часть видеопамяти называется экранным буфером (буфером регенерации или экранной битовой картой). Регенерация изображения осуществляется последовательным построчным сканированием экранного буфера.
Так как каждый элемент видеопамяти определяет один элемент отображения размером в точку на экране монитора, то каждая точка экран (и соответствующий ей элемент видеопамяти) обозначаются термином пиксел (pixel - picture element).
Задача системы вывода изображений (видеоконтроллера) состоит в циклическом построчном просмотре экранного буфера от 25 до 100 раз в секунду. Адреса видеопамяти генерируются синхронно с координатами растра и содержимое выбранных пикселов используется для управления цветом и интенсивностью луча. Общая организация системы вывода изображений приведена на рис. 0.2.3.
Генератор растровой развертки формирует сигналы отклонения и управляет адресными X и Y регистрами, определяющими следующий элемент буфера регенерации.
В идеальном случае время, требуемое для регенерации экранного буфера, должно быть много меньше, чем время, необходимое для манипуляций с данными, что позволит быстро обновлять или двигать изображение. Это означает, что усилители отклонения и усилитель, управляющий интенсивностью луча, должны быть очень широкополосными, чтобы обеспечить требуемую скорость передачи данных между экранным буфером и системой вывода изображения.
Частота регенерации для графических дисплейных систем среднего разрешения лежит в пределах 50 Мгц, а для систем высокого разрешения достигает 100-125 Мгц, с явной тенденцией к частотам более 125 Мгц в последнее время. При таких частотах таймирование регенерации экранного буфера становится важной задачей при проектировании подсистемы графического вывода. Так ка обычная DRAM память не обеспечивает времени доступа, подходящего для существующих мониторов высокого разрешения, то регенерация видеопамяти на таких частотах требует ее специальной организации. Пример организации видеопамяти, построенной на обычной динамической памяти с произвольным доступом (DRAM) приведен на рис. 0.2.4.
В такой системе регенерация экранного буфера видеопамяти осуществляется с помощью параллельно-последовательного преобразования. Выполняя регенерацию, видеоконтроллер выставляет адрес слова, требуемое слово данных видеопамяти (обычно 16-32-64 бита) затем трансформируется в последовательный видеопоток (videostream) с помощью внешнего сдвигового регистра под контролем аппаратуры регенерации. На рис. 0.2.4 показана реализация регенерации экранного буфера для системы с одним слоем. Системы регенерации со многими слоями требуют такого же количества (16-32-64) битовых слов, подлежащих регенерации и параллельно-последовательных сдвиговых регистров, что и число битовых слоев видеопамяти.
Если частота регенерации экранного буфера составляет порядка 100 Мгц, то такое параллельно-последовательное преобразование уменьшает требования к частоте тактирования параллельно считываемого слова из экранного буфера видеопамяти до 6.25 Мгц, что требует времени доступа порядка 160 нс. При такой организации видеопамяти манипуляции с данными и обновление экрана должны происходить во времена межстрочного и межкадрового интервалов, когда регенерации не происходит. Таким образом, узкое место для обычной DRAM памяти в качестве видеопамяти в графических дисплейных системах вытекает из двух противоречивых требований:
· для растровых дисплейных систем должна осуществляться
постоянная регенерация экранного буфера видеопамяти, что требует
считывания выводимой на экран монитора графической информации с
периодическим, жестко заданным циклом;
· с другой стороны, требуется время для обновления больших
массивов данных видеопамяти со стороны собственно аппаратуры
генерации изображений, работающей, как правило, в цикле
чтение-модификация-запись.
Доступные в настоящее время DRAM устройства даже с наиболее быстрыми режимами доступа не обеспечивают быстрого чтения их содержимого для поддержки требуемого ритма регенерации, оставляя крайне мало времени графическому процессору для модификации изображения. Таким образом, ограниченная полоса пропускания DRAM памяти ограничивает доступ аппаратуры формирования изображений к данным видеопамяти на время значительных периодов регенерации экранного буфера. Проблема усложняется по мере увеличения экранного буфера из-за возрастания числа отображаемых пикселов для мониторов высокого разрешения или при увеличении числа битов на пиксел в системах с большим количеством отображаемых цветов.
Для решения этой проблемы разработаны различные архитектуры видеопамяти, включая двухпортовую видеопамять, двойное буферирование и др.
Однако лучшее решение этой проблемы достигается за счет применения нового типа DRAM памяти, получившей название VRAM (Video Random Accses Memory), например. Texas Instrument 4161, разработанной специально для использования в качестве памяти изображения в растровых дисплейных система. Структурная схема подобной памяти приведена на рис. 0.2.5.
Эта видеопамять содержит 2 порта, обеспечивая независимый доступ со стороны видеоконтроллера для регенерации и аппаратуры формирования изображений - графических процессоров. VRAM фактически представляет собой обычную DRAM память, которая была "внутренне" модифицирована посредством добавления сдвигового регистра. D и Q - это обычные входы и выходы порта с произвольной выборкой. Сигнал TR активируется на время передачи данных между сдвиговым регистром и видеопамятью. Сигналы SIN и SOUT - последовательные вход и выход сдвигового регистра, а сигнал SCLK - последовательный вход, управляющий сдвиговым регистром. Сдвиговый регистр загружается параллельным потоком в 256 бит из массива памяти за один цикл регенерации экрана. Длительность этого цикла не длиннее, чем стандартный цикл памяти. Обычно сдвиговый регистр загружается 1 раз во время обратного хода луча. Когда обратный ход заканчивается, на вход SCLK подается сигнал, вызывая сдвиг данных на последовательном выходе SOUT.
На рис. 0.2.5 показан модуль видеопамяти объемом 64 Кбайт. Видеопамять объемом 256 Кбайт может быть построена из 4 модулей по 64 Кбайт (рис. 0.2.6).
В этом случае выходы SOUT от нескольких VRAM модулей подаются на параллельные входы внешнего сдвигового регистра, последовательный выход (CLK) которого тактируется со скоростью вывода точек (видеопотока битов), требуемой для регенерации экрана монитора.
В видеопамяти с такой организацией время на регенерацию экранного буфера (отображения на экран монитора) составляет менее 1.5% времени доступа. В системах же с обычной DRAM памятью время на регенерацию экрана составляет от 40% до 60% времени доступа.
Таким образом, применение VRAM обеспечивает практически полное время доступа для модификации данных видеопамяти, так как на одну строку сканирования растра требуется одна загрузка сдвигового регистра. Следовательно, в то время как предварительно загруженные видеоданные "выталкиваются" из сдвигового регистра в канал графического вывода, одновременно может осуществляться произвольный доступ к видеопамяти со стороны графических процессоров для модификации изображения.
Рассмотрим архитектуры видеопамяти с точки зрения манипуляции/обновления данных. Вопросы, относящиеся к выборке и обработке данных в видеопамяти графическим и/или центральным процессором, оказывают существенное влияние как на организацию самой видеопамяти, так и на внутреннюю архитектуру технических средств формирования изображений. Изображение, хранящееся в видеопамяти, концептуально может быть представлено в виде куба (рис. 0.2.7).
Каждый пиксел, выводимый на экран монитора, состоит из отдельных битов видеопамяти, находящихся внутри куба.
Соотношение между значением пиксела, отображаемого из экранного
буфера видеопамяти, и цветом на экране монитора устанавливается с
помощью таблицы цветности видеоконтроллера. Доступ к данным,
хранящимся внутри куба, необходим для их модификации и манипуляций с
ними, регенерации экранного буфера и его обновления. В основном
имеются 3 конфигурации: организация видеопамяти "в глубину",
ориентированная на обработку элементов отображения - ЭО (пикселов),
организация видеопамяти в виде битовых слоев (разрядных матриц) и
"смешанная" архитектура.
При такой организации видеопамяти обрабатываемые в каждый момент данные есть пиксел. В этом случае для многих слоев видеопамяти, генерируемый адрес вызывает слово данных, представляющих композицию битов "сквозь" слои, составляющие видеопамять (отсюда появился термин "глубина пиксела" - "pixel depth"). Такая архитектура применяется в системах высокого разрешения, предназначенных для обработки цветной трехмерной графической информации, например, в обработке изображений и моделировании структур твердых тел, т.е. там где значения каждого пиксела подвергаются интенсивным вычислениям. Эти применения, как правило, требуют "глубины пиксела" от 8 до 22-24 бит. В архитектуре "в глубину" данные в видеопамяти обрабатываются поэлементно. В случае использования для воспроизведения изображений, состоящих из нескольких цветовых плоскостей, адрес, направляемый в экранный буфер, генерирует слово данных, составленное из битов, представляющих собой одноименные разряды требуемых разрядных матриц.
В "слойной" ("plane") архитектуре данные видеопамяти обрабатываются как одно слово (обычно 16 бит) в каждый момент времени (пословная обработка) и отдельно для каждого слоя (разрядной матрицы).
Чтобы изменить один разряд слова видеопамяти, вместе с ним необходимо передать и оставшиеся 15 разрядов. Кроме того, для того чтобы обеспечить позиционирование и перемещение изображения с точностью до бита и с удовлетворительной скоростью, требуется специализированная аппаратура, осуществляющая быстрые сдвиги и "слияния" цепочек битов видеопамяти ("barrell shifter" [76]). Однако, несмотря на это условие, "слойные" архитектуры видеопамяти являются наиболее популярными в интерактивных 2D системах, так как требуют менее интенсивных вычислений значений пикселов (по сравнению с архитектурой "в глубину"), но более интенсивных вычислений при создании и перемещении изображения. Такие архитектуры видеопамяти часто находят применение в системах обработки инженерной и экономической информации, поскольку для них характерен значительный объем операций, связанных с манипуляциями данными и перемещении изображения.
Кроме того, достоинством такой архитектуры является возможность пословного доступа к видеопамяти со стороны центрального процессора (при соответствующей организации такая видеопамять для центрального процессора ничем не отличается от обычной оперативной памяти). Пословный доступ при достаточной разрядности слова (16-32 бит) и ограниченных требованиях к цвету (до 16 цветов, что требует четырех слоев видеопамяти) и при наличии аппаратных средств быстрого сдвига дают выигрыш в скорости, так как за один цикл памяти считывается сразу 16-32 битов данных, подлежащих модификации.
В этой архитектуре доступ к данным видеопамяти может производиться как по "глубине" пиксела, так и в "ширину", реализуя лучшие возможности обеих архитектур.
Следует отметить, что такие архитектуры в последнее время применяются в дисплейных системах наиболее дорогих рабочих станций, поскольку требуют значительных аппаратных затрат на их реализацию.
Во многих специальных применениях используются и другие архитектуры, например, [60,,].
В основе архитектуры современных рабочих станций лежат многопроцессорность и конвейерная обработка. Такой подход позволяет разделить процессы модельных, видовых и функционально-растровых преобразований и дает возможность каждому из них выполняться на выделенном, как правило, специализированном устройстве со своей собственной скоростью. (Модельные преобразования - преобразования, используемые для построения модели объекта в системе координат пользователя. Видовые преобразования - преобразования, используемые после модельных при выполнении отображения в поле вывода. Математически модельные и видовые преобразования имеют одинаковую форму, но применяются в различное время и относятся к разным подсистемам графического конвейера. Функционально-растровые преобразования - преобразование примитивов вывода в растровую форму).
Из вышеперечисленных наиболее длительным и обрабатывающим б\'ольшие объемы данных является процесс функционально-растровых преобразований.
Ускорение этого процесса достигается за счет усложнения архитектур дисплейных систем, в состав которых вводятся дополнительные вычислительные мощности - от высокопроизводительных процессоров общего назначения [73] и/или специально разрабатываемых процессоров [79,] до специализированных графических СБИС [72,], берущих на себя основные функции по формированию изображений в растровой форме и управлению видеопамятью.
Специализированные микросхемы для графических дисплейных систем занимают в настоящее время одно из важных мест на мировом рынке. Ведущие фирмы в этой области: Advanced Micro Devices, Intel, NEC, Texas Instruments, Hitachi, National Semiconductor. Разработки этих фирм в области технических средств формирования изображений представляют собой высокопроизводительные графические процессоры, которые требуют минимального вмешательства со стороны центрального процессора для выполнения графических функций высокого уровня. Например, разработки фирм Intel и Texas Instruments выполнены в виде отдельных СБИС, реализующих широкий набор функций. Набором функций, реализуемых этими однокристалльными процессорами, фирмы намерены обеспечить выполнение всех запросов потенциальных потребителей - разработчиков графических дисплейных систем. Фирма National Semiconductor разработала набор СБИС, из которых можно строить графические системы с различными характеристиками, ориентированные на выполнение необходимого набора функций. Предполагается, что в этом случае разработчик сам определит требуемый набор функций и реализует его, используя те или иные компоненты из набора СБИС.
Несмотря на то, что при проектировании этих устройств использовались концептуально разные подходы, (что наложило свой отпечаток на их функциональные возможности и внутреннюю архитектуру) все они ориентированы на формирование изображения в битовых картах (BitMap) и обладают рядом общих характеристик:
· поддержка современных 2D графических стандартов (GKS, CGI и т.д.),
· возможность адресации больших объемов видеопамяти (от 4 Мбайт и более),
· эффективная реализация операции блочной переписи (BitBlt
Bit boundary Block Transfer), представляющей мощное средство для
создания многооконных графических систем. Скорость выполнения
операций блочной переписи превышает 20 Мбит/с.
Рассмотрим некоторые из устройств более подробно.
TMS-34010 - первый графический микропроцессор, поддерживающий пользовательскую графику вместо встроенных графических примитивов [59]. При постановке задачи разработчики TMS-34010 определили, что простое расширение числа аппаратно реализованных графических функций было бы (на их взгляд) фундаментальной ошибкой по следующим причинам:
1. Спектр графических функций устройства был бы жестко зафиксирован. В этом случае возможна аппаратная поддержка только относительно немногих примитивов вывода (как правило, определенных современными графическими стандартами), а новые примитивы или старые, но с расширенными возможностями, не смогут быть поддержаны.
2. Даже стандартизованные графические примитивы могут требовать многих атрибутов отрисовки, таких как ТИП ЛИНИИ, ШИРИНА ЛИНИИ, ЦВЕТ ЛИНИИ, ПРОЗРАЧНОСТЬ и других. Аппаратная реализация означает "жесткий" выбор поддерживаемых атрибутов, следовательно, некоторые не часто используемые либо незастандартизованные, но существенные для отдельных применений атрибуты будут опущены, например, ФОРМА КОНЦОВ ЛИНИИ (endpoint shape).
3. Высококачественная графика требует точного контроля над алгоритмами формирования изображений. Концептуально отрисовка в битовых картах означает выбор ближайших пикселов на растровой дискретной сетке, что вызывает ошибки округления, видимые как ступеньки ("зазубрины" - "jaggies"), образующие "эффект лестницы" при отрисовке наклонных линий. Графический пакет качественной графики может требовать доступа "сверху" (со стороны программы пользователя) для исправления такого рода эффектов (алгоритм сглаживания - antialiasing), либо дополнительных параметров для реализации этих требований на аппаратном уровне.
4. Формат дисплейного списка, или команд формирования изображений может варьироваться в соответствии с требованиями пользователя. Например, для формирования шрифтов с фиксированной матрицей знакоместа (непропорциональный шрифт) используется относительно простой формат команды, в то время, как шрифт с переменными размерами матрицы (пропорциональный) требует более сложного формата команды.
Единственный способ удовлетворить всем возможным требованиям при реализации команд формирования изображений - это иметь полностью программируемый процессор, интерпретирующий графические команды.
Таким образом TMS-34010 был разработан чтобы предоставить пользователю максимальную гибкость для реализации графических примитивов и, в то же время, обеспечить требуемую скорость формирования изображений (не сильно уступая в этом отношении графическим процессорам и контроллерам с "чисто аппаратной" реализацией графических функций). С помощью TMS-34010 можно реализовать практически любые алгоритмы отрисовки графических примитивов, которые могут быть востребованы как для отдельных специальных приложений, так и по мере появления новых графических стандартов.
Набор из 120 инструкций поддерживает восемь типов адресации и четыре основных типа данных - массивы упакованных пикселов, X-Y координаты, прямоугольные окна и битовые поля произвольной длины.
Для реализации алгоритмов графических примитивов вывода в TMS-34010 используются инструкции общего назначения, а для повышения скорости отработки этих алгоритмов (собственно манипуляций с пикселами в видеопамяти) используется аппаратно реализованный набор графических инструкций. Таким образом, в TMS-34010 полный набор инструкций общего назначения, который может поддержать программирование на языке высокого уровня, "замешан" с мощным набором специальных графических инструкций, например, такими как перепись блока битов (BitBlt), являющейся базовой операцией в современной растровой графике.
Графический процессор TMS-34010 содержит полностью программируемый 32-х разрядный процессор со схемами адресации памяти и системой команд, ориентированной на операции над пикселами, набор из 31 32-битных регистров и кэш-память инструкций на 256 байт. В дополнение TMS-34010 содержит контроллер управления растровым монитором, отдельный интерфейс с центральным процессором, интерфейс с DRAM/VRAM памятью.
Так как инструкции процессора выбираются из кэш-памяти, то он может выполнять вычисления параллельно с работой с памятью его устройства управления ОЗУ.
Для повышения скорости отработки графических функций используются специальные аппаратные средства: барабанный сдвигатель (barrell shifter); логика маскирования и слияния цепочек пикселов; аппаратура определения левого единичного бита; компаратор окон, связывающий отсечение графических примитивов вывода с прямоугольными зонами графического буфера.
TMS-34010 использует такое упорядоченное расположение пикселов в видеопамяти, при котором оно представляет собой единое линейное адресное пространство. Процессор имеет возможность адресации от 1 до 32 бит в линейном и координатном масштабах. Возможное число битов, описывающих пиксел, ограничено 16-ю битами. Слово данных может быть определено как четыре 4-битных пиксела, как два 8-битных, один 16-битный. Такой подход удачно сочетается с возможностями 32-битной архитектуры, так как он позволяет производить быстрые операции над пикселами любого заранее указанного размера. Однако, скорость выполнения операций чтения-модификации-записи элемента отображения при такой архитектуре не является постоянной при работе в режимах с различным числом бит на пиксел, что несколько затрудняет построение универсальных гибких графических систем.
С использованием TMS-34010 могут быть построены системы с объемом видеопамяти до 8 Мбайт, содержащей некоторое количество неотображаемой "заэкранной" информации, такой как различные шрифты или предварительно подготовленные изображения в виде битовых карт различного формата, например, пиктограммы. Пример использования TMS-34010 при построении графической системы приведен на рис. 0.2.8.
Как правило, система, базирующаяся на TMS-34010, в общем случае содержит видеопамять порядка 0.5 Мбайт (VRAM) и 1-3 Мбайт программной памяти (DRAM), ПЗУ с программами инициализации, эмуляции предыдущих видеоадаптеров и графическими библиотеками [48].
Примером системы, реализованной на базе TMS-34010, может служить плата расширения для PC AT GENESIS 1024 фирмы National Design Inc. При разрешении 1024×768×4 точек плата обеспечивает скорость рисования до 48 Мпиксел/с и поставляется с CGI, AutoCAD и HPG (Harvard Presentation Graphics) совместимыми интерфейсами.
TMS-34010 тактируется от внешнего 50 МГц генератора. Внутренняя частота составляет 6.25 МГц, что дает возможность выполнения более 6 млн. инструкций/с при работе с кэш-памятью. Устройство выполнено по 1.8 микронной CMOS технологии в 68-выводном корпусе.
В 1988 г. Texas Instrument анонсировала преемника TMS-34010 - графический процессор TMS-34020. Он включает 32-разрядный шинный интерфейс (со страничным режимом доступа), высокоскоростной тактовый генератор (10 MIPS) и дополнительные графические инструкции (3-операндные PixBlt). Графический процессор не делает различия между программной и дисплейной памятью. Он может адресовать 512 Мбайт. Пикселы могут быть доступны по их X-Y экранным координатам, которые автоматически преобразуются в линейное адресное пространство памяти. Скорость вычерчивания линий достигает 5 Мпикселов/с.
Графический процессор выполняет BitBlt операции не только с 16 булевскими операциями, но и также и с 8 арифметическими функциями, такими как сложение или вычитание значений пикселов. Единственной BitBlt инструкцией графический процессор может извлечь данные для символа с 1 битом на пиксел из бинарной таблицы шрифта, транслировать их в многобитные цветные данные и разместить в некоторое место дисплейной памяти. Скорость выполнения BitBlt операций составляет 25 МБит/с.
Графический процессор поддерживает отсечение во время отрисовки в произвольно определенном окне отсечения. Инструкция теста окна определяет находится точка внутри или вне окна, так что если линия не пересекает прямоугольник, то она не будет вычерчиваться.
Для использования в 3D графических системах предусмотрен сопроцессор TMS-34082 для выполнения операций с плавающей запятой, который подключается к графическому. Этот чип работает со скоростью 40 MFLOPS. Он уместен для вычислений 3D геометрии и освещенности. В дополнение к функциям АЛУ он поддерживает 3D функции типа умножения матриц 4×4, отсечения полигона (прямое вычисление точки пересечения), тестирование заднего плана и генерацию 3D кубических сплайнов. Эти операции выполняются микропрограммно.
Гибкость графического процессора способствует значительному расширению спектра графических акселераторов, построенных на его основе, особенно для индексированных цветных дисплеев.
Использование TMS-34020 в графической системе показано на рис. 0.2.9.
INTEL 82786 (i82786) предназначен для использования в растровых графических станциях САПР, а также в профессиональных персональных ЭВМ высокой производительности [112]. СБИС i82786 обеспечивает скоростную обработку графических и текстовых данных, осуществляет их высококачественное отображение и поддерживает режим многозадачности.
Основным положением при разработке i82786 была возможность его использования в качестве графического сопроцессора в системах на основе микропроцессоров фирмы Intel 80186, 80286, 80386. В отличие от TMS-34010, который работает автономно, i82786 работает под управлением центрального процессора: для него не существует собственных программ, а лишь поток команд и данных, получаемых от центрального процессора графической станции. Графический сопроцессор i82786 имеет собственную 22-разрядную шину адресов (что позволяет адресовать до 4 Мбайт видеопамяти) и 16-разрядную шину данных, осуществляет доступ в системную память и выбирает данные и команды, сформированные в ЦП. Набор команд сопроцессора делится на четыре функциональные группы: общего управления; управления параметрами отрисовки изображений; генерации графических примитивов и операций блочной переписи и формирования окон.
Таким образом, в отличие от TMS-34010, специалисты фирмы Intel стремились создать графический сопроцессор, который покрывает практически весь спектр графических примитивов вывода современных графических стандартов, включая операции блочной переписи.
Особенностью графических систем, построенных на основе i82786, является возможность доступа центрального процессора непосредственно к видеопамяти, независимо от i82786. Важно отметить, что поскольку при этом центральный процессор станции имеет доступ ко всей видеопамяти, то прикладные программы пользователя могут реализовывать не часто встречающиеся, но, возможно, существенные примитивы отрисовки для высококачественной графики. Этим достигается требуемая гибкость реализации "нестандартизованных" графических функций, однако при этом теряется скорость их рисования.
Эффективная поддержка многооконной технологии в многозадачном интерактивном режиме достигается за счет введения специальной внутренней архитектуры. СБИС i82786 содержит четыре основных модуля: графический и дисплейный процессоры, устройство сопряжения с магистралью и контроллер видеопамяти. Все модули работают относительно независимо, что обеспечивает высокие скоростные характеристики микросхемы. Архитектура и использование i82786 в графической системе приведены на рис. 0.2.10.
Выполняет команды, размещенные в системной памяти и формирует изображения в битовых картах видеопамяти для дисплейного процессора во взаимодействии с контроллером видеопамяти и интерфейсным устройством шины. Процессор оптимизирован для отработки современных графических стандартов (GKS, CGI, Microsoft Windows). Все команды, выполняемые графическим процессором, включая BitBlt операции, сопровождаются богатым набором атрибутов отрисовки, наиболее часто используемых в стандартных графических пакетах. Графический процессор обладает развитыми аппаратными возможностями, позволяющими снизить до минимума число параметров в командах для формирования примитивов в растровой форме. Список графических команд и параметров создается центральным процессором и хранится в системной памяти. Графические команды выбираются из связанного списка графических команд при обращении к системной памяти через логику шинного интерфейса и обрабатываются графическим сопроцессором.
Для синхронизации работы ЦП и сопроцессора используется флаг завершения формирования списка параметров. СБИС i82786 начинает выполнение команды, если ЦП завершил формирование списка параметров к этой команде и установил соответствующий флаг. Такой режим обмена позволяет значительно повысить системную производительность.
Производительность графического процессора зависит от частоты доступа к видеопамяти (каждое модифицируемое в видеопамяти слово требует цикла "чтение-модификация-запись"). Скорость работы графического процессора определяется также шириной полосы пропускания видеопамяти. Имея специальную память (VRAM), графический процессор может использовать до 99% полосы пропускания; при использовании в качестве видеопамяти обычных динамических БИС ЗУ (DRAM) - 50%-90%.
Особенность дисплейного процессора - возможность реализации полиэкранного режима за счет имеющихся аппаратных средств поддержки. Дисплейный процессор преобразует битовые карты, создаваемые графическим процессором в растровые последовательности для видеоконтрольного устройства, которое отображает их в виде отдельных окон на экране графического монитора. Процессор оптимизирован для данных, представленных в виде битовых карт. Дисплейный процессор работает независимо от графического по собственной программе, описывающей таблицу конфигурации кадра (экранного буфера), которая формируется ЦП и размещается в определенной области видеопамяти. Обрабатывая битовые карты, дисплейный процессор воспроизводит их содержимое в нужных областях экрана, выполняя свои команды в течение межкадрового промежутка, что обеспечивает получение "чистого" (без мерцаний) изображения. Для синхронизации ЦП и дисплейного процессора используется механизм квитирования. После выполнения каждой команды дисплейный процессор устанавливает флаг, указывающий что ЦП может загружать следующую команду.
Дисплейный процессор разделяет экранную область видеопамяти на горизонтальные полосы высотой в произвольной число строк. Полосы представляют собой блоки ("черепицы" - "tiles"), которые относятся к различным сегментам окна (рис. 0.2.11). Структура управляющего блока дескриптора приведена на рис. 0.2.12.
Допускается до 16 горизонтальных окон-сегментов на каждую отдельную строку растра. Минимальная ширина окна равна 1/16 длины строки.
Таблица описаний дескрипторов полос ("черепиц") содержит заголовок, в котором указаны число строк в полосе, адрес дескриптора следующей полосы, число блоков в текущей полосе. Затем идут данные, описывающие блоки и включающие указатели, ассоциированные с битовыми картами и атрибуты. Таким образом для каждого кадра формируется таблица конфигурации в виде связанного списка команд дисплейного процессора.
Одной из важных особенностей дисплейного процессора является возможность поддержки аппаратного курсора. Можно устанавливать размер курсора в матрице 8×8 или 16×16 пикселов. Курсор может быть прозрачным, непрозрачным, в виде стрелки, креста и т.д. Цвет курсора, его прозрачность и мерцание задаются программным способом. Программируются также сигналы синхронизации мониторов с разрешающей способностью до 4096×4096 пикселов.
Интерфейсные устройства шины реализуют четыре логических интерфейса: внешний; доступа к видеопамяти для внутреннего графического процессора; доступа центрального процессора к регистрам графического и дисплейного процессоров и видеопамяти; сигналов регенерации видеопамяти. В зависимости от числа бит на пиксел изменяется режим работы дисплейного процессора. Так, например, можно использовать следующие частоты тактирования: 25 МГц при 8 бит/пиксел, 50 МГц при 4 бит/пиксел, 100 МГц при 2 бит/пиксел, 200 МГц при 1 бит/пиксел.
Работа i82786 обеспечивается системным тактированием 10 МГц и видеотактированием 25 МГц и обеспечивает следующие скорости формирования изображений:
· построение линий - 2.5 млн. пикс./с,
· построение окружностей и дуг - 2 млн. пикс./с,
· блочная перепись - 24 млн. пикс./с,
· заливка областей - 30 млн. пикс./с (с использованием процедуры заливки горизонтальной линией),
· построение символов - 25 млн. символов/с (шрифт 16×16. Более крупные шрифты требуют программной поддержки со стороны ЦП).
Сопроцессор i82786 может выполнять вертикальный и горизонтальный Roll (перемещение) без дополнительной внешней аппаратуры, обеспечивать аппаратное увеличение с коэффициентом масштабирования до 64, поддерживать разрешающую способность от 640×480×8 до 1024×1024×2.
Микросхема выполнена по CHMOS технологии в 88-выводном корпусе.
Набор графических СБИС AGCS 85xx (Advanced Graphics Chip Set) фирмы
National Semiconductor предназначен для построения гибких модульных
графических систем, имеющих высокую производительность и высокую
скорость формирования изображения и обмена графической информацией в
виде битовых карт [64].
В набор AGCS входят: растровый графический
процессор DP-8500 (RGP - Raster Graphics Processor), процессор обмена
блоками информации в виде битовых карт DP-8510 (BPU - BitBlt
Processing Unit), генератор тактовых импульсов для вывода
видеоизображения DP-8512 (VCG - Video Clock Generator) и
высокоскоростной сдвиговый регистр DP-8515 (VSR - Video Shift
Register). Набор AGCS соединяет в себе производительность
функционально-ориентированных устройств (например, i82786)
с возможностями программируемых графических процессоров (например,
TMS-34010).
Изготовлен по 2-х микронной CMOS технологии и работает на частоте 20 МГц. Процессор характеризуется 100 нс шинным циклом при работе со следующими непосредственно друг за другом векторными и блочными операциями. Скорость построения линий на экране равна 300 нс/пиксел. Производительность типичной системы на основе растрового процессора лежит в пределах от 10 млн. до 160 млн. пикс./с. Достижение подобных характеристик стало возможным благодаря специальной внутренней архитектуре растрового процессора DP-8500, использующего отдельное АЛУ для адресации и отдельное АЛУ для обработки данных, т.е. разделяющей функции, которые в традиционных процессорах, как правило, реализуются единым АЛУ.
Процессор DP-8500 разделен на два блока, которые функционируют под управление обычного набора микрокоманд и представляют собой арифметико-логические устройства (одно для адресации, а другое для обработки данных), работающих параллельно. Оба АЛУ управляются единым потоком команд, считываемых из внешней памяти и декодируемых с помощью устройства микропрограммного управления. В число этих команд входят команды межрегистровых передач обоих процессоров и другие вспомогательные средства, размещенные на кристалле. Благодаря архитектуре со сдвоенными АЛУ, процессор DP-8500 можно с успехом применять в системах с различными типами архитектуры дисплейной системы.
Адресный процессор - это 28-разрядное АЛУ со своим набором команд и группой их 16 28-разрядных регистров.
Процессор обработки данных представляет собой 16-разрядное АЛУ, имеющее относительно богатый набор команд, оптимизированный для решения графических задач и группу из 16 16-разрядных регистров. Кроме того, предусмотрены регистры для выполнения ряда специализированных функций, которые связаны с обслуживанием графических операций и операций по регенерации изображения. В составе DP-8500 имеются специализированные схемы для реализации ряда графических операций и, в первую очередь, передач блока битов (блочная перепись), построения линий и отсечения участков изображения, а также видеоконтроллер кадровой развертки.
Располагаясь в тракте конвейерной обработки графической информации, DP-8500 ожидает поступления (завершения формирования) дисплейного списка: списка подлежащих отработке графических примитивов вывода. После его получения DP-8500 приступает к непосредственной интерпретации команд дисплейного списка и графические примитивы, переведенные в растровую форму, записываются в видеопамять. Выполнив последнюю команду в списке, DP-8500 сигнализирует о завершении процедуры, заканчивает обмен с ЦП и дает разрешение на готовность отработки следующего потока команд. Структурная схема растрового графического процессора DP-8500 приведена на рис. 0.2.13.
Следует отметить, что в отличие от конкурирующих графических процессоров, применение DP-8500 не ограничено его использованием с экранным буфером всего лишь одного типа. Процессор можно применять не только с любой из двух основных архитектур видеопамяти ("слойной" или "в глубину"), но также и в комбинированных подходах ("смешанная" архитектура видеопамяти).
Представляет собой сопроцессор манипулирования данными, работающий на частоте 20 МГц. DP-8510 - специализированное CMOS устройство, разработанное для использования в приложениях BitMap растровой графики. DP-8510 включает высокопроизводительную логику, конвейеризующую все необходимые функции, связанные с реализацией механизма блочной переписи: сдвиги (за один такт) на требуемое число разрядов, маскирования и побитные логические операции. Устройство может работать под управлением процессора общего назначения (центрального процессора), машины микросостояний либо под управление растрового графического процессора DP-8500 (один DP-8500 может управлять до 16-ти DP-8510). Устройство поддерживает все манипуляции с данными, необходимыми для построения различных BitBlt систем. Для синхронизации с ЦП либо с DP-8500 используется механизм квитирования.
DP-8510 имеет два режима работы: BitBlt (блочная перепись) и формирование линий в растровой форме. Построение линий может рассматриваться как специальный случай BitBlt с высотой и шириной блока равными единице (точка). Для выполнения операций BitBLt управляющие регистры DP-8510 загружаются четырьмя параметрами: числом сдвигов, левой и правой масками и кодом операции. Далее происходит отработка операции блочной переписи под управлением, например, DP-8500.
Служит для таймирования и управления растровой дисплейной графической системой. Устройство вырабатывает системный клок на частотах 20 МГц для DP-8500 и DP-8510, а также обеспечивает тактовые сигналы для управления и параллельной загрузки сдвиговых регистров DP-8515.
Преобразует параллельное слово данных из экранного буфера видеопамяти в высокоскоростной последовательный поток данных (пикселов), подаваемый на вход электронно-лучевой трубки, с максимальной частотой до 225 МГц.
Следует отметить, что набор DP-85xx может поддерживать все типы RAM памяти, включая статическую, динамическую и специальную видеопамять (VRAM).
Техническое решение построения дисплейной системы, реализованное фирмой National Semiconductor, сводится к разделению функциональных аппаратных средств графической обработки на две специализированные СБИС (DP-8500 и DP-8510), при этом DP-8500 выполняет все функции адресации и синхронизации, связанные с экранным буфером, и одновременно является интерфейсом, через который осуществляется передача адресов и команд центрального процессора. Манипуляции с данными, связанными с каждым слоем видеопамяти, осуществляются отдельным подчиненным процессором DP-8510, который выполняет операции маскирования, циклического сдвига и операции поблочной передачи данных с адресацией с точностью до бита. Структурная схема типичной графической системы, предлагаемой фирмой National Semiconductor, приведена на рис. 0.2.14.
В типичной графической системе с несколькими слоями видеопамяти растровый графический процессор DP-8500 производит формирование графических примитивов в видеопамяти и управляет подчиненными процессорами DP-8510, осуществляющими обмен блоками графической информации. После того как требуемая графическая функция выполнена, графический растровый процессор больше не участвует в графических манипуляциях (собственно в формированиях графических примитивов вывода в растровой форме). При необходимости передачи данных между различными слоями видеопамяти один подчиненный процессор DP-8510 выступает в качестве источника информации, а любая комбинация оставшихся подчиненных процессоров - в качестве места назначения передачи.
В качестве альтернативы фирма Intel [78,] предприняла разработку RISC микропроцессора с включением графического устройства. i860 в первую очередь является высокоскоростным процессором и, во-вторых, он может выступать в рабочих станциях в качестве процессора, используемого в 3D графических подсистемах.
В состав i860 входят (рис. 0.2.15) управление памятью и шиной, кэш-память, центральный RISC-процессор для целых чисел, процессор плавающей арифметики из устройств для сложения и умножения вещественных и графическое устройство. Тактовая частота i860 - 50 МГц. Применение конвейера позволяет в каждом такте выполнять до трех команд - одну команду для целых, а также сложение и умножение вещественных.
Выборку и декодирование команд выполняет центральный процессор. Кроме этого он осуществляет следующие операции:
· загрузка и запоминание в целочисленных регистрах
операндов, выбранных из памяти;
· пересылка операндов в регистры процессора с плавающей запятой;
· арифметические операции над 8, 16 и 32-битными целыми числами (операции с 64-битными целыми поддерживает графический процессор);
· сдвиговые и логические операции (И, И-НЕ, ИЛИ и исключающее ИЛИ);
· управление пересылками, к которым относятся команды
переходов (непосредственные и косвенные) и команды вызова;
· управление системой;
· загрузка регистров управления, работа с кэш-памятью и шиной.
Процессор плавающей арифметики (ППЗ) содержит файл из 32 регистров и два самостоятельных устройства для сложения и умножения вещественных. ППЗ работает в скалярном или конвейерном режимах, используя для них различные наборы инструкций. В скалярном режиме на выполнение одной операции тратится от трех до четырех циклов. В конвейерном режиме результаты выдаются, в основном, после каждого цикла или после двух.
Скалярные инструкции ППЗ включают в себя:
· операции сложения, вычитания, сравнения, преобразования в целое и округления до целого (эти операции выполняет устройство сложения);
· операции умножения, получения обратной величины и извлечения квадратного корня (их выполняет устройство умножения);
· операции пересылки в целочисленные регистры. К конвейерным инструкциям, также выполняемым или устройством сложения или устройством умножения, относятся операции умножения, сложения, вычитания, преобразования в целое и округления до целого.
Графическое устройство фактически использует данные, поступающие от ППЗ и поддерживает размер пиксела в 8, 16 или 32 бита. Вне зависимости от размера пиксела оно может обрабатывать до нескольких пикселов одновременно в одном 64-битном слове. Конфигурация цветов пикселов следующая:
Размер | Битов на цвет | Битов на цвет | Битов на цвет | Битов на |
пиксела | Компонента 1 | Компонента 2 | Компонента 3 | атрибут |
8 | N(Ь 8) битов на интенсивность | 8-N | ||
16 | 6 | 6 | 4 | |
32 | 8 | 8 | 8 | 8 |
Для поддержки 3D операций отображения в графическом устройстве имеется дополнительный режим. Сравнения в Z-буфере (для 16 и 32 бит) обеспечиваются аппаратурой. Интерполяция цветов и Z значений облегчают реализацию алгоритмов закраски. Может быть использована любая комбинация размера пиксела и глубины Z-буфера. Скорость закраски Гуро достигает 50 000 треугольников в сек для треугольников из 100 8-битных пикселов.
В соcтав i860 входят четыре файла регистров:
· файл из 32 32-битных целочисленных регистров, используемых
для адресации и скалярных целочисленных вычислений;
· файл из 32 32-битных регистров процессора с плавающей
запятой. Они используются в операциях вещественной арифметики и
при выполнении графических целочисленных операций. Эти регистры
могут использоваться как 64-х или 128-битные. Файл регистров ППЗ
имеет два порта чтения, порт записи и два двунаправленных порта.
Все порты 64-битные и могут работать одновременно.
· файл регистров управления;
· файл специальных регистров.
Пиковое быстродействие i860 в 40 MIPS и 80 MFLOPS хорошо соответствует высокоскоростной геометрической обработке. Достигается скорость до 500 000 однородных преобразований векторов. Большая ширина шины данных (64 бита внешняя и несколько внутренних 64-битных параллельных шин) обеспечивают высокоскоростной доступ к памяти.
В дополнение к задачам растеризации, высокоскоростные графические машины требуют сбалансированной обработки моделирования, геометрических вычислений, освещенности и свойств материала. Эти требования необходимы для:
· реального времени: изображение должно генерироваться в 1/30 секунды для обеспечения малого времени ответа на ввод от пользователя а также для отображения "живых" сцен.
· реализм: многие приложения требуют возможностей генерации высококачественных картин (фотореализм),
· стандарты: с повышением сложности графического программного обеспечения важна поддержка стандартизованных интерфейсов и систем типа PHIGS, X Window System и т.д. с целью обеспечения переносимости программного обеспечения.
POWER IRIS 4D/380VGX (рис. 0.2.16) фирмы Silicon Graphics является одной из наиболее мощных суперстанций. Она представляет собой мультимикропроцессорную систему, построенную на 8 RISC процессорах MIPS RS3000 с сопроцессорами плавающей запятой RS3010, разделяющих общую память. Система предоставляет более 200 MIPS и более 30 MFLOPS.
Графическая подсистема VGX системы IRIS VISION отображает в секунду
более 1 миллиона Z-буферизованных треугольников, закрашенных по Гуро
или Фонгу, со скоростью доступа к кадровому буферу более 20 млн.
пикселов/с. Она содержит 85 соответствующих СБИС десяти различных
типов. VGX архитектура содержит 4 подсистемы объединенных в конвейер:
· геометрическую подсистему,
· подсистему растеризации,
· растровую подсистему,
· дисплейную подсистему.
Геометрическая подсистема подсоединена к параллельному ЦП через 64-битный шинный интерфейс MPlink. Она принимает геометрические данные, определенные в мировых координатах, выполняет преобразования и вычисление освещенности и передает данные в пространстве экрана подсистеме растеризации. Компонентами геометрической подсистемы являются Командный Процессор и SIMD Геометрическая Машина. Командный Процессор принимает данные из шины MPlink и распределяет команды между четырьмя модулями Геометрической Машины. Он преобразует все принятые слова данных в форму с плавающей запятой вне зависимости от представления входных данных. Геометрическая Машина содержит четыре идентичных процессорных устройства с плавающей запятой, использующих чипы Texas Instument 74ACT8867, дающими пиковую скорость в 128 MFLOPS. Эти 4 устройства вместе работают как SIMD машина под управлением секвенсора, одновременно обрабатывая до четырех вершин многоугольника.
Подсистема растеризации выполняет вычисления по преобразованию данных по вершинам, переданных геометрической подсистемой, в индивидуальные пикселы. С каждым пикселом увязаны X,Y экранные координаты и ряд параметров, включающих Z-координату, R, G, B, Alpha и текстурные данные. Все эти параметры линейно интерполируются между вершинами многоугольника. Подсистема растеризации содержит четыре процессора: сортировщик вершин, машину полигонов, машину области и Span процессор.
Первый процессор - сортировщик вершин упорядочивает поток команд и данных с плавающей запятой, принятых от Геометрической Машины, в точки, отрезки, треугольники и т.д. и передает от одного до четырех примитивов Машине Полигонов. Он также сортирует треугольники и квадрилатеральные вершины для последующих вычислений.
Машина полигонов представляет собой SIMD процессор с плавающей запятой, содержащих четыре устройства, и структурно подобна Геометрической Машине. Она начинает преобразование сканирования треугольников вычисляя углы наклона сторон и параметры в X и Y направлении.
Машина областей представляет собой SIMD процессор с фиксированной запятой, также содержащий четыре устройства, работающих под управлением микропрограммируемого секвенсора. Она преобразует исходные значения с плавающей запятой и информацию об углах для формирования X,Y и значений параметров для вертикального расстояния между нижним и верхним ребрами треугольника. Она передает эту информацию с углами наклона в Y-направлении Span-процессору.
Параметры расстояний и углов принимаются от 5 до 10 Span процессорами. В базовой конфигурации с пятью Span-процессорами, каждый процессор управляет 1/5 из видимых 1280 столбцов экрана. Span-процессор номер 0 управляет столбцами 0, 5, 10 и т.д., процессор номер 1 управляет столбцами 1, 6, 11 и т.д. В связи с тем, что полосы, генерируемые через некоторый треугольник, всегда являются близлежащими, то обработка полос равномерно распределяется между пятью процессорами. Конфигурация с 10 процессорами распределяет загрузку подобным образом, но каждый Span-процессор управляет каждым 10-м столбцом.
Каждый Span процессор итерирует между заданным и конечным Y адресами, используя данные по углам для генерации Z-координаты, цветовых и текстурных координат в заданном столбце. Эти значения передаются растровой подсистеме. Растровая подсистема содержит 20 или 40 Машин образов, каждая из которых контролирует прямоугольную область экрана. В конфигурации с 20-ю машинами отдельная машина образов имеет доступ к 64 К пикселов. Каждый пиксел содержит, по крайней мере, 140 бит данных, т.е. кадровый буфер должен иметь емкость в 23 Мбайта. Растровая подсистема выполняет чтение, запись и копирование между банками кадрового буфера со скоростью до 20 млн. пиксел/сек. 140-битный пиксел устроен следующим образом: кадровый буфер запоминает по одному байту для R, G, B и Alpha-информации для каждого пиксела плоскости отображения дисплея размером 1280×1024. В режиме двойной буферизации это суммируется до 64 бит. Система VGX поддерживает 24-битный Z-буфер со знаком. Девять бит глубины банка служат для различения раскрашенных планов. Машины образов имеют возможности условного стирания, записи, инкремента и декремента этих планов независимо от 24-битного значения глубины. 32 бита используются в качестве текстурных планов для R, G, B и Alpha информации. 9 бит используются для перекрытия и оконных планов, поддерживаемых для использования системой управления окнами. Последние 4 бита, называемые Display WID планы, определяют стиль отображения каждого пиксела, например, однократное буферирование или двойное буферирование, RGB или индекс цвета.
Дисплейная подсистема принимает пиксельную информацию из кадрового буфера, маршрутизирует ее в соответствии с требуемым режимом отображения и передает ее на отображение.
Системы типа Silicon Graphics POWER IRIS используют специализированную аппаратуру для быстрого вычисления изображений. Многие из этих вычислений, в частности геометрические преобразования, близки к обработке, требуемой во многих видах научных вычислений. Stardent GS2000 разработана для предоставления ее вычислительных ресурсов как для генерации изображений, так и для ускорения других вычислительно интенсивных заданий, которые могут вызываться на машине.
Stardent GS2000 включает следующие типы процессоров (рис. 0.2.17):
· мультипотоковый процессор (MSP) - единое устройство, которое работает как четыре идентичных логических процессора. Каждый процессор или поток может выполнять некоторое множество машинных инструкций. Эти потоки обеспечивают скорость 20-25 MIPS;
· процессор векторных операций и операций с плавающей запятой (VFP) - отдельное устройство интегрированное в MSP. VFP обеспечивает скорость 80 MFLOPS на данных одинарной точности и 40 MFLOPS - на двойной. VFP играет важную роль в обработке графики, работая в качестве "front-end" для процессора отображения. Специальные векторные инструкции выполняют координатные преобразования (600 К 3D преобразований векторов в сек), отсечение и вычисления освещенности. Геометрические данные и результаты расчета освещенности передаются процессору отображения;
· процессор отображения (Rendering processor - RP) -
микропрограммная машина, которая одновременно оперирует блоками
4×4 пиксела. Для отображения графических примитивов
процессор отображения "прогуливается" поверх блоков пикселов,
вычисляя различные 16-ти пиксельные блоки, пока не будут
обработаны все пикселы, покрывающие примитив. Процессор
отображения принимает от VFP результаты преобразования, отсечения
и расчета освещенности примитивов, преобразует их в пикселы и
запоминает результаты в виртуальной памяти в виде виртуальных
пиксельных карт.
Процессор отображения может читать, модифицировать и записывать изображения со скоростью до 80 Мпикселов/с. Он может вычерчивать 600 K 3D клиппируемых десятипиксельных векторов и 160 K 100 пиксельных треугольников Гуро с Z-буферизацией.
Каждое изображение читаемое и записываемое процессором отображения запоминается в виртуальной памяти как комплект из одной или более виртуальных пиксельных карт (virtual pixel maps - VMAPs) каждая до 64 K×64 K пикселов с 32 битами на пиксел (128 Гбайт).
Это освобождает графическую подсистему от ограничений единственного кадрового буфера фиксированного разрешения. VMAP может листоваться на/с дисковой памяти, наподобие других данных в виртуальной памяти. VMAP отображается при копировании видимой порции в видеопамять.
Видеопамять содержит 1024 строки по 1280 пикселов. Они могут быть глубиной 16 или 32 бита (40 Мбайт). Двойная буферизация делает возможным стереоотображение.
Таким образом, с точки зрения разработчиков графических дисплейных систем, на примере продукции ведущих фирм, специализирующихся в области технических средств машинной графики, можно выделить три основных подхода:
· создание функционально завершенного ("закрытого" для
разработчика) графического сопроцессора, аппаратно реализующего
основные примитивы графических стандартов GKS/CGI
(Intel 82786);
· предоставление разработчику средств строить архитектуры растровых графических дисплейных систем (с различными функциональными и скоростными характеристиками) на основе набора специализированных СБИС, выполняющих строго регламентированные функции (National Semiconductor);
· создание универсального (полностью программируемого на языке высокого уровня) процессора, аппаратно реализующего основные растровые операции и предоставляющего разработчику максимальную гибкость в реализации собственных алгоритмов (Texas Instruments, i860).