Эра ЭВМ

Прежде чем создавать какое–то новое устройство, изобретатель должен отчетливо представить себе, для чего оно понадобится. Нет смысла изобретать бесполезную вещь.


Так было и с ЭВМ.


Они появились на свет потому, что специалисты стали ощущать в них все более острую необходимость.

На заре электроники

В 1906 году американскому изобретателю Ли де Форресту был выдан патент на устройство, ставшее впоследствии основой электроники. Он изобрел электронную лампу–триод. А к концу 20–х годов XX века другой американец, профессор Массачусетского технологического института Ванневар Буш создал аналоговый сетевой анализатор – прибор, который позволял моделировать процессы, происходящие в сложных электрических сетях.


Эти два изобретения и послужили основой для создания нового класса конструкций – электронных вычислительных машин (ЭВМ). Впрочем, не только они...

Теория и практика

В 1936 году английский математик Алан Тьюринг опубликовал статью, в которой доказывал принципиальную возможность создания универсального цифрового вычислительного устройства, способного решать задачи любой степени сложности.

Такое устройство тут же окрестили «машиной Тьюринга» и стали обсуждать, где ее можно использовать с наибольшей пользой. Кроме того, многих ученых и даже писателей–фантастов заинтересовал вопрос, до каких пределов может быть усовершенствовано такое устройство. Масла в огонь споров добавил и сам Тьюринг. Свою очередную статью он озаглавил: «Может ли машина мыслить?» А из самого текста можно было понять, что сам автор предполагает положительный ответ на свой вопрос.

Впрочем, пока теоретики и праздная публика спорили, практики потихоньку делали свое дело. Тот же Тьюринг в 1941 году был включен в секретную группу, которая в одной из лабораторий Манчестерского университета в Англии сконструировала вычислительную машину Colossus для решения очень важной задачи. С ее помощью удалось найти ключ к расшифровке секретных кодов немецких спецслужб. Кстати, сами немцы кодировали свои сообщения для передачи по радио с помощью машины Enigma и долгое время были уверены в невозможности расшифровать этот код...

Примерно в то же время еще один англичанин, которого звали Норберт Винер, участвовал в разработке быстродействующего артиллерийского вычислителя, который должен был обеспечить зенитные орудия данными для стрельбы по самолетам.

Когда же война закончилась, Винер выпустил в свет книгу «Кибернетика, или Управление и связь в животном и машине», в которой были сформулированы основные положения новой науки об универсальных законах управления. Название ее ученый вывел из греческого слова «кибернетос» – так древние греки называли лоцмана, навигатора, впередсмотрящего.

Так что, как видите, в 40–е годы XX века и теоретики и практики были уже готовы к появлению новых, еще более совершенных вычислительных машин. И в середине 1943 года началась работа над созданием первой электронной вычислительной машины. Руководили этой работой американские ученые Моучли и Эккерт, уже упоминавшиеся в нашей книге.


История «ЭНИАКа»

Джон Моучли после окончания университета и защиты докторской диссертации по физике в начале 30–х годов занимался вопросами статистического анализа геофизических данных. Сталкиваясь в процессе работы с необходимостью большого количества вычислений, Моучли пришел к мысли о необходимости создания быстродействующего и надежного вычислительного устройства.

Причем в отличие от других конструкторов он полагал, что лучшим элементом для счета и запоминания будут электронные лампы. В отличие от обычной электролампочки, где ток просто раскаляет спираль, в электронных лампах он выполняет другие функции.

Например, в лампах–диодах невидимый поток электронов просто перетекает с раскаленного электрода–катода на электрод–анод в одном лишь направлении. Обратно по законам физики он уже проследовать не может. Это свойство диодов используется, например, для преобразования переменного тока в постоянный.

В лампах–триодах на пути следования потока электронов от катода к аноду стоит еще дополнительный электрод–сетка. Подавая на него электрическое напряжение определенной величины.и знака, можно регулировать величину потока электронов – увеличивать или ослаблять его. Обычно такие лампы используют в качестве усилителей. Слабый сигнал, подаваемый на сетку, управляет куда более сильным потоком электронов на выходе с анода.

Хотя сам эффект прохождения электрического тока через вакуум от катода к аноду был открыт Томасом Эдисоном еще в 1883 году, первая электронная лампа – вакуумный диод – была построена Флеммингом лишь в 1904 году. Вскоре Ли де Форрест, как уже говорилось, изобрел вакуумный триод – лампу с тремя электродами, затем появилась газонаполненная электронная лампа – тиратрон, вслед за ней пятиэлектродная вакуумная лампа – пентод и т. д.

До 30–х годов XX века электронные вакуумные и газонаполненные лампы использовались главным образом в радиотехнике. Но в 1931 году англичанин Винни Вильямс построил для нужд экспериментальной физики тиратронный счетчик электрических импульсов, открыв тем самым новую область применения электронных ламп.

Электронный счетчик состоит из ряда триггеров. Триггер же, изобретенный в 1918. году М. А. Бонч–Бруевичем и – год спустя независимо от него – американцами У. Икклзом и Ф. Джорданом, содержит две лампы, соединенные между собой таким образом, что в каждый момент ток проходит лишь через одну из них. То есть, говоря проще, триггер представляет собой электронный аналог механического реле. А стало быть, может быть использован подобно тому, как работали реле в релейных машинах.

В середине 30–х годов Моучли удалось построить несколько удачных моделей простых электронных счетчиков на газонаполненных лампах. Подобные же устройства создали Кроуфорд в США, Ямашита в Японии, Шрейдер в Германии. Все это говорило о целесообразности разработки «электронного вычислителя».

В 1941 году доктор Моучли переходит на преподавательскую работу в Пенсильванский университет, где уже был накоплен опыт использования электронных ламп в вычислительных машинах. Правда, это были машины другого типа – аналоговые. Так, под руководством известного инженера Ванневара Буша здесь была создана крупнейшая в мире специализированная аналоговая машина для решения дифференциальных уравнений.

Она затем была использована для составления и корректирования таблиц стрельбы и бомбометания. Но во время испытаний ряд специалистов обратил внимание на малую скорость и невысокую надежность устройства. И тогда Моучли предложил заменить его электронной цифровой вычислительной машиной.

Однако докладная записка, поданная Моучли в августе 1942 года своему начальству, осталась без ответа. Лишь через год на нее обратил внимание Герман Гольдстайп, бывший доцент математики Мичиганского университета, а в годы войны – офицер связи. Он попросил обновить и дополнить ее. Что и было сделано по просьбе Моучли его бывшим аспирантом Д. Преспером Эккертом.

В июне 1943 года новый вариант докладной записки Моучли–Эккерта был рассмотрен в Вашингтоне. И вскоре артиллерийское управление США заключило договор с Пенсильванским университетом на постройку «электронной машины для расчета баллистических таблиц». Руководителем работ был назначен Моучли, главным инженером – Эккерт, а техническим куратором от министерства обороны – капитан Герман Гольдстайн.

Команда из 10 инженеров, 200 техников и нескольких тысяч рабочих–монтажников в течение двух с половиной лет трудилась над созданием «Электронного цифрового интегратора и вычислителя» (Electronics Numerical Integrator and Computer, сокращенно «ЭНИАК»).

«ЭНИАК»

Это было огромное сооружение, состоящее из 40 панелей, содержащих 18.000 электронных ламп и 1500 реле. Машина потребляла около 150 кВт электроэнергии – мощность, достаточная для работы небольшого завода.

Тем не менее использование электронных ламп вместо механических и электромеханических элементов позволило резко увеличить скорость выполнения машинных операций. «ЭНИАК» тратил на умножение всего 0,0028 секунды, а на сложение и того меньше – 0,0002 секунды. Основными схемами машины были так называемые ячейки «И», действовавшие как переключатели, ячейки «ИЛИ», предназначенные для объединения на одном выходе импульсов, идущих от разных источников, и, наконец, триггеры (так называются устройства, способные по команде занимать одно из двух положений – «О» и «1», «включено» или «выключено».)

В «ЭНИАКе» 10 триггеров соединялись в кольцо, образуя десятичный счетчик, который выполнял роль счетного колеса механической машины. 10 таких колец плюс 2 триггера для представления знака числа образуют запоминающий регистр. Всего в «ЭНИАКе» было 20 таких регистров. Каждый регистр мог быть использован также для выполнения операций суммирования и вычитания. Другие арифметические операции выполнялись в специализированных блоках. Помимо памяти, на триггерных ячейках в машине имелся блок механических переключателей, на котором вручную могло быть установлено до 300 чисел.

Работой отдельных блоков машины управлял задающий генератор, который определял последовательность тактовых или синхронизирующих импульсов, эти импульсы «открывали» и «закрывали» соответствующие электронные блоки машины.


От «ЭНИАКа» до «МАДАМ»

Работа над «ЭНИАКом» проходила в обстановке чрезвычайной секретности. Не удивительно поэтому, что выдающийся американский математик Джон фон Нейман узнал о ней совершенно случайно. Будучи, консультантом крупнейшей в США Абердинской баллистической лаборатории, он летом 1944 года встретил на железнодорожной станции Абердина своего старого знакомого Германа Гольдстайна. В разговоре тот упомянул о работах Моучли–Эккерта. Заинтригованный Нейман захотел присоединиться к ним...

Тут надо, наверное, сказать, что авторитет Джона фон Неймана в среде ученых был очень высок. Кое–кто из посвященных знал, что Нейман частенько бывал в Лос–Аламосе, где создавалась атомная бомба, непосредственно участвовал во многих проектах, много консультировал. Причем его феноменальные математические способности иной раз вызывали шок у окружающих.

«Однажды один известный физик–экспериментатор и я целый день безуспешно ломали голову над задачей, для решения которой нужно было взять некий интеграл, – вспоминал Эмилио Сегре, ученик Энрико Ферми – одного из «отцов» американской ядерной бомбы. – Поставивший нас в тупик интеграл был написан на доске, когда через приоткрытую дверь нашей комнаты мы увидели идущего по коридору фон Неймана. «Не можете ли вы помочь нам с этим интегралом?» – спросили мы у него. Фон Нейман подошел к двери, глянул на доску и продиктовал ответ. Мы совершенно остолбенели, – не понимая, как это ему удалось сделать...»

Естественно, что фон Нейман не только мгновенно смог оценить огромное практическое значение быстродействующих вычислительных машин, но и был способен помочь в их совершенствовании.

Он присоединился к группе Моучли–Эккерта, когда конструирование «ЭНИАКа» подходило к концу. И тут же стал выдвигать идеи, как его можно усовершенствовать.

В конце концов, это привело к тому, что, едва закончив работу над одной машиной, все тут же переключились на создание другой, более совершенной.

Один из наиболее ощутимых недостатков релейных машин и «ЭНИАКа» заключался в способах программного управления ходом вычислений. «ЭНИАК», например, несколько дней готовили к работе, осуществляя необходимые соединения на коммутационной доске, а собственно решение задачи длилось всего несколько минут.

Для устранения этого недостатка фон Нейман и его коллеги предложили «принцип хранимой программы», в соответствии с которым программа, как и исходные числовые данные, вводилась и хранилась в памяти машины.

В 1945 году группа начала работу над «Электронной вычислительной машиной с дискретными переменными», сокращенно «ЭДВАК». Однако вскоре коллектив разделился: фон Нейман и Гольдстайн уехали в Принстон, Беркс – в Мичиган, а Моучли и Эккерт организовали собственную компанию по производству ЭВМ. Поэтому «ЭДВАК» был закончен лишь в 1950 году – на год позже, чем английская машина «ЭДСАК», которая оказалась, таким образом, первой в мире вычислительной машиной с хранимой программой.

Сложение занимало у «ЭДСАКа» 0,07 миллисекунды, умножение – 8,5 миллисекунды (1 миллисекунда = 10~6 секунды), ввод данных в машину производился с помощью перфоленты, вывод – с помощью пищущей машинки.

Вслед за «ЭДСАК» и «ЭДВАК» в первой половине 50–х годов появляется множество других ламповых машин. Например, в США Гарвардская вычислительная лаборатория в марте 1950 года закончила работу над ЭВМ «Марк–3», в которой тоже использовался принцип «хранимой программы».

Новоявленная фирма «Эккерт–Моучли компьютер корпорейшн» начала свою деятельность с создания «БИНАКа». В начале 50–х годов к работам над вычислительными машинами приступило Национальное бюро стандартов США. Результатом этих работ явились машины «ДИСЕАК», а затем «СВАК».

И наконец, английские специалисты при непосредственном участии Тьюринга создали ЭВМ с названием «МАДАМ».


Тем временем в стране Советов

Вскоре слухи о создании вычислительных машин за рубежом проникли и в нашу страну. Однако первое время советское руководство отнеслось к созданию таких машин отрицательно. «Кибернетика – это буржуазная лженаука, а вычислительные машины нам не нужны – у нас достаточно счетоводов и бухгалтеров», – примерно такова была тогдашняя точка зрения.

Впрочем, довольно скоро ее пришлось изменить: применение за рубежом ЭВМ для расчетов самолетов, двигателей, первых ракет привело к тому, что мы стали в этих отраслях отставать. Пришлось пускаться вдогонку.

И вот в начале 50–х годов XX века появились первые советские электронные вычислительные машины. Прежде всего следует вспомнить о малой электронной вычислительной машине «МЭСМ», построенной в Киеве под руководством С. А. Лебедева, действительного члена Академии наук Украины.

Вскоре Сергей Алексеевич переехал в Москву, где организовал и возглавил Институт точной механики и вычислительной техники Академии наук СССР. Здесь под его руководством в 1952 году была завершена работа над «Быстродействующей электронной счетной машиной Академии наук СССР», или «БЭСМ».

«БЭСМ» имела память в 2048 ячеек и к моменту ввода в эксплуатацию была самой быстродействующей машиной в мире, производя 8 тыс. операций в секунду.

Примерно в одно время с машиной «БЭСМ» была завершена работа над вычислительной машиной средней мощности «М–2», созданием которой в лаборатории Энергетического института им. Г. М. Кржижановского руководили член–корреспондент Академии наук СССР И. С. Брук и М. А. Карцев.

Через год после завершения «БЭСМ» и «М–2» была построена еще одна советская электронная вычислительная машина – «Стрела», главным конструктором которой был Герой Социалистического Труда Ю. Я. Базилевский. Причем в отличие от «БЭСМ» и «М–2» «Стрела» была построена уже в нескольких экземплярах.

В 1954 году под руководством Б. И. Рамеева была завершена работа над машиной «Урал–1». А вскоре ей на смену пришла ЭВМ «Урал–2». Затем семейство «Уралов» пополнилось моделями «Урал–3» и «Урал–4»...

В общем, работы над созданием электронных вычислительных машин в Советском Союзе развернулись широким фронтом. Кроме упоминавшихся уже нами центров разработки ЭВМ, были организованы новые институты в Киеве, Минске, Ереване и других городах.

ЭВМ «Минск–32»

В Киеве работы над ЭВМ сосредоточились в созданном в 1957 году Институте кибернетики, который возглавил 34–летний доктор физико–математических наук В. М. Глушков, впоследствии ставший академиком. Первая машина вновь созданного института, получившая название «Киев», была закончена в начале 60–х годов.

Затем последовали новые разработки, среди которых наибольшее признание получили ЭВМ «Проминь» и «МИР» (машина инженерных расчетов). Они были предназначены для широкого использования в конструкторских бюро и лабораториях.

В Минске под руководством В. Пржиялковского был создан класс машин, названных именем столицы БССР.

В Ереванском институте математических машин также были сконструированы два вида ЭВМ – «Раздан» и «Наири».

Затем, вслед за США, Англией и СССР началась разработка ЭВМ и в других странах – Голландии, Австралии, Польше, Чехословакии...


Анатомия компьютера

Уже первые ЭВМ имели практически все те устройства, которые в них имеются и поныне. Так что, наверное, тут нам самое время приостановить свое хронологическое повествование, чтобы разобраться, как устроена типовая ЭВМ, почему столь велики ее возможности.

Составляющие суммы

Любая вычислительная машина – большая она или маленькая – схематически выглядит одинаково. Машина имеет дело исключительно с числами. Эти числа хранятся, электронными схемами, которые называются регистрами. Физические размеры регистра определяют значение наибольшего числа, которое тот может запомнить. Обычно все регистры одной модели компьютера имеют одинаковый размер, и именно он в значительной степени определяет структуру машины. У больших машин обычно и регистры большие, а у микрокомпьютеров, как правило, маленькие.

Для начала мы с вами ознакомимся со строением некого воображаемого компьютера. Практически все реальные ЭВМ работают по тем же принципам, хотя с деталях устроены намного сложнее.

Итак, главный узел любой ЭВМ – центральный процессор. Именно здесь происходят все действия над числами в ходе их обработки по заданной программе.

В процессоре имеются три универсальных регистра: счетчик команд, регистр команд и регистр–накопитель. Счетчик команд управляет последовательностью выполнения команд. В регистре команд происходит их расшифровка, а регистр–накопитель осуществляет реальную обработку данных.

В ходе работы ЭВМ то и дело обращается к своей внутренней или оперативной памяти, извлекая пли засылая в нее числа. Такая память состоит из нескольких тысяч одинаковых регистров или ячеек. Все они последовательно перенумерованы, чтобы процессор знал, как обращаться к ним. Номер каждой ячейки называют адресом – это вполне естественно, ведь именно по номеру и находят данную ячейку.

Кроме внутренней памяти, каждая ЭВМ имеет еще и внешнюю, долговременную память, в которой хранится информация, необходимая время от времени. Как правило, такая память представляет собой бобины с магнитной лентой или магнитные диски. Информация записывается и считывается с них примерло так же, как в обычном магнитофоне.

Задача слежения за тем, в каком именно месте диска или ленты записана нужная в данный момент информация, достаточно сложна. Поиском ее, стиранием ненужной информации и записью на освободившееся место новых данных занимается специальная программа, которая помещается в память машины еще на заводе и называется операционной системой.

Схема типичного компьютера

В больших ЭВМ операционные системы выполняют и некоторые другие функции, например, занимаются «разделением времени». Дело в том, что большие вычислительные комплексы стоят очень дорого, соответственно высоко ценится и время их работы. Поэтому будет слишком большой роскошью отдавать все машинное время одному пользователю. Как показывает практика, машина будет большей частью стоять, ожидая поступления очередных команд. Поэтому операционные системы подключают к компьютеру сразу несколько десятков пользователей. Связь между ними и ЭВМ может осуществляться с помощью дисплея и телефонного канала связи. Машина, таким образом, уделяет каждому из своих пользователей всего несколько миллисекунд, а затем переходит к другому, третьему... Но поскольку работает она очень быстро, то у каждого пользователя создается впечатление, что машина ни на секунду не забывала о нем.

В наши дни стоимость больших ЭВМ заметно снизилась, но системы разделения времени по–прежнему имеют довольно широкое распространение. Они теперь могут использоваться для совместного применения больших баз данных (глупо ведь устраивать большую библиотеку для одного человека) или служить дорогостоящими лазерными принтерами, которые печатают тексты настолько быстро, что, работая на одного пользователя, они опять–таки 99,9% своего рабочего времени будут простаивать.

Многие компьютеры могут быть связаны между собой в единые вычислительные комплексы или сети. Для этого служат периферийные устройства, которые с помощью кабельных или даже спутниковых линий связи объединяют компьютеры, расположенные даже на разных континентах. Какие преимущества это дает, мы еще с вами обсудим.

А пока давайте вернемся снова в недра нашего компьютера и посмотрим, что в нем происходит по мере поступления данных и команд.


Язык цифр

В памяти машины, как вы уже поняли, записываются и данные, с которыми ЭВМ должна работать, и программа–руководство, согласно которой она ведет их обработку. По своему виду один массив информации совершенно неотличим от другого. Дело в том, что это только для нашего удобства машина приучена программистами реагировать на определенные слова и символы. Внутри ЭВМ все они опять–таки переводятся в числа специальными подпрограммами, и уже с этими числами машина ведет дальнейшую работу. Например, команда «сложить» может быть обозначена числом 11, «вычесть» – 13 и т. д.

Так получается потому, что машинная логика в значительной мере отличается от нашей, человеческой: машине гораздо легче иметь дело просто с числами, причем записанными в двоичной системе исчисления, нежели с какими–то другими понятиями.

Таким образом, в счетчике команд содержится адрес той команды, которую нужно выполнить при следующем шаге работы машины. Процессор обращается к соответствующей ячейке памяти, считывает число, которое там содержится, и загружает его в регистр команд. После того как команда выполнена, адрес, содержащийся в счетчике команд, увеличивается на единицу, и процесс повторяется снова – теперь уже по отношению к новой команде и программе.

Таким образом, получается, что вся работа ЭВМ организована по циклам, каждый из которых состоит из двух частей. Первая половина цикла называется вызовом, и на этом этапе происходит вызов, считывание очередной команды из памяти. Вторая половина – исполнение, и в этот момент исполняется полученная команда. Каждый цикл обычно занимает порядка миллионной доли секунды; последние годы появляются машины, быстродействие которых измеряется уже миллиардами и триллионами операций в секунду.

И это еще не все. Каждая команда, попадающая в регистр команд, состоит, в свою очередь, из двух частей – операции и операнда.

Если провести аналогию с командами, которые отдает в армии командир своим подчиненным, то операцию и операнд можно рассматривать как сказуемое и дополнение в обычном предложении. Ведь в языке команд очень широко распространено повелительное наклонение, а подлежащее в них очень часто опускается, например: «Равняйсь! Смирно!..»

Пусть в нашем конкретном случае операция обозначена числом 10, а операнд – числом 0647. Операция 10 в перечне команд, допустим, означает «загрузить». Тогда вся команда в переводе с машинного языка может означать: «Считать число, хранящееся в ячейке памяти под номером 0647 и загрузить», то есть записать его в регистр–накопитель. Операция 11 может означать «прибавить». Тогда команда, скажем, типа 11.0885 означает: «Прибавь число, хранящееся в ячейке 0885, к содержимому регистра–накопителя и оставь полученную сумму в регистре–накопителе». Команда 12 может означать «запомнить». И тогда 12.2936 будет означать: «Содержимое регистра–накопителя надо записать в ячейку 2936». При этом все, что хранилось в этой ячейке прежде, стирается навсегда.

Чтобы иметь некоторую свободу передвижения, во. многих машинных языках предусмотрены команды «перехода» и «условного перехода». Если код команды перехода, например, 15, то команда 15.0073 будет означать: «Продолжай выполнять программу, начиная с ячейки 0073». При этом мы можем поставить и некое условие перехода к данной ячейке. Например, команда 16 может означать в переводе на наш обычный язык: «Переход по указанному адресу может быть осуществлен лишь в том случае, если в накопителе нуль». В противном случае перехода не произойдет, машина будет продолжать выполнение команд по тому порядку, как они записаны в программе. Все эти команды, которые мы только что описали, сами по себе довольно примитивны. Но, составляя из них длинные логические цепочки, можно заставить машину выполнить и самую сложную операцию.

Закодированные в виде числа команды образуют машинные коды. Мы в своих примерах брали эти коды чисто условно. На практике же системы этих кодов составляют тот или иной машинный язык. И они отличаются друг от друга примерно так же, как английский отличается от немецкого. Из одних и тех же букв латинского алфавита составляются слова, иногда они даже очень похожи внешне, но смысл этих слов в различных языках может быть различен. Для каждого народа удобен свой язык, так и машинные языки приспосабливаются к нуждам той или иной конкретной модели ЭВМ. Для какой–то удобнее работать при помощи языка «Бейсик», а для другой подходит только «Паскаль».

Конечно, можно было бы программы составлять прямо в машинных кодах. Первые годы существования ЭВМ программисты так и делали. Однако такой порядок вносит дополнительные трудности в работу людей, составляющих программы, а значит, они чаще ошибаются. Поэтому и были придуманы машинные языки, которые в какой–то мере похожи на обычные языки народов нашей планеты. А там уж машина сама переводит выражения машинного языка в машинные коды, пользуясь для этого специальной программой–переводчиком.

Но и при переходе от языка буквенных выражений к языку цифр, т. е. языку машинных кодов, перевод понятий человеческой логики в логику машинную еще не закончен. Как мы уже говорили, машине оказалось удобнее работать с двоичной системой исчисления, машинные же коды составлены в десятичной. Так машина может еще раз осуществить перевод, записав привычные нам цифры вот таким образом: 1=1, 2=10, 3=11, 4=100 и т. д.

Один двоичный разряд (0 или 1) называется битом; бит содержит наименьшее возможное количество информации. Обычный размер машинного регистра – 16 двоичных разрядов. Наибольшее число, которое может быть в нем записано, – 16 единиц подряд, что в переводе на десятичную систему исчисления означает 65535.

Переход на двоичную систему делает запись любых чисел значительно длиннее, чем в десятичной. Но зато в этом случае достаточно для запоминания числа всего двух состояний электрической схемы – «включено» и «выключено». (В противном случае пришлось бы составлять ячейки из схем, имеющих 10 различных состояний, а это привело бы к значительному усложнению устройств как самих схем, так и всей ЭВМ в целом.)

Два же состояния в электрических цепях могут быть выполнены весьма просто и различными методами. Это может быть и релейная схема, и ламповая, и транзисторная... Последнее время подобные схемы стали выполнять по несколько десятков тысяч одним махом – так появились интегральные схемы. Более подробно обо всех этих технологических тонкостях мы поговорим в следующей главе. А пока давайте разберемся в логике работы таких электрических ключей.


Странная логика

В их основе лежит логическое исчисление, созданное еще в 50–е годы XIX столетия английским математиком Джорджем Булем. Согласно разработанным им правилам, каждому из высказываний приписывают одно из двух возможных значений: «истинно» или «ложно». Кроме того, имеются три связки: «И», «ИЛИ» и «НЕ». Их достаточно, чтобы строить описания нашего мира, скажем, такого типа: «Сегодня я пойду играть в футбол, ЕСЛИ по телевизору не будут показывать мультиков И будет подходящая погода».

Аналогично обстоит дело со связкой «ИЛИ» для высказываний, например, такого рода: «В нашей команде будет хороший вратарь, ЕСЛИ придут играть Витя ИЛИ Вова». Конечно, на футбольное поле могут прийти и оба, и связка «ИЛИ» принимает во внимание и такую возможность. И наконец, проиллюстрируем возможности связки «НЕ»: «Мы, конечно, начнем играть сразу, ЕСЛИ поле НЕ будет занято другими командами».

Схема, поясняющая действие электронных логических ключей

Все эти высказывания можно без особого труда реализовать с помощью электронных схем. Для этого договоримся интерпретировать истинное высказывание как положение «включено» или «1» и соответственно ложное высказывание будет интерпретироваться как «выключено» или «О».

В таком случае высказывание «И» соответствует двум ключам, соединенным последовательно. На приведенной схеме лампочка загорится, ЕСЛИ будет включен ключ А, и ключ В.

Связка «ИЛИ» соответствует параллельному включению тех же ключей. Здесь лампочка загорится лишь в том случае, если включен или ключ А, или ключ В, или оба вместе.

Наконец, связку «НЕ» можно реализовать, создав контакт для ключа таким образом, что его нормальное положение будет при замкнутой цепи и горящей лампочке. И как только на схему будет подан сигнал, аналогичный тому, который в предыдущих случаях приводит к замыканию цепи, в данном случае цепь будет размыкаться.

Используя подобные схемы, программистам удается заставить ЭВМ вести вычисления и даже рассуждения, опираясь на формальную логику, вполне привычную нам с вами. Как все это реализовалось на практике, мы с вами сейчас и поговорим.


Как поджарить яичницу?

«Ну и вопрос, – скажете вы. – Это же все знают. Надо взять яйца, поставить сковородку на огонь, положить на нее масла... И вообще, какое отношение имеет яичница к теме нашего разговора?»

Сама яичница, может быть, и никакого. А вот процесс ее приготовления – самое непосредственное. Взгляните на схему. Видите, столь простая кулинарная операция при полном перечислении возможных вариантов представляет собой довольно длинное и разветвленное описание последовательности действий. То есть, говоря профессиональным языком, перед вами блок–схема программы приготовления яичницы. Именно такая программа понадобилась бы, если бы вы поручили эту операцию некому роботу–повару под управлением ЭВМ.

Электронная же вычислительная машина, о которой мы ведем речь в этой книге, согласно широко распространенному определению представляет собой «универсальное программируемое устройство для автоматической обработки информации». Возможно, вы с этим определением уже знакомились на уроках информатики в школе. Но, как говорится, повторение мать учения. Не вредно, наверное, по–вторить его еще раз, растолковав для верности два определения.

«Универсальное» означает, что машина способна решать широкий круг задач в зависимости от конкретной необходимости. Понятие «программируемое» как раз подсказывает нам путь к осуществлению такой универсальности – нужно всякий раз подсказывать машине, что именно она будет делать. То есть составить для нее программу действий.

Алгоритм программы поджаривания яичницы

В принципе все мы умеем программировать как свою, так и чужую работу. Понаблюдайте, к примеру, хотя бы за работой шофера, меняющего пробитое колесо. Быть может, сам того не осознавая, он осуществляет свои действия по строго разработанной, последовательной программе. Если вы возьметесь записать действия шофера в качестве инструкции для другого, неопытного водителя, то у вас получится примерно следующее:

1. Поставьте машину на ручной тормоз.

2. Достаньте из багажника домкрат, гаечный ключ.

3. Снимите колпак с пробитого колеса.

4. Ослабьте болты крепления.

5. Поднимите машину на домкрате.

6. Выверните болты, крепящие колесо.

7. Снимите колесо.

8. Достаньте «запаску».

9. Поставьте запасное колесо на место пробитого.

10. Заверните болты.

11. Опустите домкрат.

12. Затяните болты до отказа.

13. Наденьте колпак.

14. Положите домкрат, пробитое колесо и гаечный ключ в багажник.

15. Все, багажник захлопнут, можно ехать дальше.

Собственно говоря, примерно такие же программы составляют и программисты. Только работают по ним не люди, а машины. Чтобы составить такую программу, нужны всего–навсего два качества: во–первых, программист должен cебе хорошо представлять суть описываемого процесса и, во–вторых, быть предельно внимательным, чтобы не пропустить какой–либо частности, не перепутать последовательность операций.

«Всего–то и дел!» – возможно, скажете вы. Действительно, всего–то... Но это не так мало, как может показаться на первый взгляд. Не верите? Вот вам тогда пару вопросов «на засыпку»: как вы думаете, почему болты нужно ослабить до того, как вы поставите машину на домкрат? Почему с ними нужно работать в два приема? Давайте выкрутим их сразу...

Вот тут и скрываются те тонкости, которые знает каждый шофер, но которые не всегда доступны стороннему наблюдателю. Если не ослабить сильно затянутые болты сразу, то потом будет очень нелегко отвернуть их, когда колесо будет поддомкрачено и сможет свободно вращаться. С другой стороны, если вы открутите все болты сразу до конца, есть риск, что при постановке домкрата открученное колесо попросту свалится вам на ноги. И хорошо, если при этом вас еще не придавит сама машина...

Поменять операции местами тоже не удастся – это приведет к тому, что какую–то операцию вам придется делать дважды. К примеру, вы, конечно, можете достать запасное колесо из багажника вместе с домкратом и инструментом, но вам все равно придется временно отставить его в сторону, а потом брать в руки еще раз.

Итак, наглядный пример, возможно, убедил вас, что для составления программы программист должен хорошо представлять себе суть дела. Но это еще не все. Повелители компьютеров имеют ведь дело не с другими людьми, а с машинами. Объяснить же машине что–либо гораздо труднее, чем человеку, хотя бы потому, что ЭВМ гораздо хуже понимают нормальный человеческий язык.

Происходит это по двум причинам. Причина первая: для работы вычислительной машины оказалось удобнее использовать другую систему счисления, чем привычная нам десятичная. В основе работы ЭВМ, как уже говорилось, лежит двоичная система, потому что она очень легко реализуется в электрических цепях: есть импульс или контакт – это соответствует логической «1», нет импульса или контакта – «О».

Причина вторая – из–за несовершенства конструкции ЭВМ их пользователям приходится для общения с машиной использовать и специальные, машинные языки. Поначалу они вообще представляли собой некую «китайскую грамоту»: каждая команда имела свой индекс, который программисту приходилось заучивать наизусть. Ныне положение стало несколько проще: машины понимают и некоторые слова обычного языка. Как вы узнали на школьных уроках информатики, в настоящее время в мире ЭВМ имеют хождение несколько специализированных языков, на которых общаются между собой люди и машины.

Поскольку машинные языки начали приходить к нам с Запада, то в их составе чаще всего используют наиболее ходовые слова и выражения английского языка. Например, слово «PRINT», в переводе с английского означающее «печатать», используется в «Бейсике» как команда, заставляющая машину выдать результат исполненных действий. Команда эта осталась с тех времен, когда в качестве выходного устройства использовался телетайп, который действительно печатал все результаты на бумажной ленте. Ныне же, как вы знаете, для этой цели чаще всего используется телеэкран дисплея.

Кроме того, в программах часто используется слово «INPUT» – «вход»; оно обычно используется для обозначения операции по приему информации. «LET» – «позволять», «пускать» – дает разрешение на выполнение заранее запрограммированных действий. «RUN» – «бежать», «двигаться» – обозначает начало выполнения вычислений после введения в какие–то формулы численных значений. И наконец, слово «END» – «конец», понятно, и означает конец действий по данной программе.

В ходу у программистов и наиболее распространенные математические символы. Например, знак «+» обозначает, как обычно, операцию сложения, «–» – вычитания, наклонная черточка « – деления... Ну а знак умножения, чтобы не путать его с буквой «х», решили обозначить звездочкой «*».

В итоге, если вы, например, дадите машине такую команду: PRINT «4+1–5», то она мгновенно отреагирует, высветив на экране «О».

Арифметическая задача, конечно, может быть и значительно сложнее: PRINT «21*(287,35+89)–44,9». ЭВМ все равно ответит практически мгновенно: 7858,45.

Такие вычисления для нее, как говорится, семечки. Но вот если вы, к примеру, отпечатаете на клавиатуре дисплея «HELLO», что в переводе, как известно, означает «привет», то в ответ получите «SINTAX ERROR» – синтаксическая ошибка. Машина считает, что вы попросту ошиблись, ваша вежливость для нее бессмысленна.


«Оставь, она не выспалась...»

Ныне общение с компьютером упрощено до минимума. В персональных компьютерах, как правило, стоят программы, для управления которыми достаточно навести указатель «мышки» – выносного пульта управления – на тот или иной графический символ и нажать кнопку (или, как говорят бывалые пользователи, «кликнуть мышкой»). Тут же запускается соответствующая стандартная подпрограмма, и ваше желание выполняется: открывается тот или иной файл, машина переходит от одной программы работы к другой и т. д.

Наиболее совершенные ЭВМ ныне не только исправляют грамматические ошибки, но и могут откликаться на ваш голос, автоматически включаются в заданное время и производят необходимые операции автоматически... Работают они тихо, безотказно и для своего функционирования требуют энергии не больше, чем электрическая лампочка.

Но так было далеко не всегда.

«...Никогда в жизни мне не приходилось спать и завтракать так, как в течение тех месяцев, когда мы по двадцать четыре часа в сутки просиживали у машины, сменяя друг друга. «ЭНИАК», на котором мы работали, оказался довольно дёликатной и, я бы сказала, капризной машиной. То и дело выходили из строя какие–нибудь лампы или контуры, и нам приходилось сидеть сложа руки. Однажды гроза вывела из строя механизм. Все мы сидели по своим комнатам, прилипнув к телефонам и ожидая, пока ремонтная группа не разрешит нам продолжать работу. Несколько раз нам звонили и сообщали, что через десять минут все будет в порядке. Но когда мы бросались к своим местам, выяснялось, что разрешение было преждевременным».

Так описывала «капризы» первой большой ЭВМ математик Герда Эванс. Машина больше простаивала, чем работала. Каждые две минуты выходила из строя какая–нибудь из ее 18 тыс. ламп или другая деталь.

Справедливости ради надо отметить, что и наши отечественные компьютеры на электронных лампах отличались не лучшим характером. Скажем, первая в нашей стране ЭВМ, несмотря на название «МЭСМ» – малая электронная вычислительная машина, – была весьма громоздкой, помещалась в целом машинном зале. Быстродействие же ее оставляло желать лучшего – машина могла выполнять лишь 50 операций в секунду, запоминать 31 число и 63 команды.

Тут впору с грустью вспомнить о механических вычислительных устройствах. Так, скажем, автоматический арифмометр, созданный в 1883 году великим русским математиком П.Л. Чебышевым, развивал скорость до нескольких операций в секунду, имел клавиши для выбора операций и мог работать сутками напролет – его работоспособность зависела просто от выносливости человека, ведущего вычисления.

Однако назад хода уже не было. В те редкие минуты, когда электронные вычислительные машины первого поколения все–таки работали, они с лихвой наверстывали упущенное. Большая электронная счетная машина «БЭСМ», к примеру, делала уже 10 тыс. операций в секунду и имела оперативную память на 2048 чисел. Так что механическому арифмометру за ней было уже не угнаться.

Однако ахиллесовой пятой ЭВМ оставалась все–таки низкая надежность. Дело порой доходило до курьезов. Один из специалистов, например, всерьез утверждал, что его машина – будучи особой женского рода – определенно предпочитает перфокарты розового цвета голубым. Другой называл свою машину компьютером, т. е. субъектом мужского рода, и на основании этого полагал, что его детище явно неравнодушно к присутствию в машинном зале некой Мэри. Стоило ей появиться в дверях, как компьютер тотчас начинал «волноваться», допуская сбои в работе.

«Вася, не мучь машину – она не выспалась, – такую фразу мне довелось однажды услышать в вычислительном центре родного института. – После обеда займемся наладкой – все будет как часы...»

Самое интересное, что все эти курьезы имели весьма солидное статистическое обоснование. Да, перфокарты розового цвета действительно проходили в машину значительно лучше, чем голубого. Да, при появлении Мэри в машинном зале сбои ЭВМ... простите, компьютера, значительно учащались. Да, в понедельник с утра к большой ЭВМ нашего учебного вычислительного центра лучше было не подходить – все равно она начинала работать не раньше второй половины дня...

Тут впору было стать мистиком и поверить в существование машинных «душ». Тем более что примерно в это же время весьма модными стали всевозможные кибернетические «зверушки», которые самостоятельно отыскивали выходы из лабиринта, двигались кратчайшим путем к источнику света... Словом, как утверждали их создатели, обладали зачатками разума.

Но люди в конце концов разобрались, почему происходят всяческие чудеса в машинных залах. Машина отдает предпочтение розовым карточкам? Да потому, что они изготовлены из более плотного и тонкого картона, чем голубые. Машина не выспалась? Чепуха! Просто в институте на выходной снижали температуру – экономили топливо. И в понедельник, пока помещение не прогреется до нормальной температуры, в ЭВМ, конечно, будут сбои. Что же касается Мэри, то, конечно, она – девушка привлекательная. Только для компьютера важно, не какая она, а что, извините, на ней надето. В то время как раз входил в моду нейлон, капрон и прочая синтетика, которая, как известно, великолепно электризуется. Сыплющиеся с Мэри электростатические искры и заставляли машину ошибаться.


Поколения машин

Фотографии, вклеенные в паспорт, показывают, как может измениться за годы один и тот же человек. Развитие ЭВМ тоже привело к значительному изменению ее «портрета».

Принято считать, что с начала 40–х годов XX века, когда на планете начали разрабатывать первые ЭВМ, они в своем развитии до настоящего времени прошли шесть этапов или поколений.

Основными компонентами машин первого поколения были электронные лампы. Десятки тысяч ламп потребляли много электроэнергии, выделяли большое количество тепла и занимали немало места. Для размещения таких машин приходилось отводить целые залы, а об их надежности говорит хотя бы такой факт. Тот же «ЭНИАК» работал непрерывно в среднем... 6 минут. После этого какая–нибудь из 18 тыс. радиоламп перегорала. Не лучше выглядели и первые ЭВМ отечественного производства.

В начале 60–х годов XX века на смену лампам пришли транзисторы. Новая элементная база послужила основой для создания второго поколения ЭВМ, имевших меньшие габариты, гораздо большую надежность и экономичность. Быстродействие стало уже измеряться сотнями тысяч операций в секунду. Появилась возможность общаться с машиной в режиме разделения времени, удалось совместить по времени выполнение отдельных операций, таких, например, как работа центрального процессора и устройства ввода–вывода информации. Произошел переход от написания программ на машинном языке к написанию их на алгоритмических языках.

В вычислительном центре 60–х годов XX века (ЭВМ ЕС–1022)

В конце тех же 60–х годов промышленность стала переходить от изготовления отдельных транзисторов к созданию на одном полупроводниковом кристалле интегральных схем, каждая из которых при сохранении малых размеров (порядка 1 см2) вмещала сразу до нескольких тысяч элементов. Как именно делаются интегральные схемы, мы с вами подробно поговорим в следующей главе. Здесь же укажем, что использование интегральных схем не только существенно уменьшило габариты ЭВМ – та машина, что раньше занимала целый зал, теперь стала умещаться в тумбе письменного стола.

В машинах третьего поколения резко увеличилось быстродействие – они стали выполнять миллионы операций в секунду. Общение с ЭВМ теперь можно было осуществлять сразу

с нескольких выносных пультов–терминалов. Пользователь получил возможность при общении с машиной использовать как цифровую, так и графическую информацию. Еще одна особенность машин третьего поколения – все они как бы представители одной семьи. В нашей стране их так и называли – ЕС ЭВМ – Единая система электронных вычислительных машин. Несмотря на то что в проектировании этих машин принимали участие специалисты разных стран – Болгарии, Венгрии, ГДР, Польши и Чехословакии, – компьютеры понимали друг друга буквально с полуслова. Это стало возможно потому, что все машины ЕС ЭВМ работали на одном машинном языке.

А это давало определенные преимущества в работе. Не по силам задача одной машине, скажем ЕС–1010, ей на помощь могла прийти другая, более мощная – ЕС–1022 или ЕС–1050. И для этого вовсе не обязательно было переходить с колодой перфокарт от одной машины к другой. Как уже было сказано, все машины системы могли связываться между собой с помощью специальных кабелей или даже обычной телефонной сети.

Персональное рабочее место программиста в 60–е годы

Базой следующего, четвертого, по счету поколения ЭВМ стали большие интегральные схемы (БИСы) и сверхбольшие интегральные схемы (СБИСы). Несмотря на такие названия, сами элементы не стали больше по своим размерам. Просто теперь технологи, специалисты по созданию микросхем, сумели разместить на той же площади десятки и сотни тысяч электронных компонентов. И вот начиная с 70–х годов промышленность стала выпускать ЭВМ, быстродействие которых измеряется уже десятками миллионов операций в секунду.

Еще одна новинка: более совершенная технология позволила разместить центральный процессор всего в одной интегральной схеме. Такие микропроцессоры, с одной стороны, привели к созданию микрокомпьютеров и персональных ЭВМ – некоторые из них действительно вполне можно носить с собой в небольшом чемоданчике. С другой стороны, создание микропроцессоров стало предпосылкой для конструирования суперЭВМ – вычислительных машин рекордной производительности.

Все это позволило начать всеобщую компьютеризацию человечества. Услугами ЭВМ стали пользоваться люди, которые раньше и не помышляли об этом. Персональные ЭВМ в наши дни используют даже журналисты и писатели. А в научной сфере, например, персональные компьютеры применяются для оперативного анализа результатов эксперимента, для ведения типовых расчетов и т. д. Инженеры используют такие машины не только как калькуляторы, но и как удобные справочники, а также как АРМы – автоматизированные рабочие места. Специалист, имеющий такое место, выполняет всю возлагаемую на него работу – ведет деловую переписку, исполняет чертежи, делает расчеты узлов новых машин – в несколько раз быстрее.

Последние годы мини–компьютеры все шире стали использоваться в образовании и в быту. Многие школьники уже имеют возможность познакомиться с основами программирования в компьютерных классах своих школ. Внедрение же персональных компьютеров в быт позволит еще шире использовать для досуга электронные игры. Микрокомпьютеры уже входят в состав таких обыденных бытовых приборов, как кухонные плиты, стиральные и швейные машины. И привычные вещи приобретают новые, невиданные ранее качества и самостоятельность. Например, в компьютеризованной плите нет риска сжечь пирог или жаркое – автоматика вовремя отключит нагрев. А швейная машина может, например, самостоятельно обметывать петли.

С другой стороны, большие суперкомпьютеры позволили более точно решать такие сложные проблемы, как, скажем, прогнозирование изменения свойств материалов в реакторах АЭС, изучение свойств элементарных частиц, определения залежей полезных ископаемых на основе добытых геологами разрозненных данных...

Казалось бы, на этом можно остановиться. Но, как вы знаете, прогресс не ведает предела. И компьютерщики пошли на штурм миллиардного «барьера», приступив к созданию ЭВМ, которые могли бы выполнять миллиарды операций в секунду.

Для этого им опять–таки понадобилась более совершенная элементная база. И в настоящее время появились полупроводниковые кристаллы, которые всего лишь в объеме наперстка вмещают целую ЭВМ первого, а то и второго поколения.

Составленные из таких микрочипов–процессоров компьютеры пятого поколения обладают уже элементами подлинной сообразительности. Могут узнавать хозяина по внешнему облику и голосу, выполняют приказы, отданные по телефону или просто вслух, понимают иностранные языки и т. д. Именно одна из таких машин обыграла в шахматы несколько лет назад тогдашнего чемпиона мира Гарри Каспарова.

И это еще не конец эволюции. В настоящее время ведутся работы над созданием первых ЭВМ шестого поколения, которые смогут не только выполнять триллионы операций в секунду, но и обладать элементами искусственного интеллекта. То есть, говоря попросту, начнут соображать, как люди...

Но тут уж, вероятно, понадобятся микрочипы, которые будут работать на молекулярном уровне.


Единая система ЭВМ

Итак, несмотря на то что ЕС ЭВМ проектировали их и строили ученые и инженеры разных стран социалистического лагеря, понимали компьютеры друг друга с полуслова. Потому как в основу были положены общие принципы программирования и конструирования.


Наши специалисты в 60–е годы XX века были весьма горды этим достижением. По крайней мере, до тех пор, пока не узнали, что не стоило изобретать велосипед во второй раз. Во всем мире здравомыслящие специалисты поступают точно так же. Жизнь научила.

Для облегчения жизни

Раньше ведь как случалось? Решают математики задачу на одной машине. Вдруг выясняется, что задачка эта данной ЭВМ «не по зубам». Слишком крепкий «орешек». Делать нечего – несут задачу другой машине, более мощной и совершенной. Принесли, а она ее не принимает. Не хочет работать по уже составленной программе.

В чем дело? Оказывается, программа хоть и написана на машинном языке, но данная машина его не понимает. Она понимает, скажем, «ФОРТРАН», а программа составлена на «АЛГОЛе». Хочешь не хочешь, переводи, программист, задачу с одного машинного языка на другой, составляй новую программу.

Когда же догадались формализовать машинные языки, составить специальные программы–переводчики с одного языка на другой, жизнь у программистов сразу полегчала.

Причем вовсе не обязательно было переходить с колодой перфокарт от одной машины к другой. В случае нужды ЭВМ Единой системы – не зря же они носили такое название – могли объединиться в комплекс, состоящий из нескольких машин сразу. Причем для объединения использовали как специальные линии связи, так и обычную телефонную сеть.

Такие сообщества ЭВМ потом стали называть вычислительными сетями. Сначала в единую сеть объединили ЭВМ одного вычислительного центра или учреждения. Получилась локальная сеть. Потом одного города – такая сеть называется местной. Затем – всей области; получилась региональная сеть.

Национальная сеть – понятное дело – объединяет ЭВМ одного государства. Транснациональная – компьютеры сразу нескольких стран. А ныне уж дело дошло и до создания общепланетарной, всемирной сети – Интернета.

Впрочем, о системах и сетях мы еще поговорим подробно в отдельной главе. А пока лишь скажем, что подобные объединения – не единственное удобство, которое появилось во времена ЕС ЭВМ.

Например, стало совершенно не обязательно, для того чтобы дать машине задание, идти в машинный зал. С ЭВМ можно было связаться из другого помещения, здания или даже города с помощью специального абонентского пульта или рабочей станции, подключающихся к телефонной сети с помощью специальных приставок – модемов.

А для удобства показа полученных результатов придумали дисплей. Название этого устройства происходит от английского слова «display» – «показ», «объяснение». По внешнему виду дисплей похож на телевизор, к которому добавили клавиатуру от пишущей машинки.

Нередко к клавиатуре добавляют еще и джойстик или компьютерную «мышку». Джойстик – это специальный рычажок с кнопкой, с его помощью очень удобно управлять компьютерными играми–стрелялками. Поворачиваешь рычаг, поворачивают на экране дисплея и самолет, автомобиль, ракета, которыми ты управляешь. Нажал кнопку – раздался выстрел...

Ну а как появилась компьютерная «мышь», мы поговорим в следующей главе, специально посвященной персональному компьютеру.


Персонально для вас

Иногда мне кажется, что он существовал всегда, мой персональный компьютер. И как–то уж с трудом вспоминаются времена, когда приходилось со стуком и грохотом печатать тексты на пишущей машинке. Между тем, оказывается, персональному компьютеру лишь недавно стукнуло 25 лет.

Ныне ходят легенды, что персональный компьютер – ЭВМ, созданная специально для того, чтобы на ней работал один человек в конторе или дома, родился в 1976 году в гараже, где два школьных приятеля, Стивен Джобс и Стивен Возняк, смастерили некую машинку для развлечений и бытовых расчетов. Подсчитав свои доходы и расходы, затем можно было заставить на телеэкране нарисованную кошку погоняться за нарисованной мышкой.

Отсюда, кстати, вероятно, и пошло название известного всем устройства – компьютерной «мышки». Тем более что и сама эта штучка с длинным хвостиком–проводом и впрямь напоминает белую лабораторную мышь.

Однако более тщательное расследование показало, что еще в начале 70–х годов XX века безвестные энтузиасты создавали прообразы подобных .устройств, которые расходились десятками среди их знакомых и приятелей. Наиболее известен среди них «Альтаир 8–800», сконструированный Эдом Робертсоном. Ныне создатель этой машины работает провинциальным врачом где–то в штате Джорджия и, возможно, даже не задумывается над тем, что его детище некогда послужило основой для разработки Стива Возняка и Стива Джобса.

Другие, впрочем, указывают, что детище Робертсона трудно назвать персоналкой в привычном смысле этого слова, поскольку та машина не имела ни клавиатуры, ни дисплея, ни компьютерной «мышки». А прообразом разработки приятелей послужила конструкция, созданная молодыми сотрудниками компании «Ксерокс». Однако руководство фирмы не оценило энтузиазм своих сотрудников, их прозорливость, и обиженные таким невниманием, они продемонстрировали свою разработку Стиву Джобсу.

В ней, кстати, впервые в мире был применен метод управления вычислительным процессом с помощью «иконок» – картинок, которые высвечивались на телеэкране и на которые можно было воздействовать с помощью «мышки». Ну а саму «мышку» придумал еще один энтузиаст–компьютерщик, сотрудник Стэнфордского исследовательского института Даглас Стингл–Барт.

Рассмотрев хорошенько все это, Джобс, вернувшись домой, рассказал об увиденном приятелю, и сообща они принялись за работу. Таким образом, получается, что два Стива ничего сами не придумали: идею позаимствовали от предшественников, экран взяли от телевизора, клавиатуру – от пишущей машинки... Так что единственное, что в их устройстве было оригинального – эмблема на передней стенке процессорного блока. В качестве символа для своей «гаражной фирмы» приятели выбрали изображение надкушенного зеленого яблока. И первый персональный компьютер так и назывался: «Эппл» (Apple) – «Яблоко»!

По сравнению с существовавшими тогда большими ЭВМ возможности первого компактного компьютера были крайне примитивными. Например, долговременной дисковой памяти еще не существовало, поэтому все время приходилось менять дискеты емкостью по 180 килобайт, которые вставлялись в специальное гнездо на передней стенке процессорного блока.

Но и на таком компьютере уже можно было редактировать тексты и создавать несложные таблицы. А главное, эта машина сравнительно немного стоила (всего–навсего 3 тыс. долларов!) и помещалась на рабочем столе. Чтобы понять радость первых потребителей, следует учесть, что самая маленькая ЭВМ того времени стоила 18 тыс. долларов!), весила 120 кг и размещалась в стойке размерами с этажерку.

Впрочем, если вы думаете, что первый компьютер «Эппл» сразу стал и самым массовым, то глубоко ошибаетесь. Редко бывает так, чтобы у изобретателя были одновременно и коммерческая, предпринимательская жилки. Джобс с Возняком, запатентовав свою конструкцию, неукоснительно следили за тем, чтобы их авторские права соблюдались как можно строже. В особенности это касалось тех программ, которые они использовали в своей машине.

Между тем поняв, какие огромные возможности таит в себе маленький компьютер, совершенствованием персоналок занялись и многие другие конструкторы и программисты. И они общими усилиями без особого труда обошли и превзошли создателей «Эппла».

В особенности в этом преуспели специалисты всемирно известной фирмы «ИБМ», сделавшие себе капитал и приобретшие известность на производстве больших ЭВМ. Впрочем, здесь поначалу проект создания малого компьютера тоже не был ключевым – персоналками занимались 12 сотрудников, а всего в «ИБМ» работало более 300 тыс. человек.

Ими был придуман еще один вариант персоналки, ничем особо не выделявшийся среди многих других – к тому времени счет на разные конструкции уже перевалил за десяток. Новшество тут заключалось лишь в том, что специалисты крупной фирмы и мыслили масштабно. Они поставили производство персоналок на конвейер, как в свое время сделал Генри Форд со своим автомобилем.

Причем в изделии использовался опять–таки максимум готовых деталей и узлов. Так, процессоры покупались у фирмы «Интелл» в столь больших количествах, что та, в свою очередь, автоматизировала их производство и стала выпускать процессоры всего на одном микрокристалле–чипе.

Программное обеспечение разработчики тоже не стали делать сами, а купили готовую операционную программу у компании «Майкрософт».

Любопытно, что и у самой «Майкрософт» не было в тот момент своей собственной подходящей операционной системы. И Билл Гейтс с компаньонами купили у другой компании основу для разработки вместе с ведущим разработчиком – Тимом Патерсоном. Именно он и стал «отцом» первой серийной операционной системы для персоналки «ИБМПК–2» («ПК–1» в массовое производство не пошла).

Однако Гейтс первым понял, какой замечательный шанс выпал его компании. Он не пожалел ни сил, ни времени, чтобы победить в соревновании с другими фирмами, также предлагавшими «ИБМ» свои программы, и доказать, что MS DOC – наилучшая из них. Доказать, кстати, удалось не сразу, и первые персоналки комплектовались сразу тремя операционными программами на выбор.

И тогда Билл Гейтс пошел ва–банк. Он продал руководству «ИБМ» за относительно небольшие деньги программу MS DOC, так сказать, оптом. С тем чтобы она сразу, еще на заводе устанавливалась на всех компьютерах, которые фирма только сумеет произвести и продать. При этом хитрый Гейтс выговорил себе право при случае продавать эту же программу и другим производителям, которых он сумеет уговорить.

Его расчет на массовость оказался верным. MS DOC победила конкурентов не потому, что она была самой лучшей. Но она была самой дешевой (всего 60 долларов против 180 у конкурентов) и позволяла на эту основу накладывать многие другие аппаратные, прикладные программы.

В итоге «Майкрософт» стала монополистом на рынке программ, где продолжает господствовать и по сию пору. А Билл Гейтс еще недавно был самым богатым человеком в мире – его подкосило лишь судебное преследование его фирмы–монополиста. Ее хотели было принудительно поделить на две или три. Но Билл все–таки отбился, хотя это и стоило ему немалых денег.

Потерпели фиаско и те конструкторы, которые стали предлагать хитроумно сконструированные персональные компьютеры. Так, скажем, конструкторы фирмы «Эппл» выдали «нагора» более усовершенствованную модель «Макинтош» – так, кстати, в США называется один из популярных сортов яблок. Однако они не учли психологии рядового потребителя. Ему далеко не всегда нужна лучшая машина. Ему куда важнее, что она дешева, проста и позволяет самостоятельно устанавливать те программы, которые ему нравятся, какие уже есть у его знакомых. Потому и поныне на «Макинтошах» работает значительно меньше народу, чем на персоналках фирмы «ИБМ».

Впрочем, и в конструкцию «ИБМ ПК–2» были заложены свои собственные неброские решения, которые затем определили всю концепцию развития персоналок. На материнской плате изначально были предусмотрены пустые гнезда для последующего наращивания мощности компьютера, а также возможность легкой замены и модернизации операционной, а также прикладных программ.

Гигантская корпорация «ИБМ», в то время контролировавшая 80% мирового рынка ЭВМ, была настолько уверена в собственных силах, что уже на первом этапе раскрыла все карты и опубликовала полную схему своего детища, предлагая его копировать всем желающим. Таким образом корпорация в какой–то мере предопределила моду и направление дальнейшего развития персональных компьютеров на десятилетия вперед.

И поныне подавляющее большинство персоналок в мире произведено на заводах «ИБМ» и имеет программное обеспечение фирмы «Майкрософт» (только уже не MS DOC, а «Виндоуз» различных модификаций). При этом, однако, каждый пользователь имеет возможность заполучить в свое распоряжение действительно персональный, собранный по его заказу компьютер. Для этого достаточно прийти в магазин со своим собственным списком требований. И вам тут же из готовых узлов и деталей соберут такую (или почти такую) машину, которая будет максимальным образом им отвечать.

Так два монополиста оказались хитрее всех и сумели опередить всех своих конкурентов. А грамотно построенная рекламная кампания привела к тому, что только за один 1981 год в мире было продано 136 тыс. персоналок. И журнал «Тайм» вопреки всем традициям назвал «человеком года» именно персональный компьютер. Издатель журнала Том Мейер тогда объяснил свой выбор так: «Эта машина сделала за прошедший год больше, чем кто–либо из живущих на Земле людей».

Современные персональные компьютеры комплектуются лазерными принтерами и другим вспомогательным оборудованием

От малышей к супергигантам

Ныне мы привычно пользуемся персональными компьютерами, стоящими почти на каждом рабочем столе, носим в карманах электронные записные книжки и сотовые телефоны. Ныне вроде бы компьютерные монстры вымерли, подобно бронтозаврам.

Ан нет, кое–где и поныне можно увидеть огромные залы, забитые электронной аппаратурой. В них теперь размещаются не просто ЭВМ, но суперкомпьютеры, решающие особо громоздкие задачи, которые не по силам обычным персоналкам.

Прогнозирование погоды, проектирование ракет и самолетов, разработка оптимальных технологических схем для нефтезаводов, решение задач синтеза новых химических соединений, моделирование волновых и взрывных процессов – вот лишь некоторые из задач, которые можно решить лишь с помощью суперкомпьютеров. Добавьте сюда также быстрые расчеты для молекулярной генетики, фармакологии, огромные базы данных в научных центрах и т. д.

В общем, суперкомпьютеры благополучно продолжают существовать, становясь год от года все более мощными и быстродействующими.

Ныне есть следующие пути увеличения быстродействия этих монстров.

За счет дальнейшего изменения параметров микросхем – то есть за счет элементной базы – можно уменьшить их габариты. Электронные лампы и транзисторы давно уж заменены микрочипами. Сегодня один кристаллик микропроцессора может вмещать в себя сотни тысяч, а то и миллионы элементов, для размещения которых ранее требовался целый шкаф. И конструкторам этого все мало. Ныне ведутся разговоры о создании квантовых компьютеров на основе молетроники, когда роль чипов будут выполнять уже отдельные молекулы и атомы. Микроминиатюризация позволяет до предела укоротить пути, по которым движутся электроны, а значит, и повысить быстродействие компьютера.

Важной характеристикой микропроцессора – основного узла, производящего вычисления – является также его тактовая частота. Например, процессор «Пентиум–500» имеет тактовую частоту в 500 МГц. Для сравнения скажем, что самый мощный компьютер 1949 года обладал тактовой частотой в 0,5 МГц, то есть производил 100 арифметических операций в секунду. Современный же суперкомпьютер «Крей С–90» с частотой в 500 МГц может произвести в секунду миллиард арифметических операций, и это далеко не предел.

В общем, тактовая частота нынешних суперкомпьютеров за полвека возросла в 500 раз, а производительность в 10 млн раз! Каким образом? Основной прогресс был достигнут благодаря новым решениям в архитектуре компьютера. Теперь большинство из них решает задачи не последовательно, а параллельно.


Вычисления на конвейере

Как это происходит, можно пояснить с помощью такого примера. Скажем, одному человеку, для того чтобы вскопать лопатой огород, понадобится 12 часов. Но если создать бригаду из 12 человек, распределить между ними участки, то весь огород может быть вскопан уже через час.

Автор этого наглядного примера – специалист по параллельным вычислениям Владимир Воеводин из Вычислительного центра МГУ лишь сожалеет о том, что далеко не все задачи так легко поддаются распараллеливанию, как вскапывание огорода.

Возьмем, например, изготовление автомобиля на конвейере. Здесь каждый рабочий делает одну–две операции, потом авто продвигается по конвейерной ленте к соседу, который делает свои операции. И так далее, до конца конвейера, с которого съезжает уже готовый автомобиль. Можем ли мы распараллелить все операции и выполнить их одновременно, собрав авто в мгновение ока? Нет, так как сборщики просто будут мешать друг другу. Кроме того, есть операции, которые можно выполнить только тогда, когда будут сделаны предыдущие...

Рабочее место конструктора, имеющее связь с большой ЭВМ

Поэтому большинство современных компьютеров все же работают по конвейерному принципу, последовательно выполняя заложенные в программу операции. И увеличить производительность можно, лишь последовательно загружая в ЭВМ ряд однотипных задач, которые она будет решать одну за другой точно так же, как на конвейере одновременно, но последовательно собирается сразу добрая сотня автомобилей.

Тем не менее мы можем все же увеличить скорость сборки, если подключим к главному конвейеру несколько вспомогательных, на которых будем собирать из деталей целые узлы авто. Например, на главный конвейер будем поставлять уже собранный мотор, коробку передач, диски колес с накачанными шинами и т. д.

Примерно так стали поступать и создатели суперкомпьютеров. Так, скажем, конструкторы фирмы «ИБМ» в свое время оснастили свой компьютер! шестью дополнительными устройствами ввода–вывода информации, позволившими значительно увеличить производительность основного процессора.

Затем пришла очередь модернизации самого процессора. Его память была разбита на два уровня, предусмотрен опережающий просмотр команд и т. д.

Следующий шаг сделали ученые Манчестерского университета, предложившие в 1963 году многопрограммную операционную систему, которая позволила выполнять несколько программ одновременно, автоматически регулируя, какую из них наиболее рационально выполнять в данный момент.

В середине 60–х годов взошла звезда американского конструктора Сеймура Крея. Он был первым, кто начал конструировать суперкомпьютеры повышенной мощности и быстродействия, внедряя однотипные, взаимосвязанные между собой компьютерные блоки. Управлялись они с помощью так называемых векторных команд. Таким образом, удавалось одновременно на одной машине обрабатывать сразу целые массивы данных.

У нас, как мы уже рассказывали, подобные работы велись под руководством А. С. Лебедева, В. М. Глушкова, М. А. Карцева и других.


И тут – семейственность...

Узкое место параллелизма, как уже говорилось, – трудности, с которыми сталкиваются математики, пытаясь разбить тут или иную задачу на несколько менее сложных, которые можно было бы решать независимо друг от друга.

На практике чаще всего оказывается, что решения отдельных частей общей задачи зависят друг от друга, поэтому то и дело приходится использовать промежуточные данные вычислений. Словом, получается, что отдельные процессоры обязательно должны в ходе работы общаться друг с другом, обмениваться данными и результатами вычислений. А это резко усложняет и архитектуру и конструкцию суперЭВМ.

Над всеми параллельными вычислениями дамокловым мечом висит закон Андала. Он определяет, какого максимального ускорения можно достичь для данного числа параллельных процессоров в зависимости от доли последовательных операций в алгоритме.

Скажем, нам нужно сложить все числа от 1 до 99. Если выполнять эти операции последовательно, нужно 99 операций сложения. Если же мы сначала разобьем числа по парам, а потом каждую суммированную пару подадим на один из процессоров параллельного компьютера, то при одновременном сложении потребуется всего 7 таких операций. И они займут куда меньше времени.

Иначе говоря, ограничения, который вносит закон Андала, выглядят так. Если в программе 90 операций выполняется параллельно, а только 10 последовательно, то при любом количестве параллельных процессоров нельзя достичь ускорения большего, чем в десять раз.

Таким образом, получается, что использовать мощные машины можно лишь в том случае, когда тщательно подготовлен алгоритм параллельного решения задачи.

И тут выясняется, что в мире существует сравнительно немного задач, которые можно так глубоко распараллелить, чтобы для их решения можно было использовать огромные суперЭВМ со множеством параллельных процессоров.

Большую же часть задач при грамотном подходе вполне можно решать на суперкомпьютерах с небольшим или средним числом параллельных процессоров.

И здесь свое веское слово сказали наши специалисты. Во всем мире их уважают за умение создавать такие алгоритмы решения тех или иных конкретных задач, которые позволяют существенно экономить ресурсы машинного времени, использовать ЭВМ меньшей мощности.

Например, в лаборатории параллельных технологий Вычислительного центра МГУ разработан проект «параллель.ру», который авторы называют «прообразом центра компетенций по параллельным вычислениям». Говоря проще, с помощью Интернета любой пользователь может не только ознакомиться с базой данных по параллельным вычислениям во всем мире, но и получить доступ со своей задачей непосредственно к самому суперкомпьютеру МГУ. Руководитель лаборатории Владимир Воеводин даже завлекает всех желающих посчитать на своем кластере.

Несмотря на то что сама машина по меркам суперкомпьютерного мира невелика, ее программное обеспечение позволяет совершенствовать и отлаживать программы распараллеливания тех или иных задач, поддерживая таким образом сообщество ученых, использующих суперкомпьютеры в своей работе. Именно так повышается культура общения с большими ЭВМ.

Чтобы не стрелять из пушек по воробьям, наши конструкторы предлагают создать сразу линейку суперкомпьютеров малого, среднего и большого классов, способных взаимодействовать друг с другом. Так работала в свое время Единая «система ЭВМ, позволявшая для каждой задачи подбирать оптимальный компьютер.

Теперь нечто подобное, но в мировом масштабе и на уровне суперЭВМ предлагают создать ученые России и Беларуси. Грамотный проект, разумное финансирование и широкое сотрудничество позволило специалистам, стосковавшимся по настоящей работе, сделать два первых суперкомпьютера из этой линейки всего за 4 месяца.

Надежность и экономичность работы этих компьютеров достигнута за счет отечественного программирования и импортной элементной базы. В итоге получилась недорогая, но много умеющая система, которую с удовольствием начали использовать в своей работе финансисты, работники метеослужбы, математики и специалисты многих других отраслей знания.

Ну а там очередь, вероятно, дойдет и до создания средних и самых больших суперкомпьютеров на основе процессора Е2К, о котором мы поговорим ниже.


Магический кристалл

Итак, как вы поняли, даже в наши дни, когда компьютер (или на худой конец калькулятор) есть практически у каждого, самые большие, самые мощные, самые производительные ЭВМ стоят особняком.

Сегодня первое место среди компьютерных монстров занимает детище американской фирмы «ИБМ» – суперкомпьютер ASCI White. Эта машина размещается на площади, равной двум баскетбольным площадкам, и весит 106 тонн. Суперкомпьютер стоимостью 110 млн долларов способен производить более 12 трлн операций в секунду. Для этого ему требуется около мегаватта электроэнергии.

На пятки «ИБМ» наступает компания «Компак», которая выиграла конкурс, объявленный министерством энергетики США на создание суперкомпьютера для моделирования ядерных процессов. Его производительность превысит 30 трлн операций в секунду.

Китай тоже обзавелся своей супермашиной, названной «Непобедимая мощь». Она способна совершать 384 млрд вычислений в секунду.

Наших суперкомпьютеров нет в списке 500 самых мощных и производительных ЭВМ в мире. Получается, Россия со своими нынешними неурядицами безнадежно отстала от ведущих стран мира? Ан нет, наши специалисты в очередной раз удивили мир, ухитрившись, по крайней мере теоретически, опять оказаться «впереди планеты всей».

Схема вычислительной сспги

В нашей стране созданием самых мощных компьютеров занимается компания «Эльбрус». Образовалась она в 1994 году на базе Института точной механики и вычислительной техники им. С. А. Лебедева. Еще во времена Советского Союза здесь создавали супермашины для оборонной промышленности.

Научный руководитель «Эльбруса», член–корреспондент Российской Академии наук, лауреат Ленинской и Государственной премий Борис Арташесович Бабаян убежден в том, что придуманный в его компании процессор Е2К – а это сердце суперкомпьютера – по всем показателям превосходит не только уже существующие процессоры, но и те, что еще только разрабатываются. Причем благодаря особой методике, разработанной «эльбрусовскими» программистами, микропроцессор независим от монополии, на которую претендует производитель большинства микропроцессоров в мире – корпорация «Интел».

Новый микропроцессор продолжает развивать направление, которое коллектив института качал разрабатывать еще в 1986 году. Подтверждением правильности выбранного пути стал первый российский процессор «Эльбрус–3», созданный в 1991 году. Построенный по старой даже по тем временам кристальной технологии, он тем не менее по производительности вдвое превзошел аналогичную разработку американца Сеймура Крея – процессор суперЭВМ Cray Y–MP.

Схема суперкомпьютера «Эльбрус 3–1»

Технологические новшества Е2К еще более впечатляющи, чем архитектурные, – новый процессор, по идее, должен реализовать значительно лучшую схемотехнику, чем, например, та, которая используется в процессоре Alpha 21264. Причем технология, заложенная в Е2К, позволит в ближайшие несколько лет создать не только мощнейшие суперкомпьютеры, но и «карманные»–персональные компьютеры с небывалыми ранее возможностями.

Еще одним преимуществом Е2К является надежная защита кодов и данных от вирусов – до этого за границей пока вообще никто не додумался. Основные архитектурно–технологические решения Е2К защищены примерно 70 патентами США.

«Наш кристалл гораздо быстрее будущего кристалла Merced корпорации «Интел». Мало того, в отличие от американских микропроцессоров он обеспечивает безопасность программ. При работе Е2К достигается почти двукратное преимущество по быстродействию над самым быстрым процессором следующего десятилетия, – говорит Б. Бабаян. – При этом Е2К по сравнению, например, с Merced будет показывать в 3–5 раз более высокую производительность, потреблять меньше электроэнергии, а в производстве станет дешевле...»

В общем, у нашего процессора масса достоинств и один, но весьма существенный недостаток. Пока его не существует даже в виде опытного образца. Он «живет» только в чертежах и расчетах. А для создания первого экземпляра требуется около 60 млн долларов. Где их взять?


Повелители виртуального мира

Пока наши специалисты ищут средства для создания отечественного сверхсуперкомпьютера, зарубежные исследователи решают на суперкомпьютерах разные задачи. Вот, например, какую.

...Однажды, 15–20 млрд лет назад, в этом мире грохнуло так, что мало не показалось. Некая особая точка пространства – физики называют ее точкой сингулярности – взорвалась с такой силищей, что во все стороны полыхнуло светом и полетели осколки вещества.

Так в общих чертах современные теоретики представляют себе событие, именуемое Большим взрывом. Но что именно взорвалось? Почему? По каким причинам наша Вселенная, вначале раздувавшаяся, словно воздушный шар, затем стала сплющиваться?..

Ответов на эти вопросы теоретики не знают. Но надеются узнать с помощью мощного суперкомпьютера, запущенного недавно в Даремском университете (Англия). На сегодняшний день это самая мощная вычислительная машина, доступная британским ученым. С ее помощью они и рассчитывают совершить прорыв в космологии.

Главной частью суперкомпьютера стоимостью в 1,4 млн фунтов стерлингов является ядро или кластер из 128 процессоров «Ultra–Spare III» и 24 процессоров «Sun Fir», способных работать параллельно. В итоге производительность космологической машины составляет 10 млрд арифметических операций в секунду, а объем оперативной памяти равен 112 гигабайтам.

Пока эта виртуальная деталь существует лишь в памяти компьютера да на экране дисплея

Внешние устройства хранения информации вмещают 7 терабайт, или 7 трлн байт.

Научные исследования таким образом постепенно переходят из мира реального в виртуальный. Зачем проводить долгие и дорогие исследования по биологии, медицине, прогнозированию природных катаклизмов... Даже ядерный взрыв ныне не так уж сложно «запихнуть» в недра суперкомпьютера, избавив планету от экологической опасности.

И машина Даремского университета – еще не самое последнее слово вычислительной техники XXI века.

Министерство энергетики США заключило контракт на 200 млн долларов с компанией «Компак» на создание к 2002 году в Лос–Аламасской национальной лаборатории суперкомпьютера производительностью в 30 терафлопов или 30 трлн операций в секунду. В дальнейшем он может быть модернизирован до 100 терафлопов.

Стараются не отставать от коллег и специалисты фирмы «ИБМ». Они, в свою очередь, объявили о проекте создания самого быстродействующего в мире суперкомпьютера, который будет использоваться для изучения строения протеинов. Это поможет понять природу многих заболеваний и найти методы их лечения.

Проект предусматривает разработку нового компьютера семейства RS/6000 под названием «Blue Gene», способного выполнять свыше одного квадриллиона операций в секунду. Это, между прочим, в 1000 раз превышает производительность машины «Deep Blue», победившей в 1997 году чемпиона мира по шахматам Гарри Каспарова. «Blue Gene» будет работать на основе более миллиона процессоров, каждый из которых способен совершать миллиард операций в секунду», – сообщают представители «ИБМ».

Новый суперкомпьютер будет состоять из большого числа блоков, объединенных в единое вычислительное ядро. Мощность этой гигантской системы будет наращиваться постепенно. Разработчики надеются достичь максимального уровня производительности через пять лет – к тому времени компьютер начнет работать над разгадкой генетических тайн.

В общем, как видите, от разгадки тайны Большого взрыва до распознавания секретов генетического кода – вот диапазон применения современных суперЭВМ. Естественно, что такие машины решают и задачи военно–промышленного комплекса. Так что не случайно конструкторы разных стран стараются создать все более мощные машины.


Загрузка...