Насколько мощным был первый советский суперкомпьютер? Могла бы БЭСМ-6 «потянуть» культовый трёхмерный шутер 1990-х годов? Такой вопрос нам задал подписчик, а отвечает на него Алексей Бутырин, научный консультант Политехнического музея по IT.
БЭСМ-6 — первая советская вычислительная машина, которую без натяжки можно назвать суперкомпьютером. Вместе с периферийными устройствами она занимала более 200 квадратных метров площади и потребляла около 60 кВт электроэнергии. Основу машины составляли 60 тысяч транзисторов и 180 тысяч диодов, объединённые в 4 тысячи сменных ячеек. Архитектура ЭВМ по тем временам была передовой и позволяла БЭСМ-6 выполнять миллион операций в секунду, что ставило её в один ряд с лучшими зарубежными аналогами.
Запуск Doom на не предназначенных для этого устройствах — своего рода спорт для компьютерных энтузиастов. На чём только не заставляли работать легендарную игру 1993 года и её продолжение 1994-го — умные часы, банкоматы, принтеры, фотоаппараты, научные калькуляторы… Но вот БЭСМ-6 вряд ли могла бы пополнить этот список. Почему?
Первая причина очевидна: игра Doom предназначена для компьютеров с совершенно иной архитектурой. Взять готовый исполняемый файл нельзя, нужно обращаться к исходному коду. Основная часть игрового движка написана на языке C, а отдельные фрагменты — на языке ассемблера для процессоров x86, которые по системе команд с БЭСМ-6 несовместимы. Так что тем, кто захотел бы запустить Doom на советском суперкомпьютере, сначала пришлось бы потратить немало труда, адаптируя и отлаживая код игры.
Но даже если бы эту работу удалось успешно завершить, Doom на БЭСМ-6 всё равно не запустился бы из-за недостатка вычислительных ресурсов. ЭВМ показывала хорошую производительность в научных расчётах, для которых характерны операции с плавающей запятой, — иными словами, она могла с равной точностью обрабатывать очень большие и очень малые числа и не тратить время на их преобразование. Но движок Doom в основном использует операции с фиксированной запятой либо вовсе целочисленные.
Минимальные системные требования игры — процессор Intel 80386 с частотой 33 МГц и 4 Мб оперативной памяти. Такой процессор имеет производительность около 4,3 MIPS (миллионов операций в секунду), тогда как БЭСМ-6 — всего 1 MIPS, да и памяти у советской машины только 800 Кб.
К тому же ЭВМ 1960-х годов, рассчитанная на пакетное решение задач с выводом результатов в текстовом формате, просто не имела достаточно быстрых периферийных устройств для отображения динамичной игровой графики.
Можно пофантазировать, что вычислительный комплекс АС-6, состоящий из двух БЭСМ-6 и нескольких периферийных процессоров, после значительной доработки позволил бы запустить культовую игру. Но на практике мы вряд ли это когда-нибудь узнаем. Зато нам известно, что в реальности на БЭСМ-6 тоже играли в игры, но куда более простые.
Популярными были игра в слова, похожая на «Балду», и «Посадка на Луну» — локализованная версия игры Lunar Lander, изначально написанной в США в 1969 году. А когда в конце 1980-х в ИТМиВТ появилась версия игры Star Trek, в которой можно было соревноваться друг с другом, деятельность института, по воспоминаниям сотрудников, на несколько дней оказалась парализована.
То, как много ресурсов требуют современные игры, лишний раз показывает стремительность прогресса вычислительной техники. Наши домашние ПК и игровые приставки в тысячи раз мощнее, чем компьютеры, которые в своё время позволили запустить космические корабли к Луне, — и неважно, что мы используем эту мощь для того, чтобы запускать виртуальные ракеты в виртуальных чудовищ.
Подписывайтесь на наш телеграм-канал — там больше интересного.