![](/user_photo/_userpic.png)
книги из ГПНТБ / Ландау И.Я. Применение ЦВМ для проектирования ЦВМ
.pdfих обычно невелика и магнитные барабаны трудно при менять для длительного хранения данных). С другой стороны, приналичии одних только магнитных ленч можно решать все задачи проектирования, но время реше ния при этом во .много раз увеличится. Наиболее удоб ным внешним запоминающим устройством является накопитель на магнитных дисках со сменными пакетами дисков, поскольку он сочетает большую емкость с высо кой скоростью передачи данных и позволяет легко орга низовать длительное хранение информации.
Труднее всего сформулировать требования к основно му элементу вычислительного комплекса — центрально му процессору. Очевидно, что чем больше емкость опера тивной памяти и быстродействие процессора, тем мень ше требовании предъявляется к выбору алгоритмов ре шения задач проектирования и технике программиро вания (даже при медленных алгоритмах и плохих про граммах задачу удается решить за приемлемое время). Однако АСП не является уникальной системой — систе ма такого типа необходима любой организации, занима ющейся разработкой ЦВМ, и заводам, изготавливающим машины. Поэтому при выборе технической базы АСП нужно ориентироваться на достаточно массовую маши ну, обладающую минимально необходимыми для реше ния задач проектирования параметрами. Поскольку речь идет о проектировании сложных цифровых уст ройств, для АСП необходим процессор с быстродействи ем не менее 30—40 тыс. операций/с, развитой системой команд (особенно логических операций и операций уп равления) и объемом оперативной памяти 10— 15 тыс. слов. Эти требования определяются в основном задачами моделирования, построения тестов и проекти рования печатного монтажа — при меньших быстродей ствиях и объеме памяти время выполнения их недопу стимо растет. В большинстве отечественных работ по автоматизации проектирования используются ЦВМ БЭСМ-4 и М-220, характеристики которых близки к ука занным.
В последнее время (1970— 1971 гг.) начался выпуск машин агрегатной системы средств вычислительной тех-" ники (АСВТ), а также ЕС ЭВМ; такие модели как
М4030 АСВТ и ЕС 1030 следует считать наиболее подхо дящими в качестве технической базы АСП. Благодаря агрегатному принципу построения и унифицированной
130
системе внешних связей AGBT позволяет строить вычис лительные комплексы различной конфигурации и изме нять конфигурацию путем доукомплектования комплек са нужными устройствами без изменения остального оборудования и программ. Работа центрального процес сора в этих машинах совмещается по времени с работой внешних устройств, что .позволяет .повысить эффективное быстродействие системы; возможность многопрограмм ной работы позволяет подключать графопостроители и пульты с ЭЛТ, не занимая практически времени процес сора на их обслуживание. Ряд удобств для программи рования задач проектирования дает богатый набор команд (в том числе команды обработки символьной информации и возможность работы с операндами пере менной длины). Развитая система аппаратного контроля обеспечивает достоверность результатов счета, что на много облегчает программирование.
Эффект от автоматизации проектирования значительно повы шается при одновременной автоматизации процессов изготовления цифровых устройств. К ним относятся:
выполнение проводного монтажа; изготовление фотошаблонов для печатных плат; сверление отверстий в печатных платах; контроль монтажа; проверка электронных схем.
Вопрос автоматизации изготовления ЦВМ достаточно сложен и выходит за рамки данной книги, поэтому мы ограничимся кратким рассмотрением таких устройств.
Станки для автоматического выполнения проводного монтажа предназначены для укладки провода тю прямой между соединяемы ми контактами. Соединение провода с контактом осуществляется круткой. Панель с -разъемами укрепляется на столе станка, над которым движется монтажная головка с запасом провода; движение головки управляется перфолентой. Более распространены устройства для полуавтоматического монтажа (рис. 4-4). В них головка нахо дится в руках .монтажника; на специальном табло указывается но мер контакта, к которому требуется подвести провод. Если монтаж ник по ошибке подключает провод к другому контакту, то не вклю чается монтажная головка. Данные о соединяемых контактах вво дятся с перфоленты.
Для сверления отверстий (что для больших печатных плат являтся весьма трудоемкой работой и требует высокой точности) используются специальные сверлильные станки с программным управлением. Программа для них готовится «а перфоленте или магнитной ленте при проектировании печатной платы.
Для прозвонки монтажа и проверки электронных схем исполь зуются автоматические тестеры, которые представляют собой спе циализированные ЦВМ. Исходные данные для такого устройства (программа проверки) готовятся па перфоленте при выпуске мон тажных таблиц или трассировке печатной платы (для прозвоню! монтажа) или путем 'моделирования работы логической схемы (для
![](/html/65386/283/html_ED7uPWoOZZ.oDPH/htmlconvd-A62RsS133x1.jpg)
контроля и диагностики электронных схем). Одно из таких
устройств — агрегатное |
устройство |
программного контроля (АУПК) |
[Л. 42] — показано на |
рис. 4-5. |
Проверяемый блок подключается |
к АУПК, затем на него подаются заданные наборы сигналов. АУПК анализирует ответные сигналы и фиксирует (на цифровом индикато ре) появление неправильного ответа. Для проверки схем, не имеющих разъемных соединений (прозвонка печатной платы до установки модулей), используются специальные устройства для подключения тестера к проверяемой схеме.
Существенным звеном технических средств АСП являются устройства для размножения документации. Текстовые документы, получаемые на АЦПУ, могут быть скопированы на кальку с по мощью ксеропрафических аппаратов типа РЭМ или ЭРА. Поскольку шрифт АЦПУ неудобен для печатания штампов на документах, це лесообразно печатать страницы документа без штампа, а штампы оформлять в виде рамки, в которую вставляется страница при ко пировании. Весьма удобно для размножения машинных документов устройство изготовления копий с форм вычислительных - машин CFP фирмы Rank Xerox. Это устройство не требует предваритель ного разрезания рулона иа страницы, позволяет делать на каждой копии стандартную надпечатку, переносимую с прозрачного транс паранта, и дает возможность получать до 30 копий с каждой стра ницы оригинала. Таким образом, при использовании подобного устройства отпадает необходимость в кальках, и в качестве оригина ла в архиве можно хранить рулон, отпечатанный на АЦПУ.
4-2. НЕКОТОРЫЕ ОСОБЕННОСТИ ПРОГРАММИРОВАНИЯ ЗАДАЧ ПРОЕКТИРОВАНИЯ ЦВМ
Задачи автоматизации проектирования характеризу ются большим объемом входных и промежуточных ре зультатов и большим объемом вычислений. Необходи мость решать эти задачи на машинах среднего класса (по быстродействию и объему оперативной памяти) требу ет максимального использования емкости запоминающих устройств и такой организации массивов, которая позво ляет быстро находить нужную информацию.
Массивы промежуточных результатов в большинстве программ строятся так, что в каждом машинном слове хранится несколько величин. Это позволяет сократить необходимый объем памяти, поскольку разрядность пе ременных в задачах АСП (номер контакта, номер эле мента, тип элемента и т. д.) обычно невелика. Примером такой свертки данных могут служить описки, показанные на рис. 3-5. Свертка данных позволяет уменьшить объем запоминающего устройства, но приводит к увеличению времени счета, поскольку при обработке массивов при ходится заниматься «распаковкой» и «упаковкой» зна чений разных переменных, хранящихся в одном машин ном слове. Для сокращения числа упаковок й распако
1 33
вок большое значение имеет выбор способов размеще ния и кодировки данных внутри слова: он должен обес печивать быструю выборку отдельных величин и по воз можности позволять выполнение некоторых операций (например, упорядочивания массива) без распаковки. Стандартных рецептов решения этой задачи дать нельзя, поскольку оно зависит как от типа информации, так и от особенностей той ЦВМ, для которой составляется программа.
Существенное улучшение использования оперативной памяти дает правильное распределение памяти под мас сивы данных. В большинстве случаев размеры массивов (как исходных, так и промежуточных) неизвестны при программировании — они определяются конкретной зада чей. При этом целесообразно распределять память для хранения массивов автоматически, во время счета. Про ще всего это выполняется с помощью таблицы распреде ления памяти, в которой запоминаются название, на чальный адрес и длина каждого массива, а также адрес первой свободной ячейки рабочего поля. При обработке массива соответствующая строка таблицы распределения заносится в индексный регистр (или используется для формирования команд обрабатывающей программы). Во многих случаях известна заранее последовательность расположения массивов на рабочем поле. Это позволяет еще более упростить распределение памяти: в таблице достаточно хранить только начальные адреса.
Кроме указания длины массива в таблице распреде ления памяти целесообразно ввести специальный признак конца массива (обычно для этого используется ячейка, все разряды которой равны 0 или 1). Наличие признака конца во многих случаях упрощает составление обраба тывающих программ и позволяет ускорить их работу. Особенно удобен такой признак при обработке массива ис ходных данных, длина которого, как правило, неизвестна.
Во многих задачах конструкторского проектирования приходится обрабатывать массивы, длина которых пре вышает доступный объем оперативный памяти, причем работа заключается в выборке определенных элементов
из этих массивов. |
Непосредственный |
поиск элемента |
||
в массиве, |
хранящемся во внешнем |
запоминающем |
||
устройстве, |
резко увеличивает время счета; |
для ускоре |
||
ния такого |
поиска |
заранее (при создании |
массива) со |
ставляется его каталог, Каталог представляет собой спи
134
сок, каждая строка, которого указывает наименование элемента основного массива и адрес его в массиве. Длина каталога намного меньше длины основного массива (на пример, в списках СЗ, С4, С5 на рис. 3-5 каждый эле мент—-группа может занимать несколько десятков слов), поэтому он может быть размещен в оперативной памяти. Для ускорения поиска по каталогу он упорядочивается по возрастанию (убыванию) названия элементов. Спосо бы построения таких каталогов аналогичны методу по строения списков цепей и элементов при компоновке, описанному в гл. 3.
Характерной чертой большинства задач конструктор ского проектирования является то, что они имеют дело с громадным .количеством различных вариантов реше ния, из которых надо выбрать один, удовлетворяющий некоторому критерию оптимальности (например, по строить соединения -без пересечений для печатного мон тажа). При этом заранее неизвестно, существуют ли вообще решения, удовлетворяющие этому критерию.
Большинство известных методов оптимизации пост роены по переборным схемам, т. е. поиск оптимального решения производится путем перебора всех возможных вариантов и выбора (по некоторым критериям) наилуч шего из них. Применение таких алгоритмов практически возможно только для небольших схем, так как с увели чением числа элементов схемы количество вариантов (и, следовательно, время решения задачи) экспоненциально возрастает. Правда, в некоторых случаях удается зна чительно ускорить переборные алгоритмы, однако эта задача сама по себе очень сложна. Кроме того, извест ные в настоящее время методы сокращения числа ва риантов в переборных схемах не универсальны.
Для большинства задач, возникающих при проекти ровании ЦВМ, неизвестны адекватные критерии выбора наилучшего решения (об этом уже говорилось в гл. 3). Поэтому программы конструкторского проектирования (кроме самых простых — типа трассировки проводного монтажа) не ищут оптимальных решений, а удовлетво ряются «не слишком плохими».
Для решения большинства задач автоматизации про ектирования .приходится использовать эвристические алгоритмы и, как правило, не удается получить фор мального описания алгоритма до программирования. За данием на программирование при этом является сло
135
в.ес.ное описание алгоритма, а формальным его описани ем — программа; таким образом, окончательную проверку алгоритма приходится производить при отлад ке программы. Большие объемы входных данных и про межуточных результатов и большой объем вычислении требуют экономного использования оперативной памяти и составления эффективных программ. Этого нельзя до стигнуть при использовании языков программирования высокого уровня (АЛГОЛ, ФОРТРАН), поэтому про граммировать задачи АСП приходится на уровне .машин ных языков типа мнемокодов. Сложность программ и сжатые сроки разработки их требуют обычно распреде ления .работы над программой между несколькими про; граммистами. Все это затрудняет отладку программ. Требования же к качеству отладки (т. е. к надежности выдаваемых результатов) в программах АСП гораздо выше, чем в обычных вычислительных программах или программах для экономических расчетов, поскольку большой объем выходной информации не позволяет про контролировать ее вручную (да и сам характер ре зультатов счета часто не дает возможности организовать такую проверку). Таким образом, все ошибки могут по пасть в производство и выявлять их придется при налад ке устройства. Найти ошибку при этом чрезвычайно трудно, поскольку она может быть вызвана разными причинами.
Разработка и отладка сложных логических программ облегчается при использовании метода блочного про граммирования [Л. 7]. Сущность блочного программиро вания заключается в том, что программа разбивается на небольшие блоки, связь между которыми осуществляется через управляющую программу (блок-программу). Каж дый блок выполняет некоторую обособленную функцию и имеет один вход и один выход; проверка условий и
ветвление вычислительного |
процесса производятся |
в блок-программе (которая |
эквивалентна блок-схеме |
программы). При использовании блочного программиро вания программа делается легко обозримой и в ней от сутствуют запутанные передачи управления, приводящие к большому количеству ошибок. 'Программирование и отладка отдельных блоков могут производиться незави
симо, что позволяет ускорить разработку.
Другое правило, также облегчающее программиро вание, заключается в обязательном составлении содержа
136
тельных комментариев к каждому блоку (а иногда Н к частям блока). Такие комментарии должны пояснять алгоритм работы блока и некоторые детали (например, срормированпе команд), которые могут быть не ясны из текста программы. Комментарии приносят большую пользу при отладке и документации программы; особен но велика их роль в тех случаях, когда приходится раз бираться в старой программе для поиска обнаруженных в ней после нескольких лет эксплуатации ошибок.
При разработке сложных программ никакие правила программирования и отладки не гарантируют отсутствия ошибок в «отлаженной» программе. Более того, можно гарантировать, что ошибки в такой программе останутся и будут выявляться во время эксплуатации. Поэтому в программах конструкторского проектирования необхо димо контролировать результаты счета для того, чтобы в выпускаемую документацию не попали ошибки, кото рые могут привести ,к неправильной работе устройства. Способы выполнения такого контроля определяются спецификой решаемой задачи. Так, при трассировке пе чатного монтажа достаточно убедиться, что ни один из проводников не .пересекает проводников других цепей и полученная система печатных проводников, переход ных отверстий и перемычек соответствует исходному списку соединений. При трассировке проводного монта жа достаточно преобразовать полученные монтажные таблицы к исходному списку соединений и т. д. Такой контроль не только предотвращает выдачу неверных ре-' зультатов из-за ошибок в программе, но и позволяет проконтролировать работу машины во время счета.
Успешное внедрение автоматизации проектирования во многом зависит от удобства использования программ (особенно при автоматизации отдельных этапов проекти рования вне АСП). Эксплуатация таких программ произ водится не их разработчиками, а потребителем, который не знает программы. Поэтому все 'сообщения как о нор мальной работе программы, так и об ошибках (в исход ных данных или результатах) должны выдаваться опера тору в виде ясных текстов; необходимо полностью
.исключить аварийные остановы, не сопровождающиеся выдачей сообщений. Для этого разрабатываются спе циальные обслуживающие программы, объем которых может, быть довольно велик. Однако разработка обслу живающих программ необходима, поскольку практиче-
10— 504 |
137 |
СКОё применение машинного проектирования часто
оказывается невозможным из-за сложности эксплуата ции программ и подготовки входной 'информации. При этом программу может использовать только ее разработ чик, что в лучшем случае позволяет ее применять для экспериментальных расчетов и проверки эффективно сти алгоритма.
4-3. ЭФФЕКТИВНОСТЬ ВНЕДРЕНИЯ АСП ПРИ ПРОЕКТИРОВАНИИ СОВРЕМЕННЫХ ЦВМ
Мы уже говорили, что при решении задач 'проектиро вания ЦВМ машина по качеству полученных результатов пока почти всегда уступает человеу. Опытный конструк тор спроектирует любой отдельных элемент лучше ма шины (достигнет большего коэффициента повторяемости ячеек, меньшего количества перемычек в печатной плате и т. д.). Пожалуй, единственной задачей, в которой ма шина превосходит человека, является получение крат чайшей связывающей цепи (но эта задача не очень су щественна при проектировании современных ЦВМ). Од нако совсем иное положение возникает при необходи мости выпустить огромное количество документации, необходимой для производства ЦВМ, в короткий срок — это невозможно сделать при ручном проектировании.
Таким образом, цель разработки автоматизирован ных систем проектирования ЦВМ заключается не в по лучении оптимальных (превосходящих сделанные чело веком) конструкций, а в резком сокращении трудоемко сти и сроков проектирования и освоения производства новых машин. При этом разработчик тесно взаимодей ствует с машиной в процессе проектирования: этапы, где требуется творческая или не имеющая формального опи сания работа, остаются за человеком (разработка логи ческих схем и т. д.), а вся рутинная работа выполняет ся машиной.
Для иллюстрации эффекта, даваемого автоматиза цией проектирования, рассмотрим результаты примене ния автоматизированной подсистемы конструкторского проектирования (АПК) при проектировании микроэлек тронного вычислительного комплекса М-4000 АСВТ
[Л. 42].
Конструкция машины была описана в § 3-8. В АПК решались следующие задачи:
138
составление и выпуск монтажной документации на блоки;
составление и выпуск наладочной документации (та блицы прозвонки, карты проверки) на блоки;
составление и выпуск монтажной документации на
шкафы;
составление и выпуск таблиц прозвонки на шкафы; составление программ для автоматического тестера
блоков (АУПК).
Все программы были написаны для ЦВМ «Минск-22» (монтажная документация) и БЭСМ-4 (программа для АУПК). С помощью АПК была выпущена практически вся монтажная и наладочная документация на М-4000 (сводные текстовые документы составлялись вручную). Основной эффект применения А'ПК можно оценить дву мя показателями: снижением трудоемкости проектирова ния и ускорением наладки комплекса.
В состав устройств М-4000 входит около 200 блоков. При ручном проектировании выпуск документации на блок занимает около 12 человеко-дней, а составление принципиальной схемы по логической схеме и карт про верки требует еще около 15 человеко-дней. При машин ном проектировании подготовка исходных данных (по логической схеме) занимала 2—3 человеко-дня, оформле ние документов (резка листов и снятие калек на ЭРЕ) — 1—2 человеко-дня. Составление монтажной документа ции на шкаф, содержащий 100 блоков (процессор), тре бует 3—4 человеко-месяцев, при машинном проектиро вании ручная работа требовалась только для оформле ния документов (около 10 человеко-дней). Таким обра зом, применение АПК дало снижение трудоемкости почти в 7 раз.
Составление всей документации (монтажных таблиц, таблиц прозвонки, карт проверки) заняло около 300 ч
машинного времени на ЦВМ «Минск-22» и БЭСМ-4.
Отсутствие ошибок в документации и наличие спе циальных документов для наладки, а также использо вание АУПК позволили намного ускорить процесс на ладки М-4000. Первый этап наладки-—прозвонка -монта жа и автономная -наладка блоков— был выполнен ме нее чем за 2 месяца, что является рекордным для раз работки такого объема сроком.
Интересно отметить, что при комплексной наладке и стыковке устройств такого ускорения получено не было.
10* |
139 |