Случай в дороге
В купе двое: военный — полковник и штатский. Штатский возвращается из командировки. Весь день он бегал по разным учреждениям, устал до изнеможения и смертельно хочет спать. Полковнику, наоборот, не спится. Он уютно устроился возле ночника и с удовольствием читает детектив.
— Я вижу, вы все равно не спите, — обращается штатский к полковнику. — Будьте так добры, разбудите меня, когда остановимся на ближайшей станции. Мне надо телеграмму отправить.
— Конечно, с удовольствием, — отвечает полковник.
Штатский отваливается на подушку и погружается в сон.
Время идет, колеса постукивают. Полковнику начинает мучительно хотеться спать. Но он человек долга и героически борется со сном. Вот и станция. Последним усилием воли полковник будит соседа, убеждается, что тот поднимается с дивана, после этого гасит ночник и засыпает. Штатский еще в полусне, в темноте купе вместо своего пальто накидывает шинель военного и выходит на перрон. Входит в вокзал, подходит к окошечку телеграфа. Внезапно в стекло стойки он видит отражение военного с полковничьими погонами.
— Идиот! Кого он разбудил?! — восклицает штатский и, понурив голову, возвращается в вагон.
А чему вы, собственно, смеетесь? Наш маленький рассказ — пример того, что называется умозаключением. Причем умозаключением, проведенным по всем правилам классической Аристотелевой логики. «Все мужчины храбры. Кай мужчина, значит, он храбр», — провозглашал Аристотель. Подобные рассуждения получили название силлогизмов. С них начинается любой учебник логики. «Все люди в шинелях — военные, рассуждал наш герой. — Я в шинели, значит, это не я». Так что же тут смешного?
Но он же должен был знать, что он это он! Вера в неизменность человеческого «я» — одно из самых стойких заблуждений человечества. В повести братьев Стругацких «Понедельник начинается в субботу» директор Научно-исследовательского института чародейства и волшебства (НИИЧАВО) Янус Полуектович Невструев — ученый мирового класса. Он открыл способ осуществлять контрамоцию, изменять направление времени. Поставив эксперимент над собой, Невструев начал жить в обратном направлении — из будущего в прошлое.
С тех пор у сотрудников НИИЧАВО стало как бы два директора, точнее, один, но в двух лицах. А-Янус Полуектович Невструев, посредственный администратор, но люди прозорливые видят, что постепенно он превращается в крупного ученого. У-Янус Полуектович Невструев, ученый с мировым именем, но прямо на глазах сотрудников в нем все более проступают черты посредственного администратора. Эта поучительная история — прекрасный пример тому, что «я» в данный момент совсем не то же самое «я», что полчаса тому назад.
Кто такой Кай
Мы отвлеклись в сторону. Какие там фантастические истории ни рассказывай, рассуждаем мы логически. В наши дни Аристотелева логика поставлена на прочный математический фундамент. В результате сформировалась наука — формальная логика, ее называют алгеброй логики. Основным в формальной логике является понятие высказывания. «Кай — мужчина», «снег — бел», «кошка — млекопитающее» — все это примеры высказываний. В Аристотелевой, а теперь и в формальной логике высказывание может быть только либо истинным, либо ложным. Третьего не дано. Это положение так и называется — закон исключенного третьего. Если высказывание «снег — бел» истинно, то высказывание «снег не бел» обязательно ложно.
С чего начинается формализация логики? С того, что, подобно иксам и игрекам в обычной алгебре, высказывания рассматриваются как переменные величины, способные принимать одно из двух значений: истинно или ложно.
Первый раздел формальной логики — исчисление высказываний. Здесь изучаются правила, по которым над высказываниями проводятся операции аналогично сложению и вычитанию в алгебре. Операция отрицания НЕ — единственная операция, которая выполняется над одним высказыванием. Все остальные операции формальной логики требуют по меньшей мере двух высказываний.
Одна из операций получила название ИЛИ (дизъюнкция). Операция ИЛИ позволяет связать между собой два или несколько высказываний, образуя сложное высказывание. Если есть высказывание А и высказывание Б, то по законам формальной логики может существовать также высказывание А ИЛИ Б. Высказывание А ИЛИ Б, в свою очередь, может быть либо истинным, либо ложным. Для того чтобы оно было истинным, достаточно, чтобы истинным было хотя бы одно из составляющих его высказываний. Например: осадки — это дождь идет или снег идет.
Вторая операция называется И (конъюнкция), Сложное высказывание А и Б истинно в том, и только в том случае, если истинны оба составляющих его высказывания. Например: ясная погода — это когда снег не идет и дождь не идет.
Кроме операций, в формальной логике изучаются отношения. Простейшее — отношение эквивалентности. Если высказывания А и Б связаны между собой отношением эквивалентности (А эквивалентно Б), то оба они должны быть либо одновременно истинными, либо одновременна ложными. Так, запись «А эквивалентно Б и В» справедлива, то есть отвечает законам формальной логики, если в качестве высказывания Б взято, к примеру, высказывание «Я съел суп», в качестве высказывания В — «Я съел второе», а в качестве высказывания А — «Я пообедал».
Операции НЕ, И и ИЛИ, вместе взятые, обладают замечательным свойством функциональной полноты. Любое сколь угодно сложное высказывание конструируется как последовательность более простых высказываний, связанных между собой операциями НЕ, И и ИЛИ.
Что получается? Все, что в обычном языке называется рассуждением или умозаключением, представляет собой логическую конструкцию. Наука логика учит строить подобные конструкции и в процессе строительства исключать из них явные и скрытые противоречия. Логика позволяет также устанавливать истинность или ложность сложных высказываний, когда известна истинность или ложность составляющих их простых высказываний. На страницах этой книги мы не раз обратимся к логике. Пока отметим важную деталь. Высказывание, построенное по законам логики отличается несомненной стройностью, больше того — красотой.
Мужик и медведь
Строгие рассуждения подчиняются логическим законам. Значит, если создать вещь, действия которой подчиняются логическим законам, то будут все основания считать эту вещь способной рассуждать? Вероятно, так думал немецкий философ-идеалист, математик, физик и изобретатель Г. В. Лейбниц. Поэтому он построил уникальную для своего времени «рассуждающую» машину. Она состояла из движущихся рычажков и обладала способностью строить простейшие умозаключения. Как работала машина Лейбница, проще всего понять на примере деревянной игрушки «Мужик и медведь».
Фигурки мужика и медведя укреплены на стерженьках, концы которых прибиты к планке маленькими гвоздиками. Потянули планку вправо — по наковальне ударяет мужик. Подвинули планку влево — по наковальне ударяет медведь. Действия этой игрушки отвечают законам формальной логики. Медведь — всегда медведь, мужик — всегда мужик. Планка может быть передвинута или влево, или вправо. И медведь и мужик могут или ударять по наковальне, или не ударять. Если ударил, значит, ударил, если нет — то нет. Наконец, фигурки действуют, когда вы перемещаете планку. Высказывание «мужик ударил» истинно, когда планка передвинута вправо. Работа игрушки описывается логической формулой: «мужик ударил» эквивалентно «медведь не ударил».
Рис. 2.
При желании конструкция усложняется так, как показано на рисунке . Стерженьки, на которых укреплены фигурки, прибиты к двум подвижным планкам. Если обе планки находятся в крайних положениях, медведь и мужик «отдыхают». Верхняя планка сдвинута влево, нижняя вправо — ударяет мужик. Верхняя — вправо, нижняя — влево, ударяет медведь. Истинность высказывания «мужик ударил» или «медведь ударил» следует из истинности двух исходных высказываний: верхняя планка сдвинута влево (первое) и нижняя планка сдвинута вправо (второе).
Убедил вас простой пример в том, что вещи способны рассуждать? Если нет, разберем пример посложнее. Построим машину, решающую задачку о волке, козе и капусте. Как ее сформулировать? На левом берегу реки находятся перевозчик с лодкой, волк, коза и капуста. Необходимо всех переправить на правый берег. Задача перевозчика усложняется двумя обстоятельствами. Во-первых, его лодка мала и в каждый рейс он может взять с собой кого-нибудь одного. Во-вторых, нельзя оставлять без присмотра волка с козой и козу с капустой. Как быть перевозчику?
Ответ на этот вопрос дает сконструированный нами механизм. Поскольку нам снова, в который раз, придется рассматривать механизм в действии, мы попросили художника сделать несколько зарисовок, соответствующих разным положениям одного и того же механизма.
Рис. 3а.
На рисунке (рисунок авторов. — Ред.) показаны три горизонтальные планки с прорезями. Верхняя соответствует волку, на ней нарисован волк, средняя — козе, а нижняя — капусте, на них также сделаны соответствующие рисунки. Перемещение горизонтальных планок ограничивается тем, что край прорези, правый или левый, упирается в четвертую, вертикальную планку.
Все горизонтальные планки изображены в крайних левых положениях, что соответствует нахождению волка, козы и капусты на левом берегу реки. Вертикальная планка соответствует перевозчику. Она перемещается в вертикальном направлении, то есть поднимается или опускается. Перемещение вертикальной планки ограничивается штифтом, проходящим через прорезь в ее нижней части. На вертикальной планке укреплен механизм, состоящий из рычажков, шарниров и клиньев. На нашем рисунке вертикальная планка показана в крайнем нижнем положении. Это означает, что перевозчик также находится на левом берегу реки.
Как работает наш механизм? Начнем понемногу разбираться. Сначала условимся, что, если одну из горизонтальных планок вы передвинете из крайнего левого в крайнее правое положение, это означает, что перевозчик взял с собой в лодку соответственно волка, козу или капусту. Если затем поднять вертикальную планку вверх, это означает, что перевозчик перевез то, что он взял с собой, на правый берег.
Сначала посмотрим, может ли перевозчик переехать на другой берег один? Подтолкнем вертикальную планку вверх (вы пока еще смотрите на рисунок ). Получается что-нибудь? Нет, ничего не получается, поскольку клин, помеченный цифрой 2, упирается своей горизонтальной плоскостью в планку «Коза». И поделом перевозчику — нельзя оставлять без присмотра сразу и волка, и козу, и капусту.
Рис. 3б.
Предположим теперь, что перевозчик взял с собой в лодку капусту. Передвигаем нижнюю горизонтальную планку вправо. Положение частей механизма в результате такого передвижения показано на рисунке . Сдвинутая вправо планка «Капуста» нажимает на острие клина 3. Перемещаясь вправо, этот клин поворачивает рычаг 5 вокруг шарнира. Противоположный конец рычага 5 нажимает на рычаг 6, который также поворачивается вокруг шарнира и другим своим концом нажимает на конец рычага 4. Все это заканчивается тем, что клин 1 чуть-чуть выдвигается влево, но клин 2 остается на месте. Вертикальный рычаг по-прежнему нельзя поднять. Перевозчик не имеет права сдвинуться с места. Все верно — волка с козой нельзя оставлять наедине.
То же самое получается, если перевозчик берет с собой в лодку волка. Этот случай мы предлагаем читателю разобрать самостоятельно, а разобрав, убедиться, что для капусты коза неподходящая компания.
Остается единственная возможность: взять в лодку козу. Перемещаете горизонтальную планку «Коза» вправо и немедленно убеждаетесь, что теперь для перевозчика путь свободен. При желании он может совершить с козой в лодке сколько угодно рейсов с одного берега на другой и вернуться, оставив козу на правом берегу. Соответствующее этому положение частей механизма и показано на рисунке . Коза находится на правом берегу (горизонтальная планка с надписью «Коза» сдвинута вправо), а перевозчик находится на левом берегу (вертикальная планка — в нижнем положении).
Рис. 3в.
Теперь перевозчик может взять с собой либо волка, либо капусту. Попробуем — волка. Передвигайте планку «Волк» в крайнее правде положение. Правда, клин 1 касается планки «Волк», но касается своей наклонной поверхностью, а в таком случае клин не препятствует движению. Перемещаете вертикальную планку вверх и приходите к положению, показанному на рисунке . Волк, коза и перевозчик — на правом берегу, капуста — на левом.
Рис. 3г.
Теперь бы перевозчику в самый раз вернуться назад за капустой, но не тут-то было. Клин 1 своей горизонтальной плоскостью прочно уперся в планку «Волк». Все правильно! Волка нельзя оставлять с козой. Можно забрать с собой в обратный путь волка, для этого достаточно передвинуть верхнюю горизонтальную планку влево, но тогда вы вернетесь к уже существовавшему раньше положению. Зачем же повторяться? Пусть перевозчик лучше возьмет с собой в обратный путь козу. Передвигаете планку «Коза» влево и приходите к положению, показанному на рисунке .
Рис. 3д.
Подтолкните вертикальную планку вниз. Что получается? Клин 2 своей наклонной поверхностью упирается в планку «Коза». Под давлением вашего пальца вертикальная планка перемещается вниз, а стержень, на котором укреплен клин 2, перемещается влево. Пластинка, к которой прикреплен стержень, также перемещается влево и давит на концы рычагов 4 и 5. Оба рычага поворачиваются вокруг своих шарниров, клинья 1 и 3 перемещаются вправо. Перевозчик с козой беспрепятственно следует на левый берег.
Теперь перевозчику следует забрать с собой капусту. Перемещаете планку «Капуста» вправо. Стараетесь поднять вертикальную планку вверх… Получается? Да, получается. Оба клина, 1 и 3, скользят по соответствующим планкам своими наклонными поверхностями. Рычаги 4 и 5 поворачиваются одновременно и давят сразу на оба плеча рычага 6. При таких условиях рычаг 6 не в состоянии повернуться вокруг своего шарнира. Все, что ему остается, это перемещать стержень, на котором он укреплен, а следовательно, клин 2 влево. Капуста благополучно перевезена на правый берег и составила компанию волку.
Перевозчик возвращается на левый берег, что возможно, так как клин 2, скользя своей наклонной поверхностью по планке «Коза», втягивает клинья 1 и 3, как уже было описано раньше. Последним рейсом перевозчик перевозит козу — перемещаете соответствующую планку вправо. Задача решена.
Вряд ли у кого-нибудь остались сомнения в том, что вещи или, точнее, механизмы способны рассуждать. С помощью простого механизма удалось решить задачу, которая, если, конечно, она решается впервые, требует в общем-то известного труда. Если вы поразмыслите над описанной машиной, вы убедитесь в том, что у этой задачи есть и другое решение, иная последовательность перевозок, и это решение тоже определяется с помощью нашего механизма.
Можно и сжулить, то есть погрузить в лодку сразу всех, волка, козу и капусту. Механизм сработает в этом случае. Но ни одной из запрещенных комбинаций он не допустит.
В чем секрет? Нет никакого секрета. Просто отдельные части механизма действуют в соответствии с законами формальной логики. Логические законы предписывают выводить правильные следствия из правильных исходных предположений. В переводе на язык механизмов это звучит так: некоторые движения оказываются возможными в том случае, если им предшествуют определенные движения, и невозможными — в противном случае.
Наш механизм обладает также памятью. Перемещая планки, вы как бы запоминаете, на каком берегу реки находятся волк, коза, капуста и перевозчик. Для самого проницательного читателя сделаем еще один намек. Перемещение клина 2 всегда влечет за собой перемещение клиньев 1 и 3. А заставить перемещаться клин 2 можно, если вы перемещаете сразу оба клина, 1 и 3. Иными словами, мысль (высказывание) о том, что можно перевозить козу, оказывается правильной (истинной) в том только случае, если волк и капуста уже находятся на другом берегу.
В мастерских природы
Каким образом те же рассуждения выполняются в мастерских природы и выполняются ли они вообще? Безусловно, да. К положительному ответу на этот вопрос вы, читатель, уже подготовлены всем тем, что говорилось в нашей второй беседе. Как рассуждает природа?
Минуя более простые процессы, рассмотрим в качестве примера синтез белков в живых клетках. Из отдельных нуклеотидов строятся молекулы двух веществ: рибонуклеиновой кислоты (РНК) и дезоксирибонуклеиновой кислоты (ДНК). В первой беседе мы обратили внимание на РНК, а сейчас настала очередь посмотреть, что представляет собой ДНК.
Скажем сразу, молекула ДНК — это основной чертеж, в простейшем случае одной-единственной клетки, а в более сложном случае — всего организма, состоящего из множества клеток. Молекулы ДНК находятся в ядре каждой клетки, то есть в самом защищенном от внешних влияний месте. Оно и понятно, ведь молекулы ДНК содержат полный чертеж клетки и тем самым определяют все процессы ее жизнедеятельности.
Молекула ДНК представляет собой последовательность нуклеотидов, каждый из которых содержит одно из следующих оснований: аденин, гуанин, тимин и цитозин. Нуклеотиды входят в молекулу в самых разных сочетаниях, и в этом смысле молекула ДНК представляет собой как бы строчку символов. В каждом месте этой строчки выбирается один символ из четырех. Количество нуклеотидов в молекуле ДНК определяет сложность соответствующего организма.
Так полный чертеж вируса табачной мозаики составляется из 6230 нуклеотидов. Полный чертеж человеческого организма, то есть количество нуклеотидов в молекулах ДНК, входящих в состав всех 46 хромосом клетки человека составляет девять миллиардов. То, что это действительно полный чертеж организма, в настоящее, время доказано экспериментально. Хромосомы из клетки мыши, взятой из кожи, переместили в ядро яйцеклетки другой мыши, из которого предварительно удалили имевшиеся там хромосомы. Подвергшуюся операции яйцеклетку поместили в матку мыши. В положенный срок родился нормальный мышонок, представляющий собой точную копию особи, у которой были взяты хромосомы. От «матери» он при этом не унаследовал ничего. В настоящее время подобную биотехнологию начинают внедрять в промышленных масштабах для разведения племенного скота.
Итак что представляет собой полный чертеж человеческого организма? Это текст, содержащий девять миллиардов букв специального четырехбуквенного алфавита. В пересчете на русский алфавит это составит около 240 миллионов букв, то есть примерно 96 тысяч страниц типографского текста. Столько же, сколько содержит вся Большая советская энциклопедия. Судите сами, много это или мало? Конечно, речь идет только о чертеже организма, а не той информации, которая приобретается человеком в течение его жизни.
Вернемся к молекулам ДНК. Как правило, в ядре клетки молекулы ДНК существуют в виде пар, причем пары скручиваются в единую спираль. Молекулы отличаются друг от друга. В том месте, где у одной молекулы размещен аденин, у другой молекулы — тимин. А там, где у некой молекулы размещается гуанин, у другой — цитозин. Водородные связи объединяют пары оснований и тем самым удерживают две молекулы ДНК одну возле другой. Образование связанных пар оснований АТ и ГЦ характерно для всех молекул ДНК, и по этой причине оно получило название закона комплементарности.
Событием, чаще всего происходящим с живой клеткой, является ее деление. Перед делением спираль, состоящая из двух молекул ДНК, раскручивается. На каждой молекуле под действием специального фермента, называемого ДНК-полимераза, из нуклеотидов, растворенных в веществе клетки, строится вторая молекула, комплементарная к исходной. Таким образом, вместо одной спирали образуются две. После деления спирали расходятся по дочерним клеткам — по одной в каждую.
Что для нас самое интересное? Подобное удвоение, или, как говорят биологи, репликация, — единственный процесс, в котором участвует ДНК. Любые другие процессы жизнедеятельности клетки совершаются без участия ДНК, которая сохраняется в хорошо защищенном месте — в ядре клетки. Процессы, происходящие в клетке, управляются уже знакомыми нам молекулами РНК.
Во второй беседе мы говорили об РНК в общих чертах, не вдаваясь в подробности. Настала пора сказать, что существует по меньшей мере три класса молекул РНК: информационные (иРНК), транспортные (тРНК) и рибосомальные (рРНК). Все три вида РНК строятся на молекуле ДНК в результате процесса репликации, удвоения, и под воздействием специальных ферментов РНК-полимераз. Будучи построена, молекула РНК тут же покидает ядро и переходит в жидкое вещество клетки, цитоплазму.
На одной молекуле ДНК строится много разных молекул РНК. При этом относительное количество различных молекул РНК также различно. Например, у бактерий в синтезе тРНК участвует всего 0,025 процента ДНК, а в синтезе рРНК — 0,3 процента ДНК. На большей части молекулы ДНК синтезируются разные по величине иРНК. Молекулы рРНК довольно большие, их молекулярный вес находится в пределах от 500 тысяч до 2 миллионов. Молекулы рРНК соединяются со специальными белками, образуя рибосомы. Рибосомы — это своеобразные станки, на которых в дальнейшем и происходит синтез белка. Как только рибосома готова, на ней закрепляется какая-нибудь иРНК.
А вот дальше начинается самое интересное. Суть в том, что аминокислоты — это соединения довольно флегматичные и сами по себе ни в какие отношения с иРНК не входят. Мы уже говорили, что раствор аминокислот остается просто раствором сколь угодно долго. Аминокислоты не стремятся соединиться друг с другом. Мало что изменится, если запустить в такой раствор иРНК. Работы по непосредственному синтезу белка выполняют тРНК. Их описано не менее 20 типов (а вообще их еще больше), так как каждой аминокислоте соответствует своя тРНК. Функции всех тРНК сводятся к транспортировке аминокислот в рибосомы и укладке их на матрицы иРНК в пептидную цепь согласно коду белкового синтеза, записанному на тРНК.
Как это происходит на самом деле? Молекулы тРНК относительно короткие и содержат всего 70–85 нуклеотидов. В середине нити такой молекулы расположены последовательности нуклеотидов, определяющие конкретный вид тРНК, следовательно, конкретный вид аминокислоты, который она предназначена транспортировать. А концы у тРНК строятся по единому принципу. Один конец у тРНК всегда состоит из комбинации АЦЦ. Это и есть тот «крючок», которым молекула тРНК «подцепляет» аминокислоту. Но крючка недостаточно. Аминокислоты и на крючок не очень-то реагируют. Для их активизации используются опять-таки ферменты, но другие, с довольно сложным названием — аминоацил-тРНК-синтетазы.
У каждой аминокислоты свой фермент. По предложению академика В. А. Энгельгардта их называют коротко — кодазами, потому что каждая кодаза как бы кодирует специфическую аминокислоту. Под воздействием кодазы к нужной молекуле аминокислоты присоединяется молекула специального вещества, аденозитрифосфорной кислоты, или, сокращенно, АТФ.
АТФ — интересное вещество. В клетках организма молекулы АТФ выполняют функции накопителей и источников энергии. АТФ входит в состав мышечных клеток. Чтобы показать, насколько эффективны молекулы АТФ, заметим, что сократительный белок мышцы способен поднять груз, в тысячу раз превышающий вес самой мышцы.
Снабженные энергией комплексы аминокислота — тРНК — АТФ становятся подвижными, и тРНК оказывается способной оттащить соответствующую аминокислоту к рибосоме. На другом конце тРНК расположен триплет, комплементарный к одному из триплетов иРНК. С его помощью тРНК подтаскивает аминокислоту в нужное место иРНК. Например, если речь идет об аминокислоте фенилаланин, она должна присоединиться к триплету УУУ иРНК, следовательно, на конце соответствующей тРНК расположен комплементарный триплет ААА.
Размещенные на своих местах аминокислоты соединяются с ранее доставленными аминокислотами, образуя очередной участок пептидной цепи. Что касается молекулы тРНК, то, закончив транспортировку, она возвращается в цитоплазму и продолжает трудиться дальше. Все тРНК большие труженики, работают дружно и с немалой нагрузкой. То же самое справедливо для рибосом. Как только завершается построение молекулы белка, рибосомы используются для синтеза другой молекулы.
На разных стадиях жизнедеятельности организму требуются разные белки. Поэтому молекулы иРНК синтезируются не все сразу, а по мере необходимости. Выполнив свою функцию, каждая молекула иРНК сходит с рибосомы и распадается.
Но почему мы назвали все это рассуждениями?
А как же иначе? Рассуждая, человек высказывает нечто такое, что может быть выражено строчкой текста, то есть последовательностью букв. Синтез белка также дает строчку — последовательность аминокислот. Содержится ли в подобной записи какой-либо смысл? Для тех, кто умеет читать, несомненно. Например, читая такие строки, можно восстановить историю возникновения жизни на Земле.
Трудно не отметить поразительной схожести описанного процесса с работой завода. Для работы завода прежде всего необходим комплект чертежей, куда должны входить не только чертежи производимых изделий, но и чертежи станков и чертежи размещения этих станков в цехах. В случае клетки все это хранится на одной-единственной молекуле ДНК. Чертежи из основного комплекта нельзя отдавать в цехи. Они очень скоро истреплются, станут неразборчивыми и в производстве станут наступать сбои. В цехи передаются копии чертежей. Роль этих копий в клетке играют молекулы иРНК.
И завод и клетка работают на основе сырья, которое на заводе хранится на складе, а в клетке — в цитоплазме. В процессе производства сырье транспортируется к рабочим местам, станкам — на заводе и рибосомам — в клетке. К стыду некоторых организаторов производства, следует заметить, что в клетках процесс транспортировки всегда автоматизирован — его выполняют тРНК, а на многих заводах он до сих пор выполняется вручную. Что касается тРНК, они подобны автокарам и даже используют горючее, роль которого в клетке выполняет АТФ.
Наконец, еще одно важное уточнение. Если бы считывание с длиннейшей молекулы иРНК производила одна рибосома, синтез белка шел бы медленно. Но организм ждать не может — ему подавай белок как можно скорее. Поэтому в процессе синтеза рибосомы работают «бригадным» методом, объединяясь по четыре, по девять и даже по нескольку десятков штук, образуя полирибосомы, или полисомы. Всего рибосом в клетке несколько тысяч.
На заводе каждая технологическая операция выполняется не случайным образом, а в соответствии с неким организационным планом. Рабочий получает задание на выполнение тех или иных операций. Эти задания оформляются в виде нарядов. Точно так же в клетке. И отдельные операции, то есть транспортировка аминокислоты к рибосоме, и комплексы операции, такие, например, как репликация, выполняются под управлением специальных веществ — ферментов. Ферменты в клетке выполняют роль нарядов.
Белки синтезируются не все сразу, а по мере необходимости. Есть все основания утверждать, что существует некий общий организационный план деятельности клетки. Особенно ярко это проявляется при развитии целого организма из одной-единственной яйцеклетки. Клетки не только делятся, но и специализируются. Две клетки, получившиеся в результате первого деления оплодотворенной яйцеклетки похожи друг на друга. Однако затем в результате последующих делений образуются клетки мускулов, клетки внутренних органов, нервные клетки. Все это происходит в соответствии с предначертанным планом, и план этот записан на исходной молекуле ДНК.
Приведем интересный пример. Всем хорошо известно одноклеточное существо — амеба. Амеба размножается делением, и в результате деления из одной амебы образуются две дочерние клетки. Каждая дочерняя клетка, в свою очередь, делится на две дочерние клетки и т. д. Один ученый заставил амебу делиться 500 раз подряд и внимательно наблюдал за всеми ее поколениями. Легко посчитать, что каждой амебе пятисотого потомства досталась часть вещества исходной амебы, которая определяется числом, равным единице, деленной на 2500. Представляете себе, что это значит?
Амеба-потомок не содержит ни одной молекулы из числа тех, которые входили в состав амебы-прародительницы. Тем не менее амеба пятисотого поколения по внешнему виду и свойствам точно такая же, как и амеба-прародительница. Она имеет такой же химический состав, содержит те же белки, нуклеиновые кислоты, углеводы и другие вещества и обладает таким же обменом веществ.
О чем говорит этот пример? Каждое очередное поколение амеб получает от своих предков информацию. Информация эта представляет собой совершенно определенную физическую сущность, поскольку уже в пятисотом (а их бывает гораздо больше) поколении амеба может не содержать ни крупинки вещества или энергии, принадлежавших амебе-прародительнице. Тот факт, что независимо от числа разделяющих их поколений амеба-предок во всех деталях практически полностью повторяет амебу-прародительницу, свидетельствует о существовании четкого организационного плана. Плана, который, судя по всему, выполняется гораздо лучше, чем реальные планы на некоторых реальных предприятиях.
Рассуждающие машины
Настала пора поговорить об искусственных созданиях, предназначенных в основном для рассуждений. По всей видимости, читатель давно недоумевает: почему до сих пор мы ни разу не упомянули об их существовании?
Ответ прост. Мы последовательно проводим ту мысль, что процессы переработки информации — это естественные природные процессы, совершающиеся практически повсеместно и в живой и в неживой природе. ЭВМ представляет собой лишь естественное звено в обшей цепи развития природы в целом и человеческой культуры в частности.
Кстати, людям редко удавалось придумать для своих творений столь неудачное название, как это получилось с ЭВМ, то есть электронными вычислительными машинами. Во-первых, это не машины вовсе, поскольку по определению машина должна иметь движущиеся части. Во-вторых, не вычислительные, поскольку хотя в принципе они способны выполнять вычисления, но это ни в коем случае нельзя считать их основной профессией. С тем же успехом вычислительными можно считать две палки, поскольку приставив одну к другой мы, очевидно, выполним операцию сложения, прибавив длину одной палки к длине второй. Единственно, что имеет какое-то оправдание, это слово «электронные». Действительно, современные ЭВМ строятся на основе электронных компонентов. Но надолго ли? Предки ЭВМ были механическими, а что будет дальше? Большинство специалистов придерживаются того мнения, что уже в начале третьего тысячелетия электроника уступит место биотехнологии.
Неудача с названием сказывается и в том, что в различных публикациях часто встречается словосочетание через дефис: электронно-вычислительные, что звучит так же дико, как коричнево-сладкие или твердо-находчивые. В англоязычных странах используют слово «компьютер», которое столь же неудачно, поскольку в переводе на русский язык означает всего лишь «счетчик». Ближе к сути дела подошли французы. Для обозначения ЭВМ они используют слово «ordinateur», что с некоторой натяжкой переводится как «организатор». Тоже не слишком хорошо, но гораздо ближе к истине.
Суть, безусловно, не в названии. Аббревиатура ЭВМ прочно вошла в наш быт и, по всей видимости, сохранится в языке. Мы попросим только наших читателей не пользоваться такими дикими конструкциями, как «электронно-вычислительная» или, того хуже, «электронно-счетная» — так тоже бывает.
Как рождались и развивались ЭВМ? В 1834 году английским ученым Чарльзом Бэббиджем (1791–1871) была предпринята попытка создания универсальной цифровой вычислительной машины с программным управлением. Основные принципы организации своей «аналитической машины» Бэббидж разработал в 1834 году, а работу над ней продолжал до конца жизни. В 1843 году дочь поэта Байрона Августа Ада Лавлейс, исследуя возможности машины, доказала, что машина Бэббиджа способна выполнять операции не только над числами, но и над словами, и составила первую достаточно сложную программу для вычисления чисел Бернулли. В 1888 году Г. Голлерит (1860–1929) разработал счетную машину на электромеханических счетчиках.
С начала 20-х годов XX века цифровая вычислительная техника использовалась бухгалтерами, статистиками, отдельными учеными и научными коллективами. Подобная техника была представлена арифмометрами на механических элементах с ручным или электроприводом для механизации расчетов и табуляторами на электромеханических реле (типа машины Голлерита), которые выполняли операции сложения и вычитания при обработке больших массивов информации.
В 30-е годы производство цифровых вычислительных машин перешло на серьезную индустриальную основу. Фирма ИБМ в США освоила массовый выпуск машин, выполняющих операции сложения, вычитания, умножения (в отдельных случаях и деления) с регистрацией результатов на перфокартах и перфолентах.
Разработка проектов универсальных вычислительных машин с программным управлением, реализующих идеи Бэббиджа, началась во второй половине 30-х годов в Германии и США. Первая такая машина была создана инженером Карлом Цузе в 1941 году. Г. Айкен, сотрудник Гарвардского университета (США), вместе со своими коллегами начал проектировать релейную универсальную вычислительную машину МАРК-1. Проект был готов в 1944 году. В том же 1944 году несколько релейных специализированных вычислительных машин выпустила фирма «Белл» (США). Наконец, первый проект электронной вычислительной машины разработал Дж. Атанасов (США) в 1939 году. Атанасов пытался самостоятельно, с единственным помощником, реализовать свой проект и построить электронную вычислительную машину. Работы велись до 1941 года, но так и остались незавершенными.
Начало электронной эры
Все перечисленные факты представляют собой достижения официальной историографии. В этой связи нам хотелось бы поставить два вопроса. В какой степени вообще можно связывать поворотные моменты в истории человеческой культуры, а появление и развитие информатики, несомненно, представляет собой такой поворотный момент, с именем одного или даже нескольких человек? Список авторов вычислительной техники мы начали с Бэббиджа, однако этот перечень неполный, его можно было бы продолжить, упомянув Паскаля и Лейбница, и еще гораздо далее в глубь времен. В конце концов, автором первой вычислительной машины с полным правом можно считать того, кто начал вести счет прожитым дням или убитым животным, делая зарубки на дереве. Если проекты Паскаля и Лейбница, а заодно и проект Бэббиджа не получили того, что мы сегодня называем внедрением, то объясняется это главным образом тем, что человечество еще не испытывало настоящей потребности в подобных машинах.
Второй наш вопрос таков. Можно ли считать, что появление ЭВМ совершило революцию в информатике, ведь таково распространенное мнение? Слов нет, именно электронная линия привела к тем поистине фантастическим результатам, свидетелями которых мы являемся. ЭВМ ЭНИАК, введенная в действие в США в 1946 году, обладала быстродействием, лишь в несколько сот раз превышающим быстродействие своих релейных предшественниц. За последующие сорок лет — примерно с 1947 по 1987 год — быстродействие увеличилось в миллион раз. Достигнуто это было не столько за счет использования электроники как таковой — еще в начале 50-х годов стало ясно, что электронные лампы бесперспективны, — сколько за счет использования полупроводниковых структур.
По мнению одного из историографов вычислительной техники С. Лилли, «в любое время после 1919 года можно было создать практически действующую электронную счетную машину». Дата 1919 год названа потому, что в 1918 году М. Бонч-Бруевич и независимо от него У. Икклс и Ф. Джордан в 1919 году изобретают триггер, то есть один из возможных элементов памяти на электронных лампах.
Окончательный ответ на наш второй вопрос таков. Действующая ЭВМ могла быть создана в любое время начиная с 1919 года (вероятно, на несколько лет раньше или на несколько лет позже). Она не была создана потому, что в те времена отсутствовала насущная потребность в таких машинах. Что же касается триггера, то для вычислительной техники появление его не было совершенно обязательным. Это следует хотя бы из того простого факта, что конструировались и успешно работали, например, ЭВМ на феррит-диодных ячейках, не содержавшие ни единого триггера и вообще ни одной электронной лампы.
ЭВМ в нашей стране
Как начинала развиваться электронная вычислительная техника в Советском Союзе? Самые первые работы в этой области можно связать по меньшей мере с именами И. Брука, Б. Рамеева и С. Лебедева. Предварительное знакомство с Баширом Искандаровичем Рамеевым состоялось до того, как мы увидели его лично. Во время работы во Всесоюзном научно-исследовательском институте звукозаписи, точнее, в 1946 году многие научные споры между сотрудниками заканчивались тем, что кто-то бежал звонить Рамееву. Если он возвращался с возгласом: «Башир сказал» или «Башир так считает», споры автоматически прекращались. Авторитет этого совсем еще молодого в то время ученого был непререкаем.
Личное знакомство с Б. Рамеевым состоялось весной 1950 года, когда судьба свела нас под одной крышей. Невысокого роста, черноволосый, с ясно выраженным монголоидным типом лица и негромким голосом — для описания его облика трудно найти какой-либо другой эпитет, кроме слов «интеллигентный», «профессорский». Авторитет Б. Рамеева распространялся не только на научные вопросы. Одному из авторов довелось в то время быть профоргом отдела, и это была истинная мука. Например, сообщение о том, что первое место в социалистическом соревновании присуждено не лаборатории Б. Рамеева, встречалось его сотрудниками в штыки.
С 1947 по декабрь 1949 года Б. Рамеев работал в Энергетическом институте АН СССР имени Г. М. Кржижановского в лаборатории, возглавлявшейся тогда И. Бруком. Ими совместно и был разработан проект универсальной электронной вычислительной машины. Авторское свидетельство на ЭВМ И. Брук и Б. Рамеев получили в августе 1948 года. Сейчас этот проект ЭВМ хранится в Музее Октябрьской революции в Ленинграде.
С. Лебедев (1902–1974) с 1928 по 1946 год работал в Москве во Всесоюзном электротехническом институте. В 1945 году он стал действительным членом АН УССР и переехал в Киев, где с 1946 по 1951 год был директором Института электротехники АН УССР. Бурное развитие энергетики и в первую очередь создание энергетических колец, приведшее в конечном итоге к образованию Единой энергетической системы страны, потребовало сложнейших математических расчетов, которые не могли быть выполнены вручную. Это обстоятельство и побудило С. Лебедева направить свои интересы в сторону электронной вычислительной техники. Появление в Киеве проекта малой электронной счетной машины (МЭСМ) датируется 1948 годом. В конце 1951 года с помощью МЭСМ были решены многие важные задачи, в том числе расчет устойчивости магистральной линии электропередачи Куйбышев — Москва.
Лично с Сергеем Алексеевичем Лебедевым мы познакомились в конце 1950 года. Невысокого роста, худощавый, очень подвижный, он поражал своей поистине невероятной трудоспособностью. В доме Лебедевых, в большой профессорской квартире в Киеве, было уютно и весело. Среди гостей, в большинстве музыкантов, художников, артистов, можно было встретить и известных эстрадных артистов Тимошенко и Березина. Конечно, непременно там были и ученые, но они как-то тушевались на «артистическом» фоне. Они, но не сам С. Лебедев. Обыкновенно он приезжал домой из института, где с группой сотрудников разрабатывал проект большой электронной счетной машины (БЭСМ) ближе к полуночи. По словам жены, «он всегда обедал завтра». Никаких признаков усталости — буквально с порога Сергей Алексеевич окунался в атмосферу веселья, на равных участвовал в разыгрывавшихся небольших сценках, шутках, музыкальных номерах. Проведя таким образом около часа, он уходил в кабинет, говоря, что надо еще немного поработать.
Можно ли на основании всего сказанного датировать появление электронной вычислительной техники в Советском Союзе 1948-м годом? И да и нет. Юридически — да, поскольку именно в это время появились первые авторские свидетельства на проекты ЭВМ. И все же, наверное, нет. Во-первых, потому, что идеи создания ЭВМ, бесспорно, появились у всех перечисленных ученых раньше. По некоторым данным, к примеру, И. Брук начал работать в этом направлении еще до Великой Отечественной войны. Пауза в развитии ЭВМ до 1948 года объяснялась главным образом тем, что, как показала жизнь, для создания промышленных образцов ЭВМ требуются гораздо большие усилия, чем те, которые могли быть реализованы относительно небольшими коллективами, находившимися в распоряжении И. Брука и С. Лебедева.
Такая ситуация чрезвычайно характерна для науки и техники XX века. Обычно автором некоторого изделия новой техники принято считать того или тех, кто впервые высказал основную идею. При практической реализации эта идея подчас буквально тонет в огромном количестве частных инженерных проблем, может быть, и не новых, но требующих больших усилий и больших затрат для своего разрешения. Не случайно многие идеи остаются нереализованными из-за невозможности преодолеть трудности, на первый взгляд кажущиеся второстепенными.
Забегая вперед, скажем, что в области вычислительной техники, или, говоря с современных позиций, информатики, самые большие трудности встретились при создании не самих ЭВМ, а периферийных устройств, решавших, казалось бы, второстепенную задачу — обмен информацией между ЭВМ и внешней средой. К слову сказать, и поныне эта задача не нашла вполне удовлетворительного решения.
Как всегда, судьба ЭВМ в нашей стране решилась, исходя из реальных потребностей. Во второй половине 40-х годов стало ясно, что существуют по меньшей мере две группы задач: одна, связанная с ядерной физикой, вторая — с баллистическими ракетами или, говоря более широко, с космической техникой. Эти задачи не могли быть решены без мощных (конечно, по тогдашним оценкам) быстродействующих ЭВМ. Поэтому весной 1949 года по постановлению Советского правительства на Институт электротехники АН УССР, возглавляемый С. Лебедевым, возлагалась задача разработки ЭВМ, отвечающей тогдашним требованиям.
В то же время второе постановление Советского правительства предусматривало создание на базе Московского завода счетно-аналитических машин (завод САМ), выпускавшего электромеханические табуляторы, двух новых организаций: Научно-исследовательского института счетного машиностроения (НИИсчетмаш) и Специального конструкторского бюро. Среди этих организаций заводу САМ отводилась роль опытного производства, а на весь комплекс была возложена задача разработки и создания релейной (да-да, не удивляйтесь, релейной) вычислительной машины.
Един в трех лицах
Директором и завода, и НИИсчетмаша, и СКБ был назначен один и тот же человек — М. Лесечко (1909–1984). Решение о назначении единого в трех лицах директора оказалось исключительно правильным. Тем самым полностью исключались столь часто поминаемые в настоящее время недобрым словом межведомственные барьеры. Завод, институт и конструкторское бюро работали слаженно, как единый организм, что не мешало каждой организации сохранять достаточную степень автономии. Возник даже такой анекдотичный случай, когда в связи с какой-то финансовой неурядицей М. Лесечко пришлось самому на себя подавать в суд.
Два года, проработанные в СКВ, вспоминаются как самые плодотворные и интересные в нашей жизни. Михаил Авксентьевич Лесечко был руководителем самого высокого класса. Будучи директором в трех лицах, он имел три кабинета и соответственно трех секретарш. Однако такого понятия, как «попасть на прием» или «ожидать приема», у нас просто не существовало. Любой сотрудник, от начальника отдела до лаборанта, просто открывал дверь и входил в тот кабинет, где в данный момент находился директор. Между прочим, пришедший однажды не по делу или с делом незначительным, во второй раз подобных попыток уже не предпринимал. Как добивался этого Михаил Авксентьевич, неизвестно. Он никогда не повышал голоса и не устраивал так называемых разносов. Но факт остается фактом — все обстояло именно так.
Широкоплечий, огромного роста, со слегка наклоненной, как у большинства высоких людей, головой, М. Лесечко представлял собой сочетание высочайшей требовательности и доброжелательности. Когда писался эскизный проект ЭВМ «Стрела», Михаил Авксентьевич не пропускал ни одной синтаксической ошибки. А ведь проект состоял из нескольких толстенных томов и каждому из составителей в кратчайшие сроки (кажется, две или три недели) приходилось писать порядка ста машинописных страниц. Если текст излагался суконным языком, Михаил Авксентьевич требовал все переписать заново, подчас по нескольку раз.
Главная особенность М. Лесечко — громадная, совершенно необъяснимая для нас тогда, да, верно, и теперь, научная и инженерная интуиция. Подтверждением тому служит тот факт, что почти сразу после назначения директором он взял на себя смелость нарушить постановление и заняться разработкой не релейной, а электронной вычислительной машины, в последующем получившей название «Стрела». Не ошибался он и в подборе кадров. В 1949 году он пригласил на работу Б. Рамеева, возглавившего лабораторию арифметических устройств, Г. Прокудаева, возглавившего лабораторию оперативной памяти. Оба имели к тому времени достаточно большой опыт работы в своей области.
Разработка оперативной памяти и на электронно-лучевых трубках со вторичной эмиссией, проводилась в СКВ впервые в мире. По словам ее разработчика Г. Прокудаева, окончательную уверенность в правильности выбранного направления — а такая уверенность была совершенно необходима! — он получил только после того, как это направление получило одобрение на совещании у М. Лесечко. То же самое может утверждать один из авторов этой книги, занимавшийся в описываемое время в СКБ внешней памятью на магнитных носителях.
Выдающиеся качества М. Лесечко как руководителя нашли свое признание. Сразу после сдачи промышленного образца ЭВМ «Стрела» Государственной комиссии весной 1954 года М. Лесечко стал министром СССР, затем заместителем председателя Госплана СССР (1958 год) и наконец заместителем Председателя Совета Министров СССР.
Вспоминая СКВ, нельзя не упомянуть начальника отдела цифровых ЭВМ Юрия Яковлевича Базилевского (1909–1983). Блестящий руководитель, вскоре после окончания работ над «Стрелой» Ю. Базилевский был назначен заместителем министра приборостроения, средств автоматики и систем управления.
Обращаясь памятью к тем годам, а ведь прошло совсем немного времени, чуть больше тридцати лет, трудно сказать, кто был автором или, если угодно, лидером разработки ЭВМ «Стрела». Слов нет, такие специалисты, как Б. Рамеев и Г. Прокудаев, во всем, что касалось решаемых ими конкретных задач, обладали гораздо большими знаниями по сравнению с руководителями М. Лесечко и Ю. Базилевским. При всем при том без Ю. Базилевского «Стрела» вряд ли получила бы свое конструктивное завершение, а без М. Лесечко могла бы не состояться вообще.
Для характеристики отношений в коллективе, а состоял он из нескольких сотен человек, характерен такой эпизод. Когда стало ясно, что, кроме оперативной памяти на электронно-лучевых трубках, понадобится также внешняя память на магнитных носителях (магнитном барабане и магнитной ленте), Г. Прокудаев, ведавший всеми вопросами памяти, собрал группу сотрудников и предложил им заняться решением новой задачи. Объяснив суть проблемы, он предложил всем совместно подумать и распределить темы: кому заниматься барабаном, кому — лентой, кому — магнитными головками, кому — механикой, а начальника лаборатории выбрать себе через некоторое время, когда мы приработаемся друг к другу и сама жизнь выдвинет лидера. Этот факт характеризует не столько личные качества Г. Прокудаева, сколько общий стиль, царивший в коллективе. Тот же стиль в известной степени проявлялся и в отношениях с другими организациями.
29 июня 1948 года в системе АН СССР был создан Институт точной механики и вычислительной техники, возглавлявшийся академиком Н. Бруевичем. Вначале институт занимался разработкой электромеханических вычислителей непрерывного действия, однако в 1950 году решением президиума АН СССР было утверждено новое основное направление работы института. Директором института стал академик М. Лаврентьев, а заведующим одной из лабораторий С. Лебедев. Характерное для тех времен явление: С. Лебедев, постоянно живший в Киеве и до 1951 года остававшийся директором Института электротехники АН УССР, одновременно с этим заведовал лабораторией в Москве, преподавал в Московском энергетическом институте и еще состоял научным руководителем так называемого двенадцатого отдела СКВ.
В этой связи возникает интересный вопрос. Были ли элементы соперничества между создателями вычислительной техники и — в более крупном масштабе — между АН СССР (там же работал И. Брук) и Министерством машиностроения и приборостроения СССР, в ведении которого находились завод САМ, НИИсчетмаш и СКБ? К сожалению, многие современные авторы часто пытаются вручить пальму первенства одному человеку или одной организации. Но так поступать, нам кажется, неправомочно. Что говорить, элементы соперничества были. Более того, во время наездов в Киев, а таких наездов было несколько, один из авторов этой книги делился с Сергеем Алексеевичем своими мыслями, идеями, достижениями и в то же время, что греха таить, кое-что, как говорится, наматывал на ус. Так же вели себя и сотрудники Института электротехники АН УССР. Но говоря по большому счету и к чести наших тогдашних руководителей, следует признать, что наша страна оказалась обладательницей вполне современной по тем временам и промышленно выпускаемой вычислительной техники, причем произошло это в рекордно короткий срок — с весны 1950-го до весны 1954 года, — только благодаря совместным усилиям всех участвующих в этом процессе коллективов.
Если говорить о разделении труда, то с современных позиций оно, по всей вероятности, должно выглядеть так. Основной труд по созданию производственной базы для дальнейшего промышленного выпуска средств электронной вычислительной техники, безусловно, был выполнен комплексом: СКБ, НИИсчетмаш, завод САМ. Такую задачу — создание не ЭВМ вообще, а промышленного, серийного образца ЭВМ, ставил перед всеми нами М. Лесечко. Задача была не из легких. С первых же шагов все мы, люди, обладавшие к тому времени кое-каким опытом всевозможных разработок, быстро убедились в одной, совсем неочевидной тогда истине. Из того, что некое устройство прекрасно работает, изготовленное, скажем, в пяти экземплярах, ни в коей мере не следует, что то же самое устройство будет работать вообще, если его сделать в ста экземплярах и попытаться все сто заставить работать совместно.
Подобные обстоятельства существенно сказались на разработке «Стрелы». В силу производственной целесообразности мы были вынуждены ориентироваться на в известной степени устаревшие, но зато проверенные жизнью элементы. В первую очередь это относится к электронным лампам. В разработке «Стрелы» использовались лампы старого типа, более громоздкие и более энергоемкие. В то же время С. Лебедев, в меньшей степени связанный с требованиями производства, мог позволить себе проводить разработку на более современных пальчиковых электронных лампах. Результатом этого стал тот факт, что ЭВМ БЭСМ к моменту ее выпуска оказалась самой быстродействующей в Европе — восемь тысяч операций в секунду.
Как строили баню
Вспоминается такой забавный случай. Разработка отдельных устройств «Стрелы» велась разными лабораториями, и лаборатории обменивались между собой только самой необходимой информацией. М. Лесечко уделял большое внимание ее внешнему виду. Состояла «Стрела» из отдельных металлических стоек высотой около двух метров. Стойки выстраивались друг возле друга покоем, образуя большую букву П, занимавшую зал площадью около ста квадратных метров. С лицевой стороны стоек были дверцы с зеркальными стеклами. Вся установка смотрелась внушительно и очень красиво.
«Стрела» относилась к первому поколению ЭВМ и, как известно, была выполнена на электронных лампах. Лампы со светящимися внутри подобно раскаленным уголькам красными точками накала выглядели солидно и таинственно. В соответствии со сложившимися тогда в приборостроении традициями, лампы располагались всегда, особенно если их было много, на лицевой стороне аппаратуры.
Так поступили и разработчики «Стрелы». Но не все. Исключение, составила лаборатория, конструировавшая устройство, заведующее логикой. В этом устройстве оказалось сравнительно мало ламп, зато с противоположной стороны стоек располагалось много проводников, шин, выкрашенных в яркие цвета и создававших красивый геометрический узор. Правильность расположения проводников соответствовала стройности, логических конструкций. После основательных размышлений разработчики устройства — оно называлось арифметико-логическим — решили сделать лицевой не ту сторону, где лампы, а ту, где проводники.
Вот наконец все стойки выстроились в машинном зале. Каково же было удивление присутствующих, когда оказалось, что, у всех с лицевой стороны — лампы, и лишь одна стойка как бы вывернута наизнанку. Посмеялись и, посмеявшись, пришли к единодушному выводу, что так нельзя. Стойки лучше привести в соответствие друг с другом. Но что надо перевернуть? Каждый из авторов считал себя правым. Начался спор, но никаких решающих аргументов ни у той, ни у другой стороны не оказалось… Ситуация была явно нелепой, смешной, несуразной и при всем том безвыходной. А до срока сдачи «Стрелы» Государственной комиссии оставались считанные дни, чтобы не сказать часы.
Спор, который сначала бурлил между инженерами и руководителями групп, перекинулся на уровень начальников отделов, а затем — заместителей директора. Не найдя своего разрешения и на этом уровне, спор перекинулся в министерство. Как всегда бывает в подобных случаях, нашлись сторонники и того и другого варианта. И вот в один незабываемый вечер, точнее, утро, поскольку время было далеко за полночь, в машинном зале собрался весь генералитет во главе с тогдашним министром машиностроения и приборостроения П. Паршиным. Разговор шел все о том же: поворачивать или не поворачивать, и если поворачивать, то какие стойки?
В это время несколько инженеров и техников доделывали последние штрихи в конструкции «Стрелы». Признаться честно, когда лежишь на спине под стойкой и держишь над собой паяльник, с жала которого капли расплавленного олова норовят упасть тебе за шиворот, споры над головой настроения не улучшают. Поэтому один из нас не выдержал и, вылезши из-под стойки, протолкнулся в середину генеральской группы и сказал, что хочет рассказать старую побасенку. Бывшие ему ответом взгляды выражали все, что угодно, кроме одобрения. Но решившись, следовало довести дело до конца, и он продолжал:
— Жители одной деревни задумали сообща построить баню. Дружно строили почти до конца и в самый последний момент заспорили, чуть не передрались. Спор шел о том, как поступать с досками для полков: строгать или не строгать? Если строгать, доски будут скользкими, а человек к тому же в мыле — соскользнет, упадет, ногу сломает. Если полки не строгать, голому человеку недолго и занозу получить. И так плохо, и так нехорошо! Что делать? Спорили-спорили, ни до чего не договорились, пошли к деду, старому и умному. «Вот дураки, — сказал дед, когда разобрался, в чем дело. — Доски, конечно, надо строгать, а потом класть строганой стороной вниз».
Несколько мгновений недоуменного молчания, и раздался дружный хохот. Смеялись все. Не прошло и пяти минут, как злополучная логическая стойка оказалась перевернутой. Отсюда видно, что и логику можно перевернуть.
От БЭСМ и далее
Институт точной механики и вычислительной техники АН СССР с 1955 года фактически стал в СССР монополистом в области программирования, или, как сейчас говорят, систем математического обеспечения. Создание таких систем, которые и были реализованы на ЭВМ «Стрела» и БЭСМ, связано с именами члена-корреспондента АН СССР Л. Люстерника, М. Шура-Бура и других. Что касается БЭСМ, то ее разработку, без сомнения, следует считать начатой в Киеве. Постепенно центр тяжести всех работ перемещался в Москву. Процесс этот закончился в 1953 году, когда С. Лебедев стал Действительным членом АН СССР и был назначен директором Института точной механики и вычислительной техники. Эту должность он исполнял до 1973 года. Серийное производство машины БЭСМ было организовано на том же заводе САМ.
Иначе сложилась судьба коллектива, работавшего под руководством И. Брука. Этот коллектив не принимал непосредственного участия в разработке «Стрелы» и БЭСМ. Однако работы здесь не прекращались и лаборатория И. Брука со временем даже выделилась в самостоятельную организацию. И снова, чтобы правильно понять происходившее, нужно хорошо представлять себе, что всякая крупная научная разработка всегда отвечает насущным потребностям общества.
Как в случае «Стрелы», так и в случае БЭСМ разрабатывались мощные, по тогдашним меркам, ЭВМ. Это отвечало положению вещей, но вместе с тем был нарушен естественный порядок разработок от более простого к более сложному. Мощные ЭВМ были нужны лишь для решения относительно ограниченного (опять-таки по тем временам) круга задач. Массовый потребитель нуждался в ЭВМ средней мощности. Именно такую задачу поставил перед своим коллективом И. Брук. В результате к 1956 году была готова ЭВМ М-3. Эта машина содержала всего 770 электронных ламп по сравнению с 4 тысячами БЭСМ и 8 тысячами у «Стрелы». В качестве оперативной памяти использовался магнитный барабан, что также существенно упростило конструкцию.
Машина М-3 послужила прообразом для ряда ЭВМ «Минск», выпускавшихся большими сериями и сыгравших значительную роль в народном хозяйстве нашей страны.
То, что самой распространенной должна стать машина средней мощности, было ясно и Б. Рамееву. После освоения промышленного производства «Стрелы» он переехал в Пензу, где возглавил выпуск ряда ЭВМ «Урал». Первая из них, «Урал-1», содержала 800 электронных ламп и память на магнитном барабане. Затем последовали «Урал-2» и «Урал-4». В начале 1963 года независимо от американской фирмы ИБМ Б. Рамеев разработал основные концепции того, что сегодня называют ЭВМ третьего поколения. Эти концепции были положены в основу новой серии «Уралов»: «Урал-11», «Урал-14», «Урал-16». В течение 60-х годов «Уралы» и «Мински» представляли собой основной тип ЭВМ в нашей стране. Их было выпущено относительно много, и они заложили основу современной информационной индустрии.
Одновременно на Московском заводе САМ, а затем в Рязани выпускались БЭСМ, также в нескольких модификациях, и М-20. Обе эти мощные машины изготовлялись относительно небольшими сериями и предназначались главным образом для решения научных задач.
В конце 60-х и начале 70-х годов наша промышленность перешла на выпуск ЭВМ третьего поколения, получивших название Единой серии (ЕС). Для этой цели был создан Научно-исследовательский центр электронной вычислительной техники (НИЦЭВТ), объединивший большинство организаций, занимавшихся разработкой и выпуском ЭВМ, и периферийного оборудования не только в нашей стране, но и в странах — членах СЭВ. Первым генеральным директором НИЦЭВТа был назначен А. Ларионов, ученик С. Лебедева по Энергетическому институту и сотрудник М. Лесечко по СКБ.
Когда совершались революции?
Заканчивая краткий исторический экскурс, попытаемся ответить на такой вопрос. Можно ли указать на всем пути развития вычислительной техники, от первых попыток Паскаля и до наших дней, какие-либо узловые, революционные моменты?
Вряд ли справедливо будет считать таким моментом появление электронных вычислительных машин, то есть переход от реле к электронным лампам. Если бы не насущная потребность, возникшая в середине 40-х годов и объяснявшаяся в первую очередь необходимостью решения оборонных задач, можно было бы вообще не строить ЭВМ на электронных лампах, а подождать появления транзисторов, которые, к слову сказать, к тому времени уже были изобретены. Возможно, кое-кому подобная мысль покажется еретической, но ведь именно так поступили специалисты в технике связи. Автоматические телефонные станции продолжали строить на электромеханических реле, и только в самые последние годы начался переход к электронным АТС. То же самое имело место и в некоторых других отраслях, например в автоматике и телемеханике железнодорожного транспорта.
Если говорить о революционных моментах, то, на наш взгляд, вычислительная техника пережила три такие революции. Первая относится к середине XIX века, когда в проект Бэббиджа были внесены некоторое идеи, реализованные лишь в XX веке. К числу этих идей следует отнести конструктивное разделение арифметического и запоминающего устройства; использование памяти большой емкости (в проекте Бэббиджа рассматривалась память емкостью тысяча чисел по 50 десятичных разрядов); работа с адресами и кодами команд; применение перфокарт для ввода и вывода данных и создание библиотеки программ.
Наиболее фундаментальным достижением Бэббиджа было изобретение команды условного перехода. Команда условного перехода позволяет на каждом шаге вычислений выбирать то или иное продолжение программы в зависимости от результата, полученного на предыдущем шаге. Команда условного перехода позволила полностью автоматизировать процесс вычислений или, рассуждая в кибернетических терминах, осуществить обратную связь между арифметическим устройством и устройством управления ЭВМ.
Второй революционный момент относится к 1946 году, когда американский ученый Джон фон Нейман на основе критического анализа конструкции ЭВМ ЭНИАК предложил новые идеи в организации ЭВМ, главным образом концепцию программы, хранимой в оперативном запоминающем устройстве.
Сегодня ЭВМ при решении одной задачи выполняет миллиарды отдельных операций. Каждая реализуется по одной команде, а последовательность команд составляет программу. Если бы количество команд в программе равнялось количеству фактически выполняемых операций, то есть измерялось миллиардами, программы оказались бы практически нереализуемыми. Создание ЭВМ потеряло бы всякий смысл.
Благодаря концепции фон Неймана над каждой командой, хранимой в оперативной памяти, можно выполнять такие же операции, как и над числами. Одна и та же команда выполняется автоматически много раз подряд, но перед каждым очередным выполнением она частично изменяется (модифицируется). Только в таких условиях проблема построения программы стала осуществимой.
Первая ЭВМ с хранимой программой была создана в Великобритании в 1949 году (машина ЭДСАК, конструктор, М. Уилкс). В США серийный выпуск ЭВМ с хранимой программой (машина УНИВАК, проект Дж. Эккерта и Дж. Маучли) начался в 1951 году. Наши «Стрела» и БЭСМ, естественно, также относились к классу ЭВМ с хранимой программой. Таким образом, разрыв между отечественной вычислительной техникой, которая в своем начальном периоде развивалась совершенно независимо, и вычислительной техникой Великобритании и США составлял в те времена неполных три года. В отдельных решениях, например в конструировании оперативных запоминающих устройств на электронно-лучевых трубках, мы опережали ведущие западные страны.
Третьим революционным моментом, в истории вычислительной техники можно считать появление и развитие технологии больших интегральных схем. Начиная с этого момента у ЭВМ появилась способность к самовоспроизводству. Нелишне напомнить здесь, что информатика пронизывает все стороны нашей жизни и деятельности, а значит, представляет собой массовое явление. Способность больших интегральных схем к самовоспроизводству во многом определяет именно массовость технических средств информатики.
Что такое ЭВМ?
Любая современная ЭВМ состоит из двух основных четко разделенных комплексов: технических средств и программного (правильнее бы сказать информационного) обеспечения. В этом смысле в ЭВМ используются те же организационные принципы, что и в живой клетке или промышленном предприятии. Все это, очевидно, так и должно быть. Интересно, что на первых порах существования ЭВМ программному обеспечению уделялось недостаточно внимания. Это повлекло за собой много неприятностей и, в частности, существенно задержало развитие вычислительной техники. Почему так получилось? Причина была вот в чем.
Технические средства, или, в просторечии, «железо» (англичане и американцы до сих пор говорят «hardware», что в дословном переводе означает «скобяной товар»), есть нечто весомое, ощутимое, то, что смело можно назвать продукцией, за что можно платить деньги. А что такое информация? К пониманию того, что информация также представляет собой физическую сущность, продукцию, производимую в результате выполнения технологических процессов, человечество пришло в самые последние годы. Отсюда и недооценка роли информационного обеспечения. К счастью, все это в прошлом.
Сейчас наблюдается тенденция передачи техническим средствам части (подчас большой) функций программного обеспечения. Значит, количество информации, содержащейся в ЭВМ, уменьшается? Наоборот, оно неуклонно увеличивается по мере совершенствования и развития самих ЭВМ. Просто сказывается естественный процесс концентрации информации, о котором мы еще будем иметь повод поговорить подробнее.
Итак, современная ЭВМ — совокупность комплексов технических средств и программного обеспечения. Комплекс технических средств, в свою очередь, подразделяется на три системы: систему памяти, систему, занимающуюся собственно переработкой информации, и систему, обеспечивающую обмен информацией с внешней средой. Схематически структура ЭВМ представлена на рисунке .
Рис. 4.
Система памяти — важнейшая. В памяти хранится как информация, подлежащая переработке, так и информация, управляющая самой переработкой.
Количество информации, с которой имеет дело ЭВМ, огромное. Сегодня самой употребляемой единицей количества информации применительно к ЭВМ стал так называемый байт. Байт — это группа из восьми двоичных символов (двоичный символ принимает одно из двух возможных значений, скажем, либо 0, либо 1). Следовательно, каждый байт представляет собой результат выбора одной из 256 возможностей. Количество информации, заключенной в байте, равно соответственно 8 бит.
Во второй беседе мы стремились показать, как буквам латинского алфавита поставить в соответствие группы из пяти двоичных символов. Количество возможностей при этом ограничивалось 32. Если использовать не только строчные, но и прописные буквы, количество возможностей удваивается. Потребуется группа из шести двоичных символов (64 возможности): XXXXXX (где X может быть либо 0, либо 1).
Желание оперировать, кроме букв алфавита, арабскими цифрами, служебными знаками, в том числе знаками, обозначающими математические операции, и часто встречающимися в научной литературе греческими буквами, требует удвоить это количество. Итого семь двоичных символов, то есть выбор одной из 128 возможностей. Для сравнения укажем, что современная пишущая машинка японской фирмы «Брозер» печатает на бумаге 96 различных знаков.
Восьмой двоичный символ байта используется для контроля. Как конкретно это делается, мы опишем дальше. А пока ясно, что байт соответствует знаку некоторого расширенного алфавита. Условно назовем его алфавитом научно-технической литературы.
Вернемся к памяти. Объем памяти даже небольших ЭВМ, которые все еще принято называть микроЭВМ (хотя оснований для использования приставки «микро» все меньше и не потому, что машины становятся больше, а, наоборот, относительно крупные машины постепенно отмирают, как это в свое время произошло с динозаврами), измеряется сегодня миллиардами байт, или гигабайтами, сокращенно Гбайт.
Здесь опять надо сделать оговорку. Часть памяти ЭВМ реализуется на магнитных дисках и магнитных лентах. Магнитный диск или катушка с магнитной лентой снимается с соответствующего устройства и хранится в шкафу. В этом смысле объем памяти ЭВМ ограничивается только вместимостью шкафа. Но это не все, ЭВМ с каждым днем все чаще становится членом большого коллектива. Их соединяют между собой в разветвленные сети, или подсоединяют к телефонным сетям, обеспечивая доступ к разного рода хранилищам информации. Видимо, в недалеком будущем любая ЭВМ получит доступ ко всей накопленной информации в национальных или даже глобальных масштабах.
Тем не менее нужно чем-то ограничиться. Поэтому будем считать памятью конкретной ЭВМ лишь ту часть памяти, к которой можно обратиться непосредственно без замены диска или катушки с лентой или без обращения в центральное хранилище по каналу связи. Объем такой памяти измеряется гигабайтами.
Рис. 5.
Для удобства обращения к столь большим объемам требуется систематизация информации. Поэтому память современной ЭВМ, как правило, имеет иерархическую структуру (рис. ). Она напоминает своеобразную пирамиду. У острия пирамиды располагается часть памяти относительно небольшого объема и в то же время наиболее доступная — обращение к ней требует минимальных затрат времени. По этой причине часть памяти, расположенную у острия пирамиды, обычно называют оперативной или даже сверхоперативной.
Несколько слов о терминологии. Устройства памяти ЭВМ называют запоминающими устройствами, сокращенно ЗУ. Для оперативной памяти используется общепринятое на сегодня сокращение ОЗУ, а для сверхоперативной памяти соответственно СОЗУ. В основании пирамиды расположены большие объемы информации, обычно не имеющие непосредственного доступа.
Важное значение имеют способы обращения к памяти. Оперативное и сверхоперативное запоминающие устройства, как правило, допускают обращение за одним-единственным байтом, хотя часто за один раз передаются большие порции информации, состоящие из нескольких байт. Наоборот, передача информации внутри памяти между разными иерархическими уровнями производится крупными информационными блоками по нескольку сотен или тысяч байт. Здесь напрашивается аналогия с существующими системами материально-технического снабжения. На пути от производителя к потребителю товары почти всегда минуют целую последовательность складов. Эффективность обращения к памяти, иначе говоря, количество труда, которое затрачивается на то, чтобы найти и извлечь нужную порцию информации, определяется степенью ее организации.
Вторая важная система ЭВМ осуществляет собственно переработку информации. В связи с этой системой существует крупная, до сих пор до конца не решенная проблема — соотношение между степенью универсальности и степенью специализации.
Нить поколений
К настоящему времени сменилось уже четыре поколения ЭВМ, и сегодня мы являемся свидетелями зарождения пятого поколения. Какие характерные черты определяют каждое из поколений? Элементная база, архитектура технических средств, возможности и принцип организации программного обеспечения. ЭВМ первого поколения строились на вакуумных электронных лампах. Архитектура простейшая: одно устройство памяти, одно так называемое арифметическое устройство и несколько примитивных устройств, предназначенных для ввода и вывода информации.
Несмотря на то что ЭВМ первого поколения считались универсальными (что отражалось, в частности, в названиях некоторых из них, например ЮНИВАК), они были узко специализированы на решении математических, а еще точнее, на решении задач вычислительной математики. Соответственно система переработки информации ограничивалась выполнением двух или четырех арифметических действий и некоторых логических операций, например операций сдвига числа вправо или влево. Системное программное обеспечение у ЭВМ первого поколения практически отсутствовало.
Для ЭВМ второго поколения, элементной базой которых стали полупроводниковые приборы — диоды и транзисторы, характерно появление зачатков системного программного обеспечения. Появились алгоритмические языки, существенно облегчившие общение ЭВМ с пользователем, и автоматические средства перевода с этих языков на внутренний язык машины. Начали создаваться и заноситься в память ЭВМ библиотеки стандартных программ, такие, к примеру, как программа решения систем линейных алгебраических уравнений, программа сортировки массивов данных (простейший пример — расположение списка фамилий по алфавиту) и т. п. Все это стало возможным благодаря включению в архитектуру ЭВМ устройств массовой памяти на магнитных дисках с относительно высоким быстродействием.
Что касается системы переработки информации, то она по-прежнему ориентировалась в основном на выполнение четырех арифметических действий и называлась арифметически-логическим устройством (АЛУ).
ЭВМ второго поколения уже достаточно широко использовались для решения задач обработки данных. Самый типичный пример — организация всевозможных каталогов, организация бухгалтерского учета или учета наличия товаров на складе, различных видов отчетности. Несмотря на это, основной и чуть ли не единственной профессией ЭВМ все еще считалось решение задач вычислительной математики.
Это весьма примечательное обстоятельство характерно для переживаемой нами второй научно-технической революции. Во многих областях наблюдается такое положение, когда возможности создаваемых человеком научных методов и технических средств значительно опережают осознание обществом этих возможностей. Так, в частности, применительно к ЭВМ второго поколения начисто отвергалась их способность решать любые задачи, относившиеся тогда к классу интеллектуальных. И это невзирая на то, что ЭВМ второго поколения уверенно обыгрывала в шашки своего создателя.
Переход от второго поколения к третьему сопровождался более радикальными переменами, чем при переходе от первого поколения ко второму. Использование в качестве элементной базы интегральных схем малой степени интеграции привело к тому, что габариты ЭВМ, а главное, количество потребляемой энергии, уменьшились по сравнению с первым поколением в сотни и тысячи раз.
Пожалуй, никакая другая отрасль техники не испытывала подобных резких изменений параметров. Например, скорость автомобиля за время его существования возросла не более чем в двадцать раз, а потребление горючего на сто километров пробега уменьшилось всего в несколько раз. Основные характеристики ЭВМ, такие, как быстродействие и объем памяти, при переходе от первого поколения к третьему улучшились в сотни, а где-то и в тысячи раз.
Существенные изменения претерпела и архитектура. В ЭВМ третьего поколения впервые использовалась концепция канала, позволяющего соединять между собой, а также с внешней средой различные сочетания устройств. Благодаря этому пользователь получил возможность иметь в своем распоряжении в наибольшей степени устраивавшую его конфигурацию технических средств. Эта конфигурация могла наращиваться по мере возрастания требований, если такое имело место.
Интересное сочетание, казалось бы, противоречивых требований к универсальности и специализации! Что можно заключить непосредственно из сказанного?
С одной стороны, архитектура ЭВМ третьего поколения допускала специализацию конфигураций по отношению к конкретным потребностям данного пользователя. С другой стороны, архитектура обладала высокой степенью универсальности, поскольку изменение конфигурации не сопровождалось никакими другими действиями, кроме приобретения и подключения к каналам соответствующих устройств.
На наш взгляд, самым значительным было то, что в ЭВМ третьего поколения впервые использовался принцип микропрограммирования. На этом стоит остановиться подробнее.
К моменту появления ЭВМ третьего поколения, то есть примерно к началу 60-х годов, стало совершенно ясно, что задачи вычислительной математики составляют относительно небольшую часть от общей массы задач, решаемых ЭВМ. Более того, удельный вес таких задач явно проявляет четкую тенденцию к уменьшению. Это повлекло за собой пересмотр номенклатуры операций, выполняемых системой обработки информации. Но каким должен быть перечень операций? Оказалось, вопрос этот весьма непрост.
Три операции — И, ИЛИ, НЕ — Булевой алгебры (ее называют также алгеброй логики) обладают замечательным свойством функциональной полноты. Что это значит? Комбинируя по-разному эти операции и составляя их последовательности, можно организовать любой, без каких-либо ограничений, процесс переработки информации, будь то решение математических задач, доказательство теоремы, управление производством, игра в шахматы или сочинение стихов. Следовательно, устройство, способное выполнять три операции Булевой алгебры, является универсальным (причем наиболее универсальным из всех возможных) устройством для переработки информации. Но…
Беда в том, что наличие такого устройства потребовало бы отдельных указаний на выполнение каждой операции И, ИЛИ, НЕ. Объемы последовательностей указаний возросли бы до необозримых размеров. Поэтому в машинах первого и второго поколений операции Булевой алгебры объединялись в относительно большие группы, позволяющие сразу, на основании одного-единственного указания, или, как говорят специалисты по вычислительной технике, по одной команде выполнять, скажем, операцию сложения двух чисел.
Забавная подробность. Устройство, способное выполнять хотя бы сложение и вычитание, вообще говоря, может, довольно многое. Например, с его помощью можно осуществить часто встречающуюся в задачах обработки данных процедуру сортировки. Достаточно объектам списка, подлежащего упорядочению, поставить в соответствие некоторые числа. Например, в простейшем случае упорядочения по алфавиту букву «а» обозначают числом 1, букву «б» — числом 2 и так далее, а затем вычитают одно слово из другого. Если разность положительная, то есть первому слову соответствует большее число, а второму меньшее, их надо поменять местами. Если разность отрицательная, последовательность этих двух слов списка сохраняется. Если разность равна нулю, то слова просто идентичны.
Согласитесь, что все это очень неудобно. Гораздо проще иметь одну операцию упорядочения, которая выполняла бы все описанное без предварительной подготовки. Снова возвращаемся к тому, с чего начали обсуждение. Чем больше перечень операций, тем сложнее сама система переработки информации и сложнее работа с ним, хотя бы потому, что надо постоянно помнить все возможности. Однако сокращение перечня операций делает ЭВМ более специализированной — удобной для меньшего числа потенциальных пользователей.
Какой же выход из подобной, в известном смысле парадоксальной ситуации? Выходом стал принцип микропрограммирования. Система переработки информации, сколь сложна бы она ни была, составляется в основном из элементов, способных выполнять простейшие операции Булевой алгебры. Кроме того, в состав системы входит постоянное запоминающее устройство (ПЗУ). Задача ПЗУ сводится к следующему. На его вход поступает команда, то есть указание выполнять некоторую, подчас сложную операцию, например перемножить два многозначных числа, упорядочить список, состоящий из данного количества элементов, отыскать в словаре русский эквивалент английского слова и т. п. В ответ на эту команду из ПЗУ извлекается последовательность сигналов. Они приводят в рабочее состояние нужную группу из общего числа логических элементов, а также выполняют заданные межсоединения этих элементов.
Иными словами, с помощью ПЗУ каждой команде ставится в соответствие требуемая комбинация операций Булевой алгебры. ПЗУ вместе с его содержимым можно заменять. Таким образом, пользователь способен не только подобрать для себя требуемую конфигурацию технических средств, но и иметь систему обработки данных, список операций которой в наибольшей степени отвечает его потребностям. Например, при слежении за траекториями межпланетных космических станций и корректировках этих траекторий довольно часто приходится переходить из одной системы координат в другую. Такой пересчет координат может выполняться в бортовой ЭВМ межпланетной станции в форме одной-единственной операции.
Принцип микропрограммирования, непрерывно совершенствуясь, вошел и в четвертое, и в пятое поколения.
Склады программ
Средства программного обеспечения ЭВМ третьего поколения разрослись до гигантских размеров. Развитие этих средств шло по трем основным направлениям.
Первое — создание библиотек. Стали говорить об ЭВМ, обученной вычислительной математике, или ЭВМ-бухгалтере. Более того, ЭВМ третьего поколения дали возможность поставить и успешно решать задачи созданий объединенных отраслевых и даже национальных фондов стандартных программ.
Второе направление связано с созданием сервисных средств, в число которых входят трансляторы с различных алгоритмических языков (общее число которых, заметим, к настоящему времени достигло нескольких тысяч), разнообразные редакторы и компоновщики программ, дающие возможность составить единую программу из фрагментов, написанных на разных языках разными людьми и даже в разных странах. Сюда же относятся программные средства организации общения ЭВМ с пользователем.
К третьему направлению относятся программные средства организации процесса обработки информации, которые до сих пор по инерции продолжают называть вычислительными. Так и подмывает поразмышлять о том, насколько быстро в наши дни развивается техника. Термин, родившийся каких-нибудь двадцать лет тому назад, сегодня становится архаизмом. Существенное значение в этой группе играют программные средства, обеспечивающие реализацию режима разделения времени, режима, обеспечивающего одновременное обращение к ЭВМ большого числа пользователей.
ЭВМ четвертого поколения строятся на основе больших интегральных схем (БИС). В них в полной мере используется принцип микропрограммирования и особого развития достигли средства программного обеспечения. Для ЭВМ этого поколения характерны многомашинные и многопроцессорные системы, содержащие несколько параллельно работающих систем обработки информации.
У ЭВМ четвертого поколения есть еще много примечательных отличительных особенностей, но всему свое время. Мы и без того слишком увлеклись проблемой преемственности поколений. Пора вспомнить, что разговор о поколениях начался с того, что, обсуждая свойства системы обработки информации, мы коснулись того исторического процесса, в котором формировались эти свойства.
Подведем итог. Противоречия между стремлением обеспечить каждому пользователю максимум удобств за счет специализации и стремлением сделать ЭВМ пригодной для наибольшего числа пользователей (которые могут обращаться к одной и той же ЭВМ в режиме разделения времени) за счет повышения степени универсальности нашли свое разрешение при использовании принципа микропрограммирования. Каждая конкретная система переработки информации характеризуется своим набором выполняемых операций, но наборы эти по желанию можно менять, заменяя ПЗУ вместе с его содержимым.
Лицом к лицу
Третья составная часть ЭВМ любого поколения (весьма примечательно, что смена поколений, сопровождавшаяся драматическими изменениями отдельных характеристик, практически не сказалась на общей структуре ЭВМ, показанной на рис. ) объединяется под общим названием, интерфейс.
В отличие от большинства терминов, используемых в вычислительной технике, интерфейс оказался на редкость удачным, особенно для знающих английский язык. Интерфейс в дословном переводе с английского означает «лицом к лицу».
В чем состоит задача интерфейса? Осуществить взаимодействие ЭВМ, обращенной лицом к лицу по отношению к внешней среде. Внешняя среда, окружающая ЭВМ, весьма разнообразна, и соответственно разнообразны средства, объединяемые интерфейсом.
Современная ЭВМ получает информацию прежде всего от человека, пользующегося клавиатурой, подобной клавиатуре пишущей машинки. На сегодня это основной способ получения информации от человека, хотя уже давно ведутся успешные опыты по вводу информации с голоса. Мы уверены, что к 2000 году основным средством передачи информации к ЭВМ станет естественный обычный человеческий голос.
ЭВМ также получает информацию по телеграфным и телефонным каналам связи и по видеоканалам, причем по видеоканалам передается стандартное телевизионное изображение.
Третья возможность — это разнообразные датчики: давления, температуры, силы электрического тока, химического состава, да и вообще чего угодно. В этом смысле современная ЭВМ снабжена «органами чувств», причем этих органов бывает значительно больше, чем у человека.
Что входит в функции интерфейса? Во-первых, привести всю разнообразнейшую поступающую в ЭВМ информацию к некоторой единой форме. Во-вторых, организовать то, что называется протоколом обмена. В качестве примера рассмотрим случай, когда к ЭВМ обращаются по телефону. ЭВМ должна снять трубку, выяснить, кто говорит, и после этого принять и направить в нужное место памяти передаваемое сообщение.
Столь же разнообразны функции интерфейса, связанные с выводом информации. Чаще всего ЭВМ представляет человеку информацию в виде буквенно-цифрового текста и рисунков, отпечатанных на бумаге либо высвеченных на экране телевизионной трубки, — такие экраны получили название дисплеев. Здесь также в самом скором времени большое значение приобретет вывод голосом. Подобные системы существуют и успешно работают. Трудно сказать, сколь широкое распространение получит вывод голосом. Объясняются эти сомнения тем, что при общении с ЭВМ существенное значение часто имеет документирование получаемой информации.
Как и в случае ввода, ЭВМ может передавать данные в любой форме по любым каналам связи. Опять-таки стоит помянуть протокол. Так, передавая данные по телефону, ЭВМ сначала должна набрать соответствующий номер и убедиться, что на противоположном конце провода сняли трубку. Не думайте, что протокол требуется лишь при использовании телефонных каналов. Любой акт обмена информацией должен быть регламентирован, а любая последовательность таких актов составляет протокол.
Информация от ЭВМ передается различным исполнительным органам. ЭВМ управляет производственными процессами, и в каждом конкретном случае исполнительный орган есть то, что воздействует на процесс. Задачи интерфейса приобретают особое значение в связи с развитием промышленных роботов. Ввод информации в ЭВМ осуществляется от комплекса устройств, объединенных под общим названием технического зрения; а выводимые из ЭВМ данные управляют электрическими «мускулами» рук роботов.
В задачи интерфейса входит также наведение строгого порядка между всеми корреспондентами ЭВМ, которых может быть несколько тысяч. При этом случается, что кто-то из корреспондентов не имеет опыта общения с ЭВМ. Тогда интерфейс берет на себя функции обучения, — задает наводящие вопросы до тех пор, пока не будет получена требуемая информация.
Интерфейс современной ЭВМ представляет собой сложную систему, содержащую разнообразные технические средства и развитое программное обеспечение. В системах третьего поколения для выполнения функций интерфейса использовалась самостоятельная ЭВМ, так называемый коммуникационный процессор.
Как они похожи!
Так мы познакомились со структурой современной ЭВМ и можем сравнить ЭВМ с живой клеткой. Сходство оказывается поразительным.
Живую клетку можно рассматривать как состоящую по меньшей мере из трех частей. Первая часть — память, которая в клетке также имеет иерархическую структуру. Молекулы ДНК, размещенные в хромосомах, реализуют долговременную массовую память клетки. Интересно, что даже объемы совпадают довольно хорошо. Объем памяти хромосом у развитых организмов измеряется гигабайтами с тем отличием, что в биологических системах байт состоит не из восьми, а из двух двоичных символов, поскольку каждый нуклеотид представляет результат выбора из четырех возможностей.
Функции оперативной памяти выполняют молекулы иРНК. Как и в случае ЭВМ, информация здесь хранится в течение относительно небольших отрезков времени и после использования уничтожается. Передача информации между иерархическими уровнями памяти в клетке и в ЭВМ совершается одинаково.
Роль системы переработки информации в клетке выполняют рибосомы. На первый взгляд представляется, что номенклатура выполняемых операций у рибосом гораздо беднее, чем у системы переработки информации ЭВМ. По существу, в клетке выполняется одна-единственная операция, сводящаяся к тому, что очередному триплету РНК ставится в соответствие одна аминокислота. Однако подобная операция есть не что иное, как Булева операция И, выполняемая над тремя переменными (тремя составляющими триплета). Добавьте к тому же обязательно выполняемые правила комплементарности, и станет ясно, что выполняется не только операция И, но и операция отрицания (при желании аденин можно считать отрицанием тимина, а гуанин отрицанием цитозина и наоборот). Какой вывод?
Операции, выполняемые на рибосомах, обладают функциональной полнотой. Комбинируя их (а именно это и делается при репликации РНК и синтезе белков), можно осуществить любой процесс переработки информации. Так же, как в ЭВМ, в клетке каждая операция выполняется на основании команды. Функции команд берут на себя ферменты. Наконец, следует отметить явное сходство между транспортными РНК и ПЗУ в ЭВМ, обеспечивающими переход от команд к микрокомандам. Последовательность команд в клетке задается перемещением вдоль РНК. В биологии имеется такой термин — трансляция. Это комплекс операций, состоящий в актах перемещения вдоль РНК, сопровождающихся транспортировкой и подсоединением очередной аминокислоты к уже построенному полипептиду. Аналогичный термин принят и в вычислительной технике.
Что выполняет в живой клетке функции интерфейса? Рассматривая операции по синтезу полипептидов на молекулах РНК, мы не уделили внимания обмену информацией между клеткой и внешней средой. Такой обмен не только существует, но и поражает своим разнообразием. Как правило, обмен информацией совмещается с обменом химическими веществами и в общем случае известен под названием метаболизма.
Основную роль в реализации метаболизма играют клеточные оболочки — мембраны. Однако известно много случаев, когда связь клетки с внешней средой сводится к чисто информационному обмену. Это, во-первых, нервные клетки.
Кроме того, приведем в качестве примера иммунный механизм живых организмов. Как он действует? Когда в организм попадают посторонние белки, иммунная система вырабатывает антитела. Антитела обладают поразительной способностью распознавать данный белок в любой сколь угодно сложной смеси.
Три объекта: живая клетка, промышленное предприятие и ЭВМ. Какой вывод напрашивается из их сравнения? В функционировании этих объектов много общего. Во всех случаях имеется некий генеральный план, описывающий структуру объекта и его назначение. Этот план, как правило, сам не участвует в отдельных технологических процессах и хранится в условиях, обеспечивающих его защиту от воздействия внешней среды.
Деятельность каждого из объектов регламентируется специальными указаниями, или командами. В каждом случае команда содержит описание объекта, над которым должна выполняться операция, и последовательность действий, составляющих эту операцию. В каждом из трех случаев деятельность объекта совершается в условиях активного обмена с внешней средой, или метаболизма.
Стоит ли повторять, что в основе деятельности всех объектов лежит информация, или, как сейчас говорят, информационная база? Мы выстроили описание предшествующих примеров так, чтобы сущность и роль информации выступали достаточно выпукло.
Теперь о различиях. Продукцией промышленного предприятия является вещество или энергия. Конечно, выработка вещества сопровождается выработкой информации. Чем более организовано вещество, тем больше информации оно содержит. Представьте себе завод, вырабатывающий удобрения. Сопровождающая продукцию такого завода информация сводится к химическому составу продукта. Обычно это обстоятельство игнорируется, но оно сразу дает о себе знать, когда по тем или иным причинам химический состав продукции отличается от требуемого. Другую крайность представляет собой промышленное предприятие, выпускающее сложные приборы, где доля информации в выпускаемой продукции относительно велика. Отклонение информационного содержания от некоторого стандарта сказывается не только в том, что прибор плохо работает или не работает вообще, но и в том, что срок его службы оказывается меньше гарантированного. И еще одно интересное замечание. На любом предприятии функции отдела технического контроля, или, сокращенно, ОТК, а в современных условиях также и госприемки сводятся в основном к проверке именно информационного содержания продукции.
Продукцией ЭВМ является информация в чистом виде. Это не означает, что вещество и энергия здесь полностью отсутствуют. Информация немыслима без материальных носителей — это фундаментальное ее свойство. Продукцией ЭВМ может быть либо бумажная лента с отпечатанным текстом (вещество), либо световое изображение на экране телевизионной трубки (энергия). В случае промышленного предприятия информация выполняет сопутствующую роль по отношению к веществу или энергии. В случае ЭВМ вещество или энергия играет сопутствующую роль по отношению к информации. Но отклонение от принятых стандартов, например использование плохой бумаги или передача выходных сигналов ЭВМ по телефонному каналу с высоким уровнем шумов, приводит к разрушениям информации.
С тех же позиций рассмотрим деятельность клетки и неизбежно придем к выводу, что клетка более универсальна. Информация, вещество и энергия как продукты деятельности клетки имеют приблизительно одинаковое значение. В качестве примера возьмем процесс взаимодействия бактериофага с бактериями. Бактериофаг — простейший организм, состоящий из белковой оболочки и внутреннего содержимого, которое представляет собой ДНК.
Что делает фаг? Во-первых, он распознает бактерии определенного вида. Речь идет о чисто информационном взаимодействии. Если в окружающей среде бактерий нет, то со стороны фага никаких других действий не следует. Если бактерии присутствуют, фаг прилепляется к оболочке бактерии, говорят, адсорбируется на ней. Были поставлены опыты с фагами. Они показали интересные результаты. Фаг одинаково охотно адсорбируется и на живых бактериях, и на пустых оболочках, лишенных содержимого. Можно сказать, что этот акт взаимодействия совершается при неполной информации.
Затем фаг вырабатывает специальный фермент, разрыхляющий оболочку бактерии. Иначе говоря, фаг способен вырабатывать вещество, но поскольку в отсутствие бактерии фермент не вырабатывается, ясно, что производство фермента начинается под воздействием информационной команды. На завершающем этапе белковая оболочка фага сокращается и вталкивает внутрь бактерии молекулу ДНК — вырабатывается энергия, но эта операция совершается после того, как внутрь фага поступила информация о том, что фаг адсорбирован на оболочке бактерии, а оболочка уже вполне разрыхлена под воздействием фермента. Проводя аналогию с техническими устройствами, можно сказать, что фаг объединяет в себе ЭВМ и несколько исполнительных механизмов.
В литературе часто высказывается мнение, что в своей научно-технической деятельности человек многое заимствует у природы. В свое время провозглашалось появление специальной науки бионики, основной задачей которой считалось изучение различных механизмов, действующих в живой природе, и воспроизведение этих механизмов в искусственных системах. Нам представляется, что в утверждениях подобного рода нужно проявлять известную осторожность. Человек сам является частицей природы, и буде установлено, что любой природный объект, простой или сложный, живой или неживой, в основе своей содержит физическую сущность — информацию, то и многие фундаментальные процессы должны быть аналогичными. Это важнейшее обстоятельство мы и попытались осветить.
Вряд ли можно сказать, что человек создал радиолокатор, заимствовав принцип его действия у летучей мыши, которая ориентируется в темноте, посылая ультразвуковые сигналы и воспринимая их отражение от различных препятствий. Скорее, наоборот, после внедрения радиолокации человеку стало легче понять механизм ориентации летучей мыши. И уж совершенно очевидно, что принцип действия ЭВМ человек не заимствовал у живой клетки. Причина проста — к моменту появления первых ЭВМ почти все из того, что мы рассказали о клетках, еще не было известно. Только в 1953 году американский ученый Дж. Уотсон и англичанин Фрэнсис Крик построили модель молекулы ДНК. Однако наличие ЭВМ существенно помогает изучать процессы, происходящие в живых организмах.