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