Вечер потянулся, как монтажный провод в бухте — вроде и тонкий, а разматывается без конца.
Люба сосредоточенно вела толстым карандашом новую дорожку по ватману. Там, где ещё утром значилось «ЛА3», теперь аккуратно было приписано «(вариант ЛА1)». Рядом росли маленькие крестики — новые переходные отверстия.
— Если мы ещё немного сэкономим на номенклатуре, — пробормотала она, не поднимая головы, — у нас не машинка получится, а рукотворный памятник сто пятьдесят пятой серии.
— Зато памятник рабочий, — отозвался Алексей. — Стоит себе в школе, считает, мигает лампочками и не требует редких ископаемых.
За окном уже темнело, из коридора доносился далёкий гул — хлопали двери, кто‑то ругался из‑за забытых в лаборатории ключей. Основные сотрудники КБ‑3 разошлись по домам; в комнате остались только трое: они с Любой да Саша Птицын в дальнем углу, среди своего личного маленького хаоса.
У Саши хаос был организованный: на столе — паяльник, баночка с канифолью, крошечный осциллограф С1‑49, макетная плата с торчащими в разные стороны ножками микросхем. Рядом — кружка с давно остывшим чаем, в которой плавало нечто, похожее на огрызок провода.
Алексей краем глаза пару раз бросал туда взгляды: свет настольной лампы отражался в стекле приборов, где‑то мелькали индикаторы, но он не вмешивался. Пусть техник развлекается в пределах разумного — так люди и растут.
Он как раз думал, как бы ещё вывернуть один блок на ЛА1, когда в лаборатории неожиданно вспыхнуло разноцветное безумие. В уголке у Саши мигнули сразу три индикатора: один засветился вполнакала, другой погас, потом всё вместе мигнуло, и с той стороны стола прозвучало:
— Опа…
Интонация «опа» была слишком знакомой. Из серии «сейчас либо фейерверк, либо вылетит пробка».
— Саша, — не повышая голоса, сказал Алексей, — ты там прибор запускаешь или новогоднюю ёлку?
Тот вздрогнул, вскинул голову, замялся.
— Так это… — Он посмотрел на плату, как будто она его внезапно предала. — Я же только фрагмент. Управляющий узел. Чтобы «счётчик шагов» руками не щёлкать, сделал автоматический.
Люба наконец оторвалась от ватмана, близоруко прищурилась в ту сторону.
— А почему оно мигает как попало? — спросила она. — У тебя же по схеме — линейно.
— Так в том‑то и дело, — буркнул Саша. — Не должно.
Он виновато повернулся к Алексею:
— Можете… глянуть?
Узел был собран на макетной плате из коричневого текстолита, с дырочками по сетке. Часть дорожек Саша протянул монтажным проводом, часть — просто загнул ножки микросхем и спаял на весу. Для кружка при Дворце пионеров — нормальное художественное произведение.
— Это что у нас? — Алексей аккуратно взял плату за край, чтобы не касаться проводников. — Объяснительная записка к чуду?
— Фрагмент ЦУБа, — охотно пояснил Саша. — Вот тут — дешифратор шагов на ИД1, тут — триггера на ЛА3.
Он ткнул пальцем в ряд микросхем:
— Это всё К155, как в вашей схеме. А вот эти, — он гордо указал на две микросхемы в узких корпусах с другим шрифтом маркировки, — К561ЛА7. Малопотребляющие. Вместо части ЛА‑шек, не хуже.
Алексей медленно выдохнул.
— К561? — переспросил он, хотя прекрасно разглядел маркировку. — Откуда такое богатство?
— Нашёл, — честно признался Саша. — В кладовке у Василия Игнатьевича валялась разбитая плата от какой‑то аппаратуры. Там этих «пятьсот шестьдесят первых» штук пять было. Две целые. Я подумал… ну, малопотребляющие, аккуратные такие. Красиво же.
Слово «красиво» в устах технаря было опаснее, чем слово «срочно» в устах начальника.
— И куда именно ты их воткнул? — максимально спокойно уточнил Алексей.
— В генератор тактов и в формирователь строба, — сразу нашёлся Саша. — Ну, чтоб меньше грелось. И чтобы не пришлось тащить ещё одну ЛА1, раз у нас с ними дефицит.
Он говорил искренне, с тем самым комсомольским энтузиазмом, которым обычно строили коммунизм, но иногда лезли в схемотехнику, не подумав.
Алексей посмотрел на плату. Индикаторы светились как попало: один горел ровно, второй дрожал, третий мигал безо всякой связи с окружающей действительностью. Куда‑то вглубь макета залез тонкий зелёный провод, уходящий под нижний ряд ножек.
— Ты питание чем подавал? — спросил он.
— Пять вольт с лабораторного блока, — ответил Саша. — Вот, «Лаб‑3», — он кивнул на серую коробку со стрелочным вольтметром. — По паспорту держит до двух ампер. Я проверял — всего‑то двести миллиампер жрёт.
«Жрёт», судя по миганию, не только ток, но и нервные клетки.
Внутри у Алексея нехорошо царапнуло. В двадцать шестом году он видел уже десятки таких «красивых решений»: когда к микроконтроллеру без разводки земли в каждую вторую ногу подключают сенсор, а потом удивляются, что «оно подвисает, когда Венера в Водолее». Тогда он просто скидывал в чат ссылку на application note. Здесь вместо application note у него были полтора справочника и один Саша.
— Слушай внимательно, — сказал он. — То, что ты сейчас сделал, называется не «фрагмент ЦУБа», а «учебное пособие по теории скрытых отказов».
Саша дёрнулся.
— Так оно же работает! — горячо возразил он. — Ну, иногда. Сначала же шагало правильно. А потом… поплыло. Мы в кружке так делали: ставили «пятьсот шестьдесят первые» после двухсотых, и ничего, мигало.
— В кружке, — медленно произнёс Алексей, — у вас цель была какая?
— Ну… — Саша замялся. — Чтобы работало. Чтобы лампочки горели.
— Правильно, — кивнул Алексей. — В кружке — чтобы лампочки горели и чтобы было интересно. Если что‑то глючит — выключили, пошевелили пальцем, перепаяли — и всё.
Он поднял плату на уровень глаз:
— А тут мы делаем прибор. Его поставят в бухгалтерию или в школу. Там нет осциллографа, нет тебя с паяльником, нет меня с длинной речью. Там есть тётя Валя, которая должна в конце месяца не ругаться, а получить правильную сумму.
Он покрутил плату на свет.
— То, что иногда «работает», меня вообще не радует. Меня радует только то, что никогда не глючит. Понимаешь разницу? Ни-ког-да.
Саша сник.
— Понимаю… — выдохнул он. — Но… К561 же лучше? Они же почти не греются. У нас заведующий кружком говорил: «КМОП — это будущее».
— Будущее — да, — согласился Алексей. — Но исключительно в том случае, если ты читаешь, чем они питаются, какие у них уровни и как они дружат с твоими старыми добрыми К155. Ты их уровни смотрел?
— В справочнике видел, — неуверенно сказал Саша. — Но там таблица… Я не совсем понял.
Люба, всё это время молча слушавшая, поставила карандаш в стаканчик.
— Саша, — сказала она мягче, чем Алексей, — давай так: мы тебе доверяем пайку, потому что руки у тебя золотые. Но когда ты вместо одних микросхем ставишь другие, ещё и из другой серии — ты не просто «делаешь красиво». Ты меняешь всю схему.
Она указала на макет:
— А эту схему нам ещё предстоит тестировать и защищать перед начальством. Лучше уж мы сразу будем честно знать, из чего она собрана.
Саша опустил глаза. Взгляд упёрся в свои пальцы, чёрные от канифоли.
— Я хотел как лучше, — тихо сказал он. — Чтобы оно меньше жрало и чтоб запаса побольше было. У нас в кружке…
— В кружке, — перебил его Алексей, — ты сам по себе. Здесь ты — часть команды.
Он чуть смягчился.
— Ладно. Давай не будем устраивать публичную казнь. Раз уж ты сюда К561 воткнул, давай хотя бы посмотрим, что именно у тебя плавает. Заодно покажу, зачем в лаборатории осциллограф стоит.
Они придвинули к макету С1‑49, включили. Экран зажёгся мутновато‑зелёным овалом. Алексей крутанул ручки яркости и фокуса, выставил горизонтальную развёртку.
— Где у тебя тут тактовый? — спросил он.
— Вот, — отозвался Саша, показывая на ножку одной из К561. — Здесь выходит импульс, и он же уходит на ЛА3.
Алексей зацепил крокодилом «землю» осциллографа, щупом ткнул к этой точке. На экране родилось нечто, похожее на квадратные импульсы, если смотреть в полумраке и с воображением.
— Видишь? — Алексей чуть наклонил экран к Саше. — Вот эта ступенька вверх — это ты считаешь «логической единицей».
Он пояснил:
— Для К155 логическая единица начинается примерно от двух вольт. Всё, что выше, оно считает как «один». А для К561 по паспорту порог выше. Условно говоря, им надо, чтобы там было три, а лучше ближе к пяти.
Он постучал ногтем по шкале:
— А у тебя вот эта вершина топчется где‑то посередине. То два с половиной, то три, то вообще два с хвостиком. ЛА‑шки ещё терпят и думают: «Ну ладно, единица». А К561 иногда сомневаются. Вот они и «плавают».
Саша вгляделся, нахмурился.
— А в кружке он… — начал он и сам осёкся. — В кружке у нас всё было на этих, на пятисотых. Без ЛА‑шек.
— Вот, — кивнул Алексей. — Там у тебя всё было в одной семье. Тут ты засунул в одну упряжку двух разных коней. Один любит овёс, другой — бензин. По очереди ещё как‑то, а вместе — плохо.
Он щёлкнул тумблер макетного питания. Индикаторы погасли.
— И это мы ещё не трогали вопрос входов в воздухе, — добавил он. — У КМОП‑логики входы с очень большим сопротивлением. Стоит тебе один такой оставить неподтянутым — и он ловит всё, что шевелится. От статики на твоём свитере до помех от паяльника.
Он аккуратно коснулся отвёрткой одной ножки К561. Даже без питания индикатор коротко дёрнулся.
— Вот, — показал Алексей. — Видел?
Он хмыкнул.
— В двадцать… — он вовремя прикусил язык. — В общем, у меня уже был печальный опыт с этим счастьем. Сначала часами искали «призраков в машине», а потом оказывалось, что один вход висит в воздухе, как флажок. И реагирует на погоду на Луне.
Саша посмотрел на плату с напряжённым вниманием.
— А если я подтяну вход резистором к плюсу? — нерешительно спросил он. — Так учили: не оставлять их в воздухе.
— Можно, — кивнул Алексей. — Но тогда твоя «малопотребляющая» К561 начнёт потреблять чуть больше, а главное — ты усложнишь каждую точку. Нам и так есть чем заняться.
Он перевёл взгляд на индикаторы:
— Давай договоримся: в этой машине центральный блок делаем на К155. Спокойно, по‑стариковски, с понятными уровнями. Хоть оно и жрёт, как паровоз, зато предсказуемо.
Он усмехнулся:
— А для К561 найдём другое место. В том же блоке сопряжения с ВКУ, где нет жёстких требований к фронтам. Но предварительно мы это обсудим, а не принесём в готовом виде.
Саша молча кивнул. Вид у него был такой, как будто сейчас приходится выбрасывать любимую игрушку.
— Не переживай, — добавил Алексей уже мягче. — Сам через это проходил. В юности тоже насобирал на радиорынке всего подряд, навтыкал в один ящик — а потом удивлялся, почему компьютер зависает именно тогда, когда на телевизоре мультики идут.
Он усмехнулся краем рта.
— Сейчас мы просто экономим тебе пару лет.
Процесс разборки получился символическим. Они втроём — Алексей, Саша и Люба — по очереди выпаивали припой из ножек К561 при помощи самодельного оловоотсоса, аккуратно вынимали микросхемы и откладывали в сторону.
— На память, — вздохнул Саша, бережно положив К561 в коробочку из‑под платёжных квитанций. — Я их потом в какой‑нибудь индикаторный блок пристрою. Туда, где не страшно.
— Вот туда им и дорога, — одобрил Алексей.
Вместо К561 в плату встали обычные К155ЛА3. Пришлось чуть согнуть ножки, кое‑где перерезать дорожки и пустить перемычки. Макет становился менее «красивым», зато более правильным.
Люба, глядя на эту операцию, иногда тихо комментировала:
— Вот этот вход не оставляй, подтяни к нулю. А то потом скажешь, что «сам включился».
Или:
— Здесь не забудь развести общую землю, а то у тебя осциллограф опять покажет что‑то художественное.
Когда они закончили, плата выглядела слегка побитой жизнью, но куда более продуманной. Саша подключил её к источнику питания, взглянул на Алексея вопросительно.
— Пускаем? — спросил он.
— Пускай, — разрешил тот.
Тумблер щёлкнул. Индикаторы вспыхнули разом, потом один погас, второй остался светиться. Теперь уже не хаотично, а чётко: текущий шаг и следующая маска.
— А тактовый? — спросил Алексей. — Ты его пока откуда берёшь?
— От кнопки, — гордо сказал Саша. — Вот, — он поднял на свет малюсенькую кнопочку. — Чтобы руками гонять, как вы на ЕС‑ке программу гоняли.
— Отлично, — одобрил Алексей. — Это как раз то, что надо.
Саша нажал кнопку. Первый индикатор перелез на следующую позицию. Второй мигнул и загорелся.
Ещё нажатие — ещё шаг. Всё спокойно, без нервных судорог.
— Ну? — не удержался Алексей. — Видишь разницу между «красиво мигает» и «делает то, что я задал»?
Техник молча улыбнулся во весь рот.
— Видно, — признал он. — До этого оно меня как будто не слушалось. А сейчас — всё по команде.
— Вот и запомни это ощущение, — сказал Алексей. — Настоящая ЭВМ — это не когда лампочки красиво моргают. Это когда они моргают предсказуемо.
Он кивнул на осциллограф:
— Давай ещё раз глянем на импульс.
Щуп вернулся на ту же точку, зелёная линия на экране стала куда более похожа на прямоугольник. Вершина держалась ровно, без дрожи.
— Было «то выше, то ниже», теперь — чётко, — подытожил Алексей. — Это значит, что завтра, когда ты сюда повесишь ещё пару триггеров, оно не развалится от того, что кто‑то прошёл по коридору в шерстяном свитере.
Саша хихикнул.
— А если пройдёт, — сказал он, — скажем, что это у нас «датчик присутствия».
— Тогда к тебе придёт Первый отдел и скажет, что это у вас «датчик присутствия шпионов», — парировал Алексей. — И весь наш красивый ЦУБ уйдёт в спецфонд.
Люба качнула головой, улыбаясь.
— Ладно вам, — сказала она. — Дайте человеку порадоваться. Первый живой кусок нашей машины. На коленке, но всё‑таки.
Саша на секунду замер, глядя на макет почти торжественно.
— Это же… — Он запнулся, подбирая слово. — Это же получается, что это реально… будущий центральный блок?
— Фрагмент, — поправил Алексей. — Но да. Если всё пойдёт как надо, через пару месяцев этот фрагмент окажется на нормальной плате, в нормальном корпусе, и когда-нибудь кто‑то в школе будет нажимать такую же кнопку и удивляться, что оно не ломается.
Внутри у него шевельнулась знакомая картинка: класс информатики, зелёный экран, на нём мигающий курсор. В детстве его бесило, если этот курсор подвисал, и сейчас он делал всё, чтобы здесь никакого «подвиса» не было.
Алексей отключил питание макета, и стало удивительно тихо. За окном были скользкие, подсвеченные фонарями лужи, мокрый асфальт, редкие фигуры, спешащие к трамвайной остановке.
Люба убрала ватман в тубус, затянула резинкой.
— Я побегу, — сказала она. — А то в общаге чайник опять займут.
— Беги, — кивнул Алексей. — Завтра продолжим битву с номенклатурой.
Саша всё ещё сидел над макетом, не желая отпускать взглядом свои послушные индикаторы.
— Ты тоже не задерживайся, — сказал ему Алексей чуть позже. — Плата никуда не денется. А ты без сна — денешься.
— Сейчас, — отозвался Саша. — Только дощёлкаю до шестнадцати. Хочу проверить, что нигде не спотыкается.
Он включил питание и нажал кнопку ещё раз, ещё, ещё… Индикаторы послушно менялись.
Алексей посмотрел на него и неожиданно понял, что видит очень знакомую сцену. Просто раньше вместо Саши там был он сам, только гораздо моложе, с собственным макетом на коленях, с тем же блеском в глазах.
Тогда его никто не дёрнул за рукав и не сказал: «Не надо сейчас штук пять раз из разных серий насаживать». Пришлось учиться на собственных ошибках. Здесь у Саши был шанс пройти этот курс немного быстрее.
— Ладно, — сказал Алексей, беря пальто с вешалки. — Домашнее задание на завтра: почитать справочник по К561. Раздел про уровни. Чтобы ты, когда в следующий раз полезешь их куда‑то ставить, уже знал, с чем связываешься.
Он задержался в дверях:
— И ещё. Если захочешь «сделать красиво» — сначала приходи ко мне. Будем делать красиво и надёжно.
Саша поднял на него взгляд, кивнул неожиданно серьёзно.
— Понял, — сказал он. — Спасибо.
— Это не спасибо, — возразил Алексей. — Это чтобы моя машина потом не ругалась на твою самодеятельность.
Он улыбнулся и вышел в коридор.
Скрипучий паркет, тусклый свет ламп, на стене чья‑то записка: «Просьба не оставлять паяльники включёнными». Запах канифоли преследовал его до самой лестницы.
Где‑то за стенкой наверняка кто‑нибудь опять строил из трёх деталей космический корабль. В этом был свой порядок вещей.
А у него на сегодня была ещё одна маленькая победа: первый кусок будущей ЭВМ перестал мигать как попало и начал жить по человеческим правилам.
Для конца октября семьдесят шестого — неплохой результат.