Сколько памяти было у Терминатора T-800: вычисление объема накопителя по кадрам фильма
В 1984 году Джеймс Кэмерон показал мир глазами киборга-убийцы: красный фильтр, прицельная сетка и бегущие строки компьютерного кода. Миллионы зрителей сжимались от ужаса перед всемогущим искусственным интеллектом Скайнет, полагая, что в стальной череп Т-800 встроена вычислительная мощность целого военного центра. Однако если нажать на паузу и разобрать то, что видит Терминатор, всплывает ироничная правда: машина работала на железе, которое уступает даже современному умному чайнику. И чтобы узнать её реальный объём памяти, достаточно взглянуть на исходный код.Когда зритель видит «красный интерфейс» Т-800, по левому краю экрана скачут ассемблерные команды. Долгое время считалось, что это случайная тарабарщина художников по спецэффектам. Но программисты, дождавшись выхода фильма в высоком разрешении, изучили каждый кадр. Выяснилось, что в глазах Терминатора прокручивается реальный код для микропроцессора MOS 6502 — того самого, на котором работал домашний компьютер Apple II. Но ещё интереснее источник этого кода.
Журнал для школьников и код Apple II: что реально сидело в голове у киборга
Код для интерфейса Т-800 не писали в секретных лабораториях. Режиссёрская группа просто взяла сентябрьский номер любительского журнала Nibble Magazine за 1984 год. В нём печатали программы, которые американские школьники и гики перебирали вручную. Киборг из 2029 года, отправленный уничтожить Сару Коннор, в момент штурма полицейского участка буквально загружал в оперативку утилиту NEWRAM для создания виртуального диска в DOS 3.3 и контрольную программу проверки ошибок. Но что этот факт говорит о его физической памяти?Архитектура процессора 6502 — восьмибитка. Его шина адреса способна напрямую работать максимум с 64 килобайтами оперативной памяти. Даже если допустить, что инженеры Скайнет использовали платы расширения с переключением банков памяти, предел системы составлял от 128 килобайт до одного мегабайта. В один средний файл фотографии с телефона помещается в пять раз больше информации, чем во всю оперативку машины, покорившей человечество. Невольно задаешься вопросом: как с таким «багажом» он вообще умудрялся ходить и распознавать лица?


Учитывая, что абсолютное большинство современных программ работают ненамного быстрее программ на том же Apple-II, а занимают места на два порядка больше (а то и на три, в 1000 раз), это перестаёт быть удивительным.
Просто старенький проц 6502 выполнял только те действия, которые были реально нужны, а не занимался 99% времени "согласованием между виртуальными программными средами", как сейчас происходит в большинстве программ.
Адресное пространство этого проца 64k.
Но, страничная организация памяти позволяет иметь доступ к гораздо большим объемам, чем 1Мб. "Банки памяти расширения до 1 Мб" - это то, что производилось в реале. Однако, число страниц памяти может быть любым, и их суммарная емкость может составлять значительно больше, чем 64k.
Однако, реалистичность кода в цель авторов фильма не входила.
Так что - и так сойдёт...
И сошло.