Виртуальный музей и личный архив, посвящённый истории вычислительной техники. Здесь живут советские ЭВМ и философия инженерной мысли.
Программируемые калькуляторы
О непрограммируемых советских калькуляторах можно прочитать здесь.
Первые доступные на потребительском рынке ЭВМ – программируемые калькуляторы: Б3-21 (представлен в 1977) – 60 шагов, 6 регистров; Б3-34 (представлен в 1980) – 98 шагов, 14 регистров; МК-61 (представлен в 1985) – 105 шагов, 15 регистров; МК-52 (представлен в 1984/1985) – 105 шагов, 15 регистров, внешнее ПЗУ программ.
Программируемый калькулятор – это устройство, которое может хранить числовые значения и выполнять вычисления по программе. Он похож на обычный калькулятор, но у него есть специальные функции и возможность выполнять последовательность команд – программу, которые позволяют ему решать более сложные задачи. В основе вычислений большинства советских ПМК лежала обратная польская запись (ОПЗ) — логика, придуманная польским математиком Яном Лукасевичем. Она позволяла обходиться без скобок и экономила драгоценные шаги программы.
Электроника-70
Искра-123
В 1970 году, была выпущена «Электроника-70» — профессиональная настольная ЭКВМ (т.е. Электронная Клавишная Вычислительная Машина) массой 18 кг, имевшая 196 шагов программы и 23 регистра. Она использовалась для научных расчётов, в геодезии и даже в медицине. Первый советский программируемый калькулятор назывался Искра 123 и был представлен в 1973 году. Он был довольно крупным (весил 1 килограмм), выполнял программу всего в 70 шагов и мог обрабатывать только 5 чисел одновременно.
Позже, в 1977 и 1980 годах соответственно, были созданы более компактные и усовершенствованные модели – Б3-21 и Б3-34, представленные в нашей экспозиции. Они имели больше памяти и стали более удобными в использовании. Это были карманные устройства, которые, в отличие от громоздких «Искр», действительно можно было носить с собой. Они имели больше памяти и стали более удобными в использовании. Б3-21 и Б3-34 основали первые два поколения советских программируемых калькуляторов.
В интернете во многих статях указано, что буква «Б» означает бытовую технику (скорее всего из статьи Сергея Фролова от 1998 года). Однако нам сейчас доступны фотографии наброска приказа министра электронной промышленности Шокина от 1970 года, в котором описывается формат шифра. Согласно нему, первая бука обозначает управление министерства, выпускающее устройство. Таким образом, буква Б обозначает Второе главное управление МЭП, то есть «Главное управление развития науки и производства полупроводниковых приборов«, а цифра 3 — малую вычислительную технику.
В 1985 году появились МК-61 и МК-52 – последние модели программируемых калькуляторов, образовавшие третье поколение. МК-52 имел новые возможности, такие как энергонезависимая память и подключение внешнего блока памяти с программами, на выбор предлагались сменные блоки с навигационными (БРП-2 «Астро»), математическими (БРП-3), игровыми и бытовыми (БРП-4) программами. Калькулятор МК-52 использовался даже в космосе, на борту космического корабля «Союз ТМ-7». Его предполагалось использовать для расчёта траектории посадки в случае отказа бортового компьютера. Кроме того, с 1988 года МК-52 с блоком «Электроника-Астро» поставлялись военно-морскому флоту СССР для использования штурманами.
Скромные возможности этих машин породили целое «эзотерическое» направление — «еггогологию». Дело в том, что при переполнении или ошибке на экране загоралось слово «ЕГГОГ» (англ. ERROR). Хакеры-энтузиасты обнаружили, что если с помощью специальных манипуляций с шестнадцатеричными кодами воздействовать на этот «ЕГГОГ», можно «вытащить» его в регистры и использовать как команду. Это приводило к появлению недокументированных кодов, самоизменению программы и даже «воскрешению» скрытых регистров. Журналы «Наука и жизнь» и «Техника — молодёжи» вели специальные рубрики, посвящённые этим трюкам. Для многих советских программистов Б3-34 стал первым компьютером, а умение оптимизировать программу до одного байта считалось высшим пилотажем. Например, с помощью недокументированной команды можно было «вытащить» код ошибки в регистр и использовать его как множитель, экономя до 4 шагов программы. А переключение режимов между расчётами и программированием позволяло выполнять команды, не предусмотренные разработчиками. Это были первые шаги в сторону «взлома», которые для многих инженеров стали практикой гибкого мышления.
В качестве «серьезного» примера использования программируемых калькуляторов, можно привести расчет режима сварки за авторством моего отца — Бабкина А.С. Его программа из 365 команд позволяла рассчитывать сварочный ток, напряжение дуги, скорость сварки и диаметр электродной проволоки для разных типов соединений. Более мощная микроЭВМ «Электроника ДЗ-28» с 32–128 Кбайт памяти и накопителем на магнитной ленте выполняла тот же расчёт за 1.5 минуты, включая печать результатов. Для сравнения — программа на Б3-34 не имела вывода на печать и требовала ручной записи результатов. Этот наглядно показывает, как в 1980-е годы инженеры использовали доступную микропроцессорную технику для решения реальных производственных задач, когда доступ к большим ЭВМ был ограничен.
Библиотека игр для этих калькуляторов насчитывает более двухсот наименований — от арифметических тренажёров до «Охоты на лис» (журнал «Наука и жизнь» №12, 1985 год), которая занимала 98 шагов памяти и требовала нескольких минут на просчёт одного хода. Популярностью пользовались и симуляторы: «Лунолет-1», управление реактором АЭС. Многие из этих игр печатались в журналах «Наука и жизнь» и «Техника — молодёжи», а также выходили отдельными сборниками.
Книги по использованию программируемых микрокалькуляторов
Несмотря на распад СССР и прекращение массового выпуска в 90-х, в 2007 году новосибирским НПП «СЕМИКО» была выпущена модель МК-152. Она полностью совместима по системе команд с МК-61/52, но имеет на два порядка больше памяти и на три порядка выше быстродействие. Сегодня существуют точные эмуляторы, которые эмулируют калькулятор на уровне микрокода, воспроизводя даже недокументированные команды и медленную скорость вычислений, например Калькулятор 3000 для Windows или МК61/54 для Android.