Почему 4 Кб оперативной памяти оказалось достаточно, чтобы отправить человека на Луну, а 4 Гб порой не хватает современной игре?

30 July

Оперативная память (ОЗУ) или RAM — запоминающее устройство
с произвольным доступом, которое
позволяет прочитать или записать данные почти за одинаковое время, вне зависимости от их расположения
в памяти. RAM используется для хранения машинного кода и рабочих данных.

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

Иллюстрация: NASA/Public Domain
Иллюстрация: NASA/Public Domain

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

Иллюстрация: Wikimedia Commons/Halicki/CC BY 3.0
Иллюстрация: Wikimedia Commons/Halicki/CC BY 3.0

Чтобы разобраться в поставленном вопросе, сначала необходимо узнать что из себя представлял навигационный компьютер "Аполлона-11", содержащий всего 4 килобайта встроенной оперативной памяти.

Не забываем, что это был рубеж 60-70-х годов XX века, и не стоило ожидать хотя бы мегабайт оперативной памяти. На тот момент компьютеры не были потребительским продуктом, доступным каждому.

Главная задача навигационного компьютера "Аполлона-11" заключалась
в обеспечении управления космическим кораблём для плавного контролируемого запуска и посадки
.

Этому компьютеру не нужно было обрабатывать сверхдетализированную графику. Также ему не приходилось выполнять множественные вычисления, чтобы экипаж мог управлять кораблём.

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

У компьютера было небольшое количество датчиков контроля, которые сигнализировали об изменениях. Кроме того закладывалась сложная математика, но ничего такого, с чем не могли бы справиться 4 Кб ОЗУ. Заложенную математику не приходилось пересчитывать по несколько раз.

Иллюстрация: NASA/Public Domain /Модуль ОЗУ навигационного компьютера
Иллюстрация: NASA/Public Domain /Модуль ОЗУ навигационного компьютера

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

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

В игре входные сигналы постоянно меняются. Перемещая мышь, нажимая на клавиши, всё время меняется состояние. Даже если ничего
не делать, состояние всё равно меняется. Виртуальный мир имеет движущиеся части, например, листья, вода, тени и многое другое.

Всё это нуждается в постоянной обработке. Компьютер вынужден пересчитывать снова и снова, чтобы отображать множественные детали на экране.

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

Выход за эти рамки обеспечивал бы большую производительность,
но необходимо учитывать, что
ОЗУ навигационного компьютера "Аполлона-11" полностью сделано вручную.

RAM такого объёма вполне хватало для посадки на Луну. Расширение
до 4.5 килобайт было
бы очень дорогостоящим и трудоёмким, кроме того избыточным. Современные игры — это не управление ракетой, это отображение чего-то на экране.
Обязательно подписывайтесь, Вам также понравится:
Как далеко можно улететь или насколько велика Солнечная система?
Что содержат золотые пластинки Вояджеров и как мы узнаем что их кто-то расшифровал?
Что такое антиматерия и почему она стоит $62.5 триллиона за грамм?
Один из самых опасных рукотворных радиоактивных объектов
Одна из самых опасных тетрадей на планете. Почему к вещам Марии Кюри нельзя прикасаться ещё как минимум 1500 лет?