К книге
Проект «Сфера-82»: Цвет и слойГлава 28 Находка
60%
Глава 28 Находка
28

Шаговый двигатель ИЗОТа издавал звуки, похожие на работу бормашины, застрявшей в плотной кости. Тяжелые магнитные головки с лязгом перемещались по направляющим, выискивая нужные сектора на восьмидюймовой дискете. Гудение трансформатора блока питания сливалось с этим ритмичным хрустом, заполняя тесное пространство лаборатории механическим напряжением.

Громов сидел перед мерцающим экраном «Сферы-82», наглухо скрестив руки на груди. Он не сводил глаз с тусклого зеленого индикатора обращения к диску. Его написанная на ассемблере утилита прямо сейчас пережевывала сырой массив координат, привезенный из Зеленограда. Программа заглатывала текстовый мусор, выискивала привязки, резала общую площадь кристалла на координатные окна и мучительно медленно, сектор за сектором, укладывала отсортированные данные во временные файлы обратно на магнитный носитель.

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

На соседнем столе, отделенном от цифровой зоны баррикадой из коробок с радиодеталями, кипела совершенно иная жизнь. Там пахло жженой канифолью и остывающим гетинаксом. Шасси УПИМЦТ было полностью обесточено. Олег, закатав рукава фланелевой рубашки, придирчиво осмотрел плотную пайку, затем выдернул вилку паяльника из розетки и со звоном бросил инструмент на металлическую подставку. Для надежности он коснулся отверткой выводов высоковольтного конденсатора, сбрасывая остаточный заряд.

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

Только убедившись, что руки Олега убраны от платы, Наташа щелкнула тумблером ЛАТРа, плавно подавая питание на шасси. Тяжелый телевизионный трансформатор загудел.

Андрей Горелов, стоявший у края стола с распечаткой допусков, удовлетворенно кивнул.

— Грамотно. В закрытом контуре за ковыряние под напряжением я бы сразу лишил допуска, — произнес он своим ровным, лишенным эмоций голосом. — У вас умножитель напряжения в двадцати сантиметрах от руки. Одно неверное движение с паяльником при включенной сети, и вас бы током к противоположной стене отбросило.

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

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

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

Их аналоговая возня — с реальными напряжениями, пробитыми конденсаторами и строгими правилами безопасности — создавала разительный контраст с невидимой математической битвой, идущей внутри процессора К580. Олег, Наташа и Горелов пытались заставить старое телевизионное железо стабильно держать цветной кадр. А в нескольких метрах от них Громов пытался заставить магнитные головки не захлебнуться в потоке координат.

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

Громов шумно выдохнул, разворачиваясь на стуле. Он потер покрасневшие глаза.

— Отсортировал, — голос программиста звучал хрипло. — Массив готов и разбит на окна с учетом перекрытия. Мертвые зоны учтены.

Алексей отставил кружку на подоконник. Подошел к рабочему столу.

— Ни одного сбоя по контрольным суммам при обратной записи? — уточнил он.

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

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

Палец нажал Ввод.

* * *

Программа стартовала без малейшей задержки. Если утилита Громова боролась с физикой магнитного диска, то код Морозова работал исключительно в оперативной памяти.

Экран ожил. Сверху вниз побежали строки шестнадцатеричных адресов — номера обрабатываемых окон. Цифры мелькали с такой скоростью, что сливались в сплошной водопад.

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

Громов подался вперед, опираясь руками о край стола. Скорость вычислений завораживала. То, на что топологи с микроскопами тратили недели, выжигая глаза над светящимися столами, машина делала за минуты.

Водопад цифр на экране замер. Дисковод ИЗОТ коротко щелкнул, сохраняя итоговый файл на магнитный диск, и окончательно затих.

На дисплее высветилась финальная строка:

`CHECK COMPLETE. FOUND: 4. SAVED TO LOG.TXT`.

Громов вцепился пальцами в край стола. Лицо его начало медленно меняться. Ироничный прищур исчез, уступив место растерянности, а затем — нарастающей тревоге.

— Четыре? — голос программиста сорвался на злой шепот. — Лёш, у нас в контрольном задании Ахметова ровно один дефект. Пресловутый 47-бис. Откуда четыре⁈

— Выведи на экран, — спокойно попросил Морозов.

— Выведу, — огрызнулся Евгений, яростно набивая команду чтения текстового файла. — Как же нам не хватает своего, пусть самого паршивого принтера в КБ! А теперь нам придется бежать в ВЦ с дискетой наперевес, кланяться операторам больших машин и просить распечатать этот текстовик на их АЦПУ, чтобы было с чем ехать в Зеленоград.

Экран моргнул. На люминофоре проступили четыре строки координат. Первая точно совпадала со списанным в Зеленограде браком. Три остальные указывали на совершенно другие полигоны.

— Ну? — не выдержал Олег, обернувшись от своего стенда. — Нашла железяка зеленоградский дефект?

— Контрольный она нашла, — глухо произнес Громов, не отрывая взгляда от монитора. — Совпадает до микрона. Но программа выдала еще три ложных замыкания. Которых нет в ведомости Зеленограда! Ахметов нас на смех поднимет. Скажет, генератор случайных чисел привезли, а не систему контроля.

Алексей не ответил. Он выдвинул верхний ящик стола и достал тяжелый рулон кальки — ту самую копию фрагмента топологии, которую они с боем вывезли из Крюково.

— Освободите стол, — скомандовал Морозов.

Олег, Наташа и Горелов подошли ближе, чувствуя смену настроения. Наташа молча сдвинула в сторону пустые коробки. Алексей раскатал плотную полупрозрачную бумагу, прижав углы тяжелыми справочниками.

— Женя, давай проверять.

— Дай я сам проверю, — Громов решительно отодвинул Морозова от клавиатуры. — Я не верю абстрактным переменным твоего транслятора. Я хочу видеть голые байты, которые зашли в память.

Программист мгновенно сбросил систему, загрузил низкоуровневый системный монитор и вбил адрес смещения первого подозрительного блока из исходного массива Каца. На экране появилась строгая матрица сырого машинного кода.

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

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

— Смещение ноль-восемь, — диктовал Громов, переводя в уме шестнадцатеричные значения в десятичные. — Координата икс-один равна тысяче двести сорока. Икс-два у соседнего полигона… тысяча двести шестьдесят один.

Горелов, стоявший за их спинами, сверился со своими записями.

— Если по чертежу между ними двадцать одна единица, то это в допуске, — заметил он, привыкший к военной приемке. — Формально брака нет.

— Считаем физику, — сказал Морозов. Он взял карандаш и чистый лист бумаги. — Отнимаем зазоры.

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

Затем они проделали ту же изнурительную операцию перевода из hex-кода в десятичный и ручного вычитания для второй точки. И для третьей. Ошибка алгоритма исключалась: сырые исходные данные Каца и расчеты Морозова сходились бит в бит.

Громов стоял над ним, тяжело дыша.

Морозов отложил карандаш. Медленно выпрямился, разминая затекшую шею.

— Код чистый, Женя, — тихо, но абсолютно твердо произнес Алексей. — Программа не врет.

Громов нервно дернул плечом.

— Лёша, в акте ОТК один дефект. Один. Руденко и Ахметов свои матрицы знают наизусть.

— Они знают то, что видят контролеры в микроскоп, — Морозов постучал тупым концом карандаша по вычислениям на кальке. — Смотри сюда. По нормативам Ланской минимально допустимый зазор — ноль целых двадцать сотых миллиметра. Если меньше — брак, риск замыкания.

Алексей сдвинул калькулятор так, чтобы Громов видел цифры.

— В этих трех местах, — Морозов обвел спорные координаты, — расчетный зазор составляет ноль целых двадцать одну сотую миллиметра.

Громов замер, вглядываясь в чертеж. До него начало доходить.

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

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

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

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

* * *

— Если мы повезем им этот список в таком виде, Ахметов нас размажет, — голос Громова прорезал тишину. В нем больше не было раздражения, только холодный анализ рисков. — Он испытатель. Для него бумажный акт — это закон. Скажет, что мы генерируем мусор, придумываем несуществующие проблемы, чтобы оправдать машинное время. У них план горит, им не нужны теоретики с калькуляторами.

Из глубины лаборатории, из-за стеллажа с документацией, вышел Сергей Липатов. До этого момента он сидел за своим крошечным столом, перебирая картотеку элементной базы, и не вмешивался в процесс.

Липатов подошел к столу Морозова. Привычным жестом снял роговые очки, достал из нагрудного кармана идеально чистый носовой платок и принялся протирать линзы.

— Они размажут нас, Евгений Александрович, — произнес Липатов своим ровным, лишенным каких-либо эмоций голосом, — только в том случае, если мы назовем эти точки «ошибками топологии».

Он водрузил очки на переносицу, спрятал платок и взял со стола бумажную ленту АЦПУ. Внимательно изучил цифры. Затем посмотрел на карандашные расчеты Морозова.

— Ошибка — это нарушение утвержденного регламента, — пояснил Липатов, придвигая к себе стопку чистых ведомственных бланков с шапкой НИИ. — Если регламент не нарушен, значит, ошибки нет. А нападать на чужой безошибочный процесс — значит провоцировать конфликт ведомств.

Липатов вытащил из внутреннего кармана пиджака перьевую ручку. Отвинтил колпачок.

— Мы назовем это иначе.

Он склонился над бланком. Перо мягко заскользило по плотной бумаге, оставляя ровные, убористые строчки темно-синих чернил. Липатов не спрашивал совета, он формулировал реальность.

— Пункт первый, — диктовал Липатов вслух, не прекращая писать. — «Подтвержденное аппаратно-программным комплексом совпадение с дефектом 47-бис согласно предоставленной контрольной ведомости Заказчика». Это фиксирует нашу компетентность. Мы нашли то, что должны были найти.

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

— Пункт второй, — голос Липатова оставался ледяным. — «Дополнительно выявленные скрытые угрозы критического сужения зазора на слоях металлизации, рассчитанные на основании предоставленной матрицы допусков».

Липатов поднял взгляд на Морозова.

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

Он аккуратно переписал три спорные координаты с бумажной ленты в официальный бланк. Поставил точку. Промокнул чернила пресс-папье.

— При такой формулировке, — Липатов закрыл ручку, — товарищу Ахметову и инженерам Научного центра придется не нападать на ваш программный код, а идти к своим микроскопам. Им придется оправдываться, почему их процесс допускает трассировку на грани физического фола. Мы не обвиняем их в браке. Мы предоставляем им инструмент превентивного контроля.

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

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

— Спасибо, Сергей Дмитриевич, — искренне сказал Морозов.

Липатов лишь коротко кивнул, собирая свои карточки.

— Проконтролирую внесение текущих изменений в Журнал отклонений по закрытой линии и подготовлю акты на списание деталей для Олега, — произнес Сергей Дмитриевич, словно речь шла об обычной канцелярии. — Ваша задача — распечатать это и довезти бумагу до Крюково.

Морозов повернулся к своему столу. Динамика сборов всегда была в КБ отработана до автоматизма. Он щелкнул замками старого потертого кожаного портфеля. Внутрь легли плотные картонные папки с актами Липатова. Громов аккуратно извлек из дисковода восьмидюймовую дискету с сохраненным файлом координат, убрал её в антистатический конверт и бережно опустил в отдельный карман портфеля.

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

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

— Правильно. Без бумажки вас там даже слушать не станут.

Олег вытащил вилку осциллографа из розетки.

— Удачи там, у микроэлектронщиков, — сказал он, вытирая руки тряпкой. — А мы тут с Наташей пока попробуем заставить этот гроб, — он кивнул на УПИМЦТ, — не срывать синхронизацию при прогреве строчника.

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

Наташа серьезно кивнула.

— Сделаем. Уровни я вытяну.

Алексей надел теплое пальто, обмотал шею шарфом. Громов уже стоял в дверях, натягивая кроличью шапку-ушанку и прижимая к груди портфель.

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

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

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

Предыдущая главаГлава 28 из 47Следующая глава