Для нас не существует Секретов

Создание первого арифмометраНужно сказать, что в нашей стране также было много замечательных достижений в этой области. Так, создание первого арифмометра связывают с именем замечательного русского математика П. Л. Чебышева. Что же касается ЭВМ, то в конце 1940-х гг. группа ученых во главе с академиком С. А. Лебедевым создала в Киеве малую электронно-счетную машину, в 1952 г. — большую электронно-счетную машину. Во второй половине 1950-х гг. пошла в серию новая советская ламповая ЭВМ «Урал-1». Чуть позже появилась отечественная ЭВМ «Стрела».

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

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

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

В этом смысле более логичными выглядели трехадресные системы команд: код команды (иногда со специальными признаками), первый операнд по первому адресу, второй — по второму, результат записывался по третьему адресу. Например, команда сложения могла выглядеть так: 01 2356 4563 7644. На простом языке это означало: взять число из адреса 2356 оперативной памяти, сложить (код команды — первый в записи) его с числом, находящимся по адресу 4563, а полученный результат записать по адресу, или, как говорили, в ячейку 7644.