Как компьютер наведения «Аполлон» справлялся с битовыми ошибками четности?

В следующих ответах упоминается использование битов четности в компьютере управления Apollo:

  • этот ответ на количество битов на ядро ​​​​для различных версий памяти ядра компьютера управления Apollo?
  • этот ответ на Как компьютеры Аполлона оценивали трансцендентные функции, такие как синус, арктангенс, логарифм?

Это заставляет меня задуматься:

  1. Как компьютер наведения «Аполлон» справлялся с битовыми ошибками четности?
  2. Встречались ли они когда-либо во время реальных миссий?
Наверное не так: youtube.com/watch?v=G6o881n35GU
Ха! ты заставил меня снова буквально LOL. Мои соседи думают, что я поддаюсь сертификации (не говоря уже о «несовершенном и несовершенном») из-за этого.

Ответы (2)

1. Как компьютер наведения «Аполлон» обрабатывал битовые ошибки четности?

Согласно аппаратному обеспечению Apollo 15 от Delco Electronics,

Аварийный сигнал четности

Происходит, если к любому доступному слову в фиксированной или стираемой памяти, адрес которого 10 8 или больше содержит четное количество «единиц». Все локации 10 8 или больше хранятся в фиксированной или стираемой памяти с нечетной четностью.

10 8 восьмеричное 10 или десятичное 8.

Это условие вызывает автоматический перезапуск оборудования:

RESTART (аппаратный) и последующее предупреждение AGC/LGC генерируется для следующих аварийных сигналов:

  • Отказ генератора
  • Ловушка управления передачей (TC)
  • Аварийный сигнал четности
  • Неудача ночного сторожа
  • Блокировка прерывания (RUPT)
  • Сбой напряжения

RESTART временно блокирует доступ к памяти, замораживает компьютер, сохраняет информацию о процессе и затем передает управление на адрес 4000. Этот адрес содержит информационный адрес для следующей команды после RESTART, которую предоставил программист.


2. Встречались ли они когда-либо во время реальных миссий?

Согласно сводному отчету программы «Аполлон» , самой серьезной аномалией во всей системе GN&C было переходное напряжение, которое давало компьютеру ошибочное указание на то, что инерциальная опорная точка была потеряна. В нем также говорится, что разомкнутая цепь обратной связи по частоте вращения подвеса вызвала неожиданные колебания резервного узла исполнительного механизма подвеса двигателя. Однако о самом компьютере в нем недвусмысленно говорится:

Производительность компьютера была безупречной.

Я бы интерпретировал это как отсутствие ошибок четности.


Согласно восстановлению после временных сбоев компьютера управления Apollo :

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

(кредит @aCVn) Этот отчет был опубликован в августе 1968 года, до высадки на Луну.

ibiblio.org/apollo/hrst/archive/1033.pdf (раздел XVI, PDF, стр. 10) сообщает, что в 1968 г. за более чем 25 летных часов (раздел XIX, PDF, стр. 11) «в полете не произошло перезапуска». . Это довольно определенно, но, конечно, не распространяется на миссии по высадке на Луну.
Комментарий выше выглядит довольно категорично. Поскольку комментарии являются временными и могут быть удалены в любое время, не могли бы вы перенести это в свой ответ?
«Производительность компьютера была безупречной» — за исключением той небольшой проблемы с перегрузкой процессора, связанной с радаром, верно?
@ user253751: Технически это было вызвано ложными импульсами от оборудования обработки сигналов, а не от самого компьютера. Тем не менее, желательно, чтобы компьютер безопасно справлялся со сбоями в другом оборудовании.

Какой увлекательно неясный вопрос :-) Потребовалось немного покопаться, так что, возможно, кто-то, кто действительно видел AGC, может знать лучше:

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

Если будет обнаружена ошибка бита четности, произойдет сигнал тревоги четности. На самом деле это отображалось на DSKY и вызывало перезапуск запущенных программ. Было так важно, что в AGC существовала схема контроля четности. Это была одна из многих систем обнаружения аппаратных сбоев, которые защищали AGC во время таких сбоев. Вы можете прочитать намного больше о системе перезапуска здесь здесь , где описываются вещи с четностью.

Я не могу найти каких-либо упоминаний о когда-либо появляющемся аварийном сигнале четности, но в данный момент я особо не искал. Я ожидаю, что это было бы в журналах связи миссии, если бы это произошло.

Очень важно. В настоящее время вы получаете хороший экран из ОС / BIOS и что-то вроде «ошибка четности - система остановлена» в правильно реализованном оборудовании (исправление одиночной ошибки, обнаружение двойной ошибки...)
Верно! непонятный вопрос месяца :)
Люблю старую терминологию для того, что мы теперь знаем как схему сторожевого пса... "Ночной сторож" :)
Как человек, видевший (и восстанавливающий) АРУ, могу это прокомментировать. Память имела четность (15 бит данных + 1 бит четности). Не было предположения, что данные в памяти были правильными.
@DavidTonhofer Современная система, скорее всего, сделает запись в системном журнале при обнаружении исправимой ошибки RAM ECC. (Конечно, Linux делает это именно так.) Предположение здесь, вероятно, состоит в том, что если вы достаточно заботитесь даже о том, чтобы знать, что такая ошибка произошла, вы достаточно заботитесь о том, чтобы иметь какой-то мониторинг журнала, и поскольку это поправимо, нет причин остановить или перезагрузить систему.