Проект «Сфера-82»: Цвет и слой - Станислав Миков
Громов поморщился и вернулся к листу. Ему нравилась сама постановка: программа получала выход на реальное производство, где любой байт упирался в железо, дискету и чужую технологическую дисциплину.
— Тогда нам понадобится машина для стенда, — сказал он. — Сейчас их всего три.
Морозов кивнул. В декабре эти три опытные «Сферы-82» выглядели почти роскошью: одна была занята демонстрациями МикроДОС и «Сметы», вторую Седых после бухгалтерского показа уже просил придержать под хозяйственные испытания, третья уходила под сеть, дисководы и текущие проверки КБ. Для настоящего зеленоградского опыта этого парка не хватало.
— Значит, после техсовета будем выбивать еще, — сказал Алексей. — Для первого разговора достаточно показать расчёт и готовность написать опытную версию программы. Если они дадут формат и опытный фрагмент, во Владимире придется собрать отдельную «Сферу-82» под стенд. Лучше сразу с цветным выводом: слои, ошибки и предупреждения на таком экране понятнее. Первый проход защитим на чёрно-белом экране с распечаткой, а цвет оставим следующей ступенью, когда Олег доведет ВКУ.
Громов быстро закивал, возвращаясь к своей миллиметровке.
— Тогда считаем честно, — сказал он и быстро занял чистый угол листа. — В наших опытных машинах сейчас тридцать два килобайта. Для зеленоградского стенда надо сразу закладывать расширение до полного адресного поля К580. Шестьдесят четыре килобайта — потолок без сложного переключения дополнительных блоков памяти. Такая схема нам сейчас только помешает: МикроДОС рассчитана на обычное адресное поле, программа начнёт давать сбои, а на техсовете вправе спросить, кто это будет сопровождать в цехе. Если под систему, буферы и таблицы уйдет хотя бы десять-двенадцать килобайт, мне останется около пятидесяти. В эти пятьдесят весь слой памяти не поместится. Значит, слой режем на окна: прочитал кусок, проверил прямоугольники, записал подозрительные координаты, взял следующий кусок.
— И контрольные суммы входных данных тоже по кускам? — уточнил Липатов.
— А как иначе? — Громов постучал карандашом по полю миллиметровки. — На входе последовательность записей: слой, координаты, ширина проводника, зазор. В памяти держу таблицу правил, несколько рабочих списков и один-два буфера чтения. Все остальное идет с диска. Если придется работать с перфолентой, будет медленнее, но принцип тот же. Восемь разрядов процессора нам не мешают складывать координаты, просто длинные числа придется тащить парами байтов. Неприятно, зато честно.
— Вот это уже можно обещать, — Морозов кивнул. — Для стендового экземпляра нам нужна «Сфера-82» с памятью, доведённой до полного адресного поля. Рабочая программа будет методично обрабатывать фрагменты и ловить грубую ошибку раньше, чем она станет испорченным фотошаблоном.
— Тогда вывод полной картинки на экран пока откладываем, — продолжил Громов. — На первом этапе работаем со списком координат. Подаем «Сфере» текстовый файл с координатами дорожек: левый нижний угол, правый верхний угол, номер слоя. Моя служебная программа проверяет формат и ищет грубые топологические пересечения по геометрии прямоугольников. Машина выдает список подозрительных координат, а тополог проверяет их по своим чертежам до того, как нести пленку на большой координатограф.
— Именно, — Морозов перевел взгляд на Липатова. — Но для техсовета нужен не только способ проверки, а объект опыта. Конкретный участок схемы, который для них сейчас действительно важен, а для нашей программы достаточно удобен в качестве первой работы.
Он сдвинул в сторону чистые карточки, освобождая место на столе.
— Динамическое ОЗУ. Та самая микросхема памяти на шестьдесят четыре килобита, над которой они сейчас работают.
Громов поднял глаза от исписанной миллиметровки.
— Память как объект выбрана не случайно, — сказал он уже без прежней насмешки.
— Именно, — кивнул Морозов. — Оперативная память сейчас самый дефицитный и дорогой узел. Для полной «Сферы-82» нам нужно задействовать всё адресное поле К580, а каждую микросхему ОЗУ приходится добывать отдельно. Если Зеленоград доведет выход годных по такой памяти до приемлемого уровня, серийная машина станет дешевле и надежнее. Проверяем их топологию на понятном регулярном участке — и одновременно показываем, почему эта работа нужна нам самим.
Липатов перестал линовать бумагу. Его взгляд стал цепким, оценивающим.
— Поясни.
— Жесткая регулярная структура, — сразу ответил Морозов. — Ячейки памяти повторяются на кристалле тысячами раз. Если в базовом шаблоне есть топологическая ошибка, она повторяется по всей пластине. Брак стопроцентный. Логика процессора для наших текущих программных средств слишком сложна: там много нерегулярных связей и нестандартных ячеек. Матрица памяти ближе к чистой математике. Для первого опыта берем периферийную обвязку ОЗУ: дешифраторы адреса, усилители считывания.
Алексей наклонился над столом.
— Мы предлагаем «СЛОЙ-81» как средство проверки одного критического слоя памяти до выхода на фотошаблоны. Если на этом ограниченном фрагменте мы докажем, что способны поймать короткое замыкание металлизации до того, как завод сожжет кремний в печи, у техсовета появится экономическое основание выделить нам следующий участок и машинное время.
— То есть оставляем один показательный опыт, — медленно проговорил Громов. — Загрузили координаты, прогнали проверку формата, посчитали контрольную сумму слоя. Выдали топологу распечатку с ошибками. Один опытный стенд, один участок, один наглядный результат.
Громов кивнул собственным мыслям и потянул к себе чистую перфокарту. Вдоль верхнего края он набросал структуру будущих данных: массивы координат, управляющие символы, алгоритм подсчёта контрольной суммы. На лист ложились байты и адреса, которые способна переварить «Сфера-82».
Липатов молча наблюдал, как на столе растёт стопка исписанных черновиков. Затем расстегнул пиджак и достал из внутреннего кармана красный карандаш.
Сергей Дмитриевич придвинул к себе лист, где Морозов крупным почерком расписал план выступления. Красный грифель с хрустом прошёлся по бумаге, перечёркивая жирной чертой абзац о прямой передаче данных на станок.
— Вот здесь нас имеют право остановить, — ровным голосом сказал Липатов. — Имитировать загрузку тестового фрагмента мы сможем. Выдавать данные на реальную производственную линию пока рано. Системная часть ещё не прошла проверки. Если программа Жени промахнётся хотя бы на один бит, зеленоградский координатограф запорет плёнку рубилита. Знаете, кто будет оплачивать брак? Наше владимирское КБ. Выставят такую неустойку, что мы до пенсии будем паять кабели в счёт погашения ущерба.
Громов подался вперёд, локтем сдвинув к краю стола пустые бланки.
— Сергей Дмитриевич, если отрезать автоматическую выгрузку, останется только отметка на экране! Мы покажем ошибку топологии, но машина её не исправит.
— Именно, — невозмутимо согласился Липатов. — Мы только локализуем проблему. Один участок. Один слой. Одна