Графическая дисплейная станция СМ7411 (ИЗОТ 1040С)
Г. Кукурешков, инженер (НРБ),
А. Величков, инженер (НРБ),
Е. Николов, канд. техн. наук (НРБ)
Графическая дисплейная станция (ГДС) предназначена для автоматизации инженерного труда в различных областях народного хозяйства. Она создана на базе 16- и 32-разрядных мини-ЭВМ. ГДС обслуживает два рабочих места, включает цветной растровый монитор с высокой разрешающей способностью, планшет-кодировщик, интерактивный манипулятор, алфавитно-цифровую клавиатуру, алфавитно-цифровой видеотерминал и специализированную функциональную клавиатуру.
Основной частью ГДС является графический процессор. Он выполнен на модульном принципе, причем связь между отдельными модулями осуществляется с помощью одной 16-разрядной и одной 32-й разрядной двунаправленных магистралей. Выбранная современная архитектура процессора обеспечивает не только исключительное быстродействие и производительность ГДС, но и расширение ее возможностей путем добавления новых функциональных модулей и спецпроцессоров.
Графический процессор создан на базе биполярных МОП СИС и БИС бит-слайсовых микропроцессорных элементов и динамических МОП БИС ЗУ. Конструктивно процессор оформлен в виде стандартной для систем с мини-ЭВМ кассеты. Графический процессор состоит из интерфейсного модуля для связи с ЭВМ, модуля “векторная память”, управляющего модуля, “интеллектуального” периферийного контроллера, модуля цифрового векторного генератора.
Интерфейсный модуль имеет 9 программно-доступных регистров со стороны ЭВМ и может работать с двумя видами обмена данными между станцией и ЭВМ — программируемым (обмен информационными и управляющими данными последовательно по словам под управлением специализированной программы) и прямым доступом — к оперативной памяти ЭВМ (осуществляется обмен информационными и управляющими данными без вмешательства программы).
Остальные блоки станции подключаются к модулю через два канала — графический и периферийный. По графическому каналу происходит обмен информацией между интерфейсным модулем, векторной памятью, графическим процессором, векторно-растровым преобразователем и видеовыходом.
По периферийному каналу осуществляется обмен между интерфейсным модулем и периферийными контроллерами, управляющими работой станции с помощью функциональной и алфавитно-цифровой клавиатуры, интерактивным манипулятором и графическим планшетом-кодировщиком.
В интерфейсный модуль встроена аппаратная часть блока арбитража захвата графического канала и логики активирования системы прерывания по каналу “общая шина” в результате завершения обмена по графическому и/или периферийному каналу.
Со стороны ЭВМ имеются следующие программно-доступные регистры:
- управления и состояния графического канала; данных (16 старших разрядов из 32-разрядного слова, передаваемого по графическому каналу);
- адресный регистр выбора ячейки оперативной памяти ЭВМ (используется только в режиме прямого доступа к ЭВМ);
- счетчик слов (используется только в режиме прямого доступа к ЭВМ);
- адресный регистр выбора адреса по графическому каналу; регистр управления и состояния периферийного канала; регистр данных, передаваемых по периферийному каналу станции;
- регистр выбора периферийного устройства и считывания его состояния.
Интерфейсный модуль имеет аппаратную часть для начальной установки модулей станции, а также логику синхронизации работы вышеуказанных модулей. Интерфейсный модуль осуществляет связь и информационный обмен между ГДС и ЭВМ через интерфейс “общая шина”. Обмен информацией можно реализовать путем прямого доступа к оперативной памяти ЭВМ или с помощью программного управления со стороны ЭВМ.
Модуль “векторная память” предназначен для хранения дисплейных программ и слов состояния и управления вышеуказанными модулями. Для представления инструкции графического процессора используется 32-разрядное слово. Один модуль памяти имеет емкость 64 Кбайта (16К 32-разрядных слова). В ГДС можно расширить “векторную память” до 192 Кбайт с помощью дополнительных модулей. В первом модуле находится и постоянная память емкостью 8 Кбайт для хранения программ автотестирования. Дисплейные инструкции выполняются управляющим модулем. Он представляет собой 32-разрядный микропроцессор, использующий бит-слайсовую архитектуру. Использованные биполярные микропроцессорные секции обеспечивают исключительно большую скорость обработки и выполнения дисплейных инструкций. В этом модуле содержится и стандартная таблица ANSII 96 символов, которые можно изобразить в четырех основных направлениях (0°, 90°, 180° и 270°) и восьми различных масштабах.
В управляющем модуле предусмотрены два режима регенерации дисплейных изображений. Первый режим синхронизован с частотой сети, второй (непрерывной регенерации) используется в случаях, когда длина дисплейного файла превышает по времени один период сетевой синхронизации. В этом случае дисплейный файл выполняется сразу после его окончания. В управляющем модуле предусмотрена возможность расширения таблицы символов еще на 128 символов. В данный момент в это расширение включен алфавит кириллицы.
Микропроцессор имеет также внутреннюю логику для запрещения или для установки интенсивности (цвета) элемента, которая активируется при записи абсолютных векторов в векторном генераторе.
К магистрали подключено и 32-разрядное ППЗУ для констант.
Управление подключенными к станции интерактивными периферийными устройствами осуществляется с помощью модулей интеллектуальных периферийных контроллеров (ПК). В стандартной конфигурации ПК обеспечивает связь с алфавитно-цифровой клавиатурой (ANSII и КОИ-8), одним устройством, выдающим координаты курсора как относительные величины (типа джойстик), одним устройством, определяющим координаты курсора как абсолютные величины (обычно планшет или устройство ввода графической информации).
Разработан также стандартный последовательный интерфейс, соответствующий требованиям RS232G (стык-2). Он спроектирован для работы с функциональной клавиатурой.
Периферийный контроллер позволяет:
- передвигать метки по экрану в соответствии с перемещением курсора, джойстика и/или планшета;
- ограничивать область перемещения границами, задаваемыми программным способом (для выбора в области экранного меню);
- программировать задание режимов прерывания ЭВМ от интерактивных устройств;
- самостоятельно проверять и обрабатывать текстовые буфера для визуализации символов, вводимых с клавиатуры или ЭВМ (с некоторыми возможностями редактирования);
- организовывать обмен информацией с функциональной клавиатурой в режимах, задаваемых программным способом от ЭВМ.
Для управления этим модулем применяется микроЭВМ МН8035.
ПК предназначен для того, чтобы принять информацию от выбранного интерактивного устройства, обработать ее согласно заданным ЭВМ условиям и загрузить информацию в определенную область векторной памяти (блок управления) в виде, понятном для графического процессора.
Блок управления состоит из нескольких последовательных слов в векторной памяти, находящихся по заданному адресу. Блок организован как “почтовый ящик”. ЭВМ производит запись в блок управления, указывая ПК способ обработки информации, а также считывает данные, записанные ПК.
ПК считывает управляющую информацию, указывающую ему режим работы, записывает принятые и обработанные данные, отражающие текущее состояние интерактивного устройства. МикроЭВМ считывает данные, посылаемые ПК, и на их основе изменяет изображение. Имеются два способа модификации графического изображения в зависимости от перемен в состоянии интерактивного устройства. При первом ПК использует данные блока управления для построения изображений на экране при каждом сканировании дисплейного файла. При втором способе ЭВМ считывает данные блока управления и на их основе изменяет дисплейный файл, сканируемый ПК.
Второй режим работы отнимает много времени у ЭВМ, поэтому он используется только при выполнении некоторого условия (нажата клавиша, переход границы и др.), требующего вмешательства ЭВМ.
Описанный выше обмен информацией через блок управления в векторной памяти осуществляется по графическому каналу станции. Кроме того, ЭВМ и ПК производят обмен и по периферийному каналу. Последний используется ЭВМ для разрешения или запрещения работы ПК с некоторым из интерактивных устройств, а также для обмена алфавитно-цифровой информацией в случаях, когда графическая станция работает как терминал.
Преобразование информации из векторной формы в растровую осуществляется с помощью модуля цифрового векторного генератора.
Цифровой векторный генератор (ЦВГ) состоит из двух частей (ЦВГ-А и ЦВГ-Б). Он предназначен для преобразования входного потока в форме ряда абсолютных XY-координат крайних точек в адресах отдельных пикселей, которые впоследствии записываются в модулях растровой памяти. Кроме процесса векторного преобразования ЦВГ выполняет команды и специальные функции. ЦВГ осуществляет: генерацию пикселей с частотой 16,6 МГц (имеется 16 программируемых скоростей мерцания), генерацию прерывистых линий, кодированных 16 битами, двоичное масштабирование по каждой оси, смещение, маскировку отдельных растровых модулей и автоматическое стирание и управление типа “пинг-понг”. ЦВГ-А соединен с графической магистралью, от которой получает команды, содержащие XY-координаты крайних точек. ЦВГ-А интерпретирует входные данные, а также выполняет команды загрузки скорости мерцания, загрузки коэффициента масштабирования по оси X, загрузки коэффициента масштабирования по оси Y загрузки смещения по оси X, загрузки смещения по оси Y, загрузки слова о состоянии в режиме трансформации (разрешено-запрещено масштабирование, смещение) и в режиме конца дисплейного файла.
Растровое изображение хранится в блоке “растровая память”, конструктивно оформленном в виде стандартной кассеты, что позволяет разместить в нем модуль синхронизации и управления растровой памятью, модуль растровой памяти и модуль видеоконтролера. В этом блоке можно использовать цветные растровые мониторы с прогрессивной разверткой и разрешающей способностью 1024в1024 пикселя. С его помощью обеспечивается возможность изображения до 16 различных цветов из 4096 возможных. Нужный цвет получается посредством соединения трех основных цветов — красного, зеленого и синего, а цветные комбинации — путем изменения интенсивности основных цветов.
Модуль синхронизации и управления управляет работой растровой системы ГДС.
Управление видеоконтроллером осуществляет пара счетчиков — горизонтальный и вертикальный, чьи выходы подключены к ППЗУ. Временные соотношения видеосигналов определяются содержимым ППЗУ. Предусмотрены два набора ППЗУ для двух типов видеосинхронизации, выбираемых программным способом.
Адрес памяти для считывания определяют два дополнительных счетчика — горизонтальный и вертикальный. Эти счетчики запускаются импульсами видеосекции. Из четырех модулей памяти для одного разряда считываются 32-битовые слова, поэтому счетчик предусмотрен только 3-разрядный (32в8 в 4=1024). В системах с прогрессивной разверткой адресные счетчики идентичны счетчикам видеосинхронизации. Выходы счетчиков подключены к канальному передатчику для управления адресными шинами модулей растровой памяти. Вертикальный адрес (Y) инвертируется, потому что начало растровой координатной системы располагается в левом верхнем углу экрана.
В основу арбитража доступа к растровой памяти положен приоритетный принцип, причем наиболее высокий приоритет имеет видеоконтроллер. В системах с прогрессивной разверткой (1024в1024 точек) во время вычерчивания строки производится считывание пары слов из всех четырех модулей растровой памяти для каждого разряда кода интенсивности каждые 2,56 мкс четыре раза на одной линии. Все остальное время предоставляется цифровому векторному генератору для записи точек.
Перекрытие циклов записи осуществляется путем распределения записи последовательных точек в разных блоках памяти. Предусмотрена логика, которая следит за состоянием каждого блока и запускает цикл записи сразу после окончания предыдущей операции.
Управляющие сигналы генерируются регистрами сдвига отдельно для каждого блока памяти.
Вся растровая подсистема синхронизируется одним стробирующим импульсом с частотой 12,5 МГц. Кроме того, модуль синхронизации и управления генерирует и стробирующий импульс с частотой 25 МГц для управления видеоконтроллером в системах с прогрессивной разверткой.
Растровая память служит для хранения побитовой карты изображения. Изображение с разрешающей способностью 1024в1024 точек и двумя уровнями интенсивности помещается в четырех модулях памяти. Изображения с 8 или 16 уровнями интенсивности (цветов) хранятся соответственно в 12 и 16 модулях. При этом устройство памяти создано по принципу двойного буферирования, и в нем сохраняются два изображения с указанной разрешающей способностью и уровнями интенсивности (цветов).
Один модуль памяти содержит 32 динамические МОП БИС ЗУ по 16 Кбит и соответствующие функциональные узлы (буферы, регистры и сдвигающие регистры) и имеет емкость 512 Кбит. Адресный вход делит растровую память на два кадра, причем каждый из них располагается в отдельном буфере. Пока в одном буфере записывается новое изображение, другой буфер выводится на экран монитора (необходимо помнить, что запись и выборка двух буферов не могут осуществляться одновременно).
Один модуль растровой памяти состоит из четырех блоков памяти с соответствующими функциональными схемами, что позволяет осуществлять перекрытие циклов записи к отдельным блокам. Каждые 400 нс (цикл памяти) модуль растровой памяти может принять четыре запроса на обмен через 80 нс каждый. Этим обеспечивается минимальное время (100 нс) для записи одной точки изображения в тех интервалах времени, когда видеоконтроллер не считывает информацию для изображения на экране монитора.
Регенерация памяти осуществляется во время считывания информации. Период регенерации — 256 мкс.
Видеоконтроллер для стандартной прогрессивной развертки преобразует цифровые видеоданные модулей растровой памяти в аналоговые сигналы для управления растровым монитором. Видеоконтроллер содержит таблицу цветов (LVT) для расширения воспроизводимых цветов на экране монитора. Кроме того, он направляет управляющие сигналы для синхронизации строчной и кадровой развертки и для гашения луча. На ввод видеоконтроллера поступают два 16-разрядных потока данных с частотой 12,5 МГц, которые преобразуются в один 4-разрядный поток данных частотой 100 МГц. Другая функция видеоконтроллера — заполнить таблицу цветов стандартным содержанием по включению питания или программным путем. Видеоконтроллер вырабатывает для собственной синхронизации импульсную последовательность в 100 МГц.
Статья опубликована в сборнике “Вычислительная техника социалистических стран”, вып. 24, Москва, “Финансы и статистика”, 1988 г., стр. 175.