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

книги / Справочник проектировщика систем автоматизации управления производством

..pdf
Скачиваний:
6
Добавлен:
19.11.2023
Размер:
39.87 Mб
Скачать

Определим необходимые нам области памяти. В качестве констант нужны /0 ~

=001.000000 и iV0 = 001 ONN 001+

ONE 001000000+

Под область ввода отводим 9 байтов: в колонках 1-нЗ перфорируем значения N, а в колонках 4-т-9 — значение I:

N M A X X X X X X X .

 

 

 

/

. X X X X X X X X X X X X .

 

Область вывода будет LINE длиной 16 байтов. Шаблон для редактирования:

EDT 40202020 22402020

 

 

 

В

214В2020 20202020

используем

следующие рабочие области:

программе (табл.

VII 1.3)

 

Обозначение*

Структура

 

Пояснения

 

N

Х Х Х +

+

упаковапная

 

В

XXX.X х х х х х

упакованная

 

KN

хх

хН-

x-f

N M A X , упакованная

 

R

XXX.X

х х х х

R = 1 -j- /, упакованная

 

МРК

 

 

 

рабочая область длиной 10 байтов.

Упакованные данные — две десятичные цифры помещены в один байт.

7. АВТОМАТИЗАЦИЯ ПРОГРАММИРОВАНИЯ

Методы перевода с входного языка на машинный составляют основу автоматиза­ ции программирования. Существуют два способа перевода исходной программы; трансляция и интерпретация.

Рис. VIII.6. Решение задачи с трансляцией программы:

а — трансляция; 6 — решение задачи

Рис. VIII.7. Интерпретация задачи

Трансляция выполняется в два эта­ па: полный перевод исходной программы

в рабочую (рис. VIII. 6, а),

выполне­

ние рабочей программы, как

показано

на рис. VIII. 6, б.

(синхрон­

Интерпретация — текущий

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

Интерпретация основана на использо­ вании библиотеки стандартных программ и является единственно приемлемым ме­ тодом автоматизации программирования ЭВМ с небольшой емкостью памяти. Этот метод применен в ЭВМ «МИР-1», «МИР-2», «Напри», в которых упомянутая библио­ тека представляет собой специальное ЗУ.

Рис. VIII.8. Блок-схема транслятора

АЛ ГОЛа Основной недостаток интерпретации заключается в том, что в случае много­ кратного использования некоторых псев­

докоманд в циклических программах их приходится заново интерпретировать при каждом исполнении, что ведет к резкому возрастанию времени, необходимого для полного решения задачи, в

Рассмотрим принцип работы системы трансляции, основанной на использовании языка АЛГОЛ-60. При помощи транслятора ЭВМ автоматически переводит АЛГОЛпрограмму в рабочую программу.

Трансляторы АЛГОЛа весьма сложны и занимают большой объем памяти. На­ пример, транслятор МЭИ-3 для ЭВМ «Минск-22» занимает около 20 тыс. ячеек. На рис. VIII.8 представлена укрупненная блок-схема транслятора АЛГОЛа.

Блок 1 служит для ввода АЛГОЛ-программы в память ЭВМ. Блок 2 производит первичную обработку АЛГОЛ-программы: удаляет комментарии, заменяет неко­ торые сложные элементы языка более простыми. Блок 3 проверяет синтаксис, т. е. формальное соответствие введенной АЛГОЛ-программы правилам АЛГОЛа, и выяв­ ляет при этом ошибки, наиболее распространенными из которых являются иска­ жение идентификаторов, несоответствие числа открывающихся скобок в арифмети­ ческих выражениях числу закрывающихся и т. п. Операторы АЛГОЛа, содержащие ошибки, выводятся на печать блоком 8. Блок,4 учитывает описание и формализует программу, вводя для всех объектов АЛГОЛа внутренние наименования, которые в отличие от идентификаторов имеют стандартную длину и содержат информацию о блоке, которому принадлежат объект, и т. п. Блок 5 производит переработку формализованной АЛГОЛ-программы в нужную последовательность машинных команд, записанных в условных адресах, оптимизирует программу (экономию рабо­ чих ячеек и т. д.). Блок 6 присваивает машинным командам истинные адреса и ком­ понует программу. Составленная программа выводится на. перфокарты или пер­ фоленту с помощью блока 7.

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

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

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

Мультипрограммную работу ЭВМ обеспечивает супервизор [см. гл. VIII, п. 10], в котором сосредоточены все программные средства, осуществляющие управление ресурсами ЭВМ и порядком реализации основных программ (программ обслужива­ ния и прерывания, координирующей и планирующей программ);

Мультипрограммирование предъявляет дополнительные требования к аппаратуре. Поскольку данная рабочая программа не всегда загружается в одно и то же место памяти, необходимо иметь аппаратный регистр смещения (базовый регистр), содер­ жимое которого автоматически прибавляется к содержимому регистра адреса каждый раз, когда происходит обращение к памяти. Адрес ячейки, в которой хранится первая команда приводимой в действие программы, заносится супервизором в базо­ вым регистр, с которым связан граничный регистр, используемый для защиты памяти.

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

В мультипрограммных системах коллективного пользования весьма эффективно

применяется

страничная

обработка. Страничная

обработка — это современный

способ организации памяти, при котором двоичные

цифры, задающие адрес слова,

делятся на

две группы:

старшие цифры — номер

страницы, младшие — номер

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

Супервизор формирует постоянно корректируемую таблицу страниц, в которой указано, какая физическая страница соответствует какой странице программы или блока данных; Если обозначить р — номер страницы, I — номер строки в стра­ нице, тогда полный адрес слова в физической памяти равен 2ар + I, где 2а — число строк в странице. При использовании страничной обработки в мультипрограммной системе при загрузке новой программы можно записать любые свободные физиче­ ские страницы, à также сократить перепись информации между внешней и глав­ ной памятью (страничная обработка по требованиям). Сначала загружается первая страница программы, и ей передается управление. Если во время работы необходимо прочитать слово с другой страницы, управление передается супервизору, загру­ жается требуемая страница и корректируется таблица страниц. Поскольку при работе системы коллективного пользования программы загружаются часто й работают небольшой интервал времени (до команд ввода-вывода или до окончания выделен­ ного кванта времени), преимущество страничной обработки весьма заметно.

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

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

Рис. VIII.9. Блок-схема алгоритма (оптимизации планирующей программы:

1 — построение логических граф-схем рабочих программ; 2 — определение размерности дуг граф-схем; 3 — нахождение числа путей граф-схем каждой программы; 4 — декомпозиции графсхемы на линейные подграфы; 5 — эквивалентное преобразо­ вание линейных подграфов; 6 — определение возможных ком­ бинаций путей основных программ; 7 — состояние графика оптимального расписании для каждой комбинации; 8 — введе­

ние оптимального расписания в планирующую программу

однопроцессорной ЭВМ приведена на рис. VIII.9. Исходными данными служат записи на языке АССЕМБЛЕР рабочих программ, подлежащих решению задач.

Построение логических граф-схем рабочих программ выполняется модифициро­ ванным методом Олюнина: логическая граф-схема разбивается вершинами на дуги, каждая из которых представляет собой квант работы вычислителя либо устройств ввода-вывода. На рис.. VIII 10, а приведены три логические граф-схемы некоторых программ (I, II и III), Дуга, изображаемая сплошной линией, характеризует квант работы вычислителя (например, дуги / —2, / ' —2' и т. д.). Квант работы устройств ввода-вывода представлен штриховой линией (например, дуги 23, 2'3' и т. п.).

Таким образом, вершина / — начало работы вычислителя,

а вершина 2 — конец

его

работы и одновременно начало работы

устройств ввода-вывода. Вершины 5,

3\

4", 9 и т. п. определяют логическое ветвление

программ (команды условного

и безусловного переходов, команды формирования

циклов

и сравнения).

 

Рассматриваемая логическая граф-схема

представляет

собой направленный

граф без циклов, которые заменены последовательным соединением повторяющихся участков программ (1—2, 2—3 и 3—4, 4—5).

Задача определения длины дуг граф-схемы сводится к расчету времени выпол­ нения всей программы и участков (квантов) программы. При решении этой задачи каждой дуге граф-схемы присваивается длина, характеризующая предполагаемое время выполнения данного кванта программы. Логические* граф-схемы программ могут иметь довольно сложную топологическую структуру, которая определяется

вкаждом конкретном случае сложностью программы решаемой задачи. Структура граф-схемы (рис. VIII. 10; а) определяет возможные пути движения

программы. Так, например (рис. VIII. 10,6) программа / имеет три пути: {А, Б, С}; программа II имеет четыре пути: {D, Е, F, /С}, а программа III — два пути {L, М). Определение числа возможных путей и их конфигурации выполняется по методике, предложенной В. И. Нечипоренко К Находятся пути между конечными вершинами i и / граф-схемы программы. Вначале составляется матрица непосредственных путей

(аналитический образ

граф-схемы), затем строится полная

матрица путей ||а/у||,

где ац — число путей

из

вершины i в вершину /; ац = 0, с использованием ква­

зиминоров. На основании

полученной полной матрицы путей

выполняется деком­

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

Врезультате декомпозиции граф’-схемы в линейных подграфах могут оказаться

вналичии смежные дуги одного и того же типа, например, на рис. VIII. 10, б смеж­ ными являются однотипные дуги 9—11 и 11—12, 6'—8' и 8'9' и т. п. В связи с этим решается задача эквивалентного преобразования линейных подграфов, т. е. замены

двух и более смежных однотипных дуг эквивалентной дугой, например, смежные дуги 9II и 11—12 заменяются эквивалентной дугой 9—12.

Далее определяются возможные комбинации путей основных’ программ задач. Выбор каждой комбинации Зависит от характера исходных данных программ. 6 нашем примере (рис. VIII. 10, 6) путь А может комбинироваться с любым из путей мно­ жеств {D, Е, F, К} и {L, М}. Например, возможны комбинации {A, D, L}, {А, £ , Lr}

1 Нечипоренко В. И. «Структурный анализ и методы построения надежных систем». М., «Советское радио», 1968.

7

9

JJ

A /■

2 — 3 — b — S

b —

8 - 1 0 —►//

1 2 - + Î 9 —

1 5 - + 1 6 — 17--*- 18

/7 *

 

B

i

 

 

7

11 —

12 j +

14 —

15 —

16 — 17 - + 18 — 19

 

 

 

 

-------------y

'

 

 

 

 

 

C

1

? 7-► J — 9 — 5

7-^9

/j j^

--►J5—*/7 --*■J8

 

 

 

 

 

 

 

 

 

t*

 

 

 

 

 

B

/'■

4 f— ►

£ ' — *■

 

F ’ +Jû'—- î F — i F j + lF — 16'— / 7 ' - » 18 -+ 19 '— ?Q,- + ? F -

■ 22

E

f-

F —

ô'—

8 ^ - 9 г7+

10 —

11’—* J J -— 15 — 16 — 17 — 18*— 19'— 20 — 2F

■22

F

Л

 

7 '— 5 ' —

9 '7 - J O — îF — 12 7 -

JF — 16'— 17 — 18 — 19— 20 — 2 F-

Ml

5 ' —

■22r

K

F«

5 r—

f — 8 '—

S T - J O ’— I S - ÎS T -

15 — 16 — 17 — 18 — 19— 20 — 2F

?2J

L

S'­

2 - - \ ï —r F '—

5 " -+ ï —

F - +

îF —

13 — 15 — i F —J O — 19 — 20 7 + 2 1 —

22 • + 2Ï :-

 

il

Л

--------

 

 

 

 

 

 

---- v---------7

 

 

 

 

8 '—

10 —

12 1F —J 6 — 19 — 2 0 7 + 2 1 2 2 — 23— 24"

 

 

 

Рис. VIII. 10. Представление программ

в виде граф-схем:

 

 

 

 

я — логические граф*схемы;

б — линейные подграфы

 

 

{A,

F, X} и т. п. Число комбинаций путей определяются известными методами ком­

бинаторики.

 

 

 

 

 

 

 

 

 

 

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

В предлагаемом алгоритме решения задачи составления оптимального расписа­ ния использован метод субоптимизации. Очевидно, оптимальным расположением для п линейных подграфов будет матрица Т, состоящая из подматриц Ту, т£- е Т (рис. VIII. 11). Подматрицы т£- получаются из Т при пересечении ее вертикальными линиями. Элементы подматриц Ту определяются по' формулам:

U, /-ï + Ti>j-iî

*io=

т/о =

0;

(VIII. 1)

х ч

= *£,/ + 1 + т £, /+1’

*£,

1=

т £, я+i = о . }

 

где i =

1, 2, ..., К — номер подматрицы / = 1, 2,

..., п — номер строки матрицы

Т\ tij — элементы матрицы,

определяющие кванты

времени работы вычислителя;

Tty, T i j — элементы матрицы, характеризующие кванты времени работы устройств ввода-вывода. Кванты работы вычислителя ££l, t/2, ..., t[n следуют один за другим, что обеспечивает непрерывность его работы.

Подматрицу т£- с элементами, подчиняющимися уравнениям (VIII. 1), назовем симметричной. Она представляет собой идеальный случай расположения п линей­

tit

Рис. VIII. 11. Симметричная подматрица ту

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

Первый вариант. Элементы подматрицы ту определяются следующим образом:

т/; <

i + Ti./-i;

T i f ^

(VII 1.2)

/4-1 "ЬТ с, /4-Г ^'0 = ТЙ) ^ h , л4-1= x i , /14-1=

Подматрицу такого вида назовем неупорядоченной симметричной. Для преобра­ зования неупорядоченной симметричной подматрицы в симметричную необходимо сдвинуть вправо ее элементы //у. Уравнения сдвига имеют вид

где ©г/ — шаг сдвига по элементам т*у; Вц — шаг сдвига по элементам тс/; т//, тс/ — элементы неупорядоченной симметричной подматрицы.

Второй вариант. Элементы подматрицы ту в этом случае подчиняются соотноше­ ниям:

( ^ if ^ О» Ъ [J>> Tij\

I ^ / - 1 . + ^\/_г

Подматрицу такого вида назовем несимметричной. Несимметричная подматрица характеризуется тем, что содержит «просветы» (кванты разрыва) относительно эле­ ментов t-tj. Уравнения для квантов разрыва можно записать в виде

А// = т ij тс/ ;

А

А

T[j\

f- 1 + Ti, /_1 “

 

 

п

А/ = шш (А/у);

А /=

2 А/,

 

 

t = 1

где Aif — величина кванта

разрыва для /-й строки подматрицы т£*; А£- — величина

кванта разрыва подматрицы т£.

На рис. VIII. 12

представлена блок-схема алгоритма составления оптимального

расписания. На каждом шаге оптимизации для двух соседних подматриц ту и т ^

t*iic. VIII. 12. Блок-схема алгоритма составления оптимального расписания:

1 — составление матрицы Т \ 2 — выборка двух соседних подмат­ риц т • и 3 — определение числа и списка комбинаций строк

для выбранных подматриц; 4 — вычисление элементов т^.. под­ матрицы т. для всех комбинаций; 5 — определение квантов раз­

рыва подматрицы ту,

6 — выбор комбинаций,

содержащих ми­

нимальное

значение

квантов разрыва подматрицы т 7 — оп­

ределение

элементов rjy подматрицы т-

для

выбранных'"ком­

бинации; 8

— определение элементов

j

подматрицы т ^ |

для выбранных

комбинации;

9 — определение

квантов раз­

рыва подматрицы

для выбранных комбинаций; .10 — вы­

бор комбинаций,

содержащих

минимальное

значение

квантов

разрыва подматрицы тц-i; 11 — вычисление

элементов

^

подматрицы

для выбранных комбинаций;

12 — контролbi-

закончен полный перебор подматрицы т. матрицы Г? 13 — формирование графика оптимального расписания

определяется оптимальное расположение строк по критерию минимума величины квантов разрыва между элементами ty. Задача решается методами матричного исчис­ ления по приведенным выше математическим зависимостям. Следует отметить, что решаемая задача — многоэкстремальная, и предлагаемый алгоритм не позволяет получить глобального экстремума, а обеспечивает лишь получение в приемлемое время достаточно выигрышного варианта решения.

Рассмотрим иллюстративный пример. Пусть задана матрица 7 вида

tцТ1т121т 211зхТзхДцТ^/51T ftl^0LT G1^7 l T 71^8l T 81

. A A A A A A A A

t\oTiо^22^-22^32^32^42^42^52^52^02^02^72^72^82^82

A A A A A A A A

^13Т13^23Т 23^33Т 33^13Т43^53Т 53^3Т:03^7"3Т 73^63Т 83

Первая строка матрицы представляет собой путь А граф-схемы программы /, вторая строка — путь D граф-схемы программы /У, а третья строка — путь L граф-

схемы программы III

(см. рис. VIII. 10).

 

 

 

 

 

 

После подстановки значения элементов ty

и т,у (в условных единицах времени)

матрица 7 будет иметь вид

 

 

 

 

 

 

 

 

 

 

1

2

2

2

1

4

2

3

2

7

1

3

1

2

2

1

7 = 2 3 2 3 3 4 3 2 2 4 5 1

 

1 3 3 2 *

1

5

3

1

1

2

2

3

3

4

2

3

2

4

2

1

В результате решения получим следующий график оптимального расписания перехода с программы на программу:

/ д.3

t l ï

— > ^12

^21

^23

^22

^31

^33

> ^32

^ 4 1

^43 ~ > ^42 ~ ^

^62

—►

/5 1 —►

t ü3 —►

t(jn —> yBi

—>

/72 —►

/73 —►

^7i —►

/sa

h s ^ ^ 8 1 -

 

 

Применение метода оптимизации позволило сократить кванты разрыва (время простоя вычислителя) на^7 условных единиц времени, что составляет около 15% времени работы вычислителя для реализации полной матрицы 7.

9.МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ

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

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

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

Математическое обеспечение ЭВМ разделяют на общее (машинно-ориентирован­ ное) и специальное (проблемно-ориентированное).

Общее математическое обеспечение дает возможность использовать вычислитель­ ную систему как универсальную систему обработки данных для определенного класса-

систем.

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

Структура системы математического обеспечения. Система математического

обеспечения делится на три основных

уровня:

1) автокоды (языки АССЕМБЛЕР)

и библиотеки стандартных подпрограмм;

2)обобщенные программы, компиляторы и операционные системы;

3)трансляторы.

Книзшему уровню системы математического обеспечения относятся автокоды

ибиблиотеки стандартных подпрограмм.

Автокод (язык АССЕМБЛЕР) (см. гл. VIII, п. 6) позволяет использовать сим­ волические адреса вместо истинных адресов ячеек памяти, поэтому можно без затруд­ нений перемещать программу в главной памяти и вводить в нее коррективы и вставки.

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

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

Операционные системы (см. гл. VIII, п. 10) представляют собой обобщенные программы, применяемые для управления последовательностью выполнения про-

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

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

Математическое обеспечение ЕС ЭВМ. Математическое обеспечение современ­ ных ЕС ЭВМ состоит из обслуживающей, операционной и программирующей системы, а также библиотеки стандартных подпрограмм [86].

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

Операционная система включает в свой состав обслуживающие и управляющие программы (см. гл. VIII, п. 10).

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

Наличие хорошо разработанного математического обеспечения обуславливает параллельную работу механических и электронных блоков ЭВМ, и при этом в зна­ чительной степени устраняет несоответствие скоростей в их работе.

Программирующая система предназначена для автоматизации программирова­ ния и эффективной реализации информационных процессов. В ее состав включены языки различных уровней: язык АССЕМБЛЕР (типа автокод), ФОРТРАН, а также проблемно-ориентированные языки (РПГ, КОБОЛ) и трансляторы с этих языков. Совокупность проблемно- и машинно-ориентированных языков, входящих в мате­ матическое обеспечение, строится на общей синтаксической основе, единой симво­ лике и общей структуре. Все эти требования вытекают из необходимости обеспе­ чения совместимости различных программ и обмена их между различными звеньями управляемого комплекса.

По мере расширения областей применения ЕС ЭВМ математическое’обеспечение будет пополняться пакетами прикладных программ различного назначения.

Вопросы создания специального математического обеспечения АСУП. Анализ задач АСУП показывает, что для различных групп предприятий, для разных мето­ дов управления имеются одинаковые процедуры.

Рассмотрим, например, задачи оперативного управления производством.

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

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

 

tie cmо "] t

f

 

 

 

 

 

M1-m

При наличии в программной

;

[

т -1

|

т -2

|

библиотеке ЭВМ

полного набо­

дпя HI

I

 

 

 

 

 

 

ра программных

модулей

для

 

r n '

 

 

 

 

 

 

 

'

 

 

 

 

 

 

 

всех функции управления пред­

ns сто

'

 

1 М2-1

 

I М2-2

 

М2

приятием, для .всех типов пред­

[_Л7я m

uJ

|

|

приятий

данного

класса,

для

 

 

 

 

 

 

 

 

 

всех разновидностей параметров

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

можно осуществить синтез пол-1

 

 

 

1

 

 

 

I

 

 

кого комплекса программы (спе­

I

Место

и

J

 

MN-1

MN-2

 

MN-p

циальное

математическое

обес­

\JÜ!L!1Ü-J

 

 

 

 

 

 

 

печение)

конкретной АСУП. Та­

 

 

 

 

 

 

 

 

 

 

кой синтез целесообразно выпол­

Рис. VIIt.13. Линейная

схема формирования про-

нять с прмощыо программы-гене­

 

 

 

 

 

 

граммы

 

 

ратора, поскольку все программ­

ные модули находятся в памяти ЭВМ.

Рассмотрим некоторые методы синтеза специального математического обеспече­ ния АСУП.

1. Формирование последовательности модулейт необходимых для решения задачи. Варианты модулей заносятся в заранее определенную последовательность для фор­ мирования рабочей программы. Например, пусть имеется линейный участок про­ граммы задачи с фиксированным числом модулей. В исходной схеме задается опре­ деленная последовательность модулей и предусматриваются места для них (отме­ ченные штриховыми линиями), причем каждый модуль М может имеГь несколько модификаций (рис. VIII. 13).

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

конкретного

использования необходим другой

 

вариант некоторых из модулей такой последо­

 

вательности, то стандартные модули заменяют­

 

ся

на требуемые.

 

 

 

 

 

2. Формирование рабочей программы мето­

 

дом перехода на нужный вариант по логиче­

 

скому условию или

параметру. Этот метод яв­

 

ляется аналогом метода построения разветвляю­

 

щейся программы (см. гл. VIII, п. 5), если вместо

 

блоков использовать стандартные модули. Та­

 

кая система выполнят синтез рабочей програм­

 

мы в два этапа: 1) формирование

рабочей про­

 

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

 

модулей; 2) замена (при необходимости) в полу­

 

ченной программе стандартных модулей их ва­

 

риантами. Пример организации такой схемы

 

синтеза

приведен на

рис. VIII. 14.

компоновки

 

 

Для

выбора нужного

варианта

 

модулей задаются значения логических условий

 

Р.

Например, при

P i =

О, Р2 <

0 и РЗ > О

 

рабочая программа П1 компонуется следующим

 

образом: П1 = {M l, М2, М5, М 8, М9},апри

 

< 0 ,

Р 2= 0 получаем П 2= {Ml; М3, М9 }.

 

 

При реализации модульного синтеза про­

 

грамм АСУП

важную роль играет организация

 

массивов данных. При разработке структуры

 

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

 

данных, их организация, а также ^структура за­

 

писей элементов массивов. Используется одна

 

из следующих структур записей: фиксирован-

 

пая

одновариантная,

фиксированная многова-

Р|1С. VIII.14. Разветвляющаяся схе-

рнантная

и переменная.

Фиксированная одно-

ма формирования программы

Соседние файлы в папке книги