...Врёт, что он там шеф над автоматною
Электронно-счётною машиною.
Дескать, он прикажет ей: "Помножь-ка мне
Двадцать пять на девять с одной сотою!",-
И сидит потом, болтает ножками,
Сам сачкует,- а она работает.
А она работает без ропота,
Огоньки на пульте обтекаемом...
Ну, а нам-то, нам-то среди роботов,-
Нам что делать, людям неприкаянным?..
Ровно 30 лет назад, в 1984 году, началось моё общение с вычислительной техникой. Тогда я, конечно, не догадывался, что именно компьютеры определят мою дальнейшую жизнь.
Первой книгой, из которой я узнал о существовании вычислительных машин, была "Маленькая энциклопедия о большой кибернетике" Виктора Пекелиса (М., Детская литература, 1970 - с.336). Я просто смотрел забавные картинки, не особо пытаясь вникнуть в текст. Потом я увлекся электроникой, мне было 9 лет, когда я собрал свой первый транзисторный приёмник прямого усиления. Я вполне серьезно изучил основы как транзисторной, так и ламповой схемотехники, я не только повторял готовые схемы, но и разрабатывал свои, я модифицировал магнитофоны и телевизоры, но цифровая техника оставалась для меня тёмным лесом. Когда я с 12и лет стал выписывать журнал "Радио", то я просто пропускал раздел "Цифровая техника", мне это казалось не интересным, я почти ничего не понимал, какие такие "логические элементы", какие-то "2И-НЕ", какие-то регистры, дешифраторы, мультиплексоры... Не понимал я и то, зачем вообще нужно что-то программировать. ЭВМ - она же такая умная, она и сама должна всё понимать. А если ей надо объяснять, что делать,- то зачем она такая нужна? Поэтому когда в 1983 году я решил сконструировать игровой автомат "Взорви школу", то командоаппарат там был механический: диск с коаксиальными протравленными кольцами, который вращался через редуктор от мотора, а пара контактов на каждой дорожке замыкались и размыкались в нужное время, все промежутки на кольцах были сфазированы так, чтобы получалось то, что нужно: освещение, управление дымом, огнем (лоскуты тонкой ткани, поддуваемые снизу вентилятором), звук взрыва, механизм, который опускал "взорванный" макет здания школы... Хотя, до конца эту конструкцию я не довёл, но командоаппарат был готов и с секундомером в руках и подключенными к контактам лампочками был испытан. Будь я тогда знаком с цифровой техникой, я бы, конечно, спаял бы тактовый генератор, счетчик, дешифратор, может, даже ПЗУ, ну и т.п., и управлял бы исполнительными устройствами без всякой механики.
Моя старшая сестра училась на физфаке, на первом курсе у них был курс программирования, помню, учебник "АЛГОЛ-60", а во втором семестре - "ФОРТРАН". Я туда пару раз заглянул,- какие-то массивы, функции и подпрограммы, переменные двойной точности... галиматья какая-то.
Первой вычислительной машиной, с которой я начал работать, был программируемый калькулятор. Это не удивительно, многие люди моего поколения начинали с него. Но у меня был - принесенный кем-то из друзей отца - первый советский программируемый калькулятор.
Б3-21. Вот точно такой, как на фотографии.
1. Калькулятор Б3-21 (фото из интернета)
По-моему, 1977 года выпуска, цена на нем была указана 350 рублей,- сумасшедшие какие-то деньги. Не помню, откуда у меня взялась книга о программировании на Б3-34. По-моему, сестра принесла, у них в универе был курс "Численные методы", и они что-то писали именно для Б3-34, там, метод половинного деления, метод Монте-Карло и т.п. Но 21й весьма сильно отличался от 34го. У него была преинтересная особенность: его внутренняя организация была шестиричная! Т.е., и коды операций, и адресация были шестиричные. 0, 1, 2, 3, 4, 5 - хлоп! - 10, 11, ... 15 - хлоп! - 20, 21, ... и так до 95, что на самом деле было 60 в десятичной системе. Поскольку у меня не было никакого описания на Б3-21, а у 34го было все иначе, то я сам докопался до сути, это было мое первое знакомство с системами, отличными от десятичной, и в будущем у меня не было проблем с пониманием таких систем, а работал я, помимо двоичной, с восьмиричной и шестнадцатирочной системами. Многих операций у 21го не было, и памяти существенно меньше, чем у 34го. Но почему-то меня это заинтересовало, я сам разобрался с особенностями 21го и адаптировал многие программы для 34го из книжки на 21й. А потом и сам что-то писал, по-моему, для школьных лабораторных по физике. Интересно, что у 21го был большой стек, аж на 7 ячеек (у 34го всего на 4), и я прекрасно освоил особенности стека и удобства его применения, и потом уже, программируя на ассемблере для PDP-11 (СМ-4), я очень активно пользовался стеком. Но пока у меня был только этот калькулятор, да и тот прошлось вернуть в начале 1985 года.
В 1985м я окончил школу. Я уже знал, что буду поступать на физфак, и знал не только кафедру, но и лабораторию, в которой я хотел бы работать. Это была Лаборатория Биофизики и Биокибернетики на кафедре Экспериментальной физики. Сдав без малейшего напряга вступительный экзамен (как медалисту мне было достаточно сдать физику на "5", что я и сделал), уже в сентябре я пошел в эту самую лабораторию... Это была комната №406, а смежная с ней - №404 - была лаборатория вычислительной техники. Там за перегородкой стояли две машины типа
СМ-4, а в большой части комнаты располагались 4 терминала СМ7209 первого поколения с янтарными 32-сантиметровыми экранами, консольный терминал на базе принтера DZM-180 (hardcopy terminal) и принтер DZM-180.
2. Лаборатория Вычислительной техники кафедры Экспериментальной физики ДГУ, начало 1986г, "Зенит-11", Г-44-4, Свема ДС-4. Видны два терминала СМ7209, консольный терминал и принтер, одна из СМ-4 за перегородкой, хорошо отсвечивает блестящая корзина CAMAC, и даже видны два сотрудника, склонившиеся над дисководом, который, вероятно, в очередной раз "полетел"
В эту лабораторию поступали сигналы от датчиков, прикрепленных к нервным окончаниям подопытного животного. Когда в той самой 406й проводился натурный эксперимент, то все показания фиксировались одной из СМок в 404й. У нее была корзина
CAMAC, а в ней стояли АЦП, ЦАП, какие-то генераторы, индикаторы и другие модули. Работал там мой друг, он уже окончил универ и теперь учился на кафедре в аспирантуре, мы с ним учились в одной школе, он на 6 лет старше. А в 406й работал его одноклассник, под влиянием которого я, собственно, и решил стать биофизиком. А теперь я вдруг заинтересовался вычислительной техникой.
В первом же семестре у нас начался курс программирования. Это был
Фортран... Да, Fortran IV, или Фортран-66. 66 - это год принятия стандарта. 1966й. Но собственно ЭВМ мы не видели. Делали мы программы так. На вертикально расположенном двойном тетрадном листе в клетку выделяли карандашом вертикально 6ю колонку (почему? - а потому. да. кто знает, тот понимает). Потом печатными буквами писали программу, соблюдая все требования синтаксиса Фортрана. Подписывали наши листочки, относили их в соседний корпус мехмата, где на 1м этаже был "абонентский пункт", клали листочки в ячейку большого стеллажа и ждали. На следующий день в этой же ячейке появлялась распечатка - листинг программы и, если компилятор не обнаружил ошибок, то и результат. Ошибки были отмечены под соответствующей строкой. Тогда надо было на новом тетрадном листе написать исправленный вариант и снова отнести в абонентский пункт. И так до победного конца. В семестре было что-то 5 или 7 заданий. Сначала мне это все казалось ужасно скучным. Но потом я очень даже заинтересовался, я сделал все работы до ноября и потом использовал свое "машинное время", сдавая листинги с программами, уже не имеющими отношения к учебному курсу. Так, я написал программу, которая большими буквами (составленными из звёздочек "*") печатала комплимент одной девушке. Листинг с результатом я получил, но на нем была приписка от руки: "немедленно зайдите в комнату 106!". Я, конечно, никуда не пошел, но и больше таким не страдал.
Тем более, что я получил доступ к вполне персональной ЭВМ. Да, те СМки из 404й были постоянно заняты, терминалов было всего 4, сами СМки были слабые, у одной было всего 128 кило (!) байт памяти, у другой - 64к, причем, набрана она была модулями на ферритовых кольцах, потом один модуль на 8к сдох, и осталось всего 56к. Диски СМ5400 часто сбоили, а СМки использовались для вполне серьезной научной работы. На них не только собирали данные натурных экспериментов, но и обрабатывали их, моделировали нейронные процессы, там же уже начали писать АСУ "Деканат", в общем, пробиться туда было очень сложно.
А в лабораториях на факультете были разбросаны такие себе калькуляторы - переростки.
Д3-28.
3. Д3-28 (фото из интернета)
Это реально были программируемые калькуляторы, в общем, похожие на 34е, но мощнее, и у них был встроенный магнитофон для записи и загрузки программ. Но самое главное, что к ним были подключены - через специальные адаптеры (их почему-то называли "бормотографы", выглядели они кустарно, но работали надежно) - настоящие алфавитно-цифровые терминалы. И с кассеты можно было загрузить самый настоящий интерпретатор Бэйсика! И интерактивно работать, писать программы, сохраняя их на кассете, получать результаты... к некоторым Д3-28 были подключены - через самопальные адаптеры - электрические печатные машинки типа Consul. Но это была большая редкость, их было всего 3 на факультете, на одной из них умельцы перепаяли шрифт, чтобы вместо заглавных латинских и заглавных же русских получить нормальный русский алфавит. Предполагалось на ней печатать статьи и диссертации, но шрифт был припаян криво, и ВАК бы такую распечатку не приняла бы, тогда с этим было очень и очень строго.
4. Я в лаборатории кафедры Электрофизики, 1986г, справа стойка с Д3-28, сама машинка ниже терминала, виден фрязинский терминал
15ИЭ-00-13, подключенный к машине, выше - корзина CAMAC, также подключенная к 28й через адаптер, туда приходили сигналы от термопар печей для выращивания кристаллов
Бэйсик я тогда не знал. Но мой однокурсник и друг Марк за несколько часов набросал небольшой конспект, причем, это был Бэйсик именно для Д3-28 (разработка МФТИ, если не ошибаюсь, в Википедии обозначен как "Тужилкинский Бейсик", что объясняет, кстати, необходимость "бормотографа", ведь сама Д3-28 имела встроенный последовательный порт). Это уже было на летних каникулах. Вернувшись на занятия в сентябре, я совершенно свободно писал программы на Д3-28, я так обсчитывал все лабораторные и даже написал "игру", которая предсказывала девушкам, сколько у них будет детей. ;-) Несмотря на то, что результат брался с потолка (функция RND), игра пользовалась популярностью.
Тем временем, из аудитории №407, которая была как раз напротив лаборатории 404, устроили Учебную Лабораторию Вычислительной техники. Комнату поделили перегородкой на две части, в одной их них поставили 6 столиков с терминалами
СМ7209 (нового образца, польские, с зелеными экранами 40см и прекрасными чешскими клавиатурами Zbrojovka, на датчиках Холла, с отличным ходом и фидбэком, с нестирающимися надписями, я до сих пор считаю эти клавиатуры лучшими, хотя, мне доводилось работать и на фирменных IBM, DEC, HP, NEC). Вторую часть тоже поделили перегородкой, в дальней части поставили купленный комплекс СМ-4, а в ближней сидели два инженера, Вадик и Сергей, которые эту машину обслуживали. Это была более мощная СМка, чем в 404й, процессор "Электроника-100-25", который даже внешне был похож на оригинал фирмы DEC, вся память уже была твердотельная (на РУ3), никаких ферритов, 256 килобайт, два магнитофона, два двойных дисковых накопителя типа RK: (2* 2.4 мегабайта каждый, те же СМ5400, только не монтируемые в стойку, а консольного типа, стоечные были болгарские "ИЗОТ", а эти - чисто польские, они были чуть быстрее и, по моему опыту, надежнее), принтер D-180.
К этому моменту,- отчасти сам, отчасти вместе с моими друзьями Марком и Сашей,- я серьезно изучил цифровую технику, теперь я свободно читал схемы, я представлял, как это работает, я даже принимал участие в наладке небольшой машинки MERA-60 - это та же
"Электроника-60", т.е., младшая сестра СМ-4, только польского исполнения, с двумя "ушастыми", т.е., дисководами для 8-дюймовых дискет. "Ушастыми" их называли за то, что дверцы карманов дискет поворачивались и в открытом виде напоминали уши. Когда в 1986м в "Радио" опубликовали схему компьютера
"Радио-86РК" на 580ИК80 (i8080), мы с друзьями полностью разобрались в особенностях схемы, Марк даже начал собирать детали для него.
[ Продолжение:
http://rsx11m.livejournal.com/155687.html ]