Выбор. Фрагмент 4
январь
Прошло всего полгода от начала работ по созданию процессора и изготовления опытного образца.
Отладка процессора была закончена. Всеволод Ефимович и Алексей решили оценить быстродействие своего детища. Измерили на осциллографе — процессор выполнял преобразование координат в длины ног за 800 микросекунд, т.е в 5 раз быстрее, чем было в задании на разработку.
- Ну, Вы даете, Алексей Николаевич, не ожидал! - Всеволод Ефимович был очень доволен.
Алексей вспомнил свою работу над микропрограммой, когда он не знал, сумеет ли обеспечить заданные 4 милисекунды и «сжимал» время везде, где было возможно. Писал микроподпрограммы, на вызов которых ( в отличие от подпрограмм стандартного программирования) время процессора не тратилось.
- Да, и точность вычислений мы обеспечили гораздо выше заданной заказчиком. В два раза точнее, чем прогнозируемый результат новосибирских конкурентов, по доступным данным нашей «разведки» - заметил В.Е.
* * *
Наступила зимняя сессия. В.Е. занялся приемом экзаменов по своему предмету в 4-х группах потока.
Алексея вызвал заведующий кафедрой и сказал:
- Преподаватели гриппуют. Вам придется принимать экзамены по разным дисциплинам.
Где-то одному, где-то в паре. Вот билеты по первому экзамену. Возьмите.
Когда на последнем, пятом экзамене усталый Алексей хотел поставить оценку в зачетку белокурой смазливой студентке и сказал:
- Хорошо.
Она нахально заявила:
- Вы не можете мне поставить «хорошо», Алексей Николаевич!
- Это почему же ?— поинтересовался Алексей
- Посмотрите на эту страницу!- ответила студентка.
Алексей увидел свои подписи рядом с оценками «отлично» по 4-м предыдущим экзаменам.
- Ничего себе! Выходит в эту сессию я ее по всем предметам экзаменовал — подумал Алексей и поставил в зачетке «отлично», чтобы не портить такую картину.
В январе Алексей получил открытку из ВАК о присуждении ученой степени кандидата технических наук. Диссертацию он защитил в конце сентября 1988 года.
* * *
В зимние студенческие каникулы собрались вылететь в Новосибирск для предъявления результатов заказчику.
В.Е. и Алексей решили взять с собой аспиранта Игоря и инженера Андрея. Игорь писал программу для функционального преобразователя , а Смазов Андрей отвечал за программатор и должен был при необходимости перепрошить микросхемы памяти.
При посадке в самолет Игоря не было. В.Е сказал:
- Ну, что ж. обойдемся и без него!
Но Игорь вошел в салон самолета в самый последний момент.
В Новосибирске стоял мороз. Прилетели вечером. Всех разместили в общежитии НЭТИ.
Алексей , Игорь и Андрей поселились в одной комнате.
Утром в лаборатории отдела нетрадиционных механизмов НЭТИ ленинградцев ждал робот Шестинога. Паук на 6 ногах стоял неподвижно.
В.Е. ушел беседовать с руководителем отдела. Алексей подключил две привезенные платы RISK-процессора к стойке аппаратуры. Подошел В.Е. Представители заказчика - молодые ребята Герасим и Владимир запустили программу, выдающую привезенному процессору координаты материальной точки для преобразования их в длины ног Шестиноги. И паук Шестинога ожил. Все были в восторге.
Представители заказчика признались, что их конкурирующая разработка планируется к завершению только через год.
Однако, по программе испытаний предстояло еще проверить многие варианты и компоновки Шестиноги. Шесть часов испытаний прошли успешно, и вдруг раздался скрежет, и паук свалился с ног. На новой компоновке Шестиноги проявилась ошибка.
Алексей засел за программу и стал детально проходить ее отдельные фрагменты на плате отладки. В.Е. нервничал, но Алексею не мешал. Тут подошел Игорь и стал проситься в магазин, так как проголодался. Его послали к черту, и он быстро ушел.
А напрасно, через пять минут Алексей обнаружил , что неправильно считается синус. Оказывается Игорь составил предварительную таблицу функций строго по заданию заказчика с учетом , что угол наклона ноги Шестиноги не превышает 45 градусов. И все значения для бОльших углов он не заполнил вообще. И тут мы выяснили, что заказчик в этой новой компоновке Шестиноги наклонил шарниры ног на 18 градусов. И вычисления вылетели за таблицу Игоря.
Пришел Игорь с кефиром, имея бледный вид. Он пошел доделывать таблицу.
Рабочий день уже давно закончился, и представители заказчика, слегка довольные, что приезжие конкуренты все-таки на чем-то прокололись, собирались домой.
И тут Алексей сообщил всем, что даже если Игорь поправит синус и максимальный синус будет для 63 градусов, то все равно процессор будет преобразовывать неправильно. Так как , есть еще известная всем по школе тригонометрическая функция — тангенс.
- И что? -спросили заказчики.
Всеволод Ефимович ответил им моментально:
- Алексей Николаевич прав, вы в задании указали максимальный угол 45 градусов, Тангенс
45 градусов равен единице. А здесь будет значение большее единицы , значит будет переполнение в вычислениях и ошибка.
- И что теперь делать? Отказываться от установки шарниров под углом 18 градусов? - спросил Владимир.
- Мы с Алексеем Николаевичем попробуем поменять последовательность вычислений с использованием тригонометрических преобразований и внести поправки в программу. - ответил В.Е.
Прошло уже много лет со дней изучения тригонометрии в школе и никто не предполагал, что эти знания окажутся когда-нибудь востребованными. Интернета в то время еще не было. Справочников под рукой тоже не оказалось. Но были по крайней мере двое - В.Е. и Алексей, которые могли проверить друг друга, записав отдельно обновленную формулу. Проверили, согласились, что вариант правильный.
И теперь Алексею предстояло написать изменения в виде 72-разрядного кода микрокоманды и вручную, без трансляции программы на компьютере, внести их в виде заплаток в оставшиеся свободные места памяти программ. Запасных микросхем и права на ошибку не было. Возвращаться самолетом домой и там оттранслировать программу и прошить ее в новые микросхемы , а затем вернуться обратно, желания не было. Задерживаться тоже было нельзя — билеты на обратный рейс уже были приобретены на завтра
.
Алексей сосредоточился. И начал расставлять на бумаге биты машинного кода. Процессор использовал принцип конвейеризации, когда в процессе выполнения текущей команды из памяти загружалась следующая, а текущая использовала результаты предыдущей. И все надо было учитывать в комплексе, чтобы не промахнуться и не сделать ошибку.
Рядом трендели Игорь и Смазов о политике на Ближнем Востоке. Вернее Смазов задирал Игоря. Алексею было не до них, но в памяти отложилось недоумение бездельем молодых коллег. И тут вовремя зашел В.Е. посмотрел на Алексея, и, молча, повелительным жестом забрал Игоря и Сергея из комнаты.
Алексей закончил формирование заплаток в программе через пару часов. Попил чаю. И все еще раз проверил. Позвал Андрея и рассказал, что нужно будет прошить завтра утром . Андрей выслушал и взял написанное Алексеем задание.
Утром после перепрошивки микропрограммы все собрались у установки. Володя и Герман запустили оборудование . Шестинога двинулась и четко выполнила поставленное задание. Подошел руководитель отдела, посмотрел, крякнул довольно. Позвал В.Е. и Алексея к себе поговорить перед отъездом о перспективах других разработок.
Когда Алексей вернулся, увидел , что очень важного вида Смазов стоит в кружке местных инженеров и что-то им рассказывает:
- Мы разработали…
И тут Герман насмешливо Смазову :
- Видел , кто у вас разрабатывал, а кто просто микрухи по заданию прожигал.
И через его голову сказал Алексею :
-Алексей Николаевич, вы интересовались разъемом? Пойдемте в лабораторию, поищем.
(Алексей спрашивал вчера у Германа про редкий разъем, который он давно искал для одного своего прибора. ).
В лаборатории Герман подошел к навороченному всякой электроникой стенду.
Этот — он указал на припаянный к кабелю разъем.
-Да, такой.
Алексей не успел даже слова сказать, как Герман откусил разъем и протянул его Алексею.
- А как же теперь эта установка? - спросил Алексей.
- Для Вас нам ничего не жалко — ответил Герман.
* * *
По пути в аэропорт Алексей заскочил в магазин и купил маленькому сыну ксилофон. Сын всегда ждал подарка из командировки. В общежитии НЭТИ Алексей полез в портфель за бритвой и обнаружил нам детского солдатика — малыш незаметно положил его, чтобы Алексею было не скучно вне дома.
В самолете потряхивало, и Алексею пришла в голову мысль о незащищенности его семьи , если с ним что-то случится . Он отчетливо понял, что никому, в том числе государству до существования его семьи дела нет. И решил, что постарается больше не летать в командировки, а работать дома. И когда В.Е. поднял разговор, что новосибирцы очень довольны нашими результатами и тому, как вы, Алексей Николаевич, оперативно решили проблему, и , что они предлагают новый проект нам.
- Как Вы? Беремся?
Алексей ответил сразу:
- Я не против, Всеволод Ефимович, но работать будем дома, летать больше я не хочу.
- Есть еще одна мысль — сделать похожий процессор для использования в другой области. Вы же знаете, что я давно занимаюсь методами скоростного распознавания образов дефектов рельсов пути и аппаратурой для вагонов- дефектоскопов. Может реализуем и для них быстрый вычислитель? Или Вам не до этого сейчас — нужно готовить лекционный курс «Схемотехника ЭВМ», молодой преподаватель?
- А я «еще и крестиком вышивать могу» — рассмеялся Алексей.
- Три дня отдыха, и вперед, хоть к ультразвуковым дефектоскопам, хоть к галактическим кораблям! — добавил он.
Свидетельство о публикации №225042201468