Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ
Нижегородский государственный университет им. Н.И. Лобачевского
С.Г. Кузин, Н.Г. Панкрашкина
Из истории создания технических средств информатики
Учебно-методическое пособие
Рекомендовано методической комиссией факультета вычислительной математики и кибернетики для студентов ННГУ, обучающихся по направлению подготовки ????
Нижний Новгород
2010
УДК ??
ББК ??
Ф-??
Ф-?? Кузин С.Г., Панкрашкина Н.Г. ИЗ ИСТОРИИ СОЗДАНИЯ ТЕХНИЧЕСКИХ СРЕДСТВ ИНФОРМАТИКИ: Учебное пособие.
Нижний Новгород: Нижегородский госуниверситет, 2010. 237 с.
Научный редактор: доцент, к. ф-м. наук В.П. Савельев.
Рецензенты: профессор С.И. Ротков,
профессор В.Е. Турлапов
В настоящем пособии представлена история развития технических средств информатики от примитивных абаков до современных компьютеров. Огромное количество представленного в Интернете фактического материала по истории создания технических средств информатики, с нашей точки зрения, исчерпывающим образом отвечает на вопрос "какие устройства технической поддержки информатики были созданы в процессе эволюции человеческого общества". Однако далеко не всегда подробно описывается специфика поведения этих устройств. И уж совсем редко встречается описание физических и логических основ, обеспечивающих требуемое функционирование технических устройств информатики. Учебное пособие преследует цель отразить основные фундаментальные идеи и инженерные решения, предшествующие созданию современных технических средств поддержки информатики. При этом по возможности кратко, но содержательно излагаются физические и логические основы функционирования этих устройств.
Историография компьютеростроения до недавнего времени, по соображениям секретности, замалчивало роль отечественных ученых и инженеров в создании компьютерного парка нашей страны. По возможности устраняя этот пробел, в методическом пособии особо подчеркивается роль отечественных конструкторов на первом этапе компьютеризации нашей страны.
Учебное пособие предназначено студентам и аспирантам, специализирующимся в области прикладной математики, информатики и информационных технологий, и может быть использовано школьниками, занимающимися научной работой в рамках НОУ.
УДК ???
ББК ???
Нижегородский государственный
университет им. Н.И. Лобачевского, 2010
Информатика в широком смысле являет собой единство отраслей науки, техники и производства, связанных с переработкой информации. Основная цель переработки информации увеличение количества информации относительно конкретных артефактов внешней среды на основании априорно известной информации об этих артефактах.
Термин "информатика" возник в 60-х гг. во Франции для названия области, занимающейся автоматизированной обработкой информации с помощью электронных вычислительных машин (компьютеров). Французский термин образован путем слияния слов “информация” и “автоматика” и означает “информационная автоматика или автоматизированная переработка информации”. В англоязычных странах этому термину соответствует синоним computer science (наука о компьютерной технике).
Однако, сформулированные выше, направления человеческой деятельности возникли и начали развиваться с первых шагов эволюции Homo Sapiens человека разумного. В силу этого, подробное и содержательное изложение истории информатики требует для своего освещения многих томов.
Информатику можно представить состоящей из трех взаимосвязанных частей:
1. информатика как фундаментальная и прикладная наука занимается разработкой методологии информатизации общества на базе компьютерных информационных систем;
2. информатика как теория и практика создания технических средств обработки информации;
3. информатика как теория и практика программирования (решения прикладных задач на компьютерах).
В настоящем методическом пособии представляется история создания технических средств информатики, практически не затрагивая научный аспект информатики и ее программистский аспект. Более того, изложение материала заканчивается на рубеже семидесятых восьмидесятых годов XX века, дальше начитается "новейшая история", которая требует своего отдельного обширного изложения.
В среде Интернета функционируют несколько виртуальных музеев, которые представляют достаточно подробно историю создания технических средств информатики и, в меньшей степени подробно, историю развития программного обеспечения. Прежде всего, это Компьютерный музей Эдуарда Михайловича Пройдакова вместе с представительным Советом музея (www.computer-museum.ru), Виртуальный музей информатики Елены Владимировны Давыдовой (www.schools.keldysh.ru), музей История компьютера (www.chernykh.net), многочисленные статьи в Википедии (www.wikipedia.org) и т.д.
Огромное количество представленного в Интернете фактического материала по истории создания технических средств информатики, с нашей точки зрения, исчерпывающим образом отвечает на вопрос "какие устройства технической поддержки информатики были созданы в процессе эволюции человеческого общества". Однако, далеко не всегда подробно описывается специфика поведения этих устройств. И уж совсем редко встречается описание физических и логических основ, обеспечивающих требуемое функционирование технических устройств информатики.
Данное учебное пособие не претендует на исчерпывающее перечисление всех многочисленных творцов технических средств информатики. Тем более, во многих случаях нельзя назвать одного единственного автора того или другого нау-хау. Во многих случаях от плодотворной идеи до ее современной реализации проходило несколько столетий.
Характерный пример, основополагающая архитектура программно управляемого вычислителя компьютера, была предложена Чарльзом Беббиджем в 1832 году. Несовершенство современной ему технологии не позволило реализовать действующий компьютер. На протяжении длительного времени, с разной степенью успешности, предпринимались неоднократные попытки создать программно-управляемый вычислитель. И только в конце сороковых годов XX века, в разных странах, практически независимо, были построены первые электронно вычислительные машины прообразы современных компьютеров.
Настоящее учебное пособие преследует цель отразить основные фундаментальные идеи и инженерные решения, предшествующие созданию современных технических средств поддержки информатики. При этом по возможности кратко, но содержательно излагаются физические и логические основы функционирования этих устройств.
Историография компьютеростроения до недавнего времени, по соображениям секретности, замалчивало роль отечественных ученых и инженеров в создании компьютерного парка нашей страны. Так, например, во всех прежних школьных и вузовских учебниках "отцом компьютеров" назывался американский ученый фон Нейман и перечислялись его принципы организации электронных вычислительных машин. Однако, в нашей стране академик С. Лебедев сформулировал такие же принципы, в соответствии с которыми конструировал отечественные компьютеры по мощности адекватные американским.
Учитывая вышесказанное, в настоящем методическом пособии особо подчеркивается роль отечественных конструкторов на первом этапе компьютеризации нашей страны.
Специфика историографии компьютеростроения состоит в том, что конкретные биографии, а также описания конкретных устройств, разбросанные по многочисленным источникам, сплошь и рядом дублируют друг друга. По этой причине данное учебное пособие носит компилятивный характер, в плане хронологии изобретений, при указании источников заимствований. Но авторы надеются, что последовательное и содержательное изложение узловых моментов развития технических средств поддержки информатики вызовет у читателя определенный интерес.
Учебное пособие предназначено студентам и аспирантам, специализирующимся в области прикладной математики, информатики и информационных технологий.
"История информатики в нашей стране (сначала СССР, а затем России) насыщена драматическими коллизиями и резкими изменениями приоритетов. Это ощущается даже в терминологии. Термин информатика для обозначения совокупности научных направлений, тесно связанных с появлением компьютеров и их стремительным вхождением в ноосферу, определяемую жизнедеятельностью людей, у нас относительно новый. Он получил “права гражданства” в начале 80-х годов, а до этого согласно определению, данному в Большой советской энциклопедии, информатика рассматривалась как “дисциплина, изучающая структуру и общие свойства научной информации, а также закономерности ее создания, преобразования, передачи и использования в различных сферах человеческой деятельности”.
Подобное определение связывало информатику с библиотековедением, библиографией, методами поиска информации в массивах документов. Когда в 1952 году был создан Институт научной информации АН СССР, позже преобразованный в ВИНИТИ Всесоюзный институт научной и технической информации, он должен был стать головным академическим учреждением в области информатики.
То, что стало называться информатикой в начале 80-х в нашей стране, было совершенно иным. Ближе всего содержание этого понятия подходит к тому, что в США и большинстве других стран называется computer science, т.е. компьютерные науки.
“Компьютерные науки” концентрируют свое внимание на различных аспектах, связанных с протеканием и использованием информационных процессов, с теми структурами, в которых представляется информация, и теми процедурами, которые используются при ее переработке. Последнее связывает область “компьютерных наук” с теорией машин для переработки информации компьютеров и методами их использования в системах переработки информации.
С начала 80-х содержание того, что скрывается за термином информатика, ближе всего к тому, что понимают французы, когда говорят о науке, носящей название informatique.
До этого совокупность научных направлений, называемых теперь информатикой, именовалась по-разному. Сначала объединяющим названием был термин кибернетика, затем на роль общего названия той же области исследований стала претендовать прикладная математика. Следы этой разноголосицы хорошо видны в наименовании высших учебных заведений и научных институтов. Факультет в МГУ, готовящий специалистов в области информатики, носит название “Вычислительная математика и кибернетика”, а институты, ведущие исследования в данной области, могут называться и Институт кибернетики Национальной АН Украины, и Институт прикладной информатики РАН, и Институт прикладной математики РАН.
Поэтому, говоря об истории информатики в бывшем СССР и теперешней России, по сути, надо излагать историю отечественной кибернетики и частично прикладной математики и вычислительной техники."
[Д.А. Поспелов. Из книги Очерки истории информатики в России
Авторы: Д. А. Поспелов, Я. И. Фет. Новосибирск, Издательство: Научно-издательский центр ОИГГМ СО РАН, 1998]
В 1948 году в США была издана книга Норберта Винера: "Кибернетика или управление и связь в животном и машине", которая положила начало нового научного направления, изучающего "машины, живые организмы и их объединения исключительно с точки зрения их способности воспринимать определенную информацию, сохранять эту информацию в памяти, передавать ее по каналам связи и перерабатывать ее в сигналы, направляющие их деятельность в соответствующую сторону". [Большая советская энциклопедия, 2-е изд., т. 51 ].
Говоря другими словами, термином "кибернетика" Норберт Винер обозначил общность проблемы управления как неживыми, так и живыми системами вне зависимости от их физического воплощения. Новая наука кибернетика утверждала, что качественное управление объектом возможно лишь с использованием механизма обратной связи.
На самом деле существуют два альтернативных подхода к управлению объектом: компенсационное управление и управление с обратной связью. Преимущество второго подхода явствует из нижеприведенного примера.
Компенсационное управление, например, используется в традиционных отопительных системах нашего ЖКХ. У оператора центральной газовой котельной есть график зависимости температуры горячей воды на выходе котельной от температуры наружного воздуха. В задачу оператора входит поддержание соответствия, определяемого графиком. Однако пока горячая вода дойдет до конкретной квартиры на ее температуру (в сторону понижения) влияет множество факторов. Да и теплоизоляция конкретной квартиры может существенным образом отличаться от теплоизоляции соседней квартиры. В результате, при отличной работе оператора, температура в конкретной квартире может быть далека от комфорта.
Эффективное управление температурой в конкретной квартире осуществляют прежние автоматические газоводонагреватели или современные бойлерные отопительные системы, которые используют регулирование с обратной связью. Подобная отопительная система монтируется в конкретной квартире и измеряет реальную температуру именно в этой квартире. Если температура уменьшается (увеличивается), то автоматический регулятор увеличивает (уменьшает) величину газового факела. Таким образом, температура в конкретной квартире постоянна и не зависит от изменчивости внешних факторов.
В своей книге Н. Винер рассматривал схемы управления с обратной связью в человеческом организме и пытался объяснить принципы работы человеческого мозга. При этом мозг человека сравнивался с только что появившимся компьютером. Как следствие этого, на протяжении двух десятилетий блок знаний, включающий в себя теорию и практику компьютеростроения, являлся одним из разделов кибернетики.
По мере развития научных направлений, входивших в кибернетику, возникали новые задачи и теории, формировалась весьма широкая область исследований, охватывающая теорию алгоритмов, теоретическое и прикладное программирование, теорию компьютеров и информационных сетей, базы данных, компьютерную лингвистику, искусственный интеллект и т. д. В то же время, бурное развитие микроэлектроники и средств связи создавало новые возможности (и соответственно проблемы) при обработке информации.
Названные выше причины привели к "расщеплению" кибернетической науки на две самостоятельные науки: собственно "Кибернетика" и “Computer Science”, которая в нашей стране называется "Информатика".
Информатику также определяют как "фундаментальную науку, изучающую общие свойства информации, методы и системы ее создания, накопления, обработки, хранения и передачи с помощью средств вычислительной техники и связи" [Филинов Е.Н. Проблемы информатики и информационные технологии // Системы и средства информатики, 2000 - №10.]
"Робот из глины. На древнейшем из сохранившихся в Европе кладбищ в Праге можно найти могильный камень с надписью, говорящей о том, что под ним похоронен раввин Иегуда Лев бен Безалел. Имя раввина окружено множеством легенд. Но для нас интересна одна из них.
У раввина была очень сварливая жена. Она часто упрекала его, что занятия отнимают все его время. А дома так много дел, что его помощь просто необходима. И лучше бы он помогал своей замученной жене, а не тратил бы время на пустые выдумки. По-видимому, даже мудрости, приписываемой Иегуде Льву беи Безалелу, не хватало, чтобы потушить семейный пожар. И тогда он принял решение. Из глины он создал человекоподобного великана, получившего имя Голем. Стоило только вложить ему в рот специальный шарик с магическими формулами шем, как Голем оживал и выполнял все приказания хозяина и тех лиц, которых его создатель ему указывал.
Теперь бен Безалел был спокоен. Утром, оживив Голема и передав его жене, он мог спокойно заниматься своими делами. А Голем таскал воду и хворост, мыл посуду и выполнял еще сотню дел, так необходимых в домашнем хозяйстве. Для того чтобы «выключить» Голема, достаточно было вынуть шем. Как только это происходило, Голем прекращал свою деятельность и застывал неподвижно. Голем трудился исправно. Лишь одно ограничение было для него. Правоверный раввин не мог позволить Голему работать и субботу. Поэтому вечером в пятницу Иегуда Лев бен Безалел всегда вынимал шем. Но однажды он забыл сделать это. И в субботу Голем стал неистовствовать. Он полностью вышел из повиновения и стал разрушать все, что попадалось на пути. С большим трудом удалось бен Безалелу вынуть у него шем, после чего Голем, недвижимый, рухнул на пол. Его отнесли па чердак старой синагоги, где он постепенно рассыпался в прах.
В этой легенде, очень популярной среди чехов и еврейского населения Праги и существующей в большом количестве версий, неоднократно подчеркивается, что Голем являл собой копию человека, отличаясь oт него лишь ростом. У него, как и у человека, есть имя, Его называли Йозеф. В некоторых версиях легенды Голем не только домашний работник, но и охранитель населения от притеснителей.
Гомункулус. По представлениям средневековых алхимиков, гомункулус это существо, подобное; человеку, которое якобы можно получить искусственно (в пробирке).
Идея о возможности создания подобия человека, поведение которого ничем бы не отличалось от человеческого, в условиях средневековья представлялась весьма еретической. Вся религиозная догматика, все мировоззрение христианской церкви в корне противоречили возможности искусственного повторения того, что когда-то было сотворено богом. И, тем не менее, эта идея все время «висела в воздухе». Теология и естествознание, магия и экспериментальные исследования причудливо переплетались в работах средневековых ученых.
В трудах выдающегося врача н естествоиспытателя Парацельса (настоящее его имя Филипп Ауреол Теофраст Бомбаст фон Гогенгейм), жившего в первой половине XVI века, содержится рецептура изготовления полного подобия человека с помощью серии химических реакций, производимых над спермой человека. Кстати, Парацельс был монахом и совмещал свои научные изыскания с теологией. Идея гомункулуса долгие годы занимала мысли алхимиков и ученых. От Парацельса до современного итальянского физиолога Петруччио таков путь этой идеи. Для нас же интересно широкое распространение веры в то, что вполне возможно создание существа, подобного человеку, путем, отличным от того, который избрала природа.
Андроиды. Эта идея в XVIII веке нашла свое воплощение в механических людях андроидах. К этому времени достигла своего расцвета технология изготовления механических часовых механизмов. Именно часовщики, овладевшие тайнами своего ремесла, стали изготовлять андроидов. Таких попыток зафиксировано множество. Наиболее известными являются творения французского механика Жака де Вокансона п швейцарских часовщиков Пьера-Жака Дро и его сына Анри Дро.
Среди моделей Вокансона наиболее интересен флейтист (игрушка с часовым механизмом). Внешне он выглядел как обычный человек. Когда он брал настоящую флейту, подносил ее к губам и, перебирая пальцами, играл одну из одиннадцати мелодий, то можно было подумать, что перед нами не механизм, а живой человек.
В 1774 году на выставке в Париже демонстрировались три андроида Пьера-Жака и Анри Дро: писец, рисовальщик и музыкантша. Писец, внешне походивший на шестилетнего ребенка, старательно макал гусиное перо в чернила, писал на бумаге отдельные слова и целые фразы и аккуратно стряхивал избыток чернил, попавших на перо. Ходили даже слухи, что пишет вовсе не механическая кукла, а дочь Анри Дро, хотя среди фраз, написанных писцом, была и такая: «Мы андроиды». «Человечность» писца достигалась тем, что в процессе письма кукла двигала головой и туловищем, имитируя человеческие движения во время подобной деятельности. Кроме писца в семье андроидов были, как уже сказано, рисовальщик, под рукой которого возникали различные рисунки пером, и музыкантша, исполнявшая определенный набор музыкальных произведений на фисгармонии. Как и писец, эти куклы не просто выполняли свою работу, но и сопровождали ее движениями глаз и мышц тела, создавая полную иллюзию, что перед зрителем находится не механическое устройство, а живой человек. Отметим, что немало простодушных зрителей XVIII века было уверено, что дело тут «нечисто», Слухи об андроидах постепенно приобретали среди людей, их не видевших, характер сенсационности и таинственности.
Известно около двух десятков андроидов XVIII и начала XIX века. Одни из них прославились далеко за пределами родины их создателей, другие сыграли более скромную роль. Интересно проследить судьбу еще одного андроида, хотя многие детали, связанные с его историей, до сих пор остаются невыясненными. В том же XVIII веке венгерский механик Фаркаш Кемпелен создал искусственного шахматиста. Эта кукла, размеры которой соответствовали взрослому мужчине, одетая в костюм турка, сидела за шахматным столиком-шкафчиком. Желающие могли сыграть с ней партию. Андроид играл настолько хорошо, что редко кому из его противников удавалось добиться победы. Много десятилетий возил по всему миру Кемпелен своего андроида. Тайна его казалась непостижимой. В отличие от всех ранее известных механических людей, "турок" Кемпелена выполнял действия, которые не могли быть заранее жестко заложены в его конструкции, ибо партии, разыгрываемые на шахматной доске, зависели не только от него, но и от его противников. И все-таки это была
мистификация. В тайниках шкафчика-подставки прятался шахматист. Кемпелен действительно был выдающимся механиком. Он создал хитроумнейшие приспособления, благодаря которым человек-шахматист мог фиксировать текущее расположение фигур на шахматной доске и управлять движением рук и тела "турка". Но как это происходило в точности, мы не знаем и, по-видимому, никогда уже не узнаем, "Турок" Кемпелена на многие годы пережил своего создателя. Он переходил из рук в руки, принося своим хозяевам значительный доход. Но однажды оп погиб при большом пожаре.
Первые роботы XX века, выполненные в металле, фактически оставались все теми же андроидами. Но кое-что в них появилось и новое. Робот «Телевокс» американского инженера Дж. Венсли также имел вполне антропоморфный вид. Он мог двигать руками, вставать на ноги, садиться. И все это он выполнял не по жесткой программе, а по указанию своего изобретателя. Команды вводились в робот с помощью свистка. В роботе «Эрик», созданном в конце двадцатых годов в Англии, зрителей поражало то, что он выполнял команды, подаваемые обычным голосом. Еще более ошеломлял зрителей огромный, двухтонный робот «Альфа», способный по приказанию голосом вставать, садиться, двигать руками и пальцами, стрелять из пистолета, говорить, свистеть и петь. Создателем этого чуда начала тридцатых годов был английский физик Гарри Мей. Правда, как утверждают многие, роботы типа «Эрик» или «Альфа» действовали в паре с живым помощником. Только теперь не было необходимости, подобно Кемпелену, прятать помощника в самом роботе. Беспроволочная связь XX века позволила помощнику находиться вне робота.
Пожалуй, апофеозом развития роботов, непосредственно опирающегося па опыт, накопленный при построении андроидов, стали роботы тридцатых годов XX века. Один из них механический лектор, читавший лекцию о пищеварении па выставке «Столетие прогресса» в Чикаго в 1933 году. Во время лекции робот раздвигал одежду и высвечивал свои внутренности, полностью имитирующие устройство человеческого пищеварительного тракта. По ходу лекции робот показывал руками соответствующие отделы этого тракта, по которым двигалась «пища». В 1934 году были продемонстрированы публике робот, исполнявший на цитре по заказу зрителей любую из 3000 мелодий, и робот «Вилли» усовершенствованный вариант робота «Альфа». В этих роботах механические движения настолько напоминали человеческие, что многие зрители были уверены, что их просто обманывают и вместо роботов показывают загримированных людей.
Вся история андроидов и первых роботов происходила под знаком жесткой запрограммированности их поведения. Хитроумнейшие механические и электромеханические (а позже и электронные) приспособления, все эти шестерни, кулачки, реле и пружины, обеспечивали безупречное выполнение андроидами одних и тех же неизменных программ действий, протекавших в зафиксированных ситуациях. «Писец» всегда писал фразы из зафиксированного заранее набора фраз. Если в его чернильнице не оказывалось чернил, то он все равно продолжал макать в нее свое перо и водить пером по бумаге. «Флейтист» наигрывал свои мелодии, пока в руках у него была флейта. Но если вместо флейты в его руках оказывалась такая же по размерам и форме круглая палка, то пальцы его по-прежнему нажимали на места, где должны были быть клапаны и отверстия.
Таким образом, основным недостатком андроидов было отсутствие обратной связи между внешней средой и их действиями. Если в среде что-то менялось, если действие становилось бессмысленным, андроид все равно продолжал выполнять программу, заложенную в него конструктором. Этим он и выдавал свою неодушевленность, механистичность.
Успех андроида Кемпелена во многом определялся тем, что он мог демонстрировать возможность управляющего им человека приспосабливаться к изменяющейся ситуации. Когда Наполеон играл партию в шахматы со знаменитым «турком», он нарочно сделал ошибочный ход. "Турок" поправил ошибку и сделал ответный ход. Тогда Наполеон снова сделал ход, недопустимый с точки зрения правил движения фигур. "Турок" снова исправил его ошибку. Когда же Наполеон в третий раз нарушил правила игры, "турок" просто смахнул фигуры с доски и "выключился". Император был доволен. Целесообразность поведения "турка" в этой непредвиденной ситуации оказалась выше всяких похвал. (Целесообразность обеспечивал человек, управляющий "турком").
Отсутствие обратной связи со средой и способности адаптации к меняющимся условиям деятельности не позволили андроидам стать родоначальниками роботов Чапека. Эволюция андроидов оказалась тупиковой и не могла преодолеть возникших на ее пути препятствий.
Роботы предвоенного времени выполняли присущие им действия в различных последовательностях. Но формирование последовательности определялось не контактом робота с внешним миром, а навязывалось, ему извне с помощью командных сигналов.
И все-таки усилия, потраченные на создание андроидов и роботов первой половины нашего века, были не напрасны. Если даже не говорить о различных побочных эффектах, возникших в результате занятий роботами (радиоуправляемые гражданские и военные объекты, простейшие манипуляторы и многое другое), то надо отметить, что создатели андроидов и роботов первого поколения положительно решили вопрос о возможности механической имитации антропоморфных движений. Результаты эти сыграли большую роль в развитии биомеханики (теории человеческих движений), что позволило в паше время создавать протезы для людей, лишившихся возможности полноценно пользоваться своим телом. Руки андроидов были первыми манипуляторами, созданными человеком. И в современных манипуляторах, как бы совершенны они ни были, легко проглядывается генетическое родство с созданиями прекрасных механиков и инженеров прошлых веков.
Более того, во второй половине XX век появились, так называемые, "интеллектуальные роботы", способные не только выполнять заложенные в них программы, но и принимать самостоятельные решения в сложных ситуациях.
Чтобы закончить историю андроидов, следует назвать еще одно имя. Более шестидесяти лет тому назад чешский писатель Карел Чапек в драме «R. U. R» сделал главными героями механических людей. Они ничем не отличались внешне от человека, но превосходили его физически и ителлектуально. Чапек назвал их роботами. Это слово вошло во все языки мира, вытеснив название «андроид» и сохранив его лишь за механическими куклами прошлого."
[Д. Поспелов. Фантазия или наука. М.: Наука, 1982.]
Еще один писатель "приложил руку" к теории и практике интеллектуальных роботов. Речь идет о всемирно известном писателе-фантасте Айзеке Азимове, американце белорусского происхождения. В серии своих замечательных рассказов "Я робот" он не только описал приключения роботопсихолога Сьюзен Кэлвин, укрощающей вышедших из под контроля роботов компании "Ю.С. Роботс", но сформулировал три закона робототехники.
1. Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинен вред.
2. Робот должен повиноваться всем приказам, которые дает человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.
3. Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому и Второму Законам.
Эти три закона имеют под собой глубокие этические принципы и применяются (по крайней мере, должны применяться) при конструировании современных информационных и робототехнических систем.
Наполовину в шутку, наполовину всерьез можно говорить, что весь прогресс в человеческом обществе происходил и происходит от лени человека как ВИДА. Как только ЧЕЛОВЕК почувствовал себя Homo Sapiens (человек мыслящий), он пытался создать искусственных людей, чтобы переложить на них хотя бы часть собственной физической работы. Попытка создания хотя бы частичного заменителя человека в течении многих веков не увенчалась успехом. (Действующие роботы появились только во второй половине двадцатого века). Но можно было создавать механизмы, облегчающие определенные виды человеческой физической деятельности.
Такие механизмы правомерно называть усилителями физических способностей ЧЕЛОВЕКА. Назовем некоторые из них. Прежде всего, это рычаги первого и второго рода, вороты и полиспасты, изобретение которых приписывается Архимеду. Джемс Уатт, с целью облегчить тяжелый труд по откачке воды из угольных шахт, изобрел паровую машину. (Как часто случалось в истории техники, изобретение, "заточенное" на решение одной проблемы, стало чрезвычайно полезным во многих сферах человеческой деятельности). Машинист электровоза, затрачивая незначительные физические усилия на нажатие пусковой кнопки, приводит в движение тысячетонный товарный состав, и т.д. и т.п.
В своей изобретательской деятельности ЧЕЛОВЕК далеко не всегда копировал артефакты, созданные природой. Самый яркий пример, в природе (по крайней мере, на макроуровне) нет такой сущности как КОЛЕСО. Все живое, движущее в природе шагает, ползает, летает, плавает… Но не катится.
Оказывается, скопировать артефакт природы, зачастую, гораздо труднее, чем построить техническое устройство, которое функционирует по совершенно отличным от артефакта законам, но имеет то же самое (а зачастую более эффективное) поведение. Один из первых в истории человечества таких подходов изобретение колеса. Шагающий механизм для робота техническая цивилизация реализовала только во второй половине двадцатого века. А наш далекий пращур изобрел приставку к лошади - телегу на колесном ходу, которая заменила малоэффективные вьючные перевозки гужевым транспортом.
Еще один пример. На протяжении многих лет ЧЕЛОВЕК пытался построить искусственную птицу (орнитоптер). И в наше время орнитоптеры не вышли из стадии малоэффективных опытных моделей. Но в 1904-м году братья Райт создали летательный аппарат с жесткими крыльями, поставили на него мощный, по тем временам двигатель, и полетели. Нет нужды распространяться о дальнейшей судьбе этого изобретения.
Примечание. В 1875 году священник Мильтон Райт в споре с ректором колледжа утверждал: "Мнение, что через 50 лет люди будут летать, является богохульством". Через 30 лет два его сына Уилберт и Орвил Райт изобрели первый аэроплан.
Подобных примеров в истории техники множество. Мы называем такой подход к моделированию артефактов природы моделированием по "принципу колеса". Моделирование по принципу колеса основано не на техническом копировании устройства и алгоритмов функционирования артефакта, а на совершенно отличных принципах, но обеспечивающих аналогичное поведение модели.
Примечание. Сплошь и рядом при моделировании по "принципу колеса" нет ясного понимания принципов деятельности, тем более формальной модели деятельности артефакта. Пример почему так эффективен полет птиц, до сих пор досконально неизвестно.
Параллельно с изобретением усилителей физических способностей, ЧЕЛОВЕК озабочен также изобретением усилителя умственных способностей человека. Прежде всего, речь идет о создании искусственных вычислителей, способных облегчить человеку умственную работу в области самых разнообразных вычислений. Тут необходимо сказать, что одновременно с созданием таких вычислителей развивается теоретическая математика (прежде всего, теория чисел, геометрия, математический анализ, абстрактная алгебра), как своеобразное математическое обеспечение искусственных вычислительных механизмов.
При создании искусственных вычислителей "принцип колеса" использовался в гораздо большей степени, чем при создании усилителей физических способностей человека. Дело в том, что природа создала артефакт человеческий мозг, который обладал способностью выполнять сначала простые, а затем, по мере развития математики, все более сложные вычисления. Как работает человеческий мозг неизвестно до настоящего времени, тем более, неизвестно это было нашим пращурам. Поэтому разработка сначала простейших, затем все более мощных вычислителей велась по "принципу колеса".
В IX веке стали известны алгоритмы выполнения четырех арифметических действий, приоритет разработки которых присваивается Ал Хорезми. В качестве исполнителя этих алгоритмов использовался человеческий мозг. Не имея представления о механизмах его функционирования, конструкторы вычислителей создавали механические, а затем электронные исполнители алгоритмов по "принципу колеса". Причем, даже первые механические исполнители выполняли арифметические действия быстрее и с большей точностью, чем исполнитель человеческий мозг.
В пятидесятые годы двадцатого века, в рамках зарождающейся кибернетики, возникло научное направление "бионика". Парадигма бионики заключалось в следующем: подсмотреть, как устроен некоторый природный артефакт, расшифровать закономерность (алгоритм) его поведения и смоделировать его средствами современных технологий. Например, поразительная скорость передвижения акулы в воде обусловлена специфическим строением ее кожи. Разгадав и скопировав механизм движения участков акулий кожи, можно построить "быстрые" подводные лодки.
Применительно к усилителям умственных способностей человека бионика, под влиянием идей Н. Винера, выдвинула следующую заманчивую идею, которая в упрощенном виде формулируется следующим образом:
человеческий мозг состоит из огромного количества нейронов (пороговых элементов), связанных между собой аксонами (проводниками нервных импульсов - сигналов).
отдельный нейрон можно достаточно точно смоделировать в виде технического устройства.
Цитата. Если реализовать большое число искусственных нейронов, и соединить их случайными связями можно получить обучаемую нейронную сеть, способную решать задачи из компетенции человеческого мозга, например, задачи распознавания [Розенблатт Ф. Принципы нейродинамики. М.: Мир, 1965 ].
Опыты по использованию нейронных сетей для решения реальных задач не вышли из стен научных лабораторий. Тому, по-видимому, есть две причины. Во-первых, в пятидесятые - шестидесятые годы двадцатого века микроэлектроника была в зародышевом состоянии, и реализовать большое число искусственных нейронов не представлялось возможным. Во-вторых, главная причина по-прежнему в отсутствии понимания механизмов работы головного мозга человека.
Магистральное развитие идей создания усилителей умственных способностей человека во второй половине двадцатого века шло по пути реализации "принципа колеса". Компьютеры, созданные на рубеже сороковых пятидесятых годов двадцатого века реализованы не как копия человеческого мозга, а как совершенно отличные от него устройства, способные выполнять произвольные алгоритмы программы. Способность решать как вычислительные, так и прочие (в том числе неформальные) задачи определяется не спецификой организации нейронной сети, а специфическим алгоритмом программой, в котором заложен "искусственный интеллект" компьютерной системы.
В качестве реабилитации нейронных сетей следует сказать следующее. В последние десятилетия появились публикации относительно нейронных сетей, успешно решающих задачи, в том числе бизнес прогноза). Однако, существенно, что средствами реализации этих нейронных сетей служат традиционные компьютерные системы, исполняющие соответствующие алгоритмы-программы. Таким образом, нейронная сеть выступает в качестве модели, но не технического средства решения прикладной задачи.
В фундаменте зарождающейся науки информатики лежали "три кита":
1. символьное представление естественно-языковых сообщений (алфавитная письменность);
2. понятие числа, как средства представления количественных и метрических артефактов среды обитания ЧЕЛОВЕКА;
3. понятие функции, как средства представления физических закономерностей.
Извлечение из формальных представлений объектов практически важных следствий требует алгоритмизации обработки этих формализмов при наличие вполне конкретного исполнителя алгоритмов. Прежде всего, речь идет об алгоритмах выполнения операций абстрактной алгебры функций отображающих декартово произведение R…R R, где R континуум действительных чисел. В дальнейшем, предпринимаются попытки создания алгоритмов вычисление функций, записанных в формате уравнения (системы уравнений).
Ответственность исполнителя выполнение предписываемого алгоритмом преобразования набора априори известных исходных записей чисел (операндов) в априори неизвестную запись числа (результат). На первых этапах развития информатики единственным исполнителем алгоритмов являлся человеческий мозг. Но, также на первых этапах развития информатики предпринимались попытки хотя бы частично заменить "мозговой исполнитель" искусственными приборами, способными автоматически исполнять сначала простейшие, а затем все более сложные алгоритмы.
Говоря о естественном языке, мы различаем две его ипостаси: речь и письменность. Нет сомнения, что в процессе развития человеческих сообществ как первоначальное средство коммуникации возникла речь. Т.е. система звуков, позволяющая первобытному человеку достаточно адекватно отражать окружающую среду и передавать информацию об этой среде друг другу.
Недолговечность сообщения, представленного в виде речи вызвали необходимость создания письменности. Сначала возникла пиктографическая (рисуночная) письменность, не имеющая ничего общего с речью. Это был очевидный, но тупиковый путь, т.к. число пиктограмм, необходимых для отражения объектов и свойств постоянно расширяющейся среды обитания, стало превышать возможность человеческого мозга по их запоминанию.
Совершенствуя пиктографическую письменность, человечество стало использовать иероглифы. Иероглифическая письменность до предела формализовала знаковую систему пиктограмм и, что более важно, стала использовать для обозначения сложных понятий составные иероглифы, а также последовательности иероглифов. Несмотря на это, для минимального общения с помощью иероглифического письма нужно запомнить несколько тысяч знаков. А для написания своих священных книг буддийские монахи используют до 40 тысяч различных знаков. Сказанное выше объясняет, почему такая письменность была доступна лишь избранным - монахам и чиновникам.
Массовое внедрение письменности в человеческий обиход произошло после изобретения алфавитного письма (алфавитного способа кодирования сообщений). Алфавитное письмо характеризуется использованием конечного алфавита основных (терминальных) символов языка, число которых находится в пределах двух-трёх десятков. Из этих символов образуются цепочки символов - предложения, которые несут в себе сообщения. Таким образом, если не ограничивать длину символьной цепочки, то из символов конечного алфавита можно образовать бесконечное множество цепочек. Как правило, не все символьные цепочки являются предложениями языка. Поэтому появляется необходимость введения грамматики, как системы правил для отличия предложений языка от всех остальных цепочек.
Таким образом, алфавитная письменность решает проблему представления (кодирования) огромного (бесконечного) числа сообщений конечным, небольшим множеством символов алфавита.
Можно возразить, что разница небольшая: общаться с помощью большого количества иероглифов или с помощью не меньшего количества цепочек символов. Но дело в том, что символы алфавита и их двух-трёх буквенные комбинации обозначают звуки (фонемы) человеческой речи. Поэтому достаточно просто устанавливается связь между тем, что написано и тем, что произносится. Таким образом, происходит понимание алфавитной письменности.
Литературную версию возникновения алфавитной письменности читайте у Редьярда Киплинга [Р. Киплинг. Маленькие сказки. М.: Республика, 1993.].
Среда обитания ЧЕЛОВЕКА включает в себя три основных составляющих, тесно связанных между собой: природная среда, техногенная среда, социальная среда.
ЧЕЛОВЕК постоянно взаимодействует со своей средой обитания, анализируя и изменяя ее (далеко не всегда лучшим образом). Информатика (сначала интуитивная, затем превратившаяся в науку) помогает решать проблемы, которые возникают у ЧЕЛОВЕКА в процессе его взаимодействия со средой обитания.
Уже на первых шагах становления сознания у ЧЕЛОВЕКА возникает необходимость решать множество информационно-вычислительных задач: определить суммарное количество предметов в нескольких множествах однородных предметов; сравнить количество предметов в нескольких однородных множествах; определить, насколько длина копья у одного воина больше длины копья у его противника, определить пройденное за определенное время расстояние при известной скорости движения и т.д. и т.п.
Разнообразие реальных сущностей, для которых требуется решение подобных задач, приводит к пониманию необходимости абстрагировать количественные характеристики разнородных реальных сущностей в понятии "число" и "запись числа". Способы конструктивного представления значений количественных характеристик реальных сущностей в виде символьных записей числа воплощаются в различных системах счисления. Говоря современным языком, записи чисел являют собой данные, обозначающие присущую явлениям, объектам и процессам реального мира информацию.
Революционным шагом в развитии вычислительной информатики явилось изобретение алгоритмов выполнения четырех арифметических операций над записями чисел, представленных в позиционной системе счисления. Благодаря этому появилась возможность вычислять априори неизвестные характеристики сущностей (представленных в численном виде) на основании априори известных характеристик этих сущностей (также представленных в численном виде). Еще раз подчеркнем, что вычисления выполняются вне зависимости от физической сущности артефактов.
В основе абстрагирования артефактов лежит понятие множества. Вообще говоря, различаются два типа множеств: реальное множество и абстрактное множество.
Реальное множество совокупность сущностей одинаковых с некоторой точки зрения. Например, множество яблок в корзине, множество студентов в группе и т.д. Единственное требование каждая сущность, входящая в множество, уникальна, т.е. отличается от остальных сущностей, образующих множество. Основная характеристика множества количество сущностей, его образующих.
Абстрактное множество определяется как совокупность абстрактных элементов вне зависимости от их реального воплощения. Например, корзина, содержащая 25 яблок, и группа из 25 студентов абстрагируются одинаковым абстрактным множеством, состоящим из 25 различных элементов. Количество элементов в абстрактном множестве мощность множества. Таким образом, абстрактное множество имеет всего одну характеристику мощность, которая отражает такую общность различных реальных множеств как количество образующих эти множества элементов.
Линейно-упорядоченное абстрактное множество такое множество M на котором определено отношение < следования элементов. Более подробно, если mM и m'M, и
m m' то либо m' следует за m, т.е. (m<m'), либо m следует за m', т.е. (m'<m).
Дискретное множество - линейно-упорядоченное абстрактное множество M, в котором для каждого элемента mM существует "непосредственно следующий элемент". Элемент m' непосредственно следует за элементом m, если в множестве M нет элемента m'' для которого справедливо: m<m''<m'. Образно говоря, между элементами mM и m'M нет третьего элемента m''M. Дискретное множество либо конечно, либо счетно.
Примером дискретного множества является натуральное семейство абстрактных множеств, которое конструируется следующим образом.
Мощность множества количество элементов, образующих это множество.
Введем в рассмотрение два специфичных абстрактных множества: пустое множество и одноэлементное множество. Линейно упорядоченное семейство A абстрактных множеств выводится из пустого множества следующим образом. Начало вывода пустое множество. Добавив к пустому множеству один элемент, получим одноэлементное множество. Пусть в результате вывода получено k- элементное множество. В результате объединения k- элементного множества и одноэлементного множества получается k+1 элементное множество.
В результате такого вывода получается дискретное (счетное) линейно-упорядоченное семейство абстрактных множеств натуральный ряд абстрактных множеств (Рис.1), котором мощность каждого следующего множества отличается от мощности предыдущего множества на один элемент.
Рис. . Натуральный ряд абстрактных множеств
Примечание. Предполагается, что любые два абстрактных множества натурального ряда не содержат одинаковых элементов.
Непрерывное множество - линейно-упорядоченное абстрактное множество M, в котором для любого m'M непосредственно следующего элемента не существует. Более строго, в множестве M для любой пары элементов (m,m') всегда найдется элемент m'' для которого справедливом m<m''<m'. Образно говоря, между элементами mM и m'M всегда находится элемент m''M.
Примером непрерывного бесконечного множества является геометрическая прямая L. Применительно к геометрической прямой можно сформулировать специфическое свойство непрерывного множества: в любой, сколь угодно малой окрестности любой точки mL всегда найдется точка m'' L. Это равносильно отсутствию в непрерывном множестве непосредственно следующих элементов.
Дискретное множество можно спроектировать на геометрическую прямую, введя в рассмотрение единичный отрезок прямой и располагая точки проекции на расстоянии единичного отрезка друг от друга (Рис.2.a). Тогда, специфическая особенность дискретного множества M формулируется следующим образом: у проекции любого элемента дискретного множества M на геометрическую прямую L существует единичная окрестность, в которой нет ни одной проекции другого элемента множества M.
Натуральный ряд A абстрактных множеств является дискретным множеством и также может быть спроектирован на геометрическую прямую (Рис.2.b).
Отметим особо, что каждый элемент натурального ряда абстрактных множеств также является дискретным (конечным) множеством.
Рис. . Проекция дискретного множества на непрерывное множество L
С каждым абстрактным множеством из A связана его характеристика мощность множества, т.е. количество элементов, образующих это множество.
Информация от артефактах реальных сущностей представляется в численной виде следующим образом.
Сущности, одинаковые с некоторой точки зрения, объединяются в предметные классы таксоны.
Атрибут таксона G обозначается как AG необходимое, существенное, неотъемлемое ОБЩЕЕ СВОЙСТВО сущности. Характеристика (индивидуальное свойство) Gb конкретного элемента таксона G - конкретизация общего свойства таксона для этого конкретного элемента. Например, атрибут (общее свойство) таксона группы студентов: "иметь возраст". Характеристика (индивидуальное свойство) конкретного студента: "конкретный возраст".
Атрибут таксона можно рассматривать как своеобразную переменную, область значений которой домен атрибута AG, т.е. множество одинаковых с некоторой точки зрения характеристик образующих таксон сущностей (Рис.3).
Реальная сущность, входящая в таксон G, специфицируется набором {G} индивидуальных свойств характеристик.
Атрибуты подразделяются на числовые, значения которых определяются посредством измерения и нечисловые, значения которых просто обозначают те или иные характеристики. В дальнейшем, речь пойдет только о числовых атрибутах.
Для того, чтобы иметь возможность формальным образом обрабатывать информацию о сущности, ее характеристику Gb необходимо представить в виде единицы данных, т.е. обозначить числом d, абстрагирующим специфику этой характеристики (Рис. 3).
Рис. . Представление значения Gb атрибута AG записью d числа
Числовая конкретизация атрибута получается в процессе измерения индивидуального свойства конкретного элемента таксона. Основой измерения служит измерительная шакала (в дальнейшем, просто шкала). Шкала функция, отображающая домен атрибута AG таксона G в множество D записей числа:
scale: domG D (1)
Принято говорить, что каждая запись числа dD представляет (кодирует) вполне определенную конкретизацию атрибута характеристику, сущности вполне определенного таксона.
Сказанное выше предполагает, что различаются понятие "число" и понятие "запись числа". Множество записей числа D являют собой формальный язык, символьные строки предложения, которого конструируются вполне определенным образом.
Число определяется как функция, однозначно отображающая прототип числа в множество записей числа:
f: P D (2)
Здесь, P прототип числа (математическая или геометрическая фигура) определяющий тип числа, D множество записей числа. Имя функции f, прототип P и множество записей числа D зависят от типа числа.
Примечание. Прототип числа P является моделью формального языка D. В отличие от процедуры вывода в модели формального языка грамматике Хомского, здесь в качестве процедуры порождения предложений формального языка используется функциональное отображение ().
В практике вычислений используются различные типы чисел, такие как натуральные числа, вещественные числа и т.д.
Рис. .
Прежде всего, по-видимому, в исторической перспективе сформировалось понятие натурального числа. ЧЕЛОВЕКУ необходимо было различать однородные предметы, вводя их обозначение - нумерацию, и также необходимо было манипулировать количествами и порядком расположения предметов.
Натуральное число абстракция, используемая для количественной характеристики множеств реальных объектов, нумерации объектов, а также для обозначения места объекта в некоторой упорядоченной совокупности. Возникнув ещё в первобытном обществе из потребностей счёта, понятие натурального числа изменялось и обогащалось и превратилось в важнейшее математическое понятие. Письменными знаками (символами) для записи чисел служат цифры.
Прототипом натурального числа служит натуральное (линейно-упорядоченное) семейство A абстрактных множеств (Рис.1) мощность пустого множества обозначено знаком (цифрой) "0", мощность одноэлементного множества - знаком (цифрой) "1".
Существует две точки зрения на понятие "натуральное число".
Первая точка зрения - натуральное число являет собой средство для обозначения мощности (количества образующих элементов) любого абстрактного множества из K. В этом случае натуральное число называется кардинальным числом и определяется как функция card (конкретизация определения числа () для натурального числа), отображающая линейно упорядоченное семейство множеств K в линейно-упорядоченное множество записей кардинальных чисел (натуральный ряд записей кардинальных чисел):
card: A (3)
График определяющей число функции card приводится ниже.
Линейно-упорядоченное семейство множеств A |
Натуральный ряд записей кардинальных чисел |
|
0 |
СЛЕД() |
0+1=1 |
СЛЕД(СЛЕД()) |
1+1=11 |
СЛЕД(СЛЕД(СЛЕД())) |
11+1=111 |
… |
… |
СЛЕД(…(СЛЕД(СЛЕД(СЛЕД())))) |
111…1+1=111…11 |
Здесь используется примитивная запись кардинального числа в виде пула единиц.
График функции card приведен также на рис. 5.
Рис. . Функция card, порождающая множество записей натурального числа.
Натуральный ряд записей кардинальных чисел можно получить посредством использования операции добавления единицы к записи кардинального числа:
111…1+1 = 111…11 (4)
Однако так порождаются только синтаксически правильные конструкции записей натурального числа. Семантика каждой такой записи обозначение вполне определенного множества из K. Подобная семантика позволяет трактовать пул единиц 111…11 запись натурального числа, как представление мощности 111…11- элементного множества.
Вторая точка зрения - натуральное число являет собой средство для указания места элемента в линейно-упорядоченном абстрактном множестве MK. В этом случае натуральное число называется ординальным числом.
Место элемента в множестве M определяется процедурой "слева-направо рассчитайся". Назовем счетным состоянием множества M подмножество уже пересчитанных элементов множества. Максимальное счетное состояние совпадает с множеством M (все элементы пересчитаны). На рис.6 показан ряд счетных состояний множества M, который совпадает с началом натурального ряда абстрактных множеств K. Таким образом, множество записей ординарных чисел определяется функцией ord и совпадает с множеством записей кардинальных чисел.
Рис. . Функция ord порождающая множество записей ординарных чисел
Разница между кардинальным и ординальным числом проявляется при интерпретации записи числа: 111…1. В первом случае это обозначение мощности множества, во втором случае обозначение положения элемента в множестве. В естественном языке это различие более существенно используются количественные и порядковые числительные: множество из пяти элементов, пятый человек в шеренге.
Одинаковость формального языка записей кардинальных позволяет определять эти числа одной функцией:
card = ord= natural: A (5)
Итак, мы определили формальный язык записей натуральных чисел (кардинальных и ординарных) линейно-упорядоченное множество .
Каким образом использование натуральных чисел помогает решать прикладные задачи манипулирования реальными множествами?
Прикладная задача: Имеются две корзины с яблоками. Определить суммарное количество яблок в двух корзинах.
Задача определения суммарного количества яблок в двух корзинах на уровне реальных множеств решается посредством перемещения содержимого корзин A и B в корзину C, c последующим пересчетом количества яблок в корзине C. Очевидно, что это не лучший способ решения прикладной задачи.
Введение формализма натуральных чисел позволяет решить данную прикладную задачу, оперируя записями натуральных не прибегая к манипулированию содержимым реальных множеств.
Прежде всего, необходимо определить процедуру отображения реального множества - корзины с яблоками, в запись натурального числа, представляющего количество элементов в этом множестве.
На рис.7 показано, как реальные корзины с яблоками A и B отображаются в абстрактные множества MA и MB с мощностями A и B соответственно. Затем мощности этих множеств представляются записями натуральных чисел nA и nB.
По сути дела, предполагается существование двух функций: функция abstr отображает семейство реальных множеств в семейство абстрактных множеств M; функция natural отображает (кодирует) абстрактные множества из M в записи соответствующих натуральных чисел из . Функция natural суперпозиция двух функций: num.
Рис. . Раздельное объединение множеств и операция сложения натуральных чисел
Суперпозиция функций, natural abstr являет собой измерительную шкалу - функцию scalepower, отображающую семейство реальных множеств в записи натуральных чисел, представляющих мощности этих множеств:
n = scalepower(M); MM, n (6)
Таким образом, представление (кодирование) мощности реального множества осуществляется посредством вычисления функции () в заданной точке:
function scalepower(M);
counter:=0;
del(M);
while(not empty(M)) do
begin
counter:= counter +1;
del(M)
end;
scalepower:=counter
end.
Здесь используется вспомогательная операция исключения одного элемента из реального множества: del(<имя множества>). Также используется тестовая функция empty(<имя множества>) принимающая значение "ИСТИНА" если множество M пусто.
Очевидно, что при выполнении функции () осуществляется пересчет элементов множества посредством последовательного удаления из него элемента за элементом. Выполнение пересчета может осуществляться как человеком, так и техническим устройством.
Вернемся к задаче определения суммарного количества элементов в двух реальных множествах. В алгебре абстрактных множеств существует операция раздельного объединения двух множеств:
MC = MAMB (7)
Если - мощность множества, то справедливо следующее равенство:
(MC) = (MAMB) (8)
Примечание. Выше мы предположили, что элементы любых двух абстрактных множеств различны.
Введем в рассмотрение алгебру натуральных чисел (точнее, алгебру записей натуральных чисел):
Alg = <; +,> (9)
Здесь, - множество записей натуральных чисел, + - знак операции сложения записей натуральных чисел, - знак операции умножения записей натуральных чисел.
Императив операции сложения натуральных чисел записывается в виде символьной строки:
nA+nB = nC (10)
Императив операции сложения предписывает исполнителю выполнить вполне определенный алгоритм преобразования двух символьных строк слагаемых nAи nB в символьную строку результат nC.
Алгоритм преобразования символьных строк правомерно назвать алгоритмом сложения, если результирующая строка обозначает мощность (MAMB) раздельного объединения абстрактных множеств (Рис. 7). Если записи натуральных чисел представлены в примитивной кодировке, то алгоритм сложения натуральных чисел очевиден и чрезвычайно прост: результат сложения получается посредством присоединения записи второго слагаемого к записи первого слагаемого. Например, если nA = 111и nB = 11, то nC = 11111.
Здесь мы имеем простейший случай формализации (моделирования) артефактов реального мира. Одна из проблем моделирования адекватность формализма и реальности. В данном случае, насколько точно отражает результат преобразования символьных строк суммарное количество яблок в двух корзинах. Результат выполнения операции сложения натуральных чисел представляет суммарное количество яблок в двух корзинах, если записи натуральных чисел nAи nB правильно представляют количество яблок в корзинах A и B. Говоря другими словами, если формализация исходных данных соответствует действительности, то результат формальных вычислений также соответствует действительности.
Рассмотрим еще одну прикладную задачу. В магазин привезли множество B ящиков, каждый ящик множество A яблок. Определить количество яблок, завезенных в магазин. Для решения поставленной задачи необходимо выполнить nB раз операцию сложения количества яблок в одном ящике:
nA+ nA+…+ nA (11)
Многократное сложение заменяет операция умножения, которая определяется следующим образом. Реальные множества ящиков и содержимого ящиков абстрагируются множествами MA и MB, с соответствующими мощностями (MA), (MB).
Рис. . Декартово произведение множеств и операция умножения натуральных чисел
Если MA и MB абстрактные множества, то результат операции декартова умножения этих множеств являет собой множество MC:
MC=MAMB (12)
Если (MA) и (MB) мощности множеств MA и MB соответственно, то мощность (C) результирующего множества MC:
(MC) = (MAMB) (13)
Очевидно, что общее количество яблок абстрагируется множеством MC, которое является декартовым произведением двух множеств MAMB. Мощность результирующего множества - (MC).
Если определены записи nA и nB натуральных чисел, представляющие количество яблок в каждом ящике и количество ящиков соответственно, то императив операции умножения записывается в виде символьной строки:
nAnB = nC (14)
Императив операции умножения предписывает исполнителю выполнить вполне определенный алгоритм преобразования двух символьных строк сомножителей, nAи nB в символьную строку произведение nC.
Алгоритм преобразования символьных строк правомерно назвать алгоритмом умножения, если результирующая строка nC обозначает мощность (MAMB) произведения двух абстрактных множеств (Рис. 8).
Представление количественных (порядковых) характеристик натуральными числами позволяет различать однородные сущности. Например, говорить: "Возьмите корзину с пятью яблоками и оставьте корзину с десятью яблоками". Или говорить: "Наградите пятого человека в шеренге спортсменов".
Примечание. В практике вычислений принято вместо длинного термина "запись натурального числа" употреблять термин "натуральное число".
Для практического применения операции сложения умножения натуральных чисел необходимо решить следующие проблемы.
По сути дела, речь идет о создании формального языка записи натуральных чисел системы счисления натуральных чисел.
В принципе, для записи натуральных чисел можно использовать различные формальные языки.
Первоначально ЧЕЛОВЕКОМ была предпринята попытка использовать в качестве записи натуральных чисел символы алфавита естественного языка. Числа в церковно-славянских текстах записываются буквами. 30 букв алфавита имеют следующие числовые значения:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Очевидно, что в этом случае:
Теоретически удовлетворительной является примитивная система счисления натуральных чисел, используемая выше. Такая система счисления порождает формальный язык представления натуральных чисел, записи которого построены следующим образом. Алфавит формального языка состоит из одного знака: A ={1}. Любая последовательность единиц правильная запись натурального числа в примитивной системе счисления. Более того, каждая примитивная запись является самоинтерпретирующейся: значение числа представляется количеством единиц в этой записи. Алгоритм сложения натуральных чисел, представленных в примитивной системе счисления, очевиден и чрезвычайно прост.
По-видимому, единственный недостаток примитивной системы счисления большая длина записи, пропорциональная величине числа. Однако, этот недостаток настолько серьезен, что примитивная система счисления используется лишь для теоретических рассуждений.
Римская система счисления в качестве алфавита использует несколько собственных имен, каждое из которых является записью вполне определенного натурального числа: I- единица, V- пять единиц, X- десять единиц, L- пятьдесят единиц, C- единиц, M- тысяча единиц. Любая последовательность символов алфавита правильная запись числа. Величина числа, представляемая записью, определяется как сумма величин представляемых собственными именами записи. Например, XXX тридцать единиц (три раза по десять раз).
Примечание. На самом деле, конструкция записи числа в римской системе счисления несколько сложнее и здесь не обсуждается.
Римская система счисления позволяет записать любое натуральное число. Однако, записи чисел, величина которых больше тысячи становятся чрезвычайно длинными. Но главный недостаток римской системы счисления отсутствие регулярности в конструкции записи величины числа, что не позволяет единообразно интерпретировать записи различных величин. Следствием этого является отсутствие эффективных алгоритмов выполнения арифметических операций над величинами, представленными в римской системе счисления. Тем не менее, она широко используется в случаях, когда нет необходимости совершать действия над величинами (нумерация глав, год выпуска в академических изданиях и т.д.)
Наиболее эффективной явилась позиционная система счисления натуральных чисел с основанием 10, изобретение которой приписывается арабам. По сути дела, это система алфавитной письменности, в которой алфавит состоит из десяти цифр. Запись целого числа без знака являет собой линейную строку символов алфавита цифр, с универсальными правилами интерпретации любой записи. В дальнейшем оказалось, что основанием позиционной системы счисления может быть любое натуральное число большее единицы.
Ниже излагается концепция позиционной системы счисления натуральных чисел с произвольным основанием.
Выбирается произвольное, большее единицы, натуральное число, которое называется основанием системы счисления и обозначается как B. Числа меньшие B образуют базу системы счисления.
Для чисел базы выбираются уникальные символьные обозначения, которые называются цифрами. Интерпретация (натуральная величина) каждой цифры известна априори.
Имеется два формата символьной строки обозначения величины натурального числа.
Формульный формат записи натурального числа. Запись любого натурального числа конструируется из цифр и знаков операций сложения-умножения. Такая символьная конструкция, которая представляет величину числа, называется формулой FB натурального числа в позиционной системе с основанием B и имеет канонический вид:
FB = (dn-1Bn-1+dn-2Bn-2+... diBi+…+d1B1+d0B0)в. (15)
Здесь, di - цифра, - знак операции сложения, - знак операции умножения, B основание системы, Bi основание системы счисления, умноженное само на себя i раз.
Рис. . Обозначение величины натурального числа в формате формулы и в формате записи.
Символьный формат записи натурального числа. В силу специфичности строения формулы натурального числа, последовательность коэффициентов формулы последовательность цифр, также единственным образом представляет величину числа и называется записью значения натурального числа в В-ичной системе счисления:
n = (dn-1dn-2...d1d0)в (16)
При этом, о коэффициенте di принято говорить как об i-м разряде натурального числа, а о значении n - как о количестве разрядов числа.
Замечательное свойство позиционной системы счисления запись любого натурального числа конструируется из конечного числа знаков цифр.
Конкретная формула натурального числа (запись натурального числа), по сути дела определяет способ выражения значения конкретного числа через априорно известные значения конечного числа цифр.
Примечание. Подобная система обозначений натуральных величин называется позиционной системой счисления, потому что в формуле числа каждое число базы, представленное цифрой, вносит в значение числа вклад, пропорциональный позиции, в которой эта цифра располагается.
Чрезвычайно важно, что позиционная система счисления позволяет определить алгоритмы выполнения операций сложения - умножения натуральных чисел как преобразование исходных символьных записей (операндов операций) в результирующие символьные записи (результаты операций). При этом формула F3 результата операции обозначает значение суммы (рис.5): n3 = n1+n2.
Рис. .Операция сложения натуральных чисел
Позиционная система счисления удовлетворяет всем требованиям к системе счисления, которые сформулированы выше. Прежде всего:
Исторически получили распространение следующие системы счисления натуральных чисел: десятичная (арабы, основание 10), двенадцатеричная (англичане, основание 12), шестидесятея ричная (время, основание 60). С появлением компьютеров в практику вошли двоичная, восьмеричная и шестнадцатеричная системы счисления.
Множества записей натуральных чисел и записей целых чисел линейно упорядочены и дискретны.
Пусть L+ - положительный луч, т.е. направленная геометрическая полупрямая, которая имеет точку начала O и уходит в +. Очевидно, что положительный луч НЕПРЕРЫВНОЕ множество точек. Введем в рассмотрение эталон измерения расстояния на луче L+ как отрезок прямой, длина которого e известна априори. Разметим луч L+, откладывая последовательно от его начала O эталон за эталоном (рис.11). В результате получим бесконечное ДИСКРЕТНОЕ множество + точек луча L+.
Введем в рассмотрение мерную последовательность Se([p',p'']) как последовательность эталонных отрезков прямой, соединяющих точки p'+ и p''+. Мерная последовательность Se([O,p]) определяет расстояние (p) = Se([O,p]) точки p+ от начала O луча L+.
Дискретное множество отрезков, образующую мерную последовательность, имеет вполне определенную мощность ( Se([O,p])). Таким образом, имеется возможность связать конкретную точку p+ на L+ с конкретной записью натурального числа из :
np = num(((p))) = natural((p) (17)
Положительный луч L+, на который нанесено множество точек + можно рассматривать как прототип альтернативного определения натурального числа и вместо функции () записать следующую функцию:
natural: + + (18)
Графическое обозначение графика этой функции (Рис.11) принято называть натуральной числовой прямой.
Рис. . Натуральная числовая прямая как график функции определения натурального числа
Множество записей натуральных чисел вместе с операциями сложения и умножения образует алгебру натуральных чисел).
Alg = < ; +,> (19)
Здесь, - множество записей натуральных чисел, +, - сигнатура операций алгебры натуральных чисел.
Множество замкнуто относительно операций сложения и умножения, т.е. результат операции над любыми двумя натуральными числами является натуральным числом (Рис.12).
Рис. . Замкнутость множества записей натуральных чисел относительно операции сложения
Необходимая в человеческой практике возможность сравнения мощностей двух множеств требует введение в рассмотрение понятия отрицательного числа, целого числа и операции вычитания двух целых чисел.
Если n1 и n2 натуральные числа, то операцию вычитания натуральных чисел, как операцию обратную сложению, можно записать в виде следующей символьной строки:
n1n2 = n3 (20)
Здесь, n1 - уменьшаемое, n2 вычитаемое, - знак вычитания натуральных чисел, n3 разность. Все записи представлены в примитивной кодировке.
Семантика операции вычитания заключается в следующем: Из записей n1 и n2 последовательно удаляются единицы до тех пор, пока обе записи или одна из них не станут пустыми.
Возможны три различных значения результата вычитания натуральных чисел.
Первый вариант вычитания. Значения уменьшаемого и вычитаемого одинаковы. Обе записи n1 и n2 одновременно становятся пустыми: разность уменьшаемого и вычитаемого равна n3 = 0. Например: 111 - 111 = 0.
Второй вариант вычитания. Значение уменьшаемого больше значения вычитаемого. Пустой становится запись вычитаемого: результат операции - натуральное число n3, значение которого представляется остатком записи уменьшаемого. Например: 11111 - 111 = +11.
В обоих случаях результат вычитания находится в множестве натуральных чисел
Третий вариант вычитания. В случае, когда вычитаемое больше уменьшаемого, результат операции не принадлежит множеству натуральных чисел. Говоря другими словами, множество натуральных чисел НЕ ЗАМКНУТО относительно операции вычитания. Говоря другими словами, операция "" вычитания натуральных чисел определена, если результат операции является натуральным числом.
Понятие целого числа появилось в математике как расширение понятия натурального числа. Практические предпосылки необходимо абстрагировать меру сравнения в количестве элементов образующих два множества, вне зависимости от их физической сущности. Математическая цель расширения обеспечить замкнутость множества целых чисел относительно операции вычитания.
Аналогично предыдущему случаю, целое число определяется как отображение прототипа целого числа в множество записей целых чисел. В качестве прототипа целого числа используем геометрическую прямую (два противоположно направленных луча L+ и луч L-), размеченную точками, находящимися на эталонном расстоянии друг от друга (Рис. 13.). Соответственно получается два дискретных множества точек прямой:+ и -.
Рис. . Целочисленная числовая прямая как график функции integer определения целого числа
Точки множества + обозначаются записями положительных целых чисел z := +n, точки множества - обозначаются записями отрицательных целых чисел z := -n. Здесь, n запись натурального числа, обозначающего мощность абстрактного множества из A.
Формат записи целого числа: <знак числа><>
Для каждого положительного (натурального) числа +z существует только одно отрицательное число, обозначаемое z, которое дополняет +z до нуля:
(+z )+ (-z) = 0 (21)
Абсолютная величина целого числа z:=n обозначается как /z/ и определяется как расстояние точки прототипа числа от нуля:
(22)
Можно предложить следующую интерпретацию целых чисел. Запись положительного целого числа обозначает мощность профицитного множества M+, записи которого интерпретируются как "доход". Запись отрицательного целого числа обозначает мощность дефицитного множества M, записи которого интерпретируются как "расход". Мощность профицитного множества равна мощности абстрактного множества из A.
Операция целочисленного сложения определяется как объединение двух множеств с учетом их профицитности или дефицитности.. При таком
График функции integer приведен ниже.
Декартово произведение KK |
Множество записей целых чисел |
n1=n2 |
z =0 |
n1>n2 |
z = +(n1n2) |
n1<n2 |
z= (n2n1) |
В результате такого расширения получается линейно упорядоченное множество , состоящее из множества записей натуральных чисел, которые трактуются как положительные целые числа {+z}+ и множества записей отрицательных целых чисел {z}, которые трактуются как отрицательные целые числа.
Числовая прямая, определяющая целое число показана на рис.14.
z1-z2 = z3 (23)
Множество замкнуто относительно операции вычитания "-".
Все отрицательные числа, и только они, меньше, чем 0. На числовой оси отрицательные числа располагаются слева от нуля. Для них, как и для положительных чисел, определено отношение порядка, позволяющее сравнивать одно число с другим.
Примечание. Знак "+", в зависимости от контекста трактуется двояко. В записи "+z" это префикс положительного числа, который чаще всего опускается. Знак "+" между z и z это знак операции сложения целых чисел.
Рис. . Расширение множества натуральных чисел до множества целых чисел
Абсолютная величина целого числа /z/ = расстояние на целочисленной прямой записи числа от нуля:
(24)
Таким образом, определена алгебра целых чисел:
Alg = <; +,,> (25)
Здесь, - множество записей натуральных чисел, +,, - сигнатура операций алгебры целых чисел. Множество целых чисел замкнуто относительно операций +,,.
Практически всегда целые числа представляются в позиционной системе счисления в виде символьных записей: <знак числа><абсолютная величина числа>. Например, -125, +125. Хорошо известен алгоритм выполнения операций сложения, вычитания и умножения целых чисел, представленных в позиционной системе счисления.
Дискретное множество натуральных чисел и дискретное множество целых чисел абстрагируют количественные (дискретные) характеристики реальных множеств (количество яблок в той или иной корзине) и отношения между этими характеристиками (насколько количество яблок в корзине A больше/меньше количества яблок в корзине B).
Вещественное, или действительное число математическая абстракция, возникшая из потребности представления непрерывных характеристик. Непрерывная характеристика может принимать любое значение из непрерывного множества. Например, температура объекта, сила тока в проводнике и т.д. и т.п. Для представления значений непрерывных характеристик используется множество записей вещественных чисел. Следовательно, прототипом вещественного числа должно служить непрерывное множество.
Неотрицательное вещественное число мы определим как функцию, отображающую непрерывное множество точек геометрического положительного луча L+ с началом O (прототип вещественного числа) в непрерывное множество записей неотрицательных вещественных чисел + - обозначений точек этого луча:
real+: L++ (26)
Функция реализуется посредством измерения расстояния точки p L+ от начала O положительного луча и обозначения этого расстояния записью вещественного числа.
Пусть p точка на L+ (Рис.15). Расстояние точки p от начала луча O равно (Рис.15):
([p]) = Se([O,p1]) + S0.1e([p1,p2]) + S0.01e([p2,p]) (27)
Здесь, Se([O,p1]) мерная последовательность с эталоном e, S0.1e([p1,p2]) - мерная последовательность с эталоном , S0.01e([p2,p]) - мерная последовательность с эталоном .
Рис. . Положительная вещественная числовая прямая как график функции real+ определения вещественного неотрицательного числа.
Для примера (Рис.15) мощности отрезков, образующих мерные последовательности равны: num((Se([O,p1]))) = 2, num((S0.1e(p1,p2])) = 5, num((S0.01e(p2,p])) = 3. Следовательно, формула неотрицательного вещественного числа, обозначающего точку p имеет вид:
(28)
При e=1 запись этого числа в виде десятичной дроби имеет вид:
(29)
В общем случае, сумма мерных последовательностей бесконечна конечна, и формула неотрицательного вещественного числа имеет вид:
Здесь, di цифра десятичной позиционной системы счисления.
Существенно, что любо
Соответствующая запись вещественного числа в виде десятичной дроби имеет вид:
…dn-1…d1d0.d-1d-2… (30)
Здесь, di цифра десятичной позиционной системы системы, точка отделяет целую часть числа от его дробной части.
Точка отделяет целую часть записи числа от дробной части. Если десятичная дробь конечна или периодична, то число определяется как действительное вещественное число. В противном случае, число иррациональное вещественное число.
Аналогично предыдущему, множество + записей неотрицательных вещественных чисел расширяется до множества записей вещественных чисел. В результате получается числовая прямая, которая является графиком функции real, определяющей вещественное число (Рис.16).
Рис. . Числовая прямая как график функции real определения вещественного числа.
Алгебра вещественных чисел определяется следующим образом:
Areal = <;+,,,\> (31)
Здесь, - множество записей вещественных чисел; +,,,\ - сигнатуры операций, относительно которых множество замкнуто.
Измерительная шкала функция (), отображающая какой либо атрибут таксона физических сущностей в множество записей вещественных чисел. Например, шкала температур:
scalet: T (32)
Конструктивно, график функции () - реализуется в конструкции измерительного прибора в виде шкалы измерительного прибора, например шкалы термометра. Шкала термометра физическая линейка, размеченная значениями температуры, являет собой реализацию числовой прямой (Рис.17).
Рис. . Измерительная шкала термометра
Точки физической линейки :
Кроме шкалы в измерительный прибор входит датчик, состояния которого представляют возможные значения измеряемой характеристики. В случае термометра, датчиком является столбик ртути, длина которого "следит" за температурой внешней среды. Подразумевается, что в каждый момент времени длина столбика ртути (текущее состояние датчика) отражает текущее значение t температуры внешней среды. Текущее состояние датчика указывает вполне определенную точку на физической линейке термометра, что позволяет произвести отсчет текущей температуры внешней среды (т.е. вычислить значение функции realabsr в точке t).
Измерительная температурная шкала в совокупности с датчиком температуры (ртутным столбиком) образуют ртутный термометр.
Проблемой является определение реперных точек измерительной шкалы, т.е. значения измеряемой величины, которая считывается как запись "0" на измерительной шкале, и эталона измерения. Применительно к измерению температуры, исторически, "волевым решением" определены три измерительные шкалы температуры.
Интервальная шкала температуры Цельсия: 0С на температурной шкале соответствует температуре замерзания воды при атмосферном давлении в 1 атмосферу. Температура кипения воды - 100С на температурной шкале. Эталон измерения температуры градус Цельсия: 1С = (t замерзания воды t кипения воды)/100. Шкала предложена шведским ученым Андерсом Цельсием в 1742 г.
Относительная шкала температуры Фаренгейта: 0F температура смеси воды, льда и нашатыря, 96F температура тела здорового человека, 32F точка таяния льда. Эталон измерения температуры градус Фаренгейта: 1F = (t тела здорового человека t смеси воды, льда и нашатыря)/100 = (t кипения воды t таяния льда)/180. tC = 5/9(tF-32). Шкала предложена немецким ученым Габриэлем Фаренгейтом в 1724 г.
Абсолютная шкала температуры Кельвина. Абсолютный ноль наиболее низкая возможная температура, при которой невозможно извлечь из вещества тепловую энергию.
Абсолютный ноль (0K) равен -273.15С. Точка замерзания воды: 273.16K. Эталон измерения температуры градус Кельвина: 1K =1С. tС = tK-273.15. Шкала предложена британским физиком Уильямом Томcоном в 1848 году, которому было пожаловано звание лорд Кельвин.
Примечание. В настоящее время реперные точки шкалы Кельвина и шкалы Фаренгейта несколько изменены, что не вызывает большой разницы в "старых" и "новых" измерениях.
Хронология событий. Математик аль-Хорезми (около 820 г.), автор фундаментальной книги «Китаб Аль-джебр валь-мукабала» (от названия которой возникло слово «алгебра»), ввел понятие алгоритма, он же предложил десятичную систему счисления. Около 850 г. н. э. Аль-Хорезми публикует свой труд Арифметика.
В Европе ширится распространение арабских цифр, а также понятий нуль и позиционность. Постепенно арабские цифры вытесняют римские, но окончательно это произойдет лишь в XVII веке.
Итальянский математик, монах Лука Пачиоли (1445-1517) напечатал две книги: «Сумма знаний по арифметике, геометрии, учение о пропорции и пропорциональном», в которой впервые описываются письменные приемы счета и используются арабские цифры, и «Трактат о счетах и записях» самую первую книгу по бухалтерскому учету. В ней впервые сформулирован основной принцип бухгалтерии принцип двойной записи.
Леонтий Магницкий (16691739 гг.) математик, преподаватель Московской навигационной школы, публикует книгу «Арифметика» первое в России полноценное введение в математику. В ней впервые в России используется европейское десятичное исчисление. В последующие 50 лет «Арифметика» оставалась основным Российским математическим трудом.
Решение проблемы численного представления характеристик артефактов оказалось недостаточным. Дело в том, что многие артефакты находятся в различных отношениях друг с другом. Говоря другими словами, существует множество зависимостей между артефактами различного рода, которые надо представлять и анализировать: зависимость пройденного пути от скорости движения, зависимость траектории снаряда баллисты от начальной скорости снаряда, зависимость площади треугольника от величины его сторон и т.д. и т.п.
Разнообразие подобных задач приводит к пониманию необходимости абстрагировать зависимости между артефактами различного рода в понятие "функциональная зависимость" ("математическая функция"). Особое внимание имеют функциональные зависимости от времени, абстрагирующие поведение процессов различного рода.
По-видимому, формирование представления о математической функции происходило параллельно со становлением такой естественно-научной дисциплины как физика. С целью аппроксимации поведения физических явлений функциями, сформировалась самостоятельная научная дисциплина математическая физика. В рамках этой дисциплины рассматриваются классы физических явлений и предлагаются математические модели этих явлений. Начиная со второй половины 19-го века, математическая физика успешно применялась для изучения физических явлений, связанных с различными физическими полями и волновыми процессами в электродинамике, акустике, теории упругости, гидро и аэродинамике и т.д.
Математическая физика тесно связана с физикой в той своей части, которая связана с построением математических моделей, но остается разделом математики, поскольку методы исследования моделей являются математическими.
Вещественная функция многих вещественных переменных в аналитическом формате записывается следующим образом:
y = f(x1,...,xn) или F(y, x1,...,xn) = 0 (33)
Здесь, x1,...,xn,y вещественные переменные, принимающие значения из континуума вещественных чисел R.
Среди множества вещественных функций выделяется подмножество элементарных функций, каждую из которых можно вычислить (с заранее известной точностью), используя лишь четыре арифметические операции: сложения, вычитания, умножения и деления.
Более строго, понятие элементарной функции определяется следующим образом. Прежде всего, выделяются три класса базисных функций, которые по определению считаются элементарными.
1. Базисные арифметические функции операции: сложение, вычитание, умножение и деление.
2. Базисные математические функции: xy, log(x), ex и т.д.
3. Базисные тригонометрические функции: sin(x), cos(x) и т.д.
Класс элементарных функций определяется следующим образом: любая конечная суперпозиция базисных элементарных функций является элементарной функцией.
Функция считается вычислимой, если существует алгоритм, позволяющий за конечное число шагов определить значение функции для любого допустимого значения ее аргумента. [В.А. Успенский. Лекции о вычислимых функциях. М.: Гос. изд-во ф.м лит-ры, 1960]. Покажем, что любая элементарная функция вычислима.
Любая базисная арифметическая функция вычислима, так как в компьютере реализованы команды императивы вычисления этих функций.
Любая базисная математическая функция представляется в виде сходящегося ряда Тейлора (по крайней мере, в известных пределах). Таким образом, такую функцию можно вычислить посредством вычисления частичной суммы - k первых членов ряда Тейлора. Точность вычисления определяется величиной k. Заметим, что для вычисления частичной суммы достаточно использования команд императивов вычисления базисных арифметических функций.
Аналогичное заключение справедливо для базисных тригонометрических функций.
Таким образом, любая элементарная функция, представленная в виде конечной суперпозиции базисных элементарных функций, вычисляется с требуемой степенью приближения посредством выполнения последовательности команд, вычисляющих базисные элементарные функции сложения, вычитания, умножения и деления.
Элементарные функции являются лишь подклассом класса всех вещественных функций, однако большинство физических явлений абстрагируется в виде задач математической физики, решение которых сводится, в конечном итоге к многократному вычислению элементарных функций. Алгоритмы вычисления базисных элементарных функций известны.
Рассмотрим на примерах, как элементарные математические функции абстрагируют статические зависимости и динамические процессы в предметных областях.
Пример 1. Измерительная схема (Рис. 18) позволяет снять экспериментальную кривую зависимости напряжения (обозначение U) на резисторе от тока (обозначение I). Очевидно, что для приближенного представления этой зависимости использоваться линейная функция. Коэффициент наклона графика линейной функции называется сопротивлением и обозначается как R. Подобное представление экспериментальной кривой математической функцией называется аппроксимацией. Аппроксимирующая функция записывается в виде формулы V=R*I и называется законом Ома.
Рис. . Аппроксимация линейной функцией зависимости напряжения от тока. Amp амперметр, Volt - вольтметр
Пример 2. . Измерительная схема (Рис. 19) позволяет снять экспериментальную кривую зависимости напряжения (обозначение U) на конденсаторе емкости С от времени (обозначение t) при замыкании ключа K. Аппроксимирующая функция в этом случае записывается в виде формулы: U = E(1-exp(t/RC)).
Рис. . Аппроксимация процесса заряда конденсатора экспонентой
Пример 3. Типичным примером системы, осуществляющей простое гармоничное движение, является идеализированная система груз-пружина, в которой груз присоединен к пружине. Поведение консервативного гармонического осциллятора представляется в виде дифференциального уравнения второго порядка (формульная запись неявной функции F(x'',x, 2o,t) = 0):
x''+2ox = 0
Здесь, 2o = k/m, где x смещение груза относительно положения равновесия, k жесткость пружины, m масса груза. Коэффициент 0 называют циклической частотой осциллятора.
Аналитическое решение уравнения () записывается в виде гармонической функции:
x(t) = Asin(0t+) (9)
Функция (8) играет роль аппроксимирующей функции для экспериментальной кривой движения системы груз-пружина. (График функции совпадает с экспериментальной кривой движения этой системы).
Однако, во многих случаях, получить аналитическое решение задачи, посредством манипуляций с формульной математической моделью, не представляется возможным. Говоря другими словами, если и имеется возможность аппроксимировать закон поведения физических тел в виде уравнения (системы уравнений), то извлечь из этих формализмов практически важные следствия, то есть траектории движения этих тел, пользуясь только формулами невозможно.
Таким образом, в традиционном математическом аппарате (математический анализ, абстрактная алгебра) имеется брешь, заполнить которую позволяют алгоритмы. Например, при алгоритмическом подходе в математической физике производные заменяются на разностные схемы, в результате чего задача решения системы дифференциальных уравнений сводится к задаче линейной алгебры. Используя тот или иной алгоритм решения линейных алгебраических уравнений можно получить численное решение практически любого дифференциального уравнения []. Однако, за все надо платить. Если аналитическое решение дифференциального уравнения () представляет поведение маятника при любых его параметрах (масса грузика, длина плеча, начальные условия), то численное решение дает результат лишь при конкретных значениях этих параметров. Для того чтобы представить поведение маятника "вообще", необходимо многократно повторять решение дифференциального уравнения при всевозможных значениях параметров маятника.
Не вызывает сомнения, что при разработке формального аппарата математического анализа и абстрактной алгебры ЧЕЛОВЕК ориентировался, прежде всего, на решение проблем формализации физических артефактов среды обитания. Созданный, в конечном итоге, усилиями многих выдающихся математиков формализм элементарных функций обеспечил формализацию и решение большинства физических задач.
Вычислимость элементарных функций и их приспособленность для моделирования сущностей физического мира обуславливают их широкое применение при решении теоретических, технических и практических задач.
Вне всякого сомнения, как только ЧЕЛОВЕК столкнулся с необходимостью формализации окружающей действительности, он начал учиться вычислять элементарные функции. Также понятно, почему первые арифмометры, а затем и первые компьютеры проектировались как вычислители, способные автоматически выполнять четыре арифметические команды: сложения, вычитания, умножения и деления.
Если область допустимых значений каждого аргумента функции совпадает с областью ее значений, такую функцию принято называть операцией. Следовательно, базисные математические функции, из которых конструируются элементарные функции суть операции.
В самом общем виде алгебра определяется как некоторое множество (носитель) на котором задана сигнатура операций. Мы будем говорить об элементарной алгебре, носителем которой является континуум вещественных чисел, а сигнатура состоит из базисных вещественных функций.
Выражение элементарной алгебры состоит из операндов и операций, записанных в соответствии с общеизвестными синтаксическими правилами. В программировании такое выражение называется арифметическим выражением. Существует три различных формата записи арифметического выражения: префиксный (знак операции ставится перед операндами этой операции), инфиксный (знак операции ставится между операндами этой операции) и постфиксный (знак операции ставится после операндов этой операции). Очевидно, что префиксный формат записи арифметического выражения является ничем иным как записью суперпозиции, определяющей элементарную функцию. Учитывая, что одно и то же арифметическое выражение может быть записано как в префиксном, так и в инфиксном формате, получаем, например:
f(x1,x2,x3,x4) = f*(f+(x1,x2),f-(x3,x4)) = (x1+x2)*(x3-x4) (34)
Аналитическая запись элементарной функции имеет следующий вид:
y = f*(x1,x2,…,xn) (35)
Здесь, f*(x1,x2,…,xn) инфиксное арифметическое выражение, определяющее элементарную функцию f(x1,x2,…,xn).
Арифметическое выражение f*(x1,x2,…,xn) является именем значения функции, переменная y второе имя функции. Запись (35) является утверждением: имя y и имя f#(x1,x2,…,xn) обозначают одно и то же значение функции (Рис.20).
Рис. . Аналитический формат записи элементарной функции y = f(x1,x2,…,xn)
Вычисление - математическое преобразование, позволяющее преобразовывать набор исходных данных в выходной набор данных по вполне определенным правилам. Если смотреть с точки зрения теории информации, вычисление - это получение из входных данных нового знания. Вычисления подразделяются на аналитические и численные.
Аналитические вычисления преследуют цель преобразования исходных символьных строк в результирующие формулы, представленные в аналитическом виде. Такие преобразования реализуют упрощение арифметических выражений (приведение подобных, раскрытие скобок, группировку подобных членов); вычисление производных и интегралов; решение систем алгебраических и дифференциальных уравнений и т.д.
Аналитическое вычисление позволяет представить функциональную зависимость в общем виде для всего диапазона области допустимых значений функции. Это представление являет собой явную аналитическую формулу вида: y = f#(x1,…,xn). В случае, когда необходимо определить значение функции при заданных значениях ее аргументов: [x1],…,[xn], реализуется вычисление арифметического выражения f#(x1,…,xn) в два этапа:
конкретизация арифметического выражения - имена аргументов заменяются на значения аргументов;
вычисление конкретизации арифметического выражения посредством выполнения образующих его операций при заданных значениях операндов.
Пример. (x1+x2)*(x3-x4)/5,3,7,5 = (5+3)*(7-5) = 16
Примечание. Здесь особо проявляется целесообразность представления элементарной функции в виде арифметического выражения. Алгоритм вычисления любой конкретизации арифметического выражения существует и хорошо известен.
Мы рассмотрели случай, когда после аналитических вычислений полученный результат служит исходными данными для численных алгебраических вычислений. При этом численные вычисления сводятся, в конечном итоге, к выполнению в определенном порядке последовательности арифметических операций.
Однако, аналитические вычисления не всемогущи. Далеко не всегда при решении уравнений результат может быть представлен в аналитическом виде (в формате явной формулы элементарной функции). Вследствие этого невозможно вычислить значение функции при заданных аргументах посредством обозначения этого значения арифметическим выражением (Рис. 20) с последующей его конкретизацией.
Прежде всего подобная ситуация возникает при решении систем дифференциальных уравнений. В этом случае вычисление реализуется посредством выполнения специфического для данной системы уравнений алгоритма преобразующего значения аргументов функции (значения переменных и параметров уравнений) в численный результат, представляющий значение функции, т.е. решение системы уравнений в заданной точке. Подобную методологию принято называть численными алгоритмическими вычислениями.
Пример. Решение системы линейных дифференциальных уравнений методом Рунге Кута.
На самой заре развития информатики были сформулированы две принципиально различные парадигмы вычисления элементарных функций: аналоговая и цифровая.
Аналоговая парадигма предполагает представление числовой величины величиной характеристики какой-либо физической сущности. При этом устанавливается соответствие между величиной числа и характеристикой физической сущности. Аналоговое представление позволяет выполнять операции над числами как операции над характеристиками физических сущностей.
Пример: вещественное число представляется длиной отрезка счетной линейки; вещественное число представляется величиной электрического тока в электронном сумматоре и т.д.
Развитием парадигмы аналоговой обработки данных является создание аналоговых моделей реальных физических объектов. Суть дела состоит в том, что модель и ее реальный прототип реализованы на различных физических принципах, но поведение обоих описывается одними и теми же алгебраическими (дифференциальными) уравнениями. Таким образом, экспериментируя с моделью, можно интерпретировать полученные результаты применительно к реальному прототипу.
Пример. Построенная определенным образом электронная схема, моделирует колебательные процессы физического маятника.
Цифровая парадигма представляет числовую величину состоянием какого-либо технического дискретного носителя данных. Например, состоянием регистра компьютера. Цифровое представление позволяет выполнять операции над числами как операции изменения состояний технического носителя.
Развитием парадигмы цифровой обработки данных привело, в конечном итоге, к созданию программно-управляемых машин преобразования данных компьютеров.
Простейшим аналоговым вычислительным прибором является так называемая арифметическая линейка, позволяющая автоматически выполнять операции сложения и вычитания. Такая линейка состоит из двух частей: основание - нижняя неподвижная часть и движок - верхняя подвижная часть (рис. 7). На основание нанесена числовая линейная шкала (рис.7 a). Каждый сектор s (между двух длинных соседних рисок) представляет собой единицу. Сектор s состоит из десяти интервалов, каждый из которых имеет длину l. Таким образом, длина сектора s = l*10. Каждая длинная риска помечена целым числом n, которое представляет порядковый номер этой риски в последовательности рисок. Длина части основания, заключенной между рисками 0 и n, равна Ln = s*n = (10*l)*n. Аналогичная числовая шкала нанесена на движок.
Таким образом, можно утверждать, что вещественное число r = n.m с точностью до одного десятичного знака представляется аналогом - длиной отрезка базы или движка:
Ln.d = s*n+l*m.
Сказанное выше позволяет выполнять операцию сложение двух вещественных чисел посредством операции сложения представляющих их длин. Операция сложения двух вещественных чисел реализуется следующим образом (рис.21 b).
На числовой шкале основания откладывается длина Lr1 представляющая величину первого слагаемого риска n1.m1.
Начало движка устанавливается на эту риску.
В вычислительной линейке имеется подвижный визир, посредством которого на шкале движка устанавливается длина Lr2 представляющая величину второго слагаемого риска n2.m2.
По визиру на шкале основания считывается результат сложения длин.
Если запись первого слагаемого: r1 = n1.m1, и запись второго слагаемого: r2 = n2.m2, то в результате сложения длин получается следующий результат:
L1+L2 = s*n1+l*m1+s*n2+l*m2 = s*(n1+n2) +l(m1+m2) r1+r2
Рис. . Сложение на арифметической линейке: 3+4 =7
Арифметическая линейка позволяет также выполнять операцию вычитания двух вещественных чисел. Для выполнения операций умножения и деления такая линейка не предназначена.
Этапом в развитии средств автоматизации вычислений явился выпуск Джоном Непером в 1614 г. научного труда "Описание удивительной таблицы логарифмов". В своем труде Джон Непер не только теоретически обосновал логарифмическую функцию, но и разработал практическую таблицу двоичных логарифмов. Изобретение упростило выполнение операций умножения и деления, так как при умножении достаточно сложить логарифмы чисел.
Логарифмическая линейка, точно также как и арифметическая линейка имеет неподвижную основу и подвижный движок. На основе располагаются две числовые шкалы: линейная шкала чисел и логарифмическая шкала чисел. В этом случае длина на логарифмической шкале представляет логарифм числа. Сложение длин, представляющих два сомножителя, дает в результате длину, представляющую произведение сомножителей. Результатом вычитание длин, представляющих делимое и делитель, является длина, представляющая частное от деления.
Примечание. По сути дела пара шкал (как на основе, так и на движке) являет собой таблицу логарифмов и антилогарифмов.
РРис. . Умножение на логарифмической линейке: 2*3 + 6
Таким образом, логарифмическая линейка автоматизирует выполнение четырех арифметических операций.
Простота пользования и дешевизна изготовления объясняет тот факт, что логарифмическая линейка, в разных модификациях, стала необходимым инструментом инженера и научного работника и дожила до 80-х годов XX века. Адекватной заменой логарифмической линейке стал только электронный микрокалькулятор. Однако, последний относится к классу цифровых вычислительных приборов.
Рис. . Типичная логарифмическая линейка
Существенным недостатком логарифмической линейки (равно как и всех аналоговых вычислителей) является малая точность вычисления, которая определяется длиной интервала разметки численной шкалы. Если длина интервала один миллиметр, то гарантируется точность вычисления в один десятичный знак после запятой. Увеличивая общую длину линейки можно получить большую точность. В конструкторских бюро, где проводились серьезные вычисления, существовали "точные" логарифмические линейки, вплоть до двухметровой длины. Но подобный способ увеличения точности вычислений имеет свой предел и является тупиковым. Вычисления, теоретически, с любой точностью можно реализовать только на цифровых вычислителях.
Историки говорят, что первое упоминание о вычислительном приборе типа "абак" встречается в Вавилоне 3000 лет до н.э. Конструкция абака, аналогичная русским счетам появилась 500 лет до н.э.
Абак (рис.24.a) представляет собой ящик, состоящий из нескольких отделений. Принадлежностью абака является кучка счетных камней (Рис.a, внизу). Все счетные камни калиброваны на один размер. В отделении ящика может размещаться ровно девять счетных камней.
Рис. . Абак (a) и русские счеты (b)
Каждое отделение ящика представляет вполне определенный разряд десятичной системы счисления: единицы, десятки, сотни, тысячи. Состоянием отделения ящика (разряда числа) является количество камней, размещенных в нем. Каждое состояние представляет какую-либо цифру или основание десятичной системы счисления:
Целочисленное поразрядное сложение n1+n2 реализуется следующим образом. В отделения ящика разряды числа помещаются камушки, представляющие первое слагаемое n1.
Пусть d1и d2 цифры разряда единиц первого и второго числа.
В отделение ящика разряд единиц, помещаются d1 камушков (Рис.25 a);
В отделение единиц последовательно добавляется число камушков d2, представляющих цифру единиц числа d2. При этом возможны два варианта;
1. d1+d2 < 10 - отделение переходит в состояние d1+d2 (цифра единиц результата).
2. (d1+d'2 +d''2 10) & ( d'2 = 10'd1). Добавление d'2 камушков в отделение единиц дает состояние 10. Камушки из разряда единиц убираются, добавляется один камушек в разряд десятков (перенос в старший разряд), в разряд единиц добавляется d'' камушков (рис. 25.b).
Рис. . Сложение на абаке: 109+2=111
Для разрядов десятков сотен и т.д. действия аналогичны.
Конкретный пример сложения на абаке приведен на рис. 25. Достаточно просто на абаке выполняется вычитание. Для выполнения операций умножения и деления абак не предназначен.
Рис. . Древнегреческий абак
Русские счеты (рис.24.b) позволяют вычислять аналогично абаку, но имеют более эргономичную конструкцию. На деревянной раме смонтировано некоторое количество горизонтальных стержней, на каждом стержне размещается десять дисков. Диски обычно изготавливались из кости и носили название "костяшки". "Костяшки" могут двигаться по стержню влево - вправо. Состоянием стержня является количество "костяшек" придвинутых к правому краю. Каждое состояние представляет либо цифру, либо основание десятичной системы счисления:
Каждый стержень представляет вполне определенный разряд десятичной системы счисления: единицы, десятки, сотни, тысячи.
Поразрядное сложение n1+n2 реализуется практически так же, как сложение в абаке. Пусть d1 и d2 цифры разряда единиц первого и второго числа.
В разрядах счет "костяшки" устанавливаются таким образом, чтобы состояния стержней представляли цифры первого слагаемого (Рис.27).
Пусть на стержне единиц находится d1"костяшек" справа (состояние стержня d1 цифра единиц первого слагаемого)
Начинаем перекидывать d2"костяшек" (d2- цифра единиц второго слагаемого) по стержню единиц слева направо. При этом возможны два варианта.
1. d1+d2 < 10 - отделение переходит в состояние d1+d2 (цифра единиц результата).
2. (d1+d'2 +d''2 10) & ( d'2 = 10'd1). Добавление d'2 костяшек в разряд единиц дает состояние 10. Костяшки разряда единиц сбрасываются влево, добавляется одна костяшка в разряд десятков (перенос в старший разряд), в разряд единиц добавляется d'' костяшек (рис. 27).
и т.д. для стержней десятков, сотен…
Пример сложения на русских счетах двух чисел приведен на рис 27.
Рис. . Пример сложения на русских счетах
Нетрудно сообразить, как на русских счетах выполнить операцию вычитания. При этом, вместо переноса из младшего разряда в старший, используется заем из старшего разряда в младший. Для выполнения операций умножения и деления русские счеты не предназначены.
Несколько слов относительно вычисления с вещественными числами. Проще всего дело обстоит с нормализованными числами. Нормализованное вещественное число имеет в целой части цифру "0" и первую ненулевую цифру в дробной части. Поразрядное сложение осуществляется описанным выше способом.
Рис. . Представление нормализованного дробного числа на русских счетах
Абак и счеты цифровые вычислительные приборы, точность вычисления на которых зависит от числа разрядов. Образно говоря, если мала точность вычисления добавьте еще разрядов. Этим цифровые приборы выгодно отличаются от аналоговых приборов.
Рис. . Типичные русские счеты
Обратим внимание, что перенос заем в абаке и русских счетах осуществляется вручную. Это не позволяет реализовать полностью автоматическое выполнение операций сложения вычитания, что существенным образом снижает скорость вычислений. Вычислительные приборы, которые получили название "арифмометров", лишены этого недостатка.
Появление цифровых механических арифмометров связано с изобретением системы n счетных колес, пронумерованных справа налево. Существо их работы состоит в следующем: Полный оборот счетного колеса i вызывает 1/10 оборота счетного колеса i+1.
Конструктивно счетное колесо реализовано как диск, вращающейся на оси. Диск разделен на десять секторов, каждый из которых обозначен цифрой. Кроме этого диск на одной стороне имеет десять выступающих штифтов, каждый напротив какой-либо цифры, и на другой стороне выступающий штифт между цифрой "0" и цифрой "9" (рис.30.a).
Рассмотрим систему двух счетных колес (Рис.30.b). Окно просмотра обеспечивает визуализацию цифр на обоих дисках. Исходное состояние в окне просмотра запись 0_0. После того, как нижний диск повернулся на 9 секторов (верхний диск неподвижен), состояние системы показано на Рис.30.c, в окне просмотра появляется запись 0_9. Поворот нижнего диска на десять секторов вызывает поворот верхнего диска на один сектор (штифт нижнего диска цепляется за штифт верхнего диска) и в окне просмотра появляется запись 1_0.
Очевидно, что каждое состояние системы из n счетных колес представляет запись числа в десятичной позиционной системе счисления (состояние каждого счетного колеса i представляет i-й разряд числа). Взаимодействие счетных колес реализует автоматический перенос единицы из младшего разряда в старший разряд. Обратное вращение первого колеса реализует автоматический заем из старшего разряда в младший разряд.
Система из n счетных колес является десятичным позиционным счетчиком: 1000 оборотов колеса разряда единиц = 100 оборотов колеса разряда десятков = 10 оборотов колеса разряда сотен = 1 оборот разряда тысяч.
Рис. . Система счетных колес
Для получения механического арифмометра, способного выполнять автоматически четыре арифметических операции необходимо дополнить систему счетных колес следующими механизмами обеспечивающими:
Вильгельм Шиккард (15921635 гг.) немецкий астроном, математик и землемер изготавливает первую счетную машину, в которой операции сложения и вычитания были механизированы, а умножение и деление выполнялись с помощью специальных подвижных таблиц. Будучи универсальным ученым Шиккард сконструировал ряд вычислительных машин, в том числе для расчёта астрономических дат, а другую для автоматизации использования грамматики иврита. По-видимому, это первое применение вычислительной техники/механизации в лингвистике.
Блез Паскаль (16231662 гг.) в Париже конструирует машину с механическим сложением и вычитанием для помощи отцу, занимавшемуся сбором налогов. Паскалю пришлось столкнуться с большими техническими проблемами т.к. в финансовой денежной системе использовалась не десятичная позиционная система счисления: 12 дене = 1 су; 20 су = 1 ливр (во Франции её отменили в 1799 г., но в Англии подобная система существовала до 1971 г.). Труды Паскаля также оказали влияние на работу Г. Лейбница.
Готфрид Вильгельм Лейбниц (1646-1716) реализовал проект первого арифмометра, который, в отличие от предыдущих вычислительных устройств автоматически выполнял умножение, деление, сложение и вычитание. Такого результата Лейбниц добился, впервые применив так называемый «ступенчатый барабан» - счетное колесо. Последовательное усовершенствование вычислительных устройств привело Г. Лейбница к созданию 12-разрядного арифмометра. В Ганновере для неё было найдено практическое применение.
Готфрид Вильгельм Лейбниц, продолжая серию своих научных работ, пишет трактат «Explication de l'Arithmйtique Binaire» об использовании двоичной системы.
В семнадцатом веке начался настоящий "бум" в области конструирования механических арифмометров, в совершенствование которых внесли свой вклад многочисленные ученые и инженеры. Такой "бум" объясняется следующими факторами:
обществу потребовалось выполнять большое количество достаточно сложных вычислений (астрономические, артиллерийские, навигационные таблицы);
технология изготовления сложных механических устройств достигла определенного совершенства.
К началу ХIХ в. с развитием промышленности и торговли, расширением финансовых операций все острее ощущалась потребность в быстрых и точных расчетах. Единичные авторские экземпляры не могли удовлетворить всевозрастающий спрос на вычислительную технику.
В 1820 году француз Томас де Кальмар реализовал первый промышленный выпуск арифмометров. К. Томас, воспользовавшись идеями знаменитого немецкого ученого Готфрида Лейбница, изобрел счетную машину для выполнения четырех арифметических действий и назвал ее арифмометром. Начиная с 1821 г. в собственных мастерских в Париже К. Томас начинает производство арифмометров рождается счетное машиностроение. В первый год было изготовлено 15 машин, а затем ежегодно выпускалось до 100 экземпляров. Термин "арифмометр", предложенный К. Томасом, прочно утвердился в счетной технике: все машины, выполняющие четыре действия, было принято называть арифмометрами.
Развивая идеи Лейбница, Л.Томас, наряду со счетным цифровым колесом изобрел ступенчатые валики для установки исходных чисел и применил движущуюся каретку для реализации многошаговых операций умножения и деления.
Рис. . Конструкция арифмометра К. Томаса
Одному разряду соответствовал один ступенчатый валик. Против каждого валика находилась установочная зубчатка, которая могла двигаться вдоль четырехгранной оси с помощью ползуна, заканчивающегося на лицевой панели кнопкой. При установке чисел кнопка свободно передвигалась по прорезям-разрядам, тем самым передвигая установочную зубчатку по оси до ее совпадения с нужной цифрой. Вращая с помощью рукоятки ступенчатые валики, зубчатка входит в зацепление с соответствующим числом ступенек на валике и поворачивает его на тот или иной угол. На осях находятся промежуточные шестерни, которые передают это вращение цифровому колесу счетчика.
На протяжении многих лет конструкция арифмометра К. Томаса привлекала ученых, инженеров, механиков. Появилось несколько модификаций, получивших название "томас-машин", в которых основная идея изобретателя оставалась неизменной.
В 1874 году инженер из Петербурга Вильгодт Однер значительно усовершенствовал конструкцию арифмометра, применив для ввода чисел колеса с выдвижными зубьями (колеса Однера). Арифмометр Однера позволял проводить вычислительные операции со скоростью до 250 действий с четырехзначными цифрами за один час.
Рис. . Арифмометр Однера [www.school.keldysh.ru]
Первые отечественные "томас-машины" были разработаны в 1935 г. на московском заводе "Счетмаш" им. Дзержинского. Они получили название КСМ (клавишная счетная машина) и выпускались до 1941 г. Возобновилось это производство только в 1960 г. на курском заводе "Счетмаш". Это была новая модель "ВМП-2" (вычислительная многоклавишная полуавтоматическая).
Многолетняя работа по совершенствованию и отработке конструкции "томас-машин", построенных по принципу ступенчатых валиков Г. Лейбница, завершилась созданием электромеханических автоматических арифмометров. Наиболее известны немецкая модель "Зоемтрон-214", "Рейнметалл" и отечественная "ВММ-2" (вычислительная многоклавишная машина). До 1970-х гг. они стояли на рабочих столах специалистов самых разных профессий.
Механические арифмометры, постоянно совершенствовались и просуществовали до 80-х годов XX века, являясь основным инструментом для выполнения как сложных, так и массовых вычислений. Однако, необходимо отметить, что принципиальная схема вычислений на основе десятичного счетчика оставалась постоянной. Более того, сменившие арифмометры микрокалькуляторы также использовали десятичный счетчик в электронном исполнении.
Рис. . Механический арифмометр середины XX века. [www.school.keldysh.ru]
Массовое внедрение в вычислительную практику арифмометров существенным образом повысило ее эффективность. Арифмометры выполняли арифметические операции над многоразрядными числами с недостижимой для человека скоростью. Учитывая, тот факт, что большинство физических задач формализуются элементарными функциями, и для вычисления любой элементарной функции достаточно иметь инструмент, выполняющий четыре арифметических операции, появилась возможность за приемлемое время решать достаточно сложные прикладные задачи.
Однако решение прикладной задачи связано с необходимостью выполнять последовательность, сплошь и рядом очень большую, арифметических действий. Причем, в большинстве случаев эта последовательность зависит от конкретных значений параметров прикладной задачи. Возникает понятие программы вычислений как предписания исполнителю выполнить конкретную последовательность арифметических операций для получения результата при заданных конкретных исходных данных.
Каждый шаг процесса выполнения программы реализуется исполнителем в два этапа;
выполнение очередной арифметической команды;
принятие решений о продолжении вычислительного процесса.
Работа с арифмометром позволяет человеку автоматизировать лишь первый этап. Принятие на каждом шаге выполнения программы решения о продолжении вычислительного процесса (управление вычислительным процессом) остается прерогативой человека. Более того, пошаговое выполнение программы подразумевает порождение большого количества промежуточных данных, которое надо хранить в искусственной памяти.
Один из основных кибернетических принципов автоматизации управления процессом (вне зависимости от физической сущности процесса) гласит: все этапы процесса должны быть автоматизированы в равной степени. В рассматриваемом случае этот принцип нарушается: задачу управления пошаговой работой программы решает человек. Очевидно, что время выполнения текущей арифметической операции (арифмометр) неизмеримо меньше времени, необходимого для подготовки к выполнению следующей арифметической операции (человек).
Примечание. Подготовка к выполнению следующей операции включает в себя: считывание с дисплея арифмометра результата выполненной операции и запись его в бумажную память; выбор из программы следующей выполняемой операции; считывание из бумажной памяти и набор на клавиатуре арифмометра операндов выполняемой операции; активация выполняемой операции.
Принцип реализации полностью автоматизированных программно-управляемых вычислений, окончательно сформулированный в конце сороковых годов XX века (фон Нейман США, С. Лебедев СССР), начиная с Чарльза Беббиджа (1833 год) неоднократно возникал в умах конструкторов вычислительных устройств.
В 1812 году декан кафедры математики Кембриджского университета Чарльз Бэббидж (1792-1871 гг.) задумал применить механические счетчики для составления таблиц (синусов, логарифмических и т.д.). Составление таблиц - многократное вычисление функций.
Чарльз Бэббидж, находясь во Франции, познакомился с работами Гаспара де Прони, занимавшего должность руководителя бюро переписи при французском правительстве с 1790 по 1800 год. Г. Прони, которому было поручено выверить и улучшить логарифмические тригонометрические таблицы для подготовки к введению метрической системы выпустил лучший на тот момент сборник логарифмических и тригонометрических таблиц, в подготовке которого он привлек таких выдающихся математиков, как Адриен Лежандр и Лазар Карно.
Удивляет, говоря современным языком, технология вычислений, предложенная
Г. Прони и принципиально совпадающая с современной технологией.
Надежность вычислений обеспечивали две вычислительные мастерские, в которых проводились одни и те же расчеты для взаимной проверки. Современные способы получения надежных результатов на ненадежно работающих компьютерах выполнение одной и той же программы с одинаковыми исходными данными на трех различных компьютерах. Совпадение результирующих данных на всех трех компьютерах, практически с вероятностью 1, говорит о надежности полученных результатов. Тем самым устраняется составляющая ненадежности результатов за счет ненадежной работы техники.
Однако, остается составляющая ненадежности результатов за счет неправильного алгоритма или его некорректного воплощения в программу. В наше время разработка особо ответственных алгоритмов программ поручается двум различным коллективам. Если программы, разработанные различными коллективами, дают один и тот же результат вычисления считаются надежными.
Примечание. К сожалению, даже при таком дублировании разработки программ, остается вероятность того, что в силу "одинаковости" мышления двух разработчиков будет упущена отработка программой каких-либо редко встречающихся комбинаций исходных данных. По-видимому с эти связаны, несмотря на высококвалифицированное программирование, встречающиеся отказы современных космических систем
Разделение труда (вычислительная мастерская Г. Прони) осуществлялась также на уровне современных вычислительных технологий:
первая группа (5 - 6 крупных математиков) занималась исследованием различных аналитических выражений с целью подбора удобных для числовых расчетов функций (математики - теоретики).
вторая группа (9 - 10 лиц, хорошо владеющих математикой) занималась преобразованием полученных от первой группы формул к виду, удобному для работы с числами (составление вычислительных схем - программирование); вычисляла контрольные значения функций с большим шагом (алгоритмисты).
третья группа (много людей, знающих только сложение и вычитание) по расчетным схемам окончательно получала таблицы; проверяла результаты вычислений по контрольным точкам (исполнители).
Вычислители третьей группы не знали общей задачи, зная только сложение и вычитание работали по программе совершенно механически.
Машины Бэббиджа должны были заменить третью группу вычислителей на которую падала основная рутинная работа (очевидно намерение автоматизировать не только выполнение операций, но и выполнение последовательности операций - вычислительной схемы или программы).
В основу работы разностной машины Бэббидж положил известное свойство многочленов - их конечные разности соответствующих порядков равны нулю.
Пример. y = x2 + x + 1
Разности первого порядка 1 получаются вычитанием из каждого следующего значения функции ее предшествующего значения. С помощью аналогичной операции над разностями первого порядка получены вторые разности и т.д.
Если функция представляет собой многочлен степени n, то при табулировании с постоянным шагом n - е разности постоянны. В данном случае постоянны разности третьего порядка.
x |
y |
Конечные разности |
||
1 |
2 |
3 |
||
0 |
1 |
2 |
6 |
6 |
1 |
3 |
8 |
12 |
6 |
2 |
11 |
20 |
18 |
6 |
3 |
31 |
38 |
24 |
6 |
4 |
69 |
62 |
30 |
6 |
5 |
131 |
92 |
36 |
|
6 |
223 |
128 |
||
7 |
351 |
Суммируя по диагонали таблицы конечные разности и соответствующее значение функции можно получить следующее значение функции.
Используя тот факт, что n-1yi постоянна, мы можем восстановить значение функции в любой последовательности точек с заданным, фиксированным шагом h. Этот алгоритм очень прост: необходимо иметь возможность запоминать на каких либо регистрах результаты промежуточных вычислений и циклически выполнять некоторую программу, реализующую алгоритм.
Бэббидж построил такую машину, позволяющую табулировать функции - полиномы второго порядка, и разработал проект машины для табулирования полиномов шестого порядка, которая реально не была построена. Несмотря на выделение государством значительных средств - подвела технология.
В 1833 году Чарльз Бэббидж начинает работу над аналитической машиной, которая выполняла бы инструкции, считываемые с перфокарт. По существу это первый в мире компьютер общего назначения.
Предшественником Ч. Беббиджа в использовании представленной на перфокартах программы действий был Жак Вокансон (17091782 гг.), который публикует статью с предложением использовать перфокарты для автоматического управления ткацким станком. Он изготавливает опытный образец первого в мире полностью автоматизированного станка, однако его практическое использование началось лишь более 50 лет спустя.
В начале XIX века Жозеф Мари Жаккар - французский ткач и механик, автоматизировал работу ткацкого станка при изготовлении тканей со сложным переплетением нитей. Для управления станка были использованы перфокарты - картонные прямоугольники, на которых в определенных местах пробивались отверстия.
Рис. . Ткацкий станок Жаккара.
Ткацкий станок Жаккара (рис.34) состоит из рамы, на которую натянуты нити основы (сплошные линии на рисунке). Нити основы справа крепятся к вертикальным штырям, которые упираются в перфокарту. Если на перфокарте в позиции штыря пробито отверстие (черный кружок на рисунке), штырь проваливается в это отверстие и нить основы опускается вниз. Если в позиции штыря отверстия нет (белый кружок на рисунке), нить поднята вверх. Таким образом, каждая перфокарта определяет конфигурацию поднятых - опущенных нитей основы. Уток тянет нить поперек нитей основы, создавая переплетение нитей в соответствии с "рисунком" отверстий на перфокарте
Рис. . Ткацкий станок, управляемый перфокартами. [www.school.keldysh.ru]
Пакет перфокарт специальным механизмом подается в ткацкий станок, который нить за нитью ткет рисунок, заданный этим пакетом. Говоря современным языком, пакет перфокарт определяет алгоритм - программу изготовления фигурного ткацкого полотна, вплоть до изготовления художественных гобеленов. Существенно, что:
используя один пакет перфокарт, можно тиражировать множество одинаковых гобеленов;
на одном и том же станке, меняя пакет перфокарт, можно тиражировать различные типы тканей.
Примечание. В наше время широко используются станки с программным управлением, которые могут тиражировать изготовление деталей, выполняя управляющую программу. Такая программа создается следующим образом: опытный человек-станочник однократно изготавливает деталь, а все его действия записываются в виде команд управления станком на магнитную ленту, образуя управляющую программу. Каждый запуск магнитной ленты с управляющей программой в специальное приемное устройство станка заставляет его выполнять команды программы, что приводит к изготовлению детали без участия человека.
Интересно, что в программных системах Microsoft Offices встроен механизм макросов, который работает аналогичным образом: производимые пользователем действия, например, по редактированию текста в Microsoft Word запоминаются в виде программы макроса и могут повторяться многократно при вызове этого макроса.
В течение первого периода работы над аналитической машиной Бэббидж сформулировал несколько основополагающих принципов ее построения, не всегда напрямую связанных с технической реализацией.
Прежде всего, он отделил устройство для хранения чисел от устройства, предназначенного для выполнения арифметических операций. Дальнейшее развитие этого принципа позволило Бэббиджу предложить совершенно оригинальную структурную организацию машины (рис.36).
Рис. . Схема аналитической машины Бэббиджа
Память (store) реализует хранение цифровой информации на регистрах из цифровых колес (1000 чисел по 50 десятичных разрядов).
Арифметическое устройство (mill - мельница) производит арифметические операции над числами взятыми из памяти (сложение или вычитание двух пятидесяти разрядных чисел - одна операция в секунду, умножение или деление - одна операция в минуту.
Устройство управления реализует ввод исходных данных в память, выполнение последовательности арифметических операций, выборку чисел из памяти, запись чисел в память, вывод результатов вычислений из памяти.
Устройство ввода поставляет в машину исходные данные, а устройство вывода визуализирует результаты вычислений.
Машина существенным образом использует перфокарты: цифровые карты для указания адреса ввода - вывода данных; карты переменных - для указания адресов операндов арифметических операций; карты операции - для хранения программы.
Аналитическая машина должна была:
выполнять простые арифметические действия;
запоминать начальные, промежуточные и результирующие данные;
запоминать группу инструкций или команд, по которым должно идти решение задачи;
последовательно выполнять команды программы и выдавать результаты вычислений;
автоматически прекращать вычисления после выполнения задания;
в случае необходимости повторять цикл вычислений (команды условной передачи управления.
Оценивая возможности будущей машины, Бэббидж предположил, что она может быть использована для выполнения операций не только над числами, но и над алгебраическими выражениями. 10 июля 1836 г. он записал в своей рабочей тетради: "Сегодня я пришел к общей, но еще не совсем четкой концепции создания машины, вырабатывающей алгебраические формулы… Я имею в виду, что она должна это делать без обращения к конкретным числовым значениям алгебраических символов".
Кроме того, Бэббидж высказал соображения, чрезвычайно важные для современного программирования: предложил идеи "цикла" (правда, не дал ему названия), "библиотеки подпрограмм", операции "условной передачи управления"
www.computer-museum.ru
Для хранения чисел в "складе - памяти" использовались регистры (колонки), состоявшие из десятизубчатых колес. Каждое из них, расположенное на общей для колонки оси, могло совершать независимые вращательные движения и останавливаться в одном из десяти положений, "запоминая" таким образом один десятичный знак. Для указания алгебраического знака числа использовалось самое верхнее колесо регистра. Колеса располагались по обе стороны от группы зубчатых реек, которые передавали числа со "склада" в "мельницу". Для того чтобы "считать" число из памяти, рейки продвигалась до тех пор, пока соответствующие колеса в "складе" не занимали "нулевое" положение. Уменьшение числа до нуля на одном регистре заставляло поворачиваться колеса другого на такую же величину, и тем самым осуществлялась "запись" числа в "мельницу". При этом число, хранившееся в памяти, "стиралось", однако при желании могло быть восстановлено: для этого рейки при своем обратном движении вводились в зацепление с необходимыми колесами.
"Мельница арифметическое устройство" имела примерно 2 м в диаметре и около 5 м в высоту. Она состояла из ряда регистров, аналогичных регистрам памяти и расположенных вокруг группы "центральных колес". Эти колеса использовались для передачи чисел внутри "мельницы" и выполняли, таким образом, функции зубчатых реек. "Стирание" числа из "мельницы" не всегда оказывалось желательным, поэтому в ней большинство регистров состояло из двух групп колес: одна группа принимала числа, а другая служила для их передачи в другие узлы и блоки машины. Входной и выходной регистры использовались в качестве буферов при передаче чисел между "складом" и "мельницей".
"Базовыми" арифметическими операциями в аналитической машине были сложение и вычитание. Чтобы сделать выполнение этих операций единообразным, Бэббидж заменил операцию вычитания на операцию сложения с десятичным дополнением вычитаемого. Суммирование выполнялось в две фазы сложения и переноса. Если колесо регистра переходило от положения "9" в положение "0", то сдвигался особый рычаг, что означало необходимость десятичного переноса в следующий (старший) разряд.
Операция умножения начиналась с того, что с помощью специального механизма предварительно определялся сомножитель, имеющий меньшее число значащих цифр (он становился множителем). После этого множимое извлекалось из памяти и последовательно суммировалось с самим собой, образуя первые девять кратных значений, которые запоминались в регистрах. Затем "считывалась" первая цифра множителя (начиная с младшего разряда), и содержимое одного из этих регистров, соответствующее значению "считанной" цифры, помещалось в сдвоенный регистр, в котором накапливались частные произведения. Процесс повторялся со следующей цифрой множителя с той разницей, что очередное кратное сдвигалось в сдвоенном регистре на один разряд влево и суммировалось с первым частным произведением и т. д. Результат умножения из регистра пересылался в "склад". Отдельные операции, выполняемые в процессе умножения, перекрывали друг друга во времени, так что время, необходимое для получения каждого частного произведения, оказывалось равным времени сложения двух чисел.
Операция деления выполнялась аналогичным образом. Сначала формировались кратные значения делителя. Две старшие цифры остатка, находящегося в сдвоенном регистре, сравнивались одновременно с двумя старшими цифрами всех кратных значений делителя для того, чтобы оценить, правильно ли определена очередная цифра частного. Если в результате сравнения оказывалось, что эта цифра больше необходимой, то выбранное кратное значение делителя вычиталось из остатка; при отрицательном значении результата вычитания к нему вновь добавлялся делитель, образуя новый остаток. Затем новый остаток сдвигался на один разряд, и процесс повторялся. Как и при выполнении умножения отдельные "микрооперации" перекрывали друг друга во времени, так что время одного шага деления оказывалось равным времени сложения (вычитания) двух чисел вне зависимости от того, правильно ли было сделано предположение о значении цифры частного.
Операцию извлечения квадратного корня Бэббидж первоначально намеревался выполнять "аппаратными" средствами, но затем отказался от этого плана и для осуществления данной операции решил использовать метод последовательных итераций. Для этого он разработал упрощенную схему выполнения операций умножения и деления, которая позволяла получать произведение или частное с ограниченным числом знаков (на первых шагах итеративного процесса не требовалось иметь большое число значащих цифр в результатах вычислений).
Для управления машиной Бэббидж решил использовать механизм, аналогичный механизму ткацкого станка Жаккара. Идея Бэббиджа заключалась в том, чтобы заставить два жаккаровских механизма (с цепочкой карт в каждом) управлять работой машины путем передачи определенных воздействий на устройства машины. Один механизм с "картами операций" должен был управлять работой "мельницы", т.е. выполнением той или иной арифметической операции в зависимости от отверстий, пробитых в соответствующей карте.
Второй механизм должен был работать с " картами переменных", которые управляли переносом чисел из "склада" в "мельницу" и обратно, а также управлять вводом новых чисел в "склад" и выводом результатов вычислений на печать ("цифровые карты"). С помощью "цифровых карт" в машину могли вводиться не только числа, необходимые для решения конкретной задачи, но и константы, логарифмические и другие таблицы.
Другой пример предвидения Беббиджа библиотеки стандартных подпрограмм. "За исключением цифровых карт, писал Бэббидж, все карты, однажды использованные и изготовленные для одной задачи, могут быть использованы для решения тех же задач с другими данными, поэтому нет необходимости готовить их во второй раз они могут быть тщательно сохранены для будущего использования. Каждая формула требует своего массива карт, и со временем машина будет иметь собственную библиотеку".
Бэббидж большое внимание уделял вопросам вывода результатов вычислений из машины и предусмотрел для этого несколько способов: печатание одной или нескольких копий конечных или промежуточных результатов, изготовление стереотипного отпечатка, перфорирование на бланках или металлических пластинах. К сожалению, он не оставил указаний на то, как должны стыковаться эти периферийные устройства с соответствующими механизмами машины.
Изобретатель четко представлял, что его машина является универсальным вычислителем, имея в виду, что она способна выполнить любые арифметические вычисления, если для ее работы будет отведено достаточно времени.
Первая аналитическая машина Беббиджа была реализована и на ней выполнялись вычисления. Бэббиджу не удалось завершить постройку своей второй более мощной машины. Дело в том, что в середине XIX века не было технической элементной базы для реализации столь грандиозного проекта. Существовала только технология изготовления часовых механизмов, средствами которой реализовать "почти современный компьютер" было весьма затруднительно. Электромеханическое реле (на которых были реализации первых компьютеров в середине XX века) было изобретено американским физиком Дж. Генри в 1835 году, но Бэббидж не знал об этом. А до эпохи электроники было еще далеко.
Кроме того, это был весьма дорогостоящий проект, который государство финансировать не согласилось в силу его "неперспективности".
Но мог ли ученый построить действующую аналитическую машину, имей он необходимое финансовое обеспечение? На основе анализа чертежей машины и возможностей современной Бэббиджу техники Алан Бромли и некоторые другие историки отвечают на этот вопрос утвердительно. Доказательствами такой точки зрения (отчасти косвенными) могут служить следующие факты.
В 1887 г. под руководством Генри Превоста Бэббиджа была изготовлена "мельница" аналитической машины, соединенная с печатающим устройством, и 21 января 1888 г. она вычислила и напечатала 20-значную таблицу результатов умножения числа на члены натурального ряда (от 1 до 44).
В 1848 г., завершив работу над документацией аналитической машины, Бэббидж сделал полный комплект чертежей нового варианта машины для вычисления таблиц, которую назвал разностной машиной № 2 (в ней, в частности, использовалась схема сквозного переноса). В 1991 г. английские инженеры под руководством сотрудника Лондонского научного музея Дорона Суэйда изготовили эту машину по чертежам Бэббиджа, обнаружив в них лишь две ошибки!
Рис. . Реконструированная машина Беббиджа. [www.school.keldysh.ru]
Дочь поэта Байрона леди Лавлейс, наделенная от природы математическими способностями стала верной ученицей Бэббиджа и написала несколько программ для его аналитической машины. Более того, она показала, что аналитическая машина способна производить операции со словами. Ада Лавлейс даже предугадала будущие дискуссии на тему "может ли машина мыслить". "...Аналитическая машина не претендует на то, чтобы создать что - либо. Она может делать все то, что мы знаем, как приказать ей делать. Она может только следовать анализу, она не в состоянии предугадать какие - либо аналитические соотношения и истины...".
Высказывание Алана Тьюринга. То, что аналитическая машина Бэббиджа была задумана как чисто механический аппарат, помогает нам избавиться от одного предрассудка. Часто предают значение тому обстоятельству, что современные цифровые машины являются электронными устройствами. Но поскольку машина Бэббиджа не была электрическим аппаратом и поскольку в известном смысле все цифровые машины эквивалентны, становится ясно, что использование электричества в этом случае не может иметь теоретического значения".
Труды Бэббиджа были опубликованы уже после его смерти в 1888 г. И на некоторое время его имя было забыто.
Параллельно с созданием теории и практики автоматизации вычисления функций (решения математических задач) ЧЕЛОВЕК был озабочен разработкой средств автоматизации рассуждений.
Основоположник формальной логики Аристотель (384 г. до н.э. - 322 г. до н.э) разработал свое любимое детище, прославившее его имя в веках, - теорию силлогизмов. Главной своей задачей Аристотель считал выяснение причин получения верного или неверного ответа в процессе спора. А затем нахождения такого способа спора, при котором из верных посылок всегда следовали бы только верные заключения.
Типичный пример дедуктивного умозаключения приводится ниже.
Все люди смертны /большая посылка/.
Сократ человек / малая посылка/.
Сократ смертен /заключение, которое выводится из большой и малой посылки/.
При выстраивании дедуктивного умозаключения некоторое свойство переносится с общего случая в частный. Подобные заключения называются дедуктивными умозаключениями.
Не всякие дедуктивные умозаключения являются истинными. Заслуга Аристотеля состоит в том, что он сумел четко сформулировать условия (схемы силлогизмов) при выполнении которых истинность вывода в дедуктивных рассуждениях обеспечивается, если большая и малая посылка верны.
Дедуктивные рассуждения основывались на том, что спорящего надо сначала убедить в истинности большой посылки, а затем, заставив принять малую посылку, подвести его к истинности заключения (рассуждения от общего к частному). Однако, можно поступить иначе: сначала убедить оппонента в истинности ряда малых посылок, а потом сделать заключение в справедливости общего утверждения. Подобное рассуждение, ведущее от частного к общему, принято называть индуктивным.
Строго говоря, индуктивны большие посылки, которые являются обобщением единичных реальных фактов. Например, утверждение: "все люди смертны".
В жизненной практике индуктивные рассуждения встречаются гораздо чаще дедуктивных. Всю свою жизнь мы накапливаем отдельные факты и наблюдения, формируем на этой основе свое представление о мире, его свойствах и закономерностях. Дедуктивная система выступает у нас лишь как результат целой серии индуктивных умозаключений [Поспелов].
Аристотель оставался на уровне содержательных умозаключений, что совершенно не устраивало передовые математические умы середины XIX века. Точку в этих сомнениях поставил английский математик и логик Джордж Буль (1815 1864)
Задолго до Джорджа Буля немецкий математик и философ Готфрид Лейбниц (16461716) впервые высказал идею о создании науки, которая обозначит все понятия обычной разговорной речи символами и установит некоторую новую алгебру для соединения этих символов. После создания такой науки, по мнению Лейбница, ученые и философы перестанут спорить и перекрикивать друг друга, выясняя истину, а возьмут в руки карандаш и спокойно скажут: «Давайте-ка вычислять!»
Расширив общий метод Лейбница, сформулированный на 188 лет раньше, Д. Буль в 1854 году заложил основу того, что мы сегодня знаем как алгебру логики (математическую логику, булеву алгебру), опубликовав работу “Исследование законов мышления”.
Новым в алгебре Буля, по сравнению с элементарной алгеброй, является то, что элементы несущего множества алгебры являются не числами, а высказываниями. Если при решении обычных алгебраических уравнений определяется, какому числу равняется неизвестное X, то алгебра логики ищет ответ на вопрос: "Верно ли то или другое высказывание, обозначенное буквой X?"
Существенно, что алгебра логики в качестве аргументов использует высказывания, причем не их смысл, а свойство истинности (значение 1) или ложности (значение 0). Более строго, алгебра логики определяется как несущее множество, состоящее из двух элементов {0,1} и сигнатуры трех операций: отрицания, дизъюнкции и конъюнкции.
Определено также понятие логической (булевской) функции как функции, аргументы которой являются булевыми переменными - высказываниями, а значением является также высказывание. Запись логической функции осуществляется в аналитическом формате:
Y = L(X1,…,Xn) (36)
Операции алгебры логики (отрицание, дизъюнкция и конъюнкция) по своей сути являются базисными функциями (область определения булевских аргументов совпадает с областью значений функции). Существует теорема, которая утверждает, что любую логическую функцию можно представить как суперпозицию трех базисных функций операций алгебры логики. Например:
Y = L(X1,X2,X3,X4) Y = (X1X2)&(X3X4) (37)
Здесь, (X1X2)&(X3X4) выражение булевой алгебры.
Примечание. В смысле представления алгебраическими выражениями имеется очевидная аналогия элементарных и логических функций, за одним серьезным исключением. Если в виде выражения алгебры логики можно представить любую логическую функцию, то в виде выражения элементарной алгебры представляются только элементарные функции, которые образуют лишь подмножество всех вещественных функций.
В алгебре логики определены 25 аксиом, использование которых позволяет решить почти любую логическую задачу. Использование аксиом позволяет производить символьные вычисления, которые в элементарной алгебре называются аналитическими (упрощение записи формул и аналитическое решение уравнений).
Несколько слов относительно семью Джорджа Буля. Жена Д. Буля была племянницей Джорджа Эвереста, в 1841 году завершившего в Индии грандиозные по масштабам топографические работы. В честь его заслуг высочайшая вершина мира Джомолунгма в Гималаях одно время даже именовалась Эверестом. Сама Мэри, в отличие от жен многих других математиков, понимала научные идеи своего мужа и своим вниманием и участием подвигала его на продолжение исследований. После его смерти она написала несколько сочинений и в последнем из них “Философия и развлечения алгебры”, опубликованном в 1909 году, пропагандировала математические идеи Джорджа.
Вторая дочь Булей, Маргарет, вошла в историю как мать крупнейшего английского механика и математика, иностранного члена Академии наук СССР Джеффри Тэйлора. Третья дочь, Алисия, специализировалась в исследовании многомерных пространств и получила почетную ученую степень в Гронингенском университете. Четвертая дочь, Люси, стала первой в Англии женщиной-профессором, возглавившей кафедру химии.
Но наиболее известной из всех дочерей Булей стала младшая, Этель Лилиан, вышедшая замуж за ученого эмигранта из Польши Войнича. Войдя в революционную эмигрантскую среду, она написала прославивший ее на весь мир роман “Овод”. За ним последовало еще несколько романов и музыкальных произведений, а также перевод на английский язык стихотворений Тараса Шевченко. Войнич скончалась в Нью-Йорке в возрасте 95 лет, немного не дожив до столетия со дня смерти своего знаменитого отца математика Джорджа Буля.
Существует большое число технологических процессов, состоящих из ряда следующих друг за другом операций. В состав того или другого технологического процесса могут входить отдельные операции в различной последовательности и различной продолжительности. Для автоматического управления такими процессами широко применяют электрические релейно-контактные схемы. С их помощью может осуществляться частичная и полная автоматизация управления многочисленными объектами народного хозяйства.
Релейно-контактной называется электрическая схема, состоящая из соединенных определенным образом электрических контактов и реагирующих органов различных устройств, на которые контакты воздействуют.
Прибор, который получил название "электромеханическое реле" произвел переворот в области конструирования средств обработки информации. Основу реле составляет сердечник 1, выполненный из ферромагнитного сплава (Рис.38). На сердечнике располагается управляющая обмотка 2. Якорь реле 3 управляет работой контактной группы, которая состоит из нормально разомкнутого и нормально замкнутого контактов. Если по обмотке протекает ток, якорь притягивается к сердечнику замыкая нормально разомкнутые контакты и размыкая нормально замкнутые контакты. Если обмотка обесточена, якорь отпадает от сердечника, что приводит к замыканию нормально замкнутых контактов и размыканию нормально разомкнутых контактов.
Рис. Электромеханическое реле
Таким образом, вход реле характеризуется высказыванием X, которое имеет два значения: "ток I через обмотку не идет" (X=0) и "ток I через обмотку идет" (X=1). Нормально разомкнутая контактная группа характеризуется высказыванием "ток i'' через контакт не идет" (Y'=0) и "ток i'' через контакт идет (Y''=1). Нормально замкнутая контактная группа также характеризуется высказыванием "ток i' через контакт не идет" (Y'=0) и "ток i' через контакт идет (Y'=1).
Вход X |
Выход Н.р. контакт |
Н.з. контакт |
X=0 |
Y''=0 |
Y''=1 |
X=1 |
Y'=1 |
Y'=0 |
На языке алгебры логики это записывается следующим образом:
Y' = X; Y'' = X ()
В сильноточной электротехнике реле используют для управления (включение-выключение) больших напряжений небольшими управляющими напряжениями. В слаботочной электронике реле используют для реализации самых различных управляющий схем.
Впервые возможность применения алгебры логики для описания функционирования технических устройств была реализована в связи с распространением в человеческой практике релейно-контактных схем. Это привело к созданию технической дисциплины теории релейно-контактных схем, опирающейся на аппарат алгебры-логики. В дальнейшем, с появлением бесконтактных электронных устройств электронных реле, эта дисциплина переросла в теорию релейных схем.
Алгебра логики очень подошла для анализа и синтеза релейных схем. Можно говорить об алгебре релейно-контактных схем, высказываниями которой являются состояния контактов (замкнут-разомкнут) и аксиомы которой совпадают с аксиомами алгебры логики.
Примечание. По сути дела, алгебра релейно-контактных схем одна из интерпретаций алгебры Буля.
Пример. Использование реле для реализации автоматических вычислителей элементарных логических функций.
Рис. . Реализация логической функции "отрицание". Используется нормально замкнутый контакт
Рис. . Реализация логической функции "конъюнкция". Используются два нормально разомкнутых контакт. Значение функции 1 тогда и только тогда, когда, значение обоих аргументов равно 1.
Рис. . Реализация логической функции "дизъюнкция". Используются два нормально разомкнутых контакта. Значение функции 1 если значение хотя бы одного аргумента равно 1.
Любая конкретная логическая функция представляется конкретным выражением алгебры логики, т.е. суперпозицией отрицаний, дизъюнкций и конъюнкций. Очевидно, что, можно получить автоматический вычислитель этой логической функции, реализовав соответствующую релейно-контактную схему.
Примечание. Таким образом, существует изоморфизм логических функций и релейно-контактных схем, вычисляющих эти функции.
Пример. Для логической функции () автоматически вычисляющая ее релейно-контактная схема показана на Рис.42.
Рис. . Релейно-контактная схема автоматически вычисляющая логическую функцию: Y = (X1X2)&(X3X4)
В начале XX века релейно-контактные схемы начинают все шире и шире применяться в системах автоматики, защиты электротехнических систем, в связи. Каждая релейно-контактная схема, предназначенная для практических целей, являлась отдельным изобретением, поскольку не имелось общей теоретической концепции и принципа соответствующего моделирования.
Виктор Иванович Шестаков (19071987) советский логик и теоретик-электротехник, в середине 1930-х гг. предложил интерпретацию булевой алгебры логики на релейно-контактных схемах. В. И. Шестаков высказал идею и сформулировал теорию релейно-контактных схем в 193435 годах. Аналогичные результаты в 1938 году представил в своей диссертации: "Символический анализ релейных и переключательных схем Клод Шеннон. По-видимому, В.И. Шестаков получил результаты раньше Шеннона, хотя диссертации (соответственно, кандидатскую и магистерскую) оба защитили в 1938 году, однако В. И. Шестаков опубликовал статьи, излагавшие его идею, только в 1941 г.
Заслуга В. И. Шестакова и К. Шеннона состоит в том что они предложили концепцию логического моделирования. Катализатором создания такой концепции явились все возрастающие запросы технического применения, рост сложности технических устройств. Простые технические устройства (электрические сети) не требовали особого теоретического аппарата при их конструировании; последний становится необходимым при конструировании сложных электрических сетей и, в дальнейшем, становится актуальной проблема оптимального синтеза управляющих систем различной проблемной ориентации. Техническая сторона этой проблемы требовала серьезных математических обоснований. Этой математической стороне проблемы собственно и посвятил свои работы В. И. Шестаков.
В начале сороковых годов советский ученый Михаил. Александрович Гаврилов продолжил создание научной методики проектирования релейно-контактных схем, получивших в те годы широкое практическое применение. Проводя анализ развития методов создания релейно-контактных схем, М. А. Гаврилов писал: "К числу первых работ, в которых делались попытки изыскать более рациональные методы проектирования релейно-контактных схем, следует отнести работы наших соотечественников А. Кутти и М. Цымбалистого (1928 г.) и некоторых иностранных специалистов, главным образом систематизировавших обычные интуитивные методы построения схем. Первые существенные достижения по пути развития научного обоснования методики построения схем были получены только тогда, когда был найден математический аппарат, отображающий соотношения, существующие в этих схемах".
Таким аппаратом стала алгебра логики. На возможность его использования впервые указал петербургский физик П. С. Эренфест в 1910 г. Позднее (в 1938 г.) В. И. Шестаков в СССР и одновременно К. Шеннон в США дали строгое обоснование возможности использования исчисления высказывании для описания релейно-контактных схем. Исходя из этих работ, М. А. Гаврилов создал стройную теорию анализа и синтеза одно- и многотактных релейно-контактных схем, являющуюся составной частью прикладной теории автоматов и дискретных устройств. За первой его работой (1943 г.) последовало много статей этого направления, которые были положены в основу диссертации на соискание ученой степени доктора технических наук (1946 г.).
Все результаты этих исследований были им систематизированы и оформлены в виде монографии "Теория релейно-контактных схем", выпущенной в свет в 1950 г. издательством АН СССР.
История развития кибернетики в СССР сохранила факты противодействия попыткам М.А. Гаврилова в известном смысле последователя В.И. Шестакова доказать правомерность использования методов математической логики (булевой алгебры) для расчета и проектирования релейно-контактных схем, используемых в автоматике.. Те, кто выступал против использования логико-математических методов в инженерной практике, обвиняли М.А. Гаврилова в "формализме" и даже идеализме. Подавляющее число коллег М.А. Гаврилова, как отмечает Д.А. Поспелов, отвергали его непонятные логические формулы. Докторская диссертация М.А. Гаврилова (1946 г.) оценивалась как идеологически вредная, протаскивающая идеалистическое мировоззрение и в том, что ее автор "льет воду на мельницу нашим зарубежным недругам". Лишь старая большевичка и уважаемый ученый С.А. Яновская смогла вывести М.А. Гаврилова из под удара. С высоты прошедших лет можно достаточно уверенно утверждать, что В.И.Шестаков и К. Шеннон открыли новое направление в науке независимо друг от друга, хотя В.И. Шестаков реализовал идею логического моделирования несколько раньше Шеннона. Также очевидно, что П. Эренфест и А. Накашима высказывали аналогичные идеи. [Поспелов]
В середине 1950-х годов М. А. Гавриловым были разработаны методы минимизации мостиковых контактных и контактно-вентильных схем, а также метод минимизации булевых функций, получивший известность как "метод проб М. А. Гаврилова". В связи с большой трудоемкостью минимизации возникла необходимость в разработке методов приближенной минимизации, годных для инженерной практики. М. А. Гаврилов предложил общий подход к построению методов синтеза такого типа, получивший название направленного поиска минимальных реализаций. За развитие этой теории, методов расчета и принципов построения релейных схем в 1958 г. Президиум АН СССР присудил М. А. Гаврилову премию им. П. М. Яблочкова.
Значительный период научной деятельности Геллия. Николаевича Поварова был также связан с разработкой методов синтеза управляющих контактных схем, результатом чего стало создание математической теории синтеза контактных схем с одним входом и несколькими выходами. Продолжением исследований в области сетей связи стала разработка теории кумулятивных сетей. На протяжении всей жизни Г. Н. Поваров интересовался вопросами математической логики и исследованием булевых функций, методами их сравнения и минимизации. Предложил новую концепцию событийной логики.
Под редакцией Г. Н. Поварова вышли переводы на русский язык классической книги Н. Винера «Кибернетика, или управление и связь в животном и машине» (1-е издание вышло в 1958 году, 2-ое в 1968 г.).
"Вопросы истории естествознания и техники",
2007, № 3.
В конце XIX века была изобретена перфолента - бумажная или целлулоидная пленка, на которую информация наносилась перфоратором в виде совокупности отверстий.
Широкая бумажная перфолента была применена в монотипе - наборной машине, изобретенной Т. Ланстоном в 1892 году. Монотип состоял из двух самостоятельных аппаратов: клавиатуры и отливного аппарата. Клавиатура служила для составления программы набора на перфоленте, а отливной аппарат изготавливал набор в соответствии с ранее составленной на клавиатуре программой из специального типографского сплава - гарта.
Рис. . Перфолента
Наборщик садился за клавиатурный аппарат, смотрел в стоящий перед ним на пюпитре текст и нажимал на соответствующие клавиши. При ударе по одной из буквенных клавиш иглы перфорирующего механизма с помощью сжатого воздуха пробивали в бумажной ленте кодовую комбинацию из отверстий. Эта комбинация соответствовала данной букве, знаку или пробелу между ними. После каждого удара по клавише бумажная лента передвигалась на один шаг - 3 мм. Каждый горизонтальный ряд отверстий на перфоленте соответствует одной букве, знаку или пробелу между ними. Готовую (пробитую) катушку перфоленты переносили в отливной аппарат, в котором также с помощью сжатого воздуха с перфоленты считывалась закодированная на ней информация и автоматически изготавливался набор из литер. Таким образом, монотип является одной из первых в истории техники машин с программным управлением. Он относился к машинам горячего набора и со временем уступил свое место сначала фотонабору, а затем электронному набору.
Несколько ранее монотипа, в 1881 году, была изобретена пианола (или фонола) - инструмент для автоматической игры на фортепиано. Действовала она также с помощью сжатого воздуха. В пианоле каждой клавише обыкновенного пианино или рояля соответствует молоточек, ударяющий но ней. Все молоточки вместе составляют контрклавиатуру, приставляемую к клавиатуре пианино. В пианолу вставляется широкая бумажная перфолента, намотанная на валик. Отверстия на перфоленте проделаны заранее во время игры пианиста - это своеобразные "ноты". При работе пианолы перфолента перематывается с одного валика на другой. Считывание записанной на ней информации производится с помощью пневматического механизма. Он приводит в действие молоточки, соответствующие отверстиям на перфоленте, заставляет их ударять по клавишам и воспроизводить игру пианиста. Таким образом, пианола также являлась машиной с программным управлением.
Благодаря сохранившимся перфолентам пианол удалось восстановить и заново записать современными методами игру таких замечательных пианистов прошлого, как композитор А.Н. Скрябин. Пианолой пользовались известные композиторы и пианисты Рубинштейн, Падеревский, Бузони.
Примечание. Очевидно, что предшественником пианолы являлась распространенная в XIX веке и в начале XX века шарманка.
Позднее было применено считывание информации с перфоленты и перфокарт с помощью электрических контактов - металлических щеточек, которые при попадании на отверстие замыкали электрическую цепь. Затем щеточки заменили на фотоэлементы, и считывание информации стало оптическим, бесконтактным. Так записывалась и считывалась информация в первых цифровых вычислительных машинах.
Лишь через 19 лет после смерти Бэббиджа один из принципов, лежащих в основе идеи аналитической машины - использование перфокарт - нашел воплощение в действующем устройстве. Это был статистический табулятор, построенный американцем Германом Холлеритом с целью ускорить обработку результатов переписи населения, которая проводилась в США в 1890 г.
В 1888 году Герман Холлерит создал первую электромеханическую счетную машину - табулятор, в котором нанесенная на перфокарты в виде отверстий информация считывалась электрическими щетками и преобразовывалась в электрические импульсы (рис.44).
Рис. . Считывание информации с перфокарты
Перфокарта являет собой прямоугольный кусок картона, на котором размечены M колонок и N строк. Пересечение колонки и строки образует позицию i,j, в которой может быть пробито (черный кружок) или не пробито (белый кружок) отверстие. В каждой строке перфокарты закодирована посредством комбинации отверстий специфический признак информации, например: фамилия человека, возраст, специальность, стаж работы и т.д.
Рис. . Типичная перфокарта
При движении перфокарты, колонка i подходит под ряд щеток. В позициях, где пробиты отверстия, щетки касаются металлической поверхности, замыкают электрическую сеть и посылают электрический импульс в соответствующую линию связи.
Существенно, что допускается выборочное считывание признаков информации с перфокарты. Например, воспринимая электрические импульсы только с двух щеток на строках перфокарты "фамилия" и "специальность", с каждой перфокарты считывают электрические импульсы код фамилии и код специальности. Дешифратор считанных кодов позволяет отобрать только те перфокарты, на которых представлена конкретная специальность, например, "токарь". Таким образом, в результате прогона колоды перфокарт через машину Холлерита, реализуется сортировка массива перфокарт на два массива: перфокарты, представляющие фамилии токарей и все остальные перфокарты (Рис. 46).
Рис. . Перфокарточная сортировальная машина.
В 1890 г. изобретение Холлерита было впервые использовано в 11-й американской переписи населения. Работа, которую 500 сотрудников раньше выполняли натуральных 7 лет, Холлерит с 43 помощниками на 43 табуляторах закончили за один месяц.
Говоря современным языком, колода перфокарт является экземпляром базы данных, конфигурация щеток запросом на выдачу информации, а сортировальная машина Холлерита является машиной базы данных, дающей ответы на запросы пользователя. В настоящее время машины баз данных реализуются на универсальных компьютерах.
Сортировальные машины служили основным техническим обеспечением статистической обработки информации до 70-х годов XX века, пока их не заменили универсальные компьютеры.
Рис. . Табулятор Холлерита. [www.chernykh.net]
В 1896 году Холлерит основал фирму под названием Tabulating Machine Co. В 1911 году эта компания была объединена с двумя другими фирмами, специализировавшимися на автоматизации обработки статистических данных, а свое современное название IBM (International Business Machines) получила в 1924 г. Она стала электронной корпорацией, одним из крупнейших мировых производителей всех видов компьютеров и программного обеспечения, провайдером глобальных информационных сетей. Основателем IBM стал Томас Уотсон Старший, возглавивший компанию в 1914 году, фактически создавший корпорацию IBM и руководивший ею более 40 лет
Пионером в применении перфокарт в информатике считается Генри Холлерит. Однако и в этом вопросе можно говорить о хрестоматийной истории русского ученого, совершившего прорыв в своей научной области, который оказался не нужен Отечеству.
Семен Николаевич Корсаков является пионером русской кибернетики [www.wikipedia]. Основное стремление С. Н. Корсакова усиление возможностей разума посредством разработки научных методов и специальных устройств. В первой половине XIX века он изобрел и сконструировал ряд действующих механических устройств, функционирующих на основе перфорированных таблиц и предназначенных для задач информационного поиска и классификации.
Изобретенные С. Н. Корсаковым машины позволяют быстро находить, сравнивать и классифицировать множества информационных записей (идей) по набору многочисленных признаков (деталей). C. Н. Корсаков позиционирует свои машины, как усиливающие человеческий разум для одновременного охвата большого количества объектов и их сравнения по множеству признаков. Для реализации своих машин С. Н. Корсаков по существу впервые применил перфорированные карты в информатике. До этого перфокарты широко использовались в управлении ткацкими станками и в музыкальных шкатулках. В работах С. Н. Корсакова содержится целая плеяда новых для того времени идей, как то: многокритериальный поиск с учетом относительной степени важности различных критериев, способ обработки больших массивов данных, предтеча современных экспертных систем, и даже попытка определить понятие алгоритма.
С. Н. Корсаков предпринял два шага к продвижению своих изобретений. В 1832 г. им была издана брошюра «Начертание нового способа исследования при помощи машин, сравнивающих идеи». По традиции того времени, брошюра была написана на французском языке. В том же году С. Н. Корсаков предпринимает попытку представить свои изобретения на суд Императорской Академии наук в Санкт-Петербурге. Однако С. Н. Корсакову не повезло. Изобретения его не были в должной мере оценены современниками и не получили официальной поддержки. Заключение комиссии содержало ироническое замечание: «Г-н Корсаков потратил слишком много разума на то, чтобы научить других обходиться без разума».
Таким образом, Корсакову принадлежит честь одним из первых первым применить перфорированные карты в информатике, раньше англичанина Бэббиджа и американца Холлерита.
www.wikipedia.
Развитие формализмов теории функций, математического анализа и алгебры привело в начале XX века к становлению методологии моделирования в самых различных проблемных областях.
Термин модель происходит от латинского слова modulus «мера, образец». Модель это сущность, которая заменяет реальный объект исследования. Модель гораздо проще объекта, является в чём-то его подобием и создаётся с определённой целью. Именно от цели исследования зависит, какие свойства реального объекта представляются в модели. Естественно, что при изучении сложных явлений, процессов, объектов не учитываются все их элементы и связи (как правило, и объекты, и явления, и процессы рассматриваются как системы). Модель больше зависит от информационно-логических связей элементов и подсистем моделируемой системы, от связей ее с окружающим миром, чем от конкретной природы и исполнения модели.
Вероятно, первыми моделями, которые замещали реальные объекты, были языковые знаки. Они возникли в ходе развития человечества и постепенно превратились в разговорный язык. Первые наскальные рисунки (петроглифы), имеющие возраст в 200 тысяч лет, были графическими моделями, которые изображали бытовые сцены, животных и сцены охоты. Следующим этапом развития моделирования можно считать возникновение систем счисления и числовых знаков.
Моделирование получило развитие ещё в Древней Греции. В VIII вв. до н. э Птолемей создал геометрическую модель Солнечной системы, а Гиппократ использовал для изучения строения глаза человека глаз быка (как физическую модель глаза).
Моделирование это опосредственное практическое или теоретическое исследование объекта при котором изучается не сам объект, а заменяющая его сущности. Подразумевается, что модель в достаточной степени адекватна объекту-прототипу, что позволяет на основании исследования ее поведения судить о поведении объекта-прототипа.
Общим свойством всех моделей является их способность, так или иначе, отображать действительность. В зависимости от того, какими средствами это отображение осуществляется, возникает большое разнообразие моделей, а вместе с ним и проблема классификации моделей.
Физическое моделирование (макетирование) имеет место, когда основные геометрические, физические, динамические и функциональные характеристики "оригинала" представляются сущностью одинаковой с объектом прототипом природы. Характерный пример, когда планер проектируемого самолета в уменьшенном масштабе реализуется в виде деревянной модели. Обдувая такую модель в аэродинамической трубе, изучают ее аэродинамические свойства. При изготовлении физической модели соблюдают критерий подобия пропорциональное уменьшение всех размеров "оригинала", что обеспечивает адекватное поведение модели и объекта-прототипа.
Аналоговое моделирование, при котором модель и "оригинал" сущности различной природы, но описываются единым математическим формализмом . Примером могут служить электрические модели, используемые для изучения различных явлений: механических, гидродинамических, биологических и т.д. Например, колебания в электрической цепи, в биологической среде "хищник-жертва", в некоторых химических реакциях описываются одинаковым дифференциальным уравнением второго порядка.
Знаковое моделирование, при котором в роли моделей выступают схемы, чертежи, формулы, а также уравнения различных типов. Знаковая модель являет собой математический текст - предложение формального языка описания некоторого класса объектов-прототипов.
Математическое (логико-математическое) моделирование является важнейшим видом знакового моделирования, осуществляемого средствами языка математики и логики. Математические тексты математические модели и их элементы всегда рассматриваются вместе с определенными преобразованиями (операциями) над ними. Формулы и системы формул, уравнения и системы уравнений распространенные примеры математических моделей. Подразумевается, что, изучая поведение математической модели, например дифференциального уравнения, можно делать заключения о поведении представляемого этим уравнением объекта прототипа.
Примечание. Как в случае аналогового, так и математического моделирования используются математические тексты. Однако в аналоговом случае математический текст служит для описания общих свойств как модели, так и объекта-прототипа, а в знаковом случае - математический текст сам является моделью.
Компьютерное моделирование. Современная форма "материальной реализации" знакового (прежде всего, математического) моделирования - это компьютерное моделирование. Компьютер является уникальным по своим возможностям инструментом, который под управлением соответствующей программы превращается в адекватную модель любого объекта-прототипа.
Знаковые модели принято делить на алгоритмические (процедуральные) и декларативные. Процедуральная модель являет собой алгоритм - способ обработки математического текста, представляющего объект-прототип, позволяющий получить новые знания об этом объекте- прототипе.
Пример. Дифференциальное осцилляторное уравнение, моделирующее колебательные свойства физического маятника, относится к классу декларативных математических моделей. Тогда как метод Рунге-Кута решения этого уравнения являет собой алгоритмическую модель физического маятника. Когда реализующая этот метод программа вводится в компьютер, она превращает последний в компьютерную модель физического маятника.
Альтернативой алгоритмической (процедурной) модели служит декларативная модель, которая представляет свойства объекта-прототипа.
Пример. Рисунок физического маятника с указанием длинные его плеча и массы грузика типичный пример декларативной модели. Дифференциальное осцилляторное уравнение, моделирующее колебательные свойства физического маятника, также относится к классу декларативных математических моделей. Тогда как метод Рунге-Кута решения этого уравнения являет собой алгоритмическую модель физического маятника. Когда реализующая этот метод программа вводится в компьютер, она превращает последний в компьютерную модель физического маятника.
Если говорить про математические модели в виде уравнений, то существуют два способа их решения. Аналитический способ подразумевает представление решения уравнения (системы уравнений) в явном виде, т.е. в виде формул вида y = f*(x). Здесь, f*(x) элементарная функция, представленная в виде арифметического выражения. Привлекательность аналитического подхода состоит в том, что решение представляет поведение функции в некоторой области, по этой причине такое решение часто называют общим.
Средством получения аналитического (общего) решения уравнения (системы уравнений) является то или иное исчисление, правила которого позволяют в символьном виде преобразовать исходную запись уравнения в запись аналитического решения.
Однако, в большинстве практических случаев уравнение (систему уравнений) записать можно, но способ аналитического решения этого уравнения (системы уравнений) неизвестен, по крайней мере, в настоящее время. В этом случае на первый план выступают численные методы, которые позволяют получить частное решение практически любых уравнений (систем уравнений), но для конкретных начальных/ граничных условий и конкретного набора параметров.
Численные методы для реальных случаев требуют выполнения длинных и сверхдлинных последовательностей действий, образованных четырьмя арифметическими операциями. Особенно это относится к дифференциальным уравнениям в частных производных.
Подводя итог, можно сказать, что численные вычисления существуют на основании дуализма: декларативная математическая модель (уравнение или система уравнений) и алгоритм ее интерпретации, т.е. решения.
В начале тридцатых годов XX века инженерная человеческая мысль была озабочена изобретением автоматических вычислителей, позволяющих численными методами решать большие системы уравнений. По-видимому не случайно, большинство первых конструкторов компьютеров сделали свою первоначальную карьеру в области методов решения уравнений в частных производных (Сергей Лебедев, Джон фон Нейман, Конрад Цузе). В эти же годы теоретическая человеческая мысль была озабочена математическим обоснованием вычислимости функций, что привело к появлению ряда теоретических моделей вычислений.
Неформально, вычислимая функция это такая функция, для которой существует вычисляющий ее значения алгоритм [В.А. Успенский. Лекции о вычислимых функциях. Гос. изд-во ф.м. л-ры, М.: 1960]. Понятия алгоритма и вычислимой функции являются одними из центральных понятий современной математики. Их роль в математике XX века, пожалуй, можно сравнить с ролью понятия множества в математике конца XIX века.
Под алгоритмом интуитивно понимается некоторое формальное предписание, действую согласно которому, можно получить нужное решение задачи. Такая формулировка, разумеется, не претендует на точность, а скорее выражает то интуитивное представление об алгоритме, которое сложилось еще в древности.
Примечание. Термин "алгоритм" происходит от имени средневекового математика Аль-Хорезми, который еще в IX веке описал правила выполнения четырех арифметических операций в десятичной системе счисления. Очевидно, что на эти правила являют собой формальные предписания, которые всегда одинаково выполняются исполнителем (человеком или компьютером).
Более строго, с математической точки зрения, понятие численного алгоритма объясняется следующим образом. Существует декларативная математическая модель моделирующая числовая функция f которая представляет свойства некоторого объекта прототипа:
f: X Y (38)
Здесь, X обозначает числами априорно известные свойства объекта прототипа, Y обозначает числами априорно неизвестные свойства объекта прототипа. Функция f представляет зависимость априорно неизвестных свойств от заданных априори свойств объекта-прототипа.
Примечание. Формат моделирующей числовой функции может быть различным: формула и система формул; уравнения и система уравнений и т.д.
С учетом вышесказанного, численный алгоритм определяется как пошаговый способ определения значения моделирующей числовой функции () в точке посредством пошагового преобразования значения аргумента X (символьная строка) в значение функции Y (символьная строка). В большинстве случаев в качестве числовых моделирующих функций используются элементарные вещественные функции, и численный алгоритм определяет для каждой конкретной совокупности значений аргументов конкретную последовательность выполнения арифметических операций, вычисляющих конкретное значение функции.
Пример. Алгоритм численного сложения преобразует две символьных записи слагаемых в символьную запись результата.
Первые алгоритмы были придуманы для решения численных задач типа умножения чисел, нахождения наибольшего общего делителя, вычисления тригонометрических функций и других. Сегодня в равной степени важны и нечисленные алгоритмы; они разработаны для таких задач, как, например, поиск в тексте заданного слова, планирование событий, сортировка данных в указанном порядке и т.п. Нечисленные алгоритмы оперируют с данными, которые не обязательно являются числами.
Нечисленный алгоритм также определяется как пошаговый способ вычисления моделирующей функции, аргументы и значение которой не могут быть интерпретированы как числа.
Пример нечисленного алгоритма. [М.А. Айзерман, Л.А. Гусев и др. Логика, автоматы, алгоритмы. Гос. изд-во ф.м. л-ры, М.: 1963]. Лабиринт Минотавра. Согласно мифу, на Крите когда-то царствовал правитель Минас царь, законодатель, глава морской державы. Пасифая, жена Миноса, воспылала безумной страстью к быку и навлекла на остров бедствия, породив чудовищного Минотавра. У Миноса был подземный дворец Лабиринт, из которого найти выход было невозможно. Царь заключил ужасное чудовище в Лабиринт. Раз в девять лет Минос отдавал ему на съедение семерых юношей и девушек. Афинскому герою Тесею удалось убить Минотавра и выйти из Лабиринта с помощью клубка ниток, который дала ему дочь Миноса и Пасифаи Ариадна.
Математическая модель лабиринта (декларативная) может быть представлена в виде графа (рис.48). Вход в лабиринт вершина A, выход из лабиринта вершина F. Предполагается, что заранее неизвестно устройства лабиринта. Алгоритм прохождения по лабиринту мыслится в виде общего метода поиска пути из A в F, пригодном для любого лабиринта.
.
Рис. . Граф лабиринта Тезея
Рассмотрим один из методов поиска пути в лабиринте. Тезей имеет в своем распоряжение свернутую в клубок нить, конец которой закреплен в вершине A. Двигаясь по коридору, Тезей может разматывать нить с клубка и сматывать ее на клубок. предполагается также, что он может делать отметки на проходимых коридорах:
Отметки проходимых коридоров:
Действия: находясь в какой-либо вершине можно совершить два действия:
а) разматывание нити до смежной площадки, коридор помечается желтым;
б) наматывание нити до возвращения к последней пройденной площадке, коридор помечается красным;
Ситуации.
1) площадка F достигнута;
2) петля - от данной площадки расходятся по крайней мере два желтых коридора;
3) зеленая улица - от данной площадки отходит по крайней мере один зеленый коридор;
4) исходная площадка A;
5) отсутствие всех предыдущих признаков.
Метод поиска задается следующей таблицей решений.
Выбор |
Признак |
Действие |
1 |
Площадка F |
Останов -удача |
2 |
Петля |
Наматывание нити |
3 |
Зеленая улица |
Разматывание нити |
4 |
Площадка A |
Останов - неудача |
5 |
Все стальное |
Наматывание нити |
На основании приведенной выше таблице решений нетрудно записать алгоритм и его программную реализацию.
begin Тек_состояние:="A";
Флаг:=1;
while Флаг=1 do
begin
case Выбор of
2: Тек_состояние : наматывание нити;
3: Тек_состояние : разматывание нити;
5: Тек_состояние : наматывание нити;
else Флаг:=0;
end;
if Выбор=1 then Останов_удача;
if Выбор=4 then Останов_неудача;
end.
Относительно предложенного метода поиска пути можно доказать справедливость трех утверждений.
Первое. При любом взаимном расположении A и F после конечного числа шагов наступит останов либо в A либо в F.
Второе. Если остановка наступит в F - цель достигнута и нить протянута по простому пути из A в F.
Третье. Если останов в A вершина F недостижима.
Пример трассировки алгоритма.
№ шага |
Признак |
Действие |
Коридор |
Цвет коридора |
1 |
Зеленая улица |
Разматывание |
AB |
Желтый |
2 |
Зеленая улица |
Разматывание |
BC |
Желтый |
3 |
Зеленая улица |
Разматывание |
CD |
Желтый |
4 |
Зеленая улица |
Разматывание |
DH |
Желтый |
5 |
Зеленая улица |
Разматывание |
HJ |
Желтый |
6 |
Остальное |
Наматывание |
IH |
Красный |
7 |
Остальное |
Наматывание |
HD |
Красный |
8 |
Зеленая улица |
Разматывание |
DB |
Желтый |
9 |
Петля |
Наматывание |
BD |
Красный |
10 |
Зеленая улица |
Разматывание |
DF |
Желтый |
11 |
Площадка F |
Останов |
Существенно, что не всякая совокупность правил преобразования символьных строк может называться алгоритмом. Ниже приводятся три свойства, которые присущи алгоритму.
Детерминированность алгоритма предполагает однозначность и непротиворечивость предписаний исполнителю этого алгоритма. Говоря другими словами, сколько бы раз различные исполнители ни применяли алгоритм к одним и тем же исходным данных результат работы алгоритма будет один и тот же.
Массовость алгоритма предполагает, что существует область допустимых данных алгоритма, на которой он дает правильный результат.
Результативность алгоритма предполагает, что при любом значении из области допустимых исходных данных алгоритм дает правильный результат за конечное число шагов.
Из свойств результативности алгоритма естественно вытекает понятие области применимости алгоритма. Областью применимости алгоритма называется такая наибольшая область начальных данных, на которой алгоритм результативен.
Описанный алгоритм поиска в лабиринте: массовый и результативный. Но не детерминированный: если существует несколько зеленых коридоров и допустим выбор любого. Детерминированность достигается за счет уточнения: из нескольких зеленых коридоров выбирается первый по часовой стрелке.
Существенная характеристика алгоритма временная сложность, т.е. время, затрачиваемое алгоритмом как функция размера задачи. Подробное обсуждение этого вопроса выходит за рамки настоящего издания.
Резюме. Алгоритм пошаговое преобразование исходной символьной строки (набор входных данных) в результирующую символьную строку (набор выходных данных) по правилам, которые по сути дела и являют собой существо алгоритма. Если исходная и символьная строка представляют собой числа, представленные в позиционной системе счисления, то пошаговое преобразование последовательность арифметических операций. В этом случае говорят о численном алгоритме. В противном случае строки рассматриваются как последовательности символов, а операции как преобразования строк на символьном уровне. В этом случае говорят о нечисленном алгоритме.
Рассматриваемые ниже модели вычислений отличаются друг от друга спецификой задания преобразований символьных строк.
Далеко идущим обобщением проблемы поиска в лабиринте является проблема слов. Если приведенный выше алгоритм справедлив только для конечного лабиринта, то проблема слов, в определенном смысле, трактуется как проблема поиска в бесконечном лабиринте.
Пусть имеется алфавит А- любая конечная последовательность символов - букв. Слово в алфавите А определяется как конечная последовательность символов алфавита.
Опишем теперь процесс преобразования слов, позволяющий из заданного слова получать новые слова. Зададим в алфавите А конечную систему допустимых правил подстановок:
P Q; L M; …; S T (39)
где P, Q, L, M, …, S, T - слова в том же алфавите.
В общем виде правило подстановки записывается в виде:
(40)
Здесь, и - слова в алфавите A.
Любую подстановку () можно применять к слову R в алфавите A следующим способом: если в слове R есть одно или несколько вхождений слова , то любое из этих вхождений может быть заменено словом и наоборот, если имеется вхождение слова , то его можно заменить словом .
Сказанное выше формализуется в виде двух аксиом подстановки:
ЕСЛИ XY и то XY . И наоборот:
ЕСЛИ XY и то XY
Совокупность всех слов в данном алфавите вместе с системой допустимых подстановок называется ассоциативным исчислением. Термин "ассоциативное исчисление" был введен А.А. Марковым, который также разработал теорию ассоциативных исчислений.
Два слова P1 и P2 называются смежными, если одно из них может быть преобразовано в другое при помощи однократного применения некоторой допустимой подстановки.
Последовательность слов: P, P1, P2, P3,…, Q называется дедуктивной цепочкой.
Два слова R и W называются эквивалентными, если существует дедуктивная цепочка их связывающая.
Пример ассоциативного исчисления.
A = {a, b, c, d, e}
ac ca
ad da
bc cb
bd db
abac abacc
eca ae
edb be
Слово abcde эквивалентно слову cadedb, т.к. существует дедуктивная цепочка смежных слов:
abcde, acbde, cabde, cadbe, cadedb.
Ассоциативному исчислению можно поставить в соответствие бесконечный лабиринт. Любые две вершины графа лабиринта, соответствуют смежным словам и соединяются коридором.
Признак эквивалентности строк - существование пути между площадками.
Используется также специальный вид ассоциативного исчисления - ориентированные подстановки:
(41)
Ассоциативное исчисление с такими и только такими подстановками называется туэ системой, по имени норвежского математика Акселя Туэ.
Проблема слов в ассоциативном исчислении: для любых двух слов определить эквивалентны они или нет. Эта та же проблема достижимости, которая была рассмотрена в примере с лабиринтом, только лабиринт бесконечный.
Поскольку в любом ассоциативном исчислении содержится бесконечное множество различных слов, проблема эквивалентности представляет собой бесконечную серию однотипных задач, а решение мыслится в виде алгоритма, распознающего эквивалентность или неэквивалентность любой пары слов.
Имеет решение ограниченная проблема слов - применение подстановок не более k раз. Она решается посредством построения всех путей в лабиринте. Для бесконечного лабиринта это неприемлемо.
Таким образом, логическая задача о поиске пути в лабиринте может быть сформулирована на языке ассоциативного исчисления. Иные дедуктивные логические процессы также можно трактовать как ассоциативное исчисление.
Пример. Исчисление высказываний, исчисление предикатов - существуют методы получения всех следствий из данной системы аксиом.
В этом смысле любой процесс вывода формул, математические выкладки и преобразования также являются дедуктивными цепочками в подходящем образом выбранном ассоциативном исчислении.
[Айзерман, Л.А. Гусев и др. Гос. изд-во ф.м. л-ры, М.: 1960]
Предложенное А.А. Марковым определение нормального алгоритма конкретизирует правила подстановки ассоциативного исчисления.
Примечание. А.А. Марков употреблял термин "алгорифм".
Алгоритмом в алфавите А, по определению А.А. Маркова, называется всякое общепонятное точное предписание, определяющее потенциально осуществимый процесс над словами из алфавита A, допускающий любое слово в качестве исходного и последовательно определяющий новые слова в этом алфавите.
I. Алгоритм применим к некоторому слову P, если, отправляясь от этого слова и действуя согласно предписанию, мы получим через конечное число шагов некоторое новое слово Q, на котором процесс оборвется. Принято говорить, что алгоритм перерабатывает P в Q.
Пример алгоритма. Перепиши заданное слово, начиная с конца. Полученное слово есть результат. Останов.
Определение I слишком широко: уточнение понятия алгоритма связано с использованием аппарата подстановок, т.е. с понятием ассоциативного исчисления.
Будем считать, что алгоритм в алфавите A задается в виде некоторой системы допустимых подстановок, дополненной общепонятным точным предписанием о том, в каком порядке и как нужно применять допустимые подстановки, и когда наступает останов.
Предыдущие два определение расплывчаты, что такое "общепонятное указание"?
Марков дал определение нормального алгоритма, зафиксировав порядок использования подстановок.
Задается алфавит A и фиксируется система подстановок.
Исходя из произвольного слова P' в алфавите A, просмотреть формулы подстановок в том порядке, в каком они заданы в схеме, разыскивая первую формулу с левой частью, входящей в P'.
Если такой формулы не найдется - процесс останавливается.
В противном случае берется эта первая формула и делается подстановка ее правой части вместо первого вхождения ее левой части в P'. Получается P''.
P'=XY XY=P'' (42)
Повторение 2 для слова P''.
Процесс обрывается в двух случаях:
получается такое слово Pn, что ни одна из левых частей формул схемы в него не входит;
при получении нового слова применяется последняя формула.
Пример нормального алгоритма сложения.
Числа представляются в "примитивной системе счисления" величина числа представляется количеством единиц в записи числа.
A = {1,+} алфавит I:{1+ +1; правила подстановки
+1 1;
1 1}
P = 1111+11+111
1 |
1 |
1 |
1 |
+ |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
+ |
+ |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
+ |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
||
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Еще две системы подстановок определяющие алгоритмы эквивалентные приведенному алгоритму сложения:
II: {+ } III: {1+ +1;
++ +
+ }
Гипотеза Маркова: всякий алгоритм в алфавите A эквивалентен некоторому нормальному алгоритму в этом же алфавите.
Говоря другими словами, функция вычислима, если для нее может быть построен нормальный алгоритм.
[Айзерман, Л.А. Гусев и др.Гос. изд-во ф.м. л-ры, М.: 1960]
По мере совершенствования теории численных алгоритмов было выяснено, что любой нечисловой алгоритм можно свести к численному алгоритму. Говоря другими словами, любую алгоритмическую проблему можно свести к вычислению значений некоторой целочисленной функции. Сделать это можно следующим образом.
Включим все условия задачи, доступные для переработки конкретным алгоритмом Alg, в занумерованную неотрицательными числами последовательность:
A0,A1,…An,… (43)
Аналогично, записи возможных решений включим в занумерованную неотрицательными числами последовательность:
B0,B1,…,Bm,… (44)
Очевидно, что выполнение алгоритма Alg можно свести к вычислению значений некоторой целочисленной функции:
m = Falg(n) (45)
Теперь можно говорить, что вычислительный алгоритм Alg преобразует номер записи условий в номер записи решения.
Курт Гёдель предложил способ целочисленной нумерации любых последовательностей () и (), составленных как из цифр, так и из произвольных символов. В частности, любой нормальный алгоритм Маркова с помощью гёделизации может быть сведен к вычислению значений целочисленных функций.
Если алгоритм Alg записан в виде целочисленной функции (45), то решение прикладной задачи происходит следующим образом:
определяется гёделевский номер n исходных данных An;
вычисляется значение m функции (45);
по гёделевскому номеру m определяется набор результирующих данных Bm.
Следующая проблема, которую необходимо решить к какому классу принадлежат функции вида () и можно ли вычислить любую такую функцию.
Функция вида y = (x1,x2,…,xn) называется целочисленной функцией, если как аргументы, так и сами функции могут принимать значения из множества {0,1,2,…}. Логические функции являются частным случаем целочисленных функций.
Элементарная целочисленная функция получается из неотрицательных натуральных чисел и переменных с помощью конечного числа сложений, арифметических вычитаний (под арифметическим вычитанием подразумевается абсолютная величина (|x-y|), умножений, арифметических делений ( под арифметическим делением понимается целая часть частного [a/b] при b 0) и построений сумм и произведений.
Вычислимость элементарных функций не вызывает сомнения, поскольку хорошо известны алгоритмы для выполнения всех действий, допустимых при построении элементарных функций.
В качестве исходного числа для построения элементарных функций можно взять число 1, ибо
0=|1-1|, 2=1+1, 3=(1+1)+1 и т.д.
Примеры.
(x)x+1, (y)12y, (a,b,c)ab+c, b2
= min(x,1)
Из всех целочисленных элементарных функций быстрее всего растет произведение. Умножение есть итерация сложения. Возведение в степень, в свою очередь, есть итерация умножения:
an = aa…a ()
Эта функция является еще элементарной, так как она выражается через произведение. Растет эта функция с ростом a и n достаточно быстро. Построим еще более быстро растущую функцию, являющуюся итерацией возведения в степень:
(0,a)=a, (1,a)=aa, (2,a)=,…, (n+1,a)=a(n,a) (46)
Эта функция растет чрезвычайно быстро. Можно доказать, что с помощью построения элементарных функций уже невозможно "угнаться" за ростом функции (n,a). Говоря другими словами, эта функция мажорирует все целочисленные элементарные функции. Таким образом, итерация возведения в степень позволяет получить неэлементарную функцию. Тем не менее, эта функция вычислима.
Пусть необходимо вычислять значение (n,a) при любых значениях n=n*, a=a*. Общую формулу для определения функции (n,a), при заданном значении a* аргумента a, можно записать в виде:
(n+1,a*) = (a*) (n,a*) (47)
Обозначим (a*)m =(m); (m) целочисленная элементарная, всюду однозначная вычислимая функция. Алгоритм ее вычисления сводится к повторному m раз умножению на a*. Запись:
(n+1,a*) = ((n,a*)) (48)
связывает значение функции в следующей точке с ее значением в предыдущей точке. Достаточно задать начальное значение (0,a*) = a*, чтобы получить вычислительную процедуру, дающую последовательные значения:
(1,a*) = ((0,a*)) = (a*) (49)
(2,a*) = ((1,a*)) = ((a*))
…
Этот процесс следует продолжать до тех пор, пока не будет достигнуто значение (n*,a*).
Из предыдущего примера следует вывод, что класс целочисленных элементарных функций должен быть расширен.
Класс целочисленных элементарных функций расширяется за счет введения примитивно-рекурсивных функций. Различаются понятия примитивно-рекурсивной функции и описания примитивно-рекурсивной функции.
Описанием примитивно-рекурсивной функции (x1,x2,…,xn) называется такая последовательность функций 1,2,…k, что каждая функция из этой последовательности является или базисной или непосредственно зависящей от предыдущих функций последовательности, а последняя функция k есть .
Определению примитивно-рекурсивной функции может быть придана следующая форма. Фиксируется небольшое число чрезвычайно простых базисных целочисленных функций (1-3):
(x) = x+1 функция следование;
(x1,x2,…,xn) = q функция константа;
(x1,x2,…,xn) = xi функция тождества.
Фиксируется также небольшое число операторов, переводящих вычислимые функции снова в вычислимые (4-6).
(x1,x2,…,xn) = (1((x1,x2,…,xn),2((x1,x2,…,xn),…, 1((x1,x2,…,xm)) схема подстановки;
(0)=q; операторы определения по индукции.
(x+1)=(x,(x))
Примитивно-рекурсивные функции - такие функции, которые можно получить из базисных функци1 (1-3) в результате конечного числа применений операторов (4-5).
Нетрудно показать, что целочисленные элементарные функции являются частным случаем примитивно-рекурсивных функций.
Пример. Определим функцию (y,x) таким образом:
(0,x) = x;
(y+1,x) = (y,x)+1
Согласно этой схеме имеем:
(1,x) = x+1;
(2,x) = (1,x)+1 = x+2;
(3,x) = (2,x)+1 = x+3;
и вообще:
(y,x) = x+y
Примитивно-рекурсивные функции, в свою очередь, являются частным случаем частично-рекурсивных функций, которые, в свою очередь являются частным случаем общерекурсивных функций. При определении последних к операторам (4-6) добавляется оператор минимизации.
Подробное изложение теории рекурсивных функций выходит за рамки данного издания.
Резюме.
Рекурсивные функции вычислимы по определению.
Тезис Черча: если функция может быть представлена в виде частично рекурсивной функции она вычислима.
[Айзерман, Л.А. Гусев и др.Гос. изд-во ф.м. л-ры, М.: 1960]
Вне зависимости от модели, вычисление функций подразумевает символьную запись набора исходных данных и также символьную запись императива преобразования этих данных.
В случае нормального алгоритма Маркова, в качестве набора исходных данных выступает слово P в алфавите A, а императивом преобразования P в Q служат правила подстановки, специфичные для каждого алгоритма.
В случае рекурсивных функций, набором исходных данных служат символьные записи значений функции, а императивом преобразования служит набор операций (подстановок, определения по индукции и минимизации) специфический для каждой функции.
Обратим внимание, что, как для записи алгоритма Маркова, так и для записи рекурсивной функции необходим исполнитель, реализующий императивы, содержащиеся в этих записях. Кроме того, изящные теоретические конструкции, как в первом, так и во втором случае чрезвычайно сложны в их практической реализации при массовом решении конкретных прикладных задач. Следствием этого является факт использования алгоритмов Маркова и формализма рекурсивных функций только на теоретическом уровне, но не для инженерной реализации автоматических вычислителей.
Существенный шаг по направлению создания технических средств автоматизации вычислений сделал Алан Тьюринг, предложив в 1936-м году концепцию машины преобразования данных, которая известна как "машина Тьюринга".
Машина Тьюринга - очень простое вычислительное устройство. Она имеет ленту бесконечной длины, разделенную на ячейки. Лента может двигаться влево и вправо, сдвигаясь на одну ячейку за один шаг. Каждая ячейка может быть пустой или содержать символ, выбираемый из некоторого конечного алфавита. Также машина Тьюринга имеет головку, которая в каждый момент времени может читать и изменять содержимое доступной ячейки.
Рис. . Машина Тьюринга
В каждый момент времени машина находится в одном из возможных состояний, которое представляется целым числом q0 qMax. Одно из состояний, как правило, состояние q1, определяется как исходное состояние, также определяется состояние останова, как правило, q0.
Поведение машины определяется устройством управления, которое функционирует на основании таблицы управления. Таблица управления определяет действия, которые будет выполнять машина в текущий дискретный момент времени.
Действие, которое совершает машина в текущий дискретный момент времени, зависит только от текущего состояния машины и символа в доступной ячейке, который считывает головка машины. На основе этой информации (состояния и считанного символа), машина Тьюринга может выполнить одно из трех действий:
записать символ в ячейку (возможно тот же самый, который в ней уже находился );
оставить ленту на месте или передвинуть ее на одну ячейку вправо - влево;
перейти в следующее состояние (возможно, то же самое, в котором машина находится в данный момент).
Для решения каждой конкретной задачи создается конкретная управляющая таблица, пример которой приведен на (Рис.50).
q0 |
q1 |
q2 |
|
0 |
0,q0,С |
0,q1,П |
1,q0,С |
1 |
1,q0,С |
0,q2,П |
1,q2,П |
+ |
- |
- |
1,q0,С |
Рис. . Пример управляющей таблицы
В боковике таблицы записываются символы алфавита, в шапке таблицы записываются допустимые состояния машины. В каждом поле таблицы записывается команда, формат которой приведен ниже:
<символ, заменяющий текущий символ на входной ленте>,<следующее состояние машины>,<движение ленты: Лево, Право, Стоп>
Устройство управления в каждый дискретный момент времени считывает символ из доступной ячейки входной ленты, и выполняет команду, записанную в поле [<текущий символ>, <текущее состояние>] управляющей таблицы.
Приведенная на рис.50 управляющая таблица записана для решения задачи сложения двух натуральных чисел. Числа представляются в примитивной системе счисления.
Семантика состояний машины приведена ниже:
q0 - состояние останова;
q1 - считывались только нули;
q2 - считана хотя бы одна единица.
Императив движения ленты обозначается как: П движение на одну ячейку вправо, Л движение на одну ячейку влево, С оставить ленту на месте.
Команды машины интерпретируются следующим образом:
["0",q1]: <0,q1,П> пропускает "0" перед записями чисел;
["1",q1]: <"0",q2, П> - первая единица убирается, так как где - то следом должен быть +;
["0", q2]: <"1",q0,C> - второго числа нет, останов.
["1",q2]: <"1",q2,П> - пропускаются единицы до знака сложения;
["+",q2]: <"1",q0,C> - заменяетcя плюс на единицу и машина останавливается.
Две команды столбца qo реализуют динамический останов машины. Две пустые клетки управляющей таблицы нереализуемые ситуации.
Трассировка процесса сложения двух натуральных чисел на машине Тьюринга приведена ниже.
0 |
0 |
1 |
1 |
1 |
+ |
1 |
1 |
0 |
0 |
q1 |
0 |
0 |
1 |
1 |
1 |
+ |
1 |
1 |
0 |
0 |
q1 |
0 |
0 |
1 |
1 |
1 |
+ |
1 |
1 |
0 |
0 |
q1 |
0 |
0 |
0 |
1 |
1 |
+ |
1 |
1 |
0 |
0 |
q2 |
0 |
0 |
0 |
1 |
1 |
+ |
1 |
1 |
0 |
0 |
q2 |
0 |
0 |
0 |
1 |
1 |
+ |
1 |
1 |
0 |
0 |
q2 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
q0 |
В настоящее время управляющую таблицу машины Тьюринга записывают на языке графов (Рис.51) в виде графа переходов машины Тьюринга как детерминированного конечного автомата
Рис. . Граф переходов для машины Тьюринга
В этом случае дуги определяют направления смены состояний, каждой дуге поставлена в соответствие пара: (текущий символ, команда). Команда, поставленная в соответствие дуге, имеет формат: <записываемый на ленту символ>, <следующее состояние машины>.
Машина Тьюринга может иметь две ленты: входную и выходную. Однако это не расширяет класс решаемых на машине задач.
[Айзерман, Л.А. Гусев и др.Гос. изд-во ф.м. л-ры, М.: 1960]
Машина с произвольным доступом к памяти (или, иначе, равнодоступная адресная машина сокращенно РАМ) является усовершенствованием машины Тьюринга по следующим направлениям.
В дополнение к входной и выходной лентам введена оперативная память, состоящая из регистров, к которым обеспечен произвольный доступ. Следствием произвольного доступа является необходимость присвоить каждому регистру уникальное имя (адрес).
Состояние машины определяется содержимым регистров оперативной памяти. Смена состояния изменение содержимого одного (любого) регистра.
Вместо управляющей таблицы используется программа, исполнение которой реализует изменение состояния машины от начального до заключительного.
Более подробно. РАМ состоит из входной ленты, с которой читающая головка только считывает символы из доступной ячейки, выходной ленты, на которую записывающая головка может только записывать символы в доступную ячейку, и оперативной памяти (рис. 52). Входная лента представляет собой последовательность ячеек, каждая из которых может содержать натуральное число (возможно, отрицательное). Всякий раз, когда читающая головка считывает символ из доступной ячейки входной ленты, эта лента сдвигается на одну клетку влево. Выход представляет собой ленту, на которую машина может только записывать символы, она разбита на ячейки, которые вначале все пусты. При выполнении записи в той ячейке выходной ленты, которая в текущий момент доступна записывающей головке, печатается натуральное число, и лента сдвигается на одну клетку влево. Как только выходной символ записан, его уже нельзя изменить. (Доступ к ячейкам входной/ выходной ленты последовательный).
Оперативная память состоит из последовательности регистров r0 r1, . . ., ri . . , каждый из которых способен хранить произвольное натуральное число. Как сказано выше, после доступа к ячейке ri возможен доступ к ячейке rj (произвольный доступ).
Рис. . Машина с произвольным доступом к памяти (РАМ)
_|Программа для РАМ (или РАМ-программа) хранится в отдельной памяти. Поэтому предполагается, что программа не может изменять сама себя. Программа является, в сущности, последовательностью (возможно) помеченных команд. Мы предполагаем, что имеются арифметические команды, команды ввода-вывода, и команды разветвления. Все вычисления производятся в первом регистре r0, называемом сумматором, который, как и всякий другой регистр памяти, может хранить произвольное натуральное число. Пример набора команд для РАМ показан в нижеследующей таблице. Каждая команда состоит из двух частей кода операции и адреса регистра памяти. Если a адрес регистра памяти, то a* - содержимое этого регистра.
Команда |
Действие |
|
1 |
LOAD a |
r0a* |
2 |
STORE i |
rir0* |
3 |
ADD a |
r0ro*+a* |
4 |
SUB a |
r0ro*-a* |
5 |
MULT a |
r0ro*a* |
6 |
DIV a |
r0ro*/a* |
7 |
READ i |
riвходной символ, входная лента сдвигается на ячейку влево. |
8 |
WRITE a |
a* печатается в доступной ячейке, выходная лента сдвигается на ячейку влево. |
9 |
JAMP b |
В счетчик команд засылается адрес b |
10 |
JGTZ b |
Если r0*>0, то в счетчик команд засылается адрес b |
11 |
JZERO b |
Если r0*=0, то в счетчик команд засылается адрес b |
12 |
HALT |
Останов |
При выполнении любой из первых восьми команд счетчик команд увеличивается на единицу. Поэтому команды в программе выполняются, последовательно, до тех пор, пока не встретится команда JUMP b или JZERO b (при содержимом сумматора, равном нулю), либо JGTZ b (при содержимом сумматора большем нуля).
Можно показать, что РАМ может вычислять в точности частично рекурсивные функции.
Поскольку РАМ-программа хранится в отдельной памяти, она не может изменять сама себя. Хранение программы в оперативной памяти (наряду с данными) превращает РАМ в равнодоступную адресную машину с хранимой программой (РАСП). Такая машина изображена на рис ?.
Рис. . Машина с хранимой программой (РАСП)
Можно доказать [], что модель вычисления в виде РАСП эквивалентна машине Тьюринга по своим вычислительным возможностям. Но замена управляющей таблицы (автоматное программирование) на программу (лингвистическое программирование) делает ее более пригодной для массового решения прикладных программ. Это объясняет тот факт, что не только первые, но и современные компьютеры реализуют, по сути дела, модель вычисления РАСП.
[А. Ахо, Дж. Хопкрофт, Дж. Ульман. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979]
В конце 30-х годов XX века появляются первые проекты компьютеров. Идея конструктивного воплощения машины Тьюринга витает в воздухе.
1937 год. В университете штата Айова профессор Джон Атанасов, болгарин по происхождению, начал работы по созданию автоматической вычислительной машины, предназначенной для решения задач математической физики. (Электромеханические блоки и около 300 электронных ламп).
1942 год. Профессор Джон Атанасов и его аспирант Клиффорд Берри создают первый в США электронный цифровой компьютер (Atanasoff-Berry Computer - ABC). Хотя эта машина так и не была завершена (Атанасов ушел в действующую армию), она, как пишут историки, оказала большое влияния на Джона Мочли, создавшего двумя годами позже ЭВМ ENIAC. Вторая мировая война не позволила Атанасову и его сотрудникам полностью завершить проект. Однако, были запатентованы первые узлы ЭВМ.
1937 год. Джорж Стибиц построил первый двоичный калькулятор в Bell Telephone Laboratories. Компьютер Стибса действительно работал, хотя и был примитивнее чем машина Атанасова, Он продемонстрировал работу своей машины на конференции в Дартмундском колледже в 1940 году.
В 1937 году Говард Айкен из Гарвардского университета предложил проект большой релейной машины вычислительной машины.. Спустя семь лет, в мае 1944-го года машина, получившая название "Марк-I", вступила в строй. Существенное влияние на Г. Айткена и четырех его соавторов оказали идеи Ч. Беббиджа. Машина содержала около 765 тысяч деталей (электромеханических реле, переключателей и т. п.) достигала в длину почти 17 м (машина занимала в Гарвардском университете площадь в несколько десятков квадратных метров), в высоту более 2,5 м и весила около 4,5 тонн. Общая протяжённость соединительных проводов составляла почти 800 км. Основные вычислительные модули синхронизировались механически при помощи 15-метрового вала, приводимого в движение электрическим двигателем, мощностью в 5 л. с. (4 кВт).
Эта машина, работавшая с 23-значными десятичными числами, выполняла операцию сложения за 0,3 сек. и операцию умножения за 3 сек. и имела внушительные размеры (длина 17,4 м, высота 2,5 м).
“Марк-I отличалась высокой работоспособностью (если этот термин можно применить к машине) и надежностью. Этот колосс работал по 24 часа в сутки, без выходных, выполняя главным образом расчеты по секретным проектам военно-морского флота. За первые три года работы на компьютере “Марк-I были составлены 19 таблиц различных математических функций (функций Бесселя, функций Хенкеля, интегральных синусов и косинусов и т. д.). Многочисленные исследования, связанные с решением больших систем линейных уравнений, с помощью компьютера “Марк-1 проводил профессор отделения экономики Гарвардского университета Василий Леонтьев (позже лауреат Нобелевской премии).
Фактически «Марк I» представлял собой усовершенствованный арифмометр, заменявший труд примерно 20 операторов с обычными ручными арифмометрами, однако из-за наличия возможности программирования некоторые исследователи называют его первым реально работавшим компьютером. На самом деле, машина начала перемалывать свои разряды лишь через два года после того как в Германии немецкий изобретатель Конрад Цузе создал вычислительную машину Z3.
«Марк I» последовательно считывал и выполнял инструкции с перфорированной бумажной ленты. Компьютер не умел выполнять условные переходы, из-за чего каждая программа представляла собой довольно длинный ленточный рулон. Циклы (англ. loops петли) организовывались за счёт замыкания начала и конца считываемой ленты (то есть действительно за счёт создания петель). Принцип разделения данных и инструкций получил известность, как гарвардская архитектура.
Однако, главным отличием компьютера «Марк I» было то, что он был первой полностью автоматической вычислительной машиной, не требовавшей какого-либо вмешательства человека в рабочий процесс.
Говард Айкен также продолжил работу над созданием новых вычислительных машин. За «Марком I» последовал «Марк II», затем в сентябре 1949 года «Марк III/ADEC», а в 1952 году «Марк IV».
Немецкий инженер Конрад Цузе в 30-х годах XX века занимался проектированием самолетов в компании Henschel Aircraft и ему приходилось выполнять огромные объемы вычислений для определения оптимальной конструкции крыльев. В то время существовали только механические калькуляторы с десятичной системой счисления и Цузе заинтересовала проблема автоматизации всего процесса вычислений, так как он вынужден был выполнять множество однообразных рутинных расчетов по заданной схеме. В 1934 г. Цузе придумал модель автоматического калькулятора, которая состояла из устройства управления, вычислительного устройства, а также и полностью совпадала с архитектурой сегодняшних компьютеров.
В те годы Цузе пришел к выводу, что будущие компьютеры будут основаны на шести принципах:
1. двоичная система счисления;
2. использование устройств, работающих по принципу “да/нет” (логические 1 и 0);
3. полностью автоматизированный процесс работы вычислителя;
4. программное управление процессом вычислений;
5. поддержка арифметики с плавающей запятой;
6. использование памяти большой емкости.
Цузе на квартире родителей построил свою первую машину, названную Z1. Это полностью механическая программируемая цифровая машина. Модель была пробной и в практической работе не использовалась. Ее восстановленная версия хранится в музее Verker und Technik в Берлине. Именно эту машину в Германии, а сейчас уже все чаще и во всем мире называют первым в мире компьютером.
В 1940 году закончена следующая работа Цузе компьютер Z2, первый в мире релейный компьютер. В 1941 году Цузе вместе с несколькими друзьями построил первый в мире программируемый калькулятор Z3, состоящий из 2600 электромеханических реле, использовались, как мы это теперь называем, элементы б/у. Z3 - первая реализация принципа программного управления. Оригинал Z3 был, к сожалению, разрушен во время войны. Реконструированную модель можно увидеть в Немецком музее в Мюнхене. Логическая структура у обеих моделей (Z1 и Z3) была одинакова. Отметим, что Z3 был быстрее, чем Harvard Mark I, появившийся двумя годами позже.
Одновременно Цузе занимался проектированием механических устройств дистанционного управления бомбами для повышения точности попадания в цель. Для создания модели требовалось провести очень большие вычисления, и он сначала сделал специализированный компьютер, выполнявший фиксированную последовательность операций. Затем он решил также автоматизировать работу оператора, занимавшегося вводом данных, и первым в мире сделал то, что сегодня называется аналогово-цифровым преобразователем.
Из-за небольшого объема памяти на Z3 нельзя было решать, в частности, системы линейных уравнений. В 1941 г. Цузе решил разработать более мощную модель - Z4. Он понимал все минусы своей машины и хотел создать полноценный компьютер, которому, по оценкам самого Цузе, требовалась емкость памяти как минимум 8 тысяч слов. Но немецкое руководство ответило ему, что Германия так близка к победе, что компьютеры ей не нужны. Во время войны все практические работы в этой области полностью прекратились.
Приближалась пора компьютеров, появление которых обычно приравнивается к появлению первых паровых машин и двигателей внутреннего сгорания. Стимулом для создания электронного компьютера стала вторая мировая война.
В начале войны германские адмиралы посылали сообщения на подводные лодки, а англичане могли эти сообщения перехватывать. Сообщения были закодированы машиной ENIGMA, предшественница которого была спроектирована изобретателем дилетантом и бывшим президентом США Томасом Джеферсоном.
Поляки украли эту машину у немцев и продали англичанам. Но для расшифровки сообщений требовалось огромное количество вычислений. Британское правительство основало секретную лабораторию для создания электронного компьютера COLOSSUS. В его создании принимал участие Алан Тьюринг. COLOSSUS уже работал в 1943 году, но в силу секретности не мог служить основой для дальнейшего развития компьютеров.
В Пенсильванском университете США такую работу для военного ведомства с целью вычисления таблиц стрельб, возглавляли талантливые инженеры Маучли и Эккерт. В 1946 году первая электронная вычислительная машина ЭНИАК (Electronic Numerical Integrator and Computer) начала производить вычисления. 18000 электронных ламп, 1500 реле, 30 тонн весом, 140 киловатт электроэнергии, 6000 многоканальных переключателей множество кабелей, протянутых к розеткам.
Числа в этой первой машине представлялись не двоичными кодами, а в десятичной системе счисления.
Эту машину уже можно назвать машиной с автоматическим программным управлением, хотя она не имела внутреннего запоминающего устройства. Она включала в себя ряд специализированных блоков, предназначенных для деления, извлечения корня, умножения и т.д. Общее управление ими осуществлялось центральным программным блоком. Но самой программы, в ее теперешнем смысле, не было.
Программированием машины разработчики называли этот процесс “установкой” (setting up) занималась группа из семи молодых женщин-математиков (среди них были жены Моучли, Бёркса и Голдстайна). Выполнялось оно следующим образом.
Во-первых, с помощью коммутационной доски и штекеров соединялись между собой устройства, которые должны были участвовать в решении конкретной задачи.
Во-вторых, так называемые приемно-передающие переключатели (transceiver switches), расположенные на передней панели каждого из этих устройств, устанавливались в положение “включено” и образовывали местные программно-управляющие цепи (local program-control circuits). Включенное положение переключателей разрешало устройству выполнять его действия после прихода программного импульса от ТГ.
Кроме того, на панели устройств был установлен многополюсный шаговый распределитель (stepper switches), который позволял осуществлять многократное (до девяти раз подряд) повторение одних и тех же операций.
Описанным выше действием предшествовала длительная бумажная работа. С помощью установочной таблицы (setup table) детально описывалась последовательность операций, необходимых для решения конкретной задачи. Таблица имела 27 колонок (по одной для каждого аккумулятора и функциональных таблиц, для управляющего программатора, передатчика констант и т. д.) и содержала временную последовательность программных установок, входных и выходных импульсов для каждой операции.
Программирование машины являлось, таким образом, трудоемким и длительным процессом (он занимал порой дни и даже недели). Любая “установка” машины изменяла ее конфигурацию и превращала ее в специализированное устройство для решения конкретной задачи, а “программа” становилась внутренней, неотъемлемой частью ENIAC'а.
Примечание. Аналогичная методика "программирования" применялась и в первых отечественных компьютерах.
Главная инженерная проблема, с которой столкнулись создатели и пользователи ENIAC'а, была проблема частых выходов из строя электронных ламп. На основании формул теории надежности было подсчитано, что при наличии почти 17,5 тыс. ламп, не отличавшихся в то время высокой надежностью и работавших одновременно с частотой 100 кГц, каждую секунду возникало 1,7 млрд. ситуаций, при которых хотя бы одна из них “летела”, что приводило к сбою в работе всего колосса.
Напомним, что тогда ни в радиотехнике, ни в радарах и дешифровальных устройствах такого “лампового изобилия” и близко не было. Многие оппоненты Моучли Эккерта сомневались, что ENIAC сможет продержаться без сбоя хотя бы несколько часов (несмотря на то, что электронные компоненты, предназначавшиеся для машины, тщательно тестировались, а качеству пайки уделялось особое внимание).
Несмотря на теоретические расчеты скептиков, первые ламповые машины заработали. Ошибка последних оказалась в следующем. В расчет бралось среднее время работы радиолампы 1000 часов. Но эта цифра характеризовала надежность радиолампы при подаче на него непрерывного квази синусоидального сигнала. При этом катод излучает электроны непрерывно и быстро "истощается".
Радиолампы в схемах компьютера работают в импульсном режиме, когда между соседними импульсами проходит много времени и катод восстанавливает свои свойства. Таким образом, реально срок работы радиоламп в импульсном режиме был неизмеримо больше 1000 часов и время работы компьютера между сбоями достигало 10-ти часов. Перевод компьютеров на транзисторную базу в значительной степени снял эту проблему.
Первым «настоящим» компьютером следует считать не машину ЭНИАК (и подобные ей), а введенную в эксплуатацию в 1949 году в Великобритании ЭВМ, разработанную Уилксом при участии Тьюринга.
Когда работа над машиной была закончена, она была уже не нужна Но Моушли и Экерту позволили организовать школу, где они рассказывали о своей работе коллегам ученым. С этой школы началось развитие интереса к созданию больших цифровых компьютеров. (EDSAC Кембридж, JOHNIAC корпорация RAND, ILLIAC Иллинойский университет,, MANIAC Лос Аламос и WEIZAC Израиль.)
Экерт и Моушли хотели получить патент на изобретение ЦВМ, но после нескольких лет тяжбы не получили, т.к. было принято решение, что первую ЦВМ изобрел Атанасов, хотя и не запантентовал.
В то время как Экерт и Моушли работали над очередной машиной EDVAC (не оконченной Electronic Discrete Variable Computer) Джон фон Нейман в институте специальных исследований в Пристоне конструировал свою версию EDVAC машину IAS (Immediate Addres Storadge память с прямой адресацией)
Фон Нейман осознал, что машина с большим числом переключателей и коммутирующих шнуров не технологична. Он пришел к мысли, что программа должна храниться в двоичном виде в той же памяти, что и данные. Также осознал необходимость бинарной арифметики. ( В ENIAC каждый разряд представлялся десятью электронными лампами). Основной проект, который он описал вначале, известен сейчас как фон-неймановская машина. По нему реализована одноадресная машина EDSAC: память включала 4096 слов по 40 бит, каждое слово содержало или одно число или две команды. Команда: 8 бит код операции, 12 бит адрес.
Примечание авторов. После запуска в США первых компьютеров правительством была создана экспертная комиссия, перед которой были поставлены два вопроса: нужны ли вычислительные машины такого типа Соединенным Штатам Америки и, если нужны, сколько их потребуется в ближайшее время? На первый вопрос комиссия ответила утвердительно: вычислители такого типа нужны для решения задач повышения военного потенциала страны. (Кстати сказать, первая задача, которая была решена на первом американском компьютере ENIAC, была задача из области ядерной физики). На второй вопрос комиссия ответила следующим образом: "В ближайшие 30 лет Соединенным Штатам Америки понадобится 9 вычислительных машин такого типа!!! Комментарии излишни.
Аналогичная комиссия в конце сороковых годов XX века была создана в СССР под председательством контр адмирала Акселя Берга для разрешения не столько технического, сколько идеологического спора нужны ли эти компьютеры стране победившего социализма. По воспоминаниям современников, в этой комиссии участвовал сотрудник Горьковского (Нижегородского) университета Александр Александрович Андронов. По сути дела, эта комиссия дала добро на разработку цифровых компьютеров в нашем Отечестве.
Конец примечания.
Вернемся снова к Конраду Цузе. После войны он временно остался не у дел. Z3 был разрушен, Z4 не закончен, зарубежные компьютеры Mark I и ENIAK еще не работали, и он занялся теоретическими исследованиями. Ему помогал математик Герр Лохмейер. Цузе попытался автоматизировать игру в шахматы, описать правила игры в терминах логических вычислений. Сразу возникли проблемы, хорошо известные сегодня специалистам по искусственному интеллекту, - не было подходящего инструментария для работы со сложными структурами данных. В 1945 г. Цузе создал первый в мире символический язык Plankalkul (термина “алгоритмический язык” еще не существовало) и технику трансляции адресов, кроме того, у него родились идеи использования подпрограмм с параметрами. В то же время Цузе придумал название своему устройству - логическая вычислительная машина.
В начале 50-х годов экономика Германии пошла на подъем. Цузе организовал фирму Zuze KG, построил машину Z11 и использовал ее для решения задач перепланировки земель, проектирования оптических приборов. Уже тогда возникли проблемы создания хорошего ПО. Затем Цузе построил Z22, которая поддерживала общие алгоритмы вычислений, могла работать с произвольными структурами данных, имела достаточный объем памяти и была популярна у многих немецких инженеров и ученых. Цузе полагал, что у него появятся заказы на расчеты от малых и средних компаний, но они тогда не очень нуждались в подобных услугах, и Zuze KG оказалась убыточной. Государственное финансирование работ в компьютерной области началось позже.
Цузе продолжал экспериментировать с различными вычислительными устройствами, сделал автоматическую рисовальную доску - первый прообраз современных CAD. В 1964 г. он предложил автоматическую систему управления крупными ткацкими станками. С 1966 г. Цузе стал работать в компании Siemens AG.
Одним из своих наиболее выдающихся достижений Цузе считал создание языка Plankalkul, который не был привязан к архитектуре и наборам команд конкретного компьютера в отличие от первых языков ассемблера.
В Plankalkul было введено понятие объекта. Объект мог быть примитивным, основанным на двоичных числах произвольной длины (при записи логической единицы Цузе использовал символ L; например, двоичное число 1001 записывалось как L00L), и составным (структуры, рекурсивно определяемые массивы произвольной размерности и т. д
В качестве идентификаторов переменных применялось сочетание “буква + число”. Первой буквой могла быть V (параметр ввода), Z (промежуточное значение), R (результирующее значение), C (константа). Программы и подпрограммы (параметры передавались по значению) трактовались как переменные (префикс P). Например, запись P3 . 7 означала вызов 7-й программы 3-й программной группы. Plankalkul предусматривал возможность работы массивов программ, что сегодня только реализуется в распределенных системах!
Цузе придумал оператор присваивания, для которого определил специфический знак. На Цюрихской конференции по Алголу европейская группа хотела ввести в стандарт языка именно его, и только под сильным давлением американской группы, не заинтересованной в введении символов, не поддерживаемых в компьютерах США, согласилась на сочетание :=.
Plankalkul поддерживал мощные синтаксические конструкции и позволял компактно описывать сложные условные циклы. Правда, запись программы была “многоэтажной”, с верхними и нижними индексами, и походила на символические потоковые диаграммы, получившие распространение в США в 60-х годах. По мощности Plankalkul приближался к Алголу 68, но в отличие от него, в Plankalkul не поддерживалась адресная арифметика, что в целом повышало надежность программы. На Plankalkul было написано много самых разных невычислительных алгоритмов: обработки символьной информации, генерации шахматных ходов и др.
Сегодня работы Цузе известны во всем мире. Он оказал несомненное влияние на развитие европейских компьютерных технологий. Его труды использовались при создании новых компьютеров и особенно при разработке первых алгоритмических языков программирования. Конрад Цузе получил множество наград и призов и заслужил международное признание. В последние годы жизни он занимался преимущественно рисованием. Любовь к изобразительному искусству Цузе сохранил, видимо, с тех пор, как двадцатипятилетним инженером рисовал многочисленные схемы своих первых компьютеров.
По материалам сайтов: www.computer-museum.ru, www.chernykh.net/, www.schools.keldysh.ru
Во второй половине 30-х годов в нескольких странах появились первые проекты электромеханических и электронных устройств, нацеленных на выполнение массовых вычислений.
В нашу страну сведения о создании новых видов переработчиков информации поступили довольно быстро. Исходя из интересов страны (прежде всего из необходимости поддерживать высокий уровень военных разработок), в СССР начались работы по созданию отечественных вычислительных машин. В конце 30-х годов в Институте электротехники АН УССР под руководством С.А. Лебедева уже начиналась работа по созданию вычислительной машины, использующей двоичную систему счисления, но начавшаяся война прервала эти исследования. После нее наступило время их продолжить. В 1951 году в Киеве заработала первая в континентальной Европе вычислительная машина МЭСМ, созданная коллективом, возглавляемым С.А. Лебедевым.
Работы, имевшие для страны большое значение, как это было принято, поручались сразу нескольким организациям. Поэтому МЭСМ и вскоре последовавшая за ней БЭСМ не оказались одинокими. В 1952 году стали действовать машины М-1 и М-2, созданные в коллективе И.С. Брука, в 1953 году появился первый экземпляр ЭВМ “Стрела”, а с 1954 года началось семейство машин “Урал”, главным конструктором которого был Б.И. Рамеев.
Все фундаментальные исследования и инженерные разработки, которые могли использоваться в военной сфере, в СССР были скрыты от общественности завесой секретности. Поэтому первая научная монография по теории ЭВМ и программированию (Л.А Люстерник, А.А. Абрамов, В.И. Шестаков, М.Р Шура-Бура. Решение математических задач на автоматических цифровых машинах. Программирование для быстродействующих электронных счетных машин. М.: Издательство АН СССР, 1952) имела гриф и выдавалась лишь по предъявлении документа о допуске к государственным секретам.
Изданная в 1948 году книга американского математика Норберта Винера “Кибернетика, или Управление и связь в животном и машине” попала на полки с секретными изданиями по другой причине. Ее автор высказал идеи, не согласующиеся с официальными доктринами, пропагандируемыми в советском обществе.
Для Винера было абсолютно ясно, что многие концептуальные схемы, определяющие поведение живых организмов при решении конкретных задач, практически идентичны схемам, характеризующим процессы управления в сложных технических системах. И более того, он был убежден, что социальные модели управления и модели управления в экономике могут быть проанализированы на основе тех же общих положений, которые разработаны в области управления системами, созданными людьми.
Эти крамольные идеи не могли стать достоянием советских граждан, которым настойчиво внушался тезис марксистской философии о несводимости “высших форм” существования материи к “низшим формам”. Поэтому место книги Винера было однозначно определено спецхран.
В этом состоит главная причина того, что у истоков развития кибернетики (информатики) в СССР стояли сотрудники различных закрытых ведомств и предприятий, в большинстве своем носившие военную форму. Забегая вперед, отметим, что все первые книги в области кибернетики, вычислительных машин и программирования, выпущенные уже во второй половине 50-х годов без грифа секретности, были написаны военными. Этот нетривиальный для истории науки факт имел для отечественной информатики немаловажное значение. Если бы не активная, наступательная позиция военных, поддержанная членами АН СССР, то идеологические концепции, охраняемые представителями консервативной философской элиты, задержали бы на много десятилетий развитие информатики, как это случилось с генетикой и другими неугодными придворной философии науками. Время для очередного разгрома начало 50-х годов было весьма подходящим.
Первой ласточкой атаки на кибернетику стала статья, помещенная на страницах идеологического официоза “Вопросы философии” в марте 1950 года. В ней критике были подвергнуты некоторые теоретические положения математической логики, противоречащие, по мнению авторов статьи, догмам материализма. Статья была откликом на публикацию переводов книг Д.Гильберта и В.Аккермана: "Основы теоретической логики" (Издательство иностранной литературы, 1947) и А.Тарского "Введение в логику и методологию дедуктивных наук" (Издательство иностранной литературы, 1948). Редактором перевода и автором предисловия к первой из книг была С.А. Яновская, в издании и комментировании второй книги, кроме нее, участвовал еще Г.М. Адельсон-Вельский.
Они и послужили мишенью для идеологического разноса. Официальные философы не скупятся на резкие высказывания: "Классики марксизма-ленинизма дали нам ясные и совершенно достаточные указания для правильного понимания философских вопросов математики"; "...изъятие всякого содержания в пользу “чистой” и субъективной формы, творящей содержание, противоречит марксизму и науке"; "Речь идет не о том, чтобы “ликвидировать” математическую логику, а о том, чтобы отсечь реакционную тенденцию в ней, извращения ее, отражающие идеологию враждебных нам классов". И наконец: "Эти работы являются выражением примиренчества к идеализму в математике".
Редактору книг С.А. Яновской пришлось оправдываться за "идеологические просчеты". Ее письмо по этому поводу помещено сразу же после текста погромного опуса. В этом же номере журнала помещена и статья, по-видимому, призванная смягчить впечатление от разгрома формального метода в логике. Она называется "О предмете формальной логики". Автор этой статьи М.С. Строгович пишет: "Сейчас отношение к формальной логике изменилось коренным образом: указаниями товарища И.В. Сталина формальная логика восстановлена в своих правах. На основании постановления ЦК ВКП(б) преподавание ее введено в средних школах, а также во многих высших учебных заведениях". Вождь, по-видимому, вспомнил о годах своей учебы в семинарии и упомянул о пользе логики. Но что дозволено "льву", не всегда дозволено остальным.
После математической логики настала очередь массированной атаки на те направления в физиологии, которые нарушали чистоту учения И.П. Павлова, объявленного марксистскими философами венцом учения о поведении животных и той части поведения человека, которая регулировалась его центральной нервной системой. В 1953 году наступила очередь кибернетики.
В четвертом издании “Краткого философского словаря” (1954) в статье “Кибернетика” эта наука была определена как "реакционная лженаука, возникшая в США после второй мировой войны и получившая широкое распространение и в других капиталистических странах; форма современного механицизма". В унисон с этим "определением" звучат тексты рефератов статей по кибернетике, которые в эти годы публикуются в реферативном журнале “Математика” (кстати, в инструкции, которой должны были руководствоваться авторы рефератов, было прямо сказано, что реферат должен излагать содержание работ абсолютно нейтрально, никакие оценочные суждения не должны иметь место, но, по-видимому, Д.Ю. Панов, редактировавший эти рефераты, считал, что идеология превыше декларированных редакцией журнала принципов "невмешательства").
Апофеозом наступления на кибернетику стала статья, напечатанная в пятом номере журнала “Вопросы философии” в 1953 году. Она была помещена в разделе, носившем название "Критика буржуазной идеологии" и называлась "Кому служит кибернетика". Написавший этот пасквиль, по-видимому, чувствуя некоторый страх, скрылся под псевдонимом Материалист.
В конце концов, не важно, кто именно и "по велению сердца" или "по заданию сверху" написал этот донос. Его появление носило знаковый характер. Это была затравка для массового наступления на кибернетику.
Как и статья, направленная против математической логики, статья против кибернетики разделяла технологический и теоретический аспекты. Все, что касалось развития вычислительной техники как таковой, когда вычислительные машины уподоблялись очень быстро работающим арифмометрам, объявлялось полезным и нужным для социалистического отечества. В подобном качестве вычислительные машины ничем не отличались от устройств, создаваемых человеком для облегчения своего труда. Но когда речь заходила об использовании этих машин для моделирования различных процессов или для символьных преобразований, то натренированный на поиске идеологического криминала ум борца за чистоту марксистско-ленинского учения немедленно подавал сигнал опасности: "По мнению Винера, деятельность вычислительных машин дает ключ к познанию самых разнообразных природных и общественных явлений. Эта в корне порочная идея послужила Винеру основанием для создания новой "науки" кибернетики".
Итак, вычислительные машины не могут внести качественно новую струю в процесс познания окружающего мира. Чтобы эта мысль дошла до всех читателей статьи, автор формулирует ее еще раз: "Теория кибернетики, пытающаяся распространить принципы действия вычислительных машин новейшей конструкции на самые различные природные и общественные явления без учета их качественного своеобразия, является механицизмом, превращающимся в идеализм. Это пустоцвет на древе познания, возникший в результате одностороннего и чрезмерного раздувания одной из черт познания".
Набор ярлыков для кибернетики (пустоцвет, лженаука, идеологическое оружие империалистической реакции, порождение лакеев империализма и т.п.) свидетельствовал, что никакой патриотически настроенный ученый в СССР не может заниматься столь одиозной наукой. Надо было немедленно свертывать все исследования в этой области.
Но, как уже говорилось, практические задачи (и, прежде всего, задачи укрепления обороноспособности страны) требовали не прекращения работ в области кибернетики, а расширения и активизации этих исследований. Это понимали даже партийные чиновники из оборонного отдела ЦК КПСС и отдела науки того же всесильного ведомства. И поэтому, когда один из первых отечественных специалистов по применению вычислительных машин в военной области А.И. Китов, математик с энциклопедическим стилем мышления А.А. Ляпунов и известный своими теоретическими работами, связанными с созданием атомной бомбы, математик С.Л. Соболев объединились как авторы статьи, в которой давался ответ Материалисту, и принесли ее в тот же журнал "Вопросы философии", то: "Как ни странно, редколлегия спорить не стала. Единственное, что они попросили сделать, так это получить на опубликование статьи разрешение ЦК КПСС".
В 50-х годах высшие чиновники Коммунистической партии никогда не действовали от своего имени. Все их директивы подкреплялись “мнением широких народных масс” или специалистов в определенной области. Поэтому в отделе науки ЦК КПСС, ознакомившись с текстом статьи в защиту кибернетики и "посоветовавшись кое с кем", сказали, что инициатива авторов статьи своевременна, но хорошо бы заручиться поддержкой их точки зрения на кибернетику среди научной общественности страны.
А.И. Китов и А.А. Ляпунов организовали серию выступлений на научных семинарах в академических институтах, высших учебных заведениях и в организациях, в которых методы кибернетики могли бы принести практическую пользу. К этой деятельности подключились их коллеги по работе в Вычислительном центре Министерства обороны и других военных организациях: М.Г. Гаазе-Рапопорт, Н.А. Криницкий, И.А. Полетаев и другие. В Московском университете идеи кибернетики нашли отклик у признанного в СССР авторитета в области математической логики А.А. Маркова, а в Институте автоматики и телемеханики эти работы были поддержаны М.А. Айзерманом, М.А. Гавриловым и А.А. Фельдбаумом. Известный специалист в области поведения животных Л.В. Крушинский, ознакомившись с текстом будущей статьи, занял позицию безусловной поддержки нового научного направления.
Сохранилась стенограмма одного из докладов. Он был прочитан А.А. Ляпуновым 24 июня 1954 года в Энергетическом институте АН СССР и назывался "Об использовании математических машин в логических целях". Полемизируя с теми, кто буквально истолковывает способность машин к реализации творческих действий, Ляпунов показывает, что даже в тех случаях, когда внешне действия машины выглядят разумными и творческими (для иллюстрации он рассматривает задачу управления лифтами в высотном здании и гипотетическую в то время, но принципиально возможную задачу доказательства теорем в планиметрии), истинная творческая деятельность осуществляется не машиной, а человеком, составившим программу ее работы. Этот основной аргумент против необоснованной критики возможностей вычислительных машин Ляпунов обсуждает в своем докладе несколько раз.
Подготовка положительной реакции на дезавуирование кампании против кибернетики заняла около полутора лет. Не все проходило гладко и безболезненно. Я помню выступление А.А. Ляпунова на семинаре по машинной математике МГУ в 1954 году. Дискуссия, развернувшаяся после этого выступления, в которой самое активное участие принимали университетские философы и биологи, была настолько горячей, что пришлось сделать два продолжительных перерыва, чтобы часть возражений против кибернетики снять в процессе личных контактов.
Где-то в начале 1955 года текст статьи С.Л. Соболева, A.T. Китова и А.А. Ляпунова попал в редакцию журнала "Вопросы философии". На заседании редколлегии журнала ее содержание обсуждалось вместе со статьей "Что такое кибернетика" чешского философа Э. Кольмана, жившего тогда в СССР. Обсуждение носило главным образом позитивный и доброжелательный характер. За два года, прошедших со времени опубликования статьи Материалиста, в жизни страны произошли определенные перемены, сталинские методы управления наукой были уже непопулярны, а кибернетика получила массовую поддержку научно-технической интеллигенции. Обе статьи появились на страницах журнала в 1955 году.
В этих статьях нет прямой полемики с Материалистом. Необходимость в ней отпала из-за отсутствия официальной поддержки негативного отношения к кибернетике. Поэтому в статьях в основном излагаются принципы кибернетики и поясняется практическая значимость исследований в этой области. Все возражения Материалиста снимаются без ссылки на его высказывания. Например, утверждается: "Следует подчеркнуть большое методологическое значение вопроса, поставленного кибернетикой, о необходимости обобщения, объединения в широком плане результатов и достижений различных областей науки, развивающихся в известном смысле изолированно друг от друга, например, таких областей, как физиология и автоматика, теория связи и статистическая механика". И далее: "Принципы работы электронных счетных машин вполне позволяют реализовать на этих машинах логические процессы, подобные процессу выработки условных рефлексов у животных и человека". А чтобы вновь не звучали обвинения в механицизме, на той же стр. говорится: "Следует ясно представлять коренное, качественное отличие процессов мышления человека от работы счетной машины". Эта же мысль звучит как рефрен и в самом конце статьи: "Следует вести борьбу также и против вульгаризации метода аналогий в изучении процессов высшей нервной деятельности, отвергая упрощенную, механистическую трактовку этих вопросов, тщательно исследуя границы применимости электронных и механических моделей и схем для представления процессов мышления".
Философские размышления Э. Кольмана подкрепляли основные положения статьи С.Л. Соболева и его соавторов. Написанная в традиционном для читателей философского журнала стиле, она привлекала на сторону кибернетики тех, кто должен был дать идеологическую оценку новой науке.
В СССР знали, что статьи, появившиеся в таком органе, как “Вопросы философии”, выражают официальную точку зрения. Одним из свидетельств этого явилось исключение погромного текста статьи “Кибернетика” при допечатке в 1955 году тиража 4-го издания “Философского словаря”. Борьба против кибернетики была в основном закончена, люди, отстаивавшие новую науку, победили.
[Д.А. Поспелов. Из книги Очерки истории информатики в России
Авторы: Д. А. Поспелов, Я. И. Фет. Новосибирск, Издательство: Научно-издательский центр ОИГГМ СО РАН, 1998]
В дополнение к статье Д.А. Поспелова необходимо добавить следующее. Борьба с лженаукой "кибернетикой" была инициирована на партийно-государственном уровне в плане борьбы с космополитизмом. Идеологи государства насильственно внедряли в сознание граждан тезис о приоритетности передовой Советской науки, по сравнению с "буржуазной" наукой загнивающего капиталистического мира.
Рецепт внедрения был простой: объявить некоторые научные направления и даже целые науки (теория информации, генетика, кибернетика и т.д.) лженаучными, и соответствующих специалистов - космополитами и идеалистами. Затем следовало, в лучшем случае, отстранение ученых от работы, а, в худшем случае, их объявляли врагами народа. Со всеми вытекающими из этого последствиями.
Компании по обличению "буржуазных" наук и космополитов ученых возглавляли философы, вооруженные единственно верным марксистко ленинским материалистическим учением. Тему подхватывали и развивали идеологически выдержанные журналисты.
5 апреля 1952 года "Литературная газета" опубликовала разгромную статью под заголовком "Кибернетика "наука" мракобесов". Вот что писал в этой статье Михаил Ярошевский.
"Буржуазная печать широко разрекламировала новую "науку" кибернетику. Эта модная лжетеория, выдвинутая группкой американских "ученых", претендует на решение всех стержневых научных проблем и на спасение человечества от всех социальных бедствий. По утверждению кибернетиков, поводом к созданию лженауки послужило сходство между мозгом человека и современными сложными машинами.
Испытывая страх перед волей и разумов народов, кибернетики тешат себя мыслью о возможности передачи жизненных функций, свойственных человеку, автоматическим приборам."
Чтобы современный читатель представил себе, на каком доказательном уровне обличали лженауку, приведем еще одну цитату из "научной" статьи начала шестидесятых годов: "На вычислительных машинах в Американском Лос Аламосе рассчитывалась атомная бомба. Вот какому богу служит кибернетика!". (По-видимому автор статьи не знал, что в нашем Атомном Центре нашу атомную бомбу уже давно рассчитывают на наших первых компьютерах).
Свое слово в защиту цифровых вычислительных машин внесли ученые Горьковского госуниверситета. В конце сороковых годов XX века, когда в СССР кибернетика была еще под запретом, академик А. А. Андронов активно интересовался проблемой конструирования и использования цифровых вычислительных машин. Он в качестве эксперта участвовал в работе правительственной комиссии под руководством И.С. Брука, целью которой было определение пути развития вычислительной техники в нашей стране. По воспоминаниям современников, А.А. Андронов был в числе сторонников развертывания производства электронных цифровых вычислительных машин компьютеров.
Более того, под руководством Н.А. Железцова, ученика А.А. Андронова, группа сотрудников университета разработала и изготовила одну из первых ЭВМ в нашей стране (см. 24).
Следует подчеркнуть, что борьба против цифровых вычислительных машин, которые американцы называли компьютерами и которые несли "идеологическую заразу" в наше Социалистическое общество осуществлялась не только идеологами Политбюро и их придворными философами. Многие ученые также были против использования в нашей стране цифровой вычислительной техники. Они считали, что будущее за электронными аналоговыми вычислительными машинами, которые в сороковые пятидесятые годы XX столетия успешно решали задачи математической физики, а также задачи управления сложными объектами.
Электронная аналоговая вычислительная машина (ЭАВМ), вычислительная машина, в которой каждому мгновенному значению переменной величины, участвующей в исходных соотношениях, ставится в соответствие мгновенное значение электрической величины (напряжения или тока), которое отличается от исходной физической величины масштабным коэффициентом.
По сути дела, аналоговые вычислительные машины являются аналоговыми моделями. Напомним, что аналоговая модель и ее реальный прототип реализованы на различных физических принципах, но поведение обоих описывается одними и теми же алгебраическими (дифференциальными) уравнениями. Таким образом, экспериментируя с моделью, можно интерпретировать полученные результаты применительно к реальному прототипу.
Хронология событий. Первая механическая аналоговая вычислительная машина для решения дифференциальных уравнений при проектировании кораблей была построена А. Н. Крыловым в 1904. В основу её была положена идея интеграфа аналогового интегрирующего прибора, разработанного польским математиком Абданк-Абакановичем (1878) для получения интеграла произвольной функции, вычерченной на плоском графике.
Дальнейшее развитие механических интегрирующих машин связано с работами американского учёного В. Буша, под руководством которого была создана чисто механическая интегрирующая машина (1931), а затем её электромеханический. вариант (1942). В 1936 русский инженер Н. Минорский предложил идею электродинамического аналога. Толчок развитию современных АВМ постоянного тока дала разработка Б. Расселом (194244, США) решающего усилителя.
Большое значение имели работы советского математика С. А. Гершгорина (1927), заложившие основы построения сеточных моделей. В 1936 в СССР под руководством И. С. Брука были построены механический интегратор и электрический расчётный стол для определения стационарных режимов энергетических систем. В 40-х гг. была начата разработка электромеханического пункта управления зенитным артиллерийским огнем (ПУАЗО) на переменном токе и первых электронных ламповых интеграторов (Л. И. Гутенмахер). Работы, проведённые под руководством Гутенмахера (194546), привели к созданию первых электронных аналоговых машин с повторением решения. В 1949 в СССР под руководством В. Б. Ушакова, В. А. Трапезникова, В. А. Котельникова, С. А. Лебедева был построен ряд АВМ на постоянном токе. Эти работы положили начало развитию современной аналоговой вычислительной техники в СССР.
В 1960-х годах электронные аналоговые компьютеры имели невероятный успех, и являлись повседневным инструментом ученых для решения множества специфических задач в различных областях науки. В СССР расцвет электронных аналоговых вычислительных машин с их серийным выпуском пришёлся на 1960-70-е годы.
Что же представляет собой электронная аналоговая вычислительная машина.
Базовым линейным решающим блоком электронных АВМ является операционный усилитель (ОУ). Операционный усилитель представляет собой усилитель постоянного тока (УПТ) с большим коэффициентом усиления, охваченный глубокой отрицательной обратной связью (рис.54).
Рис. . Схема операционного усилителя (z электрическое сопротивление резистора или импеданс конденсатора)
С помощью различных комбинаций электрических емкостей и резисторов на входе усилителя и в цепи его обратной связи можно реализовать различные математические операции над непрерывными величинами, представленными в виде напряжений постоянного тока:
Операция |
Схема включения |
Выражение для Uвых |
Умножение на постоянный коэффициент |
Uвых = - (R0 / R1)* Uвх |
|
Инвертирование |
См. предыдущую строку при R1 = R0 |
Uвых = - U вх |
Алгебраическое суммирование |
Uвых = - S Uвхi |
|
Интегрирование |
Uвых = - (1/RC) * ∫ Uвх |
|
Дифференцирование |
Uвых = - CR dUвх/dt |
В общем виде ЭАВМ может быть представлена структурной схемой рис. 55. Решающие блоки основные блоки машины, осуществляющие выполнение математических операций над машинными переменными. Измерительные приборы используются для измерения вводимых исходных величин и результатов решения. Система питания обеспечивает все необходимые напряжения для питания решающих блоков и других устройств машины. Система управления объединяет все блоки машины в единое натуральное и обеспечивает их функционирование и управление ими.
5. Структурная схема электронной аналоговой вычислительной машины
ЭАВМ являет собой набор блоков (решающих элементов), которые достаточно простым способом соединяются в те или иные электрические схемы. Методика использования ЭАВМ позволяет по заданной системе уравнений соединить решающие элементы таким образом, чтобы получившаяся электрическая схема описывалась той же самой системой уравнений.
Существенно, что для решения каждой конкретной задачи решающие блоки соединяются специфическим образом. Пусть имеется дифференциальное уравнение:
()
При решении уравнений методом понижения порядка производной исходное уравнение разрешается относительно старшей производной.
Далее схема строится, исходя из следующих предположений. Пусть имеется третья производная, тогда, последовательно интегрируя ее, можно получить вторую производную, первую производную и искомую функцию. Умножив каждую компоненту на соответствующий коэффициент и изменив, где надо, знаки, можно получить все компоненты правой части уравнения. Теперь остается подать их на вход первого интегратора с суммированием и получить окончательно схему для решения рассматриваемого уравнения (), которая показана на рис.56.
Рис. . Структурная схема ЭАВМ для решения уравнения ()
ЭАВМ в основном применялись при решении следующих задач.
Контроль и управление. В системах автоматического управления АВМ пользуются, как правило, для определения или формирования закона управления, для вычисления сводных параметров процесса (кпд, мощность, производительность и др.). Если задано математическое выражение, определяющее связь сводного параметра или управляющего воздействия с координатами объекта, ЭАВМ осуществляет решение соответствующего уравнения. Результат вычислений поступает либо на исполнительный механизм (замкнутая система), либо к оператору. В последнем случае АВМ работает как информационное устройство. Например, ЭАВМ были широко распространены для оценки экономической эффективности энергетических систем, и те же ЭАВМ могли управлять исполнительными механизмами, т. е. служить автоматическими регуляторами.
Опережающий анализ, основанный на быстродействии. Многократно решая систему уравнений, описывающих управляемый процесс, учитывая его текущие характеристики, ЭАВМ за короткое время «просматривает» большое число вариантов решений, отличающихся значениями параметров, подлежащих изменению при управлении процессом. Намного опережая ход процесса, АВМ прогнозирует сигналы управления, которые могут обеспечить необходимое качество протекания процесса. Найденные машиной значения передаются на регулирующие устройства, например в виде положений их уставок, после чего поиск наилучшего варианта продолжается. В режиме опережающего анализа АВМ выполняют функции либо машин-советчиков, когда оператор пользуется результатами полученных на машине расчётов для ручного или полуавтоматического управления, либо управляющих машин, автоматически учитывающих текущие характеристики процесса и управляющих им по оптимальным показателям. Выбор наилучшего режима технологического процесса осуществляется также самонастраивающимися математическими машинами в режиме опережающего анализа.
Экспериментальное исследование поведения системы с аппаратурой управления или регулирования в лабораторных условиях. С помощью ЭАВМ воспроизводилась та часть системы, которая по каким-либо причинам не могла быть воспроизведена в лабораторных условиях. Связь АВМ с аппаратурой управления или регулирования в основном осуществляется преобразующими устройствами, в которых машинные переменные изменялись по масштабу и форме представления.
Анализ динамики систем управления или регулирования. Заданные уравнения объекта решались в выбранном масштабе времени с целью нахождения основных параметров, обеспечивающих требуемое протекание процесса. Особо важны были быстродействующие ЭАВМ, с помощью которых в ускоренном масштабе времени можно было решить некоторые итеративные задачи, задачи оптимизации, а также реализовать метод Монте-Карло, требующий многократного решения стохастических дифференциальных уравнений.
Решение задач синтеза систем управления и регулирования сводился к подбору по заданным техническим условиям структуры изменяемой части системы, функциональных зависимостей требуемого вида и значений основных параметров. Окончательный результат получался многократным повторением решения и сопоставлением его с принятым критерием близости.
Решение задач по определению возмущений или полезных сигналов, действующих на систему. В этом случае по дифференциальным уравнениям, описывающим динамическую систему, по значениям начальных условий, известному из эксперимента характеру изменения выходной координаты и статистическим характеристикам шумов в измеряемом сигнале определялось значение возмущения или полезного сигнала на входе.
Основные технические характеристики некоторых типов электронных АВМ общего назначения, выпускаемых серийно в СССР, даны в таблице. Первые пять типов установок портативные малогабаритные настольные устройства позволяют решать также и нелинейные задачи, имеют ограниченный фиксированный состав решающих элементов, что ограничивает её применение. Установки-МН-8, МН-14, МН-17, ЭМУ-10 многосекционные, рассчитанные на решение сложных задач.
Тип установки |
Вид дифференциальных уравнений, решаемых на установке |
Макс. порядок дифференциальных уравнений или число уравнений 1-го порядка в системе |
Допустимая длительность решения (сек) |
ИПТ-5 |
Линейные с постоянными и переменными коэффициентами |
9 |
150 |
ЛМУ-1 |
Линейные с постоянными и переменными коэффициентами с типичными нелинейностями |
69 |
200400 |
МН-7 |
Линейные и нелинейные с небольшим числом нелинейных операций |
6 |
200 |
ЭМУ-8 |
Линейные и нелинейные |
Набор из стандартных блоков, каждый предназначен для решения уравнений 2-го порядка |
2000 |
МН-11 |
Линейные и нелинейные с автоматическим поиском решения по заданному критерию |
69 |
Частота повторений решения 100´реш/сек |
МН-8 |
Линейные и нелинейные с большим числом переменных коэффициентов и нелинейных решающих элементов |
32 |
1800 |
МН-14 |
Линейные и нелинейные с большим числом нелинейных решающих элементов |
30 |
10000 |
ЭМУ-10 |
Линейные и нелинейные с переменным запаздыванием. Решение задач автоматической оптимизации |
24 |
2000 |
МН-17 |
Линейные и нелинейные с постоянными коэффициентами |
60 |
От 0,1 до 1000 |
www.cultinfo.ru/fulltext/001/008/053/769.htm
В отличие от электронной аналоговой вычислительной машины, электронные цифровые вычислительные машины компьютеры, представляют числа состояниями ячеек памяти, и эти состояния интерпретируются как записи чисел в двоичной позиционной системе счисления. Совокупности записей чисел образуют наборы данных.
Существо работы цифрового компьютера состоит в преобразовании исходного набора данных в результирующий набор данных по правилам, задаваемым алгоритмом решения задачи. Алгоритм решения задачи кодируется в виде двоичной программы, которая хранится в той же памяти, что и данные.
Таким образом, компьютер являет собой дискретную, программно-управляемую машину преобразования данных, со сменной программой. В отличие от аналоговой вычислительной машины, компьютер имеет постоянную структуру аппаратурных блоков, которая не изменяется при переходе от решения одной задачи к решению другой задачи (рис.57). При таком переходе изменяется только программа.
Рис. . Структурная схема компьютера
Равнодоступная оперативная память прямого доступа непосредственно взаимодействует с устройствами центра. Термин "прямой доступ" означает доступ к ячейкам оперативной памяти по адресам, "равнодоступность" означает, что время доступа к конкретному адресу не зависит от того, к какому адресу было предыдущее обращение. В американской терминологии такой способ доступа называется "случайным".
Примечание. По сути дела, компьютеры аппаратно реализуют теоретическую модель вычислений равнодоступную адресную машину (см. 11.6).
Как сказано выше, работой компьютера управляет программа, которая являет собой текст, строками которого служат команды. Команды подразделяются на два класса:
команды преобразования данных, приказывающие компьютеру вычислить базисные арифметические или логические функции (арифметические и логические команды соответственно);
команды передачи управления, приказывающие компьютеру изменить последовательное выполнение команд преобразования данных
Арифметико-логическое устройство автоматически выполняет команды преобразования данных (арифметические и логические), устройство управления реализует принцип программного управления компьютером, который формулируется в двух пунктах:
программа, представленная в двоичных кодах, хранится в той же памяти, что и данные;
имеется электронное устройство: последовательно выбирающее команды программы из памяти, предающее команды преобразования данных в арифметико-логическое устройство, и выполняющее команды передачи управления.
Представление о работе компьютера дает алгоритм главного цикла компьютера, который, по сути дела, реализует сформулированный выше принцип программного управления. Здесь используются следующие обозначения:
СЧК - счетчик команд, содержимое которого в каждый момент времени указывает адрес текущей исполняемой команды программы;
КК, <операнды> - команда (код команды и операнды команды);
РК регистр команд, хранящий текущую исполняемую команду;
Алгоритм главного цикла компьютера
1: СЧК := адрес в памяти первой команды программы;
2: РК := ПАМ[СЧК]; /прием очередной команды на регистр команд/
3: СЧК := СЧК+1; /установка адреса следующей команды,
4: Если КК = "ОСТАНОВ" то конец выполнения программы;
5: Если КК = имя команды преобразования данных то передача команды с РК в АЛУ для исполнения;
6: Если КК = имя команды управления то передача операнда (адреса перехода) в счетчик команд;
7: Повторение 2.
Устройства ввода осуществляют загрузку в оперативную память программы решения прикладной задачи и исходных данных для этой задачи. Устройства вывода реализуют визуализацию результатов решения прикладной задачи. В первом поколении компьютеров ввод информации в оперативную память осуществлялся с перфокарт, результаты вычислений печатались на бумажной ленте.
С самых первых шагов становления компьютеров и по сей день, программистам не хватает емкости оперативной памяти для решения прикладных задач. И это, несмотря на то, что электронщики постоянно реализуют оперативную память все большей и большей емкости. (Если оперативная память первых компьютеров имела емкость в 1 килобайт, то объем оперативной памяти современных компьютеров превышает гигабайт).
Постоянный дефицит оперативной памяти вызван стремлением программистов решать все более и более сложные прикладные задачи. Да и системные программисты, разрабатывая операционные системы и компиляторы, не озабочены экономией памяти.
Вследствие этого, уже в первых моделях компьютеров появилась двухуровневая память: быстрая и небольшой емкости оперативная; и медленная, но большой емкости внешняя (внешние запоминающие устройства, внешние накопители). В качестве внешних накопителей использовались, последовательно, магнитные ленты, магнитные барабаны, магнитные диски (см. ниже). Первоначально был реализован прямой доступ к блокам данных, хранящихся на внешнем накопителе, но электромеханическая конструкция этого накопителя не позволяла осуществить равнодоступность данных (как в оперативной памяти).
Аргументы специалистов противников цифровых вычислительных машин, заключались в следующем:
Последнее возражение было справедливо, относительно первых моделей компьютеров. Действительно, система дифференциальных уравнений десятого порядка решалась на компьютере типа М-20 десятки часов. Да еще надежность ламповых компьютеров оставляла желать лучшего. За время решения задачи компьютер давал неоднократные сбои, что вызывало необходимость резервирования промежуточных данных и трехкратного повторения решения одной и той же задачи.
Аналоговые компьютеры отправляли в космос Гагарина, управляли турбинами на гидроэлектростанциях и первыми атомными реакторами, активно использовались военными и создавали звук в музыкальных синтезаторах.
Однако, основной недостаток аналоговых компьютеров принципиально малая точность вычислений был неустраним. Вследствие неидеальности работы отдельных операционных усилителей, неточности установки их коэффициентов передачи и начальных условий, решение, найденное с помощью АВМ, имеет погрешности. Результирующая погрешность зависит не только от перечисленных первичных источников, но и от характера и особенностей решаемой задачи. Как правило, погрешность увеличивается с ростом числа решающих (особенно нелинейных) элементов, включенных последовательно. Цифровые же компьютеры обеспечивали гораздо большую точность вычислений (правда, за счет увеличения времени решения задачи).
Но был еще очень существенный недостаток аналоговых вычислителей они не могли решать логические задачи. На первых шагах становления автоматизации вычислений этот недостаток был несущественен, так как первые цифровые компьютеры проектировались для решения тех же самых задач, что и аналоговые машины (решение дифференциальных уравнений большого порядка).
Требования к технологиям автоматических вычислений возрастали и решение логических задач (а в дальнейшем, и задач обработки символьной информации) выдвигалось на первый план. Цифровым компьютерам было без разницы какую работу выполнять решение задачи математической физики или логической задачи принятия решений.
Повышение эффективности ЭАВМ связано с внедрением в аналоговую технику цифровых методов, в частности цифровых дифференциальных анализаторов, у которых отдельные решающие элементы выполняют математические операции над приращениями переменных, представленных в одном из цифровых кодов, с передачей результатов от элемента к элементу по принципам ЭАВМ. Применение цифровых дифференциальных анализаторов, особенно последовательных, для специальных ЭАВМ, не требующих высокого быстродействия, снижает общий объём аппаратуры, хотя в остальных случаях они по всем техническим показателям и возможностям существенно уступают цифровым вычислительным машинам.
Гораздо большими возможностями обладают гибридные вычислительные системы, у которых исходные величины представлены одновременно в цифровой и аналоговой форме. Не вдаваясь в подробности, гибридную вычислительную систему можно представлять в виде аналоговой вычислительной машиной, сопряженной с цифровым компьютером. Аналоговая часть решает систему дифференциальных уравнений (быстро), а цифровая часть обеспечивает решение логической задачи выбора наилучшего варианта решения.
Примечание. Очевидно, что проблема малой точности решения дифференциальных уравнений при этом не исчезает.
Тем не менее, гибридными системами могут решатся следующие классы задач:
Дальнейший этап развития технических средств автоматизации (70-е годы XX века) совпал с широким внедрением новых средств контроля в промышленные системы автоматизации производственных процессов, созданных на базе аналого-цифровой техники. Под руководством д.т.н. Б.Я. Когана создаются гибридные вычислительные системы ГВС-100, а впоследствии двухуровневая ГВС “Русалка”.
Время решения дифференциальных уравнений цифровыми компьютерами неуклонно уменьшалось за счет увеличения их быстродействия и увеличения объема оперативной памяти. Тем самым становился все менее и менее значимым основной недостаток цифровых компьютеров, по сравнению с аналоговыми вычислителями. Одновременно происходило уменьшение их стоимости и размеров при одновременном увеличении надежности работы. Круг решаемых цифровыми компьютерами прикладных задач постоянно расширялся ( в настоящее время компьютеры не столько решают уравнения, сколько "перемалывают" символьную информацию).
Сказанное выше объясняет, почему к середине семидесятых годов XX века аналоговые вычислительные машины ушли, уступив место цифровым компьютерам.
Из книги: Малиновский Б.Н. История вычислительной техники в лицах. К. фирма "КИТ", ПТОО "А.С.К.", 1995 http://www.computer-museum.ru
Борис Николаевич Малиновский родился 24 августа 1921 г. в Ивановской области в семье учителя. Известный специалист в области вычислительной техники, член-корреспондент Национальной академии наук Украины, лауреат Государственной премии Украины. Участник Великой Отечественной войны. Прошел боевой путь от солдата до командира артиллерийской батареи. Дважды ранен. Награжден пятью орденами.
В 1835 году английский ученый Чарльз Беббидж, завершая работу над проектом вычислительной машины, которую он назвал аналитической, в письме на имя президента Королевской академии наук в Брюсселе писал: "Я сам удивляюсь могуществу составляемой мной машины".
Ученый имел в виду область вычислений. Предвидеть другие применения своего детища он не мог по простой причине машина Беббиджа хотя и была по принципам построения и имевшимся в ней устройствам подобна появившимся более века спустя цифровым электронным вычислительным машинам, но оставалась механической. Это превращало ее в огромное скопище зубчатых ' колес, рычагов и других деталей, привести в движение которые мог лишь паровой двигатель. Гениальный ученый опередил время. Ему пришлось отказаться от мысли построить действующую машину. Великое изобретение было забыто. О нем вспомнили более чем через сто лет, когда была создана цифровая электронная вычислительная машина с программным управлением ЭНИАК (Мочли и Экерт, США, 1946 г.).
Вторая половина нашего века подарила человечеству целый фейерверк замечательных достижений в области цифровой электронной вычислительной техники. Ее становление и развитие шло необыкновенно быстрыми темпами. Кем-то образно сказано: если бы летательные аппараты совершенствовались так же быстро, как развивались ЭВМ, то через две недели после полета братьев Райт человек мог бы полететь на Луну.
Такие грандиозные темпы развития объясняются громадной потребностью современного человеческого общества в мощных технических средствах автоматизации интеллектуального труда, связанного в первую очередь с обработкой информации.
В настоящее время информация стала своеобразным "сырьем" для производства множества "продуктов": новых знаний, управленческих решений, научных прогнозов, статистических сведений, всевозможных рекомендаций, заключений и т.д. и тл. Небезынтересно отметить, что в отличие от физического сырья (полезных ископаемых и др.) информация по мере использования (обработки) не только не исчезает, но наоборот, пополняется новой, являя собой постоянно расширяющуюся "сырьевую" базу интеллектуального труда.
Современными успехами компьютеризации и информатизации мировое сообщество обязано миллионам тружеников - ученым, инженерам, рабочим, создавшим современные ЭВМ, их программное обеспечение, мощные информационные сети.
Однако тех, кто закладывал фундамент компьютерной науки и техники, было не так уж много. На их долю выпало самое трудное - создать то, чего еще никогда не было. Среди них были ученые, инженеры и математики многих стран. Вторая мировая и последовавшая за ней "холодная" войны привели к разобщению ученых и секретности работ, поскольку ЭВМ создавались в первую очередь в военных целях.
В результате первое время имена творцов вычислительной техники были известны лишь специалистам.
Автор имел счастье быть свидетелем и участником становления и развития цифровой электронной вычислительной техники в СССР, общался с выдающимися учеными в этой области: СА. Лебедевым, АА. Дородницыным, И.С Бруком, ЮЛ Базилевским, RM. Глушковым, БЛ Рамеевым, IUL Манохиным, МА. Карцевым, ИЛ. Акушским, ГЛ. Лопато, MJC Сулимом, Ш1 Брусенцовым, ВА. Мельниковым, RC. Бурцевым и др.
В трудное послевоенное время усилия этих людей и коллективов, в которых они работали, вывели СССР в число мировых лидеров компьютеростроения. К великому сожалению, в годы застоя лидерство было утеряно. Вряд ли можно обвинять в этом учеников, сменивших своих славных учителей. Сегодня уже очевидно, что на то были более весомые причины. Вместе с тем следует признать, что основоположники вычислительной техники были поистине замечательными людьми, и достигнутые ими успехи явились в значительной степени следствием их блистательных творческих способностей, высоких человеческих качеств и понимания огромной роли новых технических средств в развитии человеческого общества.
Разработка ЭВМ в трудные послевоенные годы, в кратчайшие сроки была подвигом, и он достоин памяти так же, как и великие достижения в области создания спутников, ракет, атомных реакторов, о чем много творилось и писалось (без упоминания об огромной роли ЭВМ в выполнении этих работ).
Тому, кто не был свидетелем первых шагов зарождавшейся цифровой электронной вычислительной техники, следует напомнить, что в отличие от обычных для того времени радиотехнических устройств, самые сложные из которых насчитывали десяток-другой электронных ламп, при переходе к ЭВМ счет пошел на тысячи. Даже если не вдумываться о стоимости только электронных ламп и многих тысяч радиодеталей (конденсаторов, сопротивлений и др.), то уже само их размещение на громоздких щитах и в металлических шкафах становилось проблемой. Первые ЭВМ занимали просторные залы и выглядели
так, как смотрятся сейчас громадные, многометровой длины пульты управления крупными энергоблоками или энергосистемами.
Требовался громадный инженерный опыт, чтобы быть уверенным в возможности слаженной работы такого количества радиоламп, сопротивлений, конденсаторов, соединенных сотнями тысяч паек и разъемных контактов. Только у одной лампы восемь ножек для подключения в электрическую схему! А если их тысячи? Не случайно постройка ЭВМ в те времена воспринималась большинством авторитетных специалистов как безумство или безграмотная техническая авантюра. Возможно, именно отсюда появилось недоверие к новой науке - кибернетике, взявшей на вооружение цифровую вычислительную технику. Уж очень далеки были первые ЭВМ от огромных возможностей человеческого мозга
Нашим молодым современникам, вооруженным изящными персоналками, трудно поверить, что те многотонные динозавры из многих тысяч ламп аппетитом в десятки киловатт, которые своим появлением на рубеже 50-х годов открывали эру современной вычислительной техники, сооружали совсем небольшие, как правило, молодежные коллективы, причем в очень короткие сроки. Царившая в них атмосфера созидания (а не простого повторения кем-то чего-то достигнутого, что характерно для последующих лет) творила чудеса!
Утвердившийся сейчас дух материальной заинтересованности заменяло огромное счастье созидать новые фантастически перспективные технические средства, возможность видеть зримые и очень весомые плоды своего труда, страстное желание опередить соперников.
Несмотря на огромные человеческие и материальные потери в годы Великой Отечественной войны, для первых десятилетий после ее окончания характерен огромный всплеск энергии и энтузиазма среди населения СССР. Советский Союз в те годы по темпам развития опережал все страны мира, за исключением Японии. Молодежь и зрелые специалисты, пришедшие в науку после тяжелых испытаний на фронте и в тылу, трудились с огромной самоотдачей, подстать замечательным руководителям научных коллективов, таким как С.А. Лебедев, И.С. Брук, Б.И. Рамеев, В.М. Глушков и др.
Следует отметить, что становление и развитие вычислительной техники в СССР шло в послевоенные годы в условиях отсутствия контактов с учеными Запада: разработка ЭВМ за рубежом велась в условиях секретности, поскольку первые цифровые электронные машины предназначались, в первую очередь, для военных целей.
Вычислительная техника в СССР в этот период шла своим собственным путем, опираясь на выдающиеся научные результаты отечественных ученых.
С именами основоположников цифровой электронной вычислительной техники связаны исторически важные события:
- организация первой в СССР вычислительной лаборатории, прообраза будущих вычислительных центров (И.Я. Акушский, 1941);
- разработка первого в СССР проекта цифровой электронной вычислительной машины (И.С. Брук, Б.И. Рамеев, август 1948 г.);
- обоснование принципов построения ЭВМ с хранимой в памяти программой, независимо от Джона фон Неймана (СА. Лебедев, октябрь-декабрь 1948 г.);
- регистрация первого в СССР свидетельства об изобретении цифровой ЭВМ (И.С. Брук, Б.И. Рамеев, декабрь 1948 г.);
- первый пробный пуск макета малой электронной счетной машины МЭСМ (С.А. Лебедев, ноябрь 1950 г.);
- приемка Государственной комиссией МЭСМ - первой в СССР и континентальной Европе ЭВМ, запущенной в регулярную эксплуатацию (С.А. Лебедев, декабрь 1951 г.);
- завершение отладки и запуск в эксплуатацию первой в Российской федерации ЭВМ М-1 (ИС. Брук, Н.Я. Матюхин, январь 1952 г.);
- выпуск первых в СССР промышленных образцов ЭВМ (Ю.Я. Базилевский, Б.И. Рамеев, 1953 г., ЭВМ "Стрела");
- создание самых производительных в Европе (на момент ввода в эксплуатацию) быстродействующих электронных вычислительных машин: БЭСМ (апрель 1953 г.), М-20 (1958 г.) и БЭСМ-6 (1967 г.) С.А. Лебедев, (М.К. Сулим, ВА. Мельников);
- ввод в эксплуатацию СЭСМ - первого в Союзе матрично-векторного процессора (С.А. Лебедев, З.Л. Рабинович, январь 1955 г.);
- разработка первых в СССР универсальных ЭВМ общего назначения "Урал-7", "Урал-2", "Урал-3", "Урал-4" (Б.И. Рамеев, 50-е гг.);
- создание первого в Советском Союзе семейства программно и конструктивно совместимых универсальных ЭВМ общего назначения "Урал-11", "Урал-14", "Урал-16" (Б.И. Рамеев, В.И. Бурков, А.С. Горшков, 60-е гг.);
- разработка и серийный выпуск первых в СССР малых универсальных ЭВМ М-3 и "Минск-1" (И.С. Брук, Н.Я. Матюхин, Г.П. Лопато - 1956-1960 гг.);
- создание первой и единственной в мире троичной ЭВМ "Сетунь" (П. П. Брусенцов, 1958 г.);
- создание первой (и, вероятно, единственной в мире) суперпроизводительной специализированной ЭВМ с использованием системы счисления в остатках (И.Я. Акушский, 1958 г.);
- разработка теории цифровых автоматов (В.М. Глушков, 1961 г.);
- предложена идея схемной реализации языков высокого уровня (В.М. Глушков, ЗЛ. Рабинович, 1966 г.);
- разработка первых в СССР машин для инженерных расчетов "Проминь" и МИР предвестников будущих персональных ЭВМ (В.М. Глушков, С. Б. Погребинский, 1959-1965 гг.);
- создание первой в СССР полупроводниковой управляющей машины широкого назначения "Днепр" (В.М. Глушков, Б.Н. Малиновский, I960 г.);
- применение впервые в СССР микропрограммного управления в ЭВМ (Н.Я. Матюхин, ЭВМ "Тетива", 1961 г.);
К этому периоду можно отнести время с 1955 года до создания в 1959 году в АН СССР Научного совета по комплексной проблеме “Кибернетика”. За эти пять лет в СССР возникла инфраструктура, поддерживающая новое научное направление.
Своим возникновением она обязана А.И. Бергу, чей талант организатора науки позволил преодолеть все препоны и рогатки бюрократического государства. В лице адмирала Берга, в 19531957 годах занимавшего пост заместителя министра обороны СССР по радиоэлектронике, кибернетика обрела того человека, который обеспечил этой науке условия для ее становления и расцвета.
А.И. Берг начал свою деятельность не на пустом месте. К концу 1957 года, когда он освободился от поглощающих все время обязанностей крупного военного руководителя и смог начать полновесную научно-организационную деятельность, уже был заложен солидный фундамент под будущую инфраструктуру.
Продолжались разработка новых вычислительных машин и развитие методов решения на них разнообразных задач. В 1948 году были созданы Институт точной механики и вычислительной техники АН СССР и Специальное конструкторское бюро Министерства приборостроения и средств автоматизации (СКБ-245). В них, а также в ряде других организаций АН СССР и различных ведомств (в лаборатории электросистем Энергетического института им. Г.М. Кржижановского (позднее Институт электронных управляющих машин), НИИ электронных математических машин в Москве, лаборатории вычислительной техники Института математики АН УССР в Киеве (позже преобразованной в ВЦ АН УССР), Ереванском институте математических машин; Пензенском институте управляющих вычислительных машин) активно развивалась теория вычислительных машин, разрабатывалась технология программирования. Теоретические исследования активно проводились в Московском, Ленинградском и Киевском университетах, Институте автоматики и телемеханики АН СССР, в созданном в 1955 году Вычислительном центре АН СССР.
В 1950 году в ИТМиВТ АН СССР начал работать первый постоянный семинар по программированию, которым руководил Л.А. Люстерник. В 1952 году в МГУ была создана кафедра вычислительной математики (кафедру возглавил С.Л. Соболев), для студентов и аспирантов которой в 1952/53 учебном году А.А. Ляпунов впервые прочитал курс “Принципы программирования”. В 1953 году в отделе прикладной математики Математического института АН СССР был создан во главе с А.А. Ляпуновым отдел программирования [12]. В этом же году появилась первая доступная всем интересующимся этой областью книга по программированию [13]. В 1955 году был создан Вычислительный центр МГУ, специализирующийся на разработке и применении вычислительных методов для решения сложных научных и прикладных задач.
В конце 50-х годов был получен ряд результатов, стоящих на уровне мировых достижений.
· Была разработана теория логического анализа и синтеза релейно-контактных, а позже и функциональных схем, в которой аппарат математической логики был использован в области технических наук. Начатые в 40-х годах М.А. Гавриловым в Институте автоматики и телемеханики АН СССР [14], эти работы были продолжены О.Б. Лупановым и С.В. Яблонским в отделе прикладной математики АН СССР. В результате этих исследований в СССР возникли две научные школы, сыгравшие важную роль в создании теории дискретных управляющих устройств и методов инженерного проектирования устройств такого типа (в частности, схем, узлов и устройств вычислительной техники).
· В 19521953 годах А.А. Ляпуновым был предложен операторный метод для описания программ [15]. Практически впервые был создан способ представления программ на обозримом уровне. Вместо неэффективного для человека задания программ в машинных кодах А.А. Ляпунов предложил формализованное представление высокого уровня. Особенно важным было то, что операторный метод позволял создать теорию синтаксических структур программ [16].
· В 1953 году А.А. Ляпунов сформулировал постановку задачи автоматизации программирования. Эта оригинальная постановка была успешно использована в первых отечественных трансляторах, называвшихся тогда программирующими программами. Летом 1954 года появилась программирующая программа ПП-1 (отдел прикладной математики Института математики АН СССР), а в 1955 году ее улучшенный вариант ПП-2. Чуть позднее была создана еще одна программирующая программа [17].
· В 19531954 годах Л.В. Канторович разработал технологию крупноблочного программирования, которая также давала обозримое описание программ и обеспечивала степень формализации, достаточную для исследования синтаксических структур программ и создания программирующих программ [18].
· М.Л. Цетлин впервые поставил вопрос о возможности моделирования с помощью простейших технических средств сложных форм поведения. Эти идеи послужили началом создания теории коллективного поведения технических систем, намного опередившей аналогичные исследования в других странах [19].
К середине 50-х годов у ведущих специалистов в области вычислительной техники было ясное представление о путях развития отечественной информатики. Примером может служить статья В.М. Глушкова, работавшего тогда в лаборатории вычислительной техники Института математики АН УССР в Киеве [20]. В середине 1957 года автор статьи четко определяет направления стратегических исследований в области информатики. По мнению В.М. Глушкова, основой прогресса развития вычислительных машин должны стать теория их работы, разработка методов автоматизации проектирования ЭВМ и развитие методов автоматизации программирования. Он подчеркивает важную роль исследований в области теории алгоритмов и теории конечных детерминированных и стохастических автоматов, принципиальное значение разработки методов символьных преобразований на ЭВМ (аналитических преобразований, доказательства теорем, машинного перевода), отмечает центральную роль, которую играет задача оптимизации программ (особенно для управляющих машин), а также указывает на обратное влияние развития вычислительных машин на дальнейшие работы в области вычислительной математики.
С 1953 года в нашей стране налажен серийный выпуск вычислительных машин. Первой в серию пошла “Стрела”, созданная в СКБ-245 под руководством Ю.Я. Базилевского. В 1958 году в серию пошла машина М-20, созданная в коллективе С.А. Лебедева в ИТМиВТ АН СССР. Эта машина сыграла большую роль в развитии программирования, а позже на ее базе была создана транзисторная машина М-220. Таким образом, к началу 60-х годов были заложены теоретические и технические основы для развития информатики.
В Московском, Ленинградском и Киевском университетах началась подготовка специалистов по вычислительной математике, а в ряде технических высших учебных заведений появились курсы по вычислительной технике, а затем стали открываться кафедры вычислительной техники или вычислительных машин.
Свидетельством окончательного официального признания кибернетики стала статья “Кибернетика” в 51-м томе второго издания Большой советской энциклопедии, написанная А.Н. Колмогоровым. В ней нет и намека на ту травлю, которой подверглась эта наука всего несколько лет назад. Начало статьи необычно для советских изданий того времени, тем более для БСЭ, которая должна была стоять на страже советской науки, всячески выпячивать ее мировой авторитет и значимость: “Кибернетика научное направление, задачи которого были сформулированы в работах американского ученого Н.Винера, опубликованных в 1948-м; по Винеру и его последователям, кибернетика есть наука о “связи”, “управлении” и “контроле” в машинах и живых организмах”. Далее в статье расшифровывается содержание понятий, взятых в кавычки в определении кибернетики, и устанавливается связь кибернетики с теорией информации, опирающейся на идеи К.Шеннона. Отголоском недавней борьбы за кибернетику выглядит абзац, по своему стилю выпадающий из общего стандартного для энциклопедий “академического” тона изложения: “Много дискутировавшийся вопрос о праве кибернетики на существование в качестве самостоятельной научной дисциплины сводится к вопросу о том, насколько существенны общие черты всех процессов связи, управления и контроля, т.е. могут ли общие свойства этих процессов в машинах, живых организмах и их объединениях быть предметом достаточно содержательной единой теории. На этот вопрос следует ответить с полной определенностью утвердительно, хотя в направлении систематического построения кибернетики сделаны лишь первые шаги” [21].
Вскоре появились книги отечественных специалистов [2225]. В 1958 году вышел “Сигнал” И.А. Полетаева. Как уже говорилось, все авторы первых отечественных книг по кибернетике были военными, работали в учебных заведениях, готовивших кадры для Министерства обороны. Академии имени Жуковского и Дзержинского в Москве, Академия имени Можайского в Ленинграде, Харьковское высшее авиационно-техническое училище и Киевское высшее инженерно-радиотехническое училище были первыми военными учебными заведениями, где преподавание кибернетики стало обязательным.
Важным событием было появление перевода основополагающей для кибернетики книги Норберта Винера. Первое издание [26] вышло с десятилетним опозданием относительно оригинала (с купюрами: все места, которые можно было интерпретировать как критику нашего строя или экономического уклада, были изъяты). Переводчиком книги был И.В. Соловьев, а редактором Г.Н. Поваров, который в эти годы начал активно заниматься логическими методами анализа и синтеза схем. Позже книга была переиздана с учетом второго, расширенного американского издания, появившегося в 1961 году в более полном объеме [27]. Была издана и вторая книга Н.Винера, наделавшая в США в 1954 году много шума из-за своей направленности против многих сторон жизни капиталистического общества [28].
Затем издаются переводы книг других зарубежных авторов [2931]. Наконец, появились отечественные научно-популярные книги, пропагандирующие идеи и достижения кибернетики [32, 33].
Не только военные, но и политические руководители страны стали уповать на помощь вычислительных машин. Статья одного из создателей первых отечественных машин, помещенная в главном идеологическом органе партии [34], говорит о необходимости использования компьютеров в задачах планирования народного хозяйства. Это показывает, что недоверие к вычислительной технике и кибернетике в верхних эшелонах власти стало коренным образом меняться.
Но, пожалуй, главным событием этого времени стал выход в 1958 году первого выпуска “Проблем кибернетики” детища А.А. Ляпунова и его единомышленников. Этот нарядный, в ярко-красной суперобложке том открыл собою серию из 41 сборника, во многом определившую пути развития теоретической кибернетики и того, что потом стало называться информатикой. До переезда Ляпунова в Новосибирск в 1962 году “Проблемы кибернетики” в значительной мере отражали интересы участников семинара по кибернетике, проходившего под его руководством начиная с 1954/55 учебного года на механико-математическом факультете МГУ. Первый выпуск содержал изложение идей доклада, прочитанного М.В. Келдышем, А.А. Ляпуновым и М.Р. Шура-Бурой на октябрьской сессии АН СССР 1956 года [15].
Математическая логика заняла достойное место в математическом образовании. В 1958 году в МГУ была открыта первая в СССР кафедра математической логики. Кафедру возглавил А.А. Марков.
В эти годы было проведено несколько научных мероприятий, в программах которых предусматривались доклады и сообщения, посвященные решению задач в рамках кибернетического подхода. В октябре 1956 года состоялась сессия АН СССР по научным проблемам автоматизации производства. На ней была дана положительная оценка роли кибернетики в решении практических задач автоматизации. Перед этим в том же году, во время проведения III всесоюзного математического съезда, работала специальная секция кибернетики, на которой был сделан ряд докладов по программированию и теоретическим проблемам новой науки. Важное значение для дальнейшего развития кибернетики имела прошедшая в марте 1956 года в Москве Всесоюзная конференция “Пути развития советского математического машиностроения и приборостроения”. На ней было сделано несколько докладов, связанных с программированием и с использованием вычислительных машин для решения разнообразных задач. В феврале 1958 года в Баку прошло Всесоюзное совещание по вычислительной математике и применению средств вычислительной техники. В работе Всесоюзного совещания по вычислительной математике и вычислительной технике, проходившего в МГУ в ноябре 1959 года, в программе которого была и секция кибернетики, приняли участие свыше 2000 человек.
Хотя и с огромным трудом, отечественные специалисты в области информатики стали выезжать за рубеж для участия в научных мероприятиях в данной области. Из [35] можно узнать, что на семинаре А.А. Ляпунова о своих зарубежных поездках отчитывались члены советских делегаций, выезжавших на конгресс по кибернетике в Намюре в 1957 году, в США и Великобританию. На симпозиуме “Механизмы мыслительных процессов”, проходившем в ноябре 1958 года в Национальной физической лаборатории в Теддингтоне, А.П. Ершов сделал два доклада: “О работах в ВЦ АН СССР в области теоретического программирования” и “О работах в ВЦ АН СССР в области автоматизации программирования”. Эти доклады вызвали положительные отклики за рубежом. Достижения советской науки в области программирования получили весьма высокую оценку. На основе этих докладов А.П. Ершов подготовил по просьбе редколлегии известного в то время журнала “Datamation” обзорную статью о программировании в СССР [42]. Эта статья была, наверное, второй после статьи [43] публикацией о достижениях отечественных специалистов в области информатики, напечатанной в зарубежном издании.
Признанием важности информатики стала защита диссертаций в этой области. Первой, по-видимому, была защищена кандидатская работа, написанная Э.З. Любимским на тему “Об автоматизации программирования и методе программирующих программ” (1957). Вскоре за ней последовали защиты других специалистов: “О равносильности и преобразованиях схем программ” (Ю.И. Янов, 1958), “Матричный метод анализа схем и некоторые его приложения” (М.Л. Цетлин, 1958), “Операторные алгорифмы” (А.П. Ершов, 1961). Защиты диссертаций проходили на механико-математическом и физическом факультетах МГУ, в Математическом институте АН СССР и в Институте математики с вычислительным центром СО АН СССР. Высокая марка научных советов этих ведущих учреждений обеспечивала серьезное отношение к выполненным работам.
[Д.А. Поспелов. Из книги Очерки истории информатики в России
Авторы: Д. А. Поспелов, Я. И. Фет. Новосибирск, Издательство: Научно-издательский центр ОИГГМ СО РАН, 1998]
По материалам www.computer-museum.ru
Первые отечественные компьютеры обозначались термином ЭВМ (Электронная Вычислительная Машина)
1. Главный конструктор: Базилевский Юрий Яковлевич, зам. главного конструктора Рамеев Б.И., Прокудаев Г.М., Литвинов А.М., Жучков Д.А., Шилейко А.В., основные исполнители: Цыганкин А.П., Трубников Н.В., Мельников Б.Ф., Монахов Г.Д., Лыгин И.Ф., Ларионова Л.А., Ларионов А.М. и др.
2. Организация-разработчик: СКБ245 (с 1958 г. Научно-исследовательский институт электронного машиностроения (НИЭМ), с 1986 г. НИИ «Аргон», Москва.
2. Завод-изготовитель: Московский завод САМ. Ведомство: Министерство приборостроения и средств автоматизации СССР.
4. Год начало выпуска: 1953 г.
5. Год прекращения выпуска: 1956 г.
6. Область применения: научные расчеты в ВЦ АН СССР, ИПМ АН СССР МГУ им. М.В. Ломоносова и в вычислительных центрах некоторых министерств.
6 Число выпущенных машин: 7 образцов.
Элементная база
6200 ламп и 60 000 полупроводниковых диодов.
Программное обеспечение
Библиотека подпрограмм, часть из которых зашита в постоянной памяти.
Описание машины
Быстродействие 2000 трехадресных команд в секунду.
Операции с плавающей точкой над 43 разрядными числами (35 мантисса и 6 порядок; 1 знак). Адреса команд 12разрядные.
Оперативная память на электронно-лучевых трубках с циклом обращения 20 мкс. ЭВМ имела ПЗУ на полупроводниковых диодах емкостью 15 стандартных подпрограмм по 16 команд и 256 операндов.
В качестве внешнего ЗУ использовались два накопителя на магнитной ленте емкостью 1,5 млн. слов.
Ввод информации производился с устройства ввода перфокарт или с магнитной ленты. Вывод информации осуществлялся на магнитную ленту, перфоратор карт или на широкоформатное печатающее устройство.
Технико-эксплуатационные характеристики
Особенности ЭВМ
«Стрела» отличалась гибкостью системы команд. Наличие нескольких типов групповых арифметических и логических операций, условных переходов и сменяемых стандартных программ, а также системы контрольных тестов и организующих программ позволяли создавать библиотеки прикладных программ различного тематического направления объемом до 100 млн. команд. В этой ЭВМ были использованы оригинальные решения в элементной базе, а также впервые выполнено матричное исполнение блока умножения на диодах. Впервые разработано и использовано оперативное ЗУ на 43 специализированных запоминающих электроннолучевых трубках. Кроме того, в последней (3-ей) модификации был введен накопитель на магнитном барабане емкостью 4096 слов, имеющий частоту вращения 6000 об./мин.
Впервые разработаны и производились устройства ввода и вывода информации с перфокарт, накопитель на магнитной ленте и широкоформатное печатающее устройство.
На «Стрелах» отрабатывались первые отечественные приемы и методы программирования, в том числе и в операторной форме.
В 1954 г. разработка была отмечена Государственной премией. В течение нескольких лет «Стрела» была самой производительной ЭВМ в стране.
Рис. . Электронная вычислительная машина "Стрела"
1. Главный конструктор: академик АН СССР С. А. Лебедев; зам. главного конструктора к. т. н. М. К. Сулим и д. ф.-м. н. М. Р. Шура-Бура; основные разработчики: к. т. н. П. П. Головистиков, В. Я. Алексеев, к. т. н. В. В. Бардиж, к. т .н. В. Н. Лаут, А. А. Соколов, М. В. Тяпкин, А. С. Федоров.
2. Организация разработчик: Институт точной механики и вычислительной техники (ИТМ и ВТ) и Специальное конструкторское бюро (СКБ-245).
3. Завод-изготовитель: Завод вычислительных машин (Казань), Московский завод САМ.
2. Год окончания разработки: 1958.
3. Год начала выпуска: 1958.
4. Год прекращения производства: 1964.
5. Число выпущенных машин: 20.
6. Область применения: решение задач из многих областей науки и техники.
Структура ЭВМ
Однопроцессорная, в процессоре реализован ряд структурных решений: совмещение выполнения частей операций, ускорение выполнения операций сложения и умножения за счет совершенствования работы цепей переноса (введение цепи «грубого» переноса, дополняющего сквозной перенос) и умножение сразу на два разряда.
Система представления чисел двоичная с плавающей запятой, количество разрядов для кодов чисел 45.
ЭВМ М-20 имела память на ферритовых сердечниках объемом 4096 слов, внешняя память располагалась на магнитных барабанах и лентах.
Элементная база
Съемные блоки с двумя электронными лампами. Использовался импульсный принцип (динамические триггеры) для построения схем устройств параллельного действия, что привело к уменьшению числа электронных ламп в машине до 1600. Логические схемы были выполнены на полупроводниковых диодах, что в сочетании с ненагруженным режимом их работы, являющимся также следствием применения импульсного принципа построения схем, обеспечило повышенную надежность работы машины.
Программное обеспечение
Библиотека стандартных подпрограмм ИС-2.
Технико-эксплуатационные характеристики
Особенности машины
ЭВМ М-20 явилась одной из самых быстродействующих и надежных машин первого поколения в мире.
Общее повышение эффективности работы машины помимо структурных решений и импульсного принципа построения схем достигалось также введением:
индексной арифметики, позволяющей во многих случаях избавиться от переменных команд;
новых логических операций в процессоре;
системы команд с автоматической модификацией адреса;
совмещения работы АУ с выборкой команд из памяти;
совмещения вывода информации на печать с работой процессора.
Были получены патенты на ЭВМ М-20, патенты на отдельные составляющие М-20, имелось большое количество публикаций.
Об использовании ЭВМ М-20
«В середине 60-х годов прошлого столетия в нашей стране были широко распространены вычислительные машины типа М-20, построенные коллективом, возглавляемым академиком С. А. Лебедевым. По тем временам это были вполне современные компьютеры, обладающие производительностью около 20 тыс. операций в секунду. Однако их оперативная память была малой и позволяла решать системы линейных алгебраических уравнений с плотной матрицей порядка всего лишь 50-100. Требования практики заставляли искать способы решения систем значительно большего порядка. В качестве медленной памяти на этих машинах использовались магнитные барабаны. Они играли тогда такую же роль, какую сейчас в персональном компьютере играют жесткие диски. Естественно, с поправкой на объем хранимой информации. Под этот тип медленной памяти была разработана специальная блочная технология решения больших алгебраических задач. Она позволяла с использованием только 300 слов оперативной памяти решать системы практически любого порядка. Точнее, такого порядка, при котором матрица и правая часть могли целиком разместиться в медленной памяти. При этом системы решались почти столь же быстро, как будто вся информация о них на самом деле была размещена в оперативной памяти. Созданные на основе данной технологии программы были весьма эффективны. В частности, на машинах типа М-20 они позволяли решать системы 200-го порядка всего за 9 минут.»
Из книги: В. В. Воеводин, Вл. В. Воеводин «Параллельные вычисления» СПб.: БХВ-Петербург, 2002.
Рис. . Электронная вычислительная машина М-20
(Штейнберг Виталий Иосифович)
1. Главный конструктор: Антонов Вениамин Степанович. Основные разработчики: А. А. Шульгин, Г. Г. Зоткин, Н. Егорычева, В. С. Клепинин, В. Гуров.
2. Организация-разработчик: Научно-исследовательский институт электронных машин (НИЭМ).
3. Завод-изготовитель: Московский завод счетно-аналитических машин (САМ), Казанский завод ЭВМ. Ведомство: Министерство радиопромышленности СССР.
4. Год окончания разработки: 1968.
5. Год начала выпуска: 1968.
6. Год прекращения выпуска: 1974.
7. Область применения: научно-технические расчеты на предприятиях и организациях народного хозяйства и Министерства обороны.
8. Число выпущенных машин: около 200 ЭВМ, включая модификации М-220М и М-222, разработанные в СКБ Казанского завода ЭВМ.
Описание машины
Структура машины М-220 (так же, как БЭСМ-3 и БЭСМ-4 ) мало чем отличается от структуры ЭВМ М-20. Их внутренние информационные связи аналогичны. Благодаря этому решалась проблема сохранения довольно богатого программного обеспечения М-20, которое разрабатывалось многие годы ведущими коллективами программистов страны.
Отличие от М-20 состоит, во-первых, в том, что все перечисленные ЭВМ выполнены на полупроводниковых приборах (потенциально-импульсные схемы, диодно-трансформаторная логика), а во-вторых, объем ферритового ЗУ увеличен до 16К слов (М-220) и 32К слов (М-222) Система команд дополнена командами переключения с одного модуля ЗУ на другой. Применено умножение на 2 разряда, имеется операция извлечения квадратного корня. Машины БЭСМ-4 и М-222 получили систему прерывания, защиту памяти, связь с другими ЭВМ. Все машины этой группы получили модернизированные внешние накопители и устройства ввода-вывода.
Элементная база
Диодно-трансформаторные схемы на базе транзисторов П-401.
Программное обеспечение
Программное обеспечение семейства М-20, М-220, М-222 создавалось в течение более 10 лет силами НИИ и вузов, в которых широко использовались эти ЭВМ. Оно было достаточно богатым, однако разрозненным и недостаточно корректно документированным. Его распространением занималась Ассоциация пользователей М-20. Помимо библиотеки стандартных программ имелся транслятор с Алгол-60, оптимизирующий АЛЬФА-транслятор (Ершов А. П.) транслятор с языка Фортран, операционные системы ОС4-220 для ЭВМ М-220 и ОС ДМ-222 для ЭВМ М-222. Эти операционные системы обеспечивали режим пакетной обработки с совмещением вычислений с работой устройств ввода-вывода. Последняя ОС допускала режим мультипрограммного использования.
Технико-эксплуатационные характеристики
ЭВМ М-220 и М-222 размещались на площади 100 кв. м и более в зависимости от комплектации внешним оборудованием. Быстродействие их составляло 28 тысяч операций в секунду. Потребляемая мощность от сети 380/220 В не превышала 20 кВА. Среднее время между отказами 500 ч.
Особенности ЭВМ
М-220/222 интересна теми методами, которыми производилось совершенствование логической структуры в жестких условиях сохранения совместимости с моделью М-20. В производстве этих ЭВМ впервые использован метод накрутки, ставший основным в сборочных процессах ЭВМ после 1970 г.
Являлась самой быстродействующей машиной в Европе и одной из самых быстродействующих ЭВМ в мире.
1. Главный конструктор: академик АН СССР С. А. Лебедев; основные разработчики: К. С. Неслуховский, П. П. Головистиков, В. А. Мельников, В. С. Бурцев, В. Н. Лаут, А. И. Зимарев, А. Г. Лаут, А. А. Соколов, М. В. Тяпкин, В. Я. Алексеев, В. П. Смирягин, И. Д. Визун, А. С. Федоров, О. К. Щербаков и др.
2. Организация-разработчик: Институт точной механики и вычислительной техники АН СССР (ИТМ и ВТ).
3. Завод-изготовитель: Московский завод счетно-аналитических машин (САМ).
4. Год окончания разработки: 1953.
5. Год начала выпуска: 1953.
6. Число выпущенных машин: 1.
7. Область применения: крупные научные и производственные задачи.
Структура ЭВМ
Система представления чисел двоичная с плавающей запятой, число разрядов для кодов чисел 39.
Цифровая часть числа 32 разряда; знак числа 1 разряд; порядок числа 5 разрядов; знак порядка 1.
Диапазон представляемых чисел: 10-9 1010.
Система команд трехадресная. Число разрядов для кодов команд 39. Код операции 6 разрядов; коды адресов 3 адреса по 11 разрядов каждый. В систему операций машины входят: арифметические операции, операции передач кодов, логические операции и операции управления. Операции могут производиться как с нормализованными, так и с ненормализованными числами.
БЭСМ-1 имела оперативную память (ОЗУ) на ферритовых сердечниках емкостью 1024 числа (до этого была опробована оперативная память на ртутных трубках и потенциалоскопах), долговременное запоминающее устройство на полупроводниковых диодах (ДЗУ) емкостью до 1024 чисел. В ДЗУ постоянно хранились некоторые наиболее часто встречающиеся константы и подпрограммы. Содержимое ДЗУ не изменялось во время работы машины. Кроме того, машина имела внешний накопитель на магнитных лентах (НМЛ) четыре блока по 30 тысяч чисел в каждом, а также промежуточный накопитель на магнитном барабане (НМБ) емкостью 5120 чисел со скоростью выборки до 800 чисел в секунду.
Ввод информации в машину с фотосчитывающего устройства на перфоленте. Вывод результатов на электромеханическое печатающее устройство.
Элементная база
Двух- и четырехламповые ячейки, в которых смонтированы различные схемы (триггеры, вентили, усилители и т. д.). ЭВМ БЭСМ-1 имела около 5 тыс. электронных ламп.
Программное обеспечение
Системное ПО отсутствовало.
Технико-эксплуатационные характеристики
Особенности ЭВМ
БЭСМ-1 была машиной параллельного действия, имела развитую структуру и организацию связей устройств и сбалансированность их характеристик. Принципы ее организации и конструкции воплотились и совершенствовались в последующих ЭВМ, разработанных в СССР.
Важной особенностью БЭСМ-1 стало введение операций над числами с плавающей запятой с обеспечением большого диапазона используемых чисел (от 10-9 до 1010). На БЭСМ-1 обеспечивалась высокая точность вычислений (около 10 десятичных знаков), выполнялись операции с удвоенной точностью при меньшем быстродействии.
Для машины БЭСМ-1 была разработана система контрольных задач-тестов, позволяющих быстро находить неисправности в машине, а также система профилактических испытаний для обнаружения мест возможных неисправностей.
Были получены патент на машину и патенты на отдельные составляющие БЭСМ-1. Имеется большое количество публикаций.
1. Главный конструктор: академик АН СССР С. А. Лебедев.; основные разработчики: К. С. Неслуховский, А. Н. Зимарев, В. А. Мельников, А. А. Павликов, А. В. Аваев и др.
2. Организации-разработчики: ИТМ и ВТ и Завод им. Володарского, Ульяновск.
3. Завод-изготовитель: Завод им. Володарского, Ульяновск.
4. Год окончания разработки: 1957.
5. Год начала выпуска: 1958.
7. Год окончания производства: 1962.
8. Число выпущенных машин: несколько десятков.
9. Область применения: в вычислительных центрах и научно-исследовательских организациях для численного решения широкого круга математических задач.
Структура ЭВМ
Система представления чисел двоичная с плавающей запятой, количество разрядов для кодов чисел 39. Цифровая часть числа 32 разряда; знак числа 1 разряд; порядок числа 5 разрядов; знак порядка 1 разряд.
Диапазон чисел, с которыми оперирует машина, от 10-9 109 Точность вычислений примерно 9 десятичных знаков (возможны вычисления с удвоенной точностью).
Система команд трехадресная. Число разрядов для кодов команд 39. Код операции 6 разрядов; коды адресов 3 адреса по 11 разрядов каждый.
В систему операций машины входят: арифметические операции, операции передач кодов, логические операции и операции управления. Операции могут производиться как с нормализованными, так и с ненормализованными числами.
Арифметическое устройство одно, универсальное.
Система обмена кодами между арифметическим и оперативным запоминающими устройством параллельная.
Вид оперативного запоминающего устройства ЗУ на ферритовых сердечниках. Емкость оперативного запоминающего устройства 2047 39-разрядных чисел. Время выборки одного числа из оперативного запоминающего устройства составляет 10 мкс.
Внешние запоминающие устройства магнитные барабаны и сменные магнитные ленты. Емкость запоминающего устройства на одном барабане не менее 5120 кодов. Скорость считывания или записи 880 чисел в секунду. Частота импульсов магнитного барабана около 35 кГц. Максимальное время ожидания первого числа 80 мс, среднее 40 мс.
Число лент четыре. Запись на магнитную ленту производится группами. Максимальное число чисел в одной группе 2047. Емкость каждой ленты не менее 40 000 кодов. Скорость считывания или запись с лент 400 чисел в секунду. Частота следования импульсов с магнитной ленты около 16 кГц. Магнитные ленты имеют как прямой, так и обратный ход. Рабочим является только прямой ход.
Первоначальный ввод программы и исходных данных производится с перфоленты со скоростью 20 кодов в секунду.
Печатание окончательных результатов производится непосредственно на бумагу со скоростью до 20 чисел в секунду.
Элементная база
Двухламповые ячейки, на которых смонтированы различные схемы (триггеры, вентили, усилители и т. д.). ЭВМ БЭСМ-2 имела около 4 тыс. электронных ламп.
Программное обеспечение
Системное ПО отсутствовало.
Технико-эксплуатационные характеристики
Особенности ЭВМ
Система команд машины отличалась от системы команд ЭВМ БЭСМ-1 тем, что были исключены редко использовавшиеся команды (например, передача модуля числа) и добавлены некоторые новые команды. Была устранена шестнадцатеричная система кодирования команд. ЭВМ БЭСМ-2 была создана как серийный аналог уникальной БЭСМ-1 и нашла широкое применение в ряде НИИ СССР и за рубежом (КНР).
Имелись патенты на машину и ряд публикаций.
1. Главный конструктор: к. т. н. О. П. Васильев; научный руководитель: академик С. А. Лебедев; основные разработчики: В. И. Глоба, A. B. Гостева, А. A. Грызлов, B. B. Дроботенко, Л. Г. Зима, Н. Н. Игрицкий, Л. В. Ленгник, Ю. В. Никишин, Л. В. Смирнова, С. И. Судариков, В. П. Чекин и др.
2. Организация-разработчик: ИТМ и ВТ.
3. Предприятие-изготовитель: Завод им. Володарского, Ульяновск.
4. Год окончания разработки: 1961.
5. Год начала выпуска: 1962.
6. Год окончания производства: 1966.
7. Область применения: решение математических задач статистики, планирования, учета и анализа производства.
8. Число выпущенных машин: 30.
Структура ЭВМ
БЭСМ-4 имела систему команд, несколько расширенную по сравнению с системой команд ЭВМ М-20. Система команд машины трехадресная, быстродействие в среднем около 20 000 операций в секунду. Система представления чисел двоичная с плавающей запятой. Количество разрядов для кодов чисел 45. Диапазон изменения абсолютных величин нормализованных чисел, действия с которыми может выполнять машина, от 2-63 до 263.
БЭСМ-4 состояла из запоминающего устройства, устройства управления, арифметического устройства, устройства ввода-вывода и пульта управления с панелью сигнализации.
Емкость оперативного запоминающего устройства на магнитных сердечниках от 4096 до 8192 ячеек по 45 двоичных разрядов каждая. Время обращения 10 мкс. Емкость накопителя на магнитных барабанах 65 536 45-разрядных двоичных слов (4 барабана по 16 384 слова). Емкость внешней памяти на магнитных лентах 8 блоков по 2 млн. слов в каждом. Ввод информации в машину с перфокарт со скоростью 700 карт в минуту. Вывод информации производился на перфокарты, перфоленту и на печать.
Элементная база
Съемные блоки с логическими схемами на транзисторах и полупроводниковых диодах.
Программное обеспечение
Прообраз операционной системы и библиотека стандартных подпрограмм ИС-2.
Технико-эксплуатационные характеристики
Были получены патенты на ЭВМ БЭСМ-4, патенты на отдельные составляющие БЭСМ-4; имелись публикации.
(Смирнов Геннадий Дмитриевич, Грекович Анатолий Викентьевич.)
1. Главный конструктор: Лопато Г. П., зам. Главного конструктора: Симхес В. Я., основные исполнители: Сакаев Э. Н., Реморов С. Н., Бахир А. И., Цыгельский В. И., Флеров А. Б.
2. Организация разработчик: СКБ завода счетных машин им. Г. К. Орджоникидзе. Ведомство: Белорусский совнархоз.
3. Завод-изготовитель: Завод счетных машин им. Г. К. Орджоникидзе. Ведомство: Белорусский совнархоз.
4. Год окончания разработки: 1960.
5 .Год начала выпуска: 1960.
6 .Год прекращения выпуска: 1963.
7. Область применения: ЭЦВМ «Минск-1» одна из первых серийных отечественных машин малого класса на электронных лампах, нашедшая наиболее широкое применение при решении разнообразных инженерных и научных задач, для эксплуатации в научных и учебных институтах, вычислительных центрах, конструкторских бюро, на заводах.
8. Количество выпущенных машин (серийность): 230 шт., включая модификации «Минск-11»,«Минск-12», «Минск-14», «Минск-16», различающиеся составом внешнего оборудования.
Описание машины
Элементная база
Электронные лампы, полупроводниковые диоды.
Программное обеспечение
Тестовое обеспечение, библиотека стандартных программ.
Технико-эксплуатационные характеристики
ЭВЦМ «Минск-1» одна из первых серийных экономичных отечественных машин малого класса на электронных лампах для решения разнообразных инженерных и научных задач.
(Смирнов Геннадий Дмитриевич, Грекович Анатолий Викентьевич.)
1. Главный конструктор: Пржиялковский В. В., зам. главного конструктора: Клочков; основные исполнители: Смирнов Г. Д., Бостанджян Ю. Г., Мальцев Н. А., Мухин.
2. Организация разработчик: СКБ завода счетных машин им. Г. К. Орджоникидзе. Ведомство: Белорусский совнархоз.
3. Завод-изготовитель: Завод счетных машин им. Г. К. Орджоникидзе. Ведомство: Белорусский совнархоз.
4. Год окончания разработки: 1962.
5. Год начала выпуска: 1963.
6 .Год прекращения выпуска: 1965.
7. Область применения: ЭЦВМ «Минск-2» для расчетов научно-технического и планового-экономического характера в ИВЦ, НИИ, КБ и на промышленных предприятиях.
8. Количество выпущенных машин (серийность): 118 шт.
Описание машины
Двух адресная с гибкой структурой. Длина слова 37 бит (знак + 12 восьмеричных или 9 десятичных разрядов). Возможность создания различных конфигураций. Впервые обработка текстовой информации с помощью перфоленточного фотоввода на входе и рулонного телетайпа на выходе.
Элементная база
Диодно-трансформаторные вентили, полупроводниковые приборы типа П16А. Тактовая частота 250 кГц.
Программное обеспечение
Тестовое обеспечение, система символического кодирования (ССК), автокод для решения инженерных задач.
Технико-эксплуатационные характеристики
Особенности ЭВМ
«Минск-2» одна из первых серийных полупроводниковых электронных вычислительных машин малого класса, созданная в СССР и обладавшая возможностью ввода, обработки и вывода текстовой информации.
Рис. . ЭВМ Минск-2
(Смирнов Геннадий Дмитриевич, Грекович Анатолий Викентьевич)
1. Главный конструктор: Надененко В. К.; основные исполнители: Качков В. П., Смирнов Г. Д., Ленкова В .М., Кондратьев А. П., Маролин М. С.
2. Организация разработчик: СКБ завода счетных машин им. Г. К. Орджоникидзе. Ведомство: Белорусский совнархоз.
3. Завод-изготовитель: Завод счетных машин им. Г. К. Орджоникидзе. Ведомство: Белорусский совнархоз.
4 .Год окончания разработки: 1964.
5 .Год начала выпуска: 1965.
6 .Год прекращения выпуска: 1970.
7 .Область применения: ЭЦВМ «Минск-22» для обработки деловой информации в различных ведомствах, управлениях, на предприятиях.
8. Количество выпущенных машин (серийность): 953 шт.
Описание машины
ЭЦВМ «Минск-22» явилась модификацией ЭЦВМ «Минск-2» с расширенным составом устройств памяти и ввода-вывода алфавитно-цифровой информации (устройства ввода и вывода перфокарт, алфавитно-цифровое печатающее устройство).
Элементная база
Полупроводниковые приборы типа П16 А, диодно-трансформаторные вентили. Тактовая частота 250 кГц.
Программное обеспечение
Автокод для решения инженерных задач (АКИ), система символьного кодирования (ССК) с макросредствами, система автоматической обработки данных (САОД) на базе Кобола.
Технико-эксплуатационные характеристики
Особенности ЭВМ
Широкие возможности применения ЭЦВМ «Минск-22» обусловлены соответствующим набором входных и выходных устройств, обеспечивающих обработку алфавитно-цифровой информации.
Смирнов Г.Д., Карпилович Ю.В., Грекович А.В.
Главный конструктор: Пржиялковский Виктор Владимирович; зам. главного конструктора: Смирнов Геннадий Дмитриевич; основные исполнители: Качков В. П., Марголин М. С., Мальцев Н. А., Бостанджян Ю. Г., Аверьянов В. А., Кондратьев А. П.
1. Организация-разработчик: СКБ завода счетных машин им. Г. К. Орджоникидзе, Минск. Ведомство: Белорусский совнархоз.
2. Завод-изготовитель: завод счетных машин им. Г. К. Орджоникидзе. Ведомство: Белорусский совнархоз.
3. Год окончания разработки: 1966.
4. Год начало выпуска: 1966.
5. Год прекращения выпуска: 1969.
6. Область применения: ЭЦВМ “Минск-23” первая отечественная машина с символьной логикой и переменной длиной слова и команды. Предназначена для обработки больших массивов алфавитно-цифровой информации.
7. Число выпущенных машин (серийность): 28 шт.
Описание машины
Структура и система команд ЭЦВМ “Минск-23” полностью отличается от таковых в существовавших до этого ЭВМ (см. п.16).
Элементная база
Полупроводниковые триоды П16А, диоды Д9, диодно-трансформаторные схемы, работающие на тактовой частоте 250 кГц.
Программное обеспечение
Тестовые программы, библиотека программ, система символического кодирования, автокод с макрогенератором, операционная система (монитор пакетной обработки, сборщик-загрузчик, связь оператора с машиной, система определения сбоев, координатор мультипрограммной обработки).
Технико-эксплуатационные характеристики
Среднее быстродействие 6 тыс. операций/с; емкость ОЗУ 40 тыс. символов; емкость внешней памяти 44 млн. символов.
Особенности ЭВМ
ЭЦВМ “Минск-23” имела структуру и систему команд, полностью отличающиеся от таковых в существовавших до этого ЭВМ. Это первая отечественная машина с символьной логикой и переменной длиной слова и команды. Машина имеет развитую систему прерывания и приостановок, универсальную связь с внешними устройствами, защищенную область памяти с обслуживающими программами, возможность использования большого количества индексных полей для каждого программного массива, специальные команды редактирования и обработки полей переменной длины, состоящих из алфавитно-цифровых символов.
Машина “Минск-23” по своим параметрам максимально приближена к процедурам обработки различных видов информации. Она имеет следующие особенности:
переменную длину слова и команды, что позволяет наиболее экономично использовать объемы накопителей, компоновать и обрабатывать информацию различных структур;
десятичную систему счисления, исключающую переводы информации из одной системы счисления в другую и максимально приближающую входной язык к языку машины;
возможность работы с 64 различными внешними устройствами, что позволяет выстраивать на базе машины различные системы обработки информации;
эффективную систему команд, включающую специальные команды поиска, редактирования и большое разнообразие логических команд, значительно облегчающих логическую обработку информации.
В памяти машины “Минск-23” адресуется каждый отдельный алфавитно-цифровой символ и обработка информации производится последовательно символ за символом. Для представления одного символа используется 8 двоичных разрядов.
Впервые в ЭЦВМ “Минск-23” использована универсальная система связи с внешними устройствами. К машине может быть присоединено до 64 внешних устройств.
Имеются две разновидности команд управления внешними устройствами, одна из которых определяет режим ввода, вторая режим вывода. Номер внешнего устройства задается спецификатором команды. Обмен информацией между машинами и внешними устройствами совмещается с выполнением операций в вычислительном устройстве. Для этой цели предусмотрены режимы многопрограммной и многооперационной работы режим прерывания и режим приостановок.
Рис. . ЭВМ Минск 23
(Смирнов Геннадий Дмитриевич, Грекович Анатолий Викентьевич, Карпилович Юрий Владимирович.)
1. Главный конструктор: Пржиялковский В. В.; основные исполнители: Смирнов Г. Д., Пыхтин В. Я., Бостанджян Ю. Я., Мальцев Н. А., Неменман М. Е.
2. Организация Минское проектное бюро завода счетных машин им. Г. К. Орджоникидзе. Ведомство: Министерство радиопромышленности СССР.
3. Завод-изготовитель: Завод счетных машин им. Г. К. Орджоникидзе. Ведомство: Министерство радиопромышленности СССР.
4. Год окончания разработки: 1968.
5. Год начала выпуска: 1968.
6. Год прекращения выпуска: 1975.
7 .Область применения: ЭЦВМ «Минск-32» самая массовая ЭВМ второго поколения в СССР. Эта ЭВМ широко использовалась в народном хозяйстве страны, большинство вычислительных центров были оснащены этими машинами. На совещании СЭВ в Будапеште в 1972 г. ЭЦВМ «Минск-32», была признана базовой для организации АСУ в странах СЭВ.
8. Количество выпущенных машин (серийность): около 3000 шт.
Описание машины
Блочная структура, позволяющая организовать различные конфигурации ЭВМ. В машине«Минск-32» в качестве информационных единиц используется 37-разрядное слово и 7-разрядный символ. Слово используется для хранения командной и рабочей информации, символ для работы с полями переменной длины и для обработки массивов информации внешних устройств. Основной комплект включает: вычислитель (арифметическое устройство, центральное устройство управления, устройство обмена, центральный пульт управления, устройство питания, магнитное оперативное запоминающее устройство емкостью 32 К слов и широкий набор различных устройств ввода-вывода и хранения информации. Через универсальную систему связей непосредственно к вычислителю можно дополнительно подключить: к быстрому каналу до 3 групп по 8 устройств в каждой группе; к медленному каналу 4 устройства. Имеется логическая возможность подключения 96 устройств. Основной комплект машины в дальнейшем может быть расширен подключением дополнительных блоков ОЗУ общей емкостью 32 К слов.
Программное обеспечение
Кобол, Фортран со средствами отладки, автокод АКИ, впервые реализован многопрограммный режим в операционных системах ЭВМ малого класса, создана первая программно-аппаратная система совместимости, обеспечивающая совместимость на уровне машинных программ и возможность исполнения ПО ЭЦВМ «Минск-22» на ЭЦВМ «Минск-32», что ускорило этап внедрения новой модели в народное хозяйство.
Технико-эксплуатационные характеристики
Особенности ЭВМ
Большая емкость оперативной памяти ( до 65536 37-разрядных слов); возможность многопрограммной работы; наличие двух каналов связи, позволяющих подключить к машине до 136 внешних устройств, связанных с машиной по универсальным принципам; наличие быстрого канала, позволяющего подключить внешние накопители типа магнитных лент, магнитных барабанов, дисков; возможность одновременной работы вычислителя и внешних устройств быстрого и медленного каналов; обеспечение совместимости с ЭВМ «Минск-22М» все программы «Минск-22М» и программы, составленные на автокоде АКИ для «Минск-2»,«Минск-22» могут решаться без перепрограммирования на «Минск-32»; возможность адресаций каждого алфавитно-цифрового символа в памяти машины, что позволяет организовать посимвольную обработку информации; возможность вычислений в десятичной системе счисления ; наличие программно-аппаратурной службы времени; возможность совместной работы двух ЭВМ. Новые возможности ЭВМ «Минск-32» были использованы впервые в нашей стране и были защищены авторскими свидетельствами.
Рис. . ЭВМ Минск-32
(Урнев Иван Васильевич)
1. Главный конструктор: Рамеев Б. И. Основные разработчики: Антонов В. С., Лазарев А. И., Юдицкий Д. И., Невский А. Н., Мухин В. И., Павлов А. И., Калмыков А. Г. и другие.
2. Организация-разработчик: СКБ-245, доводка и запуск в серийное производство Пензенский филиал СКБ-245 Министерства приборостроения и средств автоматизации.
3. Завод-изготовитель: Пензенский завод счетных аналитических машин Министерства приборостроения и средств автоматизации.
4 .Год окончания разработки: 1955.
5. Год начала выпуска: 1956.
6. Год прекращения выпуска: 1961.
7. Область применения: инженерные расчеты в вычислительных центрах НИИ, КБ и на промышленных предприятиях.
8. Число выпущенных машин (серийность): 183 шт.
Описание машины
“Урал-1” является одноадресной машиной с фиксированной запятой, работающей в двоичной системе. Двоичные числа, участвующие в операциях, соответствуют приблизительно 11-ти десятичным разрядам. Машина имеет постоянную длительность такта и работает со скоростью 100 операций в секунду. Память машины представлена тремя накопителями: накопителем на магнитном барабане (НБМ), накопителем на магнитной ленте (НМЛ) и накопителем на перфоленте (НПЛ).
К машине подключаются выходные устройства: печатающее (ПЧУ) и перфорирующее (ПФУ), которые служат для автоматической выдачи результатов на бумажную ленту или перфоленту.
Подготовка информации к вводу в машину осуществляется на внешних устройствах: клавишном (КУ), перфорирующем (ПФУ) и контрольно-считывающем (КСУ). Эти устройства работают независимо от машины.
Элементная база
Ламповые схемы (в основном лампы 6Н8), диодно-резисторные вентили.
Рис. . Ячейка ЭВМ "Урал-1"
Программное обеспечение
Тестовое обеспечение, контрольные задачи.
Основные эксплуатационно-технические данные
Система счисления двоичная, количество разрядов ячейки памяти 36 (имеется возможность работы с 18-разрядными ячейками); диапазон представления чисел -1<x<+1;
Особенности ЭВМ
С ЭВМ “Урал-1” началось широкое внедрение ЭВМ на относительно небольших предприятиях, она стала “школьной партой” для многих и многих разработчиков, эксплуатационников и математиков-программистов.
Рис. . ЭВМ Урал-1
Следующие модификации Урал-1 преследовали цель расширения возможностей решения задач за счет расширенной комплектации внешними устройствами (Урал-2, Урал-3, Урал-4).
(Урнев Иван Васильевич)
1. Главный конструктор: д.т.н. Б. И. Рамеев, заместители главного конструктора В. И. Бурков, А. Н. Невский, Г. С. Смирнов, А. С. Горшков, В. И. Мухин, основные разработчики: Л. Н. Богословский, В. К. Елисеев, В. Г. Желнов, А. Г. Калмыков, М. Н. Князев, О. Ф. Лобов, А. И. Плетминцев, Ю. В. Пинигин и др.
2. Организация-разработчик: Пензенский НИИ управляющих вычислительных машин (НИИУВМ).
3. Завод-изготовитель: Пензенский завод вычислительных электронных машин (ВЭМ) Министерства радиопромышленности СССР.
4. Год окончания разработки: 1965.
5. Год начала выпуска: 1965.
6. Год прекращения выпуска: 1975.
7. Область применения: ЭЦВМ “Урал-11” решение широкого класса математических задач в вычислительных центрах НИИ, КБ и промышленных предприятиях.
8. Число выпущенных машин (серийность): 123 шт.
Описание машины
Машина “Урал-11” является первой из ряда машин, в который кроме нее входят машины“Урал-14” и “Урал-16”. Машины ряда “Урал” были построены на единой конструктивной, технологической и схемной базе, имели одни и те же устройства для ввода, вывода и хранения информации, использовали единые входной и выходной алфавит, кодировку информации на перфокартах, магнитных лентах и внутри машины.
ЭВМ “Урал-11” оперировала с числами с фиксированной и плавающей запятой, а также с алфавитно-цифровыми символами. Длина адресуемого слова составляла 24 двоичных разряда. Система команд одноадресная (так же, как и у остальных ЭВМ ряда). Система счисления двоичная и десятично-двоичная. Емкость оперативной памяти от 8192 до 16 384 24-разрядных слов.
В состав центрального блока ЭВМ входило устройство арифметическое и управления У-328, обеспечивавшее весь набор арифметических и логических операций над 24-разрядными словами. Оно производило до 50 000 коротких операций и 350 умножений в секунду. Для ускорения операций умножения и работы с десятично-двоичными числами использовались отдельные, конструктивно автономные устройства умножения (У-340) и суммирующие десятично-двоичные числа (У-342). Они повышали производительность операций умножения до 14 000 в секунду, а сложения и вычитания десятично-двоичных чисел до 5000 при 11-разрядных числах. Кроме того, было разработано арифметическое устройство для 48-разрядных чисел У-345. В зависимости от комплектации арифметическими устройствами, оперативной памятью и внешним оборудованием выпускались шесть модификаций “Урала-11”. Они комплектовались накопителями на магнитных барабанах и на магнитной ленте, перфоленточным и перфокарточным оборудованием, алфавитно-цифровым печатающим устройством.
Элементная база
ЭВМ “Урал-11” “Урал-16” построены на унифицированном комплексе логических элементов “Урал-10”. Он представляет собой набор полупроводниковых схемных элементов модульной конструкции. Имелось 5 типов основных и 10 типов специальных модулей (для накопителей и внешних устройств). Электронные схемы “Урал-11” на 90% состояли из двух типов основных диодно-транзисторных модулей, способных работать в диапазоне температур от -10 до 70°С. Модули размещались на ячейки, имеющие запаиваемый разъем.
Программное обеспечение.
Основной программой, организующей работу ЭВМ, являлась программа-диспетчер. Она обеспечивала ввод и вывод информации, организацию многопрограммной работы, защиту областей оперативной памяти, динамическое распределение оперативной памяти, а также внешней памяти на магнитных барабанах и лентах.
С машиной поставлялся автокод АРМУ (Автокод Ряда Машин Урал), который был единым автокодом ряда ЭВМ типа “Урал”. Он был составлен с учетом особенностей этих машин и обеспечивал полную совместимость от меньшей машины к большей. Каждая ЭВМ “Урал” имела собственный транслятор с языка АРМУ на свой машинный язык. Таким образом, совместимость ЭВМ типа “Урал” была ограниченной и существовала только на уровне автокода АРМУ.
Помимо тест-программ, библиотеки программ и программы отладки с языка АРМУ с машиной поставлялся транслятор с языка АЛГАМС на АРМУ.
Основные эксплуатационно-технические данные машины “Урал-11”
Особенности ЭВМ
“Урал-11” первая ЭВМ ряда “Урал”, выполненного на единой конструктивно-технологической базе “Урал-10”. В СССР это была первая попытка проектирования не отдельной ЭВМ, а сразу целого семейства совместимых ЭВМ. Главное внимание при этом уделено конструктивному и технологическому единству ЭВМ и их отдельных устройств.
Рис. ЭВМ Урал-11
“Урал-14” была средней ЭВМ ряда “Урал”, выполненного на единой конструктивно-технологической базе “Урал-10”.
“Урал-16” была старшей ЭВМ ряда “Урал”, выполненного на единой конструктивно-технологической базе “Урал-10. Несмотря на то, что большинство схемных, структурных и конструктивных решений были правильными и перспективными, машина “Урал-16” была сделана в единственном экземпляре. Анализа причин этого в литературе нет.
Примечание. По-видимому, запускался проект ЕС ЭВМ, и практически все "самодеятельные" разработки были указаниями сверху прекращены.
(В. К. Левин)
ЭВМ "Весна" разработана в Конструкторском бюро Госкомитета по радиоэлектронике (впоследствии КБ промышленной автоматики, а с 1978 г. НИИ "Квант" Минрадиопрома). Это первая отечественная высокопроизводительная полупроводниковая вычислительная машина общего назначения. Производительность до 300 тыс. операций в секунду.
Рис. ЭВМ "Весна"
Главный конструктор к.ф.-м.н. Полин В. С. (19081975), начальник КБПА; заместитель главного конструктора к.т.н. Левин В. К, гл. инженер КБПА; основные разработчики: Тройков А. С., Котов Ю. А., Файзулаев Б. Н., Осокин В. Н., Слепушкин В. А.; руководители от организаций-соисполнителей: проф. Шура-Бура М. Р. (ИПМ Академии наук), Виноградов В. Д. (НИИСчетмаш).
ЭВМ "Снег" (разрабатывалась как сокращенный вариант машины "Весна") в серийном производстве именовалась Специализированной полупроводниковой электронной машиной СПЭМ-50, -80. Производительность до 50 тыс. операций в секунду, в процессе заводского выпуска была повышена до 80 тыс.
Главный конструктор «Снега» Левин В. К., заместитель главного конструктора Рябов Е. В.
Госиспытания ЭВМ "Весна" (с решением реальных новых прикладных задач) проведены в 1964 г., председатель Госкомиссии акад. Дородницын А. А.; СПЭМ-50 принята в 1965 г.
Рис. . ЭВМ "Снег"
Машины выпускались Минским заводом до 1972 г. Выпущено 19 машин "Весна" и 20 машин "Снег". Их эксплуатация продолжалась до 1985 г.
Машины применялись для решения широкого круга сложных вычислительных задач, в больших информационно-поисковых системах, в сетях передачи данных.
Машины построены на единой элементной и конструктивно-технологической базе, с единой номенклатурой внешних устройств. Тактовая частота машин 5 МГц определялась появившимися в то время диффузионными транзисторами (П402, П403, впоследствии П406, П407).
Машины информационно-совместимы (идентичны по кодированию обрабатываемых данных): 48-битное слово представляло число с фиксированной или с плавающей запятой, либо восьмибуквенных символов (6-битные байты).
ЭВМ "Весна" имела центральный и периферийный процессоры (соответственно ЦВУ и КВУ).
ЦВУ работало с трехуровневой памятью:
Команды ЦВУ 48 бит, содержали по четыре адреса, из которых один ("длинный") относился к ферритовым памятям, остальные к малой (один из них модификатор "длинного" адреса). Имелся широкий набор арифметических операций (включая поддержку операций с двойной точностью), логических, символьных и управляющих операций. Совмещалась обработка до четырех команд. Имелся блок ускоренного умножения (работавший параллельно с основным АЛУ).
КВУ адресовалось только к большой памяти, обеспечивая управление обменом с внешними устройствами (одновременно с работой ЦВУ).
Оба процессора имели системы прерываний программ, необходимые для управления параллельной работой процессоров и внешних устройств (в мультипрограммном режиме); а также систему защиты памяти (управляемое разграничение доступа к памяти).
Аппаратура ЦВУ, КВУ и памяти размещена в 24 стойках, установленных в четыре ряда. В типовой стойке по шесть панелей, в разъемы которых вставлялось по 96 ТЭЗ (в виде плат с печатным монтажом и навесными компонентами); в нижней части стойки располагалось вторичное электропитание. Объем электронного оборудования - 80 тыс. транзисторов, 200 тыс. диодов.
Несмотря на аббревиатуру БЭСМ в названии, эта машина коренным образом отличается от своих предшественниц, как по системе команд, так и по "мощности".
Эта машина была выпущена в 1966 г. и пошла в серию 1967 г. Она была задумана как ЭВМ для расчетов в самых различных областях науки и техники для оснащения ею крупных вычислительных центров. Формально ее относили к ЭВМ 2-го поколения, так как ее элементная база выполнена на дискретных элементах. Но по всем прочим признакам: иерархической системе памяти с постоянной организацией; наличию виртуальной (математической) памяти; большому числу каналов, обслуживающих периферийные устройства и внешнюю память; наличию эффективных операций с плавающей запятой; наличие сверхбыстрого ЗУ, системы индексации команд, системы прерывания; наличию операционной системы и т.д. БЭСМ-6 являлось вычислительной системой 3-го поколения. В течение нескольких лет она была самой высокопроизводительной ЭВМ в Европе.
Появление БЭСМ-6 не было случайным, но и не являлось последовательным усовершенствованием и развитием предыдущей БЭСМ-4. ЭВМ с быстродействием в несколько сот тысяч операций в секунду над числами, представленными в формате с плавающей запятой, и оперативной памятью в десятки тысяч слов была остро необходима для научных и проектировочных расчетов в авиации, космонавтике, ядерной физике, сложных отраслях машиностроения и т.п.
Для этого было необходимо создать рывок в разработке и выпуске ЭВМ, улучшив как минимум сразу на порядок (!) значения основных параметров ЭВМ моделей БСЭМ-4 и М-222, выпускавшихся для научных расчетов у нас в стране. Причем требовалось сделать не уникальную ЭВМ в нескольких экземплярах, а создать технологичную в производстве и относительно не дорогую ЭВМ для оснащения ею больших ВЦ в институтах АН СССР и в промышленности. Именно такая задача и стояла перед коллективом С.А. Лебедева, и результатом ее успешного решения явилась ЭВМ БЭСМ-6.
1. Главный конструктор: Герой Социалистического Труда, академик С. А. Лебедев; заместители главного конструктора: В. А. Мельников, Л. Н. Королев, В. С. Петров, Л. А. Теплицкий; основные разработчики: А. А. Соколов, В. Н. Лаут, М. В. Тяпкин, В. Л. Ли, Л. А. Зак, В. И. Смирнов, А. С. Федоров, О. К. Щербаков, А. В. Аваев, В. Я. Алексеев, О. А. Большаков, В. Ф. Жиров, В. А. Жуковский, Ю. И. Митропольский, Ю. Н. Знаменский, В. С. Чехлов и др.; ведущие разработчики ПО: В. П. Иванников, А. Н. Томилин, Д. Б. Подшивалов, М. Г. Чайковский, В. Ф. Тюрин, Э. З. Любимский, В. С. Штаркман, Н. Н. Говорун, В. П. Шириков, И. Н. Силин, В. М. Курочкин, Ю. М. Баяковский и др.
2. Организации-разработчики: Институт точной механики и вычислительной техники (ИТМ и ВТ) АН СССР и Московский завод счетно-аналитических машин (САМ).
3. Завод-изготовитель: Московский завод счетно-аналитических машин (САМ).
4. Год окончания разработки: 1967.
5. Год начала серийного выпуска: 1968.
6. Год прекращения производства: 1987.
7. Число выпущенных машин: 355.
8. Область применения: универсальная ЭВМ для решения широкого класс задач науки и техники.
Описание машины
В структуре БЭСМ-6 впервые в отечественной практике и независимо от зарубежных ЭВМ (STRETCH фирмы IBM) был широко использован принцип совмещения выполнения команд (до 14 одноадресных машинных команд могли находиться на разных стадиях выполнения). Этот принцип, названный главным конструктором БЭСМ-6 академиком С. А. Лебедевым принципом "водопровода", стал впоследствии широко использоваться для повышения производительности универсальных ЭВМ, получив в современной терминологии название конвейера команд.
Работа модулей оперативной памяти, устройства управления и арифметико-логического устройства осуществлялась параллельно и асинхронно, благодаря наличию буферных устройств промежуточного хранения команд и данных. Для ускорения конвейерного выполнения команд в устройстве управления были предусмотрены отдельная регистровая память хранения индексов, отдельный модуль адресной арифметики, обеспечивающий быструю модификацию адресов с помощью индекс-регистров, включая режим стекового обращения.
Ассоциативная память на быстрых регистрах (типа cache) позволяла автоматически сохранять в ней наиболее часто используемые операнды и тем самым сократить число обращений к оперативной памяти. "Расслоение" оперативной памяти обеспечивало возможность одновременного обращения к разным ее модулям из разных устройств машины.
Рис. . Разработчики БЭСМ-6
Механизмы прерывания, защиты памяти, преобразования виртуальных адресов в физические и привилегированный режим работы для ОС позволили использовать БЭСМ-6 в мультипрограммном режиме и режиме разделения времени. В арифметико-логическом устройстве были реализованы ускоренные алгоритмы умножения и деления (умножение на четыре цифры множителя, вычисление четырех цифр частного за один такт синхронизации), а также сумматор без цепей сквозного переноса, представляющий результат операции в виде двухрядного кода (поразрядных сумм и переносов) и оперирующий с входным трехрядным кодом (новый операнд и двухрядный результат предыдущей операции).
ЭВМ БЭСМ-6 имела оперативную память на ферритовых сердечниках 32 Кб 50-разрядных слов, объем оперативной памяти увеличивался при последующих модификациях до 128 Кб.
Обмен данными с внешней памятью на магнитных барабанах (в дальнейшем и на магнитных дисках) и магнитных лентах осуществлялся параллельно по семи высокоскоростным каналам (прообраз будущих селекторных каналов). Работа с остальными периферийными устройствами (поэлементный ввод/вывод данных) осуществлялась программами-драйверами операционной системы при возникновении соответствующих прерываний от устройств.
Элементная база
Транзисторные переключатели тока и диодно-резисторная комбинаторная логика.
Программное обеспечение
Операционная система (было создано несколько операционных систем Д68, НД-70, ОС ИПМ, Диспак, ОС "Дубна", ОС "Феликс"), трансляторы с автокода и распространенных языков высокого уровня, а также ряда специализированных и экспериментальных языков. Широко использовалась многоязыковая мониторная система "Дубна". Были разработаны также разнообразные сервисные диалоговые программы, обеспечивающие выполнение прикладных программ в пакетном и диалоговом режимах.
Технико-эксплуатационные характеристики
Особенности машины
В БЭСМ-6 нашли отражение многие оригинальные решения, определившие перспективу дальнейшего развития ЭВМ общего назначения и обеспечившие длительный период производства и эксплуатации БЭСМ-6 в народном хозяйстве.
БЭСМ-6 имела оригинальную систему элементов с парафазной синхронизацией. Высокая тактовая частота элементов потребовала от разработчиков новых оригинальных конструктивных решений для сокращения длин соединений элементов и уменьшения паразитных емкостей.
Использование этих элементов в сочетании с оригинальными структурными решениями позволило обеспечить уровень производительности до 1 млн. операций в секунду при работе в 48-разрядном режиме с плавающей запятой, что является рекордным по отношению к сравнительно небольшому количеству полупроводниковых элементов и их быстродействию (около 60 тыс. транзисторов и 180 тыс. диодов и частоте 10 МГц ).
Архитектура БЭСМ-6 характеризуется оптимальным набором арифметических и логических операций, быстрой модификацией адресов с помощью индекс-регистров (включая режим стекового обращения ), механизмом расширения кода операций (экстракоды).
При создании БЭСМ-6 были заложены основные принципы системы автоматизации проектирования ЭВМ (САПР). Компактная запись схем машины формулами булевой алгебры явилась основой ее эксплуатационной и наладочной документации. Документация для монтажа выдавалась на завод в виде таблиц, полученных на инструментальной ЭВМ.
За разработку и организацию серийного производства БЭСМ-6 в 1969 г. была присуждена Государственная премия СССР: Лебедеву С. А., Мельникову В. А., Королёву Л. Н., Соколову А. А., Лауту В. Н., Тяпкину М. В., Заку Л. А., Смирнову В. И., Томилину А. Н., Семешкину В. И., Иванову В. А. Получены патент на ЭВМ БЭСМ-6, патенты на отдельные составляющие БЭСМ-6 и имеется большое количество публикаций. Несколько экземпляров БЭСМ-6 были установлены за рубежом.
Рис. . ЭВМ БЭСМ-6
Реализация асинхронности и параллельности в работе устройств (по-видимому, впервые в мире), наряду с быстродействием арифметического устройства обеспечили общую высокую производительность БЭСМ-6. Но для решения некоторых наиболее сложных задач ее оказалось недостаточно, и был разработан многомашинный вычислительный комплекс (ММВК), который получил название "Эльбрус".
1. Главный конструктор: Бурцев В. С.
Первый зам. главного конструктора: Рыжов В. И.
Зам. главного конструктора: Артюхов В. Ф., Бабаян Б. А., Бардиж В. В., Катков В. А., Лаут В. Н., Никитин Ю. В., Новиков А.А., Наумов И. И., Рябцев Ю. С., Сахин Ю. Х., Тяпкин М. В., Чунаев В. С., Хайлов И. К., Фильцев Э. Р.
2. Организация-разработчик: Институт точной механики и вычислительной техники (ИТМиВТ) АН СССР, ПО “Звезда” (Загорск), Московский завод САМ им. В. Д. Калмыкова, Пензенский завод ВЭМ.
3. Год окончания разработки: “Эльбрус-1” 1979, Эльбрус-2" 1984.
4. Год начала выпуска: “Эльбрус-1” 1980, “Эльбрус-2” 1985.
5. Область применения: двойного назначения.
Описание машины.
Модульный принцип построения МВК “Эльбрус” обеспечивает:
Аппаратные средства “Эльбрус” реализуют эффективное программирование на языках высокого уровня.
Элементная база
“Эльбрус-1” ТТЛ схемы средней интеграции (15 нс).
“Эльбрус-2” ЭКЛ схемы (2 нс) сборки мультичипов и микросхемы ИС-100.
Программное обеспечение
Автокод высокого уровня (ЭЛЬ-76), трансляторы со всех основных языков (Фортран, Алгол и т. д.).
В состав комплексов входят центральные процессоры (до 10) и предусмотрена возможность использования наряду с универсальными специализированных процессоров: СВС для реализации прикладных программ, написанных для ЭВМ БЭСМ-6, и БПФ для быстрого преобразования Фурье; оперативная память (до 32), процессоры ввода-вывода (до 4); процессоры приема-передачи данных (до 16); синхронизатор центральный; внешние запоминающие устройства; устройства ввода-вывода, обеспечивающие использование до 1016 внешних устройств и до 2560 линий связи.
Типовые комплектации
Однопроцессорная, двухпроцессорная, четырехпроцессорная и десятипроцессорная.
Производительность
Производительность “Эльбрус-1” до 15 млн. операций в секунду, “Эльбрус-2” до 125 млн. операций в секунду, емкость памяти “Эльбрус-1” до 1 Мслов, “Эльбрус-2” до 16 Мслов.
За создание “Эльбрус-2” удостоены: Ленинской премии Бабаян Б. А., Новиков А. А., Рябцев Ю. С., Сахин Ю. Х., Семенихин С. В.; Государственной премии Бурцев В. С., Гришаков Г. И., Гущин О. К., Галецкий, Горштейн В. С., Ким Г. С., Лакшин Г. Л., Лаут В. Н., Мальшин А. В., Назаров Л. Н., Определенов И. Н., Пырченков В. Н., Рябов Г. Г., Тяпкин М. В., Хайлов И. К., Чунаев В. С.
Многие разработчики награждены орденами и медалями
ММВК, являющийся развитием ЭВМ БЭСМ-6, представляет собой объединение с помощью параллельных высокоскоростных каналов основных универсальных процессов (в их число входят и ЭВМ БЭСМ-6), отдельных модулей оперативной памяти, специализированных периферийных машин, устройств связи с объектами по приему и передачи информации. “Картина” сети связи указанных устройств заложена в коммутаторах высокоскоростных каналов, что позволяет осуществлять асинхронную передачу между устройствами-абонентами информации, разделенной на слова, т.е. сообщения с указанием в этих сообщениях адресов абонентов получателей.
Включение в комплекс отдельных модулей оперативной памяти, доступной всем процессорам, позволяет иметь большой объем оперативной памяти, гибко распределяемой для задач, решаемых на различных основных процессах (время доступа к этим модулям памяти соизмеримо с временем обращения к обычному ОЗУ процессоров), выполнение программ периферийных машин, обменов данными внешними устройствами, подключенными к этим машинам. Периферийные машины комплекса осуществляют управление выполнением обменов с устройствами ВЗУ и ввода-вывода, освобождая от этих функций основные вычислительные процессы.
Использование периферийных машин, подключенных к общей сети взаимодействующих процессоров и общей оперативной памяти системы, позволяет устройства, подключенные к какой-либо периферийной машине, использовать в задачах, решаемых в разных основных процессорах. С другой стороны, наличие нескольких периферийных машин позволяет объединить подключенные к ним устройства для использования в задачах (или даже в одной задаче), решаемых в одном из основных процессоров системы.
Множество однородных машин с общей памятью, управляемых общей операционной системой, образует многопроцессорный вычислительный комплекс.
Взаимодействие локальных операционных систем машин многомашинного комплекса по распределению ресурсов и взаимодействие решаемых задач по передаче информации осуществляется по протоколам транспортного уровня локальной сети ЭВМ, что позволяет рассматривать многомашинной вспомогательный комплекс и как локальную сеть ЭВМ.
Рис. . Эльбрус-2
Е. Н. Филинов
Проблема разработки теории, принципов построения и применения управляющих машин была поставлена в СССР членом-корреспондентом АН СССР И. С. Бруком в 1957-1958 гг.
Главное отличие управляющих машин от универсальных электронных вычислительных машин состоит в особенности их связи с внешним миром (управляемым объектом). Исходные данные поступают в машину, минуя человека, непосредственно от измерительных приборов или других устройств, фиксирующих характерные параметры объекта, сигналы управления также выдаются машиной непосредственно на объект. Для этого в составе управляющей машины следует предусмотреть специальные устройства связи с объектом. Кроме того, управляющие машины должны обеспечить работу в реальном масштабе времени, что предъявляет специфические требования к их прикладному и системному программному обеспечению. А это, в свою очередь, предопределяет аппаратную архитектуру и структуру машины.
К управляющим машинам предъявляются более высокие требования по надежности, чем к вычислительным машинам. Даже повторение вычислений, позволяющее исключить ошибки при проведении расчетов на вычислительных машинах, как правило, невозможно в системах реального времени.
Для задач управления технологическими процессами и объектами в большинстве случаев достаточно точности вычислений порядка 0,1% (реже 0,01%), так как исходные данные измеряются все равно с определенной погрешностью. Поэтому представление данных может быть ограничено машинным словом длиной 15-32 двоичных разрядов, а не 32, 48, 64 разряда, как в универсальных ЭВМ.
Эти принципиальные отличия обусловили выделение управляющих машин в самостоятельный класс средств вычислительной техники наряду с классом универсальных ЭВМ, предназначенных для решения вычислительных задач и обработки данных. В англоязычной терминологии класс управляющих ЭВМ определен как control computers.
Универсальные ЭВМ разрабатывались и выпускались в СССР в шестидесятых-восьмидесятых годах предприятиями Минрадиопрома СССР, например серии ЭВМ “Минск”, “Урал”, ЕС ЭВМ.
Управляющие ЭВМ разрабатывались и выпускались предприятиями Минприбора СССР и других министерств, занимавшихся промышленной автоматизацией.
В автоматизированных системах управления технологическими процессами (АСУТП) управляющие машины и управляющие вычислительные комплексы (УВК) на их базе сопрягались с датчиками, регуляторами, исполнительными механизмами и другими средствами промышленной автоматики. Эти средства промышленной автоматики в СССР были объединены Государственной системой промышленных приборов и средств автоматизации (ГСП).
ГСП, созданная Минприбором СССР в шестидесятых-семидесятых годах, явилась основной технической базой для построения автоматизированных систем управления технологическими процессами (АСУТП) и производствами (АСУП) в различных отраслях промышленности. Системотехнические основы и принципы построения ГСП в виде унифицированных агрегатных комплексов формировались головными организациями по классам средств автоматики и вычислительной техники под руководством Технического управления Минприбора СССР, возглавляемого в разные годы Ю. Я. Базилевским, Г. И. Кавалеровым, М. С. Шкабардней, Н. И. Гореликовым.
Большой вклад в формирование научных основ идеологии ГСП был сделан академиком В. А. Трапезниковым и членом-корреспондентом АН СССР Б. С. Сотсковым.
Ниже представлены сведения об управляющих ЭВМ народно-хозяйственного назначения и УВК на их базе, созданных в СССР в 1960-1980 гг.:
УМ-1 (разработчик НИИ УВМ, Северодонецк);
УМ1-НХ (разработчик КБ2, Ленинград; изготовитель Ленинградский электромеханический завод, ЛЭМЗ);
“Днепр” (разработчик Институт кибернетики АН УССР, Киев; изготовители завод “Радиоприбор” и затем Киевский завод ВУМ);
М7 (разработчик ИНЭУМ; изготовитель Московский опытный завод “Энергоприбор”);
М-6000/М-7000 (разработчик НИИ УВМ, Северодонецк; изготовители Северодонецкий приборостроительный завод НПО “Импульс”, Киевский завод ВУМ, Тбилисский завод УВМ);
М-400 (разработчик ИНЭУМ, Москва; изготовитель Киевский завод ВУМ);
СМ1, СМ2, СМ 1210 (разработчик НИИ УВМ, Северодонецк; изготовители Северодонецкий приборостроительный завод НПО “Импульс”, ПО “Орловский завод УВМ им К. Н. Руднева);
СМ3, СМ4, СМ 1420 (разработчик ИНЭУМ, Москва; изготовители Киевский завод ВУМ, Московский опытный завод “Энергоприбор”);
СМ 1800 (СМ 1810, СМ 1814, СМ 1820, СМ 1820М) (разработчик ИНЭУМ, Москва; изготовители Киевский завод ВУМ, Тбилисский завод УВМ НПО “ЭЛВА”, Орловский завод УВМ им. К. Н. Руднева, Черновицкое ПО “Электронмаш”);
управляющие ЭВМ серии ВНИИЭМ (разработчик ВНИИЭМ, Москва).
http://www.computer-museum.ru/histussr/upravevm.htm
Первые компьютеры тридцатых и начала сороковых годов XX века в качестве элементарной базы использовали электромеханические реле. Электронные лампы, изобретенные в начале XX века, использовались в качестве элементов радиоприемных устройств.
Примечание. Существенный вклад в совершенствование электронных радиоламп внесла Нижегородская радиолаборатория, функционирующая с 1918-го по 1928-й год. (НРЛ-технопарк в оригинале. Нижний Новгород, из-во Ниж. гор. у-та, 2008.).
Во время второй мировой войны бурными темпами развивалась радиолокация, также использующая электронные лампы, которые постоянно совершенствовались. Как при радиоприеме, так и в радиолокации электронные лампы использовались в качестве усилителей непрерывного сигнала. Конструкторы компьютеров сообразили, что та же радиолампа может работать в режиме электронного реле, заменяя тем самым электромагнитное реле. Таким образом, первое поколение серийных компьютеров в качестве элементарной базы использовало логические элементы, реализованные на электронных лампах.
Электронная лампа (триод) реализована следующим образом. В стеклянном баллоне, из которого откачен воздух, располагаются электроды (Рис. 71.a). Катод, который нагревается нитью накала и вокруг которого (вследствие высокой температуры) образуется облако электронов. Когда на анод подается высокое положительное напряжение V, электроны, имеющие отрицательный заряд, устремляются к этому электроду. Поток электронов образует ток i, протекающий от катода к аноду. Напряжение выхода Vout = V(R1i). Величина катодно-анодного тока и, следовательно, величина выходного напряжения определяется величиной напряжения на сетке.
В режиме ожидания напряжение vin на входе равно нулю, напряжение на сетке v = v*, лампа приоткрыта, катодно-анодный ток i* небольшой и напряжение выхода Vout= V* = V+ (R1i*) (рис.71.b).
На время подачи на вход положительного импульса напряжения vin напряжение на сетке становится v = v1 >v* лампа открывается полностью, катодно-анодный ток i1 возрастает до максимума, и напряжение выхода Vout = V0 = V+(R1i1) = 0 (рис.71.b).
На время подачи на вход отрицательного импульса напряжения vin, v = v0 <v* лампа закрывается, катодно-анодный ток i0 = 0, и напряжение выхода Vout = V1 = V+ (рис.71.b).
Таким образом, ламповая электронная схема рис. 57.a играет роль вычислителя базисной логической функции отрицания: положительный импульс напряжения на входе (логическое значение "1") дает на выходе отрицательный импульс напряжения (логическое значение "0") и наоборот. В электронике такая схема называется "инвертор".
Рис. . Инвертор на электронной лампе (a) и на транзисторе (c)
Транзистор (от англ. transfer - переносить и resistor - сопротивление) это полупроводниковый прибор для усиления, генерирования и преобразования электрических колебаний. Транзистор делается на основе монокристаллического полупроводника, который содержит не менее трёх областей с различной проводимостью.
Датой создания транзистора считается 23 декабря 1947 года, когда в лаборатории Bell Telephone Laboratories был создан трехэлектродный полупроводниковый прибор. Его авторами являлись Джон Бардин (John Bardeen), Уолтер Бремен (Walter Brattain) и Уильям Брэдфорд Шокли (William Bredford Chockley).
Управление тока в выходной цепи осуществляется за счет изменения входного тока (в биполярном транзисторе), либо входного напряжения (в МОП транзисторе). Небольшое изменение входных величин может приводить к существенно большему изменению выходного напряжения и тока. Это усилительное свойство транзисторов используется в аналоговой технике (аналоговые ТВ, радио, связь и т. п.).
Физические законы функционирования транзисторов существенным образом отличаются от физических законов функционирования электронных ламп. Однако, инвертор, реализованный на электронной лампе (Рис. 71.a), с логической точки зрения эквивалентен инвертору, реализованному на транзисторе (Рис. 71.c). Эмиттер играет роль катода, коллектор анода, база играет роль сетки.
Напомним, что любую логическую функцию можно представить в виде суперпозиции трех базисных функций: отрицания, конъюнкции и дизъюнкции. Однако, в практике компьютеростроения, по чисто техническим причинам, предпочитают использовать другой набор базисных логических функций: НЕ (отрицание), НЕ-И (отрицание конъюнкции), НЕ-ИЛИ (отрицание дизъюнкции). Доказано, что с помощью этих трех базисных функций также можно представить любую логическую функцию. Транзисторные вычислители этих базисных функций принято называть "вентилями" (рис. 72).
Рис. . Транзисторный вентиль НЕ (a), вентиль НЕ-И (b), вентиль НЕ-ИЛИ (c)
Условные обозначения вентилей и таблицы истинности соответствующих функций приведены на рис. 73.
Рис. . Обозначение вентилей вычислителей базисных логических функций и соответствующие таблицы истинности
Соединения различных базисных элементов позволяют реализовать комбинационные схемы компьютера: мультиплексоры, декодеры, арифметические устройства и т.д.
Регистром называется техническая память, способная хранить n-разрядное двоичное слово. Для хранения одного разряда используется Двоичный Запоминающий Элемент (ДЗЭ), способный хранить один бит информации. ДЗЭ реализуется на базе электронного триггера, в ламповом или транзисторном исполнении. Различаются два вида триггеров: статический триггер и динамический триггер.
Вне зависимости от исполнения, статический триггер (рис. 74.a) состоит из двух вентилей НЕ-ИЛИ, имеет два входа и два выхода и может находиться в одном из двух устойчивых состояниях равновесия: состояние "1" (рис.74.a) и состояние "0" (рис. 74.b). В первом случае на вход S подается сигнал установки в состояние "1" (положительный импульс напряжения). Во втором случае на вход R подается сигнал установки в состояние "0" (положительный импульс напряжения). Статический триггер сохраняет состояние, в которое установил его последний пришедший на вход сигнал.
Таким образом, статический триггер являет собой ДЗЭ, способный хранить один бит информации. Носителем бита являются два транзистора, операция записи бита в ДЗЭ реализуется посредством подачи на один из входов сигнала установки (в "1" или "0"). Операция чтения определяет, в каком состоянии находится триггер ("1" или "0" на выходе Q). Имеется также инверсный выход Q'.
Рис. . Статический триггер в состоянии "1" (a) и в состоянии "0" (b)
Динамический триггер изображен на рис. 75.a.
Носителем бита в динамическом триггере является конденсатор C. Поступая на вход S импульс установки заряжает конденсатор до напряжения Uc триггер устанавливается в состояние "1" (рис. 75.a). По прекращению импульса установки, по закону экспоненты конденсатор разряжается, т.е. не может долго хранить это состояние. Однако на вход T схемы управления поступает постоянная последовательность импульсов регенерации. Схема управления устроена таким образом что, если триггер находится в состоянии "1", то каждый импульс регенерации подзаряжает конденсатор до напряжения Uc.
Рис. . Динамический триггер (A) и диаграммы его функционирования (b)
Когда на вход триггера R приходит сигнал сброса, конденсатор мгновенно разряжается триггер устанавливается в состояние "0" и схема управления прекращает регенерацию (рис. 75.b). Таким образом, когда динамический триггер находится в состоянии "1", на конденсаторе присутствует пилообразное напряжение, а на выходе Q последовательность импульсов напряжения.
Быстродействие триггера определяется как время, необходимое для перехода триггера из одного состояния в другое. Статический триггер является быстродействующим элементом памяти. Его основной недостаток способность самопроизвольно менять состояние под воздействием внешней среды (толчки напряжения питания, поток космических частиц и т.д.). Динамический триггер лишен этого недостатка. Но каждая палка о двух концах динамический триггер обладает меньшим быстродействием.
В силу того, что оперативная память компьютеров содержала огромное количество двоичных запоминающих элементов, ее реализация на триггерах (тем, более ламповых) была бы чрезвычайно дорогой. Конструкторы были озабочены создание оперативной памяти, цена бита в которой была бы более-менее приемлемой. Пытались использовать ртутные ультразвуковые линии задержки и электростатическую память на электронно-лучевых трубках, но такие решения оказались совершенно нетехнологичными и канули в лету.
В серийных компьютерах шестидесятых семидесятых годов использовалась оперативная память на магнитных сердечниках.
Идея создания “памяти на магнитных сердечниках принадлежит Джею Форрестеру
который в коне 40-х, в начале 50-х начал работать над тем, что впоследствии было названо “память на магнитных сердечниках”, или “ферритовая память”. Новая память работала достаточно быстро, была достаточно надёжной и цена бита была приемлемой.
Память на магнитных сердечниках (ферритовая память) состояла из крошечных металлических колец размером примерно с булавочную головку, через которые проходили провода, которые можно было намагничивать в любом направлении, придавая логическое значение 0 или 1. Память на магнитных сердечниках обладала множеством важных преимуществ, не последним из которых было то, что ей не требовался ток для сохранения содержимого (преимущество над современной памятью). Кроме того, она обеспечивала настоящий произвольный доступ, при котором доступ к любому участку памяти осуществлялся одинаково быстро. У прежних типов памяти такого не было
Феррит - это полупроводник, который обладает определенными магнитными свойствами. Производятся он из магнитного железняка с примесями магния и никеля. Достоинство его в том, что он может быстро намагничиваться и сохранять свое намагниченное состояние.
Феррит характеризуются тем, что петля гистерезиса - зависимость намагниченности B от напряженности внешнего магнитного поля H носит практически прямоугольный характер (рис. 76.a). Вследствие этого намагниченность B сердечника меняется скачками (состояние "0" или "1").
Рис. Бит памяти на магнитном сердечнике.
Принцип работы ДЗЭ на магнитном сердечнике иллюстрируется на рис. 76.b. Ферритовое кольцо "прошито" проводом записи и проводом чтения. Запись бита информации происходит следующим образом. Положительный импульс тока Imax на проводе записи создает положительную напряженность магнитного поля, в результате чего ферритовое кольцо переходит в состояние "1". Отрицательный импульс тока -Imax на проводе записи создает отрицательную напряженность магнитного поля, в результате чего ферритовое кольцо переходит в состояние "0". Существенно, что намагниченность - состояние ферритового кольца сохраняется после прекращения тока записи.
Чтение проверка состояния ферритового кольца, производится следующим образом. На провод записи подается отрицательный импульс тока -Imax. Если ферритовое кольцо находилось в состоянии "0" состояние не меняется, результат чтения "0". Если ферритовое кольцо находилось в состоянии "1" намагниченность B1 изменяется на намагниченность B0. Вследствие изменения намагниченности в проводе чтения возникает положительный импульс тока, результат чтения "1". Однако, при чтении "1", хранящаяся в ферритовом кольце информация разрушается. Для ее восстановления имеется цепь регенерации положительный импульс тока подается на провод записи, восстанавливая тем самым состояние "1" ферритового кольца.
Для хранения m различных n разрядных двоичных кодов создается матрица ферритовых колец размером mn, которая составляет основу оперативной памяти компьютера. Упрощенная схема реализации ДЗЭ (Рис. 76.b) усложняется из-за необходимости обеспечить произвольный доступ по адресу к любой строке матрицы для выполнения операций записи чтения n разрядного двоичного кода.
Память на ферритовых сердечниках работала медленно и неэффективно: ведь на перемагничивание сердечника требовалось время и затрачивалось много электрической энергии. Поэтому, с течением времени ферритовая память булла заменена полупроводниковой памятью (динамические триггера в интегральном исполнении)
До изобретения интегральной схемы 1959 каждый компонент электронной схемы изготавливался отдельно, а затем они соединялись посредством пайки. Появление ИС изменило всю технологию. Электронная аппаратура стала более дешевой, универсальной, малогабаритной, надежной и более быстродействующей, поскольку теперь электрическим импульсам приходится преодолевать меньшие расстояния. Наиболее сложные современные ИМС содержат до нескольких сотен тысяч компонентов.
Инженеры окрестили эти устройства интегральными микросхемами (ИМС), но чаще их называют чипами (chip - щепка).
Каждая современная микросхема представляет собой многослойное хитросплетение сотен схем, настолько крошечных, что их невозможно различить невооруженным глазом. В этих схемах есть и пассивные компоненты: резисторы, создающие сопротивление электрическому току, и конденсаторы, способные накапливать заряд. Однако самыми важными компонентами электронных схем являются транзисторы.
Многочисленные и разнообразные компоненты формируются непосредственно в кристалле кремния. При обычных условиях кремний не проводит ток. Но при внесении примесей - незначительного количества таких элементов, как бор или фосфор, свойства его кристаллической структуры меняются - и в кристалле теперь могут распространяться электрические импульсы со скоростью, равной половине скорости света.
Микросхемы изготавливают из единого кристалла, слой за слоем, используя метод фотолитографии и травления, настолько точный, что допуск не превышает 0,2 мкм. Благодаря этому сложному и тончайшему была создана совершено новая отрасль промышленности - микроэлектроника.
На рис. 77 изображен кристалл микросхема оперативной памяти.
Реальные размеры кристалла - это прямоугольник в левом нижнем углу. Данная микросхема памяти, содержащая более 600 тыс. транзисторов и других компонентов, имеет емкость 256 К. Каждый бит информации записан в отдельной ячейке памяти, состоящей из динамического триггера (конденсатор, хранящий данные в виде электрического заряда, и транзистора, который, переключаясь, позволяет записать/считать бит информации).
Весь массив из 272 144 ячеек памяти поделен на четыре равные прямоугольные секции. В каждой секции ячейки выстроены по строкам и столбцам. Благодаря такому расположению, подобному сетке на миллиметровой бумаге, каждая ячейка имеет свои координаты. Поиск ячейки с заданными координатами осуществляется специальными дешифрующими схемами, которые двумя полосами пересекают кристалл по горизонтали и вертикали. Когда центральный процессор компьютера сообщает адрес нужного байта, горизонтальные дешифраторы указывают нужный столбец, а вертикальные - строку. Вся операция определение ячейки по заданному адресу и выборка из нее байта данных - занимает менее миллионной доли секунды.
Рис. . Микросхема памяти и острие заточенного карандаша (внизу), сфотографированные с увеличением 14 раз. Прямоугольничек в левом нижнем углу соответствует истинным размерам кристалла.
Разработка микросхем требует высокой квалификации и большой затраты труда специалистов, использующих также специальные компьютеры. Поскольку схема изготавливается постепенно, слой за слоем, планирование ее ведется также по слоям. Обычно конструкторы рисуют главную карту каждого слоя с помощью компьютера, который хранит в памяти стандартные способы размещения компонентов и показывает возможные способы их соединения. Так как готовая микросхема имеет размеры порядка одного квадратного сантиметра, схемы рисуются с увеличением в десятки тысяч раз, а затем при фотографировании приводятся к истинным размерам. Затем карта каждого слоя переносится на стеклянную пластинку для изготовления фотомасок. Эти маски, подобно фотографическому негативу, дают возможность при помощи ультрафиолетового облучения «отпечатывать» карту на поверхности кристалла. Карта определяет области, где должно производиться химическое покрытие, добавление примесей или нанесение металлических проводящих дорожек шириной в несколько микрон.
При массовом производстве чипа карта каждого слоя размножается в сотнях экземпляров на одной стеклянной пластинке. Затем фотомаски каждого слоя накладываются на кремниевую пластину. Для проектирования простых интегральных микросхем (подобных четырехслойной микросхеме) небольшой группе инженеров обычно требуется несколько недель работы. Однако, чтобы создать ИМС сложной конструкции, состоящую из сотен тысяч электронных компонентов, большим коллективам специалистов приходится упорно трудиться на протяжении более года.
Рис. . Фотомаски интегральной схемы
Показанные на рис. 78 фотомаски предназначены для изготовления простой четырехслойной микросхемы. Через эти маски, накладываемые по очереди, ультрафиолетовое излучение создает на подложке четыре различных отпечатка. Они (начиная с нижней маски) используются для следующих целей: легирования кристалла примесями в целях создания зоны проводимости; образования слоя поликристаллического кремния, через который проходят сигналы; травления отверстий для металлических контактов; наконец, для заполнения этих отверстий металлом - образовавшиеся после его очистки металлические дорожки играют роль соединений.
Закон Мура эмпирическое наблюдение, сделанное в 1965 году (через шесть лет после изобретения интегральной схемы), в процессе подготовки выступления Гордоном Муром (одним из основателей Intel).
Мур высказал предположение, что число транзисторов на кристалле будет удваиваться каждые 24 месяца. При анализе графика роста производительности запоминающих микросхем им была обнаружена закономерность: появление новых моделей микросхем наблюдалось спустя примерно одинаковые периоды (1824 мес.) после предшественников, при этом количество транзисторов в них возрастало каждый раз приблизительно вдвое. Гордон Мур пришел к выводу, что при сохранении этой тенденции мощность вычислительных устройств за относительно короткий промежуток времени может вырасти экспоненциально. Это наблюдение получило название закон Мура.
Примечание. Если бы Боинг 747 прогрессировал с такой же скоростью, с какой прогрессирует твердотельная электроника, то он умещался бы в спичечном коробке и облетал бы без дозаправки земной шар 40 раз.
В своей фундаментальной основе, архитектура компьютера, впервые заявленная Чарльзом Бэббиджем и "вновь открытая" в конце сороковых годов XX века, практически не изменялась по настоящее время. (Можно назвать лишь несколько принципиальных усовершенствований, таких как система прерываний и мультипрограммный режим работы, микропрограммное управление и немногие другие). Существенно менялись на протяжении этого времени только инженерные решения и элементная база реализации компьютеров.
В ЭВМ нулевого поколения в качестве элементной базы использовались электромагнитные реле для реализации логических устройств преобразования сигналов, а также ртутные ультразвуковые линии задержки или электростатические электронные трубки для реализации элементов оперативной памяти. Каждая такая машина изготавливалась в единственном варианте и даже имела имя собственное (Mark-1, ENIAC и т.д.).
Первое поколение ЭВМ (1945-1954 гг.) Машины этого поколения работали на ламповой элементной базе, из-за чего поглощали огромное количество энергии и были очень не ненадежны. С их помощью, в основном, решались научные задачи. Программы для этих машин уже можно было составлять не на машинном языке, а на языке ассемблера.
Второе поколение ЭВМ (1955-1964 гг.). Смену поколений определило появление новой элементной базы: вместо громоздкой лампы в ЭВМ стали применяться миниатюрные транзисторы, линии задержки как элементы оперативной памяти сменила память на магнитных сердечниках. Это в конечном итоге привело к уменьшению габаритов, повышению надежности и производительности ЭВМ. В архитектуре ЭВМ появились индексные регистры и аппаратные средства для выполнения операций с плавающей точкой. Были разработаны команды для вызова подпрограмм.
Появились языки программирования высокого уровня - Algol, FORTRAN, COBOL, - создавшие предпосылки для появления переносимого программного обеспечения, не зависящего от типа ЭВМ. С появлением языков высокого уровня возникли компиляторы для них, библиотеки стандартных подпрограмм и другие хорошо знакомые нам сейчас вещи.
Важное новшество, которое хотелось бы отметить, - это появление так называемых процессоров ввода-вывода. Эти специализированные процессоры позволили освободить центральный процессор от управления вводом-выводом и осуществлять ввод-вывод с помощью специализированного устройства одновременно с процессом вычислений. На этом этапе резко расширился круг пользователей ЭВМ и возросла номенклатура решаемых задач. Для эффективного управления ресурсами машины стали использоваться операционные системы (ОС).
Третье поколение ЭВМ (1965-1970 гг.). Смена поколений вновь была обусловлена обновлением элементной базы: вместо транзисторов в различных узлах ЭВМ стали использоваться интегральные микросхемы различной степени интеграции. Микросхемы позволили разместить десятки элементов на пластине размером в несколько сантиметров. Это, в свою очередь, не только повысило производительность ЭВМ, но и снизило их габариты и стоимость. Появились сравнительно недорогие и малогабаритные машины - Мини-ЭВМ. Они активно использовались для управления различными технологическими производственными процессами в системах сбора и обработки информации.
Увеличение мощности ЭВМ сделало возможным одновременное выполнение нескольких программ на одной ЭВМ. Для этого нужно было научиться координировать между собой одновременно выполняемые действия, для чего были расширены функции операционной системы.
Одновременно с активными разработками в области аппаратных и архитектурных решений растет удельный вес разработок в области технологий программирования. В это время активно разрабатываются теоретические основы методов программирования, компиляции, баз данных, операционных систем и т. д. Создаются пакеты прикладных программ для самых различных областей жизнедеятельности человека.
Теперь уже становится непозволительной роскошью переписывать все программы с появлением каждого нового типа ЭВМ. Наблюдается тенденция к созданию семейств ЭВМ, то есть машины становятся совместимы снизу вверх на программно-аппаратном уровне. Первая из таких семейств была серия IBM System/360 и наш отечественный аналог этого компьютера - ЕС ЭВМ.
Четвертое поколение ЭВМ (1970-1984 гг.). Очередная смена элементной базы привела к смене поколений. В 70-е годы активно ведутся работы по созданию больших и сверхбольших интегральных схем (БИС и СБИС), которые позволили разместить на одном кристалле десятки тысяч элементов. Это повлекло дальнейшее существенное снижение размеров и стоимости ЭВМ.
http://chernykh.net/content/view/106/161/
Подробные сведения о поколениях ЭВМ смотри в Приложении ? и на сайте http://www.computer-museum.ru/calendar/7.htm
В 1964-м году фирма IBM начала разработку семейства компьютеров IBM-360 (System/360). В отличие от предыдущих разработок, IBM создала ряд компьютеров, от малых к большим, от низкой к высокой производительности. Все модели использовали один и тот же набор команд, что обеспечивало программную совместимость между различными моделями. Точнее, программы, работающие на младшей модели, должны работать на всех старших моделях. Наоборот не обязательно. Эта особенность позволяла заказчику использовать недорогую модель, после чего обновиться до более крупной системы, с ростом компании без необходимости переписывать программное обеспечение.
Для обеспечения совместимости, IBM впервые применила технологию микроуправления, которая применялся во всех моделях ряда, кроме самых старших. Существо этой технологии состоит в следующем. Команда компьютера представлялась как последовательность микропрограмм, хранящихся в особом запоминающем устройстве. Микропрограмма, в свою очередь, состояла из совокупности микрокоманд, выполняемых процессором микропрограммного управления. Таким образом, обеспечивалось разграничение системы команд компьютера от технической реализации компьютера.
До объявления IBM-360 практически все компьютеры (как зарубежные, так и отечественные) разрабатывались для решения научных и инженерных задач, т.е. в, конечном итоге, для вычисления математических функций. Фирма IBM проектировала свою машину для решения экономических задач, что существенным образом определило ее архитектуру, не говоря уж о системном программном обеспечении.
В то время существовала классификация прикладных задач в соответствии со спецификой их проблемной области. Научные и инженерные задачи (решение уравнений) требовали больших затрат машинного времени на свое решение, а объем вводимой и выводимой информации был относительно небольшой. Альтернативой служили, так называемые, экономические задачи (обработка самых разнообразных таблиц), которые требовали больших объемов ввода-вывода, а затраты на их решение были относительно небольшие.
Примечание. Ориентация на научные расчеты отчетливо просматривается в архитектуре самого мощного отечественного компьютера БЭСМ-6, который имел сверхбыстродействующий центр (1миллион операций в секунду) и слабо развитую периферию ввода-вывода.
Назовем некоторые новаторские решения в системе IBN-360, которые определили ее в качестве своеобразного "законодателя мод" в компьютеростроении.
Байт (8 бит), как минимальная адресуемая ячейка оперативной памяти.
Байтовая структура оперативной памяти.
Каналы ввода-вывода, работающие параллельно с центральным процессором.
Последовательные файлы, хранящиеся на магнитных лентопротяжных устройствах. Реализация возможности работы с таблицами большого и сверхбольшого объема.
Операционная система нового типа, которая настраивается на работу с заданной конфигурацией оборудования.
Охарактеризуем кратко эти новаторские решения. Размер байта в 8 бит определился в результате "волевого" решения при ответе на вопрос: "Какую ячейку выделять для хранения одного символа?" Восьмиразрядный байт имеет 28 различных состояний, т.е. способен хранить 256 различных символов. В дальнейшем выяснилось, что хранение символов (с учетом языка, шрифта и т.д.) требует гораздо больше памяти, но размер байта в 8 двоичных разрядов, по-видимому, остался навсегда.
На самом деле каждый байт памяти имеет еще девятый бит (бит четности), скрытый от пользователя. Он используется для контроля правильности работы ячейки памяти. При записи двоичного кода в байт памяти считается контрольная сумма этого кода (сумма по модулю 2 восьми разрядов двоичного кода), которая записывается в бит четности. Таким образом, контрольная сумма кодового слова (девяти битов) всегда четная.
Пример. Число 10111101 содержит 6 '1' битов. Бит чётности будет 0, получаем кодовое слово 101111010.
Число 01110011 содержит 5 '1' битов. Бит чётности будет 1, получаем кодовое слово 011100111.
Число 00000000 не содержит '1' битов. Бит чётности будет 0, получаем кодовое слово 000000000.
При чтении из байта, вычисляется контрольная сумма его кодового слова байта. В случае четности кодового слова считается, что из байта читается то, что в нем было записано. Эта методика "засекает" сбой при чтении-записи в одном разряде. Вероятность сбоя, в двух разрядах одновременно, неизмеримо мала, и ей пренебрегают.
Байтовая структура памяти явилась следствием ориентации компьютера на обработку символьной информации. Такое решение создало проблему представления числовой информации. Для представления числа пришлось выделять несколько байт, что снижало быстродействие компьютера при решении математических задач. (Для вызова числа в арифметическое устройство требовалось выполнение несколько циклов обращения к оперативной памяти).
Мультиплексные и селекторные каналы являются по сути дела, специализированными машинами ввода вывода, которые работают параллельно с центральным вычислителем и не загружают его работой по вводу выводу данных (рис.79).
Рис. . Архитектура IBM-360
Различаются два типа каналов: селекторный и мультиплексный. Селекторный канал реализует обмен данными под управлением центрального процессора между основной памятью и высокоскоростными устройствами ввода-вывода, например, накопителями на дисках. С селекторным каналом в каждый момент времени может взаимодействовать одно устройство. Мультиплексный канал осуществляет одновременный обмен данными с несколькими низкоскоростными устройствами ввода-вывода, например, с устройствами ввода с перфокарт и вывода на буквопечатающее устройство. Мультиплексирование осуществляется за счет разделения времени работы канала между несколькими устройствами.
Так как к каналу может подключаться несколько контроллеров, а к каждому контроллеру несколько устройств ввода-вывода, общее число таких устройств может варьироваться и быть достаточно большим.
Последовательные файлы ориентированы на хранение таблиц большой размерности на внешних накопителях. Таблица определяется как структура данных, состоящая из произвольного числа строк. Число столбцов таблицы фиксировано, каждый столбец идентифицируется уникальным именем и для каждого столбца тип данных. Таким образом, на пересечении строки и столбца находится поле строки, которое идентифицируется именем столбца. Тип данных всех полей одного столбца одинаков и определяется типом столбца.
Таким образом, все строки таблицы имеют единый формат, т.е. состоят из одинакового количества полей. Значение (содержимое) первого поля каждой строки однозначно идентифицирует эту строку и называется ключом строки. Например, табельный номер в таблице зарплат организации является ключом строки записи о работнике. Множество ключей первого столбца образуют множество, а сам столбец носит название ключевого столбца K (рис. 80).
Рис. . Таблица и последовательный файл
Последовательный файл размещается на магнитной ленте. Каждая строка таблицы образует запись последовательного файла, которая заканчивается меткой конца строки end. Последовательность записей представляет все строки таблицы и заканчивается меткой конца файла endf (рис.80). Несмотря на то, что первое поле каждой записи, по сути дела, является именем этой записи, прямой доступ по имени к записям файла не реализован.
Вводится понятие и реализация указателя текущей записи. Последовательный доступ к конкретной записи файла осуществляется посредством следующих основных команд управления последовательным файлом:
установить указатель текущей записи на первую запись;
сделать текущей записью следующую запись;
скопировать текущую запись в рабочую область оперативной памяти.
поместить новую запись в конец файла.
Доступ к нужной записи с ключом осуществляется следующим образом: записи последовательно копируются в рабочую область оперативной памяти до тех пор, пока в этой области не появится запись с ключом . Естественно, ни о какой равнодоступности в случае последовательного файла не может быть и речи.
Операционная система IBM/360 с внешней точки зрения являет собой библиотеку программных модулей, из которых может быть собран тот или иной вариант операционной системы. С целью экономии оперативной памяти, постоянно работающие модули системы (супервизоры) помещаются в оперативной памяти и образуют ядро операционной системы. Остальные модули располагаются на внешних накопителях и вызываются в оперативную память по мере необходимости. Задание на генерацию системы описывает реальную конфигурацию оборудования и системных программ для управления которыми создается операционная система. После выполнения программы генерации создается индивидуальная операционная система, точнее ее ядро и заказанный набор трансляторов и сервисных программ.
Рис. . IBM-360
К концу шестидесятых годов XX века компьютеры в Советском Союзе использовались не только для решения "милитаристских" задач, но стали проникать во все сферы народно-хозяйственной деятельности. В частности, в руководстве страны возникло понимание неэффективности функционирования Госплана, управляющего страной в "ручном режиме" посредством изготовления и пересылки огромного количества бумажных документов.
Выдающийся советский ученый академик Виктор Михайлович Глушков сформулировал концепцию автоматизированных систем управления (АСУ) народным хозяйством в виде иерархии от АСУ технологических процессов (АСУ ТП) до общегосударственной АСУ управления народным хозяйством (АСУ ОГАС). Также В.М. Глушков разрабатывает идею безбумажной информатики. «Основы безбумажной информатики» именно так называлась его последняя монография, вышедшая в свет в 1982 г. В этой книге были описаны математический аппарат и комплекс идей, относящихся к проблемам информатизации. В.М. Глушков и его сподвижники готовили общественность к восприятию идей информатизации, без чего невозможен прогресс к постиндустриальному обществу.
Однако, идеи В.М. Глушкова и других советских ученых апологетов информатизации общества, требовали в качестве технического обеспечения цифровых вычислительных машин нового поколения.
Если компьютерная техника Советского Союза конца шестидесятых годов XX века по некоторым параметрам могла еще соревноваться с аналогичной зарубежной техникой, но существовало прогрессирующее отставание программного обеспечения. И этому отставанию были две основные причины.
Различные серийно выпускаемые типы вычислительных машин не были программно-совместимы, т.е. не было возможности создать общий фонд программного обеспечения.
Но была еще одна причина, которая не очень охотно обсуждается публично. Дело в том, что в первые десятилетия компьютеризации программирование не считалось наукой. Защитить кандидатскую диссертацию по хорошей и нужной программе было практически невозможно. Считалось, что в диссертации должны быть формулы, теоремы и аксиомы, а программирование это вспомогательная деятельность на уровне машинописи и стенографии. Как следствие, творческие люди шли в физику, химию, кибернетику, а научным программированием занимались фанаты, которых к счастью было немалое количество.
В конце шестидесятых годов уже было осознано, что основную ценность компьютерной системы (процентов восемьдесят) составляют программы. И чтобы за короткое время отечественная компьютеризация могла догнать западную (в основном, американскую) компьютеризацию на правительственном уровне была выдвинута такая идея: скопировать технику американской IBM/360, и тем самым догнать за пять лет Соединенные Штаты по программному обеспечению. Речь идет о создании семейства отечественных компьютеров "РЯД", более известных как семейство "ЕС ЭВМ".
Однако, на предоставление технической документации по этой системе, тем более на поставку программного обеспечения, Сенатом США было наложено эмбарго. Тем не менее, по каким то каналам и то и другое было приобретено, и работа закипела.
Практически все собственные разработки в направлении технического и математического обеспечения компьютеров были прекращены. Только академику Лебедеву удалось настоять на продолжении работ по многомашинному комплексу "Эльбрус". Остальные компьютерщики должны были создавать машины, работающие как IBM/360 и расшифровывать коды операционных систем DOS и OS, добиваясь их нормальной работы на отечественных машинах серии ЕС ЭВМ.
Положительные и отрицательные стороны программы ЕС ЭВМ представлены в двух следующих публикациях.
(В.В. Пржиялковский)
Создание семейства совместимых ЭВМ общего назначения третьего поколения практически началась в СССР в 1968 г., хотя подготовка, обсуждение основных концепций, разработка аванпроекта велись нарастающими темпами в течение 1966 и 1967 гг. К этому периоду в СССР наблюдался довольно бурный рост выпуска ЭВМ второго поколения. В складывающейся отрасли средств вычислительной техники (ВТ) разработкой ЭВМ, их элементов, внешних накопителей, устройств ввода-вывода полностью или частично занимались 26 НИИ и СКБ, выпуск средств ВТ осуществляли более тридцати заводов. Основная часть этих предприятий была сосредоточена в Главном управлении вычислительной техники Министерства радиопромышленности (МРП) СССР, руководил которым М.К. Сулим, затем Н. В. Горшков.
Выпускались или готовились к выпуску БЭСМ-6, “Весна”, БЭСМ-3, БЭСМ-4, М-220, “Урал-11”, “Урал-14”,“Минск-22", “Минск-23”, “Минск-32”, “Раздан-2”, “Наири”, “Днепр”. Существовавшая несовместимость ЭВМ, различных типов накопителей и устройств ввода-вывода, выпускавшихся разными заводами, серьезно затрудняла развитие автоматизированных систем обработки информации различного масштаба. В этот период в Госкомитете по науке и технике (ГКНТ) изучалась возможность организации общегосударственной сети вычислительных центров страны (ЕГСВЦ). Академик А.П. Ершов продвигал проект АИСТ (создание сети автоматизированных информационных станций). Началось проектирование и внедрение АСУ крупных предприятий и отраслевых информационных систем. В этих условиях нарастала необходимость серьезной стандартизации средств ВТ, программного обеспечения (ПО), кодов, протоколов, интерфейсов.
Объявление в 1964 г. фирмой IBM концепции системы IBM-360 и начало поставок в 1965 г. первых машин, имеющих единую архитектуру и различную производительность, наглядно продемонстрировало, что создание полностью совместимых систем ЭВМ возможно в широком диапазоне производительности. В СССР единственной попыткой выпуска ряда машин различной производительности, имеющих близкую (но не единую) архитектуру и конструктивно-технологическую базу, была серия “Урал”-11,14,16. Но она имела существенные ограничения как по производительности старшей модели (100 тыс. операций в секунду), так и по степени совместимости моделей. Нужна была новая разработка на микроэлектронной базе.
В 1966 г. в народнохозяйственном плане появилось задание МРП разработать аванпроект по опытно конструкторской работе “Ряд”. Задание, сформулированное начальником Главного управления по вычислительной технике МРП М. К. Сулимом, предписывало в течение 1966 и 1967 гг. представить аванпроект “комплекса типовых, высоконадежных информационных вычислительных машин с диапазоном по производительности от 10 тыс. до 1 млн. операций в секунду, построенных на единой структурной и микроэлектронной технологической базе и совместимых системах программирования для вычислительных центров и автоматизированных систем обработки информации”.
Первоначально разработка аванпроекта ряда совместимых ЭВМ была поручена Институту точной механики и вычислительной техники (ИТМ и ВТ). Отчет, представленный институтом в середине 1966 г., не удовлетворил министерство, поскольку показал отсутствие интереса авторов отчета к созданию такого ряда машин в СССР. ИТМ и ВТ, так же как и Пензенский институт математических машин, были в это время заняты собственными проблемами, чем и объясняется их не очень активная позиция в обсуждении плана дальнейшего развития ВТ в стране, так как свое место в этом развитии они видели в рамках тех работ, которые вели в предыдущие годы.
Наибольшую активность в обсуждении проблем совместимых ЭВМ проявляли Институт прикладной математики (ИПМ) АН СССР, Конструкторское бюро промышленной автоматики ( КБПА), НИИсчетмаш и СКБ Минского завода им. Г. К. Орджоникидзе. В результате МРП приказом от 22.02.1967 г. руководство разработкой аванпроекта поручило КБПА, известному созданием высокопроизводительных машин “Весна” и “Снег”. Функции головной организации по математическим вопросам разработки “Ряда” выполнял ИПМ АН СССР (М. Р. Шура-Бура, В. С. Штаркман).
Если материалы по устройствам ввода-вывода и внешним накопителям, представленные НИИСЧЕТМАШЕМ и Пензенским НИИВТ оставались практически вне дискуссий, то логическая структура процессоров, коды, система команд, связь с внешними устройствами, все то, что после появления IBM-360 стали называть “архитектурой” ЭВМ, дискутировались основательно. В целом общественное мнение, в том числе мнение ответственного разработчика, склонялось к тому, что нужно взять за основу архитектуру IBM-360. Архитектура ЭВМ не патентуется, патентуется только ее конкретное исполнение, все “новинки” архитектуры IBM-360 не новы, известны отечественным разработчикам и в каком-то виде реализованы в отечественных ЭВМ, кроме восьмибитного байта.
Восьмибитный байт был главнейшим отличием архитектуры IBM 360, эффективно работать с ним не могла ни одна отечественная ЭВМ. Не принять его для машин “Ряда” означало крайне затруднить информационную совместимость с западными ЭВМ, что даже в условиях “железного занавеса” считалось нежелательным.
Проведенные в ИПМ АН СССР исследования показали, что программы, составленные для IBM-360, требуют в 1,5-3 раза меньшего объема памяти, чем программы БЭСМ-6, “Весна”, М-20.
Дискуссия в основном сводилась к вопросу о том, возможна ли реализация архитектуры IBM-360 в условиях жесткого эмбарго, ибо если она без документации и образцов невозможна, то не стоит тратить силы на ее точное воспроизведение и ее нужно “улучшить”.
Конец этой дискуссии положило решение комиссии по Вычислительной Техники АН СССР и Государственного комитета по науке и технике от 27 января 1967 г. под председательством академика А. А. Дородницына, которым было предложено принять для “Ряда” архитектуру IBM-360 “с целью возможного использования того задела программ, который можно полагать имеющимся для системы 360”. Это решение было принято практически при поддержке присутствующих представителей организаций, которым предстояло работать по программе “Ряд”. Альтернативного предложения на этой комиссии никто не выдвигал.
В первой половине 1967 г. коллективом КБПА во главе с В.К. Левиным был представлен “Аванпроект комплекса типовых информационно-вычислительных машин (ОКР «Ряд»)”. В нем предлагалась разработка по архитектуре IBM-360 четырех полностью совместимых моделей Р-20, Р-100, Р-500 и Р-2000 производительностью 10-20, 100, 500 и 2000 тыс. операций в секунду. При этом производительность предлагалось определять по принятой на западе методике на смеси команд Gibson-3, при которой производительность Р-500 была на уровне производительности БЭСМ-6.
Во второй половине 1967 г. под руководством МРП (М. К. Сулим) прошло обсуждение аванпроекта, определение организаций-исполнителей работ, подготовка постановления ЦК КПСС и Совета Министров СССР по дальнейшему развитию ВТ. Этим постановлением, вышедшим 30 декабря 1967 г., разработка Р-20 поручалась Проектному бюро Минского завода им. Г. К. Орджоникидзе, Р-100 Ереванскому НИИ математических машин, Р-500 и Р-2000 вновь создаваемому Научно-исследовательскому центру электронной вычислительной техники (НИЦЭВТ). Для становления нового института из КБПА в него переводился коллектив разработчиков аванпроекта во главе с В. К. Левиным, занявшим должность заместителя директора НИЦЭВТ по научной работе.
С начала 1968 г. развернулось проектирование машин во всех организациях, в том числе и в НИЦЭВТ. В начале декабря 1968 г. в НИЦЭВТ был влит Научно-исследовательский институт электронных машин (НИЭМ), директор которого С.А. Крутовских стал директором НИЦЭВТа и был назначен Генеральным конструктором создаваемой системы ЭВМ, а В. К. Левин назначен его заместителем. Это решение позволило быстро сформировать все необходимую инфраструктуру нового института и укомплектовать руководство разработкой.
С начала 1968 г. к исследованиям, ведущимся в СССР по унифицированному ряду ЭВМ, стали проявлять интерес научные и промышленные организации стран социалистического содружества Болгарии, Венгрии, ГДР, Польши, Чехословакии. Изучалась возможность и целесообразность объединения усилий в развитии средств ВТ. Особую активность в интеграционном процессе проявлял заместитель председателя правительства НРБ профессор Иван Попов. После длительных консультаций, совещаний и согласований в начале 1969 г. было подписано многостороннее соглашение о сотрудничестве в области создания, производства и применения средств вычислительной техники. В Межправительственном постановлении была поставлена задача разработать Единую Систему ЭВМ стран социалистического содружества (ЕС ЭВМ).
Этим постановлением была образована Межправительственная комиссия по вычислительной технике (МПК по ВТ) на уровне министров, возглавляемая постоянным председателем заместителем председателя Госплана СССР. Рабочими органами комиссии стали Экономический совет и Совет главных конструкторов (СГК), во главе с Генеральным конструктором от СССР. Работы по созданию отечественного унифицированного ряда ЭВМ трансформировались в международную программу создания Единой системы ЭВМ стран социалистического содружества.
Постоянными председателями МПК по ВТ были заместители председателя Госплана СССР М. Е. Раковский, Я. П. Рябов, Ю. Д. Маслюков, генеральными конструкторами ЕС ЭВМ С. А. Крутовских, (1968-1969 гг.), А.М. Ларионов (1970-1977 гг.), В.В. Пржиялковский (1977-1990 гг.), одновременно являвшиеся директорами НИЦЭВТ.
Всю вторую половину 1968 г. происходили интенсивные консультации и совещания специалистов стран по распределению обязанностей между странами и выработке общей технической политики. Каждая страна к началу осуществления проекта имела свой задел и свои стратегические планы. СГК интенсивно искал пути сближения технических позиций стран, вырабатывал общую концепцию развития ВТ. Целесообразность принятия архитектуры IBM-360 признавалась большинством стран. Разногласия заключались в том, что венгерские представители предлагали включить в общую программу свой задел по машине с архитектурой “Митра-15”, а чехословацкие представители настаивали на принятии привилегированных команд машин System-4 и Siemens 4004. В результате было принято компромиссное решение, заключавшийся в том, что в состав ЕС ЭВМ были включены ЭВМ ЕС-1010 (Венгрия) и ЕС-1020А (Чехословакия), не совместимые с остальными моделями ЕС ЭВМ. Помимо этого в плане НИОКР появились направления, дублирующие друг друга в разных странах.
В надежде на большие закупки со стороны СССР некоторые страны спешили сделать заявки в общий план работ. В Болгарии, например, строились 14 заводов для производства внешних накопителей, устройств подготовки данных, ЭВМ и узлов к ним.
На первой сессии Совета главных конструкторов 7-9 января 1969 г. были утверждены все основополагающие решения, обсуждавшиеся во второй половине 1968 г. специалистами, в том числе и по архитектуре новой системы ЭВМ, в качестве которой принята архитектура IBM-360.
Другим важным решением, принятым на первой сессии, было решение о контроле разработки военной приемкой Министерства обороны СССР и о единой документации, согласованной с Министерством обороны для всех отечественных ЭВМ Единой системы. Против этого возражали представители Венгрии и Чехословакии, а также некоторые отечественные организации, например Минский филиал НИЦЭВТ. Тем не менее это уникальное решение было принято. Серьезного анализа его последствий нет до сих пор. Были и положительные последствия (повышение надежности, полная гарантия совместимости военных и гражданских образцов), но отрицательные утяжеление конструкции, усложнение испытаний, удлинение сроков разработки и существенное увеличение стоимости, по мнению автора, преобладали. В дальнейшем выяснилось, что поставки ЭВМ Министерству обороны не превышают 20%, что означало существенное удорожание остальных 80% выпускаемых машин, поставляемых гражданским пользователям.
В апреле 1969 г. на второй сессии Совета главных конструкторов были утверждены технические требования на ЕС ЭВМ-1 (“Ряд-1”), а в июле, на третьей сессии, утвержден “Сводный график работ по ЕС ЭВМ”. График предусматривал создание семи ЭВМ и 60 типов периферийного оборудования по единым ТЗ и стандартам.
М. Е. Раковский, заместитель председателя Госплана CCCР и председатель МПК по ВТ, отметил в печати, что впервые в истории стран социалистического содружества началась реализация общего проекта, в котором принимали участие 20 тыс. ученых и конструкторов, 300 тыс. рабочих и техников на 70 заводах.
На четвертой сессии Совета главных конструкторов в декабре 1969 г. был рассмотрен технический проект ЕС ЭВМ, взятый за основу для дальнейшего проектирования. Модели Р-20, Р-100, Р-500 и Р-2000 трансформировались в этом проекте в ЕС-1020 (Р-20), ЕС-1030 (Р-30), ЕС-1050 (Р-50) и ЕС 1060 (Р-60). В дальнейшем в связи с недостаточными материальными и людскими ресурсами отечественная программа ЕС ЭВМ-1 ограничилась первыми тремя моделями, а ЕС-1060 перешла во вторую очередь (ЕС ЭВМ-2).
В августе-сентябре 1969 г. при приемке отечественной части технического проекта ЕС ЭВМ Государственной комиссией под председательством академика А. А. Дородницына, заместитель Генерального конструктора ЕС ЭВМ Б. И. Рамеев, ответственный за создание ПО, фактически поставил вопрос о переориентации ЕС ЭВМ с архитектуры IBM-360 на архитектуру системы Speсtra-70, точнее “Системы-4” и “Сименс-4004”, выпускавшихся фирмами ICL и Siemens по лицензии американской компании RCA. В качестве аргументов в пользу такой переориентации выдвигались наличие в СССР образцов этих машин, более доступная технология их изготовления и обещания фирм всячески способствовать их освоению в СССР.
Б. И. Рамеева поддержал заместитель Министра радиопромышленности М.К. Сулим. Против решительно выступили ИПМ (М. Р. Шура-Бура, В. С. Штаркман,) ИНЭУМ (Б. Н. Наумов), а также Минский филиал НИЦЭВТ (В. В. Пржиялковский), НИИсчетмаш (В. Б. Ушаков) и Генеральный конструктор С. А. Крутовских. Ереванский НИИММ не возражал против переориентации, но предупреждал о неизбежности переноса сроков окончания работ. Противники переориентации аргументировали свою позицию тем, что уже имеется задел, что система IBM-360 больше проработана и распространена (де-факто мировой стандарт архитектуры), она имеет существенно более развитое математическое обеспечение (в том числе и прикладное) и что получение этого обеспечения возможно даже в условиях эмбарго.
Срочную необходимость поправить положение в стране с математическим обеспечением настойчиво подчеркивал председатель комиссии по вычислительной техники АН СССР и ГКНТ академик А. А. Дородницын в своем докладе коллегии ГКНТ в сентябре1969 г. Он утверждал, что по “содержательной части математического обеспечения (МО) мы стоим на уровне, примерно 1960 г. по сравнению с США. У нас организованно ведется лишь разработка внутреннего МО и некоторого минимального перечня стандартных программ и почти совсем не ведутся работы по типовым программам для комплексной обработки информации для предприятий, ведомств и других организаций”. Этот доклад, отражавший действительное положение дел с МО в стране, резко контрастировал с заявлениями некоторых популярных деятелей науки о превосходстве советской программистской школы над западной.
В декабре 1969 г. министр радиопромышленности В. Д. Калмыков, всесторонне рассмотрев проблему в присутствии М. В. Келдыша, М. Е. Раковского, А. А. Дородницына, С. А. Лебедева, М. Р. Шуры-Буры, С. А. Крутовских и др., принял решение продолжать работы по ранее согласованному направлению, т. е. по архитектуре IBM-360. После этого Б. И. Рамеев перешел на работу в Государственный комитет по науке и технике, а М. К. Сулим занял пост директора НИИсчетмаш.
В 1970 г. были проведены совместные (межгосударственные) испытания первых девяти устройств ЕС ЭВМ, а в 1971 г. прошла совместные испытания первая машина Единой системы отечественная ЭВМ ЕС-1020, разработанная Минским НИИЭВМ. В том же году прошли совместные испытания 20 типов периферийного оборудования, в том числе первые в странах содружества накопители на сменных магнитных дисках (НРБ и СССР) и магнитных лентах (НРБ, СССР, ГДР), полностью совместимые с зарубежными аналогами.
Информационная и программная совместимость с наиболее распространенными в мире ЭВМ, являвшимися де-факто мировыми стандартами была достигнута в трудных условиях отсутствия документации и работающих образцов машин IBM-360.
Ниже приведены краткие характеристики машин первой очереди ЕС ЭВМ, совместимых с IBM-360. Они не совпадают с моделями IBM-360 по основным рабочим характеристикам и, конечно, по конкретной логической структуре. Все они защищены многочисленными авторскими свидетельствами и обладают патентной чистотой (исключение микросхемы “Логика-2”), в том числе и по ведущим западным странам. Подтверждением этому служил начавшийся экспорт машин ЕС ЭВМ не только в страны члены СЭВ, но и в капиталистические страны.
Модель |
ЕС-1020 |
ЕС-1030 |
ЕС-1040 |
ЕС-1050 |
Год окончания разработки |
1971 |
1972 |
1973 |
1973 |
Разрядная сетка |
8 |
32 |
64 |
64 |
Производительность, тыс. операций/с |
20 |
70 |
250 |
450 |
Емкость ОЗУ, Кб |
64256 |
128512 |
2561024 |
1281024 |
Операционная система |
ДОС |
ДОСОС ЕС |
ДОСОС ЕС |
ОС ЕС |
Модели ЕС-1020, ЕС-1030 и ЕС-1050 были разработаны соответственно Минским филиалом НИЦЭВТ (гл. конструктор В. В. Пржиялковский), Ереванским НИИММ (гл. конструктор М. А. Семерджян) и НИЦЭВТ (гл. конструктор В. С. Антонов). Модель ЕС-1040 создана в Карлмарксштадте (ныне Хемниц) ГДР под руководством гл. конструктора М. Гюнтера.
С 1972 г. началась поставка с машинами ЕС-1020 операционной системы ДОС, обеспечивавшей одновременное выполнение трех заданий и включавшей в себя трансляторы с языков Фортран-4, Кобол, ПЛ-1, РПГ и Ассемблер.
С 1973 г. поставлялась операционная система ОС ЕС, обеспечивавшая мультипрограммный режим с фиксированным (до 15), а вскоре и переменным числом задач и содержащая трансляторы с языков Фортран-4, Алгол-60, Кобол-65, ПЛ-1, РПГ, Ассемблер. Для отечественных ЭВМ это было беспрецедентно богатое ПО, поставляемое производителем с машинами.
К концу 1973 г. по программе ЕС ЭВМ прошли испытания шесть моделей ЭВМ и 99 типов внешних накопителей, устройств ввода-вывода и телеобработки данных. Параллельно в эти же годы разработаны две версии ДОС и две версии ОС ЕС, общим объемом более четырех миллионов команд. Программа создания ЕС ЭВМ первой очереди была практически завершена.
Нужно отметить, что уже в начале производства машин ЕС ЭВМ выявились существенные проблемы, сопровождавшие отечественную ВТ все дальнейшие годы. Во-первых, микроэлектронная база, на которой строилась ЕС ЭВМ, создавалась параллельно с машинами. Поскольку цикл разработки ЭВМ составлял минимум три года, то к моменту первой поставки машины потребителю она устаревала по своей элементной базе. До начала 80-х годов отечественные микросхемы неуклонно повышали степень своей интеграции. Так, ЭВМ ЕС-1020 использовала всего восемь типов микросхем серии 155, а к моменту начала ее производства появились еще два десятка типов, причем уже средней степени интеграции.
Во-вторых, химическая промышленность не смогла (а может не хотела?) стабильно выпускать для микросхем с корпусами ДИП пластмассу, обеспечивающую герметичность корпуса. В результате этого микросхемы имели крайне низкую надежность, особенно в условиях принудительной вентиляции шкафов ЭВМ.
Так и не удалось наладить в нужных количествах выпуск качественных компонентов ферролака для накопителей на сменных магнитных дисках, прецизионных подшипников, качественного проката для подложек магнитных дисков, магнитной ленты для высокой плотности записи, высокоточных шаговых двигателей для внешних накопителей и устройств.
Отрицательно (по мнению автора) сказалось также категорическое требование Министерства обороны, предъявленное ко всей технике ЕС ЭВМ, выдерживать ударную нагрузку величиной 15g по трем осям. Выполнение этого требования привело к неоправданному утяжелению изделий и увеличению их стоимости.
Дополнительный ассортимент микросхем, появившийся к окончанию разработки машин ЕС ЭВМ-1, выпуск новых более скоростных внешних накопителей, а также возросшая квалификация разработчиков, создали предпосылки к существенной модернизации машин первой очереди. Это было поручено провести СКБ заводов-изготовителей с минимальным участием институтов. Модернизированные машины получили соответственно номера ЕС-1022, ЕС-1033 и ЕС-1052. По архитектуре они относились к ЕС ЭВМ-1, модернизация коснулась только конкретных структур этих машин и их аппаратной реализации. Создание ЕС-1022 возглавил главный инженер Минского завода им. Г. К. Орджоникидзе Ростовцев И. К., главным конструктором ЕС 1033 был начальник СКБ Казанского завода ЭВМ В. Ф. Гусев, ЕС-1052 разработали коллективы СКБ Пензенского завода ВЭМ и НИЦЭВТ под руководством В. С. Антонова. Начало модернизации машин ЕС ЭВМ-1 положила модель ЕС-1032 Вроцлавского СКБ завода ELWRO под руководством Болеслава Пивовара.
Основные характеристики модернизированных машин ЕС ЭВМ-1 приведены ниже.
Модель |
ЕС-1022 |
ЕС-1032 |
ЕС-1033 |
ЕС-1052 |
Год окончания разработки |
1975 |
1974 |
1976 |
1978 |
Разрядная сетка, двойных разрядов |
16 |
32 |
32 |
64 |
Производительность, тыс. операций/с) |
80 |
180 |
200 |
700 |
Емкость ОЗУ, Кб |
128256 |
1281024 |
256512 |
1024 |
Операционная система |
ДОС, ОС |
ДОС, ОС |
ДОС, ОС |
ОС |
Потребляемая мощность, кВА |
25 |
23 |
40 |
60 |
Занимаемая площадь, кв. м |
108 |
80 |
120 |
230 |
Среди этих машин резко выделяются по технико-экономическим характеристикам модели ЕС-1032. При единой архитектуре причиной таких великолепных для того времени показателей являлась только технологическая база. Есть смысл несколько остановиться на этом случае, учитывая те серьезные дебаты, которые проходили в высших органах управления СССР (ВПК, ГКНТ, ГОСПЛАН, МРП) при появлении в 1974 г. польской ЭВМ ЕС-1032. Процессор этой модели вместе с ОЗУ и каналами располагался в одном шкафу, тогда как отечественные модели ЕС-1022 и ЕС-1033 в трех. Разработка ее велась на Вроцлавских заводах вне планов СГК ЕС ЭВМ.
Когда она была закончена, встал вопрос о принятии ее в ЕС ЭВМ и присвоении ей соответствующего шифра. При изучении документации на машину выяснилось, что при ее создании нарушены основополагающие документы и стандарты ЕС ЭВМ. Главным нарушением было использование полной серии микросхем SN-74 компании Texas Instrument. Советский аналог этой серии серия 155 (“Логика-2”) имела вдвое худшие временные характеристики и в ней отсутствовали схемы повышенной интеграции. Под давлением высших органов страны (в первую очередь ВПК и МО) документами ЕС ЭВМ использование иностранных комплектующих изделий, не имеющих отечественных аналогов, запрещалось категорически. Аналогичная ситуация была и с блоками питания. Нарушением руководящих материалов ЕС ЭВМ было использование сдвоенных ТЭЗов размером 280в150 мм. Все это, а также применение многослойной печатной платы ТЭЗа и использование полупроводникового ЗУ вместо ферритового (в СССР еще не было серийного производства микросхем для ОЗУ) привело к многократному увеличению степени интеграции сменного элемента замены, а следовательно, уменьшению габаритов и снижению потребляемой мощности ЕС-1032.
В результате острых дебатов на высшем уровне машина 1032 была принята в систему ЕС ЭВМ, многие документы ЕС ЭВМ были откорректированы. Но отставание советской микроэлектронной базы от зарубежного уровня продолжало нарастать. ЭВМ ЕС-1032 не импортировалась в СССР, но роль ее в инициации работ по созданию машин ЕС-1022 и ЕС-1033 (самых массовых машин в ЕС ЭВМ) крайне положительна, она наглядно показала, как велико влияние на эксплуатационные характеристики ЭВМ технологической базы.
К сожалению, урок был воспринят далеко не полностью и в СССР по-прежнему значительно больше и чаще обсуждались вопросы архитектуры ЭВМ, чем технологические проблемы микроэлектронной базы, общие для всех архитектур.
Впервые новый ряд машин, получивший название ЕС ЭВМ-2 (“Ряд-2”), был обсужден на совещании главных конструкторов социалистических стран 27 июля 1972 г., проходившем под председательством Генерального конструктора А. М. Ларионова. СГК развивал эту программу, и в 1973 г. она была утверждена правительством СССР (в части советских ЭВМ и устройств), а в апреле 1974 г. принята тринадцатой сессией СГК вместе с программой модернизации ЕС ЭВМ-1. К этому времени к работам по ЕС ЭВМ присоединились Куба (1973 г.) и Румыния (1974 г.)
Программу ЕС ЭВМ-2 удалось сформировать при полном базировании на стандартах ЕС ЭВМ без учета предыдущей технической ориентации некоторых стран, как это было при формировании программы ЕС ЭВМ-1.
В 1975-1976 гг. состоялись контакты между руководством МРП СССР и НИЦЭВТ и представителями компании IBM. Первоначально со стороны компании IBM был проявлен интерес к сотрудничеству с МРП. IBM не имела в то время намерений расширять свои продажи в СССР, но на развитие рынка совместимых с IBM машин ЕС ЭВМ смотрела благоприятно. Именно в это время начался выпуск машин, совместимых с IBM-370, фирмами “Амдал”, “Фуджитсу” и “Хитачи”, принявших то же решение, которое МРП приняло в 1967-68 гг. Однако компания IBM не смогла добиться от правительства США согласия на сотрудничество с МРП, вяло текущие переговоры постепенно затихали, а в 1979 г. после ввода войск в Афганистан прекратились. Эмбарго на поставку в СССР вычислительных машин серьезно осложнило задачу обеспечения совместимости ЕС ЭВМ с машинами IBM. Тем не менее, к концу 1978 г. программа разработки ЕС ЭВМ-2 была практически завершена.
В течение 1976-1978 гг. прошли государственные и совместные испытания модели ЕС-1025 (ВНР), ЕС-1035 (СССР), ЕС-1045 (СССР), ЕС-1055 (ГДР) и ЕС-1060 (СССР). Задержались в разработке ЭВМ ЕС-1015 (ВНР) и ЕС-1065 (СССР).
Характеристики ЭВМ, прошедших испытания к концу 1978 года, приведены ниже.
Модель |
ЕС-1025 |
ЕС-1035 |
ЕС1045 |
ЕС-1055 |
ЕС-1060 |
Год окончания разработки |
1978 |
1977 |
1978 |
1978 |
1977 |
Разрядная сетка, двоичных разрядов |
16 |
32 |
32 |
64 |
64 |
Производительность (тыс. операций/с по Gibson-3 |
33 |
160 |
660 |
425 |
1050 |
Емкость ОЗУ, Мб |
0,256 |
0,2561,0 |
14 |
12 |
18 |
Операционная система |
ДОС-3.1 |
ДОС-2, ОС-6.1 |
ОС-6.1 |
ОС-6.1 |
ОС-6.1 |
Отечественные модели ЕС-1035 (гл. конструктор Г. Д. Смирнов), ЕС-1045 (гл. конструктор А. Т. Кучукян) и ЕС-1060 (гл. конструктор В. С. Антонов) быстро заняли основное место в продукции Минского производственного объединения и Казанского завода ЭВМ.
Для машин ЕС ЭВМ-2 были разработаны две новые оригинальные ОС: ДОС-3.1 и ОС 6.1. Операционная система ДОС-3.1, созданная специалистами Чехословакии и Венгрии, являясь совершенно оригинальной, обеспечивала виртуальную адресацию при сохранении совместимости по файлам с системами ДОС-2 и ОС ЕС. Операционная система ОС-6.1 по сравнению с предыдущей версией имела следующие дополнения: режим виртуальной памяти, обеспечение работы со 100 МГб и дисплейным комплексом ЕС-7920, средства восстановления и диагностики, средства комплексирования моделей, систему разделения времени, включающую диалоговую систему программирования, оптимизирующий транслятор с языка PL-1 и монитор динамической отладки. Кроме того, пользователю поставлялся набор пакетов прикладных программ, работающих под управлением ОС-6.1.
Выставка 1979 г. показала масштабы использования средств ЕС ЭВМ в народном хозяйстве. На этот период ЕС ЭВМ занимала 72% в общем парке ЭВМ страны. В стране выпускались 6 моделей ЭВМ и 42 типа периферийных устройств. Только в период с 1975 по 1979 гг. было задействовано более 700 автоматизированных систем различного уровня, целиком построенных на технике ЕС ЭВМ. Наиболее крупные системы работали в Госплане, Госснабе, ЦСУ СССР, ГКНТ, Госстандарте и многих других ведомствах. Машинами ЕС ЭВМ пользовались крупнейшие институты АН СССР и высшие учебные заведения.
Особое место в программе модернизации машин ЕС ЭВМ-2 занимает модернизация ЭВМ ЕС-1060. Она была проведена коллективами СКБ Минского производственного объединения (МПО ВТ) и НИЦЭВТ под руководством главного инженера МПО ВТ Карпиловича Ю. В. Модернизированы не только ОЗУ, но и процессор и каналы. В результате появилась ЭВМ ЕС-1061, имеющая вдвое большую производительность и втрое большую надежность при меньших габаритах, потреблении энергии и стоимости. Особо выделялась длительная, настойчивая, целеустремленная работа начальника СКБ Шершня В. П. по повышению надежности микросхем, поставляемых предприятиями электронной промышленности. Именно она привела к росту надежности ЭВМ. ЕС-1061 имела успех на рынке. С 1983 по1988 гг. было продано 566 машин. Для сравнения машин БЭСМ-6, выпускавшихся с 1967 по 1983 гг. Московским заводом САМ, было произведено всего 454 шт.
Другим направлением в развитии ЕС ЭВМ-2 стало создание матричных процессоров, как встроенных для машин ЕС-1045 и ЕС-1055, так и автономных, работающих со всеми моделями ЕС ЭВМ.
В конце 70-х годов в СГК ЕС ЭВМ велись работы по формированию направлений развития третьей очереди ЕС ЭВМ на период с 1980 по 1985 гг. (одиннадцатую пятилетку).
(Автор: Юрий Ревич. www.computerra.ru/vision/488988/)
Ровно сорок лет назад, 18 декабря 1969 года, состоялось историческое заседание коллегии Министерства радиопромышленности СССР, которое кардинально изменило вектор развития отечественной вычислительной техники. Споры о том, были ли принятые решения правильными и необходимыми, или ошибочными и принятыми из расчета получения сиюминутной выгоды, идут до сих пор.
Конечно, совещание это было не единственным и не первым событием в области перестройки отечественного "компьютеростроения". К середине 1960-х годов вопрос назрел и перезрел. В СССР существовало несколько центров конструирования и производства вычислительной техники (в Киеве, в Москве, в Минске, в Пензе и пр.), которые выпускали продукцию, несовместимую ни аппаратно, ни программно. Достаточно сказать, что в "Минске-32" был принят семибитный байт, а в БЭСМ вообще шестибитный, что делало проблематичным простой обмен данными между такими машинами, не говоря уж об их совместимости с западной техникой. Не было практически никаких стандартов на аппаратные интерфейсы. Слабо воплощалась в жизнь предложенная И.С.Бруком ещё в конце 1950-х концепция "малых машин", не было семейств ЭВМ единого ряда, но разной производительности (за исключением, с некоторыми оговорками, касающимися плохой взаимной совместимости, семейства "Урал" Б. И. Рамеева). И, что немаловажно, хромала технология: действующие ЭВМ планово ремонтировались чуть ли не ежедневно.
Поэтому ещё в планах "народно-хозяйственного развития" на 1966 год было предусмотрено создание "комплекса типовых высоконадёжных информационных вычислительных машин", получившего сначала условное название "Ряд". Но о том, на какой основе этот комплекс делать, споры не утихали. По свидетельству В.В. Пржиялковского, бывшего в последующие годы главным конструктором ЕС ЭВМ, создатели "Ряда" с самого начала ориентировались на архитектуру IBM/360, но особенно под занавес во второй половине 1969 года возникли существенные разногласия.
Не вдаваясь в подробное перечисление имен и дат (всё подробности этой истории можно найти на сайте computer-museum.ru, а также в известной книге Б. Н. Малиновского "История вычислительной техники в лицах"), лишь кратко охарактеризуем суть разногласий. Безусловно, IBM/360 была на тот момент лидирующей архитектурой среди массовых компьютеров общего применения. Однако со стороны США и некоторых других западных стран существовало эмбарго на поставки в СССР высоких технологий, под которое IBM/360, безусловно, попадала. В результате даже при наличии доброй воли со стороны IBM (а её не наблюдалось) не существовало легального способа закупки технологий и ПО для воспроизведения этой системы. Поэтому ряд конструкторов ЭВМ и чиновников, возглавляемых ставшим к тому времени заместителем Генерального конструктора ЕС ЭВМ Б. И. Рамеевым и заместителем Министра радиопромышленности М. К. Сулимом (бывшим фактически инициатором всей истории с созданием ЕС), поставили вопрос о переориентации на сходные с IBM/360 архитектуры английской фирмы ICL и немецкой Siemens, корни которых восходят к технологиям известной американской корпорации RCA. В отличие от IBM, эти фирмы были готовы официально поделиться разработками.
Тогда уже было понятно, что IBM в этой области конце концов всех подомнёт. Это было, видимо одним из решающих аргументов: упомянутое совещание 18 декабря, на котором присутствовали почти все, кто тогда имел отношение к руководству разработками в этой области (см. упомянутую книгу Б.Н. Малиновского), директивно постановило ориентироваться на IBM/360. То, что техдокументацию и ПО придётся фактически воровать, а IBM/360 разработка 1963-64 года, и решительно устарела уже к моменту совещания, никого не остановило.
Как сейчас представляется, главной ошибкой в этом решении было даже не само его содержание, а его глобальность: всех построили в одну линейку, и при этом совершенно не учли темпов прогресса. В год, когда была построена первая EC ЭВМ (1971), IBM уже перешла на новое поколение мэйнфреймов IBM/370, а в Xerox Park вовсю начинались работы над принципиально новым поколением машин на основе графического интерфейса. Фактически всю отрасль, по выражению одного из самых авторитетных конструкторов советских ЭВМ И.С.Брука, обрекли на "трудно устранимое отставание". Против высказались все ведущие конструкторы отрасли, а также страны СЭВ (кроме ГДР), М.К.Сулим подал в отставку прямо на коллегии Минрадиопрома, на которой окончательно была решена судьба "Единой Серии", а Б.И. Рамеев уволился с поста замглавного конструктора ЕС. Знаменитый теоретик программирования Эдсгер Дейкстра в своей лекции, прочитанной в России, назвал решение советского правительства "величайшей победой Запада в холодной войне". Они оказались правы: уже в конце 1980-х Рамеев оценивал отставание отечественной отрасли ВТ, как десяти-двадцатипятилетнее.
Пионер отечественной отрасли ВТ С.А. Лебедев, под чьим руководством проектировали знаменитую БЭСМ-6, оказался единственным, кто отстоял свой "ИТМ и ВТ" от привлечения к задаче копирования устаревшей западной техники, и это имело далеко идущие последствия: институт в конце концов разродился "Эльбрусом", весьма передовой конструкцией, некоторые оригинальные технические решения из которой стали ныне стандартными. "Технология была отвратительная, но архитектура была до того совершенна, что эта машина была в два раза быстрее самой быстрой американской супер-машины того времени Cray Y-MP" (Б. А. Бабаян). А из "Эльбруса" выросла группа Б. А. Бабаяна ныне одно из подразделений Intel. А что выросло из конструкторов ЕС ЭВМ?
Поэтому можно согласиться с некоторыми аргументами тех, кто во главе с упомянутым В.В. Пржиялковским и бывшим директором ИНЭУМ Б.Н. Наумовым всегда отстаивал правильность принятого решения (см., например, статью, спровоцированную ещё десять лет назад публикацией автора этих строк, а также материалы упомянутого computer-museum.ru): да, после внедрения ЕС ЭВМ с вычислительной техникой в стране стало лучше. Но на этом и все заканчивается: по свидетельству Б.А. Бабаяна, активного участника последующих событий, "потому что после того, как все были согнаны в одно место, творчество кончилось. Образно говоря, мозги начали сохнуть от совершенно нетворческой работы. Нужно было просто угадать, как сделаны западные, в действительности устаревшие, вычислительные машины".
И я сам, как человек, учившийся программировать в начале 1970-х и тогда же начавший изучать электронику, могу добавить в копилку аргументов свое свидетельство: да, с технологией в СССР было плохо, машины были сделаны примитивно, часто ломались. Поэтому заимствовать западные технологии и стандарты, ориентироваться на совместимость было абсолютно необходимо, причем опережающими темпами. Но совершенно необязательно при этом было "засушивать мозги", занимаясь тупым копированием. Ибо чего-чего, а мозгов у нас всегда хватало: помнится, как я был неприятно поражён своим знакомством с первой моделью IBM PC, её примитивностью и многочисленными тупыми промахами в области "удобства пользования" в сравнении с созданной ещё за 15 лет до того "МИР-2" В.М. Глушкова. Вполне вероятно, что вся история ВТ могла бы пойти иначе, если бы в 1969 году ответственные люди сумели бы взглянуть на проблему несколько шире. Увы, история не имеет сослагательного наклонения...
Аппаратура компьютера проектируется из соображений оптимальности технических решений и эффективности обработки данных. В силу этого, как самые первые, так и современные компьютеры, требуют представления данных и команд программы в виде двоичных кодов, т.е. последовательностей нулей и единиц. Очевидно, что программирование в двоичных кодах является весьма кропотливым и малоэффективным занятием. В силу этого, развитие вычислительных технологий, практически с самого первого дня изобретения компьютеров, идет по двум направлениям: совершенствование аппаратуры вычислительных устройств; совершенствование средств автоматизации разработки и исполнения программ.
Представление данных и команд в памяти компьютера одинаково (двоичная последовательность), поэтому иногда мы будем говорить об информации, с которой имеет дело компьютер, подразумевая под этим как данные, так и программу.
В конце концов, способ представления данных в оперативной памяти компьютера программиста не волнует. Но ему не безразлично, в каком виде он должен вводить исходные данные и получать результаты вычислений.
Нашлись "реформаторы", предложившие перевести школьное обучение на двоичную систему представления чисел. Их аргументация была проста и привлекательна:
с точки зрения теории вычислений совершенно безразлично, в какой системе кодировать числа;
мы, старики, худо - бедно перемучаемся, зато наши дети будут с компьютером "на ты".
Однако если подумать, то эту проблему можно решить без революции в образовании. Надо просто учесть, что перевод чисел из десятичной системы в двоичную систему и обратно реализуется по формальным алгоритмам. Следовательно, можно сделать программы перевода из десятичной системы в двоичную систему и обратно, которые будет выполнять компьютер и которые позволят вводить и выводить числа в десятичной системе счисления.
Уже здесь появляется специфика двухуровневого представления данных и программ в системе человек - компьютер:
на внешнем уровне необходимо представлять данные и программы в виде, максимально удобном для человеческого восприятия (графика, тексты, таблицы и т.д.);
такое представление данных и программ, как правило, неэффективно с точки зрения ее обработки компьютером;
на внутреннем уровне данные и программы представляются в виде эффективном для их обработки (двоичные коды, списковые структуры, структуры данных);
как следствие, необходимы специфические программы трансляторы , реализующие автоматическое преобразование представления данных и программ с человеческого уровня на машинный уровень и обратно.
Замечание. Программы трансляторы рассматривают и обрабатывают программы вычислений как данные.
Ассемблеры
Здесь и далее, говоря о языке, мы будем понимать процедурный язык программирования, т.е. формальную знаковую систему, позволяющую описывать последовательность шагов любого алгоритма обработки данных.
Для компьютера каждого типа, на стадии разработки его архитектуры, фиксируется система машинных (двоичных) двоичных команд. Каждая такая команда представляет собой определенным образом форматированную двоичную последовательность предписание для компьютера на выполнение вполне определенного действия. Система команд вычислительной машины называется также машинным (двоичным) языком программирования. Машинная(двоичная) программа, состоит из последовательности машинных команд, и только такая машинная программа непосредственно интерпретируется, т.е. исполняется аппаратурой компьютера.
"Ручное" кодирование машинной программы чрезвычайно трудоемко и связано с появлением большого числа потенциальных ошибок. Поэтому проблема создания средств автоматизации программирования в виде языков более высокого уровня, чем машинный язык возникла на первых же шагах развития вычислительной техники.
В самом простейшем варианте решение было очевидным - обозначить поля команды символами, понятными человеку, и получить в результате предписание на выполнение действия в виде символьной строки.
Например, команду сложения можно обозначить следующим образом:
ADD 1001B,1010B,1011B ( )
где B - признак двоичного числа.
Такая команда предписывает вычислительной машине следующие действия: прочитать содержимое ячеек оперативной памяти с двоичными адресами 1001 и 1010, произвести над их содержимым операцию арифметического сложения и записать результат в ячейку оперативной памяти с двоичным адресом 1011.
Для более короткой записи команды, адреса лучше представлять в шестнадцатеричном коде:
ADD 9H,AH,BH, ( )
где H - признак шестнадцатеричного кода.
Каждая символьная строка, обозначающая машинную команду, называется мнемокомандой, а совокупность таких команд образует язык автокод (язык автоматического кодирования программы).
Дальнейшим развитием языка автокод является введение в его описательные возможности средств управления полуавтоматическим распределением оперативной памяти. Суть такого распределения памяти состоит в следующем:
ячейки и массивы ячеек можно обозначать символьными именами (адресами);
в адресных полях команды можно использовать эти символьные имена (адреса).
имеется псевдокоманда MEM, позволяющая установить соответствие символьного адреса и физического адреса;
имеется псевдокоманда CONST, позволяющая присвоить ячейке памяти с заданным символьным адресом конкретное символьное значение.
Таким образом, предписание (2) можно записать в следующем виде:
ЯЧЕЙКА Длина 9H; /Распределение памяти/ ( )
ЯЧЕЙКА Ширина AH; /Распределение памяти/
ЯЧЕЙКА Площадь BH; /Распределение памяти/
CONST Длина,12; /Присвоить значение/
CONST Ширина,15; /Присвоить значение/
УМНОЖИТЬ Длина, Коля, Любовь /Выполнить действие/
Толчком к дальнейшему развитию языка автокод послужило увеличение размеров программ. Большую программу можно быстрее и качественнее сконструировать, разбив ее на некоторое количество более или менее независимых сегментов. Это дает возможность разрабатывать и отлаживать сложную программу "по частям", а также использовать при разработке новой программы уже апробированные сегменты ранее разработанных программ. Разумеется, между сегментами допускаются формальные перекрестные ссылки, фактический вид которых не известен во время написания секций.
Более развитый язык автокод кроме множества мнемокоманд содержит также псевдокоманды, которые обеспечивают полуавтоматическое распределение памяти, связывание в единую программу совокупности сегментов, ввод исходных данных и другие полезные действия. Псевдокоманды не имеют аналога в системе машинных команд и реализуются программным путем в ассемблирующей системе (см. ниже).
Таким образом, язык автокод позволяет использовать при программировании все возможности машинного языка. Его основу составляют термины мнемонических обозначений операций и их операндов (ядро языка), а также других выполняемых операций (псевдокоманды). Это позволяет программисту ссылаться на внутренние регистры машины и адреса оперативной памяти, используя их символьное обозначение. Существенно, что автокоды позволяют описывать различные формы представления данных, обеспечивают автономное преобразование их, позволяют независимо транслировать отдельные программные модули и соединять их в единую программу, а также управлять распределением адресов памяти и документацией программы.
Очевидно, что для каждого семейства компьютеров существует свой уникальный язык автокод, определяемый системой машинных команд этого семейства.
Программа, записанная на языке автокод, более понятна человеку, чем машинная программа, но компьютер такую программу интерпретировать (выполнять) не может. Поэтому нужен переводчик, преобразующий (транслирующий) текст автокодной программы в текст машиной программы. На первых порах в качестве таких переводчиков выступали девочки - лаборанты, которые знали совокупность формальных правил (алгоритм) преобразования символьных текстов в двоичные. Но достаточно быстро были созданы ассемблеры (программные ассемблирующие системы), которые не менее успешно справлялись с этой рутинной работой.
Прежде всего, ассемблер реализует функции трансляции (перевода) с языка автокод на язык машинных команд. В качестве входного набора данных для ассемблера выступает программа, записанная на языке автокод, которая переводится в перемещаемую программу на машинном языке. Обычно таким языком является язык загрузчика. Различные секции автокодной программы транслируются независимо друг от друга, в результате чего получается множество объектных модулей, каждый из которых представлен на языке загрузчика.
После трансляции всех модулей работает программа загрузки, которая связывает множество объектных модулей в готовую машинную программу, загружает ее в оперативную память и запускает на выполнение.
Язык автокод, включающий в себя средства сборки программ из секций, принято называть также языком ассемблера.
Подводя итог, можно сказать что ассемблером (англ. assembler, от assemble - собирать, монтировать) называется компонента системного программного обеспечения, переводящая программу, написанную на автокоде (символьный модуль) в машинную программу (загрузочный модуль). Программа на автокоде представляется в командах, отражающих архитектуру конкретного типа компьютера. Помимо трансляции (перевода) важнейшей функцией ассемблера является сборка или связывание многих объектных модулей в единый загрузочный модуль.
Замечание. Часто можно слышать от того или иного программиста, что он "программирует на ассемблере". Более правильно говорить о программировании на автокоде или на языке ассемблера, тогда как ассемблером называется программа, "понимающая" этот язык.
Программы - загрузчики
Назначение загрузчика определяется его именем. Он загружает программу в оперативную память машины. Различаются три типа загрузчиков.: двоичные, настраивающие и связывающие.
Двоичный загрузчик загружает машинную программу, записанную в двоичном виде относительно фиксированных адресов, с какого-либо внешнего устройства..
Настраивающий загрузчик получает программу в перемещаемой двоичной форме (записанную в относительных адресах) вместе с информацией о настройке ее по месту и размещает ее в памяти, предварительно настроив относительные адреса.
Связывающий загрузчик получает набор объектных модулей, записанных в двоично-символьной форме, и загружает их в оперативную память как единую программу, заполнив перекрестные ссылки между ними и настроив их по месту.
Связывание объектных модулей в готовую программу может быть выделена в отдельную операцию, которая выполняется программой редактор связей. Очевидно, в этом случае, загрузчик работает после редактора связей и реализует только размещение программы в оперативной памяти.
Макросредства
Часто случается, что одна и та же группа команд с небольшими изменениями встречается в нескольких местах программы. Для того, чтобы при составлении программы многократно не переписывать один и тот же (или, почти один и тот же) текст был изобретен аппарат макросов - макрокоманд определяемых пользователем.
Макроопределение служит для конструирования пользователем своей собственной макрокоманды, более крупной, по сравнению с машинной. Макроопределение состоит из заголовка и тела.
Заголовок макроопределения представляет собой предложение вида:
<имя макро>:Макро,<список формальных параметров>
Макро - это псевдокоманда ассемблера, сообщающая ему, что данное предложение является заголовком макроопределения. Имя макро используется для последующих ссылок на это макроопределение, а список формальных параметров определяет каналы связи макроопределения с основной программой.
Тело макроопределения, которое следует за заголовком, представляет собой фрагмент обычной автокодной программы - именно он и определяет существо вводимой макрооперации. Следом за телом следует псевдокоманда Конм конца макроопределения.
Приведем пример макроопределения, которое вводит в употребление команду нахождения наибольшего из двух значений: z=max(x,y):
Мах2: макро, X,Y,Z; заголовок макроопределения
Пересылка X,Z; тело
Вычитание X,Y; тело
Передача_управления КОНМ; тело
Пересылка Y,Z; тело
Конм; признак конца макроопределения
В теле макрокоманды программируется априорная пересылка в ячейку результата Z содержимого ячейки X. Затем производится сравнение содержимого X и содержимого Y, и если Y>X реализуется пересылка содержимого ячейки Y в ячейку результата Z. Существенно, что обработка данных в теле макроопределения определяется вне зависимости от его использования относительно формальных параметров.
Теперь программист может использовать это макро в своей программе, указав его имя и список фактических параметров (макровызов).
Так, с использованием данного ранее макроопределения для вычисления максимума двух чисел, можно записать такую макропрограмму:
.............................
L: МАХ2, A,B,C;
............................
M: MAX2, U,V,W;
............................
Предполагается, что перед запуском ассемблера будет использоваться макрогенератор, который в процессе просмотра макропрограммы каждый раз, когда встретит макровызов, будет осуществлять макроподстановку. Т.е. в процессе макрогенерации каждый макровызов будет заменен телом соответствующего макроопределения. Причем, имена формальных параметров будут заменены именами фактических параметров. В частности, приведенный выше фрагмент макропрограммы после макроподстановки будет иметь вид обычной автокодной программы:
................................
L:Пересылка A,C;
Вычитание A,B;
Перед.упр. L1;
Пересылка B,C;
L1:...............................
M:Пересылка U,W;
Вычитание U,V;
Перед.упр. М1;
Пересылка V,W;
M1:..............................
После работы макрогенератора запускается обычный ассемблер, который формирует объектный модуль.
Возможна другая схема обработки макропрограммы, когда макроассемблер совмещает в себе функции макрогенератора и обычного ассемблера.
Таким образом, аппарат макросов позволяет пользователю расширить базовый язык автокодирования за счет введения проблемно - ориентированных макрокоманд и, тем самым, сделать его более удобным для применения.
Примечание. В современных ассемблерах используется также механизм подпрограмм, но о нем подробнее в следующем разделе.
Создание машино - ориентированных языков программирования - автокодов, позволило существенным образом повысить эффективность программирования, избегая процедуры полностью ручного распределения оперативной памяти, а также необходимости записывать программы в виде последовательностей нулей и единиц.
Но, как уже говорилось, машино - ориентированный язык (автокод) создается для каждого типа компьютера и для его использования необходимо знать архитектуру и специфику программирования именно этого типа компьютера. Более того, в силу элементарности машинных команд, программирование даже простого математического вычисления сводилось к выписыванию многих автокодных команд.
Можно сказать, что между потенциальными проблемными пользователями компьютера, которые привыкли оперировать математическими формулами (физиками, биологами, экономистами и т.д. и т.п.), существовал весьма высокий языковый барьер. Более того, программа, записанная на автокоде для одного типа машин, не могла выполняться на другом типе машин. Все это существенным образом затрудняло внедрение вычислительной техники в науку и технику. Не говоря уже о прикладных сферах человеческой деятельности.
Дальнейшее развитие средств автоматизации программирования связано с созданием машино - независимых языков программирования высокого уровня. Первым таким языком был язык ФОРТРАН -входной язык формульного транслятора, созданного специалистами фирмы IBM. Как следует из названия, его создатели, не задумываясь об очень высоких теориях, поставили своей целью расширить язык автокода до языка, позволяющего достаточно просто программировать формульные вычисления. И также - благая цель, сделать этот язык машино - независимым.
Однако, идеи, заложенные в ФОРТРАН, оказались настолько плодотворными, что, за редкими исключениями, воплотились во всех дальнейших высокоуровневых языках программирования. Перечислим эти основные идеи.
Переменная и тип переменной
Прежде всего, было введено понятие переменной и понятие типа переменной. С одной стороны, переменная - это символьное обозначение области оперативной памяти, как в автокоде. Но "привязывание" к каждой переменной определенного типа означает определение правила интерпретации текущего значения и области допустимых значений этой переменной. Это позволяет решить, по крайней мере, две проблемы автоматизации программирования:
В первом случае декларация типа переменной дает транслятору достаточно информации о размере области памяти для хранения значения.
Во втором случае, знание типа переменной позволяет избежать таких ошибок как сложение числа и символьной строки.
Правда, на первых порах введение типов в Фортране преследовало более скромные и практические задачи - экономию оперативной памяти. В первой версии языка допускалось всего два типа переменных: целые и вещественные. Был введен даже специальный оператор эквивалентности, позволявший на различных этапах выполнения программы в одной и той же области памяти хранить значения различных переменных.
Специального оператора декларации типа переменной не было. Было принято, казавшееся сначала простым, но в дальнейшем приводившее к многим неприятностям решение: если имя переменной начинается с символов I,J,K,L,M,N - переменная целого типа, в противном случае - переменная вещественного типа.
Достаточно быстро выявились неудобство и недостаточность такого способа типизации:
Поэтому с целью описания типа переменной были введены специальные предложения - декларации типа переменной (natural_namber, real, logical и т.д.).
Особо следует отметить структурную переменную типа массив, которая также впервые определена в Фортране.
Введение типизации переменных позволило реализовать полностью автоматическое управление распределением оперативной памяти для хранения их значений. Чуть позже появилось разделение языков программирование на слабо типизированные языки и сильно типизированные языки. Если первые допускают определение типа некоторых переменных по умолчанию (Фортран), то вторые требуют обязательной декларации типа переменной. Обязательность определения переменных в сильно типизированных языках контролируется транслятором.
Появилось также подразделение языков программирования на статические и динамические языки.
Статический язык программирования (Паскаль) предполагает автоматическое распределение памяти во время трансляции до выполнения программы. Это касается, прежде всего, массивов. Трансляторы для таких языков устроены достаточно просто, но эффективность получаемой двоичной программы (время работы, используемые ресурсы памяти) близка к автокодной программе, реализующий тот же алгоритм. В основном по этой причине долгое время не могли "списать" такой древний язык программирования как Фортран, эффективность программ которого была практически равна программам ручного изготовления.
Динамический язык программирования (Бейсик) допускает использование динамических массивов, размер которых определяется и меняется в процессе выполнения программы. Более того, переменные могут создаваться и уничтожаться во время ее исполнения. Удобство для программиста очевидное, но сложность трансляторов и малоэффективность двоичных программ не способствовало подавляющему распространению динамических языков.
Как всегда истина - в золотой середине. Язык строится как статический (ПАСКАЛЬ, СИ), но в него включается возможность динамического управления квантами оперативной памяти. Что позволяет в полуавтоматическом режиме создавать динамические массивы.
Операторы обработки данных
Операторы обработки данных подразделяют на три класса: операторы ввода данных, операторы вывода данных, операторы присваивания.
Оператор ввода позволяет устанавливать извне (с помощью устройств ввода) значение входной переменной. Аналогично, оператор вывода позволяет выводить на внешнее устройство значение выходной переменной. Тут возникает проблема преобразования внешнего представления единицы данных во внутреннее представление и обратно. В Фортране впервые были использованы своеобразные шаблоны - форматы, которые позволяли программировать эти преобразования. Наряду с другими способами, форматный ввод - вывод сохранился во многих современных языках.
Оператор присваивания можно назвать основным оператором языка программирования высокого уровня, и утверждать, что остальные операторы только "обслуживают" его. На самом деле, только оператор присваивания позволяет устанавливать значение переменной левой части в зависимости от значений переменных правой части. По сути дела, оператор присваивания является императивом (предписанием) для вычисления функции F, заданной арифметическим выражением F*:
y = F*( x1,x2,...,xn)
Благодаря оператору присваивания, проблемный специалист может записывать предписания на вычисление математических формул в почти привычном для него виде.
Замечание. Не слишком удачным оказался выбор знака равенства для обозначения операции присваивания. Например, запись x = x+1 неопытный программист интерпретирует как: " икс равняется икс плюс единица", что с математической точки зрения звучит совершенно нелепо. В некоторых языках программирования (Паскаль) используется специальный знак присваивания. Например, запись x:=x+1, интерпретируется однозначно: "новое значение x устанавливается равным старому значению x увеличенному на единицу". К сожалению, не все современные языки используют в качестве знака операции присваивания символ отличный от знака равенства.
Можно говорить, что оператор присваивания обозначает последовательность двоичных команд (или мнемокоманд автокода), исполнение которых обеспечивает вычисление функции F в заданной точке. Например, оператор присваивания y = a+b*c-d обозначает следующую последовательность трехадресных команд автокода:
умножение a,b,u
сложение a,u,v
вычитание v,d,y
Точно также, операторы ввода - вывода языка программирования высокого уровня обозначают последовательности двоичных команд, реализующие задаваемые действия по вводу - выводу.
Операторы безусловного и условного перехода
Программу, представляющую собой последовательность операторов обработки данных и только обработки данных, принято называть линейной программой. Однако, линейных программ практически не бывает. Дело в том, что в любой программе конкретный ход вычислительного процесса (порядок исполнения операторов обработки данных) зависит от конкретного набора исходных данных. Представьте, например, программу вычисления корней квадратного уравнения. Кроме того, сокращенная запись периодической последовательности вычислений в виде цикла требует также средств изменения линейного порядка выполнения команд программы.
Для изменения порядка выполнения операторов присваивания был введен оператор безусловного перехода:
GO TO N.
Предполагалось, что некоторые операторы могут быть пронумерованы (иметь метки) и N - одна из меток.
Оператор условного перехода появился в ФОРТРАНЕ, как бы сейчас сказали, в укороченной форме:
IF (<условие>) THEN <альтернатива да>,
где <альтернатива да> - произвольный оператор, чаще всего GO TO.
В качестве условия используется логическое выражение, которое представляет собой специальную запись логической (булевской) функции.
По сути дела, оператор условного перехода также обозначает некоторую последовательности двоичных команд, реализующих различные вычисления в зависимости от значения логического выражения.
Достоинством такого решения была возможность задавать достаточно сложные условия перехода, по сравнению с условием равенства - неравенства нулю для машинной команды условного перехода.
Недостатков укороченного оператора условного перехода было, по крайней мере, два. Во первых, альтернатива состояла только из одного оператора. Этот недостаток был исправлен уже в АЛГОЛе, где определили составной оператор как любую последовательность операторов, заключенную в операторные скобки:
IF(условие) THEN begin
S1
... <альтернатива _да>
Sn
end;
Второй недостаток связан с несимметрией оператора условного перехода, и этот недостаток был устранен введением в последующих языках программирования "структурного" оператора условного перехода:
IF(условие) THEN <альтернатива да>ELSE<альтернатива нет>;
Также в последующих языках, кроме условного оператора двоичного выбора, был введен оператор множественного выбора сase. Последний является обозначением системы вложенных операторов IF, определяющих множественный выбор.
Операторы цикла.
Практически в любой программе существуют циклические конструкции. Для их реализации достаточно операторов присваивания и операторов перехода. Например, цикл, реализующий повторение M раз операторов S1,...,Sk, может быть записан в виде:
I=1
N1:IF(I>M) THEH GO TO N
S1
....
Sk
I=I+1
GO TO N1
N: .....
В языке Фортран был введен оператор цикла, который, по сути дела, являлся условным обозначением вышеприведенной циклической конструкции:
DO N I=1,M
S1
.....
Sk
N: CONTINUE
Так как в Фортране не было понятия составного оператора, тело цикла ограничивалось специальным оператором CONTINUE, на который имелась ссылка в заголовке цикла.
Использование такого цикла упрощало программирование обработки последовательности данных без запоминания и обработки последовательности данных с запоминанием (использование переменной типа массив). Как выяснилось, такие часто встречающиеся циклы не являются единственными. В дальнейшем, в языках структурного программирования был определен универсальный цикл wile (цикл ПОКА), который в качестве условия окончания использует логическое выражение. Была даже попытка сделать его единственным возможным циклом. Но практика заставила вернуть в языки программирования фортрановский цикл под названием For и добавить цикл repeat (цикл ДО).
Подпрограммы
В разделе "Макрокоманды" рассматривался аппарат макросов, обеспечивающий ассемблирование (сборку) программы с использованием заранее изготовленных шаблонов - макроопределений. Это уже были зачатки некоторой технологии программирования, позволяющей:
Последнее свойство макросов оказалось весьма полезным, когда появилась необходимость разрабатывать большие программы, и появилось понимание того, что один человек за приемлемое время такую программу разработать не в состоянии. Необходима технология программирования, обеспечивающая коллективную (корпоративную) разработку больших программ.
Наряду с достоинствами макрос, как подпрограмма, имел существенный недостаток: макроподстановка конкретного макроопределения производилась столько раз, сколько раз встречалась в программе соответствующая ему макрокоманда (статическая подстановка). Это приводило к большим размерам загрузочного модуля, требующего для своего размещения большого объема оперативной памяти. Особенно это было неприемлемо для компьютеров первых поколений с небольшим ресурсом оперативной памяти.
Поэтому теоретики и практики программирования изобрели механизм подпрограммы. Вместо статической подстановки, размножающей текст макроопределения, было предложено использовать динамическую подстановку. Суть ее состоит в том, что подпрограмма существует в единственном экземпляре и при каждом к ней обращении в тексте основной программы происходит динамическая подстановка. При этом управление передается на начало подпрограммы и обеспечивается возврат в основную программу после окончания работы подпрограммы.
Концепция подпрограммы (подпрограммы-процедуры и подпрограммы-функции) достаточно хорошо известна и здесь подробно не рассматривается.
Отметим только, что подпрограммы в языках программирования высокого уровня бывают двух типов. Подпрограммы функции предоставляют для программиста средства конструирования собственных стандартных функций, которые затем можно использовать в выражениях (арифметических и логических). Аналогично, подпрограммы процедуры являются средством конструирования векторных операторов присваивания.
Подпрограммы экономят оперативную память, но увеличивают время работы подпрограммы за счет дополнительных операций обращения и возврата. При работе на современных компьютерах эти факторы играют незначительную роль. Поэтому в современном программировании используется смешанная тактика использования макросов и подпрограмм, диктуемая эффективностью процесса программирования. Например, используемый в языке программирования Си оператор #Define является аналогом введенного выше оператора Макро
Мы уже говорили, что представление данных и команд в компьютере целесообразно делать многоуровневым: с одной стороны - внешнее представление, удобное для человека, с другой стороны - внутреннее представление, эффективное для обработки компьютером. Для чисел это очевидная дилемма десятичной и двоичной системы кодирования, для языков общения человека с компьютером - иерархия языков программирования.
Мы также знаем, что компьютер может исполнять программу, представленную в двоичных кодах, загруженную в оперативную память и настроенную по месту загрузки. Такие программы вручную не изготавливаются. Они получаются в результате работы системных программ - трансляторов из текстов программ, записанных на символьных языках различного уровня.
Транслятором принято называть системную программу, преобразующую текст программы пользователя в семантически тождественный текст, записанный на языке более низкого уровня.
Сказанное выше можно представить в виде следующей диаграммы рис.82.
Рис. . Иерархия языков программирования и трансляторов
Начнем с автокода - ассемблера. Каждая секция программы, записанная на языке автокод, преобразуется транслятором ассемблирующего типа в объектный модуль, записанный на двоично-символьном языке, который "понимает" редактор связей. Этот редактор связей из нескольких объектных модулей формирует единый загрузочный модуль - перемещаемую двоичную программу. Эта программа записана в относительных адресах, как бы предназначенная для загрузки с нулевого адреса оперативной памяти. Загрузчик находит свободное место в оперативной памяти, в которое размещает загрузочный модуль, настраивая его по месторасположению. В результате получается абсолютный модуль, который может выполняться.
Если программа состоит из модулей, написанных на языке высокого уровня, вместо ассемблера она обрабатывается компилятором. В результате получаются объектные модули, которые преобразуются в загруженную двоичную программу вышеописанным образом.
Обратим внимание, что объектный модули, полученные из символьных модулей языка высокого уровня и символьных секций автокода, записаны на одном и том же языке редактора связей, т.е. неотличимы друг от друга. Это важное свойство позволяет при программировании на языке высокого уровня использовать ассемблерные вставки. Редактор связей не интересует предыстория объектных модулей.
Технологическая схема компиляции изображена на (рис.83). Три компьютера (K1, K2, K3) выполняют системные программы компилятора, редактора связей и загрузчика. Чаще всего, в качестве этих компьютеров используется один и тот же реальный компьютер. В результате получается абсолютный модуль программы пользователя, который исполняется на компьютере K0, реализуя преобразование исходных данных d в результирующие данные r.
Рис. . Технологическая схема компиляции. K0 K3 различные компьютеры или последовательно один и тот же компьютер
Трансляторы подразделяются на два класса: компиляторы и интерпретаторы. Выше мы описали работу транслятора компилирующего типа- компилятора.
Транслятор интерпретирующего типа - интерпретатор, по сути дела представляет собой виртуальную машину "понимающую" язык программирования высокого уровня (рис. 84). Такая виртуальная машина состоит из аппаратуры компьютера и транслятора интерпретирующего типа, расширяющего возможности аппаратуры до "понимания" языка программирования высокого уровня.
Рис. . Транслятор - интерпретатор как виртуальная вычислительная машина
При разработке небольших программ интерпретатор имеет преимущество перед компилятором в смысле простоты использования. Основные его недостатки, проявляющиеся при конструировании больших программ: программа работает дольше, не реализуется сборка собирать большие программы из модулей, разработанных различными программистами.
Компилятор свободен от названных выше недостатков интерпретатора. Также преимуществом компиляции является возможность многократного исполнения загрузочного модуля без повторной его трансляции. Последнее соображение особо существенно в случае больших программ, для которых время, затрачиваемое на трансляцию и редактирование, является существенным.
В настоящее время в одной системе программирования реализуется как интерпретатор, так и компилятор для одного и того же языка (Паскаль, СИ).
Стрела (19576-1959) 2 тыс. оп/сек;
М-20 (1957-1966) 20 тыс. оп/сек;
БЭСМ-6 (1967-1991) 1 млн. оп/сек;
ЕС 1066 (1978-2000) 5 млн. оп/сек;
Эльбрус (1980-2000)
В кн. Достояние России. РФЯЦ-ВНИИЭФ 60 лет. Автор-составитель Наталья Николаевна Богуненко
21 октября 1957 года вышел приказ министра высшего и среднего специального образования СССР об организации в Горьковском Государственном Университете Вычислительного Центра первого ВЦ в Минвузе РСФСР (первым в системе высшего образования СССР был ВЦ МГУ, созданный в 1955 году). Вычислительный центр создавался как научное подразделение, в состав которого входили две научно-исследовательские лаборатории. Технической базой ВЦ ГГУ стали серийная аналоговая машина МН-8 и цифровая машина "ГИФТИ", спроектированная коллективом сотрудников Горьковского госуниверситета.
Примечание. ГИФТИ государственный исследовательский физико-технический институт при Горьковском госуниверситете. Первоначально вычислительный центр функционировал в составе ГИФТИ, затем был позиционирован как вычислительный центр Горьковского госуниверситета.
Проект первой в СССР вузовской цифровой вычислительной машины был задуман в 1955-56 гг. сотрудниками кафедры теории колебаний радиофизического факультета ГГУ и активно поддержан её новым заведующим Николаем Александровичем Железцовым. Задолго до этого интерес к работам в новом направлении был проявлен его предшественником академиком Александром Александровичем Андроновым. Ему довелось участвовать в работе одной серьезной комиссии, проверявшей целесообразность расходования довольно больших средств в лаборатории управляющих машин. Выводы комиссия сделала правильные, и впоследствии на базе лаборатории, возглавляемой чл.-корр. АН СССР И. С. Бруком и разработанной там ЭВМ М-2, был создан Институт электронных управляющих машин (ИНЭУМ).
Рис. . Железцов Николай Александрович, руководитель работ по созданию ЭВМ ГИФТИ
Рис. . Разработчики аппаратуры ЭВМ ГИФТИ слева-направо: Г.Д. Зарницин, А. Аралов, Р.Х. Садеков, Н.А. Железцов, Н.В. Жеглова, А.М. Гильман, М.Я. Эйнгорин, А.М. Гончаров
Машина ГИФТИ оказалась пятой в стране универсальной цифровой вычислительной машиной вслед за ЭВМ БЭСМ (разработчик ИТМ и ВТ, главный конструктор акад. С.А. Лебедев, кстати, нижегородец по происхождению), «Стрела- 1» (разработчик СКБ-245, главный конструктор Ю.Я. Базилевский), М-2 (разработчик лаборатория управляющих машин АН СССР, научный руководитель чл.-корр. И.С. Брук), «Урал- 1» (разработчик Пензенский завод САМ, главный конструктор Б.И. Рамеев). И она была первым компьютером, разработанным вузовскими учёными.
Первые инженерно-технические задачи, которые решались на машине ГИФТИ, были связаны с исследованиями систем обыкновенных дифференциальных уравнений высокого порядка. Главным поставщиком задач такого рода была лаборатория, возглавляемая Н.А. Железцовым, которая по заданию ОКБМ разрабатывала и исследовала схемы управления ядерными реакторами Поначалу такие задачи решались на большой аналоговой вычислительной машине МН-8, многочисленные блоки которой соединялись в соответствии с математической моделью исследуемого объекта. Коммутация блоков осуществлялась вручную с помощью проводников на специальной панели, занимала много времени, требовала тщательной проверки и настройки параметров интегрирующих усилителей. Затраты на операции такого рода занимали несколько дней, и до тех пор, пока исследовалось поведение одной системы, коммутационную панель МН-8 нельзя было занимать для набора другой схемы. Погрешности аналоговых блоков и нестабильность их параметров не всегда гарантировали требуемую точность решения.
На машине ГИФТИ ввод программы решения аналогичной задачи занимал считанные секунды, и после получения многометровых распечаток с таблицами исследуемых функций пользователь мог неспешно их анализировать, освобождая компьютер для решения других задач.
До 1961 года машина ГИФТИ была в Вычислительном центре единственной цифровой ЭВМ, на которой успешно решались многие научно-технические задачи и воспитывались первые кадры горьковских программистов.
Машина "ГИФТИ", бесспорно, оказала идейное влияние на становление компьютерного дела в ГГУ, однако в силу малого быстродействия 100(сто!) операций в секунду и низкой надежности не годилась для решения серьезных задач. В 1959 году в нашей стране начался выпуск ЭВМ М-20 (20 тысяч оп/сек) и естественно, ВЦ ГГУ стал одним из претендентов на ее получение. В 1960 году наряд на получение машины был выделен, официальная сдача машины в эксплуатацию произошла 8 марта 1961 года.
Работоспособность ламповых машин определялась скоростью устранения возникающих отказов, а возникали они в среднем каждые 3 часа, и поэтому машина находилась под неусыпным контролем инженеров-электронщиков. Ночь обычно отводилась для счета больших задач, в машинном зале находились двое программист за пультом и инженер, дремлющий на скамейке за стойками. Периодически программист толкал в бок электронщика и тот заменял очередной неисправный блок. Борьба с электронной стихией формировала характеры и оттачивала мастерство. Поиск неисправностей в аппаратуре и ошибок в программе были скорее искусством, чем наукой, что придавало своеобразную романтичность этому историческому этапу в развитии компьютерной техники. М-20 проработала в ВЦ до 1971года.
Второе поколение ЭВМ в ВЦ Горьковского госуниверситета представляли БЭСМ-4, М-222 и БЭСМ-6. Транзисторные машины обладали существенно большей надежностью и практически безотказно работали круглосуточно. На базе М-222 был реализован "самодельный", первый учебный терминал-класс, где в роли терминалов использовались электрические машинки "Консул".
Обладателем ЭВМ высокой производительности БЭСМ-6 Горьковский университет стал в 1974 году, первым среди вузов России. В 1982 году был осуществлен дистанционный доступ с удаленных телетайпов к БЭСМ-6 из здания НИИ механики по прямому проводу с применением аппаратуры уплотнения.
Затем появилось третье поколение ЭВМ: ЕС-1050, ВК2П-45, СМ-3 и СМ-4. Учебный терминал-класс обрел второе рождение на базе СМ-4 с дисплеями ВТА-2000 в 1983 году. В 1984 году он был передан факультету ВМК, а в ВЦ был открыт аналогичный. В 1986 году удалось арендовать выделенную четырехпроводную линию для экспериментальной компьютерной сети. Эта линия используется и в действующем ныне канале передачи данных ВЦ Центр Интернет в Университетской Компьютерной Сети.
По материалам:
www.unn.ru/general/history/hp1946.html (Сайт Нижегородского госуниверситета);
www.programmersforum.ru/showthread.php?t=63966 (Кетков Ю.Л. профессор кафедры МО ЭВМ, д.т.н.);
М.Я. Эйнгорин. Как создавалась машина ГИФТИ. Нижний Новгород. Из-во Нижегородск. у-т, 2007. (Один из основных разработчиков ЭВМ ГИФТИ).
По материалам сайтов: www.computer-museum.ru, www.chernykh.net, http://schools.keldysh.ru/sch444/museum/
Один из мифов, касающийся начального периода истории компьютеров, обычно связывался с исследованиями и разработкой американских ученых и инженеров. Этот миф был разрушен в 1969 году, когда информация относительно компьютеров Цузе стала доступной в США и других странах.
Конрад Цузе родился 22 июня 1910 года в Берлине. Его отец, Эмиль Цузе, был почтовым чиновником, зарабатывал немного, но вместе с женой Марией Цузе, и сестрой Конрада Лизелоттой, делал все, что мог, чтобы поддержать интерес сына к конструированию вычислительных машин.
Надо сказать, что еще в детстве Конрад сконструировал действующую модель машины для размена монет. В 1935 году он окончил высшую техническую школу (Tecbnische Hochschule) по специальности “гражданское строительство” и начал работать аналитиком в авиакомпании Henschel. Работая в этой компании, Цузе столкнулся с многочисленными нудными вычислениями, связанными с проектированием самолетов. В 1936 году, в возрасте 26 лет, он решил проектировать вычислительный прибор (компьютер), имея для этого накопившиеся идеи и квартиру родителей в качестве “мастерской”.
Он собирался построить серию компьютеров, первоначально названных Versuchsmodell (экспериментальная модель). Первый Versuchsmodell, V-1, построенный в 1938 году, был полностью механическим, на 16 машинных слов и занимал площадь 4 кв. метра (восстановленная версия V-1 находится в музее Verker und Technik в Берлине). Серию Versuchsmodell Цузе рассматривал в качестве рабочего инструмента для инженеров и ученых, которые имели дело со сложными аэродинамическими вычислениями.
В начале войны, в 1939 году, Цузе был завербован в армию, но вскоре он и многие инженеры, подобные ему, были освобождены от военной службы и приписаны к инженерным проектам, поддерживающим военную немецкую мощь. Цузе направили в Германский авиационный исследовательский институт в Берлине.
Вернувшись в свой родной город, ученый продолжил совершенствовать серию Versuchsmodell в доме своих родителей, и в большей степени за счет своих собственных средств, хотя он работал в институте, который конструировал военные самолеты для Luftwaffe. Гельмут Шрейер, который сотрудничал с Цузе при создании компьютеров, предложил использовать электромагнитные реле для второго Versuchsmodell, V-2. Шрейер показал Цузе, как эти реле могут быть применены в структуре цифрового механического компьютера, разработанного Цузе. Шрейер, уехавший после войны в Бразилию, также рассматривал возможность применения вакуумных ламп для создания компьютеров, и в конечном счете им была разработана разновидность “триггерной схемы”, сейчас широко используемой в компьютерной логике.
V-2 был, конечно, очень ненадежен, но один из редких случаев его нормальной работы случился тогда, когда Альфред Тейхман, ведущий ученый из Германского авиационного института, посетил дом Цузе, по его приглашению. Тейхман был специалистом по важнейшей проблеме самолетостроения вибрации крыла. Он сразу понял, что машина, подобная V-2, может помочь инженерам решить эту проблему. Проблема вибрации “исчезла под нажатием пальца”, позднее вспоминал Цузе.
Тейхман помог Цузе достать денег для его работ по созданию компьютеров, но Цузе продолжал работать в доме своих родителей и никогда не нанимал посторонний штат ассистентов. При помощи Шрейера Цузе завершил первый в мире полностью функциональный, программно-управляемый компьютер в конце 1941 года.
Этот третий Versuchsmodell получил название V-3. Он имел 1400 электромагнитных реле в памяти, 600 реле для управления вычислениями и еще 600 реле для других целей. Компьютер работал в двоичной системе счисления, числа представлялись в форме с плавающей запятой, длина машинного слова составляла 22 бита, объем памяти 64 бита.
На операцию умножения V-3 затрачивал от трех до пяти секунд. Проблемой, наиболее часто решаемой V-3, было вычисление определителя матрицы (т. е. решение системы уравнений с несколькими переменными). V-3, очевидно, был первым компьютером, который использовал для записи арифметических выражений обратную польскую запись. Изобретение этой системы записи приписывается польскому логику Яну Лукасевичу, но Цузе не знал о вкладе Лукасевича, он просто заново изобрел “колесо”, подобно многим другим ученым.
В период Второй мировой войны Цузе переименовал свои первые три компьютера в Z-l, Z-2, Z-3, соответственно, чтобы избежать путаницы с ракетами V-1 и V-2, разрабатываемыми Вернером фон Брауном для войны против Англии. Цузе всегда хотел сделать свои компьютеры серии Z для общего назначения, но все-таки один компьютер стал специализированным S-1, вариант Z-3, который, вероятно, поддерживал немецкую военную мощь.
Этот специализированный компьютер, S-1, помогал Henschel Aircraft Company производить летающие бомбы, известные как HS-293. Не так хорошо известная и широко используемая бомба фон Брауна HS-293 представляла собой беспилотный аэроплан, носимый наверху бомбардировщика. Пилот бомбардировщика ловил цель в поле своего зрения и сбрасывал HS-293, a экипаж бомбардировщика по радио управлял ее планированием к цели. HS-293 взрывала корабли войск союзников после августа 1943 года, а также разрушала мосты в Польше при отступлении немцев в 1945 году.
Компьютер S-1 надежно работал с 1942 по 1944 год на заводе Henschel в Берлине, рассчитывал размеры крыла и поворота руля высоты, важных для HS-293. Рабочие измеряли истинные размеры крыльев и рулей высоты; результаты этих измерений помещались в S-1, который затем вычислял угол отклонения HS-293 от прямой траектории, если эти части будут правильно собраны. Цузе развивал методы программирования своего компьютера, которые не требовали от программиста детального понимания внутренней организации компьютера. Он старался решить проблему, которую можно было назвать нехваткой ведущих мировых программистов, потому что война истощала людские ресурсы. Он попросил общество слепых выслать ему список слепых людей, которые проявили способности в математике. Из списка Цузе выбрал некоего Августа Фоста, который затем стал профессионалом в программировании.
Теперь, когда Z-3 получил признание, Цузе захотел построить еще более мощный компьютер. Он представлял его с большим объемом памяти на 500 чисел и с 32-битным машинным словом. Z-4 был наиболее сложным компьютером Цузе. Он мог складывать, умножать, делить или находить квадратный корень за 3 сек. В это время Цузе уже имел поддержку немецкого военного командования для строительства компьютеров общего назначения, хотя министерство авиации, которое заказывало компьютер, было заинтересовано в компьютере только для вычислений, связанных с проектированием самолетов. К 1942 году Цузе основал фирму “Zuse Apparatebau”.
Большую часть войны он работал один, но к концу войны под его руководством трудились 20 сотрудников. После немецкого поражения в феврале 1943 года под Сталинградом Цузе стал убежденным сторонником того, чтобы война закончилась. Его компьютеры могли бы пригодиться для мирных целей. Но жизнь была неустойчива, и он не мог быть уверен останутся ли его машины “в живых”. Союзники бомбили Берлин каждый день. Z-3 был разрушен, a Z-4 перед побегом из Берлина в марте 1945 году Цузе пришлось перевозить три раза по городу, чтобы избежать бомбардировок, что нарушило работоспособность прибора.
Цузе позволили покинуть Берлин в последние месяцы войны. В марте 1945 года он и его ассистент перевезли демонтированный Z-4 поездом до Геттингена, 100 миль на запад. По приказу правительства его оборудование следовало отвезти в подземные фабрики около Нортхейма, но после первого посещения концлагерей Цузе отказался. Он поселился возле гор, в мирной баварской деревне. Цузе предлагали уехать из Германии и переехать в Англию или в США. Тогда он мог бы строить компьютеры для англичан в течение послевоенных лет. Но он остался в Германии. Он жил в Хинтерштейне до 1946 года, причем его оборудование было спрятано в подвале фермы.
В 1946 году Цузе переехал в другую альпийскую деревню, Хопферау, около австрийской границы. Там он прожил три года. Было время подумать. Разработка аппаратного обеспечения после войны приостановилась, и Цузе вернулся к программированию.
В 1945 году он разработал то, что назвал первым языком программирования для компьютеров. Систему программирования он назвал Plankalkul (”исчисление планов”). Цузе написал небольшое эссе, где рассказал о своем творении и возможности его использования для решения таких задач, как сортировка чисел и выполнение операций в двоичной арифметике. Научившись играть в шахматы, Цузе написал несколько фрагментов программ на Plankalkul, которые позволяли компьютеру оценивать шахматные позиции.
Многие идеи языка Plankalkul остались неизвестными целому поколению программистов. Только в 1972 году работа Цузе была издана целиком, и эта публикация заставила специалистов задуматься над тем, какое влияние мог бы оказать Plankalkul, будь он известен раньше. “Видимо, все могло обернуться совсем иначе, а мы живем не в лучшем из миров заметил по этому поводу один ученый, критикуя языки программирования, появившиеся позднее.
В 1948 году профессор Е. Стейфил из технического университета в Цюрихе заказал у Цузе компьютер Z-4 для своей лаборатории. А в 1949 году Цузе основал маленькую компанию, названную ZUSE KG, которая должна была разрабатывать компьютеры для научных целей. Она просуществовала до 1966 года, когда ее приобрела фирма Siemens AG, но Цузе остался в новой фирме внештатным консультантом. В 5060 годах Цузе были созданы новые компьютеры на реле Z-5 и Z-11, затем вместе с Фроммом и Гюнчем он создает Z-22 на электронных лампах и Z-23 на транзисторах. Одной из последних его разработок были компьютеры Z-25 и Z-31, а также графомо-граф Z-64 для автоматического построения чертежей и карт.
Он написал книгу “History of Computing”, изданную на немецком и английском языках. В последние годы Цузе жил в деревне Хессиан в нескольких часах езды от Франкфурта и любимым его занятием стала живопись, в основном абстрактная. Его работы демонстрировались на многочисленных выставках. Некоторые из своих картин он подписывал псевдонимом “KONE SEE”. 18 декабря 1995 года Конрада Цузе не стало. Его заслуги, как одного из родоначальников компьютерной эры, неоспоримы.
Алан Тьюринг
Алан Мэтисон Тьюринг родился в Лондоне в 1912 году в семье чиновника индийской гражданской службы Джулиуса Тьюринга и Сары Тьюринг, урожденной Стоней.
Интерес к науке, и в частности к математике, у Алана Тьюринга проявился рано, еще в начальной школе и в пансионе, в который он поступил в 1926 году. Некоторые характерные черты, присущие зрелому Тьюрингу, были заметны уже тогда. Принимаясь за ту или иную задачу, он начинал ее решение с азов привычка, которая дает свежесть и независимость его работам, но также, несомненно, делает автора трудно! читаемым.
В 1931 году в девятнадцатилетнем возрасте Тьюринг в качестве математического стипендиата поступил в Королевский колледж Кембриджского университета. Четырьмя годами позже защитил диссертацию “Центральная предельная теорема теории вероятности” (которую он самостоятельно! “переоткрыл”, не зная об аналогичной предшествующей работе) и был избран членом Королевского научного общества. Именно в 1935 году он впервые начал работать в области математической логике и проводить исследования, которые уже через год привели к выдающимся результатам: решению одной из проблем Д. Гильберта и изобретению умозрительной машины (машины Тьюринга), по своему логическому устройству являющейся прообразом цифровых компьютеров, созданных только спустя десять лет.
Предыстория этого была следующей. В Париже в 1900 году на Международном математическом конгрессе знаменитый математик Давид Гильберт представил список нерешенных проблем. В этом списке второй значилась задача доказательства непротиворечивости системы аксиом обычной арифметики, формулировку которой в дальнейшем Гильберт уточнил как “Entscheidungs problem” (проблема разрешимости). Она заключалась в нахождении общего метода, который позволил бы определить, “выполнимо ли данное высказывание на языке формальной логики, т. е. установить его истинность”.
Алан Тьюринг впервые услышал об этой проблеме на лекциях Макса Ньюмена в Кембридже (он работал там преподавателем математики с 1924 года) и в течение 1936 года получил ответ: проблема Гильберта оказалась неразрешимой. Результаты работы он описал в своей знаменитой статье в 19361937 годах. Но “значение статьи, в которой Тьюринг изложил свой результат, писал Джон Хопкрофт, простирается за рамки той задачи, по поводу которой статья была написана. Работая над проблемой Гильберта, Тьюрингу пришлось дать четкое определение самого понятия метода. Отталкиваясь от интуитивного представления о методе как о некоем алгоритме, т. е. процедуре, которая может быть выполнена механически (здесь, по-видимому, Тьюринг воспользовался терминологией М. Ньюмена “чисто механический процесс”, примененной на лекции, излагающей проблему Гильберта), без творческого вмешательства, он показал, как эту идею можно воплотить в виде подробной модели вычислительного процесса.
Полученная модель вычислений, в которой каждый алгоритм разбивался на последовательность простых, элементарных шагов, и была логической конструкцией, названной впоследствии машиной Тьюринга”.
Значение работы Тьюринга для теории вычислений велико: “Машина Тьюринга за данный большой, но конечный промежуток времени способна справиться с любым вычислением, которое может выполнить всякий сколь угодно мощный современный, компьютер”.
Тьюринг стал первым, достигшим понимания универсальной природы вычислительной машины. Он показал, что можно построить универсальную машину, способную работать так же, как любая простая машина Тьюринга, если в нее ввести описание этой простой машины.
В сентябре 1936 года Тьюринг покидает Кембридж и перебирается в Америку в Принстонский университет, где работает куратором. Там в 1938 году он получает степень доктора философии. В то время в Принстонском университете работали такие знаменитости, как Черч, Курант, Эйнштейн, Харди, фон Нейман.
Между Нейманом и Тьюрингом состоялись первые дискуссии по вычислительным и “думающим” машинам. Джон фон Нейман проявил живой интерес к идее универсальной машины и предложил Тьюрингу поработать в Принстоне в должности своего ассистента. Тьюринг не принял это предложение и весной того же года возвратился в Кембридж, где ему подтвердили звание и положение члена Королевского колледжа университета.
Период жизни и деятельности Алана Тьюринга с 1939 по 1945 год долгое время был скрыт завесой секретности. Мать Тьюринга, опубликовавшая в 1959 году воспоминания о сыне, скупо писала, что сразу же после объявления войны Тьюринга приняли на работу в качестве государственного служащего в управление связи Министерства иностранных дел. Вначале его местопребывание сохранялось в тайне, хотя позднее стало известно, что он работал в Блетчли-парке близ Лондона, где проводилась особо секретная работа по криптоанализу. Работа в Блетчли-парке велась в рамках засекреченного проекта “Ультра”, целью которого был поиск метода расшифровки секретных немецких кодов.
Для шифрования секретнейших приказов верховного главнокомандования вермахта, аппарата полиции, СД, СС в Германии использовалась электрическая шифровальная машина “Энигма”. Еще до начала Второй мировой войны поляки сумели сделать точную копию “Энигмы” и переправить ее в Англию. Но без ключа и схемы коммутации (немцы меняли их три раза в день), даже имея в качестве приемника еще одну “Энигму”, трудно было дешифровать сообщение.
Для разгадки секретного шифра в Блетчли-парке собралось любопытное общество выдающихся математиков, шахматистов, любителей кроссвордов, знатоков различных областей знаний и даже двух музыкантов. Среди этих людей, оторванных от внешнего мира, был и Алан Тьюринг, возглавлявший одну из групп, в которой работали двенадцать математиков и четыре лингвиста В работу его группы и некоторых других входило создание различных специальных вычислительных машин для целей дешифровки немецких сообщений. Надо сказать, что блестящие идеи умозрительной “машины Тьюринга” воплотились в реальных машинах, созданных в Блетчли-парке. Среди них были “Хит Робинсон”, электромеханическая машина, включавшая два фотоэлектрических устройства считывания с перфоленты со скоростью 2000 символов в секунду (подобно бесконечной ленте и считывающей головке “машины Тьюринга”), арифметическое устройство на реле и печатающий блок, “Питер Робинсон”, “Супер Робинсон” и т. д. Среди разработчиков, кроме Тьюринга, были Уинн-Уильямс, Флауэрс и др. Эти машины работали по принципу перебора различных комбинаций из символов немецкого кода до получения осмысленного сообщения. В сентябре 1942 года в Блетчли-парк прибыл профессор М- Ньюмен (тот самый, из Кембриджа) и возглавил группу специалистов (Т. Флауэрс, А. Кумбс, С. Броуд-бейт, У. Чандлер, И. Гуд, Д. Мичи) по созданию электронной вычислительной машины для той же цели. В результате в декабре 1943 года была создана первая (не только в Англии, но и в мире) электронная вычислительная машина “Колосс”, содержащая 2000 электронных ламп.
В этой машине использовался только один тип лент, как и предлагал А. Тьюринг, “данные” (в закодированном виде перехваченные за день неприятельские сообщения), скорость считывания с которых достигала 5000 символов в секунду (использовались пять фотосчитывающих устройств). Машина в поисках соответствия сопоставляла зашифрованное сообщение с уже известными кодами “Энигмы”, которые хранились в кольцевых регистрах, выполненных на тиратронах. К концу войны было изготовлено около 10 “Колоссов”.
Очевидно, непосредственного участия в создании “Колосса” Тьюринг не принимал, он выступал в роли консультанта, но как признался И. Гуд, Ньюмену при создании машины очень помогла работа Тьюринга 1936 года.
Я не хочу сказать, что мы выиграли войну благодаря Тьюрингу, вспоминал многие годы спустя И. Гуд, но беру на себя смелость сказать, что без него мы могли бы ее и проиграть”. За работу в Министерстве иностранных лет (в Блетчли-парке) во время войны А. Тьюринг был награжден орденом Кавалера Британской империи IV степени.
До сих пор остается невыясненной история встречи во время войны Тьюринга с фон Нейманом. История эта, или, как ее назвали позднее, легенда, состоит в том, что эта встреча двух выдающихся математиков имела решающее значение для развития современной компьютерной техники. Известно, что Тьюринг совершил, по крайней мере, одну поездку в США в 1943 году, хотя некоторые утверждают, что он бывал там и в 1942 году. Кроме фон Неймана, он встречался также с Клодом Шенноном, но они, очевидно, не обсуждали вопросов по поводу вычислительных машин. Ситуацию взаимоотношений этих знаменитостей, наверно, лучше всего обрисовал С. Френкель, который писал: “Многие люди провозгласили фон Неймана отцом вычислительных машин (в современном смысле термина), но я уверен, что он никогда не сделал бы подобной ошибки сам. Его (фон Неймана) достоверно можно назвать “повивальной бабкой”, и он настойчиво утверждал мне и другим, что фундаментальная концепция принадлежит Тьюрингу, поскольку подобное не предвидели ни Бэббидж, ни Лавлейс, ни| другие”.
В 1945 году Алан Тьюринг, отказавшись от лекторской работы в Кембриджском университете, перешел по рекомендации М. Ньюмена в Националь-ную физическую лабораторию (НФЛ), где организовалась группа по проектированию и созданию вычислительной машины АСЕ (Automatic Computing Engine). В течение трех лет (19451948), пока существовала эта группа, он сделал первые наброски АСЕ и внес ряд предложений по ее конструированию. Отчет Тьюринга по АСЕ датирован более поздней датой и ссылается на известный черновой отчет фон Неймана по EDVAC. Но Тьюринг пошел значительно дальше, т. к. его работа содержала много конкретных деталей и имела полную концепцию компьютера с хранимой программой. Многие утверждают, что Тьюринг предложил один из первых проектов такого компьютера концепцию, которую считают фундаментальной в вычислительном мире и которая была предложена им независимо от Маучли, Эккерта и фон Неймана.
Отчет по АСЕ был передан в исполнительный комитет НФЛ 19 марта 1946 года с сопроводительной запиской Уомерсли, в которой сообщалось что, хотя отчет основан на проекте EDVAC, последний содержит ряд идей принадлежащих Тьюрингу. Хотя о работе Тьюринга во время войны много! неизвестно, она, безусловно, значительна, хотя бы по тем моментам, которые обозначены в проекте АСЕ. Машина под названием MOSAIC, основаннная на первичном варианте этого проекта, была вскоре построена Чандлером и Кумбсом.
В сентябре 1948 года Тьюринг перешел на работу в Манчестерский университет, номинально заняв должность заместителя директора лаборатории вычислительных машин, хотя в действительности он числился в математическом отделе М. Ньюмена и являлся ответственным за программирование.
В Манчестерском университете с конца 1940 года под руководством ф. Уильямса и Т. Килбурна разрабатывалась вычислительная машина “Марк-1″. 21 июля 1948 года на машине была запущена 52-минутная программа, и в настоящее время считается, что “Марк-1″ был первым действующим компьютером с хранимой программой.
При работе над усовершенствованием манчестерской машины М. Ньюмен первым пришел к изобретению индексного регистра, а А. Тьюринг написал первое руководство по программированию. Кроме того, Тьюрингом было придумано еще одно новшество. В машине “Марк-1″ использовался 5-битный код для представления команды, причем каждая команда содержала 4 таких кода, т. е. 20 бит. С целью облегчения программирования Тьюринг предложил поставить в соответствие каждому 5-битному коду определенный символ из набора 32 знаков (25) по числу возможных комбинаций. Символы, которые, по Тьюрингу, соответствовали пятизначному двоичному коду, содержали цифры, буквы и знаки препинания, имеющиеся на стандартной клавиатуре телепринтера. Например, символ “/” (косая черта) был обозначен как 00000, буква “R” 01010 и т. д. В дальнейшем, как известно, символы компьютеров, в том числе и современных персональных, стали занимать 8-битный код (байт). Их число может достигать 256 различных знаков (28).
В конце 40-х годов Тьюринг занялся проблемой “мыслящих” машин, машинного интеллекта, которая к настоящему времени сформировалась в натуральное направление под названием “Искусственный интеллект”. Многие ученые (в частности, Дж. Сирл) считают Алана Тьюринга основоположником искусственного интеллекта. Первая его статья “Intelligent Machinery” в форме отчета Национальной физической лаборатории вышла в 1948 году, а затем в 1950 году в английском журнале “Mind” была опубликована его основополагающая статья “Computing Machinery and Intelligence”. В русском переводе она вышла под названием “Может ли машина мыслить?”. И сегодня анализ этой проблемы Тьюрингом “остался, пожалуй, самым лучшим из всего, что стоит прочитать каждому желающему понять суть дела”.
Я собираюсь рассмотреть вопрос “Могут ли машины мыслить?” этими словами Тьюринг начинает статью, но вскоре он заменяет исходную постановку вопроса совершенно иной, в которой “мышление” машины рассматривается в технических терминах. В качестве критерия оценки мыслительной деятельности машины Тьюринг предлагает использовать ее действия в процессе “игры в имитацию” (Imitation game). Эта “игра” в дальнейшем получила название теста Тьюринга.
В современном понимании тест Тьюринга интерпретируют следующим образом: если машина способна имитировать поведение, которое эксперт-экзаменатор не сможет отличить от поведения человека, обладающего мыслительными способностями (у Тьюринга испытуемые человек и машина отделены от эксперта-экзаменатора, задающего вопросы, стенами комнат и общаются посредством телеграфа), то машина также обладает этими способностями. С 50-х годов было опубликовано много работ по вопросу о том, как программно реализовать тест Тьюринга и что “можно надеяться получить из современного уровня эвристического программирования”. О своих надеждах и прогнозах А. Тьюринг писал в конце статьи: “Мы можем надеяться, что вычислительные машины, в конечном счете, смогут конкурировать с людьми во всех чисто интеллектуальных сферах деятельности
Да, Маучли и Эккерт построили целостную вещь с названием ENIAC (Electronic Numerical Integrator And Computer) первый действующий электронный цифровой компьютер. 14 февраля 1946 года, в день Святого Валентина, 30-тонный гигант с 18 тысячами электронных ламп и 6 тысячами переключателей был запущен.
ENIAC был создан на основе вакуумно-ламповой технологии, что обеспечило повышение быстродействия, так необходимое для ученых и математиков. По сравнению с компьютером “Марк-I”, построенным в Гарвардском университете Айкеном двумя годами раньше, он работал более чем в тысячу раз быстрее. ENIAC мог умножать за 2,8 мс, делить за 24 мс. До появления ENIAC квалифицированному оператору настольного калькулятора требовалось около 20 часов, чтобы получить приемлемые результаты вычисления траектории. То же самое вычисление занимало 20 минут на Марк-I, а наиболее сложный на то время компьютер ENIAC мог выполнить это вычисление траектории всего за 30 секунд.
ENIAC был неуклюжим по сравнению с более поздними компьютерами. Чтобы задавать компьютеру новые команды, необходимо было набрать код вручную, так же как телефонный оператор соединяет контакты на коммутационном поле. Однако научный мир приветствовал двух главных создателей ENIAC Джона Маучли и Джона П. Эккерта.
У Маучли с детства проявились гениальные способности. Он умел обращаться с электричеством и интересовался вычислительными машинами. Родился ученый 30 августа 1907 года в Цинциннати.
В 1925 году Маучли поступил в университет в Балтиморе, где изучал электронную технику. В сентябре 1927 года, после двухлетнего обучения в колледже, ему была присвоена степень магистра для поступления в высшую Школу физики, которую он не закончил. Он работал вычислителем в бюро стандартов. Он всегда отыскивал способы ускорять вычисления, насколько это возможно, на основе существующего оборудования. Ему присвоили степень доктора философии по физике в 1932 году. Год спустя он стал заведующим кафедрой физики в колледже, штат Пенсильвания.
4 декабря 1940 года Маучли стал учеником Джона де Вайре и в течение года надеялся изобрести первым электронное вычислительное устройство, которое бы выдавало ответ сразу же после ввода всей необходимой для расчета информации. Затруднение заключалось в системе счисления.
Итогом всех проведенных экспериментов явилось представление доклада на конференции в Пенсильванском университете. Сразу же после лекции он встретился с Джоном Атанасовым. В июне 1941 года Маучли отправился в штат Айова, чтобы взглянуть на машину Атанасова ABC. Познакомившись с работой машины, он был разочарован методами Атанасова, машина не была автоматизирована и каждый шаг управлялся оператором. Он надеялся увидеть более совершенную и автоматизированную машину.
Он отметил, что Атанасов не использовал основные преимущества вакуумных ламп, их быстродействие и многофункциональность. Кроме того, Атанасов не знал, как сделать надежными вакуумные лампы. Пока Маучли находился в штате Айова, он узнал, что его приняли в электротехническую школу Мура. Был разработан курс для обучения двадцати специалистов по математике и электроники. Здесь впервые пересеклись пути Джона Маучли и Джона Преспера Эккерта.
Подобно Маучли, Эккерт был талантливый молодой человек с мышлением инженера и готовностью разрабатывать самые необычные устройства. Он родился в Филадельфии 9 апреля 1919 года в семье инженера-строителя.
Ко времени окончания школы в 1937 году Эккерт закончил также первый курс отделения математики. Хотя он поступил в MIT и был допущен к дальнейшей учебе, мать Эккерта не хотела этого. Его отец хотел, чтобы он учился в Вартонской школе финансов, в университете штата Пенсильвания. Следуя желанию своих родителей, он перевелся в Вартон, но проучился там недолго, поскольку не любил занятия по бизнесу. Он хотел изучать физику. Так как набор закончился, он пошел в школу Мура, которую закончил в 1941 году.
Во время Второй мировой войны Эккерт работал над проблемами радаров, над устройством синхронизации измеряемых радарами целей. Летом 1941 года он изучал в школе Мура электронику и подружился с одним из двадцати студентов Джоном Маучли. Эккерту было двадцать два, он был моложе Маучли на двенадцать лет, но они этому не придавали никакого значения. В то время как другие думали, что планы Маучли нереалистичны, Эккерт, напротив, был убежден, что создание электронного компьютера на базе вакуумных ламп вполне решаемая задача.
В июне 1941 года Маучли посетил Джона Атанасова. В сентябре он написал Атанасову, что у него есть концепции, которые “ничем не похожи на вашу машину” и что он “хочет провести исследования различных идей с надеждой получения очень быстрых результатов и не слишком дорогостоящих”. Он спросил разрешения у Атанасова о включении некоторых особенностей его компьютера в свой. Однако ответ Атанасова был отрицательным.
В ноябре 1942 года союзники высадились в Северную Африку, а т. к. различие между севером Африки и Мэрилендом было значительно, то таблицы артиллерийского огня были неверны. Поэтому артиллерийский департамент армии США получил заказ на новые баллистические таблицы, которые требовали вычисления сотен траекторий: для каждой траектории по шесть таблиц в день. Ученые Абердина, специалисты в области баллистических исследований, работали совместно со школой Мура над составлением таблиц.
Дифференциальный анализатор, их самая лучшая машина в то время, не был достаточно точен, но только один Эккерт понимал ее бесперспективность. Маучли ждал момента, чтобы предложить школе Мура сконструировать электронный высокоскоростной компьютер на базе вакуумных ламп.
Школа Мура отнеслась безразлично к его идее, но Эккерт был на его стороне. Для Маучли и Эккерта наступило тяжелое время, т. к. было необходимо убедить других вкладывать деньги в электронику, особенно в электронные лампы. Оппоненты говорили, что лампы быстро выйдут из строя. Знаменитый Энрико Ферми, статистик и физик, информировал Джона фон Неймана, что с таким количеством ламп ENIAC проработает только пять минут.
Но Маучли и Эккерт не были обеспокоены этим. Они знали, что компьютер будет в тысячу раз быстрее, чем любое другое устройство, и если он проработает только пять минут в час, это будет в сотню раз быстрее, чем любая другая машина.
В августе 1942 года Маучли составил проект “Использование быстродействующих устройств на электронных лампах для вычислений”, в котором убедительно показал, что использование электронных схем значительно увеличит быстродействие вычислений. Машина, которую он задумал, выполняла тысячу умножений в секунду, вычисляла траектории за одну-две минуты, что в пятнадцать тридцать раз быстрее, чем анализатор.
Но реальное появление ENIAC произошло в сентябре, когда Абердин установил связь с университетом через своего посредника, лейтенанта Германа Голдстайна. В марте 1943 года Голдстайн попросил Маучли высказать свои идеи относительно электронных вычислений. Когда Голдстайн предложил, чтобы Маучли записал все свои идеи на бумаге, то он ответил, что это уже сделано.
Некоторые члены правительства не одобряли этих разработок, т. к. думали, что компьютер технически невыполним при существующих технологиях. Но все-таки проект был одобрен 9 апреля 1943 года, в день рождения Эккерта, когда ему исполнялось 24 года. Артиллерийский департамент выделил 400 тыс. долларов для засекреченной разработки электронного универсального компьютера, самого быстрого, названного электронным числовым интегратором (ENIAC). План разработки ENIAC был засекречен и в школе Мура упоминался под кодовым названием ”Проект РХ”.
Самое большое электронное оборудование, известное в то время, электронное радарное устройство, содержало около 200 электронных ламп, в то время как в ENIAC предусматривалось приблизительно 17 000 ламп.
Пятьдесят человек непрерывно работали над проектом за исключением Маучли, который еще и учился. Место для установки было выбрано прозаически, это была перестроенная аудитория в школе Мура.
ENIAC не использовал двоичную систему, упрощая работу операторов, читающих результаты сразу же, без преобразования из двоичных кодов. Самое длинное число, обрабатываемое ENIAC, содержало двадцать цифр. В главном программном устройстве была заложена информация для всех команд и переходов. Программа вычислений не сохранялась в памяти вместе с данными и не могла быть изменена.
Уже в декабре 1943 года Маучли и Эккерт стали думать относительно проектирования улучшенного ENIAC, который обеспечивал бы хранение в памяти не только данных, но и команд. Их доклад о достигнутых результатах, написанный в том же месяце, включал и предложение о другом компьютере. Новая идея обрела конкретную форму, когда в конце 1944 года Баллистическая исследовательская лаборатория согласилась на разработку EDVAC (Electronic Discrete Variceble Automatic Computer).
Проект EDVAC оказал революционное влияние на весь ход дальнейшего развития компьютерной техники. В январе 1944 года Джон Эккерт впервые выдвинул идею хранимой в памяти программы. С позиций сегодняшнего дня принцип хранимой программы считается наиболее важной идеей компьютерной архитектуры и; как утверждают некоторые ученые, единственной вызвавшей вторую промышленную революцию XX века.
Устройства памяти в компьютере EDVAC Эккертом впервые были выполнены на ртутных линиях задержки.
Осенью 1944 года, когда Маучли и Эккерт работали над новым компьютером, военный представитель проекта Герман Голдстайн пригласил в качестве консультанта Джона фон Неймана, блестящего математика, участвовавшего в то время в секретном Манхэттенском проекте по созданию атомной бомбы. Нейман, познакомившись с работой группы Маучли и Эккерта над проектом EDVAC, прекрасно понял, что представляет собой этот компьютер для научных исследований. В июне 1945 года он подготовил отчет “Предварительный доклад о машине EDVAC”, в котором дал описание основных элементов компьютера и логики его работы.
Голдстайн, не посоветовавшись с основными авторами проекта Маучли и Эккертом, размножил доклад и разослал его многим ученым Америки и Англии. Доклад произвел большое впечатление в научном мире, а т. к. имя Неймана было широко известно, никто не усомнился в его приоритете (до сих пор архитектуру компьютера, основанную на вышеприведенных положениях доклада, называют неймановской).
Маучли и Эккерт, лишенные возможности, по соображениям секретности, опубликования материалов по своему изобретению, были глубоко возмущены действиями Голдстайна, предоставившего это сделать человеку, который подключился к их работе только практически через год. Они понимали, что их изобретение найдет большое применение в человеческой деятельности, и опасались, что публикация Неймана помешает им получить патент.
Так оно и случилось. Администрация школы Мура Пенсильванского университета настаивала на том, чтобы члены группы отказались от своих авторских прав на ENIAC и EDVAC. Маучли и Эккерт отвергли требование администрации и в конце марта 1946 года, через полтора месяца после торжественного пуска их первенца, компьютера ENIAC, покинули университет.
С февраля 1946 года ENIAC участвовал в решении задач секретного характера, связанных с созданием водородной бомбы. Первую задачу, которую существующие вычислительные машины решали за сорок часов, ENIAC вычислял за двадцать секунд. Маучли и Эккерт открыли новую эру, и доказательством этого служил их 30-тонный монстр с 40 панелями, 10 000 конденсаторами, 6000 переключателями и 18 000 электронными лампами. 4000 неоновых лампочек были на лицевой части машины, которые регистрировали состояние различных частей машины.
До 1947 года ENIAC находился в школе Мура, затем его перевезли на полигон в Абердине. Используемый главным образом для составления таблиц стрельбы и создания нового вида оружия, он также применялся для аэродинамических расчетов и предсказания погоды. Проработал он до 22 октября 1955 года.
Отвергнув предложение открыть компьютерную лабораторию при компании IBM, Маучли и Эккерт основали весной 1946 года собственную фирму, на ссуду, взятую у отца Эккерта.
В конце 1947 года Маучли и Эккерт подписали контракт с корпорацией Northron в Калифорнии на создание двоичного автоматического компьютера BINAC, который предполагалось использовать в проекте разработки дальнобойной управляемой ракеты для Военно-воздушных сил. При этом также предполагалось в будущем использовать его как бортовой вычислитель.
BINAC для Маучли и Эккерта был ступенькой к UNIVAC, изобретатели верили в коммерческий потенциал компьютеров, и компьютер, который они сделали, имел большой спрос: сорок шесть экземпляров были проданы. Заказчики покупали компьютеры, даже если они стоили сотни тысяч долларов. Все остальные фирмы, среди них IBM, были вынуждены простаивать и лишь наблюдать за успехом UNIVAC Эккерта и Маучли. До конца 1949 года фирма Эккерта и Маучли испытывала финансовые затруднения.
Ударом явилась смерть главного инвестора фирмы, Генри Страуса, державшего 40 процентов пакета акций в “Эккерт-Маучли” он погиб в авиационной катастрофе. Находясь на грани банкротства, Эккерт и Маучли приняли первое приемлемое предложение от Remington Rand. Два изобретателя получили 70 000 долларов за патенты плюс гарантируемое жалование 18 000 долларов в год в течение следующих восьми лет. Remington Rand завершил UNIVAC и поставил его в Бюро переписи 14 июля 1951 года.
UNIVAC был самым быстродействующим компьютером, созданным к тому времени (1951 год). Это была единственная в мире коммерческая электронная вычислительная машина общего назначения. Его “изюминка” память с хранимой программой, а программируемые команды записывались на магнитную ленту. Одна бобина с магнитной лентой могла хранить один миллион знаков, раньше для такого количества требовались десятки тысяч перфокарт. UNIVAC содержал только 5000 электронных ламп (по сравнению с 17 468 лампами ENIAC) и был более компактен, чем предшественники. Основной процессор занимал пространство 14,5×7,5×9 футов. В то время как ENIAC работал с частотой 100 000 Гц, у UNIVAC она была 2,5 млн. импульсов в секунду. UNIVAC не требовал большого количества времени для загрузки. Информация считывалась с магнитной ленты. В отличие от двадцати 10-разрядных слов ENIAC, UNIVAC имел во внутренней, быстродействующей, доступной памяти 1000 слов.
После UNIVAC Маучли и Эккерт создали компьютер LARC, первую машину, в которой были заложены идеи мультипрограммирования и мультипроцессирования. В то же время Эккерт занял пост вице-президента в “Sperry Corporation”. Джон Маучли работал директором в “Univac-Division” до 1959 года, а затем организовал фирму “Mauchly Associetes” по разработке компьютерной техники, а в 1968 году создал сеть консалтинговых компаний с названием “Dynatrend”.
В 1974 году Маучли серьезно заболел (наверное, причиной болезни было несправедливое решение судьи Ларсона, вынесенное 19 октября 1973 года, в котором подвергался сомнению приоритет Маучли и Эккерта и, соответственно, патентные права “Sperry Corp.”) и до конца жизни так не смог поправиться. Он умер в январе 1980 года.
Профессор Маучли был членом многих обществ, в том числе Американского физического общества и Института Франклина. Он был удостоен многих наград, среди которых медаль Говарда Поттса Института Франклина (1949 год), премия Джона Скотта (1961 год). В 1973 году Маучли вместе с Эккертом был удостоен филадельфийской премии “Человек года”. Джону Эккерту в 1964 году в Пенсильванском университете присудили почетную степень доктора наук в области компьютерной техники. В 1969 году он был удостоен высшей государственной награды за достижения в развитии науки, математики и техники медали за достижения в области науки (National Medal of Science). Он является действительным членом Института инженеров по электротехнике и радиоэлектронике, членом Национальной академии технических наук, он автор и соавтор 87 патентов. Маучли и Эккерт вписали в историю компьютерной техники монументальную страницу.
В конце 1944 года, когда Маучли и Эккерт трудились над компьютером с хранимой в памяти программой EDVAC, через шесть месяцев после того, как Эккерт выдвинул идею компьютера с хранимой программой, к ним присоединился в качестве консультанта Джон фон Нейман. В то время ему шел 41 год, и он был известен как блестящий математик. Ему суждено было оказать существенное влияние на развитие компьютерной техники в последние годы, выделить основные постулаты, определяющие архитектуру компьютера (известные как постулаты фон Неймана).
Джон фон Нейман родился в Будапеште 28 декабря 1903 года. Он был родом из венгерского высшего класса, из которого вышли многие гиганты математики и физики. Его отец, еврейский банкир Макс Нейман заслужил достаточное габсбурское уважение, чтобы добавить почетное “Маргаттай” к своему фамильному имени (позже измененное Джоном на “фон”). Янош, как его называли в детстве, был старшим из трех сыновей.
Еще маленьким ребенком Янош любил математику и постоянно стремился приспосабливать ее логику к миру в целом. Продолжительные прогулки с другом детства Юджином Вигнером привели их к дискуссии о теории множеств и теории чисел. Тем не менее, его необъятный интеллект не был ограничен математикой. С шестилетнего возраста он шутил со своим отцом на классическом греческом. Когда ему было 10 лет, для мальчика был нанят личный репетитор, позже учитель предложил его отцу развивать особые дарования Яноша. Юноша был вынужден вращаться в кругу своих сверстников, чтобы не показаться надменным. Он не нуждался в заботе. Его незаурядный ум уважали. С 1911 по 1916 год он посещал лютеранскую гимназию в Будапеште и был ее лучшим математиком.
Беспорядки Первой мировой войны нанесли удар семье фон Нейман. Когда к власти пришел коммунистический режим Бела Куна в 1919 году, банки были экспроприированы, оставив Максу фон Нейману один выбор бежать с семьей в их дом в Вене. Они оставались там 4 месяца, возвратились домой в августе 1919 года, два месяца спустя после падения Куна. Этот эпизод превратил Яноша в антикоммуниста на всю жизнь.
Хотя он был зачислен в университет в Будапеште в 1921 году, фон Нейман получил большую часть образования в других институтах. Значительную часть времени, особенно с 1921 по 1923 год, он провел в Берлинском университете. Там он мог заниматься с математиком Эрхардом Шмидтом и слушать лекции Альберта Эйнштейна. Фон Нейман продолжил обучение в швейцарском федеральном институте Технологии в Цюрихе, где он получил диплом по специальности химическое машиностроение в 1925 году. Год спустя, 12 марта 1926 года, в возрасте 22 лет он получил докторскую степень по математике в университете в Будапеште. Не профилирующими предметами у него были экспериментальная физика и химия. Проходя обучение в университете в Геттингене в 1926 и 1927 годах, фон Нейман общался с одними из самых великолепных умов математики. Там он подружился со студентом Робертом Оппенгеймером (будущий научный руководитель американского атомного проекта).
В период с 1927 по 1930 год фон Нейман был лектором по математике в университете в Берлине. Редко кто, будучи молодым, получает такую должность. В течение первого года он опубликовал там 5 научных работ. Три из них, излагавшие математическую структуру для квантовой теории, имели большое значение для этой области науки. Четвертая научная работа была первой попыткой в изучении теории игр. Пятая рассматривала связь между формальными логическими системами пределов математики. К 30-м годам XX века фон Нейман был признан одним из ведущих математиков мира.
Он провел весну 1929 года в Гамбурге и именно тогда получил приглашение читать лекции в Принстонском университете, что явилось поворотным пунктом в его карьере. Фон Нейман приехал в Соединенные Штаты в 1930 году. После чтения лекций по квантовой статистике в течение года в Принстоне, в 1931 году он был назначен на должность профессора. Математическая гидродинамика была предметом его лекций в следующем году. В 1933 году, когда в Принстоне был основан институт перспективных исследований, фон Нейман стал одним из первых шести профессоров школы математики. Эту должность он будет занимать до конца своей жизни. 1 января 1930 года фон Нейман женился на Мариетте Коведи, у них родилась дочь Марина в 1935 году, но брак распался в 1937 году. В том же году фон Нейман стал американским гражданином, а 18 декабря 1938 года женился на Кларе Дэн, которая позже стала программистом в научной лаборатории в Лос-Аламосе.
О фон Неймане часто рассказывают анекдоты в связи с его редкой способностью к мгновенному вызову информации из памяти. Он мог прочесть книгу, а потом несколько лет спустя цитировать ее дословно. Герман Голдстайн, который близко работал с ним в Принстоне в 40-е годы, однажды попытался проверить его память, попросив его вспомнить, как начинается “Рассказ двух городов” Диккенса. Без паузы фон Нейман стал декламировать первую главу, продолжая в течение 10 минут до тех пор, пока его не попросили остановиться.
В другой раз Голдстайн наблюдал, как фон Нейман читал лекцию, которую он не проводил 20 лет и к удивлению Голдстайна, фон Нейман использовал те же буквы и символы, которые он применял в первоначальной лекции. Но более поразительной была скорость, с которой он мог выполнять сложные вычисления в уме. Однажды один из. знаменитых математиков провел всю ночь, пытаясь решить задачу при помощи настольного калькулятора. На следующее утро фон Нейман выполнил эти же вычисления в уме за 6 минут. Не удивительно, что Юджин Вигнер, физик-теоретик и близкий друг фон Неймана, сравнивал его мозг со своего рода совершенным инструментом, способным измерять с точностью до тысячной дюйма.
Решающий момент в карьере Джона фон Неймана произошел, когда он начал работать над созданием первой атомной бомбы в Лос-Аламосе в начале 40-х годов. Результат этой работы привел его к пониманию высокой значимости компьютеров. Роберт Оппенгеймер, который знал фон Неймана с Геттингена, убедил его стать математическим консультантом для секретного Манхэттенского проекта в конце 1943 года. Его квалификация математика в вопросах теории взрыва была крайне необходима. Другие участники манхэттенского проекта отклонили взрывной метод как бесполезный, но, полагаясь на свои знания в теории взрыва, Нейман считал, что такой метод может сработать. Оппенгеймер был убежден в этом, и поэтому фон Нейман разработал детали. Техника фон Неймана, правильность которой была доказана испытаниями в Аламогордо, была применена при взрыве бомбы в Нагасаки.
В течение лета 1944 года фон Нейман был полон страстного желания найти пути ускорения вычислений. Как это ни странно, его первая “встреча” с компьютерами произошла на железнодорожной платформе. Однажды, в июне 1944 года, Герман Голдстайн, математик и военный офицер, который был посредником между Абердинской Мэрилендской баллистической исследовательской лабораторией и секретным компьютерным проектом в школе Мура при университете в Пенсильвании увидел фон Неймана на платформе в Абердине.
Голдстайн ожидал поезда из Филадельфии. В течение военных лет фон Нейману приходилось ездить на работу из Лос-Аламоса (где он был консультантом в баллистической лаборатории) в Принстон. Позже Голдстайн рассказывал: “Разговор вскоре зашел о моей работе”. Голдстайн испытывал большое почтение к фон Нейману. В спокойной обстановке той железнодорожной платформы искушение попробовать произвести на него впечатление было огромным. Какой же лучший способ сделать это, чем раскрыть, что он, Голдстайн, был вовлечен в проектирование компьютера в университете в Пенсильвании, названного электронно-числовым интегратором ENIAC.
Когда Голдстайн объяснил, что компьютер может выполнять 333 умножения в минуту, фон Нейман взволнованно попросил более детального объяснения. “Вся атмосфера нашего разговора, вспоминал Голдстайн, изменилась: из расслабляющего доброго юмора в атмосферу, более похожую на устный экзамен на докторскую степень по математике”. Фон Нейман добился разрешения от властей посетить проект. Приехав 7 сентября 1944 года в школу Мура электронного проектирования, где компьютер находился в стадии завершения, фон Нейман придал программе ENIAC респектабельность, которая не вызвала энтузиазма у создателей. Джон Маучли, автор изобретения, считал фон Неймана не самим выдающимся математиком в мире и был взволнован тем, что фигура такой величины проявляла интерес к его работе.
С ним обходились как с посещающим членом королевской семьи, которому было разрешено все видеть и обо всем спрашивать. То, что он видел, поражало своим великолепием: два аккумулятора, вычислявших со скоростью, которая была гораздо быстрее той, с которой фон Нейман мог вычислять в уме. Но чувствуя огромный потенциал внутри ENIAC, он уже представлял себе более совершенные компьютеры, которые по своей значимости превзойдут даже эти вычислительные способности. По словам Маучли, фон Нейман был так похож на ребенка, получившего новую игрушку.
Нейман стал лицом, прочно обосновавшимся в проектах ENIAC и EDVAC в качестве консультанта, высокопоставленного посетителя и энтузиаста. Он понял, что работы Маучли и Эккерта по реализации проектов ENIAC и EDVAC очень важны для науки. Обобщив увиденное и услышанное о проектах ENIAC и EDVAC в июне 1945 года, меньше, чем через год после того, как он присоединился к группе Маучли и Эккерта, Нейман, пользуясь своим высоким авторитетом, написал отчет под названием “Предварительный доклад о машине EDVAC”. В нем он описал не только саму машину, но и ее логическую организацию.
Интересно привести основные положения доклада (цит. по статье “Предварительное рассмотрение логической конструкции электронного вычислительного устройства”, написанной и опубликованной годом позже совместно с А. Берксом и Г. Голдстайном и повторяющей содержание доклада):
“Так как законченное устройство будет универсальной вычислительной машиной, оно должно содержать несколько основных органов, таких как орган арифметики, памяти, управления и связи с оператором. Мы хотим, чтобы после начала вычислений работа машины не зависела от оператора”.
“Очевидно, что машина должна быть способна запоминать некоторым образом не только цифровую информацию, необходимую для данного вычисления… но также и команды, управляющие программой, которая должна производить вычисления над этими числовыми данными”.
“Если, однако, приказы (команды) машины свести к числовому коду и если машина сможет некоторым образом отличать число от приказа (команды), то орган памяти можно использовать для хранения как чисел, так и приказов (команд)” (идея, выдвинутая еще в начале 1944 года Эккертом). “Если память для приказов (команд) является просто органом памяти, то Должен существовать еще орган, который может автоматически выполнять приказы (команды), хранящиеся в памяти. Мы будем называть этот орган управляющим”.
“Поскольку наше устройство должно быть вычислительной машиной, в нем должен иметься арифметический орган… устройство, способное складывать, вычитать, умножать и делить”.
“Наконец, должен существовать орган ввода и вывода, с помощью которого осуществляется связь между оператором и машиной”.
Как уже говорилось в предыдущем очерке, Герман Голдстайн размножил этот отчет и разослал его ученым США и Англии. В первый раз посторонние люди, не работающие над EDVAC, узнали о проекте электронного компьютера с хранимой программой. Джона фон Неймана стали воспринимать как первого инициатора первого компьютерного проекта. Этот вывод обескураживал многих действительных разработчиков. Маучли и Эккерт были сердиты на Голдстайна за нарушение секретных постановлений, которые удерживали от их разглашения собственной главной роли в проекте EDVAC. Они пришли в ярость также из-за того, что Нейман позволил поставить свое имя на работе, не отдавая чести заслуженному вкладу исследовательской команды школы Мура.
Надо сказать, что спустя годы Герман Голдстайн помог придать необходимую форму мифу о приоритете фон Неймана в этой сфере деятельности. “Это очевидно, заявлял он в своей книге “Компьютер от Паскаля до фон Неймана”, что фон Нейман, написав свой отчет, придал определенную форму размышлениям в области компьютеров, чего никто другой не делал ранее. Он был, среди всех членов группы в школе Мура, самым необходимым человеком… только фон Нейман был весьма ценным для всего задания”. Это мнение Голдстайна не меняет того факта, что Преспер Эккерт написал заметку о компьютере с хранимой программой за полгода до того, как фон Нейман услышал о работах, проводимых в школе Мура.
EDVAC с 4000 электронными лампами и 10 000 кристаллическими диодами, в отсутствие Маучли и Эккерта, был завершен только в 1952 году. Но таланты фон Неймана были многогранны. В 1944 году он и Оскар Моргенштерн опубликовали классическую работу “Теория игр и экономическое поведение”, в которой они проанализировали такие простые игры, как покер и игра в орлянку, чтобы продемонстрировать, что “наиболее возможный” метод игры существует и математически обусловлен. Их “теория игр” могла также быть применима к экономическим и социальным проблемам. Посредством этой книги фон Нейман и Моргенштерн сделали первый шаг к общей математической теории экономики.
После Второй мировой войны фон Неймана забросали престижными академическими предложениями, ни одно из которых он не принял. Норберт Винер предлагал ему стать главой математического департамента. В Чикагском университете шли разговоры о создании нового института прикладной математики, которым будет руководить фон Нейман. Но он был полон страстного желания создать свой собственный компьютер, и Принстон, казалось, был наилучшим местом для осуществления этого намерения.
Но этот путь не был гладким. Члены Института перспективных исследований чувствовали, что их учреждение представляло собой идиллическую башню из слоновой кости и не было местом, загроможденным непривлекательными образцами машинного оборудования, однако фон Нейман имел опыт, необходимый, чтобы идти своей дорогой. В его планах было создать полностью автоматическую, цифровую универсальную электронную вычислительную машину, самую быстродействующую. Она предназначалась для научных исследований, а не для коммерческого рынка. IAS-компьютер, названный в честь Института перспективных исследований, был начат в 1946 году и закончен пять лет спустя.
Тем временем 22 марта 1946 года фон Нейман и Голдстайн попытались получить патент на EDVAC, обосновывая свое требование на “Первом отчете”. Они обратились в юридическое отделение Пентагона. 3 апреля 1947 года армия отказала им, аргументируя это тем, что хотя “Первый отчет” квалифицируется как опубликованное доказательство, но уже слишком поздно, т. к. патенты выдаются в течение года после публикации свидетельства. EDVAC пришлось стать общественной собственностью. Маучли и Эккерт были озадачены в равной степени. Они знали, что патент по праву принадлежит им.
Джон фон Нейман умер 8 февраля 1957 года. Он никогда не узнает полную степень своего влияния на компьютерную науку.
Аксель Берг
Аксель Иванович Берг родился в Оренбурге в семье отставного генерала Ивана (Иоганна) Александровича Берга шведско-финского происхождения. Отец умер, когда Акселю было 6 лет. В 1914 году окончил морской корпус.
Во время первой мировой войны служил младшим штурманом на линкоре «Цесаревич». С июля 1916 штурман и офицер связи на английской подводной лодке E-8, действовавшей совместно с русским флотом на Балтийском море. В 1918 году участвовал в Ледовом походе Балтийского флота. Находясь на службе Советской власти командовал подводными лодками, службу на флоте совмещал с учебой в Петроградском политехническом институте, затем на электротехническом факультете Военно-морской академии, которую окончил в 1925 году.
После окончания академии преподавал в Военно-морском инженерном училище. С мая 1927 председатель секции радиосвязи и радионавигации Научно-технического комитета ВМС РККА. Как преподаватель ВМИУ создал при училище радиолабораторию и занимался в ней научными исследованиями в области радио. В 1932 году лаборатория была преобразована в научно-исследовательский институт, руководителем которого был назначен Берг. В 19321937 начальник Научно-исследовательского морского института связи и телемеханики (НИМИСТ).
25 декабря 1937 арестован по обвинению во вредительстве, находился в заключении под следствием до 9 мая 1940 года. Был реабилитирован и восстановлен в воинском звании. В 1941 году Бергу было присвоено воинское звание инженер-контр-адмирал.
Радиолокации до начала Второй мировой войны в Советском Союзе не было. Именно Аксель Иванович это сумел донести до высшего руководства и изменил ситуацию. В Москве Берг сделал головокружительную карьеру, он создал институт по радиолокации, знаменитый НИИ-108, который успешно функционирует по сей день, он боролся за признание кибернетики, считавшейся лженаукой. Его точку зрения приняли, кибернетикой стали заниматься и в Советском Союзе
А. И. Берг уделял большое внимание проблеме автоматизации управления народным хозяйством на базе применения ЭВМ и других средств радиоэлектроники. В феврале -марте 1959. г . А. И. Берг возглавил комиссию по рассмотрению предложений о создании в стране автоматизированной системы административного и экономического управления на основе применения научных методов организации и внедрения ЭВМ. Комиссия одобрила эти предложения и составила подробный доклад с изложением основных задач и этапов работы по автоматизации процессов управления и обработки информации в главных сфер экономики (в государственном планировании, в статистике, в сфере Госбанка, в области материально-технического снабжения, на транспорте и в других областях). В результате издан ряд постановлений, обеспечивших резкое расширение производства ЭВМ и развертывание работ в стране по автоматизированным системам управления.
В ноябре 1959 г . на Секции кибернетики Всесоюзного совещания по вычислительной математике и вычислительной технике был сделан совместный доклад А. И. Берга, А. И. Китова и А. А. Ляпунова «О возможностях автоматизации управления народным хозяйством», который был опубликован в сборнике «Проблемы кибернетики» (выпуск 6) в 1961 г. Этот доклад, по-видимому, был одним из первых публичных выступлений, в котором обосновывалась необходимость и возможность комплексной автоматизации процессов управления народным хозяйством, необходимость создания по определенному плану единой государственной сети информационно-вычислительных центров с централизованным управлением. В докладе подробно рассматривались задачи и перспективы применения электроники и математики в основных областях управления народным хозяйством, в системе учёта и статистики, в государственном планировании, в системе материально-технического снабжения, в финансово-банковской сфере, в управлении транспортом.
Виктор Глушков
Виктор Михайлович Глушков (1923-1982) один из пионеров кибернетики в СССЗ, вице президент Академии наук УССР, академик АН СССР. С 1956 г. жил и работал в Киеве. Руководил лабораторией вычислительной техники и математики Института математики АН Украины. В 1957 г. В. М. Глушков стал директором Вычислительного центра АН УССР с правами научно-исследовательской организации. Через пять лет, в декабре 1962 г. на базе ВЦ АН УССР был организован Институт кибернетики АН Украинской ССР. Его директором стал В. М. Глушков.
Широко известны как в нашей стране, так и за рубежом фундаментальные и прикладные работы в области кибернетики и информатики. Назовем только несколько направлений его исследований, относящихся к тематике настоящего издания.
Под руководством В.М. Глушкова в 1966 году была разработана одна из первых в мире персональная ЭВМ«МИР-1» (машина для инженерных расчётов). Выпускалась серийно и предназначалась для использования в учебных заведениях, инженерных бюро, научных организациях. Имела ряд уникальных особенностей, таких как аппаратно реализованный машинный язык, близкий по возможностям к языкам программирования высокого уровня, развитое математическое обеспечение. Затем были разработаны ЭВМ МИР-2 и МИР -3. Также под руководством В.М. Глушкова было разработано известное семейство машин «Днепр-1» и «Днепр-2».
Современные ЭВМ невозможно проектировать без систем автоматизации проектно-конструкторских работ. Возможность применения ЭВМ в процессе проектирования ЭВМ стала реальной после того, как в начале 60-х годов были созданы соответствующие разделы абстрактной и структурной теории автоматов, позволившие решить целый ряд задач, возникающих в процессе проектирования электронных схем. Дальнейшее развитие методики проектирования ЭВМ потребовало новой техники, в частности разработки методов блочного синтеза. Вскоре стало ясно, что для эффективного использования ЭВМ в процессе проектирования необходимо комплексное решение всех задач, возникающих при автоматизации проектирования. Необходимость применить системный подход к САПР ЭВМ проявилась при создании ЭВМ третьего поколения.
Монография В. М. Глушкова, Ю. В. Капитоновой и А. А. Летичевского "Автоматизация проектирования вычислительных машин", обобщающая опыт создания систем "ПРОЕКТ", была издана в 1975 г. За работу по автоматизации проектирования ЭВМ В. М. Глушков, В. П. Деркач и Ю. В. Капитонова в 1977 г. были удостоены Государственной премии СССР.
В конце 70-х годов В. М. Глушков предложил принцип макроконвейерной архитектуры ЭВМ со многими потоками команд и данных (архитектура MIMD по современной классификации) как принцип реализации нефоннеймановской архитектуры.
В. М. Глушков разрабатывал идею безбумажной информатики. "Основы безбумажной информатики" именно так называлась его последняя монография, вышедшая в свет в 1982 г. В этой книге были описаны математический аппарат и комплекс идей, относящихся к проблемам информатизации. В. М. Глушков и его сподвижники готовили общественность к восприятию идей информатизации, без чего невозможен прогресс к постиндустриальному обществу.
В нашей стране у истоков развития и становления отечественной вычислительной техники стоял выдающийся ученый, академик Сергей Алексеевич Лебедев. Как пишет один из его учеников, академик В. А. Мельников, “жизненный путь Сергея Алексеевича Лебедева ярок и многогранен. Кроме создания первых машин и первых фундаментальных разработок, он выполнил важные работы по созданию многомашинных и многопроцессорных комплексов.
Им были заложены основы вычислительных сетей. Среди перспективных направлений следует отметить работы в области операционных систем и систем программирования. Структурно-программные операционные системы, алгоритмические языки программирования, новые алгоритмы для больших, трудоемких задач важный этап научного творчества Лебедева. Сергей Алексеевич на протяжении всей своей жизни вел большую работу по подготовке научных кадров. Он был одним из инициаторов создания Московского физико-технического института, основателем и руководителем кафедры вычислительной техники в этом институте, руководил работой многих аспирантов и дипломников.
Говоря о наследии С. А. Лебедева, нельзя не сказать об атмосфере взаимопонимания и творческого воодушевления, которую умел создать вокруг себя Сергей Алексеевич. Он умел поощрять творческую инициативу, оставаясь при этом принципиальным и требовательным. Лебедев считал, что лучшая школа для специалиста участие в конкретных разработках, и не боялся привлекать к работе над серьезными проектами молодых ученых.
Он родился 2 ноября 1902 года в Нижнем Новгороде. Отец Алексей Иванович и мать Анастасия Петровна были учителями.
В 1921 году С. А. Лебедев поступил в Московское высшее техническое училище им. Н. Э. Баумана на электротехнический факультет. Его учителями и научными руководителями были выдающиеся русские ученые-электротехники профессора К. А. Круг, Л. И. Сиротинский и А. А. Глазунов. Все они принимали активное участие в разработке знаменитого плана электрификации СССР плана ГОЭЛРО. Для разработки этого плана и, главное, для его успешного осуществления потребовались уникальные теоретические и экспериментальные исследования. Из всех возникших при этом проблем С. А. Лебедев, еще будучи студентом, основное внимание уделял проблеме устойчивости параллельной работы электростанций. И следует сказать, что он не ошибся в выборе весь дальнейший отечественный и зарубежный опыт создания высоковольтных энергообъединений определил проблему устойчивости как одну из центральных, от решения которой зависит эффективность дальних электропередач и энергосистем переменного тока.
Первые результаты по проблеме устойчивости, полученные Лебедевым, были отражены в его дипломном проекте, который выполнялся под руководством профессора К. А. Круга. В апреле 1928 года, получив диплом инженера-электрика, Лебедев становится одновременно преподавателем МВТУ им. Н. Э. Баумана и младшим научным сотрудником Всесоюзного электротехнического института (ВЭИ). Продолжая работать над проблемой устойчивости, С. А. Лебедев организует в ВЭИ группу, которая затем оформилась в лабораторию электрических сетей. Постепенно тематика лаборатории расширяется, и в круг ее интересов начинают попадать проблемы автоматического регулирования. Это привело к тому, что на базе этой лаборатории в 1936 году был создан отдел автоматики, руководство которым поручается С. А. Лебедеву.
К этому времени С. А. Лебедев уже стал профессором и автором (совместно с П. С. Ждановым) широко известной среди специалистов-электротехников монографии “Устойчивость параллельной работы электрических систем”.
Проблемы автоматики интересуют С. А. Лебедева не только применительно к конкретным приложениям в электротехнике, он один из активных инициаторов работ по автоматизации научных исследований и математических расчетов. В 19361937 годах в его отделе начались работы по созданию дифференциального анализатора для решения дифференциальных уравнений. Уже тогда С. А. Лебедев задумывался над принципами создания цифровых вычислительных машин, в основе которых лежала бы двоичная система счисления.
Во время войны возглавляемый Лебедевым отдел автоматики полностью переключается на оборонную тематику.
В феврале 1945 года С. А. Лебедев избирается действительным членом Академии Наук УССР, а в мае 1946 года назначается директором Института энергетики АН УССР. В 1947 году после разделения этого института С. А. Лебедев становится директором Института электротехники АН УССР. Здесь он продолжает свои работы по проблемам автоматизации энергосистем. В 1950 году за разработку и внедрение устройств компаундирования генераторов электростанций для повышения устойчивости энергосистем С. А. Лебедев совместно с Л. В. Цукерником был удостоен Государственное премии СССР.
В 1947 году в Институте электротехники организуется лаборатория моделирования и вычислительной техники, где под руководством С. А. Лебедева была создана машина МЭСМ (малая электронная счетная машина) первая отечественная вычислительная машина. 25 декабря 1951 года. МЭСМ была пущена в эксплуатацию.
Оригинальная функционально-структурная организация МЭСМ была предложена Лебедевым. МЭСМ работала в двоичной системе, с трехадресной системой команд, причем программа вычислений хранилась в оперативной памяти. Машина Лебедева с параллельной обработкой слов представляла собой принципиально новое решение. Она была одной из первых в мире и первой на европейском континенте машиной с хранимой в памяти программой.
В 1948 году в Москве создается Институт точной механики и вычислительной техники (ИТМ и ВТ) АН СССР, куда приглашается на работу С. А. Лебедев, а в 1950 году, когда основные работы по МЭСМ подходили к концу, Лебедев принимает это предложение.
В ИТМ и ВТ он создает специальную лабораторию для разработки БЭСМ-1 (быстродействующая электронная счетная машина-1), в которой получили дальнейшее развитие идеи Лебедева по структурной реализации методов обработки информации.
Вспоминает академик В. А. Мельников: “На опыте создания БЭСМ-1 можно видеть широту его научных и конструкторских разработок. В процессор машины были использованы лампы, серийно выпускаемые нашей промышленностью. Лебедев указал несколько направлений по созданию оперативной памяти ЭВМ. Велись работы по созданию оперативного запоминающего устройства (ОЗУ): на электроакустических ртутных линиях задержек; ОЗУ параллельного действия на электронно-лучевых трубках; ОЗУ на ферритовых сердечниках. Создавались внешние запоминающие устройства на магнитных лентах и магнитных барабанах, устройства ввода и вывода на перфокартах и перфолентах, быстродействующие печатные устройства.
В БЭСМ-1 было впервые применено постоянное запоминающее устройство на сменных перфокартах, что позволило решать задачи по мере готовности того или иного запоминающего устройства. Поэтому ее реальное использование началось уже с 1952 года с ОЗУ на электроакустических ртутных трубках. Правда, быстродействие ее было в десять раз ниже запланированного, но зато, помимо решения задач, появилась возможность получить первый опыт по эксплуатации и отладке программ”.
Следует отметить, что БЭСМ-1 сдавалась дважды: первый раз с ОЗУ на электронно-акустических ртутных трубках со средним быстродействием 1000 операций в секунду и второй раз с ОЗУ на электронно-лучевых трубках с быстродействием около 10 тыс. операций в секунду. И оба раза она была успешно принята Государственной комиссией. Правда, в дальнейшем еще были испытания, когда на БЭСМ-1 проверялась оперативная память на ферритовых сердечниках, но этот вид памяти уже был окончательно внедрен на серийной машине БЭСМ-2. БЭСМ-1 была первой отечественной быстродействующей машиной (810 тыс. операций в секунду), самой производительной машиной в Европе и одной из лучших в мире.
Первой задачей, решенной на БЭСМ-1 и имевшей большое народнохозяйственное значение, был расчет оптимального уклона скоса канала. В программе решения этой задачи задавались параметры сыпучести грунта, глубины канала и некоторые другие. Крутой уклон экономит объем земляных работ, но может привести к быстрому осыпанию, поэтому важно найти математически обоснованный компромисс, который бы экономил объем работ при сохранении качества сооружения. Работа по созданию алгоритма и программы, потребовавшая серьезных математических исследований, была выполнена под руководством С. А. Лебедева, который в 1953 году был избран действительным членом АН СССР.
В структуре БЭСМ-1 уже тогда были реализованы основные решения, характерные для современных машин параллельного действия. Важной особенностью этой машины и большим структурным достижением являлись операции над числами с плавающей точкой, когда машина может производить операции над числами в диапазоне 2-32232 автоматически, не требуя специальных операций масштабирования. Эти операции в машинах с фиксированной точкой составляют около 80% от общего числа операций и увеличивают время решения задач. Одновременно БЭСМ-1 обеспечивала хорошую точность вычислений (около 10 десятичных знаков), а при решении некоторых задач могла работать хотя и с меньшим быстродействием, но с удвоенной точностью.
После БЭСМ-1 под руководством Лебедева были созданы и внедрены в производство еще две ламповые машины БЭСМ-2 и М-20.
Вычислительная машина БЭСМ-2 сохранила систему команд и все основные параметры БЭСМ-1, но конструкция ее стала более технологичной и удобной для серийного выпуска.
В машине М-20 был сделан еще один новый шаг в развитии отечественной вычислительной техники. Во многом повторяя структуру БЭСМ-1, М-20 обладала производительностью 20 тыс. операций в секунду за счет совмещения работы отдельных устройств и более быстрого выполнения арифметических операций.
В шестидесятых годах наша промышленность начала массовый выпуск полупроводниковых приборов, что позволило перейти на новую элементную базу. Разработка полупроводниковых машин, которой руководил С. А. Лебедев, развивалась по двум основным направлениям. Первое перевод наиболее совершенных ламповых машин на полупроводниковую элементную базу с сохранением структуры и быстродействия, но с повышением надежности, уменьшением размеров и энергопотребления. Ламповая машина М-20 стала в полупроводниковом варианте БЭСМ-ЗМ, БЭСМ-4 и М-220.
Второе направление развития полупроводниковых машин это максимальное использование возможностей новой элементной базы с целью повышения производительности, надежности и совершенствования структуры машин. Яркий пример развития этого направления БЭСМ-6, созданная под руководством С. А. Лебедева. Трудно переоценить значение и влияние на развитие вычислительной техники разработки этой высокопроизводительной, оригинальной по архитектуре и структуре машины.
Макет БЭСМ-6 был запущен в опытную эксплуатацию в 1965 году, а уже в середине 1967 года был предъявлен на испытания первый образец машины. Тогда же были изготовлены три серийных образца. Машина БЭСМ-6 сдавалась вместе с необходимым математическим обеспечением, и государственная комиссия под председательством академика М. В. Келдыша, в то время президента АН СССР, дала ей высокую оценку. Вычислительная машина БЭСМ-6 универсальная машина с быстродействием миллион операций в секунду, работала в диапазоне чисел от 2-63 до 2б3 и могла обеспечить точность вычислений 12 десятичных знаков. Она содержала 60 тыс. транзисторов и 180 тыс. полупроводников-диодов.
Как пишут Л. Н. Королев и В. А. Мельников, машина БЭСМ-6 имела следующие принципиальные особенности:
магистральный, или, как в свое время (1964 год) назвал его академик С. А. Лебедев, “водопроводный” принцип организации управления, с помощью которого достигается глубокий внутренний параллелизм обработки потоков команд и операндов;
впервые осуществленный в БЭСМ-6 принцип использования ассоциативной памяти на сверхбыстрых регистрах с логикой управления, позволяющей аппаратно экономить число обращений к ферритовой памяти и тем самым осуществлять локальную оптимизацию в динамике счета;
аппаратный механизм преобразования математического, виртуального адреса в физический адрес, что дало возможность осуществить динамическое распределение оперативной памяти в процессе вычислений средствами операционной системы;
расслоение оперативной памяти, что позволяет осуществить одновременное обращение к блокам памяти по нескольким направлениям;
принцип полистовой организации виртуальной памяти и разработанные на его основе механизмы защиты по числам и командам, сочетающие простоту и эффективность;
развитая индексация, позволившая использовать индексные регистры для базирования, модификации адресов и в качестве указателей уровней вложенности процедур (дисплеев), что позволило строить свободно перемещаемые программы и рентерабельные процедуры;
развитая система прерываний и индикации состояния внешних и внутренних устройств машины, контроль обмена между оперативной памятью и центральным устройством машины, позволившие достаточно хорошо вести диагностику в режиме мультипрограммирования;
возможность одновременной работы парка устройств ввода-вывода и внешних запоминающих устройств на фоне работы центрального процессора.
С 1967 года все крупные вычислительные центры страны стали оснащаться компьютерами БЭСМ-6. И даже через многие годы, в 1983 году, на заседании отделения информатики, вычислительной техники и автоматизации Академии наук, академик Е. П. Велихов сказал, что “создание БЭСМ-6 явилось одним из основных вкладов АН СССР в развитие советской индустрии.
В начале 70-х годов Сергей Алексеевич Лебедев уже не мог руководить Институтом точной механики и вычислительной техники, в 1973 году тяжелая болезнь вынудила его оставить пост директора. Но он продолжал работать дома. Суперкомпьютер “Эльбрус” это последняя машина, принципиальные положения которой были разработаны академиком Лебедевым и его учениками. Он был ярым противником начавшегося в начале 70-х годов копирования американской системы IBM/360, которая в отечественном варианте стала называться ЕС ЭВМ. Он понимал, к каким последствиям это приведет, но уже был не в силах воспрепятствовать этому процессу.
Сергей Алексеевич Лебедев скончался 3 июня 1974 года. Он похоронен на Новодевичьем кладбище.
Велики заслуги академика С. А. Лебедева перед отечественной наукой. Его деяния отмечены многими наградами и государственными премиями. Институт точной механики и вычислительной техники РАН носит его имя. В Киеве на здании, где располагался Институт электротехники АН Украины, висит мемориальная доска, текст которой гласит: ” В этом здании в Институте электротехники АН УССР в 19461951 гг. работал выдающийся ученый, создатель первой отечественной электронной вычислительной машины, Герой Социалистического Труда, академик Сергей Алексеевич Лебедев”.
Исаак Семенович Брук так же, как и Сергей Алексеевич Лебедев, стоял у истоков отечественной вычислительной техники. Если Лебедев является отцом отечественных мэйнфреймов, то Брук создавал новую “нишу” в вычислительной технике малые и управляющие машины.
Как пишет Б. Н. Малиновский, “схожесть биографий этих двух замечательных ученых поразительна. Оба родились в один год, учились в одном институте, “становились на ноги” как ученые в одной научной организации, оба занимались вопросами энергетики, от нее шли к вычислительной технике, оба стали руководителями ведущих научных школ в области цифровых вычислительных машин”.
Интересно, что в цифровую технику Брук пришел, занимаясь разработкой аналоговых машин, в 1939 году под его руководством был создан дифференциальный анализатор, подобный анализатору Ванневара Буша.
А в 1948 году он вместе с Б. И. Рамеевым разрабатывает проект цифровой электронной вычислительной машины, и в декабре того же года они получают первое в СССР авторское свидетельство об изобретении цифровой машины. Но, увы, этот проект остался нереализованным. В дальнейшем под руководством Брука были созданы малые цифровые вычислительные машины М-1, М-2, М-3, М-4 и др.
И.С. Брук родился 8 ноября 1902 года в Минске в бедной семье служащего табачной фабрики. В 1920 году окончил реальное училище, а в 1925 году электротехнический факультет МВТУ им. Н. Э. Баумана в Москве. Еще будучи студентом включился в научную деятельность его дипломная работа была посвящена новым способам регулирования асинхронных двигателей. По окончании МВТУ его направили во Всесоюзный электротехнический институт, где он получил большой практический опыт, участвуя в разработке новой серии асинхронных двигателей.
В 1930 году Брук переехал в Харьков, где на одном из заводов под его руководством были разработаны и построены несколько электрических машин новой конструкции, в том числе взрывобезопасные асинхронные двигатели. В 1935 году он возвратился в Москву и поступил на работу в Энергетический институт АН СССР (ЭНИН). В организованной им лаборатории электросистем он развертывает исследования по расчету режимов мощных энергосистем. Для моделирования сложных электросетей в лаборатории создается расчетный стол переменного тока своеобразное специализированное вычислительное устройство. За эти работы в мае 1936 года Бруку была присвоена ученая степень кандидата наук, а в октябре того же года он защитил докторскую диссертация на тему “Продольная компенсация линий электропередач”.
В конце 30-х годов XX века Брук занялся созданием механического дифференциального анализатора для решения систем дифференциальных уравнений до 6-го порядка включительно. Анализатор занимал площадь 60 кв. м, и одних только зубчатых колес в нем было более тысячи. После завершения работы над дифференциальным анализатором Брук был избран членом-корреспондентом Академии наук.
В годы войны, продолжая исследования в области энергетики, И. С. Брук работал над системами управления зенитным огнем, изобрел синхронизатор авиационной пушки, позволяющей стрелять через вращающийся пропеллер самолета. В первые послевоенные годы под его руководством велись исследования по статической устойчивости энергосистем, разрабатывалась аппаратура регулирования частоты и активной мощности для крупнейших электростанций страны. Продолжались работы по аналоговым вычислительным машинам. В конце 40-х годов, заинтересовавшись зарубежными публикациями о цифровых вычислительных машинах, Брук становится активным участником научного семинара при Президиуме АН СССР, обсуждавшего вопросы автоматизации вычислений.
В 1947 году на семинаре был поднят вопрос о создании специального института вычислительной техники. Благодаря активной поддержке президента Академии С. И. Вавилова в июле 1948 года был создан Институт точной механики и вычислительной техники. Исполняющим обязанности директора был назначен Бруевич. Казалось бы, Брук со своей лабораторией, как пионер вычислительной техники, должен был войти в состав нового института. К этому времени в его распоряжении уже был проект цифровой ЭВМ, составленный им и Рамеевым, ими же были разработаны “Проектные соображения по организации лаборатории при Институте точной механики и вычислительной техники для разработки электронной цифровой вычислительной машины”. Но этого не случилось.
В 1949 году Рамеева призвали в армию. Брук лишился единственного исполнителя. Составленный проект цифровой электронной ЭВМ так и остался на бумаге. Тем не менее честолюбивая эмоциональная натура Брука, безусловно, подогревалась сведениями о начале работ по созданию ЭВМ в ИТМ и ВТ АН СССР, которые развернулись с приходом в институт М. А. Лаврентьева, а затем С. А. Лебедева, и в СКБ-245, где появился Рамеев.
В январе 1950 года И. С. Брук обратился в отдел кадров Московского энергетического института с просьбой направить к нему способных молодых специалистов, оканчивающих радиотехнический факультет. В марте 1950 года отдел кадров МЭИ направил к нему в лабораторию Николая Яковлевича Матюхина, получившего диплом с отличием за блестящую учебу и участие в научных исследованиях еще на студенческой скамье, но не прошедшего кадровую комиссию при поступлении в аспирантуру.
О том, сколь удачным для лаборатории было такое пополнение в единственном лице, говорит тот факт, что уже в апреле, т. е. всего через два месяца И. С. Брук, уверовавший в талант нового помощника, оформляет постановление Президиума АН СССР о создании цифровой вычислительной машины. Вот как описывает в своей книге Б. Н. Малиновский эти события полувековой давности: “Вначале молодой специалист в области радиотехники не представлял, что такое ЭВМ. Ему не сразу стало понятным первое задание руководителя спроектировать важный узел ЭВМ, дешифратор, да еще безламповый.
Исаак Семенович сам подобрал для него необходимую литературу, многократно беседовал с приглянувшимся ему новичком, подробно рассказал о принципах работы ЭВМ, двоичной системе счисления, численных методах вычислений. Он же подбросил ему очень важную идею использовать для построения логических элементов вместо электронных ламп поступившие по репарациям немецкие купроксные выпрямители. Сейчас, когда нет ни Брука, ни его любимого “ученика”, вряд ли кто-нибудь может сказать, каким образом проводилась ими последующая разработка структуры и архитектуры ЭВМ М-1. Можно лишь утверждать, со слов остальных участников создания машины, что Н. Я. Матюхин фактически был главным конструктором М-1, формально не являясь таковым, а И. С. Брук в полной мере выполнил роль научного руководителя разработки.
Меньше чем через полтора года М-1 заработала! А ведь ее созданием занимались всего девять сотрудников лаборатории, не имевших ученых степеней (за исключением И. С. Брука). Если вспомнить условия, в которых они трудились, то это можно оценить как замечательный творческий порыв молодого коллектива.
Первые задачи, которые решались на ЭВМ М-1, ставились академиком Сергеем Львовичем Соболевым, который в то время был заместителем по научной работе у академика Курчатова. На это чудо техники, которое давало 1520 не тысяч, не миллионов, а 1520 операций в секунду над 23-разрядными числами и имело память емкостью в 256 слов, приезжали смотреть и президент Академии наук СССР А. Н. Несмеянов и многие видные советские ученые и государственные деятели”.
В апреле 1952 года лаборатория Брука приступила к созданию более совершенной цифровой вычислительной машины М-2. Коллектив разработчиков возглавил М. А. Карцев.
Машина М-2, вообще говоря, осталась в единственном экземпляре. Но это была машина серьезная. На ней велись очень большие и очень важные расчеты. Собственно говоря, в течение нескольких лет в Советском Союзе было две работающих машины: М-2 и БЭСМ Института точной механики и вычислительной техники АН СССР. Большие расчеты вел Сергей Львович Соболев для Курчатова. Считались задачи для фирмы Акселя Ивановича Берга. На М2 выполнялись расчеты прочности плотин строившихся тогда Куйбышевской и Волжской гидроэлектростанций.
Машина М-2 не была запущена в серию, несмотря на ее превосходные характеристики и отличное конструктивное исполнение. Время подтвердило ее высокие качества: в Энергетическом институте АН СССР она бессменно проработала 15 лет, обеспечив решение множества задач в различных областях науки и техники. В отличие от малой ЭВМ М-1, машина М-2 имела ту же производительность, что и ЭВМ “Стрела” (2000 операций в секунду) и БЭСМ в первый период эксплуатации.
Когда М-2 еще находилась на стадии отладки, в лаборатории Брука началось проектирование малой электронной вычислительной машины М-3. Главным конструктором был назначен Н. Я. Матюхин. Машина пошла в серию и стала основой для развития компьютеростроения в Ереване и Минске.
Под руководством Брука были созданы управляющие машины: М-4 (19571960) для решения специальных задач в системах Радиотехнического института АН СССР (главный конструктор М. А. Карцев); М-5 (19591960) для решения экономических задач, планирования и управления народным хозяйством (главный конструктор В. В. Белынский); М-7-200 и М-7-800 (19661969) для задач управления мощными энергоблоками (Конаковская ГРЭС, Славянская ГРЭС) и технологическими процессами (главный конструктор Н. Н. Ленов).
Будучи директором института, И. С. Брук уделял много внимания нуждам растущего института, созданию здорового работоспособного коллектива, воспитанию высокой научной требовательности у своих учеников. Выйдя на пенсию в 1964 году, Исаак Семенович оставался научным консультантом и руководителем научно-технического совета ИНЭУМ.
За последние пять лет жизни И.С. Брук получил 16 авторских свидетельств, а всего в списке публикаций более 100 научных работ и 50 изобретений. Он умер 6 октября 1974 года, через три месяца после кончины С. А. Лебедева.
Давно было известно из книги "Быстродействующая вычислительная машина М-2", вышедшей в 1957 году, что в бруковской лаборатории электросистем энергетического института АН СССР в течение 19501951 годов была разработана и введена в эксплуатацию в начале 1952 года вычислительная машина М-1. То есть она была запущена практически в одно и то же время, что и первая отечественная вычислительная машина МЭСМ, созданная под руководством С. А. Лебедева.
Но далеко не всем известно, что группу разработчиков М-1 возглавлял Николай Матюхин недавний выпускник Московского энергетического института, который, по сути дела, являлся главным конструктором машины. В этой машине, наверное, впервые в мировой вычислительной практике логические схемы были реализованы на полупроводниковой элементной базе, а точнее на полупроводниковых диодах.
Затем под руководством Н. Я. Матюхина в лаборатории И. С. Брука была создана малая вычислительная машина М-3, одна из первых серийных машин с двухадресной системой команд, которая стала предтечей целой серии машин "Минск", выпущенных в последующие годы на заводе им. С. Орджоникидзе в Белоруссии.
В дальнейшем Н. Я. Матюхин был главным конструктором многих вычислительных машин и систем, имеющих важное оборонное значение. Под его руководством разработано семейство сложных вычислительных систем второго и третьего поколений, выпускавшихся в течение многих лет промышленностью, благодаря своим высоким техническим характеристикам и архитектурным особенностям, которые обеспечили их эффективное применение в различных мобильных и стационарных средствах ПВО.
Под руководством Н. Я. Матюхина впервые в нашей стране был реализован Широкомасштабный сетевой проект оборонного назначения.
Среди научных достижений Н. Я. Матюхина необходимо отметить исследование и практическое воплощение принципов микропрограммирования в вычислительных системах, работающих в реальном масштабе времени; исследование и разработку теоретических основ живучести, модульного построения и наращивания производительности однородных многомашинных вычислительных систем, а также принципов автоматизации проектирования цифровых устройств и систем, которые легли в основу построения современных САПР.
В 1957 году Н. Я. Матюхин и группа его сотрудников из Лаборатории управляющих машин и систем АН СССР (так в 1956 году стала называться лаборатория Брука) перешли на работу в Научно-исследовательский институт автоматической аппаратуры (НИИАА). В НИИАА развернулись работы по созданию отечественной системы противовоздушной обороны, главным конструктором вычислительных машин для которой был назначен Н. Я. Матюхин.
Под его руководством была создана первая машина для системы ПВО с красивым названием "Тетива". Машина "Тетива" стала одной из первых отечественных транзисторных вычислительных машин и первой машиной с микропрограммным управлением. Кроме того, уникальность "Тетивы" состояла в том, что она работала только с прямыми кодами операндов, не используя ни обратного, ни дополнительного кодов. Конечно, стоимость аппаратного обеспечения арифметического устройства (АУ) была выше, чем у традиционных АУ, но при этом значительно увеличилось быстродействие и проще решались проблемы диагностики. Машины "Тетива" выпускались минским заводом, в 1962 году восемь машин было установлено на объектах, причем для обеспечения круглосуточной работы системы ПВО и для исключения сбоев в работе использовалась связка двух машин "Тетива" в составе "безотказного" вычислительного комплекса.
В 19631965 годах коллективом, возглавляемым Матюхиным, были разработаны первые мобильные (возимые) вычислительные машины 5Э63 и 5Э63.1 с производительностью 50 тысяч операций в секунду, которые прошли успешные испытания и в 1967 году были запущены в серийное производство. В этом же году начались работы по созданию ЕС-подобной машины в блочном исполнении 5Э76, а затем в 1969 году был разработан модернизированный вариант машины 5Э76-Б. В период с 1968 по 1971 год многомашинные отказоустойчивые комплексы на основе ЕС-подобных вычислительных машин показали высокую эффективность работы в центрах коммутации сообщений глобальной сети систем ПВО. Комплексы на основе двух машин 5Э76-Б обеспечивали устойчивую связь между ЦКС и круглосуточную работу в автоматическом режиме. Заслуга в создании глобальной сети оборонного значения с центрами коммутации сообщений в начале 70-х годов, явившейся первой отечественной разработкой в данной области, в немалой степени принадлежит Николаю Яковлевичу Матюхину.
Еще в 1962 году Н. Я. Матюхин защитил кандидатскую диссертацию, а в 1972 году ему была присуждена ученая степень доктора технических наук. Наряду с научными исследованиями и конструкторскими разработками Николай Яковлевич успешно занимался преподавательской деятельностью, будучи профессором Московского института радиоэлектроники и автоматики.
Начиная с 1964 года Н. Я. Матюхин, будучи главным конструктором ряда важнейших разработок, занялся проблемами автоматизации и проектирования средств вычислительной техники. При решении этих проблем им был выполнен целый цикл пионерских исследований, которые нашли свое отражение в первой отечественной монографии "Применение ЦВМ для проектирования цифровых устройств", вышедшей из печати в 1968 году. В ней были сформулированы и обоснованы принципы построения систем автома-тизированного проектирования цифровых вычислительных устройств, которые в дальнейшем легли в основу создания промышленных САПР. Матюхиным разработан язык моделирования цифровых устройств МОДИС и первая система моделирования ЭВМ, нашедшие широкое применение, а также комплексный подход к проектированию систем, объединявший логическое моделирование с процессом автоматизированного конструирования, и принципы сопряжения САПР с системой подготовки производства. Им выполнен ряд работ по автоматизации планово-производственных задач, возникающих при освоении изделий новой техники. Этот исследователь разработал первую в нашей стране систему автоматизированного проектирования АСП-1, с помощью которой в 19681969 годах было проведено многофункциональное проектирование вычислительной машины третьего поколения.
Заслуги Н. Я. Матюхина перед отечественной вычислительной техникой неоценимы. Он был удостоен многих правительственных наград, в 1976 году за работы в области систем управления ему была присуждена Государственная премия СССР, а в 1979 году Н. Я. Матюхин был избран членом-корреспондентом АН СССР по отделению "Механика и процессы управления".
Михаил Александрович Карцев был одним из самых ярких разработчиков вычислительных машин, комплексов и систем. Уже в первой его вычислительной машине М-2 были успешно реализованы новые по тем временам такие технические решения, как элементы страничной организации памяти и сочетание операций с фиксированной и плавающей точкой. Он был разработчиком одной из первых в стране машин M-4 второго поколения на транзисторной элементной базе, причем на основе модернизированного варианта машины (M4-2M) были построены первые кластеры (многомашинные вычислительные комплексы).
В ПОЛНОЙ мере идея многомашинных вычислительных комплексов нашла свое отражение в проекте системы М-9 и многопроцессорной системе М-10 с программно-перестраиваемой линейкой синхронных процессоров и векторной архитектурой. На базе 76 систем M4-2M и М-10 был создан и находился в постоянной круглосуточной эксплуатации крупнейший в нашей стране многомашинный вычислительный комплекс, объединенный каналами данных длиной в десятки тысяч километров. На системе М-10 были про-ведены сложные научные эксперименты по моделированию плазмы и впервые в мире получены данные по явлению коллапса в плазме, что не удалось сделать американским ученым на компьютере CDC-7600.
M. А. Карцев являлся одним из первых разработчиков системы четвертого поколения М-13, в которой использовались в качестве элементной базы БИС (большие интегральные схемы). Многопроцессорная система М-13 была первой в нашей стране вычислительной системой с векторно-кон-вейерной архитектурой.
M. А. Карцев являлся одним из инициаторов в нашей стране использования достижений оптоэлектроники в вычислительных комплексах. Впервые в его институте (НИИ вычислительных комплексов) была реализована волоконно-оптическая система для многомашинного комплекса, состоящего из шести машин М-10.
Михаил Александрович Карцев родился 10 мая 1923 года в Киеве в учительской семье. Вскоре после его рождения умер отец, и Михаил вместе с матерью сначала жил в Одессе, затем в Харькове, а с 1934 по 1941 годы снова в Киеве. В Киеве, в 1941 году, он и закончил среднюю школу. В начале войны его направили на оборонные сооружения в Донбасс, а в сентябре 1941 года призвали в армию. Всю войну он прослужил танкистом, участвовал в освобождении Румынии, Венгрии, Чехословакии и Австрии.
В 1947 году после демобилизации М. А. Карцев поступил на радиотехнический факультет Московского энергетического института (МЭИ). Будучи студентом пятого курса (на третьем он сдал экстерном все экзамены за четвертый курс) в 1950 году по совместительству он стал работать в лаборатории электросистем Энергетического института АН СССР, где участвовал в создании одной из первых отечественных вычислительных машин М-1. В 1952 году в должности младшего научного сотрудника Карцев возглавил коллектив разработчиков вычислительной машины М-2. Работы по ее созданию были проведены в кратчайшие сроки с апреля по декабрь 1952 года (подробности ее разработки и основные характеристики приведены в очерке, посвященном И. С. Бруку). Главное, что хотелось бы отметить машина М-2 положила начало созданию экономических вычислительных машин среднего класса. В этом была немалая заслуга М. А. Карцева.
В 1957 году директор Радиотехнического института АН СССР академик А. Л. Минц обратился к И. С. Бруку с предложением разработать электронную управляющую машину (ЭУМ) для управления экспериментальным радиолокационным комплексом "Днепр". Предложение было принято, и с де-кабря 1957 года началась разработка ЭУМ М-4. Главным конструктором назначен М. А. Карцев. Под его руководством была создана спецлаборатория в только что организованном Институте электронных управляющих машин (ИНЭУМ) для проведения работ по проектированию и созданию М-4.
Вычислительная машина М-4 ознаменовала новую веху в деятельности М. А. Карцева как главного конструктора, причем машина по многим своим характеристикам была на уровне лучших мировых образцов компьютерной техники того времени (об этом мы узнали только в 90-е годы, а в 60-х годах информация о ней была закрытой, т. к. М-4 использовалась в системах раннего предупреждения о ракетном нападении СПРН).
Во-первых, М-4 была одной из первых отечественных машин, построенных на транзисторах; во-вторых, впервые была использована гарвардская архитектура, в которой память разделена на память данных и память программ в Целях повышения устойчивости к отказам и надежности машины; в-третьих, в М-4 впервые были внедрены периферийные процессоры (они появились в Компьютерах третьего поколения каналы ввода-вывода) для устранения противоречия между производительностью центрального процессора и внешних устройств; в-четвертых, в целях увеличения быстродействия, в арифметико-логическом устройстве была аппаратно реализована операция извлечения квадратного корня.
В 1960 году Загорский электромеханический завод выпустил две машины, одна из них была отправлена на полигон, где в комплексе с РЛС "Днепр" эта машина прошла успешные испытания, после которых модернизированный вариант М-4 был запущен в серийное производство. В модернизированном варианте машины, которая вначале называлась М-4М, а затем М4-2М, были устранены недостатки, имевшиеся в М-4, что сделало ее более технологичной в производстве и настройке. Вместо установленного техническим заданием быстродействия в 100 тысяч операций в секунду M4-2M выполняла 220 тысяч операций в секунду, ее производство продолжалось до 1985 года, а использование до середины 90-х годов. На базе M4-2M были построены первые кластеры (многомашинные вычислительные комплексы), работающие в реальном масштабе времени.
По результатам научных исследований, приведенных при разработке М-4, Карцевым была защищена докторская диссертация, а в 1967 году ему присуждена Государственная премия СССР.
Необходимо отметить, что параллельно с созданием М-4 в ИНЭУМе разрабатывалась машина М-5 гражданского применения. Своим замыслом эта машина предвосхищала многие принципы построения машин не только третьего, но и четвертого поколений. Она задумывалась как многопрограммная и многотерминальная вычислительная машина со страничной организацией памяти, которая могла работать как в пакетном режиме, так и в режиме разделения времени. Авторство этих и многих других идей, заложенных в структуру М-5, принадлежало М. А. Карцеву, он же был вначале назначен главным конструктором этой машины. Но через некоторое время Брук посчитал, что Карцеву следует больше внима-ния уделять взаимодействию с производителями и заказчиками М-4, и отстранил его от работы над М-5, разделив коллектив на две спецлаборатории. Для M. А. Карцева, по воспоминаниям коллег, это был тяжелый момент в жизни, т. к. им слишком много было вложено в М-5.
Дальнейшая судьба машины сложилась неудачно. Изготовленная в единственном экземпляре и не получившая технологической опоры в серийном производстве, по воспоминаниям В. Ф. Дорфмана, она в конце концов была разобрана на детали, которые были проданы в магазине "Пионер".
М. А. Карцеву больше уже не суждено было вернуться к гражданской тематике, все его последующие машины предназначались для оборонной промышленности. Уже в 1967 году им был разработан проект многомашинного вычислительного комплекса М-9. По воспоминаниям Б. Н. Малиновского комплекс М-9 "включал в себя процессор управления и четыре разновидности вычислительных машин: функционально-операторную, числовую, ассоциативную и внешний вычислитель.
Основная идея, заложенная в М-9, состояла в том, что структура вычислительных машин должна быть рассчитана на работу не с отдельными числами, а с группами чисел, представляющими собой приближенные представления функций либо многомерные векторы. Иными словами, должны быть учтены более глубокие смысловые связи в информации, чем связи, учитываемые в существующих машинах: не только между отдельными разрядами одного числа, но и между отдельными числами, представляющими собой значения одной функции. Соответственно, все машинные операции должны быть определены не над пространствами чисел, а над пространствами функций. В число этих операций могут входить сложение, вычитание и умножение функций, сравнение функций, аналогичные операции над функцией и числом, отыскание максимума функций, вычисление неопределенного интеграла, вычисление определенного интеграла от производной двух функций, сдвиг функции по абсциссе и т. д.
Многие из этих операций могут быть истолкованы как известные операции над векторами: сложение и вычитание функций как сложение и вычитание векторов, вычисление определенного интеграла от производной двух функций как вычисление скалярного произведения двух векторов, сдвиг функций по абсциссе как поворот вектора относительно осей координат и т. д.
Главное отличие такой машины (названной Карцевым функционально-операторной) от обычной состояло в организации взаимодействия арифметических устройств. Они работали от одного общего тактового генератора. Причем каждая машина выполняла свою операцию в течение одного или двух тактов, а в конце каждой операции и в начале следующей обеспечивался (без каких-либо дополнительных потерь времени) обмен информацией между выходом любого АУ и входом любого ЗУ (запись предыдущих операций) и между входом любого АУ и выходом любого ЗУ (чтение исходных Данных для следующей операции), а также между АУ.
Векторная числовая машина, включенная в состав М-9, осуществляла операции над частями функций или с многомерными векторами. Ассоциативная машина, обладая высокой производительностью, брала на себя большую часть "неквалифицированной" работы по переборам и упорядочению массивов информации. Числовая машина работала по самостоятельной программе и по программе, синхронизированной с другими машинами комплекса.
Включение в синхронную работу разнородных вычислительных машин позволяло комплексу сохранить высокую производительность при работе с разнородной информацией и делало его универсальным вычислительным средством для решения широкого класса задач, требующих очень высокой производительности".
Успешная эксплуатация макета М-9 показала многие его достоинства, но промышленного освоения он не получил. В дальнейшем векторная числовая машина комплекса М-9 была положена в основу многопроцессорной вычислительной системы M-10.
Для M. А. Карцева 1967 год оказался знаменательным был организован Научно-исследовательский институт вычислительных комплексов (НИИВК), основу которого составлял коллектив его отдела ИНЭУМа, а он был назначен директором института.
В 1969 году коллектив вновь созданного института приступил к разработке многопроцессорной системы M-10, и уже в августе 1971 года был создан экспериментальный образец. Такие темпы разработки сказались на здоровье главного конструктора обширный инфаркт на несколько месяцев уложил его в постель. Но, к счастью, все обошлось благополучно.
В сентябре 1973 года первый промышленный образец успешно выдержал комплексную проверку, а с декабря этого же года началось серийное производство, которое продолжалось до конца 80-х годов.
М-10 представляла собой многопроцессорную синхронную систему со средней производительностью 5 млн. операций в секунду и внутренней памятью емкостью 5 Мбайт. В качестве элементной базы были использованы микросхемы серии 217 ("Посол"). М-10 обладала способностью вести параллельную обработку данных различных форматов, динамически изменять кластеризацию процессоров для соответствия формата данных.
До 80-х годов вычислительная система М-10 по своей производительности превосходила все отечественные машины (БЭСМ-6 она превосходила в 4,2 раза, а старшие модели ЕС ЭВМ в 5,6 раза). Уступая по производительности из-за несовершенства элементной базы, как пишет Б. А. Головкин, суперкомпьютеру Сгау-1 (появившемуся в те же годы), М-10 превосходила его по возможностям, заложенным в архитектуру. "Они определяются числом циклов (в среднем) на одну выполняемую операцию. Чем оно меньше, тем более совершенна архитектура ЭВМ. Для М-10 оно составляет от 0,9 до 5,3 (для всего спектра операций), а для Сгау-1 от 0,7 до 27,6. Здесь минимальные значения близки одно к другому, а максимальное значение для М-10 намного меньше максимального значения для Сгау-1".
Информация об использовании системы М-10, как и о применении предыдущей системы М-4, до 90-х годов была закрытой она также участвовала в составе комплекса системы предупреждения о ракетном нападении (СПРН).
В 1980 году М-10 была модернизирована и стала выпускаться под названием М-ЮМ (ее производительность составляла 2030 млн. операций в секунду). В этом же году правительство страны приняло решение о создании радиолокационной станции нового поколения для СПРН, и институту Карцева было поручено обеспечить новую РЛС вычислительным комплексом на основе системы М-13.
Разработка многопроцессорной системы М-13 началась в НИИВК еще в 1978 году. Эта первая отечественная система четвертого поколения, в которой в качестве элементной базы использовались большие интегральные схемы, была предназначена для обработки в реальном масштабе времени больших потоков информации. Система М-13 имела 4 основные части: центральную процессорную часть, аппаратные средства поддержки операционной системы, абонентское сопровождение и специализированную процессорную часть и была построена по модульному принципу. Кроме распараллеливания на уровне данных (векторные команды), в структуру М-13 был введен конвейер операции. Так что, система М-13 стала первой в нашей стране векторно-конвейерной вычислительной системой. Максимальное эквивалентное быстродействие системы составляло 2,4х109 операций в секунду.
Несмотря на то, что конструкторская документация на систему М-13 была подготовлена институтом в 19801981 годах, в производство она была запущена значительно позже. О трудностях выпуска очередной вычислительной системы М. А. Карцев говорил в своем выступлении в мае 1982 года по случаю 15-летия НИИВК: "Нам сейчас кажется, что мы никогда не выпускали в свет такой хорошей разработки, какую пытаемся выпустить сегодня, и что никогда не было столь трудно выпустить разработку в свет, как сейчас. Но я хочу вам напомнить, что мы переживали очередную влюбленность в каждую нашу разработку, и трудности у нас всегда были неимоверные".
Неприятная волокита с выбором заводов для производства М-13 и конфликты по этому поводу с вышестоящими инстанциями стоили жизни ее главному конструктору не выдержало сердце. 23 апреля 1983 года Михаила Александровича не стало. Ему было 59 лет.
В 1984 году Загорский электромеханический завод приступил к производству последнего детища М. А. Карцева вычислительной системы М-13, а государственные испытания непосредственно на объекте система прошла лишь в 1991 году.
Творческое наследие М. А. Карцева значительно и весомо. Это целая гамма созданных им уникальных вычислительных машин, комплексов и систем: М-2, М-4, M4-2M, М-5, М-10, М-13, внесших существенный вклад в компьютерную науку, а их практическая значимость для нашей страны очень велика.
Это серия написанных им книг, которые стали настольными как у разработчиков вычислительных машин, так и у студентов технических вузов соответствующих специальностей: "Арифметические устройства электронных цифровых машин" (1958), "Арифметика цифровых машин" (1969), "Архитектура цифровых вычислительных машин" (1978), "Вычислительные системы и синхронная арифметика" (1978).
Заслуги М. А. Карцева оценены многими правительственными наградами и, как уже написано выше, ему была присуждена Государственная премия СССР. В 1993 году его имя было присвоено НИИ вычислительных комплексов.
3 мая 1912 года родился Юрий Яковлевич Базилевский (19121983) талантливый инженер-компьютерщик, главный конструктор ЭВМ “Стрела” и автоматизированного вычислительного комплекса для системы противовоздушной обороны “Даль-111”. Его интересы были очень широкими: от проектирования вычислительных машин до разработки технологий, используемых при их производстве.
Родился Ю.Я. Базилевский в городе Алексеевка Воронежской губернии в семье сельского учителя. Среднюю школу он окончил в Майкопе в 1929 году. Продолжил образование уже в Москве: одновременно с учебой в Московском машиностроительном институте им. Лепсе работал на заводе, занимался конструкторской и исследовательской работой. По окончании института был направлен в СКБ (специальное конструкторское бюро) при заводе “Манометр”; там он стал главным конструктором и начальником технического отдела. По совместительству Ю.Я. Базилевский занимался преподаванием.
В январе 1950 года Юрий Яковлевич Базилевский был назначен главным конструктором одной из первых ЭВМ страны “Стрела”, создание которой в 19501954 годах стало главнейшим направлением деятельности СКБ-245, в котором работал Базилевский. Одним из главных разработчиков проекта “Стрелы” был Б.И. Рамеев. В 1953 году “Стрела” прошла испытания и началось ее серийное производство. Семь машин, изготовленных в 19531956 годах, были установлены в важнейших институтах, вычислительных центрах, предприятиях страны, занятых аэрокосмическими исследованиями и атомной энергетикой. В течение ряда лет многие серьезные задачи можно было решать всего на трех типах машин: М-2, БЭСМ-1 и “Стрела”. Все они были настолько загружены, что план проведения расчетов еженедельно утверждался лично Председателем Совета Министров.
В дальнейшем Ю.А. Базилевский, будучи главным инженером СКБ-245, руководил разработкой специализированных вычислительных комплексов для оборонных систем. Комплексы были созданы на базе только появившейся электронной техники для приема и обработки радиолокационной информации, решения задач отбора и распределения целей, наведения на них средств ПВО путем выработки для них команд управления. Для первой половины пятидесятых годов создание такого комплекса было совершенно новой задачей, решение которой практически находилось за пределами возможностей ламповой электроники того времени. Тем не менее, в течение 19551959 годов комплекс “Даль-111” был готов, а в 19601961 уже проходил испытания в составе экспериментальной системы на одном из полигонов страны [7].
Башир Рамеев
Результаты творческой деятельности Б. И. Рамеева по созданию вычислительных машин в основном отражены в технических отчетах, рабочей документации и в самих "Уралах", разработанных им за многие годы. Он почти не выступал на семинарах и конференциях и мало публиковался в открытой печати.
Но его вклад как главного конструктора целого семейства вычислительных машин "Урал" прочно вошел в историю вычислительной техники, так же как и других замечательных ученых, которые обеспечили нашей стране одно из лидирующих положений в годы становления мировой компьютерной науки и техники. Будучи главным конструктором, Б. И. Рамеев вместе со своим коллективом создал и запустил в производство полтора десятка универсальных и специализированных вычислительных машин и более ста различных периферийных устройств.
Уже первый "Урал", выпущенный в Пензе в 1957 году, стал "рабочей лошадью" во многих вычислительных центрах страны, так же как и созданная в те же годы ламповая машина IBM 650 стала "подобной лошадью" американской промышленности. Транзисторные "Уралы" "Урал-П", "Урал-14" и "Урал-16" в 6070-е годы работали в каждом втором вычислительном центре и многих других организациях Советского Союза.
Пензенская научная школа в области вычислительной техники, созданная Б. И. Рамеевым, получила широкую известность и признание благодаря его таланту и колоссальному труду, вложенному в разработку и выпуск целого ряда вычислительных машин.
Башир Искандарович Рамеев родился 1 мая 1918 года. Он происходил из интеллигентной татарской семьи. Его дед, Закар Рамеев, был известным золотопромышленником, членом Государственной Думы России. То, что он большую часть доходов "тратил на благотворительность и содержание сирот, на обучение за границей талантливых молодых людей с целью подготовки татарской интеллигенции, стало после революции не заслугой, а большой виной. Расплачиваться за нее пришлось сыну Искандару и внуку Баширу". Его отец, Искандар Рамеев, по окончании Горной академии в Германии, работал главным инженером на одном из медеплавильных заводов, а затем заведующим лабораторией треста "Башзолото".
В 1935 году семья переехала в Уфу, где Башир заканчивал школу. С детства он увлекался радиотехникой, построил радиоуправляемую модель бронепоезда и в 17 лет стал членом Всесоюзного общества изобретателей. Сдав экстерном экзамены за десятый класс средней школы, он стал студентом 2-го курса Московского энергетического института. Но в 1938 году был репрессирован его отец и Баширу пришлось не по своей воле оставить институт и вернуться в Уфу. Там он работал заведующим радиокабинетом Башрадио, в 1939 году поехал в Крым (у него обнаружили болезнь легких). После Крыма в 1940 году Башир оказался в Москве, где устроился техником в Центральный научно-исследовательский институт связи. Работая в институте, он сделал два изобретения: предложил способ обнаружения с самолета затемненных объектов по инфракрасному излучению, проходящему через зашторенные окна, а также создал релейное устройство для включения громкоговорителей в случае воздушной тревоги.
На фронт он ушел добровольцем и служил в батальоне связи, который обслуживал Ставку Верховного командования. В 1944 году его отозвали из армии и отправили на работу в ЦНИИ-108, которым руководил академик А. И. Берг. Работа была связана с проектированием и расчетом электронных элементов радиолокационных устройств.
Уже в августе 1948 года был разработан проект под названием "Автоматическая цифровая электронная машина", а через два месяца были составлены "Проектные соображения по организации лаборатории при Институте точной механики и вычислительной техники АН СССР для разработки и строительства автоматической цифровой вычислительной машины". Оба эти документа подписаны чл.-корр. АН СССР И. С. Бруком и инженером Б. И. Рамеевым и могут считаться одной из первых страниц истории отечественной вычислительной техники. (В октябре 1948 года в Феофании были разработаны общие принципы построения электронной вычислительной машины МЭСМ.)
В декабре 1948 года Б. И. Рамеев и И. С. Брук подготовили и послали заявку на изобретение "Автоматическая цифровая вычислительная машина" и получили авторское свидетельство № 10475 с приоритетом от 4 декабря 1948 года первое в нашей стране свидетельство по электронным цифровым вычислительным машинам.
В СКБ-245, руководимом M. А. Лесечко, началась работа по созданию вычислительной машины, получившей название "Стрела". Главным конструктором был назначен Ю. Я. Базилевский, а его заместителем Б. И. Рамеев. Эскизный проект первой серийной машины разработан Рамеевым и утвер-жден на техническом совете СКБ. Осваивать серийное производство этой машины было поручено заводу САМ. Проблемы серийного производства предопределили некоторые особенности "Стрелы": невысокое, по сравнению с БЭСМ, быстродействие, просторный монтаж и т. д. В машине в качестве внешней памяти применялись 45-дорожечные магнитные ленты, а оперативная память на трубках Уильямса. "Стрела" имела большую разрядность и удобную систему команд.
В 1953 году действующий экземпляр "Стрела" был предъявлен комиссии по Государственным премиям, а в 1954 году создатели "Стрелы" во главе с М. А. Лесечко, Ю. Я. Базилевским и Б. И. Рамеевым получили Государственные премии.
В 19511953 годах Б. И. Рамеев в Московском инженерно-физическом институте читал лекции по цифровой вычислительной технике, работая совместителем. Многие его студенты в будущем стали ведущими разработчиками отечественной вычислительной техники.
После успешного завершения работ, связанных с выпуском "Стрелы", начался новый период в творческой биографии Б. И. Рамеева период создания семейства вычислительных машин под названием "Урал". Для серийного производства машины "Урал-1" был выбран завод в Пензе. Вместе с группой молодых специалистов, работавших с ним в Москве в СКБ-245, он в 1955 году переехал в этот город. В Пензе он становится главным инженером и заместителем директора по научной работе НИИ математических машин (потом НИИ управляющих машин) и главным конструктором вычислительных машин "Урал".
Машина "Урал-1", выпущенная в 1957 году, стала родоначальницей целого семейства "Уралов". Простота машины, удачная конструкция, невысокая стоимость обусловили ее широкое применение.
После "Урала-1" на той же элементной базе (на электронных лампах) были созданы еще две машины: в 1959 году "Урал-2", а в 1961 году "Урал-4". По сравнению с первым "Уралом" быстродействие "Урала-2" и "Урала-4" увеличилось в 50 раз, оперативная память была реализована на ферритовых сердечниках и значительно увеличен объем внешней памяти.
В ноябре 1962 года была закончена разработка унифицированного комплекса элементов "Урал-10", рассчитанного на автоматизированное производство. Хотя элементы разрабатывались для использования в серии ЭВМ "Урал-11" "Урал-16", они нашли широкое применение и в других средствах вычислительной техники и автоматике. Для этих целей было выпущено несколько миллионов штук элементов".
В семейство полупроводниковых "Уралов" входили три модели: "Урал-П", "Урал-14" и "Урал-16". Первые две модели стали выпускаться серийно с 1964 года, а последняя с 1969 года. Выпуск моделей этого семейства ознаменовал новую веху в творческом наследии главного конструктора Б. И. Рамеева. Это первое в нашей стране семейство машин с унифицированной системой организации связи с периферийными устройствами (унифицированный интерфейс), унифицированной оперативной и внешней памятью. В моделях этого семейства нашли свое воплощение многие идеи, которые затем широко использовались в машинах третьего поколения (развитая система прерываний, эффективная система защиты памяти, развитое программное обеспечение и т. д.). Причем некоторые идеи разработчиков семейства полупроводниковых "Уралов" были высказаны раньше концепции семейства IBM/360.
В конце 60-х годов прошлого столетия в нашей стране на правительственном уровне было принято решение о создании системы РЯД (единой системы ЭВМ ЕС ЭВМ) нового поколения вычислительных машин на интегральных схемах.
Для решения вопросов, связанных с проектированием, разработкой и выпуском машин третьего поколения в Москве в 1967 году был организован Научный исследовательский центр электронной вычислительной техники (НИЦЭВТ). Директором центра стал Крутовских, он же возглавил совет главных конструкторов.
За рубежом уже были выпущены первые системы третьего поколения: в США IBM/360 (фирма IBM) и в Англии System 4 (фирма ICL). Многие ученые в нашей стране не отрицали широкого международного сотрудничества в области вычислительной техники с зарубежными фирмами и, в частности, с фирмой ICL. Уже велись переговоры, инициатором которых выступила фирма ICL. Б. И. Рамеев был активным сторонником и участником переговоров. Им был подписан ряд двухсторонних протоколов с фирмой ICL о сотрудничестве. Он считал, что при тесном сотрудничестве с ICL, в соответствии с уже подписанными протоколами, System 4 могла бы быть воспроизведена одним-двумя заводскими КБ, а основные силы НИИ и СКБ страны можно направить на создание более совершенного ряда машин.
Представители фирмы ICL подчеркивали, что они готовы к разработке вычислительных машин нового поколения совместно с советскими конструкторами. Учитывая открывающие возможности, Рамеев согласился перейти на работу в НИЦЭВТ в качестве заместителя генерального конструктора системы РЯД. За пензенский НИИ математических машин он мог быть спокоен там его ученики заканчивали разработку проекта многопроцессорной системы "Урал-25" и разворачивались работы по созданию "Урал-21" на интегральных схемах.
Примечание. "Волевое" решение Правительства о начале проекта "Ряд" закрыло практически все оригинальные разработки отечественных компьютеров и прекратило также сотрудничество с фирмой ICL.
Вычислительная машина М-3 явилась предтечей минских компьютеров. В 1958 году документация на М-3 была передана минскому заводу, а в сентябре 1959 года уже была выпущена первая машина. А в следующем году коллектив СКВ завода им. С. Орджоникидзе разработал новую, более совершенную, недорогую и простую машину, которую назвали "Минск-1". Главным конструктором первой минской машины был Георгий Павлович Лопато.
Он родился 23 августа 1924 года в деревне Озерщина Гомельской области. Его отец, Павел Алексеевич, окончивший Ленинградский политехнический институт, работал главным инженером одного из московских заводов, а в Дальнейшем преподавателем в Московском институте механизации и электрификации сельского хозяйства.
Поступив в 1931 году в школу, Георгий Лопато окончил ее летом 1941 года, а в октябре был призван в армию и зачислен в батальон ПВО. После демобилизации, в 1946 году, он поступил на электрофизический Факультет Московского энергетического института, который окончил в 1952 году. По окончании института он стал работать во Всесоюзном научно-исследовательском институте электромеханики (ВНИИЭМ) в Москве. Г. П. Лопато участвовал от ВНИИЭМа в совместном с Лабораторией управляющих машин и систем завершении работ и выпуске трех машин М-3, причем в 1954 году он несколько месяцев осваивал машину в лаборатории Брука под руководством Н. Я. Матюхина и В. В. Белынского.
В 1957 году документация на вычислительную машину М-3 была отправлена в Китай и Венгрию. Для помощи в выпуске и наладке машины в Пекин командировали Г. П. Лопато. Там на телефонном заводе был изготовлен первый образец машины для Института вычислительной техники АН Китая. По возвращении из Пекина в апреле 1959 года его пригласили на должность главного инженера СКБ минского завода счетных машин им. С. Орджоникидзе, а через пять лет он становится начальником этого СКБ.
Первая машина серии "Минск" была создана за 14 месяцев, в чем большая заслуга главного конструктора Г. П. Лопато. "Минск-1", построенная на электронных лампах, с двухадресной системой команд обладала быстродействием около трех тысяч операций в секунду. Оперативная память машины была реализована на ферритовых сердечниках (нужно отметить, что коллектив минского завода впервые в нашей стране освоил серийное производство ферритовой памяти). Конструкция и габариты машины позволяли использовать ее в конструкторских бюро, высших учебных заведениях и научно-исследовательских институтах со значительным объемом вычислительных работ (одна машина "Минск-1" была установлена на научно-исследовательском корабле "Сергей Вавилов" для обработки результатов научных исследований).
В 19601964 годах минским заводом выпускались несколько модификаций машины, таких как: "Минск-П" с устройством ввода буквенно-цифровой информацией, для работы с каналами связи; "Минск-12" с развитыми устройствами памяти; "Минск-14", представляющая собой симбиоз "Минск-П" и "Минск-12"; "Минск-16", предназначенная для обработки информации, получаемой с искусственных спутников.
В 1962 году была выпущена вычислительная машина "Минск-100", которая имела специфическое назначение для обработки дактилоскопических отпечатков и успешно использовались в Минске и Ленинграде.
Успешное использование машин первого поколения "Минск-1" и ее модификаций во многом опередило переход к разработке коллективом СКБ машин второго поколения на полупроводниковой элементной базе. И первой машиной второго поколения, созданной в СКБ минского завода, была вычислительная машина "Минск-2". Ее главным конструктором был В. В. Пржиялковский. Эта машина стала базовой для последующих разработок - "Минск-22" и "Минск-22М".
Затем были выпущены еще две машины на полупроводниковой элементной базе "Минск-23" и "Минк-32" (главный конструктор В. Я. Пыхтин). "Минск-23" была предназначена для работы в системе организации производства, а также для решения планово-экономических задач. Вычислительная машина "Минск-32" пришла на "смену" самой распространенной машине своего класса "Минск-22". В ней появилась возможность многопрограммной работы, была предусмотрена защита программ в оперативной памяти, а также возможность работы в многомашинной системе.
До конца 60-х годов Г. П. Лопато возглавлял СКБ минского завода счетных машин, а в 1969 году он становится руководителем минского филиала НИЦЭВТа. Когда в 1972 году филиал преобразовывается в Научно-исследовательский институт электронных вычислительных машин (НИИ ЭВМ), он назначается его директором, на посту которого ученый оставался до 1987 года.
За почти три десятилетия под руководством и при непосредственном участии Г. П. Лопато минским коллективом разработчиков было создано 15 моделей машин серии "Минск", 5 моделей машин серии ЕС ЭВМ, в том числе и персональных компьютеров, а также 6 специальных вычислительных комплексов и ряд систем программного обеспечения.
Г. П. Лопато принадлежат немалые заслуги в области создания многомашинных вычислительных систем и комплексов. Первой однородной многомашинной вычислительной системой была система "Минск-222". Главным конструктором этой системы был опять же Георгий Павлович Лопато. Она разрабатывалась СКБ минского завода совместно с Институтом механики СО АН СССР. Работа по проектированию "Минск-222" была начата в 1965 году, а первый ее экземпляр установлен в 1966 году в Институте математики АН БССР.
Г. П. Лопато являлся главным конструктором вычислительной системы коллективного пользования "Нарочь", в состав которой входило 12 машин ЕС ЭВМ. Эта система использовалась в НИИ ЭВМ в качестве инструментального комплекса для проектирования аппаратного и программного обеспечения.
Кроме вычислительных машин и систем гражданского назначения, Г. П. Лопато руководил разработками систем и комплексов специального назначения, в частности ряда передвижных (возимых) комплексов, а также информационно-логической системы управления 70К1.
В 1969 году он защитил кандидатскую, а в 1975 году докторскую диссертацию. Ему было присвоено ученое звание профессора. В Минском радиотехническом институте он организовал кафедру "Вычислительные машины и системы", которой заведовал в течение десяти лет.
Источник: rnd.cnews.ru
Одним из выдающихся отечественных разработчиков ЭВМ является Всеволод Сергеевич Бурцев (11.02.1927 14.06.2005) главный конструктор первых (и фактически единственных) советских суперкомпьютеров и вычислительных комплексов для систем управления реального времени.
В стенах Института точной механики и вычислительной техники АН СССР В. С. Бурцев прошел все ступени инженерной работы последовательно от инженера до начальника инженерно-конструкторского отдела и заместителя директора по научной работе. В мае 1973 года после смерти С. А. Лебедева Всеволод Сергеевич был назначен директором института.
В. С. Бурцев был одним из ведущих разработчиков первой советской быстродействующей электронной машины БЭСМ. За эту работу Всеволод Сергеевич в возрасте 29 лет был награжден орденом Ленина.
В 1953 1956 гг. В. С. Бурцев разработал принцип селекции и оцифровки радиолокационного сигнала, что позволило впервые в мире осуществить автоматический съем данных с обзорной радиолокационной станции для наведения истребителей на воздушные цели. Успешно проведенный натурный эксперимент по одновременному сопровождению нескольких целей послужил основой для создания систем автоматического наведения на цель.
Системы строились на базе вычислительных машин «Диана-1» и «Диана-2», разработанных коллективом под руководством В. С. Бурцева. На основе данной работы В. С. Бурцев подготовил кандидатскую диссертацию. На ее защите, состоявшейся в 1962 году, члены совета единогласно проголосовали за присуждение ему степени доктора технических наук.
В 1956 1961 гг. под непосредственным руководством В. С. Бурцева были разработаны принципы построения вычислительных средств противоракетной обороны (ПРО) на базе дискретных ЭВМ удалось построить радиолокационные станции точного наведения. В результате был создан высокопроизводительный вычислительный комплекс, решающий задачи высококачественного автоматического управления сложными, разнесенными в пространстве объектами, работающими в масштабе реального времени.
Комплекс был оснащен самой быстродействующей на тот момент машиной М-40/М-50 (с быстродействием 40 50 тыс. оп/с). В ЭВМ М-40 были реализованы впервые предложенные В. С. Бурцевым принципы распараллеливания вычислительного процесса за счет аппаратных средств все основные устройства машины (арифметическое, управления, ОЗУ, управления внешней памятью и т. д.) имели автономные системы управления и работали параллельно во времени.
Впервые был использован принцип мультиплексного канала, благодаря которому без замедления вычислительного процесса удалось осуществить прием и выдачу информации с десяти асинхронно работающих направлений с общей пропускной способностью 1 млн. бит/с.
В марте 1961 года успешно прошли государственные испытания противоракетного комплекса неоднократно удавалось сбить реальную баллистическую боеголовку практически прямым попаданием. Американцы смогли повторить этот успех спустя 23 года.
Во время испытаний противоракетного комплекса на полигоне Сары-Шаган в конце 60-х годов Сергей Алексеевич Лебедев и Всеволод Сергеевич Бурцев объединили между собой несколько вычислительных комплексов, что стало прообразом первых компьютерных сетей. Соответствующие данные разведки привели в панику американское военное командование, и одним из результатов этого стало создание сети ARPANET, основы будущего интернета.
Высокая точность поражения баллистических ракет, обеспеченная ПРО, заставила США искать пути заключения договора с СССР об ограничении ПРО, который появился в 1972 году.
В 1966 году на боевое дежурство заступили первые комплексы противоракетной обороны, над Москвой была развернута полноценная система противоракетной обороны на базе более скоростной ЭВМ 5Э92б, которая создавалась под непосредственным руководством В. С. Бурцева. В ней обеспечивалась повышенная структурная надежность и достоверность выдаваемой информации, основанная на полном аппаратном контроле вычислительного процесса.
В этой ЭВМ впервые был реализован принцип многопроцессорности, внедрены новые методы управления внешними запоминающими устройствами, позволяющие осуществлять одновременную работу нескольких машин на единую внешнюю память. Все это дало возможность по-новому строить вычислительные управляющие и информационные комплексы для систем ПРО, управления космическими объектами, центров контроля космического пространства и другие. Многомашинные вычислительные комплексы с автоматическим резервированием хорошо зарекомендовали себя на боевых дежурствах, благодаря чему наша система противоракетной обороны считается самой неуязвимой в мире. Также этими машинам был оснащен центр контроля космического пространства, многие информационные и научные центры военного профиля.
В 1969 1972 гг. для нужд возимых комплексов противоздушной обороны В. С. Бурцев создает первую вычислительную трехпроцессорную ЭВМ 5Э261 5Э265, построенные по модульному принципу. Каждый модуль (процессор, память, устройство управления внешними связями) полностью охвачены аппаратным контролем, благодаря чему осуществлялось автоматическое скользящее резервирование на уровне модулей в случае их отказов и сбоев, практически без прерывания вычислительного процесса. Производительность ЭВМ составляют рекордную для тех времен 1 млн. оп/с при очень малых размерах менее 2 кубических метров. Эти комплексы в системеС-300 и до настоящего времени стоят на боевом дежурстве и продаются в другие страны.
Следующим важным этапом стало создание второго поколения противоракетного комплекса. В 1969 году была поставлена задача разработать вычислительную систему с производительностью 100 млн. оп./с. Для тех времен это были очень серьезные скорости. Поэтому возникла идея многопроцессорного вычислительного комплекса «Эльбрус». Главным конструктором темы был назначен В. С. Бурцев.
Основная идея нового комплекса использовать многопроцессорную архитектуру не только для повышения надежности, как это было до сих пор, но и в целях увеличения производительности. Машину заложили в 1970 году. В целом «Эльбрус» является полностью оригинальной отечественной разработкой. Была создана многопроцессорная структура, где при увеличении числа процессоров производительность линейно растет.
В те времена в зарубежных аналогах уже четвертый процессор не давал прибавки производительности. Но в «Эльбрусе» были заложены такие схемотехнические, архитектурные и конструкторские решения, благодаря которым производительность МВК практически линейно возрастала при увеличении числа процессоров до 10.
В 1980 году «Эльбрус-1» с общей производительностью 15 млн. оп/с успешно прошел государственные испытания. МВК «Эльбрус-1» стала первой в Советском Союзе ЭВМ, построенной на базе ТТЛ-микросхем. В программном отношении ее главное отличие ориентация на языки высокого уровня (языки класса Ассемблер в системе отсутствуют). Поэтому была разработана собственная операционная система, система файлов и система программирования «Эль-76».
«Эльбрус-1» имел самостоятельное значение, работая во многих системах военного назначения в системе ПРО, Центре контроля космического пространства и многих других.
В. С. Бурцев был всегда верен принципу своего учителя С. А. Лебедева «вести работу шаг за шагом». Поэтому следующим этапом стал перенос архитектурных решений «Эльбруса-1» на новую элементную базу так появился «Эльбрус-2»,основанный на базе ЭСЛ интегральных схем.
В качестве главного конструктора машины Бурцев В. С. наряду с принципиальными схемотехническими вопросами большое внимание уделял конструктивно-технологическим вопросам, принципиальным вопросам системы охлаждения и повышения интеграции элементной базы, а также вопросам автоматизации проектирования. В процессе создания МВК «Эльбрус-2» по его инициативе и при непосредственном участии были созданы новые быстродействующие интегральные схемы, высокочастотные групповые разъемы, многокристальные и большие интегральные схемы, микрокабели, прецизионные многослойные печатные платы. Это было большим продвижением технологий микроэлектроники в нашей стране.
Спустя пять лет в 1985 году были успешно завершены Государственные испытания десятипроцессорного МВК «Эльбрус-2» производительностью 125 млн. оп/с.
Дальнейшим развитием «Эльбруса-2» по замыслу В. С. Бурцева должно было стать введение векторных процессоров. Разработанный им векторный процессор имел быстродействие порядка 200 300 млн оп./с. Три-четыре таких процессора в составе МВК обеспечивали оптимальное сочетание скалярных и векторных операций. На тот момент это была бы одна из наиболее высокопроизводительных машин в мире около 1 млрд. оп/с.
Но обстоятельства заставили В. С. Бурцева покинуть в 1985 году Институт и перейти в Вычислительный центр коллективного пользования (ВЦКП), где он продолжил развивать идеи высокоскоростных параллельных вычислений вначале в должности заместителя директора (1985 1992 гг.), а затем и в качестве директора (1992 1995 гг). После закрытия центра В. С. Бурцев организовал Институт высокопроизводительных вычислительных систем и с 1995 по 1998 являлся его директором.
В эти годы коллективом под его руководством была разработана структура суперЭВМ, основанная на новом «не Фон-Неймановском принципе», и обеспечивающая существенное распараллеливание вычислительного процесса на аппаратном уровне. Принципиальной особенностью предлагаемой архитектуры является автоматическое динамическое распределение ресурсов вычислительных средств между отдельными процессами и операторами. Так был заложен проект оптической сверхвысокопроизводительной вычислительной машины (ОСВМ) РАН.
В. С. Бурцеву принадлежит более 200 научных трудов. За свой труд Всеволод Сергеевич был удостоен Ленинской (1966 г.) и Государственных премий (1971 г., 1985 г.), награжден орденами и медалями СССР и Российской Федерации.
Всю свою жизнь В. С. Бурцев отстаивал важный принцип: суперЭВМ нужны государству, так как они определяют его национальную безопасность и экономическую независимость. Без них невозможны передовые исследования во многих областях, например в самолетостроении, фармакологии, атомной энергетики, биологии, генетики и т. д.
Стоит вспомнить, что С-300 до сих пор успешно конкурирует с более современным американским ЗРК «Патриот», несмотря на то, что управляющая ЭВМ отечественного комплекса построена на интегральных схемах 70-х годов, а уже тогда СССР отставал от американцев по элементной базе более чем на десять лет.
ИТМиВТ продолжает развивать идеи В. С. Бурцева и вести исследования перспективных вычислительных архитектур. Однако такую задачу государственного масштаба институту не «вытянуть» в одиночку. Необходимы объединение передовых творческих коллективов и государственная поддержка.
Первая статья о кибернетике в СССР
Журнал “Вопросы философии” № 4, август, 1955
Научные сообщения и публикации
Академик С. Л. Соболев, А. И. Китов, А. А. Ляпунов
Кибернетикой называется новое научное направление, возникшее в последние годы и представляющее собой совокупность теорий, гипотез и точек зрения, относящихся к общим вопросам управления и связи в автоматических машинах и живых организмах.
Это направление в науке усиленно развивается и еще не представляет собой достаточно стройной и дельной научной дисциплины. В настоящее время в кибернетике определились три основных раздела, каждый из которых имеет большое самостоятельное значение:
Теория информации, в основном статистическая теория обработки и передачи сообщений.
Теория автоматических быстродействующих электронных счетных машин как теория самоорганизующихся логических процессов, подобных процессам человеческого мышления.
Теория систем автоматического управления, главным образом теория обратной связи, включающая в себя изучение с функциональной точки зрения процессов работы нервной системы, органов чувств и других органов живых организмов.
Математический аппарат кибернетики весьма широк: сюда относятся, например, теория вероятностей, в частности теория случайных процессов, функциональный анализ, теория функций, математическая логика.
Значительное место в кибернетике занимает учение об информации. Информацией называются сведения о результатах каких-либо событий, которые заранее не были известны. Существенно при этом то, что фактически поступившие данные являются всегда одним из определенного числа возможных вариантов сообщений.
Понятию информации кибернетика придает очень широкий смысл, включая в него как всевозможные внешние данные, которые могут восприниматься или передаваться какой-либо определенной системой, так и данные, которые могут вырабатываться внутри системы. В последнем случае система будет служить источником сообщений.
Информацией могут являться, например, воздействия внешней среды на организм животного и человека; знания и сведения, получаемые человеком в процессе обучения; сообщения, предназначаемые для передачи с помощью какой-либо линии связи; исходные промежуточные и окончательные данные в вычислительных машинах и т. п.
Новая точка зрения возникла недавно на основании изучения процессов в автоматических устройствах. И это не случайно. Автоматические устройства достаточно просты для того, чтобы не затемнять сути процессов обилием деталей, и, с другой стороны, сам характер функций, выполняемых ими, требует нового подхода. Энергетическая характеристика их работы, конечно, важная сама по себе, совершенно не касается сути выполняемых ими функций. Для того же, чтобы понять сущность их работы, нужно прежде всего исходить из понятия информации (сведений) о движении объектов.
Подобно тому, как введение понятия энергии позволило рассматривать все явления природы с единой точки зрения и отбросить целый ряд ложных теорий (теория флогистона, вечных двигателей и др.), так и введение понятия информации, единой меры количества информации позволяет подойти с единой общей точки зрения к изучению самых различных процессов взаимодействия тел в природе.
Рассматривая информацию, передаваемую воздействием, необходимо подчеркнуть, что ее характер зависит как от воздействия, так и от воспринимающего это воздействие тела. Воздействие от источника к воспринимающему воздействие телу в общем происходит не непосредственно, но через целый ряд опосредствующих эту связь частных воздействий. (Информация при этом каждый раз перерабатывается.) Совокупность средств, позволяющих воздействию достигнуть воспринимающего тела, называется каналом передачи информации, или, короче, каналом связи.
Общим для всех видов информации является то, что сведения или сообщения всегда задаются в виде какой-либо временной последовательности, то есть в виде функции времени.
Количество переданной информации и тем более эффект воздействия информации на получателя не определяется количеством энергии, затраченной на передачу информации. Например, при помощи телефонного разговора можно остановить завод, вызвать пожарную команду, поздравить с праздником. Нервные импульсы, идущие от органов чувств к головному мозгу, могут нести с собой ощущения тепла или холода, удовольствия или опасности.
Сущность принципа управления заключается в том, что движение и действие больших масс или передача и преобразование больших количеств энергии направляются, контролируются при помощи небольших масс и небольших количеств энергии, несущих информацию. Этот принцип управления лежит в основе организации и действия любых управляемых систем: автоматических машин или живых организмов. Поэтому теория информации, изучающая законы передачи и преобразования информации (сигналов), является основой кибернетики, изучающей общие принципы управлений и связей в автоматических машинах и живых организмах. Любая автоматически управляемая система состоит из двух основных частей: управляемого объекта и системы управления (регулятора) и характеризуется наличием замкнутой цепи передачи информации (рис.87).
Рис. . Замкнутая цепь передачи информации
От регулятора к объекту информация передается в виде сигналов управления; в управляемом объекте под воздействием управляющих сигналов осуществляется преобразование больших количеств энергии (сравнительно с энергией сигналов) в работу. Цепь передачи информации замыкается сигналами обратной связи, представляющими собой информацию о действительном состоянии управляемого объекта, поступающую от объекта в регулятор. Назначение любого регулятора заключается в преобразовании информации, характеризующей действительное состояние объекта, в информацию управления, то есть информацию, которая должна определять будущее поведение объекта. Таким образом, регулятор представляет собой устройство преобразования информации. Законы преобразования информации определяются принципами действия и конструкцией регулятора.
В простейшем случае регулятор может быть просто линейным преобразователем, в котором сигнал обратной связи, показывающий отклонение регулируемого объекта от требуемого положения,- сигнал ошибки линейно преобразуется в управляющий сигнал. Сложнейший пример системы управления представляют нервные системы животных и человека. Решающее значение и для этих систем имеет принцип обратной связи. При выполнении какого-либо действия управляющие сигналы в виде нервных импульсов передаются от головного мозга к исполнительным органам и вызывают в конечном счете мышечное движение. Линию обратной связи представляют сигналы от органов чувств, а также кинэстетические мышечные сигналы положений, передаваемые в головной мозг и характеризующие фактическое положение исполнительных органов.
Установлено (см. П. Гуляев “Что такое биофизика”. Журнал “Наука и жизнь” № 1 за 1955 год), что процессы, происходящие в замкнутых цепях обратной связи живых организмов, поддаются математическому описанию и по своим характеристикам приближаются к процессам, происходящим в сложных нелинейных системах автоматического регулирования механических устройств.
Помимо многочисленных и сложных замкнутых цепей обратной связи, предназначенных для движения и действия организмов во внешнем мире, в любом живом организме имеется большое количество сложных и разнообразных внутренних цепей обратной связи, предназначенных для поддержания нормальных условий жизнедеятельности организмов (регулирование температуры, химического состава, кровяного давления и т. д.). Эта система внутреннего регулирования в живых организмах называется гомеостатом.
Основной характеристикой любого регулятора как устройства переработки информации является замен преобразования информации, реализуемый регулятором.
Эти законы в различных регуляторах могут значительно отличаться друг от друга: от линейного преобразования в простейших механических системах до сложнейших законов мышления человека.
Одной из главных задач кибернетики является изучение принципов построения и действия различных регуляторов и создание общей теории управления, то есть общей теории преобразования информации в регуляторах. Математической основой для создания такой теории преобразования информации служит математическая логика наука, изучающая методами математики связи между посылками и следствиями. По существу математическая логика дает теоретическое обоснование и методом преобразования информации, что обусловливает тесную связь математической логики с кибернетикой.
На базе математической логики появились и бурно развиваются в настоящее время многочисленные частные приложения этой науки к различным системам обработки информации: теория релейно-контактных схем, теория синтеза электронных вычислительных и управляющих схем, теория программирования для электронных автоматических счетных машин и др.
Основная задача, которую приходится решать при разработке схемы того или иного устройства обработки информации, заключается в следующем: задан определенный набор возможных входных информаций и функция, определяющая зависимость выходной информации от входной, то есть задан объем информации, подлежащей обработке, и закон ее переработки. Требуется построить оптимальную схему, которая обеспечила бы реализацию этой зависимости, то есть переработку заданного количества информации.
Можно представить такой характер решения этой задачи, когда для реализации каждой зависимости, то есть для передачи каждого возможного варианта информации, строится отдельная схема. Это наиболее простой и наименее выгодный путь решения. Задача теории заключается в том, чтобы путем комбинации таких отдельных цепей обеспечить передачу заданного количества информации при помощи минимального количества физических элементов, потребных для построения схем. При этом необходимо добиться надежности и помехоустойчивости работы систем.
Однако при практическом инженерном решении этих задач не представляется возможным реализовать полностью оптимальные варианты. Необходимо учитывать целесообразность построения машин из определенного количества стандартных узлов и деталей, не слишком увеличивая количество различных вариантов схем в погоне за оптимальностью.
Возникает задача компромисса между требованиями оптимального решения и возможностями практического осуществления схем, задача оценки качества схем и узлов, получающихся из имеющихся стандартных деталей, с точки зрения того, в какой мере эти схемы приближаются к оптимальному решению или каким образом использовать имеющиеся стандартные узлы и блоки для того, чтобы как можно ближе подойти к оптимальному варианту.
Аналогичное положение имеет место и при составлении программ для решения математических задач на быстродействующих счетных машинах. Составление программы заключается в определении последовательности операций, выполняемых машиной, которая даст решение задачи. Подробнее этот вопрос будет пояснен ниже.
Требование оптимального программирования с точки зрения минимального времени работы машины практически не выполняется, так как это связано со слишком большой работой по составлению каждой программы. Поэтому удовлетворяются вариантами программ, которые не слишком отходят от оптимальных вариантов, мо образуются более или менее стандартными, известными приемами.
Рассмотренные задачи представляют собой частные случаи общей задачи, решаемой статистической теорией информации, задачи об оптимальном способе передачи и преобразования информации.
Теория информации устанавливает возможность единым способом представлять любую информацию, независимо от ее конкретной физической природы (в том числе и информацию, заданную непрерывными функциями), в виде совокупности отдельных двоичных элементов так называемых квантов информации, то есть элементов, каждый из которых может иметь только одно из двух возможных значений: “да” или “нет”.
Теория информации изучает два основных вопроса: а) вопрос об измерении количества информации; б) вопрос о качестве информации, или ее достоверности. С первым связаны вопросы пропускной способности и емкости различных систем, перерабатывающих информацию; со вторым вопросы надежности и помехоустойчивости этих систем.
Количество информации, представленное каким-либо источником или переданное за определенное время по какому-либо каналу, измеряется логарифмом общего числа ( n ) различных возможных равновероятных вариантов информация, которые могли быть представлены данным источником или переданы за данное время.
I = log a n
Логарифмическая мера принята, исходя из условий обеспечения пропорциональности между количеством информации, которое может быть передано за какой-либо отрезок времени, и величиной этого отрезка и между количеством информации, которое может быть запасено в какой-либо системе, и количеством физических элементов (например, реле), потребных для построения этой системы. Выбор основания логарифмов определяется выбором единицы измерения количества информация. При основании, равном двум, за единицу количества информации принимается наиболее простое, элементарное сообщение о результате выбора одной из двух равновероятных возможностей “да” или “нет”. Для обозначения этой единицы количества информация введено специальное название “бит” (от начальных букв термина “binary bigit”, что означает двоичная цифра).
Наиболее простым частным случаем определения количества информации является случай, когда отдельные возможные варианты сообщения имеют одинаковую вероятность.
В связи с массовым характером информации вводятся в рассмотрение ее статистическая структура. Отдельные варианты возможных данных, например, отдельные сообщения в теории связи, рассматриваются не как заданные функции времени, а как совокупность различных возможных вариантов, определенных вместе с вероятностями их появления.
В общем случае отдельные варианты данных имеют различную вероятность, и количество информация в сообщения зависит от распределения этих вероятностей.
Математическое определение понятия количества информации получается следующим образом. В теории вероятностей полной системой событий называют такую группу событий А1 А2… А n , в которой при каждом испытании обязательно наступает одно и только одно из этих событий. Например, выпадение 1, 2, 3, 4, 5 или 6 при бросании игральной кости; выпадение герба или надписи при бросании монеты. В последнем случае имеется простая альтернатива, то есть пара противоположных событий.
Конечной схемой называется полная система событий А1, А2… А n , заданная вместе с их вероятностями: Р1, Р2,…Pn:
Всякой конечной схеме свойственна некоторая неопределенность, то есть известны только вероятности возможных событий, но какое событие произойдет в действительности, является неопределенным.
Теория информации вводят следующую характеристику для оценки степени неопределенности любой конечной схемы событий:
где логарифмы могут браться при произвольном, но всегда одном и том же основании и где при Рk0= принимается Pk*logPk=0. Величина Н носит название энтропии данной конечной схемы событий (см. К. Шеннон: “Математическая теория связи”. Сборник переводов “Передача электрических сигналов при наличии помех”. М 1953, А. Я. Хинчин “Понятие энтропии в теории вероятностей”. Журнал “Успехи математических наук”. Т. 3. 1953). Она обладает следующими свойствами:
1. Величина H (Р1, Р2 … Р n ) непрерывна относительно Рk.
2. Величина H (Р1, Р2 … Р n ) = 0 в том и только в том случае, когда из чисел Р1, Р2, …, Рn одно какое-либо равно единице, а остальные равны нулю, то есть энтропия равна нулю, когда отсутствует какая-либо неопределенность в конечной схеме.
3. Величина H (Р1, Р2 … Р n ) имеет максимальное значение, когда все Рk равны между собой, то есть когда конечная схема имеет наибольшую неопределенность. В этом случае, как нетрудно видеть,
Н(Р1Р2…Р n ) = loga
Кроме того, энтропия обладает свойством аддитивности, то есть энтропия двух независимых конечных схем равна сумме энтропий этих конечных схем.
Таким образом, видно, что выбранное выражение энтропии достаточно удобно и полно характеризует степень неопределенности той или иной конечной схемы событий.
В теории информации доказывается, что единственной формой, удовлетворяющей трем указанным свойствам, является принятая форма для выражения энтропии:
Данные о результатах испытания, возможные исходы которого определялись заданной конечной схемой А, представляют собой некоторую информацию, снимающую ту неопределенность, которая была до испытания. Причем, естественно, чем больше была неопределенность конечной схемы, тем большее количество информации мы получаем в результате проведения испытания и снятия этой неопределенности. Так как характеристикой степени неопределенности любой конечной схемы является энтропия этой конечной схемы, то количество информации, даваемое испытанием, целесообразно измерять той же величиной.
Таким образом, в общем случае количество информации какой-либо системы, имеющей различные вероятности возможных исходов, определяется энтропией конечной схемы, характеризующей поведение этой системы.
Так как за единицу количества информации принят наиболее простой и единый вид информации, а именно сообщение о результате выбора между двумя одинаково вероятными вариантами, то и основание логарифмов в выражении для энтропии принимается равным двум.
Теория информации дает весьма общий метод оценки качества информации, ее надежности. Любая информация рассматривается как результат воздействия двух процессов: закономерного процесса, предназначенного для передачи требуемой информации, и случайного процесса, вызванного действием помехи. Такой подход к оценке качества работы различных систем является общим для ряда наук: радиотехники, теории автоматического регулирования, теории связи, теории математических машин и др.
Теория информации предлагает оценивать качество информации не по отношению уровней полезного сигнала к помехе, а статистическим методом по вероятности получения правильной информации.
Теория информации изучает зависимость между количеством и качеством информации; исследует методы преобразования информация с целью обеспечения максимальной эффективности работы различных систем переработки информации и выяснения оптимальных принципов построения таких систем.
Большое значение, например, в теории информации имеет положение о том, что количество информации может быть увеличено за счет ухудшения качества, и, наоборот, качество информации может быть улучшено за счет уменьшения количества передаваемой информации.
Помимо широких научных обобщений и выработки нового, единого подхода к исследованию различных процессов взаимодействия тел, теория информации указывает и важные в практическом отношении пути развития техники связи. Чрезвычайно большое значение, например, имеют в настоящее время разработанные на основе теории информации методы приема слабых сигналов при наличии помех, значительно превышающих по своей мощности уровень принимаемых сигналов. Многообещающим является путь, указываемый теорией информации, повышения эффективности и надежности линий связи за счет перехода от приема отдельных, единичных сигналов к приему и анализу совокупностей этих сигналов и даже к приему сразу натуральных сообщений. Однако этот путь в настоящее время встречает еще серьезные практические трудности, связанные главным образом с необходимостью иметь в аппаратуре связи достаточно емкие и быстродействующие запоминающие устройства.
В учении об информации кибернетика объединяет общие элементы различных областей науки: теории связи, теории фильтров и упреждения, теории следящих систем, теории автоматического регулирования с обратной связью, теории электронных счетных машин, физиологии и др., рассматривая различные объекты эти наук с единой точки зрения как системы обработки и передачи информации.
Несомненно, что создание общей теории автоматически управляемых систем и процессов, выяснение общих закономерностей управления и связи в различных организованных системах, в том числе и в живых организмах, будет иметь первостепенное значение для дальнейшего успешного развития комплекса наук. В постановке вопроса о создании общей теории управления и связи, обобщающей достижения и методы различных частных областей науки, заключается основное значение и ценность нового научного направления кибернетики.
Объективными причинами, обусловившими возникновение в настоящее время такого направления в науке, как кибернетика, явились большие достижения в развитии целого комплекса теоретических дисциплин, таких, как теория автоматического регулирования и колебаний, теория электронных счетных машин, теория связи и другие, и высокий уровень развития средств и методов автоматики, обеспечивший широкие практические возможности создания различных автоматических устройств.
Следует подчеркнуть большое методологическое значение вопроса, поставленного кибернетикой, о необходимости обобщения, объединения в широком плане результатов и достижений различных областей науки, развивающихся в известном смысле изолированно друг от друга, например, таких областей, как физиология и автоматика, теория связи и статистическая механика.
Эта изолированность, разобщенность отдельных областей науки, обусловленная в первую очередь различием в конкретных физических объектах исследования, проявляется в различных методах исследования, в терминологии, чем создаются до некоторой степени искусственные перегородки между отдельными областями науки.
На определенных этапах развития науки взаимное проникновение различных наук, обмен достижениями, опытом и их обобщение являются неизбежными, и это должно способствовать подъему науки на новую, более высокую ступень.
Высказываются мнения о необходимости ограничить рамки новой теории в основном областью теории связи на том основании, что широкие обобщения могут привести в настоящее время к вредной путанице. Такой подход не может быть признан правильным. Уже сейчас определился ряд понятий (в чем немалую роль сыграла кибернетика), имеющих общетеоретическое значение. Сюда прежде всего следует отнести принцип обратной связи, играющий основную роль в теории автоматического регулирования и колебаний и имеющий большое значение для физиологии.
Общетеоретическое значение имеет идея рассмотрения статистической природы взаимодействия информации и системы. Например, понятие энтропии в теории вероятностей имеет общетеоретическое значение а его частные приложения относятся как к области статистической термодинамики, так и к области теории связи, а возможно, и к другим областям. Эти общие закономерности имеют объективный характер, и наука не может их игнорировать.
Новое научное направление еще находится в стадии становления, еще не определены четко даже рамки новой теории; новые данные поступают непрерывным потоком. Ценность новой теории в широком обобщении достижений различных частных наук, в выработке общих принципов и методов. Задача состоит в том, чтобы обеспечить успешное развитие новой научной дисциплины в нашей стране.
Наряду с исследованием и физическим моделированием процессов, происходящих в живых существах, кибернетика занимается созданием более совершенных и сложных автоматов, способных выполнять отдельные функции, свойственные человеческому мышлению в его простейших формах.
Следует заметить, что методы моделирования, методы аналогий постоянно применялись в научных исследованиях, как в области биологических наук, так и в точных науках и в технике. В настоящее время благодаря развитию науки и техники появилась возможность глубже применить этот метод аналогий, глубже и полнее изучить законы деятельности нервной системы, мозга и других органов человека с помощью сложных электронных машин и приборов в, с другой стороны, использовать принципы и закономерности жизнедеятельности живых организмов для создания более совершенных автоматических устройств.
То, что кибернетика ставит перед собой такие задачи, является, несомненно, положительной стороной этого направления, имеющей большое научное и прикладное значение. Кибернетика отмечает общую аналогию между принципом работы нервной системы и принципом работы автоматической счетной машины, заключающуюся в наличии самоорганизующихся процессов счета и логического мышления.
Основные принципы работы электронных счетных машин заключаются в следующем.
Машина может выполнять несколько определенных элементарных операций: сложение двух чисел, вычитание, умножение, деление, сравнение чисел по величине, сравнение чисел с учетом знаков и некоторые другие. Каждая такая операция выполняется машиной под воздействием одной определенной команды, определяющей, какую операцию и над какими числами должна выполнить машина и куда должен быть помещен результат операции.
Последовательность таких команд составляет программу работы машины. Программа должна быть составлена человеком-математиком заранее и задана в машину перед решением задачи, после чего все решение задачи выполняется машиной автоматически, без участия человека. Для введения в машину каждая команда программы кодируется в виде условного числа, которое машиной в процессе решения задачи соответствующим образом расшифровывается, и необходимая команда выполняется.
Автоматическая счетная машина обладает способностью хранить запоминать большое количество чисел (сотни тысяч чисел), выдавать автоматически в процессе решения необходимые для операции числа и снова записывать полученные результаты операций. Условные числа, обозначающие программу, хранятся в машине в тех же запоминающих устройствах, что и обычные числа.
Очень важными с точки зрения принципа работы электронных счетных машин являются следующие две особенности:
1. Машина обладает способностью автоматически изменять ход вычислительного процесса в зависимости от получающихся текущих результатов вычислений. Обычно команды программы выполняются машиной в том порядке, как они записаны в программе. Однако часто и при ручных вычислениях необходимо изменять ход расчета (например, вид расчетной формулы, значение какой-нибудь константы и т. д.) в зависимости от того, какие результаты получаются в процессе вычислений. Это обеспечивается в машине введением специальных операций перехода, позволяющих выбирать различные пути дальнейших вычислений в зависимости от предыдущих результатов.
2. Так как программа работы машины, представленная в виде последовательности условных чисел, хранится в том же запоминающем устройстве машины, что и обычные числа, то машина может производить операции не только над обычными числами, представляющими величины, участвующие в решении задачи, но и над условными числами, представляющими команды программы. Это свойство машины служит для обеспечения возможности преобразования и многократного повторения всей программы или ее отдельных участков в процессе вычислений, что обеспечивает значительное уменьшение объема первоначально вводимой в машину программы и резко сокращает трудоемкость процесса составления программы.
Отмеченные две принципиальные особенности электронных счетных машин являются основными для осуществления полностью автоматического вычислительного процесса. Они позволяют машине оценивать по определенным критериям получающиеся в процессе вычислений результат и самой вырабатывать себе программу дальнейшей работы, основываясь только на некоторых общих исходных принципах, заложенных в первоначально введенной в машину программе.
Эти особенности представляют собой основное и наиболее замечательное свойство современных электронных счетных машин, которое обеспечивает широкие возможности использования машин и для решения логических задач, моделирования логических схем и процессов, моделирования различных вероятностных процессов и других применений. Эти возможности сейчас еще далеко не все выяснены.
Таким образом, основным в принципе действий счетной машины является наличие всегда некоторого самоорганизующегося процесса, который определяется, с одной стороны, характером введенных исходных данных и исходными принципами первоначально введенной программы и, с другой стороны, логическими свойствами самой конструкции машины.
Теория таких самоорганизующихся процессов, в частности, процессов, подчиненных законам формальной логики, и составляет, прежде всего, ту часть теория электронных счетных машин, которой занимается кибернетика.
В этом отношения кибернетикой и проводится аналогия между работой счетной машины и работой человеческого мозга при решении логических задач.
Кибернетика отмечает не только аналогию между принципом работы нервной системы и принципом работы счетной машины, заключающуюся в наличии самоорганизующихся процессов счета и логического мышления, но и аналогию в самом механизме работы машины и нервной системы.
Весь процесс работы счетной машины при решении любой математической или логической задачи состоит из огромного числа последовательных двоичных выборов, причем возможности последующих выборов определяются результатами предыдущих выборов. Таким образом, работа счетной машины заключается в реализации длинной и непрерывной логической цепи, каждое звено которой может иметь только два значения: “да” или “нет”.
Конкретные условия, имеющие место каждый раз в момент выполнения отдельного звена, обеспечивают всегда вполне определенный и однозначный выбор одного из двух состояний. Этот выбор определяется исходными данными задачи, программой решения и логическими принципами, заложенными в конструкцию машины.
Особенно наглядно такой характер работы вычислительных машин виден на примере машин, работающих по двоичной системе счисления.
В двоичной системе счисления в отличие от общепринятой десятичной системы счисления основанием системы является не число 10, а число 2. В двоичной системе счисления участвуют только две цифры 0 и 1, и любое число представляется в виде суммы степеней двойки. Например, 25=1*24+1*23 +0*22 +0*21 + 1*20=11001.
Все действия в двоичной арифметике сводятся к ряду двоичных выборов.
Нетрудно видеть, что любые операции с числами, написанными по двоичной системе, представляют собой операции по нахождению отдельных цифр результата, то есть по нахождению величин, принимающих лишь два значения 1 или 0, в зависимости от значений всех цифр каждого из исходных данных.
Следовательно, получение результата сводится к вычислению нескольких функций, принимающих два значения, от аргументов, принимающих два значения. Можно доказать, что любая такая функция представляется в виде некоторого многочлена от своих аргументов, то есть выражения, состоящего ив комбинаций этих аргументов, соединенных посредством сложения и умножения. Умножение таких чисел очевидно; что касается сложения, то его надо понимать условно, принимая 1+1=0, то есть считая двойку эквивалентной нулю.
Вместо сложения арифметического можно ввести другое, “логическое” сложение, в котором 1+1=1, и опять лишь комбинацией двух операций мы получим любую так называемую логическую функцию от многих переменных.
Это позволяет легко построить любую схему логической машины при помощи комбинаций двух простейших схем, осуществляющих порознь одна сложение, а другая умножение.
Логическая машина, таким образом, состоит из элементов, принимающих два положения.
Другими словами, устройство машины представляет собой совокупность реле с двумя состояниями: “включено” и “выключено”. На каждой стадии вычислений каждое реле принимает определенное положение, продиктованное положениями группы или всех реле на предыдущей стадии операции.
Эти стадии операции могут быть определению “синхронизированы” от центрального синхронизатора, или действие каждого реле может задерживаться до тех пор, пока все реле, которые должны были действовать ранее в этом процессе, не пройдут через все требуемые такты. Физически реле могут быть различными: механическими, электромеханическими, электрическими, электронными и др.
Известно, что нервная система животного содержит элементы, которые по своему действию соответствуют работе реле.
Это так называемые нейроны, или нервные клетки. Хотя строение нейронов и их свойства довольно сложны, они в обычном физиологическом состоянии работают в соответствии с принципом “да” или “нет”. Нейроны или отдыхают или возбуждены, причем во время возбуждения они проходят ряд стадий, почти независимых от характера и интенсивности возбудителя. Сначала наступает активная фаза, передающаяся с одного конца нейрона на другой с определенной скоростью, затем следует рефракторный период, в течение которого нейрон невозбудим. В конце рефракторного периода нейрон остается неактивным, но уже может быть снова возбужден в активное состояние, то есть нейрон может рассматриваться как реле с двумя состояниями активности.
За исключением нейронов, которые получают возбуждение от свободных концов, или нервных окончаний, каждый нейрон получает возбуждение от других нейронов в точках соединения, называемых синапсами. Число таких точек соединения у различных нейронов бывает различным: от нескольких единиц до многих сотен.
Переход данного нейрона в возбужденное состояние будет зависеть от сочетания входящих импульсов возбуждения от всех его синапсов и от того, в каком состоянии до этого находился данный нейрон. Если нейрон находится не в состоянии возбуждения в не в рефракторном состоянии и число синапсов от соседних нейронов, находящихся в возбужденном состоянии, в течение определенного, очень короткого периода времени совпадения превосходит определенный предел, тогда этот нейрон будет возбужден после известной синаптической задержки. Такая картина возбуждения нейрона является весьма упрощенной.
“Предел” может зависеть не просто от числа синапсов, но и от их “ожидания” и от их геометрического расположения. Кроме того, имеется доказательство того, что существуют синапсы различного характера, так называемые “синапсы запрещения”, которые или абсолютно предотвращают возбуждение данного нейрона или поднимают предел его возбуждения обычными синапсами.
Однако ясно, что некоторые определенные комбинации импульсов от соседних нейронов, находящихся в возбужденном состоянии и имеющих синаптические связи с данным нейроном, будут приводить данный нейрон в возбужденное состояние, в то время как другие нейроны не будут влиять на его состояние.
Очень важной функцией нервной системы и вычислительных машин является память.
В вычислительных машинах имеется несколько видов памяти. Оперативная память обеспечивает быстрое запоминание и выдачу данных, необходимых в данный момент для использования в операции. После выполнения данной операции эта память может очищаться и подготавливаться тем самым к следующей операции. Оперативная память в машинах осуществляется с помощью электронных триггерных ячеек, электроннолучевых трубок или электроакустических линий задержки и других электронных или магнитных приборов.
Кроме того, имеется постоянная память для длительного запоминания в машине всех данных, которые потребуются в будущих операциях. Постоянная память осуществляется в машинах с помощью магнитной записи на ленту, барабан или проволоку, с помощью перфолент, перфокарт, фотографии и других способов.
Заметим, что мозг в отношении функций памяти при нормальных условиях, конечно, не является полной аналогией вычислительной машины. Машина, например, решение каждой новой задачи может производить с полностью очищенной памятью, в то время как мозг всегда сохраняет в большей или меньшей степени предыдущую информацию.
Таким образом, работа нервной системы, процесс мышления, включает в себя огромное число элементарных актов отдельных нервных клеток-нейронов. Каждый элементарный акт реакции нейрона на раздражение, разряд нейрона, подобен элементарному акту работы счетной машины, имеющей возможность в каждом отдельном случае сделать выбор только одного из двух вариантов.
Качественное отличие процесса мышления человека от мышления животных обеспечивается наличием так называемой второй сигнальной системы, то есть системы, обусловленной развитием речи, языка человека. Человек широко использует слова в процессе мышления, воспринимает слова как факторы раздражения; при помощи слов осуществляются процессы анализа и синтеза, процессы абстрактного мышления.
Электронные счетные машины имеют некоторое весьма примитивное подобие языка это их система команд, условных чисел, система адресов памяти и система различных сигналов, реализующих различные условные и безусловные переходы в программе, реализующих управление работой машины. Наличие такого “языка” машины и позволяет реализовать на машине некоторые логические процессы, свойственные человеческому мышлению.
В общем плане кибернетика рассматривает электронные счетные машины как системы обработки информации.
Для исследования эффективности и анализа целесообразных принципов работы, конструктивных форм электронных счетных машин кибернетика предлагает учитывать статистическую природу поступающей в машину и получающейся информации математических задач, методов решения, исходных данных, результатов решений.
Это положение находит себе аналогию в принципах работы нервной системы и мозга животных и человека, которые осуществляют взаимодействие с внешней средой путем выработки условных рефлексов и процесса обучения, в конечном счете, путем статистического учета внешних воздействий.
Принципы работы электронных счетных машин вполне позволяют реализовать на этих машинах логические процессы, подобные процессу выработки условных рефлексов у животных и человека.
Для машины может быть составлена такая программа, которая будет обеспечивать определенный ответ машины при задании в машину некоторого определенного сигнала, причем в зависимости от того, как часто будет задаваться этот сигнал, машина будет отвечать более или менее надежно. Если сигнал не подается длительное время, то машина может забыть ответ.
Таким образом, вычислительная машина в работе представляет собой больше, чем просто группу взаимосвязанных реле и накопителей. Машина в действии включает в себя и содержимое своих накопителей, которое никогда полностью не стирается в процессе вычислений.
Интересно в этом отношении следующее высказывание Н. Винера: “Механический мозг не секретирует мысль, как печень желчь, как писали об этом раньше, также он не выделяет ее в форме энергии, как выделяют свою энергию мускулы.
Информация есть информация, не материя и не энергия. Никакой материализм, который не допускает этого, не может существовать в настоящее время.” Винер подчеркивает в этом высказывании, что “мыслительные” способности вычислительной машины не являются органическим свойством самой машины как конструкции, а определяются той информацией, в частности, программой, которая вводится в машину человеком.
Следует ясно представлять коренное, качественное отличие процессов мышления человека от работы счетной машины.
В связи с огромным количеством нервных клеток мозг человека заключает в
себе такое большое количество различных элементарных связей, условно рефлекторных и безусловно рефлекторных сочетаний, которые порождают неповторимые и самые причудливые формы творчества и абстрактного мышления, неисчерпаемые по своему богатству вариантов, содержанию и глубине. И. П. Павлов писал, что человеческий мозг содержит такое большое количество элементарных связей, что человек в течение всей своей жизни использует едва ли половину этих возможностей.
Однако машина может иметь преимущества перед человеком в узкой специализации своей работы. Эти преимущества в неутомимости, безошибочности, безукоризненно точном следовании заложенным принципам работы, исходным аксиомам логических рассуждений при решении конкретных задач, поставленных человеком. Электронные счетные машины могут моделировать, реализовать лишь отдельные, узко направленные процессы мышления человека.
Таким образом, машины не заменяют и, безусловно, никогда не заменят человеческого мозга, подобно тому, как лопата или экскаватор не заменяют человеческих рук, а автомобили или самолеты не заменяют ног.
Электронные счетные машины представляют собой орудия человеческого мышления, подобно тому, как другие инструменты служат орудиями физического труда человека. Эти орудия расширяют возможности человеческого мозга, освобождают его от наиболее примитивных и однообразных форм мышления, как, например, при выполнении счетной работы, при проведении рассуждений и доказательств формальной логики, наконец, при выполнении различных экономико-статистических работ (например, составление расписаний поездов, планирование перевозок, снабжения, производства и т.п.). И как орудия труда мышления электронные счетные машины имеют безграничные перспективы развития. Все более сложные и новые процессы человеческого мышления будут реализоваться с помощью электронных счетных машин. Но замена мозга машинами, их равнозначность немыслима.
Качественно отличными являются структуры мозга и счетной машины. Мозг при общей строгой организации и специализации работы отдельных участков имеет локально случайное строение. Это значит, что при строгом распределении функций и связей между отдельными участками мозга в каждом отдельном участке могут изменяться как число нейронов, так и их взаимное расположение и связи, в известной мере случайно. В электронных счетных машинах в настоящее время исключается какая бы то ни была случайность в схемах соединений, составе элементов и их работе.
В связи с этим отличием в организации мозга и машины стоит существенное отличие и в другом в надежности действия.
Мозг является исключительно надежно действующим органом. Выход из строя отдельных нервных клеток совершенно не сказывается на работоспособности мозга. В машине же выход из строя хотя бы одного элемента из сотни тысяч или нарушение хотя бы одного контакта из сотен тысяч контактов может полностью вывести машину из строя.
Далее, человеческий мозг сам в процессе творчества непрерывно развивается, и именно эта способность к бесконечному саморазвитию является основной отличительной чертой человеческого мозга, которая никогда в полной мере не будет воплощена в машине.
Так же практически недостижима в полной мере для машины и способность человеческого мозга к творчеству: широкой и гибкой классификации и поиску в памяти образов, установлению устойчивых обратных связей, анализу и синтезу понятий.
Человеческий мозг творец всех самых сложных и совершенных машин, которые при всей сложности и совершенстве являются не более чем орудиями человеческого труда, как физического, так и умственного.
Таким образом, электронные счетные машины могут представить собой только чрезвычайно грубую, упрощенную схему процессов мышления. Эта схема аналогична только отдельным, узко направленным процессам мышления человека в его простейших формах, не содержащих элементов творчества.
Но, несмотря на наличие большой разницы между мозгом и счетной машиной, создание и применение электронных счетных машин для моделирования процессов высшей нервной деятельности должно иметь для физиологии величайшее значение. До настоящего времени физиология могла только наблюдать за работой мозга. Сейчас появилась возможность экспериментировать, создавать модели, пусть самых грубых, самых примитивных процессов мышления и, исследуя работу этих моделей, глубже познавать законы высшей нервной деятельности. Это означает дальнейшее развитие объективного метода изучения высшей нервной деятельности, предложенного И. П. Павловым.
Исследуя принцип работы нервной системы и электронных счетных машин, принципы действия обратной связи в машинах и живых организмах, функции памяти в машинах и живых существах, кибернетика по-новому и обобщенно ставит вопрос об общем в различном в живом организме и машине.
Эта постановка проблемы при строгом и глубоком прослеживании может дать далеко идущие результаты в области психопатологии, невропатологии, физиологии нервной системы.
Следует отметить, что в печати уже были опубликованы сообщения о разработке некоторых электронных физиологических моделей. Разработаны, например, модели для изучения работы сердца я его болезней. Разработан электронный счетный прибор, обеспечивающий возможность чтения обычного печатного текста слепым. Этот прибор читает буквы и передает их в виде звуковых сигналов различного тона. Интересно, что после разработки этого прибора было обнаружено, что принципиальная схема прибора до некоторой степени напоминает совокупность связей в том участке коры головного мозга человека, который заведует зрительными восприятиями. Таким образом, методы электронного моделирования начинают практически применяться в физиологии. Задача состоит в том, чтобы, отбросив разговоры о “псевдонаучности” кибернетики, прикрывающие зачастую простое невежество в науке, исследовать пределы допустимости подобного моделирования, выявлять те ограничения в работе электронных счетных установок, которые являются наиболее существенными для правильного представления исследуемых процессов мышления, и ставить задачи конструкторам машин по созданию новых, более совершенных моделей.
В настоящее время за границей уделяется большое внимание как теоретическим, так и экспериментальным исследованиям в области кибернетики. Практически разрабатываются и строятся сложные автоматы, выполняющие разнообразные логические функции, в частности, автоматы, способные учитывать сложную внешнюю обстановку и запоминать свои действия.
Разработка таких автоматов стала возможной с применением в системах автоматика электронных счетных машин с программным управлением. Применение электронных счетных машин для целей автоматического управления и регулирования знаменует собой новый этап в развитии автоматики. До настоящего времени строились автоматы, зачастую весьма сложные, предназначенные для работы в определенных, заранее известных условиях. Эти автоматы обладали постоянными параметрами и работали в соответствии с постоянными правилами и законами регулирования или управления.
Введение электронных счетных машин в системы управления позволяет осуществлять так называемое оптимальное регулирование, или регулирование с предварительной оценкой возможностей. При этом счетная машина в соответствии с поступающими в нее данными, характеризующими текущее состояние системы и внешнюю обстановку, просчитывает возможные варианты будущего поведения системы при различных способах регулирования с учетом будущих изменений внешних условий, полученных экстраполяцией.
Анализируя полученные решения на основе какого-нибудь критерия оптимального регулирования (например, по минимуму времени регулирования), счетная машина выбирает оптимальный вариант, учитывая при этом прошлое поведение системы. При необходимости такая система регулирования может изменять и параметры самой системы управления, обеспечивая оптимальный ход процесса регулирования. Разработка таких автоматов имеет большое экономическое и военное значение.
Особенно большое значение имеет проблема создания автоматических машин, выполняющих различные мыслительные функции человека.
Необходимым условием применения электронных счетных машин для механизации той или иной области умственной работы для управления каким-либо процессом является математическая постановка задачи, наличие математического описания процесса или определенного логического алгоритма заданной работы. Несомненно, что такие невычислительные применения автоматических счетных машин имеют первостепенное значение и необычайно широкие перспективы развития как средства для расширения познавательных возможностей человеческого мозга, для вооружения человека еще более совершенными орудиями труда, как физического, так и умственного.
В качестве примеров кибернетической техники можно привести: автоматический перевод с одного языка на другой, осуществляемый с помощью электронной счетной машины; составление программ для вычислений на машинах с помощью самих машин; использование электронных счетных машин для проектирования сложных переключательных и управляющих схем, для управления автоматическими заводами, для планирования и управления железнодорожным и воздушным сообщением и т. п.; создание специальных автоматов для регулировки уличного движения, для чтения слепым и др.
Следует отметить, что разработка вопросов применения электронных счетных машин в автоматике имеет большое экономическое и военное значение. Строя такие автоматы и исследуя их работу, можно изучить законы построения целого класса автоматических устройств, которые могут быть применены в промышленности и в военном деле. Например, в литературе (см. “Tele-Tech” 153, 12, № 8) приводится принципиальная схема полностью автоматизированного завода, который благодаря атомной силовой установке может длительное время работать самостоятельно, а также схема устройства автоматического управления стрельбой с самолета по летящей цели.
Необходимо отметить, что до середины 60-х годов XX века в нашей популярной литературе имело место неправильное толкование кибернетики, замалчивание работ по кибернетике, игнорирование даже практических достижений в этой области. Кибернетику называли не иначе, как идеалистической лженаукой.
Однако не подлежит сомнению, что идея исследования и моделирования процессов, происходящих в нервной системе человека, с помощью автоматических электронных систем, сама по себе глубоко материалистична, и достижения в этой области могут только способствовать утверждению материалистического мировоззрения на базе новейших достижений современной техники.
Некоторые наши философы допустили серьезную ошибку: не разобравшись в существе вопросов, они стали отрицать значение нового направления в науке в основном из-за того, что вокруг этого направления была поднята за рубежом сенсационная шумиха, из-за того, что некоторые невежественные буржуазные журналисты занялись рекламой и дешевыми спекуляциями вокруг кибернетики, а реакционные деятели сделали все возможное, чтобы использовать новое направление в науке в своих классовых, реакционных интересах. Не исключена возможность, что усиленное реакционное, идеалистическое толкование кибернетики в популярной реакционной литературе было специально организовано с целью дезориентации советских ученых и инженеров, с тем, чтобы затормозить развитие нового важного научного направления в нашей стране.
Необходимо заметить, что автору кибернетики Н. Винеру необоснованно приписывались в нашей печати высказывания о принципиальной враждебности автоматики человеку, о необходимости заменить рабочих машинами, а также о необходимости распространить положения кибернетики на изучение законов общественного развития и истории человеческого общества.
В действительности Н. Винер в своей книге “Кибернетика” ( N. Winer “Cybernetics”. N. Y. 1948) говорит о том, что в условиях капиталистического общества, где все оценивается деньгами и господствует принцип купли-продажи, машины могут принести человеку не благо, а, наоборот, вред.
Далее, Винер пишет, что в условиях хаотичного капиталистического рынка развитие автоматики приведет к новой промышленной революции, которая сделает лишними людей со средними интеллектуальными возможностями и обречет их на вымирание. И здесь же Винер пишет, что выход заключается в создании другого общества, такого общества, где бы человеческая жизнь ценилась сама по себе, а не как объект купли-продажи.
И, наконец, Винер весьма осторожно подходит к вопросу о возможности применения кибернетики к исследованию общественных явлений, утверждая, что, хотя целый ряд общественных явлений и процессов может быть исследован и объяснен с точки зрения теории информации, в человеческом обществе, помимо статистических факторов, действуют еще другие силы, не поддающиеся математическому анализу, и периоды жизни общества, в которые сохраняется относительное постоянство условий, необходимое для применения статистических методов исследования, слишком коротки и редки, чтобы можно было ожидать успеха от применения математических методов к исследованию законов общественного развития в исторические периоды.
Следует заметить, что в книге Н. Винера “Кибернетика” содержится острая критика капиталистического общества, хотя автор и не указывает выхода из противоречий капитализма и не признает социальной революции.
Зарубежные реакционные философы и писатели стремятся использовать кибернетику, как и всякое новое научное направление, в своих классовых интересах. Усиленно рекламируя и зачастую преувеличивая высказывания отдельных ученых кибернетиков о достижениях и перспективах развития автоматики, реакционные журналисты и писатели выполняют прямой заказ капиталистов внушить рядовым людях мысль об их неполноценности, о возможности замены рядовых работников механическими роботами и тем самым стремятся принизить активность трудящихся масс в борьбе против капиталистической эксплуатации.
Нам надлежит решительно разоблачать это проявление враждебной идеологии. Автоматика в социалистическом обществе служит для облегчения и повышения производительности труда человека.
Следует вести борьбу также и против вульгаризации метода аналогий в изучении процессов высшей нервной деятельности, отвергая упрощенную, механистическую трактовку этих вопросов, тщательно исследуя границы применимости электронных и механических моделей и схем для представления процессов мышления.
Игорь Андреевич Полетаев родился в Москве в 1915 году. В 1938 окончил с отличием Московский энергетический институт; в соответствии с выданным ему дипломом он и подписывал многие свои публикации: "инженер Полетаев'".
Его первые научные работы посвящены плазме газового разряда. Они выполнены на очень высоком уровне и опубликованы в Докладах и физических журналах Академии наук.
И.А.Полетаев принимал участие в Великой Отечественной войне в должностях командира взвода, командира батареи, инженера дивизии. Был ранен. Награжден орденом Отечественной войны.
Холодная война сменила горячую. Работая в военном НИИ, И.А.Полетаев занимался тем же, чем и его американские коллеги: подводил научные итоги прошедшей войны. Анализ опыта этой войны привел Н.Винера к созданию новой науки об управлении --- кибернетики. Ко многим идеям этой науки И.А.Полетаев пришёл самостоятельно. Поэтому вполне понятно, что после снятия идеологического проклятия с самого термина, он стал энтузиастом и красноречивым пропагандистом кибернетики.
Как русская литература вышла из гоголевской ``Шинели'', так и советская кибернетика вышла из семинара Алексея Андреевича Ляпунова в МГУ во времена хрущевской оттепели. Там встречались математики, физики, биологи, военные, экономисты. Активными участниками семинара были А.П.Ершов и И.А.Полетаев. Отточенные, блестящие, остроумные выступления И.А. на этом семинаре легли в основу его вышедшей в 1958 году книги ``Сигнал''. Она сыграла выдающуюся роль в распространении кибернетических идей в СССР и вызвала большой интерес за границей, была переведена на немецкий, чешский, польский, болгарский и японский языки.
1950 год
В лаборатории электросистем Энергетического института АН СССР, руководимой И. С. Бруком, начата разработка электронной автоматической цифровой вычислительной машины М-1.
Институт точной механики и вычислительной техники (ИТМиВТ), образованный в конце 1948 г. к этому моменту представлял собой конгломерат разных научно-технических направлений, среди которых разработка ЭВМ была не самым ведущим. Поэтому во главе института ставят переехавшего в Москву академика Михаила Алексеевича Лаврентьева. Новый директор начал с того, что организовал в институте отдел цифровых ЭВМ и пригласил возглавить его С.А. Лебедева с тем, чтобы, не дожидаясь завершения работ по МЭСМ (Киев, С.А. Лебедев), начать конструирование большой ЭВМ.
В ВВС США разработан один из первых компьютеров для военных - SAGE (Semi Automatic Ground Environment). Он собирал и обрабатывал данные с радарных станций.
В СКБ-245 Министерства машиностроения и приборостроения начались работы по созданию ЭВМ "Стрела".
1951 год
Американская выборная комиссия (US Bureau of Census) приобрела первый коммерческий компьютер Univac I (разработчики John Presper Eckert & John W. Mauchly). Для него в этом же году был написан первый компилятор с псевдокода, т. е. первый ассемблер. ЗУ ёмкостью 1000 12 -разрядных десятичных чисел было выполнено на 100 ртутных линиях задержки. Всего было выпущено 47 (или 49) таких машин.
В декабре запущена в эксплуатацию первая в СССР и континентальной Европе ЭЦВМ МЭСМ (малая электронная счетная машина), разработанная под руководством Сергея Алексеевича Лебедева в Киеве. Она содержала около 6000 электронных ламп. Быстродействие более 100 операций в секунду.
1952 год
В начале года в опытную эксплуатацию запущена малая вычислительная машина М-1. Разработчик - Исаак Семенович Брук. Содержала 730 электронных ламп, рулонный телетайп, впервые применена двухадресная система команд. Производительность 15-20 операций в секунду. ОЗУ 256 25-разрядных слов. М-1 положила начало серии машин. В лаборатории И. С . Брука создана машина М-2. Ее разработку выполнила группа выпускников МЭИ, возглавляемая М. А. Карцевым. Объем ОЗУ увеличен до 512 34-разрядных слов.
IBM представила модель IBM 701 EDPM - свой первый серийно выпускавшийся компьютер с хранимой программой. Было выпущено 19 машин, причем аренда одного часа машинного времени стоила 15 000 долл. в месяц. В университете штата Иллинойс создан компьютер
В ФРГ молодая фирма Zuse KG построила для неё релейный компьютер Z 5 (2800 телефонных реле, существенно более надёжных, чем вакуумные лампы). Быстродействие около 6000 оп/час. Он был продан за 300 000 DM , что было большим успехом Zuse KG . Z 5 стал первым коммерческим компьютером в Европе.
Фирма Remington Rand выпустила ЭВМ UNIVAC-1103, которая работала в 50 раз быстрее. Позже в компьютере UNIVAC-1103 впервые были применены программные прерывания. [11]
М. Уилкс совместно с Д. Уиллером и С. Гиллом в 1951 г . написали первый учебник по программированию “Составление программ для электронных счетных машин” (русский перевод вышел в 1953 г .). [ 11 ]
На ежегодной конференции по электронным компонентам, проходившей в Ва-шингтоне, сотрудник Британского королевского радиолокационного управления в Малверне Джеффри Даммер огласил идею “твёрдого блока” интегральной схемы.
1953 год
В апреле сдана в эксплуатацию самая быстродействующая в Европе ЭВМ БЭСМ (С.А. Лебедев). Ее быстродействие было около 8000 операций в сек. Проектное быстродействие 10 тыс. операций в сек.было получено позднее. Примерно в это же время СКБ-245 выпустил ламповую ЭВМ "Стрела" с быстродействием 2000 операций в секунду (Ю.Я. Базилевский, Б.И. Рамеев). Первая “Стрела” была установлена в отделении прикладной математики Математического института АН (МИАН), а в конце 1953 г . началось серийное её производство на московском заводе САМ. Отметим, что э то первая советская серийная машина - было выпущено 7 шт.
В этом же месяце команда И.С. Брука сдает в эксплуатацию машину М-2 . Быстродействие - 2000 операций в секунду. Серийно не выпускалась. Образец проработал 15 лет в Энергетическом институте АН СССР. Для ввода использовались электромеханические и фотоэлектрические устройства перфоввода. Выходным устройством служил рулонный телеграфный телетайп. Постоянная память - магнитный барабан на 512 чисел.
Создано Отделение прикладной математики (ОПМ) в МИАН, преобразованное затем в Институт прикладной математики (ИПМ) АН СССР. Директор - М.В. Келдыш. В ОПМ организован Отдел программирования (руководитель - А.А. Ляпунов, затем М.Р. Шура-Бура).
По инициативе академиков М.В. Келдыша и М.А. Лаврентьева под руководством С. А. Лебедева и М.Р. Шуры-Буры для БЭСМ-1 разработана программа расчета атомного взрыва.
В Институте атомной энергии им. Курчатова была введена в строй ЭВМ ЦЭМ-1 (разработчики Г.Н. Михайлов, Б.Н. Шитиков, Н.А. Явлинский).
А тем временем компьютеры стали обрастать периферией.Корпорация Remington-Rand для компьютера Univac разработала первый в мире высокоскоростной принтер. Появился первый накопитель на магнитной ленте, устройство IBM 726. Плотность записи составляла 100 символов на дюйм, скорость - 75 дюймов в секунду. Не менее важным было появление памяти на магнитных сердечниках.
1954 год
Джон Бэкус (John W. Backus) и его коллеги из IBM работают над процедурным языком программирования высокого уровня для численных методов. Создавался он достаточно долго (1954-1957 гг.) и был назван FORTRAN. Название происходит от слов FORmula TRANslation.
IBM начала выпуск модели 650 - первого массового компьютера. В первый год было установлено 120 машин. В этом же году IBM сконструировала жесткий диск.
Издана книга "Теория алгорифмов" А. А. Маркова. Создана программная система расчета термоядерных взрывов на ЭВМ "Стрела" под руководством М. Р. Шуры-Буры. Методика расчетов была разработана К. А. Семендяевым и И. М. Гельфандом, А. Н. Тихоновым, А. А. Самарским.
1955 год
В Институте атомной энергии им. Курчатова была введена в строй ЭВМ ЦЭМ-2 (разработчик Б.Н. Шитиков). Она проработала в ИАЭ до 1963 г., затем её передали в один из институтов Минздрава СССР.
В Москве создан Вычислительный центр (ВЦ) АН СССР. Директор - А. А. Дородницын.
В Пензе создан филиал СКБ-245, впоследствии преобразованный в НИИ математических машин. Директор - Б. И. Рамеев. В Ереване создан НИИ математических машин (директор - Ф. Т. Саркисян).В Новосибирске образован Институт автоматики и электрометрии (ИАЭ) СО РАН. (руководители - Ю. Е. Нестерихин, С. Т. Васьков).
1956 год
В СССР Госкомиссии представлен головной экземпляр ЭВМ М-3, разработанный инициативной группой (И. С. Брук, Н.Я. Матюхин, В.В. Белынский, Г.П. Лопато, Б.М. Коган, В.М. Долкарт, Б.Б. Мелик-Шахназаров ) . Введен в эксплуатацию во ВНИЭМ (директор А.Г. Иосифьян). Отметим, что в этом году коллектив И. С. Брука выделился из состава МЭИ и образовал Лабораторию управляющих машин и систем (ЛУМС), ставшую в 1958 г . Институтом электронных управляющих машин ( ИНЭУМ). Через два года документация на машину была передана в Ереван и Минск.
Вышла первая обзорная монография по ЭВМ: А. И. Китов. "Электронные цифровые машины" (М., Советское радио).
Вышло постановление ЦК КПСС и СМ СССР о мерах по расширению производства ЭВМ в стране. Постановлением предусматривалось строительство нескольких заводов, в том числе Минского и Казанского, ставших через несколько лет основными поставщиками универсальных ЭВМ в СССР.
В MIT разработан первый экспериментальный компьютер, в котором использовались транзисторы TX-O (Transistorized Experimental computer).В этом году за свою работу над созданием транзистора Вильям Шокли (William Bradford Shockley), Джон Бардин (John Bardeen) и Уолтер Бретейн (Walter H. Brattain) были удостоены Нобелевской премии.
13 сентября IBM представила первый в мире жёсткий диск, названный RAMAC. Он имел ёмкость 5 Мбайт и состоял из 50 пластин диаметром 24 дюйма. Для сравнения -- в 2006 г. диски ёмкостью 500 Гб имеют внутри всего три пластины диаметром 3,5 дюйма.
1957 год
Создана одноадресная ламповая ЭВМ "Урал-1", положившая начало целому семейству "Уралов". Быстродействие 100 операций в секунду. ОЗУ на магнитном барабане 1024 36-разрядных слова. Внешнее ЗУ на магнитной ленте вмещало 40 000 слов, кроме того, на перфоленте можно было сохранить еще 10 000 слов. Предназначалась для инженерных расчетов, отличалась дешевизной. Главный конструктор Б. И. Рамеев. Всего было выпущено 183 ЭВМ "Урал-1"
1957 - 59 гг.
В СССР была разработана первая ламповая специализированная стационарная ЭВМ для наведения истребителей-перехватчиков СПЕКТР-4.
Принята госкомиссией М-3, разработка которой была проведена совместно с Лабораторией управляющих машин и систем АН СССР и ВНИИЭМ в 1956-1957 гг. М-3 послужила прототипом для двух промышленных серий ЭВМ - "Минск" и "Раздан".
Конрад Цузе начал разработку машины Z 22. Он расстался с релейными машинами и перешёл на электронные лампы. Его первая машина на лампах делалась сравнительно долго, но затем он начал делать их всё быстрее и быстрее.
1958 год
Сеймур Крей построил первый полностью транзисторный компьютер CDC 1604, предназначенный для научных исследований. Его серийный выпуск начался в 1960-м.
В Манчестерском университете создан компьютер с виртуальной памятью. Это был легендарный Atlas.
Zuse KG разработала Z 23 полностью транзисторный компьютер, повторивший логику Z 22, но с втрое большим быстродействием. В 1961/62 гг. Z 23 полностью заменил Z 22. Память на ферритовых кольцах ёмкостью 240 40-разрядных слов, магнитный барабан на 8192 слов. До 1967 г . в Германии было установлено 97 машин Z 23.
В СССР на этот год приходится бум разработок ЭВМ. В первую очередь это ЭВМ
М-20 на ламповых и полупроводниковых элементах. Разработка ИТМ и ВТ совместно со специализированным конструкторским бюро (М. К. Сулим) под руководством академика С. А. Лебедева (заместители главного конструктора - М. К. Сулим и М. Р. Шура-Бура). Быстродействие - 20 тыс. операций в секунду. Реализовано частичное совмещение операций, наличие аппаратных средств поддержки организации циклов в программах, возможность параллельной работы процессора и устройства вывода информации на печать. ОЗУ емкостью 4096 45-разрядных слов, выполненное на ферритовых сердечниках. Внешняя память - магнитные барабаны и ленты. Выпуск этой машины начался в тот же год в Казани.
Начало выпуска в Ульяновске БЭСМ-2 (С. А. Лебедев, В. А. Мельников). Заработала ламповая ЭВМ М-40 (быстродействие 40 тыс. операций в секунду).
Создание "Сетуни" (Н. П. Брусенцов, МГУ) - первой и единственной в мире машины, работающей в троичной системе счисления. Запоминающий элемент с тремя состояниями (0, 1, 2) не только наиболее оптимален для представления данных, но и позволяет строить машины, больше соответствующие Аристотелевой логике.
Создано для ЭВМ М-20 комплексное программное обеспечение - система использования стандартных подпрограмм (ИС-2). Руководитель разработки - М. Р. Шура-Бура. Система стандартных подпрограмм. Е. А. Жоголев, Г. С. Росляков, Н. П. Трифонов, М. Р. Шура-Бура.
1 октября в Москве постановлением Президиума АН СССР Лаборатория управляющих машин и систем АН СССР была преобразована в Институт электронных управляющих машин АН СССР (ИНЭУМ), сыгравший впоследствии как головной институт по СМ ЭВМ важную роль в развитии вычислительной техники в СССР.
Харвик Джонсон и Торкел Валлмарк анонсировали концепцию “полупроводникового интегрального устройства”.
12 сентября сотрудник фирмы Texas Instruments Джек Килби продемонстрировал руководству три склеенные пчелиным воском на стеклянной подложке устройства из двух кусочков кремния. Это были объёмные макеты прототипы интегральной схемы (ИС) генератора, доказывающие возможность изготовления всех элементов схемы на основе одного полупроводникового материала. Эта дата отмечается в истории электроники как день рождения интегральных схем.
1958 - 59 гг.
Опытные образцы ЭВМ М-40, М-50 для систем ПРО. (С. А. Лебедев, В. С. Бурцев; Ленинская премия 1966 г. за специализированный автоматизированный комплекс обработки информации для системы ПРО на базе этих ЭВМ).
Первая в СССР мобильная полупроводниковая ЭВМ "Курс" для обработки радиолокационной информации была создана Я. А. Хетагуровым (ЦМНИИ-1).
Выпустил первую продукцию ЭВМ М-3 Минский завод ЭВМ им. Г.К. Орджоникидзе. Всего в 1959-1960 г.г. было выпущено 28 ЭВМ. Начало выпуска в Казани троичной ЭВМ "Сетунь" (Н. П. Брусенцов). В Вычислительном центре АН УССР в Киеве введена в эксплуатацию универсальная ЭВМ "Киев" (В. М. Глушков, Б. В. Гнеденко, К. Л. Ющенко, Л. Д. Дашевский)
В АН СССР образован Научный совет по комплексной проблеме "Кибернетика" (А. И. Берг, Б. В. Бункин).
1959 г.
Март презентация фирмой Texas Instruments первой экспериментальной дейст-вительно интегральной схемы Джека Килби ”, выполненной в одном кусочке монолитного германия,. Роберт Нойс из Fairchild Semiconductor, предложил планарную технологию изго-товления транзисторов и их соединения в одном кристалле.
1959 - 60 гг.
IBM объявила о создании ЭВМ 1401. Всего было выпущено более 10 000 экземпляров. Интересно, что в это же время был выпущен последний компьютер этой корпорации на электронных лампах - IBM 709 (около 20 000 ламп). Уже следующая модификация этой машины, первый коммерческий компьютер IBM 7090, был сделан из 20 000 отдельных транзисторов, стоимостью по 80 долл. каждый.
1960 год
В СССР разработана первая полупроводниковая управляющая машина «Днепр» (В. М. Глушков, Б. Н. Малиновский).
Минский завод им. Г.К. Орджоникидзе приступил к выпуску ЭВМ «Минск-1». Быстродействие 3000 операций в сек. Объем ОЗУ 1024 31 разрядных слов. Внешнее ЗУ на магнитной ленте емкостью 65 тыс. слов. Главный конструктор Лопато Г.П. Всего было выпущено 230 ЭВМ.
ИНЭУМ разработал управляющую машину М-4 (И.С. Брук, М.А. Карцев) для решения специальных радиолокационных задач в системах РТИ АН СССР. Создана первая система обработки информации в реальном времени (на ЭВМ М-40 для систем противоракетной обороны). Руководители разработки - академик С.А. Лебедев, В.С. Бурцев, Л.Н. Королев.
Первая микропрограммная специализированная ЭВМ «Тетива» для системы ПВО. Производство в Минске. Главный конструктор Н.Я. Матюхин.
В Ереване начат выпуск ЭВМ «Раздан» (Б. Б. Мелик-Шахназаров).Начало выпуска ЭВМ «Урал-2» (Пенза, Б. И. Рамеев).
1961 год
В декабре госкомиссии была сдана первая в СССР полупроводниковая универсальная ЭВМ «Днепр» с устройством связи с объектами, включающим аналого-цифровые и цифро-аналоговые преобразователи (Киев, В. М. Глушков, Б. Н. Малиновский). Выпускалась на протяжении 10 лет.
В Москве создан Институт проблем передачи информации (ИППИ). Директор - В. И. Сифоров. В Киеве ВЦ АН УССР преобразован в Институт кибернетики (ИК) АН УССР). Директор - В. М. Глушков.
1962 год
Выпуск ИТМиВТ ЭВМ БЭСМ-4. Быстродействие - 20 тыс. операций в секунду. ОЗУ - 16 384 48-разрядного слова. Внешняя память - магнитные барабаны. 4 входа с телефонных линий связи и 32 входа с телеграфных линий связи.
Начало выпуска ЭВМ «Урал-4». Всего было выпущено 191 ЭВМ «Урал-2», «Урал-3» и «Урал-4» (они различались только комплектацией периферийных устройств).
Разработка (главный конструктор Ю.В. Осокин) и выпуск первых 5000 ИС Рижским заводом полупроводниковых приборов с постав-кой их в НИИРЭ (Ленинград) и заводу ВЭФ.
Начало серийного производства ИС типа SN-51 фирмой Texas Instruments и типа Micrologic фирмой Fairchild Semiconductor и их поставок в интересах Миноборо-ны США и НАСА.
1963 год
Начало серийного производства малой ЭВМ для инженерных расчетов «Промiнь» на Северодонецком заводе вычислительных машин. В ней использовалось ступенчатое микропрограммное управление (С. Б. Погребинский, В. Д. Лосев).
Начало выпуска ЭВМ «Минск-2» (с 1965 г. - «Минск-22») с использованием импульсно потенциальной элементной базы и введением представления данных в виде двоично-десятичных чисел и алфавитно-цифровых слов (В. В. Пржиялковский). Всего было выпущено 925 ЭВМ этого типа. Создан многомашинный комплекс «Минск-222» (Г. П. Лопато, на базе ЭВМ «Минск-2»).
Дуглас Энгельбарт (Douglas Engelbart) получил патент на указующее устройство для компьютеров, названное мышью.
1964 год
В СССР разработана и запущена в производство ЭВМ с микропрограммным управлением «Наири», запуск в производство ЭВМ М-4М. Производительность - 220 тыс. операций в секунду.
Начало выпуска электронной управляющей машины М4-2М с производительностью 110-220 тыс. операций в секунду. для задач управления и обработки радиолокационной информации (Загорск, М. А. Карцев).
Начало выпуска ЭВМ «Весна» (300 тыс. операций в секунду) с 32 быстрыми регистрами универсального использования в основном процессоре, параллельно работающими и связанными между собой через систему прерываний основным процессором и процессором ввода-вывода, с индивидуальной защитой отдельных участков памяти. Производство в Минске. В. С. Полин (главный конструктор), В. К. Левин, В. А. Слепушкин, Ю. А. Котов. Для этой машины была предложена многозадачная операционная система. Основные разработчики: М. Р. Шура-Бура, В. С. Штаркман.
В Новосибирске создан ВЦ СО АН СССР. Директор - Г. И. Марчук (затем А. С. Алексеев) и Институт математики СО АН СССР (С.Л. Соболев, М. М. Лаврентьев).
Первая локальная сеть была разработана в Ливерморской лаборатории (Lawrence Livermore Labs). Гордон Мур (Gordon Moore) сформулировал свой знаменитый закон Мура об удвоении сложности ИС каждые 18 месяцев (первый закон Мура).M. R. Davis и T. D. Ellis из Rand Corporation разработали графический планшет (сколку).
7 апреля IBM анонсировала семейство совместимых компьютеров System/360, в этом же году она предложила термин текстообработка (word processing).
В сентябре корпорация Control Data ( CDC ) поставила Ливерморской национальной лаборатории им. Лоуренса и через месяц ввела в действие разработанную Сеймуром Крейем (Seymour Cray) ЭВМ CDC-6600, в которой использовались 60-разрядные слова и параллельная обработка. CDC-6600 была в течение нескольких лет самым производительным компьютером в мире. Д о конца десятилетия было продано около 100 экземпляров в научно-исследовательские лаборатории Комиссии по атомной энергии США и другие государственные учреждения, а также в крупные университеты Америки и Европы.
Zuse KG поставила первые четыре компьютера Z 25 (Начало разработки 1961 г .). Это была небольшая дешёвая ЭВМ для широкого круга приложений. До 1969 было выпущено 102 машины.
1965 год
Начало выпуска ряда ЭВМ Урал; Урал-11, 14, 16 (Урал-16 с 1969 г.) с операциями над словами переменной длины и структурной адресацией (Б. И. Рамеев, В. И. Бурков, А. Н. Невский, Г. С. Смирнов, А. С. Горшков, В. И. Мухин). Всего было выпущено 325 этих ЭВМ.
Разработка учеными Института точной механики и вычислительной техники (ИТМ и ВТ) под руководством С.А. Лебедева, быстродействующей электронно-счетной машины БЭСМ-6 (первое промышленное внедрение - 1967 г.). БЭСМ-6 занимает особенно важное место в развитии и использовании вычислительной техники в СССР. Это первая в СССР супер-ЭВМ с производительностью 1 млн. операций в секунду.
В Киеве создана машина МИР-1 (машина для инженерных расчетов). Архитектура ЭВМ с входным языком высокого уровня, сочетающим парадигму формульного вычислителя, функциональную и процедурную парадигмы (язык Аналитик типа Алгол-60). Разработчики В. М. Глушков, Ю. В. Благовещенский, А. А.Летичевский, В. Д.Лосев, И. Н. Молчанов, С. Б. Погребинский, А. А. Стогний, З. Л. Рабинович.
В то время как все разрабатывали большие компьютеры Digital Equipment Corporation (DEC) выпустила первый настоящий мини-компьютер - DEC PDP-8, стоивший тогда всего лишь 18 000 долл. Эта 12-разрядная машина имела объём ОЗУ от 4 до 32 К слов, в ней впервые введена общая шина Omnibus . PDP-8 использовалась для управления производственными процессами, в экспериментах и в телефонии.
1966 год
Минский завод им. Г.К. Орджоникидзе выпустил первую партию ЭВМ «Минск-23» (В.В. Пржиялковский), специализированных на обработке алфавитно-цифровой информации и планово- экономических расчетах. Операционная система этой ЭВМ (программа-координатор) обеспечивала одновременную работу трех рабочих и пяти обслуживающих программ, а также защиту памяти.
1967 год
30 декабря 1967 года вышло постановление ЦК КПСС и Совета Министров СССР № 1180-420 о развитии производства средств вычислительной техники в стране. Этим постановлением Министерству радиопромышленности поручалось разработать комплекс программно совместимых информационно-вычислительных машин «Ряд» и организовать его серийное производство. Для руководства разработкой Минрадиопрому разрешалось создать в Москве Научно-исследовательский центр электронной вычислительной техники (НИЦЭВТ).
Начат выпуск на киевском заводе ВУМ управляющей ЭВМ «Днепр-2». Разработка Института кибернетики АН Украины (В. М. Глушков, А. Г. Кухарчук).
Начал работу НИИ вычислительных комплексов. Директор - М. А. Карцев.
Корпорация DEC выпустила миникомпьютер PDP-10, а Burroughs начала продажи машины B3200.
1968 год
Начало выпуска в Казани полупроводниковых ЭВМ М-220 и М-222 с производительностью до 28 тыс. операций в секунду, продолжающих линию ЭВМ М-20. Главный конструктор В.С. Антонов. Всего было выпущено 502 ЭВМ этих типов.
Минский завод им. Г.К. Орджоникидзе выпустил первую партию ЭВМ «Минск-32» (В. В. Пржиялковский) Эта ЭВМ производительностью 30 тыс. операций в сек. стала самой массовой ЭВМ второго поколения в СССР. Было выпущено 2889 ЭВМ «Минск-32». Операционная система этой ЭВМ (программа «Диспетчер«) обеспечивала одновременное прохождение нескольких рабочих программ и защиту памяти. В машине имелась программно-аппаратная система совместимости с «Минск-22».
Создан Научно-исследовательский центр электронной вычислительной техники (НИЦЭВТ), директор - С. А. Крутовских, затем А. М. Ларионов, В. В. Пржиялковский.
1969 год
Начало производства ЭВМ МИР-2.
В СССР закончен первый этап создания системы предупреждения о ракетном нападении. В ней использовалось свыше 50 машин М4-2М и М4-3М, соединенных каналами передачи данных длиной в десятки тысяч километров.
В Москве на базе Института телемеханики создан Институт проблем управления (ИПУ). Директор - В. А. Трапезников (затем И. В. Прангишвили).
Билл Гейтс (Bill Gates) и Пол Аллен (Paul Allen) подписали соглашение с корпорацией Computer Center о том, что они в обмен за машинное время будут писать отчеты об ошибках в ПО миникомпьютера PDP-10.
Под эгидой Агентства по перспективным исследованиям МО США (ARPA) началась разработка и внедрение глобальной военной компьютерной сети ARPAnet, связывающей исследовательские лаборатории на территории США.
1970 год
Создана многомашинная система коллективного пользования "АИСТ-0" на базе нескольких М-20 под управлением "Минск-32" (А. П. Ершов, Г. И. Кожухин, Г. П. Макаров, М. И. Нечепуренко, И. В. Поттосин).
DEC начала поставки первого 16-разрядного миникомпьютера PDP-11/20, а IBM - первого компьютера из семейства System 370.
В университете штата Иллинойс был создан суперкомпьютер ILLIAC IV (64 процессора, 20 MFLOPS).
1971 год
Начало выпуска Минским заводом им. Г.К. Орджоникидзе ЭВМ ЕС-1020 (В. В. Пржиялковский). Производительность 20тыс. оп/сек., емкость ОЗУ 64 Кбайт. Впервые внешнее ЗУ выполнено на магнитных дисках емкостью 7,5 Мбайт. Дисковая операционная система (ДОС). Всего в СССР и Болгарии выпущено 755 ЭВМ.
Начало выпуска в Киеве одной из лучших машин СССР М-4030. Разработка ИНЭУМ (Б. Н. Наумов, В. Г. Захаров, И. Я. Ландау).
В Вильнюсе начат выпуск М-5000 (А. М. Немейкшис), а в Северодонецке М-6000, М-7000. (В. В. Резанов, В. М. Костелянский).
В ноябре этого года началась эпоха микропроцессоров. Разработан (Faggin, Hoff и Mazor) первый в мире 4-разрядный микропроцессор Intel 4004, содержащий 2300 транзисторов на кристалле, тактовая частота 108 кГц, быстродействие 60 000 операций в секунду, адресуемая память 640 байт, цена $200. Команду разработчиков возглавлял Marcian E. Hoff, документация была написана Адамом Осборном (Adam Osborne).
IBM анонсировала мэйнфреймы System 370/135 и 370/195. Интересно, что для загрузки микрокода в мэйнфреймы IBM в этом году Аланом Шугартом (Alan Shugart) был разработан первый накопитель на гибких магнитных дисках (НГМД), хотя есть источники, утверждающие, что такой накопитель был сделан раньше (1967?).
1972 год
Минский филиал НИЦЭВТа преобразован в НИИЭВМ. Директор Г. П. Лопато.В Ереванском НИИММ завершена разработка ЭВМ ЕС-1030 (главный конструктор А. М. Семерджян). Производительность 70 тыс. операций в сек. Емкость ОЗУ 128-512 Кбайт. Пропускная способность каналов 2 Мбайт/сек. Операционные системы ДОС ЕС и ОС ЕС.Разработана управляющая ЭВМ "Киев-70".
Intel разработала 8-разрядный процессор 8008 для корпорации Computer Terminal. Тактовая частота 108 кГц, 3500 транзисторов, адресное пространство 16 Кб.
Компания Hewlett-Packard выпустила мини-компьютер HP 3000, заявив тем самым себя в качестве игрока на рынке компьютеров для бизнеса.
Год основания в маленьком городке Чиппева Фолс фирмы Cray Research , I nc. (CRI) . Сеймур Крей вместе с четырьмя своими сотрудниками покинул корпорацию CDC . Существует легенда, что первый свой суперкомпьютер они собрали в гараже. Но нужно учесть, что этот гараж был размером 20х20 м, а платы для нового компьютера заказывались на лучших заводах США.
Корпорация Tektronix выпустила графический терминал с длинным названием Direct View Storage Tube. Считается, что его появление резко ускорило разработки в области компьютерной графики.
В этом году появились сразу два языка, оказавших большое влияние на программирование: Пролог - для систем искусственного интеллекта и язык Си - для системного ПО.
1973 год
Казанский завод ЭВМ выпустил первую партию ЭВМ ЕС-1030. Всего было выпущено 436 ЭВМ ЕС-1030.
С использованием БЭСМ-6 была создана (1971 -1973 гг.) многомашинная система с переменной структурой АС-6 для задач управления космическими полетами в СССР.
В НИЦЭВТе закончена разработка ЭВМ ЕС-1050 (В. С. Антонов) Производительность ЭВМ 500 тыс. оп/сек. Емкость ОЗУ 256-1024 Кбайт. Общая пропускная способность каналов ввода-вывода 4 Мбайт/сек.
В Минске на базе завода им Г. К. Орджоникидзе и вновь построенного Минского завода вычислительной техники образовано Минское производственное объединение вычислительной техники (МПО ВТ).
Начало выпуска высокопроизводительной ЭВМ с многоформатной векторной RISC-архитектурой для систем предупреждения о ракетном нападении и общего наблюдения за космическим пространством М-10 (Загорск, М. А. Карцев).
Начало работ по языку Ада. Он создан по заказу МО США (Пентагона) французской фирмой "Сии-Хониуэлл Буль" (парижский филиал компании "Хониуэлл Буль", США) как единый язык для встраиваемых и бортовых систем (1973-1983 гг.). Руководитель проекта - Жан Ихбиан (Jean Ichbian). Назван в честь математика и писательницы графини Августы Ады Лавлейс (Augusta Ada Lovelace), дочери поэта лорда Дж. Г. Байрона, первой программистки, написавшей в 1830 г. вместе с Ч. Бэббиджем ряд программ математических вычислений для его аналитической машины. Перевела описание этой машины на французский язык.
Начат выпуск ЭВМ "Мир-3".
1974 год
Пензенский завод ВЭМ выпустил первые экземпляры ЭВМ ЕС-1050. Всего было выпущено 87 ЭВМ ЕС-1050.
Создан Совет Главных конструкторов СМ ЭВМ. Генеральные конструкторы: Б. Н. Наумов, затем Н. Л. Прохоров.
Hewlett-Packard выпустила первый программируемый карманный калькулятор.
Появился первый 8-разрядный процессор 8080 фирмы Intel. Процессор имел 16-разрядную шину адреса и 8-разрядную шину данных. Таким образом максимально адресуемая память была всего 64 Кб. Тактовая частота около 2 МГц, 6000 транзисторов. Он был сердцем "Альтаира 8800" - первого персонального компьютера в мире. Процессор 8080 оказал колоссальное воздействие на развитие микропроцессорной техники.
Джон Кук (John Cocke) из IBM Research разработал концепцию RISC-процессора.
Появились первые банкоматы.
Гарри Килдол (Gary Kildall) написал операционную систему CP/M, получившую широкое распространение на 8-разрядных микрокомпьютерах. 16-разрядная версия CP/M была взята Microsoft за основу при разработке MS-DOS.
Группа бывших сотрудников корпорации Intel образовала фирму Zilog. Им удалось через полтора года сделать удачный 8-разрядный микропроцессор Z-80, широко использовавшийся в первых ПК.
Для реляционных СУБД был разработан язык SQL.
1975 год
Минское объединение МПО ВТ выпустило первую партию (100шт.) ЭВМ ЕС -1022 (главный конструктор И. К. Ростовцев). Производительность 80 тыс. операций в сек. Емкость ОЗУ 128-256 Кбайт. Это самая массовая ЭВМ общего назначения в СССР, их было выпущено 3828 шт.
Motorola выпустила 8-разрядный процессор 6800, получивший широкое распространение.
В этот год IBM выпустила почти персональный компьютер 5100. Особенность машины - встроенный интерпретатор языка APL.
Год основания корпорации Apple Computer.
Сотрудниками факультета вычислительной техники Калифорнийского университета в Беркли выпущена собственная версия UNIX, известная как Berkeley Software Distribution (UNIX BSD).
Вышел первый номер журнала Byte.
А в Москве в это время начал выходить журнал "Программирование". Главные редакторы: Н. П. Бусленко, Н. Н. Говорун, В. П. Иванников.
1976 год
Создание наземных ЕС-подобных ЭВМ 5Э76 и вычислительных комплексов на их базе для систем ПВО (Н. Я. Матюхин).
В США появился микропроцессор Zilog Z-80, послуживший основой для создания множества моделей 8-разрядных ПК во всем мире.
В марте, почти 4-летняя работа завершилась у спешным дебютом самого быстрого в мире (конечно, только на этот момент) суперкомпьютера Cray-1, главный конструктор Сеймур Крей (Seymour Cray), фирма CDC. Быстродействие - 100 MFLOPS.
NEC выпустила мэйнфреймы System 800 и 900.
1977 год
Создание ЭВМ "Эльбрус-1" со средствами аппаратной поддержки развитой структуризации программ и данных (В. С. Бурцев, Б. А. Бабаян).
Минское объединение МПО ВТ приступило к серийному производству ЭВМ ЕС-1060, разработанной в том же году НИЦЭВТом (В. С. Антонов). Производительность - миллион операций в сек. на смеси Gibson-3. Оперативное ЗУ 2-8 Мбайт. Общая пропускная способность каналов 9 Мбайт/сек. Всего было выпущено 313 ЭВМ ЕС-1060.
Начало выпуска Минским объединением МПО ВТ ЭВМ ЕС-1035, разработанной в том же году в НИИЭВМ (Г. Д. Смирнов). Производительность 160 тыс. операций в сек. Оперативное ЗУ 256-1024 Кбайт. Общая пропускная способность каналов 1,2 Мбайт/сек. Всего было выпущено 2138 ЭВМ ЕС-1035.
В Вильнюсе создан Институт математики и кибернетики АН Литовской ССР.
В апреле Apple Computer Corporation объявила компьютер Apple II на процессоре 6502. Он имел 4 Kб ОЗУ, расширяемого до 48 Kб, восемь гнезд расширения. Apple II - первый компьютер, который предлагал TV-тюнер и как дополнительную возможность - цветной монитор. Был также и звук. Цена Apple II была всего 1298 долл.
В это же время появляются популярные 8-разрядные микрокомпьютеры TRS-80 (корпорация Radio Shack), PET.
Корпорация DEC объявила первый 32-разрядный мини-компьютер VAX-11/780.
1978 г
Начало выпуска в ГДР модели ЕС-1055. Поставлялись в СССР в количестве 100 шт. в год.
В Ереванском НИИММ закончена разработка ЭВМ ЕС-1045 (А. Т. Кучукян). Производительность 660 тыс. операций в сек на смеси Gibson-3D. Объем оперативного ЗУ 1-4 Мбайт. Общая пропускная способность каналов 5 Мбайт/сек.
Начало выпуска СМ-3 и СМ-4, совместимых с М-400 (Москва, Киев).Разработчики Б. Н. Наумов, М. А. Боярченков, А. Н. Кобалевский, В. П. Семик, Ю. Н. Глухов, М. Н. Островский, Б. И. Панферов, В. С. Громов, А. А. Солохин, Б. Я. Фельдман, Е. Н. Филинов, А. В. Филин.
Начало выпуска УВК СМ-1 и СМ-2, совместимых с М-6000/М-7000 (Северодонецк, В. В. Резанов, В. М. Костелянский, Г. М. Лехнова, В. А. Барабанов, Л. А. Сопочкин).
Преобразование КБ промышленной автоматики в НИИ "Квант". Директор - В. К. Левин.
Intel сделала мощный рывок вперед, анонсировав процессор 8086, положивший начало семейству процессоров 80x86 этой компании. Он имел 16-разрядные регистры, 20-разрядный адрес, возможность адресовать до 1 Мб ОЗУ. Тактовая частота была от 4 до 10 МГц, 29 000 транзисторов, цена $360.
Для перехода с 8080 на 16-разрядные процессоры Intel, выпустила процессор 8088, аналогичный 8086, но его шина данных была 8-разрядной и мультиплексированной.
DEC объявила семейство компьютеров VAX, ставшее особенно популярным в учебных и научных институтах и лабораториях.
Год появления на рынке первой электронной таблицы - VisiCalc. Разработчики Даниэл Бриклин (Daniel Bricklin) и Боб Фрэнкстон (Bob Frankston).
В США прошла первая выставка COMDEX, ставшая со временем главной компьютерной выставкой страны. В тот год число участников составило 2100 фирм и посетителей - 200 тыс.; Это более чем в три раза меньше, чем на прошедшей в марте в Ганновере выставке CeBIT, но по количеству объявлений новых продуктов она не уступала ей.
1979 год
Начало выпуска Казанским заводом ЭВМ ЕС-1045. Всего было выпущено этих 1836 ЭВМ.
Начало выпуска Пензенским заводом ВЭМ ЭВМ ЕС-1052 (модернизация ЕС-1050 В. С. Антонов, Ревунов В.А.). Производительность 700 тыс. операций в сек (Gibson-3D). Объем оперативного ЗУ 1- 8 Мбайт. Пропускная способность каналов 5,2 Мбайт/сек. Всего было выпущено 74 ЭВМ ЕС-1052.
Начало серийного выпуска высокопроизводительных многопроцессорных УВК с перестраиваемой структурой ПС 2000 и ПС 3000, реализующих распараллеливание на уровне задач, ветвей, векторных и скалярных операций в задачах геофизики, научных экспериментов и др. Разработчики: ИПУ, Москва, НИИУВМ Северодонецк; И. В. Прангишвили, В. В. Резанов, Э. А. Трахтенгерц, А. А. Новохатний.
В январе Даг Майклс вместе со своим отцом основали компанию Santa Cruz Operation (SCO).
Motorola выпускает 32-разрядный процессор 68000 (однако шина данных была 16-разрядной), объем линейно адресуемой памяти до 16 Мб. Этот процессор открыл начало семейству процессоров 680x0 и стал базой для компьютеров семейства Macintosh. Название происходит от того факта, что процессор содержал 68 000 транзисторов на кристалле.
Фирма Micropro International (позднее она была переименована в Wordstar International) выпустила для микрокомпьютеров текстовый процессор WordStar (разработчики Seymour Rubenstein и Rob Barnaby), который оказал очень сильное влияние на все последующие разработки в этой области.
Литература
Оглавление
[1] Предисловие [2] Замечания по терминологии [3] Кибернетика и информатика [4] Предпосылки информатики [4.1] Мечта ЧЕЛОВЕКА об искусственном человеке [4.2] Усилители физической и умственной деятельности ЧЕЛОВЕКА [4.3] Ключевые проблемы информатики [5] Формализация естественного языка как средства общения. [6] Формализация физических характеристик среды обитания [6.1] Дискретные и непрерывные множества [6.2] Понятия измерительной шкалы, числа и измерения [6.3] Натуральное число [6.4] Позиционная система счисления [6.5] Натуральная числовая прямая [6.6] Целые числа (положительные и отрицательные) [6.7] Вещественные числа [7] Формализация физических зависимостей [7.1] Функции [7.2] Элементарные функции [7.3] Элементарная алгебра, аналитические и численные вычисления [8] Аналоговые и цифровые вычислители [9] Простейшие вычислители [9.1] Аналоговые вычислительные линейки [9.2] Цифровой абак и русские счеты [9.3] Цифровые механические арифмометры [9.4] Хронология событий. [10] Аналитические машины Чарльза Беббиджа. [11] Формализация рассуждений [11.1] Логика рассуждений [11.2] Логические функции и алгебра логики [11.3] Алгебра логики и алгебра релейно - контактных схем [12] Накануне компьютерной эры [12.1] Зарождение цифровых систем управления [12.2] Перфокарточные сортировальные машины [12.3] Методология моделирования [13] Теоретические модели вычислений [13.1] Алгоритм и его свойства [13.2] Проблема слов в ассоциативном исчислении [13.3] Нормальный алгоритм Маркова [13.4] Рекурсивные функции [13.5] Машина Тьюринга [13.6] Равнодоступная адресная машина [14] Пионеры зарубежной компьютеризации [15] Становление информатики в России. Борьба за признание [16] Два типа электронных вычислительных машин [16.1] Аналоговая вычислительная машина (АВМ) [16.2] Цифровая электронная вычислительная машина (компьютер, ЭВМ) [16.3] Аналог или цифра [17] Пионеры отечественной компьютеризации [18] Становление информатики в России. Начальный период [19] Оригинальные отечественные серийные ЭВМ (компьютеры) [19.1] ЭВМ Стрела [19.2] Семейство ЭВМ "М-20" [19.2.1] М-20 [19.2.2] М-220, М222 [19.3] Семейство ЭВМ "БЭСМ" [19.3.1] БЭСМ-1 [19.3.2] БЭСМ-2 [19.3.3] БЭСМ-4 [19.4] Семейство ЭВМ "Минск" [19.4.1] Минск-1 [19.4.2] Минск-2 [19.4.3] Минск -22 [19.4.4] Минск-23 [19.4.5] Минск-32 [19.5] Семейство ЭВМ "Урал" [19.5.1] Урал-1, Урал-2, Урал-3, Урал-4 [19.5.2] Урал-11, Урал-14, Урал-16 [19.6] ЭВМ "Весна" и "Снег" [19.7] ЭВМ БЭСМ-6 [19.8] Многопроцессорные вычислительные комплексы "Эльбрус" [19.9] Управляющие ЭВМ [20] Эволюция элементарной базы и поколения ЭВМ [20.1] Базисные логические элементы [20.2] Элементы регистровой памяти [20.3] Элементы памяти на магнитных сердечниках. [20.4] Интегральные схемы [20.5] Поколения ЭВМ [21] Американская система IBM-360 [22] Семейство Ряд "ЕС ЭВМ" [22.1] Хронология создания [22.2] ЕС ЭВМ. Крупнейший промах или всеобщее счастье? [23] Автоматизация программирования [23.1] От двоичных кодов к ассемблерам - языкам символьного кодирования [23.2] Языки программирования высокого уровня [23.3] Трансляция программ [24] Первые компьютеры Сарова [25] Начало компьютеризации Нижегородского госуниверситета [26] Они были первыми [26.1] Конрад Цузе [26.2] [26.3] Джон Маулчи и Джон Эккерт [26.4] Джон фон Нейман [26.5] [26.6] [26.7] Сергей Лебедев [26.8] Исаак Брук [26.9] Николай Матюхин [26.10] Михаил Карцев [26.11] Юрий Базилевский [26.12] [26.13] Георгий Лопато [26.14] Всеволод Бурцев [27] Приложения [27.1] Основные черты кибернетики [27.1.1] Общенаучное значение кибернетики [27.1.2] Электронные счетные машины и нервная система [27.1.3] Прикладное значение кибернетики [27.1.4] * * * [27.2] "Сигнал" Игоря Полетаева [27.3] Хронология компьютеростроения |
PAGE 68