Корделл Халл принял из руки Президента конверт с переводом, которое осуществили в русском посольстве и которое прошло, по просьбе большевиков, напрямую к Рузвельту, минуя переводчиков госдепартамента. Он стал вчитываться в текст.
***
Уважаемый г-н Рузвельт,
Пользуюсь случаем, чтобы выразить Вам глубокую благодарность Советского Правительства за предоставленные ценные сведения, касающиеся безопасности СССР. Советская сторона..
***
– Что Вы думаете обо всём этом?
– Русские явно что-то уже знают, господин Президент. Они лишь воспользовались случаем. И та реакция русского посланника, о которой рассказывал Самнер, говорит о том, что подобное оказалось потрясением лично только для него..
– Но никак не в Москве?
– Думаю, да.
Рузвельт немного попереваривал услышанное и подвёл первый итог:
– Конечно, трудно судить по первому, пусть и быстрому ответу лично от Сталина, но, возможно, содержимое письма поможет понять их логику. Большевики, при всём их упрямстве и приверженности их своим идеологическим концепциям, готовы рассматривать нас в качестве союзников?
– Большевики – наши союзники.. – Корделл попробовал, как звучит новая идея вслух и помня, что инициатором извещения русских о планах Германии был сам Рузвельт, решил пока любым образом не высказывать малейших сомнений насчёт замысла уверенно выигравшего в третий раз выборы популярного Президента – ..на фоне того, что разворачивается в Европе, и такой вариант не кажется невозможным. Нам лишь стоит всегда помнить, что русские – просто меньшее зло по сравнению с Гитлером.
– Вы уже занимали ваш нынешнее место, когда мы признали СССР. И внесли свой вклад в данное решение – улыбнувшись, заметил Президент США..
Глава 6 – Сломать мозги об прошлое.
Разные дни апреля 1941. Лаборатория электросистем энергетического института АН СССР/ 8-й отдел ГУГБ НКВД/квартира товарища Рожкова.
Стартовавший апрель одарил ощущением завершения очередного важного этапа в выглядевшем бесконечным списке «что надо делать», альфа-версия которого родилась под приглядом Моисеевича в купе поезда Молотов-Москва. Причём ныне список адресовался именно что себе, а не «в целом.. стране».
Согласован и реализован набор машинных команд. АЛУ М-1 функционирует, отрабатывает первые написанные тестовые программы в автоматическом режиме. Наверное, именно сейчас, а не рассказами Сталину, Берии, не книгами с HDD и даже не реализацией системы распознавания для массивов данных от «научников» и прикладным ПО, созданным мной, Шура-Бурой и Ляпуновым и работающим ради интересов СССР на привычной мне технике, я столь «по-настоящему» ощущаю личный прогрессорский вклад.
Именно сейчас. Личное авторство и ответственность за разработку системы машинных команд первой в мире полноценной ЭВМ, при всех имевшихся заимствованиях, которые я «творчески адаптировал» в машкод М-1 из материалов и логики работы полноценных 8-разрядных процессоров 70-х годов 20-го века «моего времени». Конечно, я опирался на эти знания, как на фундамент, но.. скажем так – гордость присутствует. И пока хватит об литаврах и барабанах :-)
Полная готовность же проекта задерживалась теперь, в первую очередь, работами над внешней памятью – магнитный барабан ждём в конце апреля-мае. А над блоком работы с магнитной лентой ещё и «конь не валялся». Кроме общих набросков, «что и как» и включения в архитектуру М-1, там ничего не существовало. Причём решение о необходимости второго накопителя являлось однозначным – он, однозначно нужен, но отказ от распыления имеющихся сил коллектива был осознанным выбором – АДВЭМ должна пойти в серию и начать функционировать в научных институтах и КБ СССР как можно скорее, а накопители на магнитной ленте пойдут позже, по мере освоения промышленностью СССР производства на основе полученных германских образцов и доведения качества магнитной ленты до требуемых параметров долговечности.
***
Набор машкодов (с некоторыми несущественными лакунами из-за специфической аппаратной реализации), на который я ориентировался при проектировании, был фактически набором интеловского 8080. Отбросив первоначальные самопальные варианты, я очень быстро пришёл к трём альтернативам – «навороченному как у Z80», промежуточному – «максимально креативному» :-) и тому, «как у i8080».
«Лист3» и был реализован на аппаратном уровне, причём главным фактором, определившим выбор в пользу последнего, была возраставшая стоимость, сложность, избыточность на данный момент и время, потребное на реализацию первого варианта системы команд наподобие того, что был в основе самого популярного 8-разрядного процессора, имевшемся в «моём прошлом». Кроме того, на том объёме ОЗУ, который имела М-1, особо развернуться с ПО было не просто трудно, а невозможно. Он был просто мизерным. Даже первый вариант «спекки» с 16 килобайтами памяти казался в 1941-м немыслимой роскошью. Про сравнение же с моей «инопланетной» по местным меркам техникой вообще и речи не шло. Только теперь по настоящему мне стали понятны запавшие в память строки из читаного в сети эссе кого-то из первого поколения советских программистов. Полное страданий и жалоб :-) Разбиение программы на этапы, запись-считывание всех промежуточных результатов между ними на магнитный барабан/ленту, постоянные аварийные остановки, зависания, перегрев и выход оборудования из строя и всё в таком духе..
Вернусь к машкодам АЛУ М-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 в автоматическом режиме, когда она стала выполнять первые тестовые программы, поставил два вопроса ребром.