Глава 5 В машинном зале

Утром он пожалел, что вчера был таким оптимистом.

Проснувшись, Алексей первым делом понял две вещи: во‑первых, подушка в общежитии инженеров за ночь явно стала жёстче, чем была, а во‑вторых, голова набита не мыслями, а тяжёлым ватным комком.



Вчера вечером идея казалась простой: нарисовать шину, блоки, ЦУБ, предусмотреть запас по памяти — и дальше всё само сложится. Утром к этой простоте добавились слова «расчёт надёжности», «согласование с ТЗ» и «куда вы на К‑сто‑пятьдесят‑пятых столько навешаете».

Он всё равно поднялся, умылся в ледяной воде общей умывальни, выпил в столовой жидковатый кофе‑«по‑турецки» из алюминиевой кружки и к девяти уже сидел в КБ‑3, разложив на столе вчерашнюю кальку.

* * *

Утро прошло проще, чем он ожидал.

Михалыч, рассмотрев его эскиз, какое‑то время молча шевелил губами, водил пальцем по магистрали, по резервным площадкам под память, по аккуратно подписанному «блоку хранения табличных формул».

— Кхм, — наконец выдал он. — Многовато умного. Но… — он поискал слова. — По крайней мере, понятно, за что ругать. — И, к удивлению Алексея, не устроил разнос, а только ткнул пару раз пальцем: «здесь подпиши по ГОСТу», «тут не 'порты», а «колодка сопряжения».

Наталья Сергеевна пролистала ТЗ, стерильно‑чистыми пальцами поправила строчки.

— «Модульное построение» мне нравится, — сказала она. — «Возможность модернизации без изменения габаритов» — это вообще золото. Остальное будем формулировками прикрывать. Только в пояснительной записке слово «магистраль» не писать. Напишем «внутренние соединения».

— Согласен, — сказал Алексей. — Внутренние соединения так внутренние.

Когда дверь за ней закрылась, он аккуратно свернул кальку в тубус и вдруг понял, что следующего шага не избежать.

Рисунок — это хорошо. Но если он действительно хочет, чтобы этот «табличный вычислитель» вёл себя как маленькая ЭВМ, нужно понимать, какая у него получится внутренняя «жизнь»: как будут ходить команды, сколько циклов займёт операция, где всё развалится при первом сбое.

В 2026‑м он бы просто открыл симулятор, написал за вечер на каком‑нибудь SystemVerilog модель и погнал тесты.

В 1976‑м для этого был один способ: загнать свою будущую ЭВМ внутрь большой, по‑настоящему взрослой.

— Значит, в машинный зал, — сказал он себе.

* * *

Корпус 12Б стоял чуть в стороне от главного, с бетонной пристройкой, похожей на холодильную камеру. Собственно, так оно и было: для машинного зала нужен был свой климат — кондиционеры, фильтры, отдельная вентиляция.

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

Алексей шёл, чувствуя под ногами знакомый хруст гравия и одновременно — странное дежавю. Сколько раз в жизни он уже ходил в «машзалы» — только назывались они по‑разному: то «серверная», то «комната с кластером», то «стойки N‑ого проекта». Везде одинаковый гул, холодный воздух, отдельная каста людей, которые «за железо отвечают» и смотрят на остальных, как на потенциальных вредителей.

Здесь касту называли просто: оператор.

Перед входом в 12Б висела табличка с выцветшими буквами: «Зал ЕС ЭВМ. Посторонним вход строго воспрещён». Под ней — лист ватмана с таблицей: дата, время, «организация/заказчик», «тип задания», «ответственный». Тонкой линейкой были расчерчены квадратики, в квадратиках — аккуратные записи чернилами. Половину строки занимала следующая неделя.

В графе «ночь» везде значилось что‑то вроде: «Плановый расчёт №…», «Прогон программы оптимизации…», «Учёт фондов».

Алексей посмотрел на это расписание и почувствовал, как внутри него шевельнулась знакомая лёгкая злость: на любой машине, в любой стране, в любое десятилетие вычислительное время всегда расписано заранее и всегда «кому‑то важнее».

Он открыл дверь.

Изнутри пахнуло холодом и озоном. В просторном холле, перед собственно залом, стоял стол с журналом, на стуле — женщина в сером халате с коротко остриженными волосами. На груди — бейджик с фамилией, написанной густыми чернилами: «Тихонова».

— Куда? — без приветствия спросила она.

— К Громову Евгению, — вежливо сказал Алексей. — По вопросу использования времени на машине.

Тихонова на секунду оторвалась от журнала, смерила его взглядом — от пропуска на груди до тубуса в руке.

— Так, — протянула она. — Значит, ещё один. Вы все «по вопросу использования». А по талону?

— По какому талону?

— По талону, — терпеливо, но с очевидным раздражением повторила она. — Заявка из вашего отдела, согласованная у начальства, с подписью, печатью и указанием, сколько вам надо машинного времени. — Она пошевелила стопкой бумаг на столе. — У вас есть талон?

— Печати у меня с собой нет, — честно признался Алексей.

— Тогда разворачивайтесь, товарищ… — Она наклонилась ближе, прочитала: — Морозов. Идите к Седых, оформляйте талон. Очередь на ночь — до конца месяца. На дневное время не надейтесь вообще. Кустарям тут не место.

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

Алексей открыл было рот — попытаться объяснить, что ему нужно всего‑то несколько прогонов, что это в интересах всего НИИ, что он собирается проверить архитектуру… и закрыл.

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

— Понял, — сказал он. — Спасибо.

И в этот момент из‑за двери в зал появился тот, ради кого он, собственно, сюда и пришёл.



Евгений Громов был узнаваем даже на расстоянии: высокий, вечно небритый, в растянутом в локтях свитере грубой вязки, с сигаретой, зажатой в пальцах. От него слегка пахло канифолью, табаком и чем‑то ещё — смесью ночных смен и крепкого чая.

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

— Вот когда творческий элемент принесёт талон, тогда и поговорим, — отрезала Тихонова, но голос её стал чуть мягче.

Евгений кинул взгляд на Алексея, остановился, прищурился.

— А, вы же новенький, — сказал он. — БВП‑шник. С КБ‑3. — Он затушил сигарету в стоящей тут же баночке из‑под сгущёнки. — Чего стоим, кого ждём?

— Вот, — отозвалась за него Тихонова. — Пришёл на машину «по вопросу использования», а талона нет. Я его, как положено, отправляю обратно. Очередь видал?

Она ткнула ручкой в висящий на стене лист.

Евгений лениво посмотрел, пожал плечами:

— Видал. Я сам половину этих ночей тут сижу. — Он перевёл взгляд на Алексея. — Что вам, Морозов, от нашей бедной ЕС‑ки понадобилось? Вы же вроде по калькуляторам.

— По табличному вычислителю, — автоматически поправил Алексей. — Хочу прогнать на ЕС модель логики. Проверить, как будет вести себя блок управления.

— Модель… — Евгений смаковал слово. — А что, в вашей КБ линейки и мозгов уже не хватает, чтобы суммы на К‑сто‑пятьдесят‑пятой считать? Непорядок.

— Мозгов хватает, — спокойно сказал Алексей. — Времени — не очень. Я хочу заранее понять, как наша… — он на секунду запнулся, — табличная ЭВМ будет ходить по памяти и что с ней станет, если пользователь начнёт творить что‑то, чего мы не предусмотрели.

— Пользователь, — передразнил его Евгений. — Слова какие пошли. Ещё скажите «клиент», и Тихоновна вас сама с лестницы выкинет.

— Мне всё равно нужен кто‑то, у кого есть доступ к машине, — сказал Алексей. — Мне сказали, что вы пишете программы под ЕС. Вот я и пришёл.

Евгений смотрел на него с чуть насмешливым интересом, как кот на нового мышонка, который вдруг заговорил человеческим голосом.

— А что вы хотите именно делать на машине? — спросил он. — Конкретно. Только без слов «модель логики», «оптимизация» и «инновационный подход». У нас тут народ на этом аллергию заработал.

Алексей поставил тубус на стол, открыл, вытащил аккуратно свёрнутую кальку. Раскатал прямо на краю стола Тихоновой, прижав края ладонями.

— Вот, — сказал он. — Шина. Блок арифметики. Блок хранения «табличных формул». Память данных. Центральный управляющий блок.

Пальцем провёл по тонкой линии магистрали.

— Я хочу написать на ЕС программу, которая будет вести себя так же, как будет вести себя вот этот комплект железа. Та же адресация, те же операции. Прогнать разные сценарии, посмотреть, где у нас всё падает, где упрётся в тупик, где начнутся гонки.

Слово «гонки» он вовремя сменил на «конфликты».

— Скажем так, — продолжил он. — В моём представлении, это маленькая ЭВМ, маскирующаяся под прибор. Мне нужно убедиться, что она в принципе осуществима на той элементной базе, которая у нас есть, и что с ней потом можно будет жить. ЕС мне нужна как… как испытательный стенд.

Евгений наклонился ближе. Лицо его отдало табаком и недосыпом.

— Маленькая ЭВМ, — протянул он. — Маскирующаяся под прибор. — Он постучал костяшками по квадратику с надписью «ЦУБ». — А это у нас что за зверь?

— Центральный управляющий блок, — пояснил Алексей. — Решает, кто когда говорит на шину, кто куда пишет, кто чего читает. По сути… — он чуть не сказал «процессор», — по сути диспетчер.

— М‑да, — протянул Евгений. — И всё это вы хотите прогнать на ЕС. Чтобы понять, как будет вести себя… ваш табличный зверёк.

— Именно, — кивнул Алексей. — Я понимаю, что у вас и так очередь. Поэтому — ночью, сколько получится выцарапать. Мне нужен программист, который привык к этой машине и поможет изобразить всё это так, чтобы ОС ЕС не заплакала от ужаса.

Тихонова фыркнула, но промолчала.

Евгений на секунду задумался. Алексей видел по его лицу: программист борется в нём с человеком, который уже тысячу раз слышал «ну вы нам там просто что‑нибудь быстро напишите».

— Ваша беда, Морозов, — медленно сказал Евгений, — что вы пришли ко мне слишком поздно и слишком рано одновременно.

— Одновременно? — переспросил Алексей.

— Поздно — потому что вся машина на июль уже расписана. Рано — потому что если бы вы пришли через годик, у вас бы уже был, — он ткнул пальцем в блок памяти, — нормальный микропроцессор и память, и вы бы меня ни о чём не просили. А так… — он пожал плечами. — Тир без патронов.

— Я и через годик не отказался бы от моделирования, — сказал Алексей. — Заранее знать, в каком месте у тебя всё взорвётся, — полезно в любую эпоху.

Евгений усмехнулся.

— Ладно, — сказал он. — Покажите ещё раз. — Он собрал кальку в трубочку, но не до конца, только свернул краешек, чтобы видна была магистраль и блоки. — Пойдём внутрь, а то Тихоновна сейчас нас обоих выгонит — у неё режим.

— Мне бы не мешало, — отрезала та, но пропуск на его груди всё‑таки чиркнула в журнале. — Громов, если начнёшь опять свои «эксперименты» вместо плана — я напишу записку Седых. Вот честное слово.

— Пишите, Тихоновна, — равнодушно сказал Евгений. — Только не ругайтесь, бумага тоже дефицит.

* * *

За дверью был собственно машинный зал.

Алексей шагнул внутрь — и на секунду у него перехватило дыхание.

Не от патриотизма, не от шока. От узнавания.

Большие шкафы ЕС‑1035 стояли рядами, как тесно притиснутые друг к другу серые вагоны. По полу шёл фальшпол, через щели которого тянуло холодом. В углу тарахтели кондиционеры, гоняя через себя воздух. Свет от длинных люминесцентных ламп превращал всё в слегка зелёную декорацию.

Откуда‑то доносился мерзкий треск перфоратора — кого‑то прямо сейчас лишали очередной пачки бумаги, превращая её в длинную дырчатую ленту.

С другой стороны, если не присматриваться к стендам с советскими табличками, это мог бы быть вполне себе серверный зал двухтысячных. Только вместо шкафов с «шестнадцатью юнитами» — шкафы размером с половину комнаты.

Где‑то в глубине, за стойкой оператора, горели лампочки на пульте. На стене тикали сразу двое больших часов — одни показывали местное время, другие — условное «машинное».

— Красота, да? — сказал Евгений. — Как в кино про космос, только без космоса.

— Как в кино, — согласился Алексей.

У него всплыло другое — не кино, а школьный физический кабинет, в котором в середине восьмидесятых стояла одна, единственная ЕС‑1834. Потом — лаборатория института, где они с товарищем таскали дискеты к старому БК ради каких‑то опытов. Везде этот звук — вентиляторы, щёлканье реле, тонкий вой, от которого потом ещё час звенело в ушах.

Если честно, в 2026‑м он в современную серверную заходил с тем же чувством: «Вот тут — сердце, а там жилы из проводов». Только там никто не позволил бы ему подойти к стойкам так близко.

Евгений провёл его вдоль ряда шкафов, остановился у небольшого стола с установленным на нём устройством ввода.

— Значит так, — сказал он, больше себе, чем Алексею. — Если мы будем честны, нам никакого времени не дадут. В планах на эту неделю я сам уже два раза записан как «сверхурочные». Если будем нечестны… — он перевёл взгляд на пульт, где возился молодой оператор. — Нам тоже никакого времени не дадут, потому что Тихоновна всё видит.

— А если мы будем экономно‑хитрыми? — предложил Алексей.

— Это как? — заинтересовался Евгений.

— Вписаться в какой‑нибудь уже запланированный расчёт. — Алексей кивнул на расписание, торчащее в рамке у пульта. — У кого‑то наверняка есть «прогон тестовой программы» с запасом по времени. Мы можем в этот слот подсунуть небольшой блок кода, который работает, грубо говоря, как наша модель. Из числа внешних задач он будет выглядеть как «проверка арифметики» или «отладка блока памяти».

Он пожал плечами.

— Насколько я понимаю, для ЕС разница между «проверкой арифметики» плана и «проверкой арифметики» БВП‑1 чисто моральная.

Евгений посмотрел на него уже иначе — как на коллегу, а не на просителя.

— Вы на удивление быстро понимаете наши местные обычаи, Морозов, — сказал он. — Вам в снабжение надо, а не в КБ.

— В снабжение меня не возьмут, — спокойно ответил Алексей. — Там надо любить блат больше, чем схемы.

Евгений усмехнулся.

— Ладно, — сказал он. — У нас на пятницу ночью стоит «резерв под внеплановые задачи отдела автоматизации». Это я сам себе выбил. Мог бы написать там «расчёт орбиты Марса», всё равно никто не проверит. — Он понизил голос. — Если я под эту вывеску загоню вашу модель, формально всё будет чисто. С вопросами потом придут ко мне, а я скажу, что мы боролись с браком в блоках арифметики. Это святое дело.

— То есть, — уточнил Алексей, — вы можете выделить мне пятницу ночью?

— Могу выделить нам, — поправил Евгений. — Одного вас я к машине не подпущу. Не обижайтесь, но я прекрасно знаю: если дать инженеру доступ к ЕС без опеки, он обязательно напишет что‑нибудь такое, что потом два дня весь комплекс чинить придётся.

Он махнул рукой.

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

— В девять вечера, — повторил Алексей. — Пятого июля.

— В девять, — подтвердил Евгений. — И без романтики. Тут у нас романтиков много было: один даже пытался на ЕС шахматы для двух игроков ночью гонять.

— Мы будем считать гораздо скучнее вещи, — заверил его Алексей. — Например, как крутится цикл «вычесть единицу и проверить на ноль».

— Вот, — кивнул Евгений. — Такое я люблю. Понятно, просто и никого не вдохновляет, кроме автора.

Они ещё немного постояли, слушая, как машина гудит, перенося через себя очередную порцию чьих‑то плановых расчётов.

Потом Евгений, всё ещё держа в руках недосвернутую кальку, неожиданно спросил:

— Скажите, Морозов… — он подбирал слова, как будто боялся произнести какую‑то глупость. — Вы правда считаете, что вот такие штуки… — он кивнул в сторону блока памяти на рисунке, — когда‑нибудь будут стоять у людей дома?

Алексей слишком хорошо знал этот тон. Так спрашивали его знакомые в начале двухтысячных, когда он рассказывал про смартфоны: «Ты серьёзно думаешь, что кому‑то понадобится интернет в кармане?»

С тех пор он научился отвечать аккуратнее.

— Я не думаю, что у всех, — сказал он. — У всех будут чайники. Или телевизоры. Но у кого‑то — будут. У школ, у домов пионеров, у каких‑то кружков. У любителей. У тех, кому интересно больше, чем «нажать кнопку и получить результат».

Он посмотрел на ЕС.

— Вы же сами не ограничиваетесь табличками. Вы пишете свои проверки, тесты, иногда, наверно, даже какие‑то игрушки. Потому что интересно, как штука поведёт себя в нестандартной задаче. Вот и людям будет интересно.

Евгений фыркнул.

— Мне интересно, потому что мне за это зарплату платят, — отрезал он. — А дома у меня интерес один: чтобы батарейки в фонаре не сели и чтобы лифт не застрял. Людям сейчас не до ваших игрушек. Они в очереди за колбасой стоят, а не за «маленькими ЭВМ».

— В очереди за колбасой тоже можно стоять по‑разному, — заметил Алексей. — Можно просто стоять. А можно стоять и при этом думать, как сделать так, чтобы в следующую пятилетку колбаса появлялась без очередей. Или хотя бы «маленькая ЭВМ» помогла распределять её по магазинам без бардака.

— Это вы сейчас очень близко к политике подошли, — сухо сказал Евгений. — У нас за такое не только с машины списывают.

— Я подошёл к практике, — возразил Алексей. — Любая ЭВМ — это не только «считать зарплату». Это ещё инструмент. Если у человека дома будет прибор, на котором он может попробовать что‑то посчитать сам, не спрашивая разрешения у начальства… — он оборвал себя. — Впрочем, вы правы. Лучше я буду говорить, что наша штука — для школ.

Евгений изучающе посмотрел на него.

— Вы странный, Морозов, — сказал он. — Не как наши местные. Они, если и мечтают, то максимум о том, чтобы съездить на ВДНХ и привезти оттуда импортную зубную пасту. А вы… — он пожал плечами. — Ладно, не моё дело.

Он постучал калькой по столу.

— Давайте договоримся так. Официально я вам не верю. Официально я считаю, что идея «машинка у каждого дома» — это фантазия. Не потому, что я против, а потому что посмотрел вокруг.

Он махнул рукой, обводя взглядом зал, стены, компанию ЕС‑шек.

— У нас тут, знаете, целая страна не может толком обеспечить конденсаторами НИИ. А вы говорите «у каждого дома». Но… — он чуть замялся. — Лично мне интересно, что у вас получится. Как задачка. Как очередной извращённый тест для ЕС.

Он усмехнулся.

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

Алексей улыбнулся.

— Договорились, — сказал он. — Я вам даже самую первую «игрушку» закажу. Простую.

— Это какую же? — прищурился Евгений.

— Пусть прибор рисует на экране… — он чуть не сказал «логотип», — какую‑нибудь картинку. Например, маленький мигающий домик. Чтобы было видно, что он живой.

Он задумался на секунду.

— А ещё — чтобы можно было написать: «Привет, Женя». Это, я думаю, поднимет вам настроение, когда вы в третий час ночи будете ругаться на наш ЦУБ.

Евгений усмехнулся шире, чем прежде.

— Надписи — это мы любим, — сказал он. — Особенно, если их можно менять без участия начальства.

С этого места они оба снова посмотрели на стальной бок ЕС‑1035. Большая машина равнодушно гудела, не подозревая, что её пытаются использовать как полигон для чего‑то маленького, но упрямого.

— Ладно, — сказал Евгений, вернув кальку Алексею. — Идите, рисуйте свои «наборы операций». Только учтите: если вы принесёте мне что‑то вроде «команда 'сделать красиво», я вас этим листом и придушу.

Он поднял палец.

— Всё должно быть честно: сложить, вычесть, сравнить, перескочить. Максимум — записать в ячейку. Ни одного лишнего финта, понятно?

— Понятно, — кивнул Алексей. — Я не художник, я инженер. Красиво у нас будет только в голове.

— А в голове у нас, как известно, проверка не предусмотрена, — философски заметил Евгений. — Ну, увидимся в пятницу.

* * *

Обратная дорога из машзала к главному корпусу заняла десять минут, но по ощущениям — гораздо больше.

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

Пятница, девять вечера, «резерв под внеплановые задачи». Два‑три часа машинного времени — если повезёт. За это время они должны будут прогнать несколько десятков, максимум сотен «сценариев», чтобы понять, как ведёт себя его маленький ЦУБ в разных ситуациях.

Он мысленно прикидывал, что потребует от Евгения: набор псевдо‑команд вроде «ЗАГРУЗИТЬ из ячейки», «СЛОЖИТЬ с аккумулятором», «ЕСЛИ НОЛЬ — ПЕРЕСКОК». В 2026‑м он бы за это время успел накидать Jupyter‑ноутбук, прогнать тысячи вариантов и ещё поспорить в чате. Здесь каждую строчку нужно будет выпросить у машины, как кусок мяса у строгой поварихи.

Зато и эффект был совсем другой.

Зная, как работали его любимые БК и «Агаты» в восьмидесятых, он слишком часто вспоминал, как они вылетали в самый неподходящий момент. «Системная ошибка», зависший экран, неудачная команда, которая ломала всё в корне. Тогда это казалось неизбежным: «ну это же техника, она ломается».

Теперь у него был шанс — маленький, смешной, в начале чужой пятилетки — сделать так, чтобы его ЭВМ хотя бы внутри была собрана аккуратнее.

Чтобы где‑нибудь в восьмидесятых мальчишка с самодельной «Сферой‑80» не сидел посреди ночи на кухне, не скреб ногтями по зелёному экрану, пытаясь понять, почему у него опять пропал в памяти весь текст.

Он усмехнулся сам себе.

«Никакой „Сферы‑80“ пока нет, — напомнил он. — Есть БВП‑1, табличный вычислитель, вариант восемьдесят. Всё остальное — крамола».

Пока — крамола.

А через три дня, в пятницу, эта крамола впервые побежит по шинам взрослой ЕС ЭВМ — пусть и в виде программы, зажатой где‑то между «расчётом норм расхода металла» и «оптимизацией очередей».

И от того, как она побежит, будет зависеть, насколько уверенно он сможет потом смотреть в глаза и Михалычу, и Любе, и даже цинику Громову.

Он поднял голову. Перед ним уже маячил вход в главный корпус, над которым шрифтами эпохи торжественно значилось: «НИИ „Электронмаш“».

Алексей сжал под мышкой тубус с калькой.

— Ладно, — тихо сказал он, словно отвечая самому себе и большой гудящей машине за спиной. — Будем считать.

Загрузка...