Выбор. Фрагмент 4

1989
январь

Прошло всего полгода от начала работ по созданию процессора и изготовления опытного образца.

Отладка процессора была закончена. Всеволод Ефимович и Алексей решили оценить быстродействие своего детища. Измерили на осциллографе — процессор выполнял преобразование координат в длины ног за 800 микросекунд, т.е в 5 раз быстрее, чем было в задании на разработку.

- Ну, Вы даете, Алексей Николаевич, не ожидал! - Всеволод Ефимович был очень доволен.

Алексей вспомнил свою работу над микропрограммой, когда он не знал, сумеет ли обеспечить заданные 4 милисекунды и «сжимал» время везде, где было возможно. Писал микроподпрограммы, на вызов которых ( в отличие от подпрограмм стандартного программирования) время процессора не тратилось.

- Да, и точность вычислений  мы обеспечили гораздо выше заданной заказчиком. В два раза точнее, чем прогнозируемый результат новосибирских конкурентов, по доступным данным нашей «разведки» - заметил В.Е.

* * *

Наступила зимняя сессия. В.Е. занялся приемом экзаменов по своему предмету в 4-х группах потока.

Алексея вызвал заведующий кафедрой и сказал:

- Преподаватели гриппуют. Вам придется принимать экзамены по разным дисциплинам.
Где-то одному, где-то в паре.  Вот билеты по первому экзамену. Возьмите.

Когда на последнем,  пятом экзамене усталый Алексей хотел поставить оценку в зачетку  белокурой смазливой студентке и сказал:

- Хорошо.

 Она нахально заявила:

- Вы не можете мне поставить «хорошо», Алексей Николаевич!

- Это почему же ?— поинтересовался Алексей

- Посмотрите на эту страницу!- ответила студентка.

Алексей увидел свои подписи рядом с оценками «отлично» по 4-м предыдущим экзаменам.

- Ничего себе! Выходит в эту сессию я ее по всем предметам экзаменовал — подумал Алексей и поставил в зачетке «отлично», чтобы не портить такую картину.

В январе Алексей получил открытку из ВАК о присуждении ученой степени кандидата технических наук. Диссертацию он защитил в конце сентября 1988 года.


* * *

В зимние студенческие каникулы собрались вылететь в Новосибирск для предъявления результатов заказчику.

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

При посадке в самолет Игоря не было. В.Е сказал:

- Ну, что ж. обойдемся и без него!

Но Игорь вошел в салон самолета в самый последний момент.

В Новосибирске стоял мороз. Прилетели вечером. Всех разместили в общежитии НЭТИ.
Алексей , Игорь и Андрей поселились в одной комнате.

Утром в лаборатории отдела нетрадиционных механизмов НЭТИ ленинградцев  ждал робот Шестинога.  Паук на 6 ногах стоял неподвижно.

В.Е. ушел беседовать с руководителем отдела. Алексей подключил  две привезенные  платы RISK-процессора к стойке аппаратуры. Подошел  В.Е. Представители заказчика - молодые ребята Герасим и Владимир запустили программу, выдающую привезенному процессору координаты материальной точки для преобразования их в длины ног Шестиноги. И паук Шестинога ожил. Все  были  в восторге.

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

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

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

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

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

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

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

- И что?  -спросили заказчики.

Всеволод Ефимович ответил им моментально:

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

-  И что теперь делать? Отказываться от установки шарниров под углом 18 градусов? - спросил Владимир.

- Мы с Алексеем Николаевичем попробуем поменять последовательность вычислений с использованием тригонометрических преобразований и внести поправки  в программу. - ответил В.Е.

Прошло уже много лет со дней изучения тригонометрии в школе и никто не предполагал, что эти знания окажутся когда-нибудь востребованными. Интернета в то время еще не было. Справочников под рукой тоже не оказалось. Но были по крайней мере двое - В.Е. и Алексей, которые могли проверить друг друга, записав отдельно обновленную формулу.  Проверили, согласились, что вариант правильный.

И теперь Алексею предстояло написать изменения в виде 72-разрядного кода микрокоманды и  вручную, без трансляции программы на компьютере, внести их в виде заплаток в оставшиеся свободные места памяти  программ. Запасных микросхем и права на ошибку не было. Возвращаться самолетом домой и там оттранслировать программу и прошить ее в новые микросхемы , а затем вернуться обратно,  желания не было. Задерживаться тоже было нельзя — билеты на обратный рейс уже были приобретены на завтра
.
  Алексей сосредоточился. И начал расставлять на бумаге биты машинного кода. Процессор использовал принцип конвейеризации, когда в процессе выполнения текущей команды из памяти загружалась следующая, а текущая использовала результаты предыдущей. И все надо было учитывать в комплексе, чтобы не промахнуться и не сделать ошибку.

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

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

Утром после перепрошивки микропрограммы  все собрались у установки. Володя и Герман запустили оборудование . Шестинога двинулась и четко  выполнила поставленное задание. Подошел руководитель отдела, посмотрел, крякнул довольно. Позвал В.Е. и Алексея к себе поговорить перед отъездом о перспективах других разработок.

Когда Алексей вернулся, увидел , что очень важного вида Смазов стоит в кружке местных инженеров и что-то им рассказывает:

- Мы разработали…

И тут  Герман насмешливо Смазову :

- Видел , кто у вас разрабатывал, а кто просто микрухи по заданию прожигал.

И через его голову сказал Алексею :

-Алексей Николаевич, вы интересовались разъемом?  Пойдемте в лабораторию, поищем.

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

В лаборатории Герман подошел к навороченному всякой электроникой стенду.

 Этот — он указал на припаянный к кабелю разъем.

-Да, такой.

Алексей не успел даже слова сказать, как Герман откусил разъем и протянул его Алексею.
 
- А как же теперь эта установка? - спросил Алексей.

- Для Вас нам ничего не жалко — ответил Герман.

* * *

По пути в аэропорт Алексей заскочил в магазин и купил маленькому сыну ксилофон. Сын всегда ждал подарка из командировки. В общежитии НЭТИ Алексей полез в портфель за бритвой и обнаружил нам детского солдатика — малыш незаметно положил его, чтобы Алексею было не скучно вне дома.

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

- Как Вы? Беремся?

 Алексей ответил сразу:

- Я не против, Всеволод Ефимович, но работать будем дома, летать больше я не хочу.

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

- А я «еще и крестиком вышивать могу» — рассмеялся Алексей.

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


Рецензии