Правильная ссылка на эту страницу
http://az-design.ru/Support/HardWare/Intel/D19860908Elc031.shtml

Графический сопроцессор для САПР и конторских машин

УДК 681.325.5:658.512.2

Intel designs a graphics chip for both CAD and business use, No.20, pp.57—60.

Новый графический сопроцессор 82786 характеризуется слабосвязанной параллельной архитектурой, сочетанием гибкости с высоким быстродействием, возможностями эффективной обработки как графических, так и текстовых данных. Он может работать в машине практически с любым центральным процессором фирмы Intel — от 16-разрядного 8086 до 32-разрядного 80386.

Находящийся в зачаточном состоянии рынок графических микросхем будет, по-видимому, развиваться с ориентацией на две совершенно различные категории конечных заказчиков: пользователя конторских персональных компьютеров, которому требуется преимущественно обработка текстов, но который заинтересован также в повышении эффективности работы с графическими данными, и на разработчика-абонента АРМ, которому необходимы более совершенные графические средства, но в то же время и достаточно широкие возможности манипуляции с текстами. Уже давно сообщалось, что фирма Intel Corp. разрабатывает микропроцессор, предназначенный в основном для обработки графических данных, а сейчас она наконец анонсирует свой графический сопроцессор 82786, удовлетворяющий требованиям обоих приложений. Разработчики фирмы реализовали в своем графическом микропроцессоре возможности, позволяющие с успехом применять его в большинстве систем автоматизированного проектирования (САПР), а также в конторских и наиболее мощных персональных компьютерах.

Как говорит Марк Олсон, заведующий по вопросам номенклатуры изделий в фирме Intel, требования этих двух приложений по сути различаются не очень сильно. «В обоих случаях необходимо иметь возможность с высоким качеством обрабатывать и воспроизводить графические и текстовые данные, а также возможность комбинировать оба вида данных в одном и том же кадре экрана, — говорит он. — В обоих случаях требуется также высокая степень многозадачности, т.е. возможность выполнять две или более сложные задачи одновременно и при этом практически мгновенно переключаться с задачи на задачу».

По словам Олсона, пользователям обеих категорий требуется также, чтобы средства вычислительной техники (СВТ) обеспечивали повышение производительности труда. «Для реального мира бизнесменов и конструкторов-разработчиков это можно выразить общей краткой формулой — "никаких задержек"», — говорит он. Чтобы удовлетворить все эти требования, фирма Intel разработала микропроцессор 82786 как машину со слабо связанной параллельной архитектурой, характеризующуюся сочетанием гибкости и высокого быстродействия, возможностями эффективной обработки как графических, так и текстовых данных.

Сопроцессор 82786 настолько гибок, что разработчик системы, строящейся с его применением, может выбирать самые различные центральные процессоры — от 16-разрядного микропроцессора 8086 до 32-разрядного 80386, а также графические ЗУ и дисплеи в зависимости от стоимостных и скоростных требований конкретного приложения. При этом сопроцессор позволяет выполнять прикладные программы, ориентированные на интерфейс видеоустройств VDI и Систему графического ядра GKS Американского национального института стандартов, а также программы, написанные для стандартного Цветного графического адаптера персонального компьютера PC корпорации IBM. Подобные программы могут работать одновременно, причем с воспроизведением данных для каждой из них в рамках ее индивидуального окна на одном и том же экране.

Скоростные характеристики процессора 82786 выглядят не менее внушительно. Он обеспечивает почти мгновенное обновление изображения на экране. Он может выдать изображение на экран с одним окном менее чем за 0,1 с, т.е. с темпом 400 нс на элемент отображения. Процессор 82786 может вычерчивать все стандартные примитивные элементы — линии, окружности, многоугольники, многолинейные фигуры и др. с исключительно высокими скоростями: линии со скоростью 2,5 млн., а окружности со скоростью 2,0 млн. элементов отображения в секунду (при 8 бит/элемент). В режиме обработки текста процессор 82786 может одновременно работать со многими наборами знаков и воспроизводить текст с номинальной скоростью 25 тыс. знак/с.

Графический кристалл (рис.1) изготавливается по 1,5-мкм технологии CHMOS-III фирмы Intel и может работать либо со стандартными динамическими ЗУПВ, если требуются средние качественные характеристики при малой стоимости, либо с видео-ЗУПВ для достижения высокой разрешающей способности. Процессор обеспечивает разрешение дисплея 640*480 элементов отображения при использовании обычных устройств памяти, а также возможность выводить изображения, содержащие до 256 цветов, как высококачественные иллюстрации. Для создания специальных документов процессор 82786 в составе монохромных систем обеспечивает разрешающую способность 1000*1000 элементов отображения с четырьмя уровнями серого или цветными изображениями для более компактных страниц. Если процессор 82786 использовать с двухпортовыми видео-ЗУПВ и дисплеями высокой разрешающей способности, то можно достичь разрешения 2048*1536 элементов отображения при 8 бит/элемент. Увеличение разрешающей способности и количества цветов можно обеспечить, используя несколько процессоров 82786.

Графический сопроцессор 82786 фирмы Intel может успешно работать с семейством 16- и 32-разрядных центральных процессоров этой фирмы.
Рис.1. Графический сопроцессор 82786 фирмы Intel может успешно работать с семейством 16- и 32-разрядных центральных процессоров этой фирмы.

Сейчас растет спрос на средства реализации полиэкранного режима, особенно для многозадачных систем, применяемых для автоматизации учрежденческих и конторских работ. Процессор 82786 обеспечивает реализацию таких возможностей аппаратным способом. Текстовые и графические данные для каждой прикладной программы могут храниться в отдельных областях памяти, а затем комбинироваться в рамках различных окон одного и того же кадра экрана. Основной системный ЦП можно освободить от значительной дополнительной нагрузки, связанной с решением графических задач, если хранить в памяти объемы текстовых и графических данных, большие тех, которые воспроизводятся на экране.

Столь высокие характеристики процессора 82786 достигнуты благодаря тому, что разработчики выбрали слабо связанную архитектуру, предусматривающую параллельную работу четырех независимых модулей (рис.2): графического процессора, модуля дисплейного процессора, устройства интерфейса шины и контроллера динамического ЗУПВ. Прикладные программы используют графический процессор для работы с поразрядными картами отображения, при помощи которых в памяти создаются объекты. Программные средства управления окнами используют дисплейный процессор для управления изображением на экране дисплея. Модуль интерфейса шины и контроллер динамического ЗУПВ после инициализации становятся невидимыми для программных средств ЦП. Эти два модуля обеспечивают параллельное выполнение взаимосвязанных задач реализации графических функций.

В графический сопроцессор 82786 фирмы Intel входят четыре модуля: графический процессор, процессор изображения, устройства интерфейса шины и управлени
Рис.2. В графический сопроцессор 82786 фирмы Intel входят четыре модуля: графический процессор, процессор изображения, устройства интерфейса шины и управления памятью, которые работают параллельно.

Новые графические данные могут подготавливаться в памяти в то самое время, когда на экран монитора выдаются хранящиеся в других частях памяти данные. Именно такое разделение функций обеспечивает столь высокие скоростные характеристики процессора 82786.

Асинхронная связь

Взаимодействие модулей осуществляется при помощи встроенной асинхронной шины. Когда модуль графического процессора получает от ЦП список команд, он последовательно выполняет их и формирует одну или несколько поразрядных (поэлементных) карт изображения независимо от того, что воспроизводится на экране в данный момент времени. Устройство интерфейса шины обеспечивает арбитраж для запросов на обращение к графической памяти, что позволяет сохранять целостность содержимого памяти изображения. Модуль управления динамическим ЗУПВ непосредственно управляет графической памятью емкостью до 4 Мбайт и полностью осуществляет регенерацию. Предусматриваются возможности работы с динамическими ЗУПВ практически любого размера и конфигурации— либо стандартными, либо видео-ЗУ, вплоть до емкости 1 Мбит. Для последовательного доступа к блокам памяти предусмотрена непосредственная поддержка режимов со статическими столбцами (static columns) и быстрым страничным обменом.

Наиболее распространенная конфигурация предоставляет центральному процессору возможность доступа к системной памяти при одновременном доступе процессора 82786 к своей выделенной графической памяти. ЦП может также обращаться к графической памяти, а процессор 82786 — к системной, однако не одновременно. Если в системе предусмотрены средства прямого доступа к памяти, они взаимодействуют с процессором 82786 точно так же, как ЦП.

Процессор 82786 может работать с ЦП в двух режимах. В режиме подчиненного (когда ЦП обращается к процессору 82786 и управляет им) этот графический кристалл выглядит для ЦП как интеллектуальный контроллер динамическою ЗУПВ (рис.3,а). ЦП генерирует сигнал выборки кристалла (ВКС), в ответ на который после завершения цикла процессор 82786 выдает в ЦП подтверждающий сигнал «Готов». В режиме главного (рис.3,б) процессор 82786 работает как второй ЦП, управляющий локальной шиной. Когда от процессора 82786 в ЦП поступает сигнал запроса на захват системной шины, графическому сопроцессору предоставляется возможность управления шиной. Когда операция заканчивается, графический сопроцессор посылает в ЦП соответствующий сигнал, по которому ЦП вновь принимает на себя управление шиной.

Графический сопроцессор 82786 может работать с 16- и 32-разрядными микропроцессорами фирмы Intel в режиме либо подчиненного (а), либо главного (б).
Графический сопроцессор 82786 может работать с 16- и 32-разрядными микропроцессорами фирмы Intel в режиме либо подчиненного (а), либо главного (б).
Рис.3. Графический сопроцессор 82786 может работать с 16- и 32-разрядными микропроцессорами фирмы Intel в режиме либо подчиненного (а), либо главного (б).

Гибкие графические средства

Модуль графического процессора обладает достаточной вычислительной мощностью, чтобы решать широкий круг задач. Он принимает команды, по которым может обрабатывать ряд хранящихся в памяти поразрядных карт изображения, формировать текстовые и графические объекты, копировать изображение из одного блока памяти в другой и закрашивать объекты. Интерфейс программиста позволяет работать с подпрограммами и использовать стек для «гнездования» (вложения) этих подпрограмм. Предусматривается возможность записи содержимого регистров в память и перезагрузки регистров из памяти, что позволяет производить переключения для прикладных задач. Прикладные программы должны занимать для поразрядных карт изображения только тот минимальный объем памяти, который необходим с учетом хранения информации о цвете, поскольку не обязательно, чтобы все карты изображения имели одинаковую «глубину» (число битов на элемент отображения).

Главным фактором, обусловливающим высокую мощность и гибкость процессора 82786, является набор реализованных аппаратными средствами его кристалла команд вывода стандартных графических примитивов, включая точку, линию, группу параллельных линий, прямоугольник, окружность и дугу, что позволяет освободить ЦП от необходимости строить эти фигуры «с нуля». Чтобы воспроизвести каждую из этих фигур на экране, от ЦП требуются только один 16-разрядный запрос, включающий конкретные параметры данного графического примитива, и одна опорная точка — так называемая текущая точка привязки, которая будет играть роль исходной для построения фигуры. Например, важным параметром для окружности является ее радиус, а для прямоугольника — противоположная вершина диагонали. Графический процессор достаточно интеллектуален, чтобы, имея две такие опорные точки, построить полную фигуру.

Для реализации более специальных графических функций процессор 82786 включает также такие команды, как Bit-Block Transfer (пересылка блока битов), Incremental Point (поточечное приращение) и Fill (заполнение). По команде ЦП процессор 82786 может произвести пересылку блока битов со скоростью 25 Мбит/с из одной части разрядной карты изображения в другую, причем область пересылки может находиться в пределах той же самой карты изображения либо в другой подобной карте (рис.4). Используя режим пересылки блоков битов, можно быстро составлять на экране различные изображения, копируя части тех фигур, которые в настоящий момент находятся в памяти поразрядных карт изображения, в том числе другие части самого компонуемого изображения.

Модули графического процессора и процессора изображения, входящие в состав микропроцессора 82786 и работающие в определенной степени независимо друг о
Рис.4. Модули графического процессора и процессора изображения, входящие в состав микропроцессора 82786 и работающие в определенной степени независимо друг от друга, по командам ЦП обрабатывают содержимое поразрядных карт изображения и окна экрана.

Команда поточечного приращения позволяет построить практически любую сложную фигуру, например логограмму. При работе в подобном режиме элементы отображения для вывода на экран будут задаваться списком смещений по осям X и Y. Принимая от ЦП список поточечных приращений, описывающих форму фигуры, модуль графического процессора вычерчивает эту фигуру со скоростью 2 млн. элементов отображения в секунду, учитывая при этом все текущие графические атрибуты, такие как текстура (строение), количество битов на элемент отображения и маскирование битовых плоскостей.

Графические режимы

Аппаратура процессора 82786 предусматривает реализацию ряда графических режимов, которые в других графических процессорах реализуются, как правило, программными средствами. К числу этих режимов относятся разрывание вычерчиваемой линии, режим поиска-подвода курсора (выбора объекта) при работе с манипулятором типа «мышь», маскирование битовых плоскостей, логические операции и поддержка практически неограниченного числа наборов символов.

Режим разрывания вычерчиваемой линии позволяет процессору 82786 строить лишь части полных фигур, таких как линии, окружности, а также более сложные объекты, не генерируя всех элементов отображения, необходимых для формирования полной фигуры. Когда модуль графического процессора выполняет команды вычерчивания изображения, производится вычисление адресов всех требующих изменения элементов отображения, которые попадают в пределы области, называемой прямоугольником разрыва (clipping rectangle).

Чтобы при помощи манипулятора типа «мышь» найти на экране нужный объект, модулю графического процессора задается для выполнения список команд, описывающих тот же объект, который воспроизводится на экране. Графический процессор производит вычисления как бы для вычерчивания изображения, однако реально не обновляет ни один из элементов отображения. Он просто вырабатывает сигнал прерывания, если в пределах определенного на данный момент прямоугольника разрыва обнаруживается совпадение с конкретным искомым объектом. Этот режим существенно снижает нагрузку на ЦП при поиске или выборе объектов, воспроизводимых на экране, поскольку все вычисления производит процессор 82786, а ЦП прерывается только тогда, когда искомый объект идентифицируется.

Одновременно с пересылкой блоков битов модуль графического процессора 82786 может выполнять в динамике такие операции, как маскирование битовых плоскостей и логические операции. Маскирование битовых плоскостей дает возможность копировать исходное изображение только в выбранные битовые плоскости, не затрагивая других. Этот режим позволяет также выводить текст с использованием специальных шрифтов, причем вывод выполняется как пересылки блоков битов из области, где хранится нужный знаковый шрифт, в область воспроизведения.

Логические операции дают возможность копировать фигуры в режиме обращения битов, т.е. фигуру, которая воспроизводится белым цветом на черном фоне, можно скопировать в негативе, воспроизведя ее в черном цвете на белом фоне. По команде заполнения Fill модуль графического процессора 82786 может заполнить (заштриховать) любую фигуру горизонтальными линиями. Форма такой фигуры задается как некое множество параметров, каждый из которых указывает начальную точку по оси X и длину заполнения по оси Y.

Процессор 82786 позволяет работать практически с неограниченным числом наборов символов, хранящихся в оперативной памяти дисплея. Конкретное число определяется только емкостью имеющейся памяти, причем любой набор может быть выбран по одной команде. Каждый набор символов предусматривает пропорциональное размещение символов, причем высота и ширина каждого символа определяются независимо и могут составлять от 1 до 16 элементов отображения. Расстояние между знаками может не просто меняться, оно может также становиться отрицательным, т.е. знаки можно располагать таким образом, чтобы они накладывались друг на друга; это полезно для ситуаций, когда необходимо сжать или растянуть строку знаков.

Чтобы управлять содержимым изображения экрана, в частности решать сложную задачу реализации полиэкранного режима, разработчики фирмы Intel встроили в микропроцессор 82786 модуль процессора изображения. Этот модуль спроектирован в расчете на работу независимо от модуля графического процессора. Процессор изображения получает свои команды от ЦП и не знает о том, что именно вычерчивает графический процессор.

На основе полученного списка команд процессор изображения обеспечивает выборку информации элементов отображения из многих поразрядных карт изображения, хранящихся в памяти, и воспроизводит их содержимое в нужных точках экрана. Карты изображения, содержащие меньше 8 бит на элемент отображения, автоматически дополняются, чтобы обеспечить выбор полного набора цветов. Процессор изображения осуществляет аппаратное управление курсором, с увеличением масштаба воспроизводит содержимое указанных карт изображения и формирует цветные границы вокруг окон экрана. Это позволяет быстро менять изображения при минимальных накладных расходах системы, поскольку окна можно перемещать на элемент отображения за цикл; все, что должен делать для этого ЦП, — это соответствующим образом манипулировать указателем в списке команд, хранящемся в памяти.

Модуль процессора изображения может создавать на экране почти неограниченное количество окон. Он работает по таблице конфигурации; последняя формируется основным ЦП, содержит карту окон для экрана и указывает, какие части каких поразрядных карт изображения должны воспроизводиться в каждом окне. Модуль формирует окна для каждого кадра в процессе развертки. Это делается в реальном времени, так что можно создавать иллюзию движения окон и осуществлять панорамирование, или «прокрутку», в любом направлении содержимого любого окна.

Полосы и клетки

Чтобы делать все это, модуль процессора изображения разбивает экран на полосы и клетки (рис.5). Каждая полоса содержит одну или более клеток, так что экран превращается в мозаику клеток различного размера, а каждое окно представляет собой также некоторую совокупность клеток. Для подобной разметки конкретного кадра экрана основной ЦП передает процессору изображений микропроцессора 82786 список дескрипторов экрана, который состоит из набора дескрипторов полос, где указываются числа линий развертки и клеток в каждой полосе, а также набор дескрипторов клеток, которые указывают ширину, содержимое и атрибуты, связанные с воспроизводимыми объектами.

Микропроцессор 82786 может работать с неограниченным числом окон экрана, манипулируя мозаикой полос и клеток по командам ЦП.
Рис.5. Микропроцессор 82786 может работать с неограниченным числом окон экрана, манипулируя мозаикой полос и клеток по командам ЦП.

Кадры экрана формируются в реальном времени, т.е. без задержек, которые, как правило, существуют в случае считывания содержимого поразрядной карты изображения, хранящейся в памяти, и воспроизведении его на экране. Это обеспечивается путем предварительного считывания дескрипторов полос и клеток и заполнения размещенной на кристалле кэш-памяти, реализующей алгоритм FIFO (первый на входе — первый на выходе), данными элементов отображения из поразрядных карт изображения, указанных в дескрипторах клеток. Затем содержимое кэш-памяти выводится на экран. В кэш-память кристалла можно поместить содержимое до 16 дескрипторов клеток. Благодаря этому, если необходимо передвинуть одно или более окон и создать режим «прокрутки» содержимого какого-либо окна, нужно менять только дескрипторы полос и клеток, не затрагивая поразрядных карт изображения.

Достижению высоких скоростных и функциональных характеристик микропроцессора 82786 способствует также то, что на его кристалле размещается вся логика управления динамическими ЗУПВ, позволяющая работать либо со стандартными, либо с видеоустройствами подобного рода. Как говорит Олсон, благодаря размещению этой логики на кристалле удается избежать потерь циклов при взаимодействии между различными подблоками и обеспечить очень малую длительность циклов чтения-модификации-записи для записи элементов отображения, что исключает необходимость в двух отдельных циклах обращения (для чтения и для записи). В стандартной конфигурации кристалл может непосредственно управлять максимум 32 динамическими ЗУПВ. «Даже гасящие резисторы, обычно требуемые для подавления "звонов" сигналов, здесь выполняются по интегральной технологии»,— говорит Олсон. В такой полной конфигурации динамические ЗУПВ располагаются в структуре с четырьмя строками и двумя «шеренгами), (four rows and two ranks).

Для случая, когда требуются более высокие скорости, микропроцессор 82786 предусматривает возможность работы с видео-ЗУПВ, которые представляют собой динамические ЗУПВ с дополнительным последовательным портом; через этот порт можно осуществлять быстрый обмен данными для целой строки динамического ЗУПВ. Когда производится выдача строки через последовательный порт, к видео-ЗУПВ можно одновременно обращаться через параллельный порт. Видео-ЗУПВ (хотя они стоят дороже стандартных динамических ЗУПВ со страничным режимом обмена или со статическими столбцами) дают микропроцессору 82786 определенные преимущества.

«Во-первых, поскольку данные выдаются на монитор прямо через последовательный порт видео-ЗУПВ, на работу модуля процессора изображения не затрачивается часть пропускной способности канала обмена с памятью,— говорит Олсон. — А это значит, что модуль графического процессора может использовать почти 100 % пропускной способности канала, т.е. он получает гораздо больше времени для формирования изображения, и, следовательно, скорость вывода повышается». Во-вторых, появляется возможность работать с гораздо более высокими разрешающими способностями. Например, использование 32 видео-ЗУПВ емкостью 64К*4 бит позволяет работать с разрешающей способностью 2000*2000 элементов отображения при 2 бит на элемент отображения или с разрешающей способностью 1000*1000 элементов отображения при 8 бит на элемент отображения.

Дочерние статьи:

Разработка графического сопроцессора 82786 в фирме Intel

Выходные данные:

Журнал "Электроника" том 59, No.10 (743), 1986г - пер. с англ. М.: Мир, 1986, стр.67

Electronics Vol.59 No.19 May 12, 1986 A McGraw-Hill Publication

Electronics Vol.59 No.20 May 19, 1986 A McGraw-Hill Publication

Раздел: МЕТОДЫ, СХЕМЫ, АППАРАТУРА

Тема:     Машинная графика





Дата последнего изменения:
Thursday, 21-Aug-2014 09:10:44 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/HardWare/Intel/D19860908Elc031.shtml