т ответить на вопрос, какая из лент несет правильную программу. Оно просто останавливается и дает оператору сигнал о наличии ошибки. Тогда места несовпадения проверяются и необходимые исправления вносятся вручную.
Такой способ контроля правильности работы оператора весьма далек от совершенства и по надежности и по трудоемкости. И эти недостатки ему свойственны совсем не потому, что он нов. Впервые подобный способ нашел применение свыше тысячи лет тому назад.
В те времена церковники были крайне озабочены большими расхождениями текстов различных экземпляров библии. Было это задолго до изобретения книгопечатания. Переписка текстов велась вручную в течение многих поколений. Переписчики иногда просто ошибались, а подчас пытались по-своему объяснить неясные места в библии. В результате возникали многочисленные разночтения.
Из этого положения был найден следующий выход. На специальном совещании высших духовных лиц был избран и утвержден один из текстов библии, объявленный каноном. Все остальные списки библии подлежали уничтожению. Одновременно была установлена система, исключавшая возможность дальнейшего появления разночтений: были сосчитаны числа слов и букв в каждой главе канонического текста, и переписчики должны были в процессе переписки очередного экземпляра сверяться с этими цифрами.
Таким образом, переписчик работал сначала как оператор, переписывая «программу», то есть библейский текст, с оригинала в список, а затем выполнял функции контрольно-считывающего устройства, сравнивая число написанных им слов и букв с заданными контрольными цифрами.
Само собой разумеется, что церковь не афишировала свое изобретение, а факт удивительного совпадения различных списков библии относила за счет ее якобы божественного происхождения.
Как видите, способы контроля человеческого труда в этой области мало изменились за последнюю тысячу лет. Почему? На этот вопрос не так просто ответить. Во всяком случае, не потому, что над усовершенствованием этих способов не думали. Скорее всего дело в тех трудностях, с которыми связаны любые попытки автоматизировать операции, требующие участия человеческой мысли.
Операция переноса чисел из таблицы на ленту — это мостик, соединяющий два противоположных берега. На одном берегу работают люди, идет творческий процесс. Конструктор создает машину, изделие и разрабатывает чертежи деталей этой машины. Технологи обсуждают процесс обработки и выбирают оборудование, на котором будет вестись обработка, программист составляет программы.
На другом берегу — автоматы. Одни автоматы — вычислительные — «обрабатывают» программы; другие — станки — обрабатывают детали.
А на мостике оператор. Именно он переводит числа с человеческого языка на «машинный» язык. И как ни скромна эта задача, ее решение пока еще требует непосредственного участия человека.
Но вот исходные данные подготовлены человеком и записаны им в удобном для вычислительной машины виде, теперь она будет рассчитывать программу настолько подробно, насколько это предусмотрено человеком, а результаты расчета нанесет на магнитную ленту. Только после этого станок может приступить к делу.
Не правда ли, цепочка операций, предшествующих началу работы станка, кажется с первого взгляда излишне длинной? Может быть, можно ее укоротить?
Какой заманчивой, например, кажется идея подготовить программу работы автомата, не прибегая ни к чертежам, ни к числам! Казалось бы, можно, наблюдая за работай высококвалифицированного мастера, вручную управляющего станком, «запомнить» с помощью специальных устройств все его действия. А затем полученную таким образом программу использовать для автоматического управления станком при обработке целой группы таких же изделий. Ведь можно же, однажды записав речь или мелодию на пластинку или на магнитную ленту, потом безошибочно воспроизвести их сколько угодно раз!
В Советском Союзе и за рубежом по этому принципу было построено несколько систем. Однако для целей автоматизации сколько-нибудь сложных процессов они распространения не получили.
Чтобы точно обработать деталь, вручную управляя станком, нет необходимости выполнять какие-либо чрезмерно сложные движения. И все же, когда мастер ведет обработку точной и сложной детали, он часто останавливает станок, производя измерения, несколько раз повторяет отдельные операции, снимая припуск на обработку в несколько приемов, по-разному устанавливает инструмент относительно изделия, вновь производит измерения. Он особыми приемами добивается устранения влияния зазоров и люфтов на точность обработки, знает способы заставить стол станка передвинуться на малую величину и т. д.
Если записать полностью такую «программу» работы мастера, то окажется, что значительная часть движений, целесообразных при ручном управлении, совершенно излишня, а может быть, и просто вредна тогда, когда ставится задача автоматизировать процесс обработки. Такую «программу» придется значительно усовершенствовать и изменять, а в сравнительно сложных случаях ее, наверное, даже не удастся принять за основу программы автоматической обработки.
Попытка заставить машину автоматически повторить все движения человека, которые он выполняет чисто «по-человечески», напоминает попытку построить паровоз с ногами вместо колес. А ведь мы уже неоднократно убеждались, что совершенно бессмысленно пытаться заставить автомат работать точно так, как работает человек, использовать один и тот же технологический процесс, располагая совершенно различными средствами. Нет, такие попытки заранее обречены на провал!
Программа обработки типичного изделия на первом макете станка, оснащенного шаговой системой цифрового управления, содержала меньше 2 тысяч единиц информации. Современный фрезерный станок с цифровым управлением при обработке сложных изделий реализует многие миллионы единиц информации. Можно быть уверенным, что в будущем объем информации, перерабатываемой станками с цифровым управлением, будет продолжать расти.
Точно так же обстоит дело и в других областях техники, в медицине, биологии, экономике, где непрерывно накапливаются целые горы информации, обработка которой не терпит никакого отлагательства. Даже короткая задержка грозит срывом плана, удорожанием стоимости производства, возникновением неразберихи.
Чтобы удовлетворить непрерывно растущий спрос на вычисления, инженеры и ученые разрабатывают новые, более мощные вычислительные машины. Аппетит приходит во время еды, и новые возможности машин провоцируют ученых на постановку новых задач, казавшихся ранее бессмысленными, поскольку решение их скрывалось на дне целого океана вычислений.
Скорость вычислений в десятки и сотни тысяч операций в секунду оказывается уже недостаточной, нужна скорость в миллионы, десятки миллионов операций.
Возможно ли такое быстродействие и где его предел?
Электрический импульс, движущийся со скоростью света, пробегает за одну миллиардную долю секунды всего лишь 30 сантиметров. Конструкция вычислительной машины становится все сложнее. И если речь идет о скоростях в десятки и сотни миллионов операций в секунду, то вся эта сложная конструкция должна укладываться в очень скромные габариты, иначе сигналы не будут успевать перемещаться по ее коммуникациям. Это серьезное ограничение. Пока оно еще не стало решающим, но ученые и инженеры к этому готовятся и разрабатывают электронные узлы и приборы, по сравнению с которыми обычные полупроводниковые устройства будут казаться неуклюже большими и грубыми.
А наряду с разработкой новых конструкций машин и их новых элементов и узлов идет развитие математических методов, позволяющих наиболее эффективным образом использовать гигантские возможности вычислительной техники как по прямому назначению — для выполнения вычислений, — так и для целей управления.
Эти возможности ошеломляют воображение, и чуть ли не с первых дней создания электронных машин их уподобляют гигантскому мозгу; импульсный, дискретный способ действия нервной системы усугубляет это сходство.
Из разных уголков человеческого тела по восходящим путям дискретные сигналы мчатся в различные отделы мозга человека; все они имеют одинаковую максимальную величину — амплитуду, но разные частоты. В мозгу человека с этими импульсами что-то происходит; что-то они по дороге включают и выключают, как-то складываются и вычитаются, где-то образуют замкнутые цепочки и сложные структуры, запоминающие информацию, поступающую извне, и результаты ее переработки; в процессе работы мозга эти результаты вызываются из памяти и используются, может быть, так же, как вызывается и используется информация, внесенная в память электронной машины. И наконец, по нисходящим путям из мозга мчатся потоки сигналов, управляя движениями тела, может быть, так же, как электронная машина управляет, например, ракетой.
Ну как тут удержаться и не пытаться сравнить электронную машину и мозг?
Одну из первых таких попыток сделал несколько лет назад американский математик Джон фон Нейман. В рукописи книги, опубликованной год спустя после его смерти, он привел, в частности, количественные оценки, которые повторяются во многих популярных книгах по кибернетике. Вот они.
Время реакции нервной клетки на возбуждение составляет от сотых до десятитысячных долей секунды; электронных ламп или полупроводниковых элементов, из которых строятся машины, — десятимиллионные доли секунды. Следовательно, в отношении быстродействия искусственные элементы превосходят естественные в десятки тысяч раз.
Что касается числа элементов и их объема, то здесь картина обратная. Фон Нейман, исходя из предположения, что в объеме 1000 кубических сантиметров, который занимает мозг, сосредоточено 10 миллиардов нейронов (сейчас думают, что их 14, 15, 17 миллиардов), считает, что естественный мозг построен в сотни миллионов раз компактнее искусственного полупроводникового прибора.
Мозг расходует около 10 ватт мощности, значит, приблизительно миллиардную долю ватта на нейрон. Расход энергии на полупроводниковый элемент он оценивает в десятую долю ватта. В энергетическом отношении естественная система оказывается в сотни миллионов раз экономнее искусственной.