18 лет назад 5 октября 2006 в 12:33 1594

У того, кто читает уже не первую статью про, так сказать, многовековой upgrade, может сложиться впечатление, что Россия все это время стояла как-то совершенно на обочине столбовой дороги компьютерной истории. Это, конечно же, не так. Не говоря уже про конкретные послевоенные работы наших ученых в этой области. Без работ многих русских математиков просто немыслимо развитие европейской науки XX века, а без оной, в свою очередь, — и развитие компьютерной техники. Однако к чему отягощать компьютерный журнал еще и статьями про историю математики? Кому охота читать про математику или физику, тот пускай читает соответствующие журналы. Что, нет таких? Ну, ему же хуже — пускай ничего не читает.

А вообще, ответил бы мне хоть кто-нибудь на вопрос: почему не знать стихотворения Пушкина — это стыд и позор, а не знать, скажем, закон Ома для участка цепи — это вполне нормально? Или почему человек, не знающий ничего про GeForce или не понимающий разницу между Athlon, Duron и Celeron, — чайник недорезанный и вообще лох, а человек, не знающий, какой вклад внесли в развитие цивилизации Максвелл или Фарадей, вполне может считать себя современным продвинутым парнем?

В публицистике последнего десятилетия нередко упоминался пресловутый «железный занавес», которым якобы СССР отгородился от Запада. Однако, по большому счету, это именно Запад отгородился от страны, практически самостоятельно разгромившей самое продвинутое на тот момент в научном и военном плане государство (если кто не понял, я имею в виду, что СССР разгромил Германию).

Термин «железный занавес» был введен в обиход премьер-министром Англии — Уинстоном Черчиллем — 5 марта 1946 года в его печально известной речи, произнесенной в американском населенном пункте Фултон, штат Миссури, перед фултонцами и иностранными корреспондентами. «Соединенные Штаты стоят сейчас на вершине мировой мощи. Это торжественный момент для американской демократии. С этой мощью должна сочетаться ответственность за будущее. Если вы посмотрите вокруг себя, вы должны ощущать не только чувство выполненной обязанности, но и беспокойство, боязнь не потерять достигнутое», — вещал Черчилль, не выпуская изо рта сигару.

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

В СССР ничуть не меньше, чем в Германии, Англии или США, понимали важность создания вычислительных устройств для нужд армии и оборонной промышленности. Уже в 1939 году в лаборатории Энергетического института АН СССР под руководством 
И. С. Брука работал механический интегратор для решения дифференциальных уравнений.

В декабре 1948 года было зарегистрировано первое в СССР свидетельство об изобретении И. С. Бруком и 
Б. И. Рамеевым цифровой вычислительной машины.
Параллельно шла разработка другой вычислительной машины — в Институте электротехники АН Украины, директором которого после войны был С. А. Лебедев (он также возглавлял лабораторию Института точной механики и вычислительной техники АН СССР).

Разработка началась в 1948 году в секретной лаборатории в Феофании, под Киевом. Именно там Лебедев, практически ничего не зная о работах фон Неймана, выдвинул и обосновал принципы построения ЭВМ с хранимой в памяти программой. Эти принципы были реализованы затем в Малой электронной счетной машине (МЭСМ). Об этом я еще подробно расскажу позднее, а пока же вернемся к Джону фон Нейману.

После того, как Моушли и Экерт, как мы уже знаем, организовали свой семинар по обсуждению вопросов, связанных с созданием вычислительной техники, за конструирование взялись и другие исследователи. В 1949 году в Англии была введена в строй первая машина с хранимой в памяти программой EDSAC (Elec-tronic Delay Storage Automatic Computer). До того вычислительные машины (Colossus, ENIAC 
и т. п.) проектировались под конкретный алгоритм, то есть вычислять на них что-нибудь иное, кроме тех уравнений, для которых они создавались, было нельзя. Конструктор EDSAC — Морис Уилкис из Кембриджа — воспользовался кибернетическими идеями Н. Вирта об управлении, а также идеями Джона фон Неймана.

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

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

Джон фон Нейман родился в 1903 году в семье будапештского банкира и, как рассказывают, уже в восьмилетнем возрасте владел не только несколькими иностранными языками, но также знал основы высшей математики. Он обладал феноменальной памятью и помнил все, что когда-либо слышал, видел или читал, мог дословно цитировать по памяти большие фрагменты книг, которые читал несколько лет назад. После окончания в 1926 году Будапештского университета Нейман уехал в Германию, а оттуда в 1930 году — в США, став сотрудником Принстонского института перспективных исследований.

В 1944 году фон Нейман написал книгу «Теория игр и экономическое поведение».

В том же году фон Нейман был направлен в качестве консультанта по математическим вопросам в группу разработчиков ENIAC. После окончания строительства последней фон Нейман опубликовал отчет «Предварительное обсуждение логической конструкции электронной вычислительной машины». Этот отчет стал исходным пунктом в конструировании новых машин. Сам Нейман вернулся в институт перспективных исследований и занялся разработкой собственной версии вычислительной машины, которую назвал машиной с памятью с прямой адресацией — IAS (Immediate Address Storage).

Уже во время работ над ENIAC фон Нейман понял, что создание компьютеров с большим количеством переключателей и проводов, которые, собственно, и реализуют тот или иной алгоритм, очень вредно для здоровья (в смысле, долго и утомительно).

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

По ходу дела Нейман пришел также к выводу, что десятичная арифметика, реализуемая в ENIAC, очень неэффективна. В ENIAC для каждого десятичного разряда были отведены 10 ламп, и в любой момент времени горела только одна (скажем, если горит седьмая лампа, то в разряде стоит 7, если девятая — 9 и т. д.). В своей машине десятичную арифметику Нейман заменил двоичной (ну, тут он был не оригинален).
Поскольку почти все современные компьютеры в главных чертах повторяют архитектуру IAS, которая в специальной литературе сегодня так и именуется — «архитектура фон Неймана», или «фон-неймановская машина». Имеет смысл очень кратко рассмотреть ее.

Машина фон Неймана состояла из пяти основных узлов: памяти, арифметико-логического устройства (АЛУ), устройства управления и устройств ввода-вывода (в современных микропроцессорах АЛУ и устройство управления объединены в одном корпусе). Память состояла из 4096 слов на 40 бит каждое. В каждом слове могло быть размещено одно число или две 20-битные команды. Команда состояла из восьмибитного кода, определяющего тип выполняемой над числом операции, и 12 бит, указывающих, над каким из 4096 слов должна быть выполнена операция. Это то, что сегодня называют адресом ячейки памяти.

Внутри АЛУ находился специальный внутренний 40-битный регистр, который назывался аккумулятором. Типичная команда добавляла слово из памяти к аккумулятору или сохраняла в памяти значение аккумулятора. В современных процессорах Intel существуют несколько так называемых регистров общего назначения (в Pentium 4 — это 32-битные регистры, а в Itanium — 64-битные). Первый из этих регистров (AX) также называется аккумулятором.

Глобальным отличием было то, что весь внешний ввод-вывод происходил непосредственно через АЛУ, а не через общую шину, как в современных компьютерах. Другое отличие машины фон Неймана заключается в том, что современные компьютеры осуществляют операции над числами с так называемой плавающей точкой (операции над дробями), а машина фон Неймана использовала только целые числа. Оно и не удивительно, ведь фон Нейман никак не предполагал, что когда-нибудь вычислительные машины будут использоваться кем-либо еще, кроме математиков, а для любого математика положение десятичной точки в числе есть лишь степень 10, которую он держит в уме.

Например, число 2012,965 настоящий математик представит в так называемой экспоненциальной форме 0,2012965 x 104, или просто 2012965 и 4 в уме. В принципе, в современных компьютерах дробные числа хранятся именно в такой форме, которая называется формой с мантиссой и экспонентой.

Скажем, в вышеприведенном примере 2012965 — это мантисса, а 4 — экспонента. Таким образом, то, что фон Нейман — блестящий математик — делал в уме (перевод чисел из экспоненциальной формы в форму десятичной дроби), современные компьютеры автоматизируют.

Пока Джон фон Нейман создавал свою машину, которая дала видовое имя всем последующим компьютерам, Джон Бардин, Уолтер Браттейн и Уильям Шокли из Bell Telephone Laboratories 23 декабря 1947 года успешно протестировали свое новое изобретение, которому в самом ближайшем будущем суждено было совершить переворот в электронике вообще и в вычислительной технике в частности. Это изобретение они назвали транзистором.

Дмитрий Румянцев

Никто не прокомментировал материал. Есть мысли?