книги из ГПНТБ / Смирнов, К. А. Сбор, передача и обработка данных АСУ
.pdfрень по одной команде, то имеете команды А’+З следо вало бы записать первую команду стандартной подпро граммы. Подобные подпрограммы размещаются в спе циальном массиве оперативного ЗУ, имеющего свой ус ловный адрес. После реализации стандартной подпро граммы процесс решения задачи возобновляется.
Следующая операция, на которой следует остано виться, — операция условного перехода, осуществляе мая различными методами. Для трехадресной ЭВМ наи более простым будет способ, при котором считанное по ■первому адресу число (в 'нашем случае Л) сравнивается с числом, считанным из ячейки с адресом к + 4 (т. е. с ну лем). При выполнении условия перехода следующей должна быть реализована команда, записанная по ад ресу /г4-00 (третий адрес). При невыполнении указан ного условия перехода ЭВМ приступает к реализации команды со следующим адресом, т. е. с адресом /е+6. После того-как программа в условных адресах готова, составляется программа в действительных адресах. Это делается заменой буквенных номеров ячеек цифрами.
Поскольку объем нашей программы невелик и ее за пуск осуществляется через каждые 0,1 с, то разместить программу целесообразнее всего в оперативном ЗУ. На чальные ячейки ЗУ обычно занимаются программой вво да и перевода чисел из одной системы счисления в дру гую. Полагая, что эти программы занимают 80 ячеек памяти |(т. е. от 0000 до 0079), начинаем размещать про грамму с ячейки под номером 0080. Одновременно заме ним наименование операций соответствующими обозна чениями, принятыми для некоторых трехадресных ЭВМ (например, для ЭВМ «Стрела»).
Данный отрезок программы, состоящий из восьми команд, разместится в ячейках с номерами 0100—0107, 0080—0085 и 0106, 0107. Наличие разрыва в последова тельности адресов объясняется тем, что в ячейках с ад ресами 0080—0085 размещаются команды для реализа ции операций блоков 3 и 4. Предполагается, что коман ды той части программы, которая требуется для выпол нения операций, перечисленных в блоках 5—7, могут быть размещены в ячейках с адресами 0086—0105. Ис ходные данные разместятся в ячейках 0108—0110, кон станты в ячейках 0111—0116, а окончательные и про межуточные результаты — в ячейках с номерами 0117 и 0118 соответственно. Законченная программа в дейст вительных адресах записывается в виде табл. 2.4.
1/10
Т а б л и ц а 2.4
|
|
|
|
Команда |
|
№ |
А д р е с |
операция |
|
адрес |
|
пп. |
команды |
1-й |
2-й |
3 -й |
|
|
|
|
|||
1 |
0 0 8 0 |
а й с 0 5 |
0 1 0 8 |
0 1 0 8 |
0 1 1 8 |
2 |
0 0 8 1 |
а 6 с 0 5 |
0 1 1 1 |
0 1 1 8 |
0 1 1 8 |
3 |
0 0 8 2 |
а 6 с 0 1 |
0 1 1 8 |
0 Ц 2 |
0 1 1 8 |
4 |
0 0 8 3 |
а б с б З |
0 1 1 8 |
— |
0 1 1 7 |
|
|||||
5 |
0 0 8 4 |
ай сО З |
0 1 0 9 |
0 1 1 7 |
0 1 1 8 |
6 |
0 0 8 5 |
а 6 с 2 0 |
0 1 1 8 |
0 1 1 5 |
0 1 0 6 |
7 |
0 1 0 6 |
ай сО З |
0 1 1 7 |
0 1 0 9 |
0 1 1 8 |
8 |
0 1 0 7 |
а й с 2 0 |
0 1 1 8 |
0 1 1 5 |
— ■ |
9 |
0 1 0 8 |
— |
*4- И |
— - |
• - |
|
|
|
|
|
|
10 |
0 1 0 9 |
— |
а 1 |
— |
— |
11 |
О Н О |
— |
h |
— |
— |
12 |
0 1 1 1 |
— |
А |
— |
— |
13 |
0 1 1 2 |
— |
В |
— |
— |
14 |
0 1 1 3 |
— |
« 1 |
— |
— |
15 |
0 1 1 4 |
— |
а 2 |
— |
— |
16 |
0 1 1 5 |
— |
0 |
— |
— - |
17 |
0 1 1 6 |
- |
1 ' |
— |
— |
18 |
0 1 1 7 |
— |
“ г + 1 |
— |
— |
|
|
|
|
|
|
19 |
0 1 1 8 |
— |
— |
— |
— |
|
|
|
Записанная в таком виде «программа может быть пе ренесена на перфоленту или перфокарты и с помощью одного из внешних устройств занесена в оперативную память ЭВМ для отладки.
Размещение рабочей программы в оперативном ЗУ показано на рис. 2.316. Следует сказать, что в реальных программах адреса записываются не в десятичной, а в восьмеричной системе счисления.
■Отладка п р о г р а м м ы . Завершающим этапом разработки программы является ее отладка. Этот про цесс позволяет выявить и исправить ошибки, допущен ные в предыдущих процессах программирования. В прос тейшем случае отладка программы может производить ся в так называемом нокомандном режиме. При работе
1М
ЭВМ в таком режиме после реализации каждой коман ды машина останавливается, а результаты выполнения команды выводятся на печать, индикатор пульта управ ления или ЭЛИТ. Следующая команда может быть вы полнена лишь после подачи программистом с пульта управления сигнала, по которому ЭВМ реализует сле дующую команду и опять останавливается. Для ускоре ния процесса отладки и, следовательно, экономии ма шинного времени программист должен предварительно вручную подсчитать результаты, получающиеся после выполнения отдельных команд. При работе в однотакт ном режиме программист сравнивает эти результаты с показаниями, даваемыми ЭВМ, что позволяет ему обна
ружить вкравшуюся ошибку.
Ввиду больших затрат времени, требуемых для от ладки .программы в однотактном режиме, его примене ние оправдано лишь для проверки небольших «подозри тельных» участков программы.
Наибольшее распространение получил метод отладки программы в режиме контрольных остановов. В этом случае ЭВМ автоматически выполняет заранее задан ный участок программы, после чего останавливается и выдает на печать необходимые для анализа результаты. Программисту также следует иметь заранее подготов ленные данные для их сравнения с результатами машин ного расчета.
Отлаженная программа хранится в памяти ЭВМ и может быть вызвана в необходимый момент времени. В нашем примере вызов программы может осущест вляться по сигналу от авточасов. Хотя до этого данный сигнал назывался кодом времени, в действительности, как видно из блок-схемы алгоритма, роль авточасов све дена к выдаче через каждые 0,1 с сигнала прерывания. По этому сигналу выполнение текущей программы ЭВМ должно прерываться. ■-
После фиксирования состояния этапа, на котором бы ло прервано выполнение текущей программы, ЭВМ реа лизует программу выработки кода угла заслонки, кото рый затем передается в исполнительный механизм объ екта управления. Как видно из блок-схемы алгоритма, изменение значения Ч осуществляется простым прибав лением (или вычитанием) числа «1» к предыдущему значению Ч+i- Эта операция осуществляется блоком 6 (или 7). Число «1» является в данном случае константой,
Такое решение значительно упрощает |
конструкцию |
|
.датчика 'Времени. |
Из |
ттрвведенного |
А л г о р и т м и ч е с к и е я з ы к и . |
||
выше весьма упрощенного процесса |
составления про |
граммы становятся очевидны большие трудности, стоя щие на пути создания программ. В настоящее время су ществуют системы управления и обработки данных, про граммы которых состоят из десятков и даже сотен тысяч команд. Так, например, в системе управления обработ кой данных и коммутации сообщений американской кор порации «Белл» ЭВМ центра системы имеет про грамму, 'которая включает ib себя примерно 250 000 команд. Подготовка подобной программы длится нес колько лет при участии большого коллектива програм мистов и наличии четкой организации труда.
Уменьшение доли ручного труда в процессе програм мирования достигается применением алгоритмических языков. Алгоритмический язык — это средство, позво ляющее автоматизировать процесс перехода от блоксхемы алгоритма к рабочей программе. Составление ра бочей программы осуществляется на ЭВМ. При этом необходимо выполнить два условия: во-первых, блоксхему алгоритма программы представить в виде, удоб ном для ввода в ЭВМ, т. е. написать ее на алгоритми ческом языке; во-вторых, ЭВМ должна иметь специаль ную программу (транслятор), с помощью которой алго ритмический язык будет переработай машиной ;в после довательность команд, т. е. в рабочую программу.
Объем работ, выполняемых на отдельных этапах со ставления программы обычным способом и при исполь зовании алгоритмического языка, показан на рис. 2.32.
Рис. 2 .32 . О б ъ е м |
р а б о т |
в п р о ц ен т а х , |
-вы пол няем ы х |
н а |
о тд ел ь |
|
эт а п а х |
р а з р а б о т к и |
п р о гр а м м ы обы чн ы м |
с п о с о б(оам) и |
с |
п р и м е |
|
нением |
а л го р и т м и ч еск о г о |
я зы к(аб) |
|
|
|
113
Как видно, применение алгоритмического языка позво ляет автоматизировать 40—60% труда, затрачиваемого на 'составление программы.
Алгоритмические языки часто называют входными языками. В настоящее время известно несколько ма шинных языков. Наиболее распространенным из них считается АЛГОЛ-60. Это универсальный язык, позво ляющий 'составлять .программы для решения на ЭВМ широкого круга математических, логических, инженер ных задач но управлению производством и т. д. Из этого типа языков наиболее известными являются АЛГОЛ-68, ФОРТРАН, ПЛ-1 (для решения вычислительных задач), КОБОЛ |(для задач обработки данных), СНОБОЛ (для машинного анализа текстов), СИМУЛА (для решения задач моделирования сложных физических процессов) и АКИ (для решения инженерных вычислительных задач).
На базе АЛГОЛ-60 строятся и машинно-ориентиро ванные алгоритмические языки. Такие языки позволяют наилучшим образом составлять программу на ЭВМ оп ределенной конструкции. Машинно-ориентированные языки называют также автокодами или мнемокодами. Записанный на этом языке технологический алгоритм называется АЛГОЛ-программой.
Правила представления технологического процесса на алгоритмических языках довольно сложные. Некото рое представление о виде технологического алгоритма, записанного на языке АЛГОЛ-60, можно получить из приведенного ниже вычисления уже знакомой нам функ
ции а = У А Р + В для одного из значений t. Эта запись выглядит следующим образом:
begin real А, В, t, tu a; t i : = Axt\2-rB\
а : = tifi(il/2); STANDAR D(ct); end.
Два первых слова обозначают начало процесса трансляции алгоритма^ систему команд ЭВМ и указы вают, что величины, с'которыми производятся операции (А, В, ..., а), являются числами целыми. Знак «;», стоя щий после символа а, говорит об окончании первого блока АЛГОЛ-программы. В следующем блоке задает ся порядок вычисления подкоренного выражения, услов но обозначенного t\= Atz+B, причем знак «|» обозначает возведение в степень. В третьем блоке осуществляется извлечение квадратного корня из ti, а в последнем блоке стоит условное обозначение печати результата вычис-
114
лоипя, после которого стоит сигнал окончания процесса трансляции.
П о н я т и е о с и с т е м е - м а т е м а т и ч е с к о г о
о б е с п е ч е н и я ЭВМ. |
При разработке ЭВМ нового |
||
типа одновременно |
разрабатывается серия |
вспомога |
|
тельных программ, |
без |
которых невозможно |
престу |
пить к созданию рабочих программ. Такие программы называются базовыми программами, а вся их совокуп ность называется базовым математическим обеспече нием. В 'Состав базового математического -обеспечения входят программы ввода и вывода информации с внеш них устройств, входящих в комплектацию данной ЭВМ, программы проверки исправности основных устройств ЭВМ и т. д. Базовое математическое обеспечение по ставляется заводом вместе с машиной.
Установив у себя ЭВМ, потребитель использует ба зовые программы и начинает разрабатывать программы специального назначения. При этом, учитывая большую сложность разработки -программ, у потребителя возни кает естественное 'стремление использовать в своих ра бочих -программах уже существующие подпрограммы. Эти подпрограммы могут являться частями программы' 'совершенно другого назначения. Однако, чтобы найти такие подпрограммы, нужно иметь обширную информа-
•цию -о работах, про водимых в других 'Организациях. По этому для облегчения поиска готовых, нужных для раз работчиков 1подпропра1мм, -создаются фонды .алгоритмов и программ. -Совокупность алгоритмов и программ всех типов, 'созданных для решения разН'Ообр'аэН'Ых задач на ЭВМ одной -серии, называется математическим обеспе чением ЭВМ.
Для улучшения организации вычислительных работ, снижения их стоимости и трудоемкости Государственный Комитет Совета Министров СССР /по науке и технике апециальн-ым постановлением от 21 февраля 1966 г. при нял решение о -создании и развитии Государственного фонда алгоритмов in программ (ГФАП). Постановлением утверждено 'положение о правилах подготошш, контроля и представления программ и алгоритмов в ГФАП, а так же инструкция по оформлению материала, представляе мого я ГФАП. Согласно постановлению ГФАП стал со ставной частью Генерального шра'ючно-информацион ного фонда нашей страны.
Фонды алгоритмов и программ позволяют значи тельно сэкономить средства при разработке рабочих про
11US
грамм. Ежегодно ГФАП удовлетворяет около 2 тыс. зая вок да алгоритмы и' программы при 'Средней длине 'про грамм в 1500 команд. Если учесть, что средняя стоимость подготовки одной команды составляет 3 руб., тогда го довая экономия, получаемая при использовании готовых программ фонда, составит 9 млн. руб.
Следует отметить, что разработка программ для ЭВМ является чрезвычайно дорогостоящей операцией, соизме римой со стоимостью самих ЭВМ. Объясняется это низ кой производительностью труда программистов. За ру бежом на разработку математического обеспечения тра тится почти столько же средств (30—50%), сколько на разработку самих ЭВМ (50—70%). Так, например, в США из общих расходов на вычислительную технику на
создание математического |
обеспечения правительство |
в 1964 г. тратило 42%, а в |
1966 г. — 51%. Считают, что |
в 1970 г. на математическое обеспечение было израсхо довано 7 млрд, долларов при стоимости ЭВМ, выпускае мых в этом году, равной 5 млрд, долларов.
2.7
СВЯЗЬ ВЫЧИСЛИТЕЛЬНОГО КОМПЛЕКСА С ОБЪЕКТАМИ УПРАВЛЕНИЯ
Сравним комплектацию ЭВМ, предназна ченных для решения чисто математических задач (см. рис. 2.23) с ЭВМ, входящих в состав вычислительных комплексов АСУ (см. рис. 2.25). Нетрудно видеть, что ЭВМ автоматизированных систем управления в своем большинстве имеют специальные устройства, с помощью которых осуществляется взаимодействие машины с ка налами передачи данных, датчиками, исполнительными механизмами. Поскольку вид сигналов, принимаемых из каналов связи и от датчиков, различен, то также отли чен и порядок взаимодействия с ними. Эти вопросы сле дует рассмотреть отдельно.
С о п р я ж е н и е ЭВМ с и г н а л а м и с в я з и. Осо бенно важную роль играют вопросы сопряжения кана лов связи с вычислительными машинами в системах, работающих в реальном масштабе времени. В то же время количество таких систем быстро возрастает. Так,
по прогнозам фирмы Informaties |
Inc. объем вычислений |
в реальном масштабе-времени в |
1975 г. составит около |
N 6
90% всей информации, обрабатываемой на ЭВМ (7]. Эта цифра и объясняет то внимание, которое в настоящее
время уделяется |
вопросам сопряжения каналов |
связи |
с ЭВМ. |
организации обмена данными |
между |
Трудности в |
ЭВМ и каналами связи объясняются разницей 'методов передачи информации по линиям связи и между различ ными устройствами машины. В основных чертах это от личие заключается в следующем:
1. По линиям связи данные в большинстве случаев передаются последовательным кодом, в то время как в вычислительных машинах информация между ее от дельными устройствами передается обычно параллель ным кодом. Кроме этого, разрядность передаваемых по линиям связи кодовых комбинаций часто не совпадает
сразрядностью машинных слов.
2.Скорости передачи данных по каналам связи и быстродействие ЭВМ сильно отличаются друг от друга. Быстродействие некоторых современных машин дости
гает 1—5 млн. операций в секунду при тактовой частоте, доходящей до Ш7 Гц, в то время как передача данных в основном производится в диапазоне скоростей от 50 до 4800 бод, иногда достигая нескольких десятков ты сяч бод.
3.Синхронизация работы всех устройств машины достигается с помощью единой частоты тактового гене ратора. При работе с каналами связи приходится ре шать задачу установления побитной и цикловой синхро низации с большим числом синхронных и асинхронных каналов связи, работающих от собственных источников синхронизации.
4.Центральное обрабатывающее устройство маши
ны — процессор — рассчитан на работу с небольшим числом относительно быстродействующих вводно-.вывод- ных устройств, таких, как накопители на магнитных дис ках или барабанах, перфоленточным и перфокарточным
оборудованием.
Ввиду перечисленных выше обстоятельств, за исклю чением редких случаев, линии к машине подключаются не непосредственно, а через ряд промежуточных уст ройств, производящих различные преобразования ин формации. Обобщенная схема сопряжения каналов пе редачи данных (ПД) с ЭВМ приведена на рис. 2.33.
Для организации взаимодействия двух устройств или каналов связи и устрЪйств необходимо заранее опреде
Ы7
лить число цепей и .порядок передачи сигналов по ним. В общем случае стыком называется перечень цепей и алгоритм обмена сигналами но этим цепям. Для каж дого вида стыка существует свой перечень цепей и по рядок передачи сигналов.
,5
Р и с . 2 .33 . О б о б щ е н н а я схе.м а с о п р я ж е н и я к а н а л о в с в я з и с Э В М
Основными вопросами, которые необходимо решать при сопряжении между каналами связи и ЭВМ, явля ются :
1)обмен сигналами с телеграфными каналами по це пям стыка С1, с модемом по цепям С2 и с устройствами защиты от ошибок (УЗО) по цепям СЗ;
2)первичная обработка информации в аппаратуре сопряжения (АС);
3)обмен информацией между АС и машиной посред ством цепей С4.
После того как со второй половины пятидесятых го дов на международных связях начала внедряться пере дача данных, Международным консультативным коми тетом по телефонии и телеграфии (МКК.ТТ) был разра ботан ряд стандартов, в числе которых есть стандарты, нормирующие число цепей, параметры сигналов и поря док обмена сигналами для стыка типа С1, С2 и СЗ. С учетом рекомендаций МККТТ в нашей стране разра ботаны различные виды УЗО и модемы, предназначен ные для работы по телеграфным и телефонным каналам.
Наиболее простым по конструкции является стык с телеграфными каналами (стык С1). Здесь для приема и передачи рекомендуется использовать пару цепей. Более сложным является стык с модемом и УЗО. Так, ианри-
118
мер, стык С2 содержит 48 цепей, из которых 35 исполь зуются для обмена информацией и 13 для автоматиче ского вызова абонента. Однако, как правило, в сущест вующих конструкциях модемов используется лишь необ ходимый минимум этих цепей. Так, например, в выпус каемом нашей промышленностью модеме «Аккорд-1200» используются лишь 17 цепей. Обмен информацией меж ду УЗО и АС осуществляется примерно по такому же принципу, как по цепям С2. Однако вследствие того, что в УЗО имеется буферная память, информация передает ся позначно, параллельным кодом.
Согласование перечисленных выше разнородных спо собов передачи информации по каналам связи и между устройствами ЭВМ осуществляется в настоящее время с помощью АС. В иностранной литературе аппаратуру сопряжения независимо от ее конструкции часто назы вают мультиплексором. Не следует ее путать с мульти плексным каналом ЭВМ, о котором уже говорилось выше.
Стыком С4 считаются принятые в ЭВМ серии IBM принцип обмена сигналами и номенклатура цепей меж ду процессором и оборудованием, управляющим рабо той большого числа низкоскоростных внешних устройств. Связь между АС и ЭВМ также может осуществляться через мультиплексный канал.
На рис. 2.34 приведена структурная схема АС, вхо дящей в состав ВК, работающего в реальном масштабе времени.
Несмотря на разнообразие принципов построения ап паратуры сопряжения при приеме информации из кана лов связи, с ее помощью могут выполняться следующие основные операции:
—электрическое согласование каналов связи, моде ма и АПД с системой элементов, на которой построена ЭВМ;
—регистрация и накопление первичных элементов сообщений — битов;
—сборка и накопление кодовых комбинаций.
Кроме того, в АС может выполняться ряд вспомога тельных операций, таких, как:
—повышение достоверности;
—оценка ‘искажений принимаемых 'Сигналов;
— формирование и анализ сигналов, используемых в системах связи с коммутацией каналов;
119