Найти тему
Petr Vokhmintsev

О компьютерах, информатие и размере программ

Разоблачитель лунной аферы РУССКАЯ ПРАВДА, он-же капитан запаса Александр Шатунов (по его словам), добрался до бортового компьютера Аполлона. Точнее, до его программного обеспечения.

Скриншот статьи
Скриншот статьи

Трудно сказать, какой шпион-диверсант надоумил автора использовать в своём нике слово "правда", да ещё и в сочетании с "русская", но автор ухитрился наврать чуть не в первом абзаце.

Скриншот статьи
Скриншот статьи

Речь идёт о вот этой статье:

Скриншот статьи Science & Future
Скриншот статьи Science & Future

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

Скриншот статьи Science & Future
Скриншот статьи Science & Future

Действительно 16 папок. С распечатками. Такими какие нам показывает РУССКАЯ ПРАВДА:

Скриншот статьи.
Скриншот статьи.

Распечатка открыта на листе 1464 кода программы для командного модуля и кусочек следующего. С кучей дополнительной информации начиная с номера строки и до, судя по всему, времени выполнения команды. Сам код программы начинается с десятого столбца.

Скриншот статьи
Скриншот статьи

Да поняли мы уже, что шестнадцать томов (на самом деле семнадцать). Ближе к делу можно или будем мять пушап?

Автор применяет три допущения, если коротко, то:

  1. Один знак на распечатке, это один байт в памяти компьютера
  2. Все тома имеют одинаковое количество страниц с текстом
  3. На каждой странице одинаковое количество знаков

На самом деле да, текст он и есть текст. До UTF-16 тогда ещё не додумались и буквы с цифрами кодировались по байту на знак. Второе допущение притянуто за уши, по снимкам видно, что толщина томов разная, но ладно. Ну и количество строк на страницах может очень сильно отличаться

Скринот статьи
Скринот статьи

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

Буквы английского алфавита ещё делятся на заглавные и строчные, так что их два раза по 26. А управляющих символов не около десяти, а тридцать два. И для многоточия уже отдельный символ ввели, или автор вот этот знак ":" многоточием называет? Ладно, это я докапываюсь. А кому интересно, таблица ASCII выглядит так:

 таблица ASCII. Из открытых источников.
таблица ASCII. Из открытых источников.

Кстати, восемь бит в байте, это сложившаяся с начала 1970-х годов практика. А истории известны байты размером и меньше восьми бит и больше.

Можно задать логичный вопрос, а зачем это всё? А вот зачем:

Скриншот статьи
Скриншот статьи

Ну, можно и так посчитать. И хранить текст в семибитной кодировке тоже можно. Только зачем это в восьмибитные байты пересчитывать?

Ну ладно, пересчитали. И?

Ну, а теперь смотрим значения памяти бортового компьютера ПКА "Аполлон". Смотрим и удивляемся!

А что там с памятью с тех пор что-то поменялось? 2048 слов ОЗУ и 36К слов ПЗУ. Чему именно удивляться?

Скриншот статьи
Скриншот статьи

Чего? На что не хватит? На один том исходного кода? Вот это поворот! Оказывается по мнению автора канала РУССКАЯ ПРАВДА программы
загружаются в компьютер в виде исходного кода, да ещё и с кучей дополнительной информации ни кому кроме программистов не нужной. Тот самый фрагмент программы с фотографии распечатки без дополнительной информации:

Фрагмент кода программы. Номера строк слева в код не входят, их программа просмотра подставляет.
Фрагмент кода программы. Номера строк слева в код не входят, их программа просмотра подставляет.

Если то, что влезло в скрин преобразовать из читабельного формата в машинные коды, то этот фрагмент будет занимать двенадцать машинных слов. Собственно сама программа начинается с 503-й строки. Всё остальное комментарии. В этом можно убедиться без регистрации и СМС зайдя на Гитхаб. Там есть исходные коды программ и для командного модуля и для Лунного экспедиции Аполлон-11.

GitHub - chrislgarry/Apollo-11: Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.

Сложно представить почему автор решил, что программа хранится в памяти компьютера в виде исходника. Возможно в стародавние времена ему доводилось писать программы на каком-ни будь бейсике на компьютере типа Агат, Спектрум или БК. Такие программы действительно хранились в памяти компьютера в виде текста и выполнялись на лету с помощью интерпретатора.

Да. Вот так о но и выглядело если на цветном мониторе. Из открытых источников.
Да. Вот так о но и выглядело если на цветном мониторе. Из открытых источников.

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

Скриншот статьи
Скриншот статьи

Получается прокол автора. Автор путает исходный код программы и исполняемый. Если из исходного кода (по 65 с небольшим тысяч строк) убрать все комментарии и пустые строки, то останется порядка 32 - 33 тысячи строк именно самой программы. Каждая из которых транслируется в одну команду и занимает одно машинное слово в памяти. Так что хватает компьютеру памяти для хранения всех нужных программ. Зря автор панику разводит. А может и сознательно врёт. особенно с учётом названия канала.

Бонус трек

Скриншот статьи
Скриншот статьи

Этот бортовой компьютер действительно не имел интегральные микросхемы. Если внимательно почитать описание, то там написано, что использовались микросхемы на резисторно-транзисторной логике. Аналогичные микросхемы использовались и в советских бортовых ЭЦВМ.

Советская микросхема Тропа-1. Из открытых источников
Советская микросхема Тропа-1. Из открытых источников
Буржуйская микросхема. Из открытых источников
Буржуйская микросхема. Из открытых источников

Интегральная микросхема изготавливается на полупроводниковом кристалле а не собирается из микроэлементов на подложке из диэлектрика. Да. Промышленных образцов интегральных микросхем в 60-е не было. Пришлось обходиться обычными и СССР и США. Кстати, первая опытная ИЧСХ, рабочая интегральная микросхема была создана не 1971 году, а в 1960-м. Вот так.

Про пользовательские интерфейсы БЭЦВМ времён лунной программы я уже писал и повторяться не буду:

Но и на советских с вводом текста типа "Под знаменем Ленина вперёд к коммунизму" тоже были серьёзные проблемы.

Скриншот статьи
Скриншот статьи

Поздравляю автора канала РУССКАЯ ПРАВДА с разоблачением советской пилотируемой лунной программы (увы, не состоялась) и полётов КК Зонд к Луне (имеются успешные) у которых стояли аналогичные по возможностям БЭЦВМ, а с входом в атмосферу проблем не возникло. Или они тоже не летали?

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

А автора с очередным проколом (по его-же терминологии).

Наука
7 млн интересуются