Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Оперативные графические системы в автоматизации проектирования

..pdf
Скачиваний:
4
Добавлен:
19.10.2023
Размер:
6.87 Mб
Скачать

работы последнего п состоящий из последовательности команд.

Графические процессоры отличаются набором выпол­ няемых команд и их форматом. Наиболее часто исполь­ зуются два типа структур команд. В первом случае формат команды постоянный и состоит из двух полей — кода операции и данных, определяющих графический элемент (координаты точки, тип, положение и длину вектора, код символа и т. д.) (рис. 4.4, а). Вторая струк­ тура является более гибкой, так как формат команды — переменный. Код операции размещается в отдельном слове и относится к массиву следующих за ним данных, которые определяют идентичные графические элементы

(рис. 4.4, б).

Программа графического процессора состоит как из графических команд, обеспечивающих вычерчивание изображения, так и из команд управления, которые позволяют нарушить последовательный процесс чтения информации из памяти, передать управление по указан­ ному в команде адресу.

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

Координаты задаются обычно или абсолютными (X, У), или в виде приращений (A/Y, АУ). Во многих случаях допускаются оба способа задания. В некоторых графиче­ ских процессорах для вывода точек предусматривается режим, в котором координата У задается для каждой точки, а для координаты X задаются только начальное значение и шаг [6].

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

Команды управления позволяют осуществить такие операции, как переход, переход с возвратом, условные пропуски команд. Введение с помощью этих команд в

90

а

 

 

 

 

 

 

 

б

 

 

 

 

N , N +

1

 

 

я

 

 

 

00

(точка)

 

 

 

 

 

 

 

 

 

02

(вектор)

N + 2 , N + 3

0

В 0

 

0

 

X

 

 

X + 4 , /V + 5

0

0

0

 

0

 

Y

 

 

 

 

 

0

1

2

3

4

 

 

 

15

N , ЛЧ-1

 

 

Л

 

 

04

(точка)

 

 

 

 

 

05

(вектор)

 

 

 

 

 

 

 

 

 

 

N + 2,

ЛЧ-3

Зн.

 

дх

 

1

Зн.

ДК

 

В

 

 

 

 

 

 

 

 

 

0

1

6

 

7

8

9

14

15

 

 

N , ЛЧ-1

 

 

 

 

40

(символ)

 

 

N + 2 ,

Х + 3

 

Символ 1

Символ 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

Рис.

4.4

Форматы

графических

команд:

а — постоянный;

б — пере­

 

 

 

 

 

 

менный '

 

 

 

 

программу отображения большого числа подпрограмм дает возможность сократить общее число команд при вы­ черчивании набора стандартных изображении. В ряде случаев в систему команд графического процессора вводится команда, обеспечивающая временную синхро­ низацию выполнения графической программы от генера­ тора частоты регенерации. Это дает возможность при вычерчивании изображений, имеющих различные по объему графические программы, поддерживать сравни­ тельно постоянную яркость отображаемого материала.

Вся программа по отображению информации хранит­ ся в памяти графического процессора, емкость которой соответствует максимальному объему отображаемой па экране информации. Устройство управления осуществля­ ет последовательное чтение данных из памяти, расшиф­ ровку кода операции команды и передачу операндов з соответствующие блоки для их обработки. В частности, операнды графических команд передаются в блок гене­ раторов для вычерчивания графических элементов.

В качестве устройств ввода в системе могут использо­ ваться алфавитно-цифровая клавиатура (АЦК), функ­ циональная клавиатура (ФК), световое перо. Символы, вводимые с АЦК, записываются в память графического процессора и отображаются на экране ИН. Функцио­ нальная клавиатура подключается непосредственно к блоку сопряжения, поэтому код нажатой клавиши пере­ дается для обработки в центральный процессор. При указании световым пером па идентифицируемый графи­ ческий элемент импульс со светового пера поступает в УУ, которое выделяет адрес слова памяти, содержащее графическую команду, или содержимое регистров откло­ нения. Затем эта информация передается в центральный процессор, где производится модификация изображения.

Наличие памяти в графическом процессоре делает подсистему ПГИ достаточно автономной, что облегчает процесс наладки, эксплуатации и проведения контроля ее функционирования. Но при этом возникает необходи­ мость хранения в центральном процессоре (ЭВМ) копии массива команд отображения для внесения в него изме­ нений и интерпретации информации, поступающей от устройств ввода графической информации, что вызывает дополнительный расход памяти. Чтобы избежать этого, а также для уменьшения загрузки ЭВМ по обработке это­

92

го массива, целесообразно расширить набор команд графического процессора, вводя команды управления памятью. Эти команды позволяют при локальных изме­ нениях не создавать заново весь массив и передавать его из центрального процессора, а дают возможность допи­ сывать в память лишь новые команды, а также осущест­ влять модификацию графических элементов, не обра­ щаясь в центральный процессор. Все это, а также добав­ ление части оборудования по обработке запросов в графическом процессоре (редактирование текста, обслу­ живание прерываний со светового пера, перемещение светового маркера, изменение формата отображаемой информации и др.) позволяют для организации связи между двумя комплексами использовать в центральном процессоре канал ввода/вывода с невысокой скоростью обмена (мультиплексный канал).

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

На канал связи памяти с генераторами графических элементов, расположенными в самом УО, накладываются более жесткие ограничения по скорости передачи данных. Здесь необходимо использование канала с широкой по­ лосой пропускания, так как задержки в канале приводят к увеличению времени, ие связанного с собственно по­ строением изображения, а следовательно, к уменьшению объема отображаемой информации.

Таким образом, для удовлетворения требования опе­ ративности (время реакции в случае простейших опера­ ций не должно превышать 5 сек) затруднительно приме­ нение рассматриваемой подсистемы для обслуживания

дистанционных ИН, удаленных на несколько километров от ЭВМ.

Использование в ИН ЭЛТ с регенерацией изображе­ ния выдвигает дополнительные требования к быстродей­ ствию блоков графического процессора. Для отображе­ ния немелькающего изображения необходимо соблюде­ ние следующего неравенства:

^ > Л Г т + /птах>

(4.1)

93

где /р — частота регенерации; N — число информацион­ ных слов, составляющих массив команд отображения; х — время обращения к памяти графического процессо­ ра; ^ттах— время построения изображения с наиболь­ шим числом различных графических элементов.

Время построения изображения определяется следу­ ющим соотношением:

"m ax

"'m ax

pmax

 

= 2

'* + 2

Ч + 2

<4 2)

i=l

/=1

/=1

 

где ( / у . , л гаах) — время установления и число перемещений

луча в заданную точку на экране;

(tbj , rnmax) — время вы­

черчивания /-го вектора и число

отображаемых векторов;

(t4, ртях) ■— время вычерчивания /-го символа и количество символов.

Величины /у, /в, /с являются для каждого УО извест­ ными параметрами, характеризующими его.

Основным параметром, определяющим быстродейст­ вие УО, является скорость, с которой луч может быть установлен в любой произвольной точке экрана. В боль­ шинстве УО время /у лежит в пределах от 3 до 100 мксек.

При начертании векторов используются два типа гене­ раторов. Одни генераторы вычерчивают произвольно расположенный вектор любой длины за фиксированное время, в других время вычерчивания зависит от длины вектора. Генераторы с фиксированным временем вычер­ чивания обеспечивают построение вектора с наибольшей длиной за 30—150 мксек, в то время как пропорциональ­ ные генераторы имеют быстродействие от 0,5 до 150 мксек на 25 мм длины вектора.

Генераторы символов обеспечивают построение сим­ вола за время от 2 до 100 мксек. К этому времени необ­ ходимо добавить время перехода луча из одной знаковой позиции в другую (соседнюю), которое может составить

1—10 мксек.

Определим, каким быстродействием должна обладать память для периодического возобновления изображения.

Из (4.1) можно установить

 

т < - ,fР~*птах .

(4.3)

Для расчетов примем, что отображающая часть ОГС проектируется для визуализации сложных поверхностей,

94

составленных из отдельных участков, границы которых описываются кривыми 3-го порядка.

Для вычерчивания этих липни используется метод кусочно-линейной аппроксимации, причем для создания хорошего качества изображения берется достаточно большое число векторов. Так, поверхность из 200 участ­ ков содержит следующее число графических элементов:

п = 30;

т = 900.

(4 4)

Если принять ^у = 35 мксек,

= 30 мксек

независимо от

длины вектора /р = 30 гц,

что характерно для ряда УО, то

из (4.2) получаем

 

 

 

 

t1М1=

28-10"

к

(4 F')

Рис. 4.5, а. Структурная схема Г1Г1Г11

95

Управление

ГС

- — -

УУ

Данные

У0„

Рис. 4.5, б. Организация обслуживания нескольких ИН общей памятью

Определим объем памяти, занимаемый массивом команд отображения при выбранном переменном формате гра­ фических команд. Положим, что для кодирования команды вывода луча в точку требуется 6 байт, а векто­ ра — 2 байта. Тогда

jV ^ 2000 байт.

(4.6)

Подставляя (4.5) и (4.6) в (4.3), получим т=^2,5 мксек.

При этом непроизводительное время, т. е. время, затрачи­ ваемое на обработку информации, не связанную с по­ строением, составляет около 15% от общего времени, отводимого на формирование изображения.

Таким образом, при такой организации обслуживания УО наблюдается неравномерная загрузка оборудования. Одни блоки (генераторы графических элементов, ИН) работают достаточно производительно, другие (память, устройство управления) большую часть времени про­ стаивают.

Проведенные расчеты показывают целесообразность преобразования такой системы в многопультовую, где несколько УО обслуживаются одним общим блоком памяти. При этом количество устройств должно быть вы­ брано таким, чтобы их подключение заметно не умень­ шало объем отображаемой информации по сравнению с однопультовой системой. Такая организация позволит значительно снизить стоимость системы в пересчете на одно устройство отображения [7, 8].

Как видно нз блок-схемы многопультовой системы (рис. 4.5, а), блок сопряжения, устройство управления, память, генератор символов являются общими для всех УО. По сравнению с одиопультовой системой емкость памяти увеличена в К раз, в управление памятью введено К регистров адреса (РА) и регистров вывода (РВ), за­ крепленных за каждым УО, в схему устройства управле­ ния и блока сопряжения добавлены элементы, позволя­ ющие вести обслуживание нескольких устройств (рис. 4.5, б).

Программы отображения всех УО в виде массивов графических команд и команд управления могут распо­ лагаться в памяти графического процессора произволь­ ным образом. Управление динамическим распределением памяти осуществляется центральным процессором, кото­ рый передает в графический процессор адреса записи

7. Зак. 218

У7

информации. После окончания записи массивов команд на РА устанавливаются начальные адреса всех программ.

Обслуживание УО, подсоединенных к общему блоку памяти, производится с помощью разделения во времени циклов обращения к памяти между устройствами.

Первоначально считывается первая команда програм­ мы отображения УОь расшифровывается код операции, затем операнды команды передаются через PBi непосред­ ственно в индикаторное устройство (команды вычерчи­ вания точки, вектора) или в генератор символов (коман­ да вычерчивания символа). В последнем случае ГС формирует последовательность векторов, описывающих контур символа, и передает их в УО. Далее считывается первая команда программы отображения УОг и произво­ дится выдача информации на это устройство. Аналогич­ ный процесс повторяется для всех К устройств.

Согласно принятой дисциплине обслуживания, все УО обладают одинаковым приоритетом, поэтому после окончания обслуживания УОк проверяется, начиная с 1-го устройства, наличие запросов от освободившихся устройств, которым последовательно передаются операн­ ды второй графической команды программ отображения.

При таком порядке обслуживания производительность

памяти

может

достичь 100%

в периоды наибольшей

нагрузки.

 

 

Для получения немелькающего изображения на

каждом

ИН

необходимо выполнить его программу за

время периода

регенерации. Время выполнения про­

граммы

определяется временем

обработки команд в

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

Для многопультовой

системы справедливо

следу­

ющее неравенство:

К

 

 

 

> Т У

> ‘ +*птах.

(4.7)

Л ч

 

 

i=1

 

где А/'г — среднее количество слов памяти, занимаемых командами графической программы t-ro УО; К — коли­ чество одновременно обслуживаемых УО.

Из (4.7) можно заключить, что в многопультовой системе для отображения иа каждом ИН такого же

98

объема информации, как и в однопультовой, необходимо

стремиться к уменьшению величины

К

 

t=i

(4-8)

 

 

Значение /| уменьшается при использовании памяти

с меньшим временем

доступа и более

компактной

записью информации,

представляющей

графическую

программу. Последнее может быть достигнуто при при­ менении структуры команд с переменным форматом, способа описания изображения с помощью графических команд, дающих наименьший объем программы, под­ программ стандартных изображений.

Несмотря на принятый порядок обслуживания, при котором считывание информации из памяти для одного устройства совмещено по времени с вычерчиванием изображения на другом устройстве, при значениях вели­ чины t\, составляющих достаточно большой процент от всего времени регенерации, может наблюдаться сниже­ ние производительности генераторов графических эле­ ментов. Так, положим, что все УО должны одновремен­

но отображать вектор

с временем вычерчивания fD~

= 30 мксек.

Время обращения

к

памяти для выборки

графической

команды,

определяющей этот вектор и за­

нимающей в памяти 4

байта,

при т = 2 мксек равно

8 мксек. В случае применения пяти

УО действительное

время вычерчивания вектора будет 40 мксек, тогда как генератор способен начертить его за 30 мксек.

Требование получения близкой к 100% загрузки генераторов может привести к необходимости использо­ вания памяти с большим быстродействием. В этом случае отношение

* = - £ - ,

 

 

(4-9)

 

Л

 

 

 

R = m\n

—в- ;

- М

,

(4.10)

I N T

N n

N c

I

V '

где NT, NB, Nc — среднее число слов памяти, занимаемых, командами вычерчивания точки, вектора и символа соответственно — определяет минимальную величину времени обращения к памяти. При этом рассматривается случай считывания для всех устройств в одном цикле'об­

•?*

уй

 

Соседние файлы в папке книги из ГПНТБ