18+
реклама
18+
Бургер менюБургер меню

Станислав Миков – Проект «Сфера-80»: в поисках юности (страница 70)

18

— А сейчас? — спросил она почти шепотом.

— А сейчас я думаю, что даже если у нас ничего не выйдет с комиссией… Если Белов нас разгонит… Это всё равно того стоило.

— Почему?

— Потому что я встретил тебя, — сказал Олег. Это прозвучало так просто и так страшно, что он сам испугался своих слов. Но отступать было некуда. Он был инженером-испытателем, его работа — выявлять истину. И это была истина.

— Ты… ты делаешь сигнал чистым, Наташа. Во всех смыслах.

Наташа подалась вперед. Очень медленно, словно давая ему время отстраниться или перевести всё в шутку. Но Олег не отстранился. Он потянулся к ней навстречу, неловко задев локтем подставку для паяльника. Пружина звякнула, но этот звук потонул в шуме крови в ушах.

Их губы встретились. Осторожно, неумело. Пахло канифолью, дешевым табаком «Родопи», остывающим чаем и дождем. Это был поцелуй двух уставших людей, которые нашли друг друга в лабиринте микросхем и проводов.

Когда они отстранились, Олег чувствовал, что задыхается, словно пробежал марафон.

— Только это… — прохрипел он, пытаясь вернуть остатки самообладания. — Липатову не говори.

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

— Почему?

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

Наташа тихо рассмеялась, уткнувшись лбом ему в плечо.

— Мы напишем ТУ, — прошептала она. — Технические Условия на счастье.

Олег обнял её одной рукой, а другой потянулся к тумблеру питания.

— Давай. Только сначала накрой плату чем-нибудь. Не дай бог кто увидит нашу «шахматку» раньше времени. Пусть это будет наш секрет. Пока что.

Он выключил монитор. Белая точка в центре экрана медленно угасла, растворяясь в темноте. Но темнота больше не казалась враждебной. В ней, под шум бесконечного осеннего дождя, рождалось что-то новое. Что-то гораздо важнее, чем просто ЭВМ.

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

Глава 39. Люба и Евгений

Глубокий вечер за окнами КБ-3 создавал то самое настроение, когда хочется либо писать стихи о безысходности, либо вылизать программу на автокоде до состояния звонкой, как натянутая струна, совершенности. Осенняя темнота изолировала лабораторию от внешнего мира, превращая её в одинокую подводную лодку.

Евгений Громов выбрал второе.

В лаборатории было тихо, если не считать гудения трансформаторов и периодического, похожего на вздохи умирающего кита, скрипа старого паркета. Часы показывали половину одиннадцатого вечера. Нормальные люди в это время смотрели программу «Время» или спали, готовясь к новому трудовому дню.

Ненормальные — то есть основной костяк команды «Сферы» — обычно тоже расползались по домам, но сегодня Громов остался. У него был личный счет к ЦУБу.

Эта кремниевая горсть транзисторов на плате издевалась над ним.

Громов сидел перед терминалом — своим собственным творением, собранным из телевизора «Юность» и клавиатуры с герконами, — и яростно тер переносицу. На экране мерцали колонки шестнадцатеричных кодов.

— Ну давай же, тупая ты железяка, — прошептал он, обращаясь к микросхеме. — Я знаю, что ты можешь быстрее. Ты просто ленишься.

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

Для больших машин серии ЕС, на которых Громов привык работать, это была задача уровня «почесать за ухом». Там были каналы прямого доступа, сопроцессоры, тактовые частоты, от которых не вяли уши. Здесь же, в мире восьмибитного убожества, процессор должен был лично, своими маленькими цифровыми ручками, взять байт из ячейки А, перенести его в ячейку Б, и так две тысячи раз.

Это выглядело не как прокрутка. Это выглядело как медленный показ диапозитивов для пенсионеров. Строки ползли вверх с грацией парализованной улитки.

Евгений затянулся «Явой», выпустив струю дыма в потолок. Дым повис слоистым облаком, подсвеченным сероватым сиянием монитора.

В дальнем углу комнаты, за своим верстаком, сидела Люба Ветрова.

Громов, честно говоря, думал, что она ушла еще час назад. Она сидела так тихо, что её можно было принять за элемент интерьера — например, за очень аккуратную вешалку для белого халата. Но Люба была живой. Она склонилась над листом ватмана, вооружившись карандашом и ластиком, и что-то чертила. Свет настольной лампы выхватывал из полумрака её строгий профиль, очки в роговой оправе, сползающие на кончик носа, и выбившуюся из пучка прядь волос, которая жила своей собственной, независимой жизнью.

Евгений скосил глаза на неё. Странная она. Молчит больше, чем говорит. Паяет лучше, чем вяжет (хотя он не знал, вяжет ли она вообще, но стереотипы требовали сравнения). И смотрит на схемы так, как другие женщины смотрят на модные журналы или на своих детей. С любовью и пониманием сути вещей.

— Любовь Анатольевна, — позвал он, не оборачиваясь. Голос прозвучал хрипло от табака. — Вы домой не собираетесь? Трамваи скоро превратятся в тыквы.

Люба вздрогнула, словно её разбудили, и подняла голову. Очки блеснули.

— А? Нет, Евгений Александрович. Я тут… — она неопределенно махнула рукой в сторону чертежа. — У нас по питанию просадка на третьей гармонике. Если в школе включат сразу десять машин и кто-то решит еще и чайник в ту же розетку сунуть, будет фейерверк. Я пересчитываю фильтр.

— Фейерверк — это весело, — буркнул Громов, возвращаясь к коду. — Хоть какое-то развлечение. А у меня тут похороны. Похороны быстродействия.

ИЗ_ОЗУ Р1… ИНК_АДР… В_ОЗУ Р1… Скука смертная. Циклы, циклы, циклы.

— Не получается? — тихо спросила Люба.

Громов услышал шорох — она встала и подошла. Остановилась за спиной, соблюдая пионерскую дистанцию. От неё пахло канифолью и чем-то неуловимо цветочным, может быть, шампунем или духами, название которых Громов не знал. Этот запах странным образом диссонировал с прокуренной атмосферой лаборатории, но не раздражал. Наоборот, он вносил в хаос какую-то ноту упорядоченности.

— Всё получается, — огрызнулся Громов, но беззлобно. Это была его защитная реакция: программист никогда не признает поражение перед «железячником»

— Просто этот процессор проектировали садисты. Смотри.

Он нажал клавишу «Ввод». Экран заполнился текстом, который медленно, рывками пополз вверх.

— Видишь? — ткнул он пальцем в стекло. — Это не ЭВМ, а телетайп времён гражданской войны. Я уже развернул цикл. Я использую стековый указатель, чтобы читать по два байта за раз. Я, черт возьми, отключил прерывания, чтобы сэкономить такты. А оно всё равно ползет.

Люба поправила очки, внимательно глядя на экран.

— А зачем вы двигаете память? — спросила она.

Вопрос был настолько наивным, что Громов даже перестал печатать. Он медленно повернулся к ней на вращающемся стуле (который скрипнул, как старая телега).

— Люба, душа моя, — начал он тоном терпеливого профессора, объясняющего первокурснику, почему дважды два четыре. — Чтобы текст на экране сдвинулся вверх, байты в видеопамяти должны физически переместиться. То, что было во второй строке, должно стать первой. То, что было в третьей, — второй. Это физика, Люба. Закон сохранения информации. Если я не перенесу байты, они сами не переползут. У них своя инерция, — закончил он и замолчал. Люба не обиделась. Она вообще редко обижалась на сарказм, словно у неё был встроенный фильтр низких частот, отсекающий эмоциональный шум и оставляющий только полезный сигнал.

— Я понимаю, как работает программа, Женя, — сказала она спокойно, и от ее неожиданно мягкого тона у Громова что-то екнуло. Отбросив шутливый официоз, она заговорила с ним предельно откровенно. — Я спрашиваю про железо. Зачем вы заставляете процессор заниматься работой грузчика?

— Потому что у нас нет канала прямого доступа к памяти, — развёл руками Громов. — Мы нищие, Люба. У нас «Сфера-80», а не IBM 360. У нас центральное процессорное устройство — и швец, и жнец, и на дуде игрец.

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

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

— Верно, — кивнул Громов, чувствуя, что начинает раздражаться. — И что?

— А если мы скажем ему начинать не с нуля? — Люба подняла на него глаза. За толстыми линзами её взгляд был ясным и пугающе конкретным. — Если мы скажем ему: «Начинай показывать картинку с сорокового байта»? Тогда вторая строка станет первой. Визуально.