Электронные вычислительные машины (Ф. Майоров, доктор технических наук, профессор)
Одним из замечательных достижений нашего века - века атомной энергии и электронной автоматики - является создание быстродействующих электронных вычислительных машин.
Издавна для ускорения вычислений пользуются счетами, логарифмической линейкой, арифмометром и т. д. Эти простые приборы вполне хороши, если не требуется вычислять с большой скоростью и точностью.
С развитием науки и техники и расширением объема промышленного производства возникла необходимость в выполнении множества вычислительных операций, требующих затраты сотен и тысяч часов человеческого труда. В связи с этим появились электронные машины, позволяющие вычислять с недоступной прежде скоростью и точностью. Эти машины в состоянии решать сложнейшие математические задачи. Если бы такие решения попытались осуществить обычными способами, то для этого потребовалось бы много лет. Еще задолго до появления электронных вычислительных машин, в конце XIX и начале XX века, были созданы первые счетные машины для ускорения вычислений в бухгалтерии и статистике.
Несколько позже были разработаны математические машины и счетно-решающие устройства для приборов управления артиллерийским огнем.
В 1911 г. академик А. Н. Крылов построил макет машины для решения дифференциальных уравнений с применением механических суммирующих множительных и интегрирующих устройств.
Бурное развитие электроники и радиотехники привело к возникновению вычислительных машин нового типа - электронных, которые по сравнению с предыдущими механическими и электромеханическими вычислительными машинами обладают значительно более высокой точностью и универсальностью применения.
Первая электронная цифровая вычислительная машина была построена в 1946 г. Начиная с этого времени появилось несколько десятков различных образцов электронных цифровых машин. Они позволяют решить любую математическую задачу, поскольку решение ее всегда сводится к ряду элементарных арифметических операций. Эти машины незаменимы там, где требуется высокая точность вычислений (порядка 6-10 и более десятичных разрядов).
Для решения какой-либо математической задачи составляется подробная программа последовательных арифметических операций, выполняемых машиной. Такое "программирование" занимает много времени. Чтобы упростить конструкцию, уменьшить количество электронных ламп и повысить надежность машины, стали использовать специализированные цифровые машины для решения задач определенного типа.
Универсальные цифровые машины применяются главным образом для решения разнообразных математических задач, в которых требуются большой объем вычислений и высокая точность решения., Решение таких задач нужно, например, для научных исследований в области ядерной физики, аэродинамики, радиотехники, химии, биологии и т. д. Так, при проектировании антенн и волноводов в радиотехнике приходится решать уравнения распространения электромагнитной энергии в пространстве; исследование полета снарядов и ракет с большими скоростями (звуковой и сверхзвуковой) связано с решением дифференциальных уравнений, описывающих движение тела и его "обтекаемость" в воздушном потоке. Для предсказания погоды требуется в короткое время решить большое число алгебраических или дифференциальных уравнений со многими неизвестными. Обработка значительного числа экспериментальных наблюдений, статистических данных, составление математических таблиц и т. п. также требуют большого объема вычислений с высокой точностью, что успешно выполняется электронными цифровыми машинами.
Универсальные цифровые машины, способные производить вычисления большого объема по любой заданной программе, весьма сложны. Они содержат несколько тысяч электронных ламп, десятки и сотни тысяч различных радиодеталей (сопротивлений, конденсаторов, выпрямителей и т. д.). Оборудование такой машины занимает большой зал. Так, например, одна из универсальных электронных вычислительных машин имеет более 4000 электронных ламп и 13000 полупроводниковых выпрямителей (германиевых диодов). Она состоит из одиннадцати блоков, вес которых составляет около 12 т. Кроме того, для охлаждения машины во время ее работы требуется 80 т охлаждающего оборудования. Высота стоек, на которых расположено оборудование, около 2 м. Машина занимает зал площадью не менее 100 м2 и потребляет около 60 квт электрической мощности. На машине производится расчет действия излучения, возникающего при освобождении атомной энергии, расчет аэродинамических характеристик самолетов и управляемых ракет, анализ вибраций и напряжений в деталях конструкции, вычисления в области геофизики и т. д. Машина оперирует с десятизначными десятичными числами и производит 16666 сложений и вычитаний или 2192 умножения в секунду. Если считать, что один вычислитель при помощи обычного арифмометра может проделать не более 1000 арифметических операций в день, то электронная машина заменяет собой труд не менее чем 300000 работников-вычислителей.
Способность электронных вычислительных машин решать сложнейшие задачи настолько поразительна, что иногда их называют "думающими" машинами или "электронным мозгом". Следует помнить, что в действительности машина может лишь автоматически выполнять вычисления или делать выводы только по заранее заданной ей программе. Как данные, вводимые в машину, так и программа, по которой ведутся вычисления, бывают самыми разнообразными. Это и делает вычислительные машины универсальными.
Способность вычислительных машин производить ряд логических операций, таких, как выбор "да, нет", сравнение чисел, выбор требуемых числовых значений, определение знака числа и т. д., позволяет сконструировать так называемые "логические" машины-автоматы, действующие по программе, заранее составленной человеком. В частности, такие машины построены для некоторых игр. В литературе описывается, например, "автоматическая белка", которая движется по полу, берет орехи своими "руками", несет их к своему "гнезду", оставляет там и возвращается за новыми орехами.
Возможно применение цифровых машин для автоматического перевода слов или текста с одного языка на другой, для отбора библиографических сведений, автоматического чтения написанного текста и т. д.
В последнее время цифровые машины стали применять для автоматического управления и регулирования различными производственными процессами. Появились так называемые "управляющие машины", которые, по сути дела, являются центром управления производственным процессом. В управляющую машину поступают все исходные данные, характеризующие производственный процесс: показания измерительных приборов, требуемые программы и режимы работы станков, сведения о деталях, подлежащих сборке, и т. д. Управляющая машина не только вычисляет по заданным программам, но и делает необходимые логические заключения о дальнейшем направлении производственного процесса путем сравнения результатов вычислений с фактически наблюдаемыми данными. От нее исходят команды для регулирования различных физических параметров, влияющих на производственный процесс.
Примером управления производственным процессом с помощью машины является автоматизация фрезерного станка, который сам обрабатывает сложную поверхность лопасти газовой турбины. Вычислительная машина по заданным формулам и исходным величинам производит расчет координат ряда точек профиля лопасти. По этим точкам станок автоматически выполняет в металле требуемый профиль изделия с высокой точностью и скоростью без всякого чертежа или шаблона.
Разрабатываются также электронные цифровые машины для непосредственного их применения в различных приборах управления и в военной технике взамен электромеханических счетно-решающих устройств.
В новейших электронных цифровых машинах используются кристаллические триоды вместо ламп. Одна из безламповых цифровых машин содержит около 3000 кристаллических триодов. Благодаря этому потребление электроэнергии уменьшается на 90%, и машина становится более надежной и компактной.
Приведенные примеры применения электронных цифровых машин показывают, что уже сейчас они являются неоценимым средством прогресса науки и техники. Будущее их представляет еще более заманчивую картину. Можно предсказать, что при помощи вычислительных машин будет осуществлено автоматическое управление автоматизированными цехами и предприятиями. Машины в значительной степени облегчат ведение отчетности, статистику, планирование и т. п.
Вычислительные машины по принципу действия можно разделить на два больших класса: моделирующие и цифровые.
Моделирующая машина производит вычисления с непрерывно меняющимися физическими величинами, такими, как электрическое напряжение, угловое перемещение вала и т. д.
Все алгебраические действия, которые нужно выполнить в моделирующей машине, производятся с помощью электрических напряжений, "изображающих" заданные величины в соответствующем масштабе. Электрические напряжения могут непрерывно изменяться во времени, и соответственно этому машина будет непрерывно выдавать соответствующие решения. Схема с электрическими напряжениями здесь как бы моделирует решаемое уравнение или тот физический процесс, который описывается этим уравнением. Такие физические процессы, как колебания маятника, распространение тепла во времени, движение жидкости в трубопроводе и т. д., можно представить в виде математических уравнений, которые устанавливают определенную зависимость между всеми величинами, участвующими в данном процессе. Такие уравнения, часто весьма сложные, изображаются в электронной моделирующей машине в виде электрической схемы напряжения, в которой они меняются точно таким же образом, как и в реальном физическом процессе.
Это дает возможность детально изучить физический процесс, часто протекающий весьма быстро, если изобразить его подобным же процессом с электрическими напряжениями. Процесс изменения электрических напряжений легко записать и наблюдать с помощью различных электрических приборов, что дает картину протекания изучаемого процесса во времени в виде кривой или графика.
Понятно поэтому, какое большое значение имеют электронные моделирующие машины в науке и технике для изучения физических явлений. Они широко применяются для исследования и расчета таких процессов, как динамика движения самолета, анализ вибраций гидротурбин и реактивных двигателей, анализ быстро протекающих процессов при регулировании двигателей, автопилотов, управлении ядерными реакциями и т. д. Быстро, просто и наглядно решенная задача позволяет лучше понять реальный физический процесс. Поэтому моделирующая машина - основной "инженерный прибор" для многих технических расчетов.
Элементами электронной моделирующей машины являются электронные усилители для суммирования и интегрирования напряжений, а также множительные и функциональные устройства для изображения нелинейно изменяющихся величин.
Современные электронные моделирующие машины содержат около 40-50 стандартных суммирующих и интегрирующих усилителей, 5-10 множительных и функциональных устройств, 5-6 записывающих приборов и электроннолучевую трубку для наблюдения за характером кривых, получаемых в результате решения задачи. Количество электронных ламп в этих машинах достигает нескольких сотен, а объем их соответствует объему, занимаемому большим шкафом. Они потребляют около 1 квт электрической мощности. Преимуществом электронных моделирующих машин является высокая скорость решения задачи. В течение одной секунды можно получить 50-100 и более решений и наблюдать их в виде кривых на экране электроннолучевой трубки. Простота и легкость настройки машин на заданную задачу, а также наглядность результата решения послужили причиной их широкого распространения.
Очень часто моделирующие машины применяются в качестве счетно-решающих устройств для решения всевозможных задач при автоматическом управлении различными объектами, например, на самолетах и кораблях, для решения навигационных задач, для управления артиллерийскими орудиями и т. д.
В счетно-решающих устройствах используются как электронные усилители, так и электромеханические элементы - переменные сопротивления (потенциометры), поворотные трансформаторы, автоматические следящие устройства с миниатюрными электродвигателями и др. Они непрерывно решают задачу с большой скоростью, успевая за непрерывным изменением различных входных величин, измеряемых приборами. Точность решения задач достигает 0,1-0,3%.
Недостатком моделирующих машин и приборов является ограниченная точность вычислений, правда, вполне достаточная для решения многих технических задач. В моделирующей машине каждое число, представляющее тот или иной член решаемого уравнения, задается величиной электрического напряжения. Точность же измерения электрического напряжения, углового перемещения или другой величины зависит от технологии изготовления элементов машины, принятых допусков, влияния внешних факторов на результат измерения (температуры, колебания напряжения источников питания) и других систематических и случайных ошибок. Получить большую точность можно, увеличивая размеры деталей и элементов машины и усложняя их устройство. Все это приводит к увеличению веса и размеров машины, а также ее стоимости. Однако увеличивать вес не всегда целесообразно, особенно в авиации, где важна экономия каждого килограмма в весе оборудования.
Другими существенными недостатками моделирующих машин являются ограниченность применения и недостаточная гибкость настройки их. Эти недостатки особенно сильно проявляются в счетно-решающих устройствах, каждое из которых в состоянии решать лишь какую-то одну задачу по определенной форме. Переключение счетно-решающего устройства для решения другой задачи практически невозможно.
Большим шагом вперед, открывшим весьма широкие перспективы, явилась разработка электронных цифровых машин.
Электронные цифровые машины оперируют с числами, представленными в виде определенной последовательности импульсов электрического напряжения, которая называется кодом числа. Электронные лампы, кристаллические (полупроводниковые) выпрямители и кристаллические триоды (применяемые вместо ламп) являются основными элементами этих машин. Они используются только в двух рабочих состояниях: "открыто" или "закрыто". В первом состоянии лампа (или кристаллический триод) проводит ток (лампа открыта). Во втором состоянии лампа не проводит тока (лампа закрыта). Лампа здесь играет роль своего рода электронного ключа, который может быть включен или выключен. В этом отношении работа лампы напоминает работу телеграфного ключа, который включает или выключает цепь тока, что соответствует "точке" или "тире" на телеграфной ленте. Соответственно двум положениям электронного ключа числа, с которыми оперирует машина, кодируются в так называемой двоичной системе счисления. В этой системе число представляется в виде суммы ряда членов, каждый из которых представляет собой число 2, возведенное в степень 0, 1, 2, 3 и т. д. и умноженное на единицу или нуль.
Например, число 13 может быть представлено так:
1·23+1·22+0·21+1·20=13.
Соответственно этому код числа 13 в двоичной системе запишется в виде:
Здесь под разрядом подразумевается степень, в которую возведена двойка: первый разряд соответствует 20, второй - 21, третий - 22, четвертый - 23 и т. д.
Написанный код числа вводится в машину в виде последовательности импульсов, в которой код 1 соответствует наличию импульса электрического напряжения, а код 0 - отсутствию импульса. Для числа 13 эта последовательность импульсов показана на рис. 53. Таким образом, любое число можно представить в двоичной системе счисления определенной последовательностью импульсов или отсутствием их.
Рис. 53. Двоичный код числа 13
Количество разрядов двоичного числа в машине выбирается в зависимости от требуемой точности вычислений (числа требуемых знаков в десятичной системе счисления). Например, число двоичных разрядов, равное десяти, соответствует наибольшему числу 1024 в десятичной системе счисления. При наличии десяти двоичных разрядов число +235 запишется так:
00011101011.
Крайняя цифра слева показывает код знака числа (0 для положительного и 1 для отрицательного числа). Низшие разряды числа находятся справа, а высшие - слева. В современных вычислительных машинах количество разрядов выбирается от 18 до 40, что соответствует 6-10 и более разрядам десятичной системы.
Рассмотрим теперь, как работает электронная цифровая машина. Каждая решаемая задача разделяется на ряд отдельных арифметических операций (сложение, вычитание, умножение и деление), и составляется программа вычислений. Машина производит арифметические операции в такой же последовательности, как если бы все вычисления делал человек, который записывал бы на бумаге результаты вычислений, сравнивал между собой полученные числа и сообразно с этим производил дальнейшие операции. Программа составляется таким образом, чтобы машина смогла выполнить эти операции автоматически в требуемом порядке путем подачи в нее соответствующих команд. Каждая команда указывает, какая арифметическая операция (сложение, вычитание и т. д.) и с какими числами должна производиться машиной, из какой ячейки "памяти" в машине следует взять эти числа и куда записать результат вычисления. Совокупность команд и чисел, с которыми выполняются эти команды, называется программированием задачи. Программа вводится в машину в виде инструкции, записанной, например, на (магнитной ленте при помощи определенного кода. Блок-схема электронной цифровой машины и вид самолетной машины подобного типа показаны на рис. 54.
Рис. 54. Блок-схема электронной цифровой вычислительной машины (а) и внешний вид самолетной вычислительной машины (б)
В состав электронной цифровой машины входят следующие блоки:
1. Входные устройства, при помощи которых в машину вводятся исходные числовые данные и программа вычислений, состоящая из отдельных команд и чисел. В качестве входных устройств используются магнитные ленты, бумажные перфорированные ленты, фотоленты и т. д.
2. Арифметическое устройство, где производятся элементарные арифметические и логические операции: сложение, вычитание, умножение и деление. Последние два действия можно осуществлять при помощи сложения и вычитания. Поэтому арифметическое устройство в основном состоит из одного элемента - "сумматора", который складывает и вычитает числа.
3. Запоминающее устройство ("память"), которое служит для хранения кодов чисел и команд. В запоминающем устройстве записываются результаты промежуточных вычислений, выполненных машиной. Коды чисел и команд, хранящиеся в запоминающем устройстве, могут выбираться из нужной ячейки "памяти" и направляться в другие устройства машины. Для выбора кода числа и команды в инструкции, которая вводится в машину, должен быть указан "адрес" ячейки "памяти", представляющий собой код номера ячейки (в двоичной системе счисления). Например, для выполнения машиной операции сложения двух чисел А и В в инструкции должны быть даны три "адреса": "адрес" ячейки, из которой число А выбирается и направляется в арифметическое устройство; "адрес" ячейки числа В, которое также выбирается из запоминающего устройства и направляется в арифметическое устройство, где по команде "Сложение" складывается с числом А; наконец, "адрес" свободной ячейки "памяти", куда следует поместить результат сложения А+В для использования в последующих вычислениях.
Вычислительная "мощность" машины во многом определяется количеством ячеек "памяти", или емкостью запоминающего устройства. Для быстрого действия машины время выборки чисел и команд из "памяти" должно быть весьма небольшим (порядка нескольких микросекунд).
4. Устройства управления машиной, которые обеспечивают автоматическое выполнение всех вычислений по заданной программе. Они производят выборку чисел из ячеек "памяти", дают команду требуемой арифметической операции, отсылают результаты вычислений в запоминающее устройство, выбирают следующую команду, выдают результат вычисления и т. д. С этой целью устройства управления подают сигналы, по которым производятся автоматически необходимые соединения элементов и узлов машины. Таким образом, управляющее устройство обеспечивает нужную последовательность команд и арифметических операций для машины.
5. Устройство контроля работы машины, которое позволяет контролировать в процессе вычислений как работу машины в целом, так и ее отдельных узлов и элементов с пульта управления, где имеется соответствующая сигнализация. Оно сигнализирует о возникших в машине неисправностях. Для обнаружения случайных ошибок вычислений существуют различные методы проверочных вычислений на машине при помощи специальных программ.
6. Выходное и печатающее устройства служат для записи полученных результатов вычислений на магнитную ленту или фотопленку И для последующей печати на электрической пишущей машинке таблицы результатов вычислений. Возможно также Получение результатов вычислений в виде графика.
Электронные вычислительные устройства широко применяются в приборах управления артиллерийским огнем (ПУАО, ПУАЗО), в авиационных прицелах для стрельбы и бомбометания, в навигационных вычислительных устройствах и т. д.
Современная военная техника имеет дело с управлением объектами, где требуется весьма высокая скорость наведения и слежения за целью по данным радиолокационных станций и других приборов. При этом задачу встречи можно весьма быстро и точно решить только при помощи электронных вычислительных машин. Они способны в короткое время вычислять координаты движущейся цели (например, самолета) и по ним автоматически наводить зенитное орудие на цель с учетом высоты и скорости движения цели, параметров снаряда, времени его полета и т. д. Способность цифровой машины решать не одну, а ряд задач может быть использована для выполнения многих вычислений, с которыми приходится иметь дело на самолете при выполнении боевого задания.
В литературе приводятся сведения о цифровой электронной машине, устанавливаемой на самолете. Она предназначена для решения многих задач, в частности для навигации. Эта машина заменяет несколько счетно-решающих устройств обычного типа. В начале полета ее можно использовать для самолетовождения, затем нажатием кнопки переключать на решение другой задачи, например стрельбы или бомбометания, после чего снова использовать для целей навигации. Показания авиационных приборов (высоты, скорости, дальности, курсового угла и т. д.) вводятся в машину автоматически через каждые 0,1 сек. В течение этого же времени машина дает результаты вычислений. Она имеет 800 сверхминиатюрных ламп, объем ее немногим более обычного телевизора.
В печати недавно также упоминалось о создании счетно-решающего устройства для самолетов, летающих со сверхзвуковой скоростью.
Вместо электронных ламп в этом устройстве использованы кристаллические приборы, благодаря чему достигнута высокая экономичность. Потребляемая устройством мощность составляет всего 100 вт, что примерно в 20 раз меньше мощности такого же аппарата на электронных лампах.
Наличие "памяти" в электронных цифровых машинах с успехом используется в ряде устройств управления. Так, например, автоматическое управление движением большого количества самолетов и их посадка на аэродром могут выполняться с помощью электронного вычислительного устройства. При этом посадка на аэродром массы прибывающих самолетов превращается в упорядоченный поток со скоростью посадки 120 реактивных самолетов в час. Вычислительная машина быстро вычисляет минимальное возможное время, в течение которого самолет мог бы прибыть в исходную точку для посадки, и проверяет в "памяти", не предназначено ли это время для прибытия другого самолета. По радиолокационным данным о местоположении самолета машина вычисляет траекторию полета самолета для прибытия его в назначенное время и в дальнейшем непрерывно следит за ним.
В запоминающем блоке электронной цифровой машины могут храниться данные, относящиеся к полету самолета, планы полета самолета, пункты назначения, количество необходимого горючего, путь полета, сообщения о состоянии погоды из различных пунктов и т. д.
Электронные вычислительные устройства могут быть использованы для наведения управляемых снарядов и ракет по радио с борта самолета или корабля. По данным радиолокационной станции, установленной на самолете, вычислительное устройство, помещенное в ракете, решает задачу встречи с самолетом противника и определяет упрежденные координаты для траекторий ракеты.
В новом типе автопилота для управления самолетом также применено цифровое вычислительное устройство вместо электромеханических счетно-решающих устройств. Цифровой автопилот обладает большей гибкостью в эксплуатации и имеет меньший вес при большой точности вычислений. Для управления полетом самолетов дальнего действия вычислительное устройство обеспечивает наиболее оптимальный режим работы двигателя и экономное расходование горючего. Оно регулирует число оборотов двигателя по вычисленной полетной характеристике таким образом, чтобы находиться около ее максимума.
В системе противовоздушной обороны цифровые вычислительные машины могут быть использованы для наведения самолетов-перехватчиков и управляемых ракет. Получая от радиолокационных станций сведения о местонахождении самолетов-бомбардировщиков, их числе, скорости и дальности, машина рассчитывает траекторию движения самолета-перехватчика или ракеты и управляет движением ее при наведении на цель. Подобная машина размещается в автоприцепах с источниками питания и охлаждающими установками. Внешняя информация подается в машину с помощью кабелей от радиолокационных устройств, расположенных в различных местах.
Вычислительные машины применяются также для зашифровки любого текста, а также расшифровки шифрованного текста. Машина в состоянии в короткое время перебрать все варианты перестановки знаков в шифре и раскрыть его, если даже число возможных комбинаций составляет несколько миллионов.
* * *
Замечательны перспективы применения электронных вычислительных машин в науке, технике, промышленном производстве, военном деле. Они освободят людей от тяжелого умственного труда, связанного с однообразными операциями, и позволят ускорить производственный процесс за счет полной его автоматизации.
Сами вычислительные машины из больших громоздких установок, насчитывающих иногда несколько тысяч ламп, превратятся в компактные и надежные приборы. Это станет возможным благодаря применению полупроводниковых приборов, которые полностью заменят электронные лампы. Большая электронная вычислительная машина, потребляющая сейчас несколько десятков киловатт электроэнергии, будет потреблять не более 100 вт. Тогда электронные машины получат самое широкое и разнообразное применение.