Читать книгу «Форк 1941 (Программист Сталина – 2)» онлайн полностью📖 — Игоря Евгеньевича Кулакова — MyBook.
image
cover

Вернусь к машкодам АЛУ М-1. Почти 8 десятков команд. Команды передачи данных – пересылка и загрузка из регистра в регистр, из ячеек памяти по известному адресу в выделенной регистровой паре, команды для их обработки, команды для переходов, команды управления. Данный выбор обуславливался тем, что его можно было в дальнейшем, сохранив обратную совместимость, нарастить набор команд в новых моделях громоздких пока праотцов будущих местных процессоров. Мой «пунктик» по поводу сквозной, на десятилетия вперёд, совместимости по прежнему давал себя знать. Да и материалов из своего времени, по Z80 (являвшимся, в каком-то роде «потомком на стороне» процессора 8080)/самого 8080 (точнее, его советского полноценного аналога КР580) было больше всего.

Разумеется, быстродействие и близко не как у того, кто взят в качестве образца, но даже такая техника, после доведения её до серийного выпуска и полноценного освоения в КБ промышленности и институтах АН СССР нужна как воздух. Она решит многие проблемы, а задачи учёных, промышленности, бухгалтеров и статистиков после наладки выпуска серийных образцов М-1 потребуют соответствующего числа программистов.

Обучение их и качественная, подробная и изложенная доступным языком документация по программированию. С примерами реальных задач и способов их решения на М-1. Обо всём этом я толкую и настаиваю.. Не только «принципиальные электрические схемы», но обширные «мануалы по юзанию» :-)

***

Очень сильно подозреваю, что итоговый облик «процессора», в том виде, в котором он существовал – множество частей, реализовывавших на текущей элементной базе арифметико-логическое устройство М-1, был обусловлен прилежным чтением местами обрывочных, местами весьма полезных и много разъяснивших нам материалов по Z80, 6502, КР580, 8080. «Что было под рукой», короче. Замечу, что ограничение в лаборатории товарища Брука (+ ныне и Лебедева) числа «тех кто знает и понимает, откуда это взялось и почему надо делать так, а не иначе» обоими главными конструкторами, мной и двумя другими прогерами, бывавшими там набегами, изрядно попортило нам всем нервы. Особенно когда приходилось исключительно командно-административными мерами пресекать рационализаторские предложения и творческий (без кавычек) дух реализовывавших наше видение «первой советской ЭВМ». Конечно, кое-какие доводы и мнение о путях будущего развития «электровычислителей», выходящие из моих знаний будущего, я мог довести до остальных сотрудников лаборатории электросистем энергетического института, но по настоящему мои слова превратились в их глазах в весомые только тогда, когда М-1 первый раз, ещё в не автоматическом режиме, выполнила операции сложения и умножения. А в тот день, когда АЛУ «ДЭВ-ика» отработало первый раз малюсенькую программку с циклом, я ощутил в словах и подметил в выражениях лиц присутствовавших некий «пиетет к пророку будущих автоматизированных дискретно-электрических вычислительных устройств». Тогда же до большинства участвовавших в проекте создания М-1, имхо, по настоящему стало доходить то истинное значение, которое я вкладывал в понятие программирование. Многие из них часто начали прикидывать, какие расчёты (пока не постановка задач и использование во всех гранях деятельности цивилизации, хехе, так далеко товарищи ещё не пытались пока заглянуть) можно возложить на электровычислитель. А кое-кто просёк, почему так однозначно и категорично в техзадании на проект было заложена возможность будущего лёгкого (почти-что на уровне «добавить в стойку новый блок») увеличения объёма оперативной памяти.

В итоге, для расширившегося «под новую задачу» коллектива лаборатории электросистем, ныне исключительно работавшего на проект первой советской ЭВМ, известной в «этой истории» пока как «дискретный электровычислитель», и насчитывавшего (помимо Брука, Лебедева и приходящих меня, Шуры-Буры и Ляпунова) ещё почти 30 инженеров, техников и монтажниц, мой авторитет, как идеолога проекта, стал расти при каждом удачном запуске первых образцов ПО для М-1, демонстрировавших, что электровычислитель работает так, как задумывалось и даёт те результаты, которые ожидались от него.

Товарищи, прикидывавшие будущие расчётные задачи, которые будут по плечу М-1 и её улучшенным вариантам, пока ещё не левел-апнулись с пониманием, потребным для перехода к логике системного и прикладного программного обеспечения, но важнейшие шаги «в ту сторону» уже были сделаны.

Замечу, что вывод результатов работы ПО М-1 пока был организован простейшим образом – в виде «набора лампочек», отображающих при необходимости содержимое регистров АЛУ на пульте управления электровычислителя.

Один факт – я использую, и фактически навязываю привычную мне терминологию работающим со мной. Пульт управления все, вслед за мною называют консолью. Увы, «заглядывание в будущее» неизбежно ведёт к внедрению англоязычной терминологии. Мы уже обсуждали этот вопрос и пришли к выводу, что, как и в случае с «ассемблером М-1» (о чём речь ещё пойдёт далее), надо просто везде в документации использовать двойную терминологию. Официальное обоснование чего – «на будущее, для всего человечества». Закрытость нашего проекта, его декларируемые цели и его функционирование под крылом академического института, хотя и с результатами пока под грифом «Секретно», никак не мешают подобному толкованию. Изрядная свобода от идеологических пут и прямая, хотя и не особо афишируемая руководящая и надзирающая роль ведомства наркома Берии тому способствуют весьма и весьма. Хотя, замечу, весь штат лаборатории прекрасно знает, что инициатор проекта работает главным техническим специалистом в одном из отделов самого ГУГБ НКВД.

За завесой меньшей правды, которую рано и ли поздно (первый шажок – та самая статья в ТМ..) надо будет явить миру, прячется совсем уж невероятная истина об путешественнике из «будущего иной Вселенной»..

***

Как пригодилось мое увлечение эмуляторами и играми, вызвавшее стремление рыться в сети, таскать на винт, ставить, пробовать и читать про всё, что связано с той ушедшей к моменту моего взросления.. нет, пожалуй, даже рождения, эпохой!

Ныне это был бесценный клад, в чём-то не менее важный, чем-то, что изучали высшие руководители страны и «группа Мерецкова» в генштабе РККА. Кому-то – чтение журналов и книг по истории ВОВ и WWII, кому-то эмуляторы, электронные журнальчики, игры и ПО эпохи 8-биток..

Оглядывая на днях во время визита в лабораторию электросистем функционирующую М-1, на которой самолично пожелал проверить ходя бы парочку первых прог из полного комплекта тестовых заданий, подготовленного по совету Брука нашим трио прогеров, я снова словил мысли на эту тему и порефлексировал на ходу.

Кодили тестовые задания мы под моим «эмулятором процессора М-1». Теперь пришло время прогнать весь комплект на «реальном железе».. но как же мучительно долго проходит пока ввод машинных команд в М-1. Штекерный ввод путём ввода кодов на одноимённом «штекерном коммутаторе», мать его.. вообще, М-1 монстр ещё тот. Если бы не мощная вентиляция, то сильно сомневаюсь, что ДЭВ смог бы работать дольше, чем несколько минут. И это при том, что я чётко знаю – число ламп, энергопотребление (М-1 требует мощности источника питания в несколько киловатт, выдаваемых агрегатом постоянного тока) и габариты нашего детища заметно меньше чем у многих первых образцов ЭВМ в истории моего мира, да и часть возможностей (а не заложенные в систему команд «проца»!) слегка поскромнее. Раскрыться им, пока объём памяти её новых модификаций (хотя бы с памятью и на иной, ферритовой базе, но полностью совместимых на уровне машинного кода) не доберётся до хотя бы 16 килобайт, не суждено полностью.

Пока наша М-1, это – «ламповый программируемый калькулятор» с расширенным (и избыточным, по большому счёту) набором команд «процессора» – АЛУ. Ради новых поколений, ради совместимости, ради лучшего обучения грезящихся мне рядов советских программистов, ради будущего рывка в цифровую полупроводниковую и процессорную эпоху..

8-битные(8-разрядные) регистры её АЛУ сформированы цепочками триггеров, и вполне себе пока видимы невооружённым глазом. Но это только пока – товарищ Лосев и его сотрудники вовсю пашут не только на нужды разработки создания компактных, надёжных и не требующих мощных батарей радиостанций, он ведёт и исследования для будущего цифрового рывка. Историю совсем немного подтолкнули в новое русло, дав возможность, средства и точное знание «что это даст и как сделать» тому, кто в моей подошёл к рубежу, но не смог полноценно взять его по причине смерти в блокадном Ленинграде..

Разрядность шины адреса нашего «процессора» на М-1 16 бит, что позволяет иметь (теоретически, пока, ох как теоретически..) объём адресуемой памяти в 64 килобайта. Разрядность шины данных 8 бит. «Процессор» мог обратиться к 256 портам ввода/вывода. Конечно же, многие возможности пока были очень теоретические и «на будущее».

Скорее всего, с точки зрения «сейчас» конструкция не была оптимальной, в ней были оставлены огромные и ненужные в 1941 году возможности. Но это было только с гипотетической точки зрения разработчиков первых ЭВМ «моего прошлого». Местные же, хоть и испытывали искушение часто урезать/упростить/кое-что наоборот, увеличить и делали сие с листочкам разъяснений на руках, услышали мои доводы о будущем. Конечно, слова о «ином будущем» были доведены до инженеров лаборатории электросистем в разрезе «будущего увеличения объёмов памяти, увеличения размера программ и сохранения появляющихся наработок ПО».

Заодно я пробил два равноценных набора мнемоник языка ассемблера для машкодов М-1. На русском и английском. Задел на будущее, официальная таблица соответствия, все дела.

В процессе разработки оного для АДЭВМ заодно и сам полноценно въехал в смысл слова «автокод», болтавшийся на задворках когда-то читаного, но не воспринимаемого на подсознательном уровне как местный вариант слова «ассемблер». Итак, на русском – автокод, для всей англоязычной и прочей иностранщины – язык ассемблера. Родное, советское и англоязычное забугорье. А там и все остальные привыкнут.

Понятно, никаких нормальных трансляторов ещё нет, но.. всё будет! Надеюсь, скоро.

Мы даже запечатлели для истории все эти дела с первыми программами, выполненными М-1. Миша Гордов несколько раз сфотал и заснял на кинокамеру важные моменты в лаборатории Брука/Лебедева.

Ради этого дела вначале приехал Иоффе. Оценил, посмотрел на работу М-1, послушал наши разъяснения и сказал, что надо будет готовить докладную записку по линии АН. Пока это дело в документах проходит как «перспективная разработка по заказу по линии НКВД», но – он шепнул мне, Бруку и Лебедеву – даже без всех «знаний о будущем», она должна иметь и полноценное академическое оформление:

– Мы с вами уже пару раз касались вопросов приоритетов в научных исследованиях. – подвёл итог краткого обмена мнениями «на ногах» отец советской физики.

А после ещё пара личностей засобирались в лабораторию Брука и Лебедева..

***

Однако помимо приятного момента запуск М-1 в автоматическом режиме, когда она стала выполнять первые тестовые программы, поставил два вопроса ребром.

С тем, что обозначалось в сопроводительной документации «библиотекой математических подпрограмм».

И с полным документированием проекта и – я особенно на этом настаивал – подробной и написанной доступным языком пользовательской документации.

Как всегда инициатива отомстила инициатору. Пришлось, после часового рассказа в узком кругу (с примерами из будущего, и пояснениями – «как это работало в эпоху интернета») о значении и пользе качественных мануалов, подготовленных так, как указано абзацем выше, взваливать на себя ответственность и дополнительную работу по документированию потенциальных способов использования и методов работы на М-1. Изначально я рассчитывал переложить подготовку мануалов по программированию только на Ляпунова и Шуру-Буру, но, хорошо поразмышляв, пришёл к выводу, что сделать-то они сделают, но вовсе не в том виде и стиле, который хотелось бы задать мне. Отчего то я был убеждён, что планку наукоообразности они задерут выше, чем надо. А то, что М-1 планируется в серию из, как минимум, несколько десятков машин, ясно давало понять, что уровень работающих на ней будет разный. Да и дело «ИТ в 1941» принципиально новое и куча совершенно новых парадигм и понятий потребуют «разжёвывания и накладывания в рот» практически всего. Встроенных в ПО структурированных справок с поиском, профильных форумов, множества готовых подсказать в сети специалистов и кучи литературы (как в твёрдом, так и электронном виде) здесь нет от слова «совсем». Короче, не только одним «набором принципиальных схем», жива документация, хехе..

Вообще, эти 4 месяца я работал так, как никогда в жизни. Не скажу, что я волынил в будущем, но интенсивность тут случилась в разы больше – вечером буквально падал в кровать, уже «на автомате» заставляя себя посетить ванную-душ. Высвечивающая в этом апреле-мае финальная стадия работ над прототипом будущей серии первых советских «дискретных автоматических электровычислителей» вызвала у меня жгучее желание позже успеть сместиться в южные советские широты. Там, где находится большая масса тёплой воды Понта Эвксинского.

Даже закономерные сомнения о том, что «разрешат ли» в преддверии близящегося 22 июня, никак не снижала желания. Даже больше, именно эту дату я хотел использовать как крайний довод.

«Пока можно, пока есть возможность..»

***

Окончательный вариант оперативной памяти М-1 представлял собой 256 ячеек памяти на электростатических трубках. Причём, когда я вникал в принципы организации и работы этого чуда, меня просветили, что оно вело корни из открытия в 1907 году Борисом Львовичем Розингом способности запоминания заряда на люминофоре. Из которого родилась идея электронной развёртки. Телевидения будущего :-) и уже настоящего. У местных», в этом 1940 году было прекрасно ясно, что механическая развёртка не то, чтобы совсем отжила своё, но будущее – за электронной. Московский телевизионный центр уже несколько лет передаёт сигнал в эфир в электронном виде, а в апреле минувшего, 1940-го, прекращены передачи механического телевидения.

Телевизоры и :-) будущие мониторы на ЭЛТ!

1
...
...
11