Почему критически важные бортовые компьютеры избыточны?

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

Но почему? Я никогда не слышал о внезапном отказе микропроцессоров. Конечно, могли быть производственные ошибки, но они были бы обнаружены на заводе. Возможно, программа (и ее доказательство) неверна, но она будет одинаково ошибочна для всех процессоров. Точно так же неправильный ввод вызовет неверный вывод на всех трех компьютерах. От каких ошибок защищает эта избыточность? Иногда микропроцессоры просто неправильно выполняют математические операции?

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

Связанный: ответ на вопрос « Какова цель нескольких автопилотов?» просто говорит «избыточность», прежде чем перейти к тому, как это достигается.

Я буду ждать авторитетных ответов, но в системах, с которыми я работал, на трех компьютерах работало разное программное обеспечение, созданное независимыми командами и доказавшее, что они генерируют одинаковые выходные данные для одних и тех же входных данных.
@Simon Я знаю, что у Shuttle было программное обеспечение для резервного копирования («разнообразие дизайна»), но Википедия утверждает, что эта практика становится все менее распространенной.
Может быть, я был не в курсе около 20 лет. Кстати, теперь я инженер-программист и видел отказы процессоров и, чаще всего, отказов микросхем оперативной памяти.
@Simon Но RAM может иметь ECC, верно? В худшем случае дублирование оперативной памяти намного проще и дешевле, чем дублирование всего компьютера. Сбой процессора вызывает гораздо больше беспокойства. Как вы думаете, вы могли бы написать ответ о том, как процессоры выходят из строя?
Мой вопрос по сути такой же, как вопрос, который я только что связал. Должен ли я закрыть это как дубликат другого, а затем добавить награду к другому? Должен ли я отредактировать другой вопрос, чтобы сосредоточиться на том, как достигается избыточность, чтобы лучше соответствовать ответу?
На мой взгляд, ваш вопрос актуален как таковой, и мне интересны ответы. Что касается того, как процессоры терпят неудачу, это не стоит ответа. Я видел 2 по памяти. Один из них был отказом вентилятора, и чип просто сгорел, а другой был неизвестен. Проявлялось все более странными ошибками и синими экранами, за которыми следовал полный сбой. ОЗУ почти наверняка будет иметь ECC, но он может исправлять только однобитовые ошибки и сообщать об ошибках с двойным битом. Если больше битов выходит из строя, что легко с физической ошибкой, то ECC бесполезен.
@raptortech97: Автопилот не так важен; самолетом можно управлять вручную. По-настоящему важными системами являются дистанционное управление. В Airbus они работают на парах разнородных плат (i386 и m68k) с независимо написанным программным обеспечением, которые взаимно проверяют друг друга, эти пары перемножаются для аварийного переключения, и есть независимый набор для основных органов управления полетом (руль высоты и элерон) и еще один для чередуются (спойлеры и горизонтальный стабилизатор), поэтому, если один из них выйдет из строя, другой все еще может контролировать как тангаж, так и крен. Я считаю, что система Боинга на 777 и 787 похожа.
@JanHudec Я согласен с тем, что автопилот обычно не критичен, но сбой во время автоматической посадки категории III считается катастрофой.
Я нахожу выбор использования 3 немного странным. Чтобы иметь дело с одним из них, выходящим из строя произвольным образом, вам нужна византийская устойчивость, которая не может быть достигнута с менее чем 4.
@kasperd Возможно, я ошибаюсь, но я думаю, что это только тогда, когда сообщения можно подделать. С выделенными физическими соединениями вы не можете подделывать сообщения.
@ raptortech97 Анализ систем без византийской устойчивости предполагает, что каждый узел либо работает идеально, либо полностью прекратил связь. Достаточно одного случайного битфлипа, чтобы сделать анализ таких систем недействительным.
@kasperd речь не об этом. Тип византийского анализа сопротивления, который вы предлагаете, основан на предположении, что компьютеры могут лгать и подделывать сообщения от других компьютеров. Трехсторонняя система разрешима, если у вас есть криптографические хэши для проверки личности.
@ raptortech97 Это решаемо только в том случае, если вы предполагаете, что неисправный узел перестает отправлять какие-либо сообщения. Если один узел выходит из строя таким образом, что он отправляет несогласованные сообщения, вы теряете все гарантии.
Разве вы не слышали о старом добром Мерфи?Anything that can go wrong will go wrong
« Я никогда не слышал о внезапном выходе из строя микропроцессоров ». Это потому что вы не разбираетесь в электронике. Спросите здесь, и вы будете просвещены. Кроме того, бортовой компьютер состоит не только из CPU/MCU. Клавиатура, дисплей, разъемы, память, часы, другие микросхемы, другие электронные компоненты, блок питания... назовите это.
Этот вопрос плохо сформулирован - ужасно. Судя по всему, исследователь имеет в виду, что бортовые компьютеры используют избыточность . Но на самом деле он спрашивает, почему они устарели?

Ответы (12)

Режимы отказа, которые следует учитывать:

  • Перегрев. Это изменяет временные характеристики микросхемы и в конечном итоге приводит к ошибке. Это может проявляться в виде однобитовых ошибок в середине, казалось бы, нормальной работы; в конечном итоге он выйдет из строя, но может сначала вывести неверные данные.
  • Повреждение водой. Проявляется как паразитное сопротивление на плате и может привести к тому, что вы неправильно интерпретируете биты как высокие или низкие. Могут быть негерметичные корпуса, конденсат и т.д.
  • Электромагнитная интерференция. (Система должна быть устойчивой к этому, но об этом все же стоит подумать).
  • Проблемы с физическим подключением. Либо во время строительства (неисправности пайки), либо после него (нагрев, вибрация). Микротрещины в досках или стыках могут пройти проверку качества, но приводить к непостоянным неисправностям. Опять же, это может потерять вас по одному биту за раз. Это связано с проблемой «красного кольца смерти» Xbox.
  • Выход из строя других компонентов. Обычно подозревают конденсаторы; электролитические, танталовые, керамические - все имеют разные режимы отказа. Опять же, это может привести к тому, что система в основном работает, но склонна к неправильной интерпретации предельных значений или страдает от дрейфа времени.
  • Странное материаловедение ( «пурпурная чума» , оловянные усы из-за бессвинцового припоя)
  • Часть QA может не соответствовать стандартам, которые вы ожидаете (поставщики отправляют некачественные детали с поддельной этикеткой «аэрокосмический класс»). Трудно обнаружить даже после того, как это произошло.

Важно осознавать, что в высокоскоростных цифровых системах вы не получите чистых «единиц» и «нулей», вы получите серию нарастающих и спадающих фронтов, которые размыты паразитной емкостью и индуктивностью проводки. Это по своей природе уязвимо для неправильной интерпретации в предельных электрических условиях.

Вау, спасибо за подробную информацию! Я хочу отметить, что мне трудно поверить, что детали не соответствовали стандартам. В авиации оригинальный дизайн и каждая запасная часть должны были пройти сертификацию FAA, и за всем этим стоит большой документальный след. В настоящее время индустрия поддельных запасных частей довольно мала.
Я занимаюсь электроникой, а не авиацией, поэтому я не знаком с тем, насколько хорошо работает бумажный след, но вам может быть интересно, если вам нравятся подробности: bunniestudios.com/blog/?page_id=1022
(Как ни странно, я думаю, что большинство ошибок, связанных с «работой в отделе контроля качества, сбоев на ранних этапах производства», - это механические неисправности паяных соединений; я полагаю, что авиация / MILSPEC раньше предпочитала намотку проволоки именно для этой цели, но это больше не практично с крошечными корпусами)
Это лучший ответ. Простой факт заключается в том, что процессоры могут давать неправильные ответы и часто делают это, когда работают за пределами их указанного напряжения/температуры/и т. д. диапазоны, потому что это портит тайминги. Разница во времени в пикосекунды может привести к считыванию неправильного значения из строки. Точно так же очень небольшая разница в напряжении может привести к тому, что значение будет считано как 1 вместо 0 или наоборот. Вот почему, когда люди тестируют разгон, они часами подряд запускают тесты на выгорание, которые выполняют математические вычисления как можно быстрее и наблюдают за неправильными ответами.
Что касается того, что он в конечном итоге рухнет ... он может в конечном итоге рухнуть, или он может просто продолжать выдавать плохой результат. Например, когда процессоры перегреваются, они часто продолжают счастливо выполнять свой код в течение всего дня, выдавая неправильные ответы, особенно если одно или несколько ALU или FPU работают не по спецификации, а декодер инструкций — нет (что не так уж страшно). необычный режим отказа.)
И защелка . Если ни от чего другого, то от космических лучей (как упоминалось в ответе RedGrittyBrick).

Как указывалось в другом ответе: процессор может выйти из строя. Либо частично (давая неверные ответы), либо полностью.

Более того, все компьютеры подвержены космическому излучению, которое время от времени может переворачивать память (в дополнение к другим источникам ошибок, таким как короткое замыкание и т. д.). Вот почему в научных экспериментах и ​​долго работающих серверах используется память ECC . Космические корабли также используют специальные усиленные ЦП , чтобы ограничить этот эффект, поскольку они менее защищены от таких помех. Самолеты летают на больших высотах и ​​подвержены большему количеству помех, чем ваш наземный компьютер.

Даже если такое случается очень редко (но не неслыханно), вы ДОЛЖНЫ убедиться, что результаты точны на 100%. Один перевернутый бит может изменить поведение вашего самолета непредсказуемым образом, например, инвертировать органы управления, инвертировать закон защиты от летной оболочки, ...

Космическое излучение может изменить не только память, но и процессор. Теперь ECC для памяти все еще имеет смысл, так как память имеет гораздо больше битов, но риск для ЦП все еще существует.
Да, это была память ECC И усиленные процессоры :)
Я думаю, что это самая важная причина. Если бы плохая память была единственной проблемой, мы могли бы просто утроить ОЗУ, но иметь один ЦП. Но если космический луч перевернет неправильный бит в ЦП, а ЦП не будет утроен, результат может быть катастрофическим.
Для сравнения, в типичном пассажирском самолете на крейсерской высоте фоновая радиация больше, чем сегодня в эпицентре Хиросимы.
Это называется сбоем одиночного события. Часто в памяти хранится 3 копии одних и тех же данных, а также еще одна единица, которую можно взять на себя в случае критической ошибки.

Почему критически важные бортовые компьютеры избыточны?

Программного обеспечения

Один момент, который был упущен, заключается в том, что резервные системы часто представляют собой независимые конструкции, особенно программное обеспечение. Это защищает от ошибок проектирования (или ошибок программного обеспечения), которые в противном случае могут вызвать проблемы при редком сочетании обстоятельств.

Аппаратное обеспечение

Даже если микропроцессор очень надежен, существует ряд факторов, которые могут иметь значение.

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

Я никогда не слышал о внезапном отказе микропроцессоров.

Надежность ≠ Безопасность

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

От Нэнси Левесон, Массачусетский технологический институт, через UCSD

«Я никогда не слышал о внезапном отказе микропроцессоров». Однажды у меня был один сбой на рабочем столе. Я что-то печатаю, а экран просто почернел. После обычного тестирования мы отправили его обратно, они сказали, что нам нужен новый процессор.
Люди, которые никогда не слышали о сбоях процессоров, никогда не переживали дни AMD Athlon/Pentium4, когда подгорание процессора не было чем-то необычным.
Спасибо, что упомянули, что действительно программное обеспечение не идентично, но разные команды пишут для разного железа, но с одинаковыми спецификациями. Первоначальный вопрос вводит в заблуждение, если не сказать больше.

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

Во- первых, как отметили Саймон , Ян Худек и RedGrittyBrick , дизайны совсем не идентичны. На самом деле, они часто совершенно разные по очень веской причине: вероятность того, что любая конкретная проблема повлияет на все резервированные системы, и особенно на все резервированные системы одинаковым образом, изменяется от «маленькой» до «совершенно мизерной, граничащей с несуществующей». Сравните Насколько различаются резервные компьютеры управления полетом?

Во-вторых, почему их три.систем в каждой резервной установке. Когда все работает нормально и самолет находится в устойчивом полете, для некоторого значения и заданного набора входных данных все системы сообщают, что требуется коррекция 0 (любой единицы). На данный момент проблем нет, и компьютеры просто служат для поддержания текущего состояния. Теперь одна из компонентных систем по какой-то причине не работает должным образом и начинает сообщать, что требуется коррекция на +50 единиц. То есть набор ответов меняется с [0,0,0] на [0,0,+50]. Две системы согласуются, а третья сообщает что-то другое, поэтому мы, вероятно, можем безопасно игнорировать выброс и использовать две системы, которые сообщают одно и то же: обрабатывать результат как [0,0, неправильно] и игнорировать неправильный результат, записывая технические детали и отображая какое-то заметное предупреждение о том, что системы необходимо проверить как можно скорее. Но что, если бы у нас изначально было только две системы, и одна из них вышла бы из строя одинаковым образом? Определенная необходимая коррекция идет от [0,0] до [0,+50]. Быстро сейчас: какое значение правильное? Следует ли сохранить состояние или исправить на +50?

В этот момент невозможно узнать, является ли коррекция на 0 или +50 правильным курсом действий. Вы можете взять среднее значение, но использование среднего значения двух чисел (одно из которых, скорее всего, будет неверным) может быть хуже , чем любое значение по отдельности.

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

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

Допустим, вы находитесь на подходе, готовитесь к автоматической посадке CAT III, и у вас есть только две компьютерные системы. Обе компьютерные системы сравнивают системы радиовысотомера №1 и №2. Только есть неисправность одной из систем радиовысотомера, вызывающая расхождение какой-то произвольной величины, выходящей за пределы допустимого.

Как компьютер узнает, какой из них неправильный? Один компьютер смотрит на систему радиовысотомера № 1 и видит 500 футов. Другой смотрит на систему № 2 и видит 1000 футов. Какой из них правильный, а какой нет? Как компьютер мог принять такое решение?

Войдите в третий компьютер. Если значение того, что он видит, соизмеримо со значением любого из двух других компьютеров, он может эффективно «проголосовать» за неверные показания «с острова».

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

Примечание. Как механик A&P, в 9 случаях из 10 отказ одной из внешних систем (радиовысотомер, несоответствие MMR/ILS и т. д.) приводит к ухудшению возможностей, а НЕ сам компьютер.

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

Я думаю, что ОП особенно спрашивал о том факте, что есть три, которые сравниваются, а не два, в случае, если аппаратное обеспечение умирает.
Из всего, что я слышал о системах Google, они предназначены для обработки полного отказа любого компьютера, а не компьютеров, которые плохо себя ведут.
Хм. Я думаю, что в моем ответе подразумевается работа со сбоями, а не с полным отказом, но вы оба правы, что он не очень хорошо подходит для вопроса. Я подумаю и либо улучшу, либо удалю.
Системы Google построены по принципу «сбой и повтор», поскольку он встроен во все интернет-протоколы. Другие крупные системы аналогичны и даже поддерживают работу «только при сбоях» (см. Netflix «Обезьяна хаоса»). Это не подходит для критичных к безопасности систем реального времени. Это интересный контраст между дешевой системой, которая на практике работает почти все время, и более сложной в разработке и более дорогой системой, которая может предложить гарантии проектирования.

Если мы посмотрим на это с чисто инженерной точки зрения, микропроцессоры, как и все остальное, имеют цикл жизни. Вообще говоря, это очень долго, и ПК, с которого вы публикуете это, скорее всего, устареет задолго до того, как он достигнет срока службы цикла. Хотя микропроцессор не имеет движущихся частей, он получает информацию от различных датчиков. Я могу только предположить, что входы каким-то образом слиты, но это не означает, что всплески полностью устраняются и изолируются, если они возникают. Как бы то ни было, даже относительно небольшие скачки напряжения поджарят микропроцессор. Имея это в виду, в качестве меры предосторожности используется несколько систем. С постоянно сокращающимися размерами технологий стало проще и дешевле носить с собой запасную часть, поэтому с точки зрения продаж можно не волноваться. Опять это'

Чтобы напрямую ответить на ваш вопрос, я долгое время занимался микропроцессорами, микроконтроллерами и т.п. За это время у меня было два или три самопроизвольных отказа, обычно связанных с перегревом. В самолете это может не показаться проблемой, но на самом деле сильный холод может вызвать проблемы, а также сильный жар, когда дело доходит до электроники. При этом я поджарил бесчисленное количество юнитов, ударив их перегруженными входами. Допустим, в ваш самолет попала молния (я знаю, что современные авиакомпании защищены от этого), но ради аргументов предположим, что земля была плохой: это легко поджарило бы самолет.

Примечание: в наши дни чипы памяти/диски чаще выходят из строя. Это то, что вы никогда не узнаете, поскольку большинство современных компьютеров могут иметь дело с мертвой памятью, будь то на диске или в системной памяти.

Авионика обычно находится в отсеке под кабиной или в самой кабине, поэтому сильный холод не будет проблемой, но при недостаточном охлаждении она может перегреться. Чего я не уточнил, так это того, что если микропроцессор самопроизвольно выходит из строя, должна быть возможность обнаружить это и переключиться на резервную копию. Используемая система сравнивает три выхода, подразумевая, что микроконтроллер может выдать неправильный вывод, а не просто не выдать никакого вывода.
Я нахожу утверждение, что «большинство современных компьютеров могут работать с мертвой памятью», в лучшем случае сомнительно. Возможно, в том строгом смысле, что «если ячейка памяти выйдет из строя, это не приведет к немедленному сбою компьютера», но это вызовет неустойчивую работу, как только эта память действительно будет для чего-то использована. В некотором смысле спасением является то, что в современных ПК львиная доля оперативной памяти активно не используется; он используется для кеша. Что может быть столь же плохо, если у вас нет возможности обнаружить проблему (что на практике означает, что вы используете оперативную память без ECC, чего нет в большинстве настольных систем).
Это неверно, компьютеры могут пропускать и игнорировать поврежденные сектора на диске, см. здесь en.wikipedia.org/wiki/Bad_sector . Точно так же ядро ​​​​Linux теперь поддерживает badram и badmem, которые могут сообщать системе о пропуске поврежденных адресов, которые это то, на что я ссылался. Однако вы правы в том, что плохая память может вызвать неустойчивое поведение, однако это не всегда так.
@ user16230: А кто говорит ядру исключить эту память? уж точно не та программа, которая сейчас запускается из этой памяти. Это чисто автономная крайняя мера, которая предпринимается после обнаружения дефекта бита памяти другими способами, кроме программы, работающей на нем в данный момент. Даже для поврежденных секторов результатом является потеря данных . Ничего, что можно было бы исправить в процессе перепрошивки системы. Также биты могут вести себя неправильно только в самых странных условиях, которые не могут быть обнаружены даже лучшими программами тестирования памяти. Или почему, по-вашему, гребенчатый молоток был открыт совсем недавно?
Опять же, я согласен, однако я просто указал, что с плохой памятью можно справиться (не то, чтобы я советовал делать это в полете).
@ user16230: Вы все еще не понимаете сути. Невозможно справиться с плохой памятью, если ты понятия не имеешь, что она плохая, или испортится через 5 минут. Вам нужны средства для обнаружения плохой памяти, восстановления сохраненных данных и переназначения. Это не только намного дороже, чем наличие трех резервных систем, но и совершенно невозможно для всех сценариев отказа. Таким образом, устранение сбоев памяти во время полета может быть возможно, но вы должны планировать события, где это невозможно, путем реализации решений большинства голосов, которые имеют гораздо более низкий уровень ошибок.
@PlasmaHH, вы, вероятно, могли бы объединить несколько микросхем памяти вместе и подключить их к одному ЦП без затрат на наличие трех микросхем памяти и трех ЦП.
@ raptortech97: вам по-прежнему нужны три модуля оперативной памяти, иначе у вас не будет большинства голосов, и вы сможете обнаружить, что один бит пошел не так. Да, вы можете создать собственную систему, использующую код Хэмминга или другой совершенный код более высокого порядка, но что тогда? У вас все еще есть возможные биты, которые могут перевернуться в регистрах или кешах. Код Хэмминга и для них тоже? что делать с битфлипами в декодере? Кроме того, это будет стоить намного больше, чем просто избыточность большинства. И это не будет иметь дело с такими вещами, как ошибки аналогового считывания (например, более высокое сопротивление от датчика к АЦП).

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

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

Вероятность отказа процессора действительно очень мала, но не равна нулю. При отказе процессора, что происходит во время перехода между отказом и полной функциональностью после перезагрузки? Можем ли мы когда-нибудь накопить достаточно опыта, чтобы быть уверенными в том, что прошли испытания при любых обстоятельствах, имея дело с таким редким событием, как это? Мы говорим о < 10 9 цифры здесь.

Резервные копии подвержены скрытым сбоям. Резервное копирование обычно не используется и включается только при необходимости, но что-то проржавело, или в удобном теплом месте устроилась странная плесень, которая вызывает короткое замыкание при активации? Мерфи до сих пор преследует аэрокосмические приложения. Резервную копию можно протестировать перед взлетом, но что, если она расшатается и основной процессор выйдет из строя? Шансы невелики, но все крупные аварии в наши дни вызваны такими маловероятными событиями, как это.

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

Автопилот в крейсерском режиме не критичен в полете и может быть отключен без серьезных последствий. При посадке CAT III, когда взлетно-посадочную полосу можно наблюдать только во время движения по ней, они абсолютно необходимы. Не хочется, чтобы автопилот отключался в 10 метрах над ВПП, видимости нет, боковой порывистый ветер - нет времени включить задний ход.

Я ценю ответ. Обратите внимание, что я использую местоимения они/их, а не он/его.
Я заметил и исправил.
« Автопилот в крейсерском режиме не является критичным для полета и может быть отключен без серьезных последствий », что действительно верно в теории, но когда-то он был смертельным в сочетании с отказом индикации воздушной скорости.
@mins На самом деле каждому событию, такому как отключение автопилота во время круиза, присваивается уровень безопасности, и оно должно соответствовать этому уровню безопасности. Уровень избыточности и строгости корректируется в соответствии с требуемым уровнем безопасности. Отключение автопилота во время крейсерского полета — это серьезно, да, но не «катастрофично», и поэтому при анализе безопасности отмечается только как «незначительная» или «серьезная» проблема. Тот же анализ безопасности может отметить отключение автопилота и отказ индикации воздушной скорости как совместную проблему с более серьезными последствиями, если между ними существует значительное взаимодействие.

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

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

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

В самолете безопасность важнее любого другого фактора (за ним следует оптимальный вес для топливной экономичности, а общая стоимость стоит на третьем месте). Если бы самолет не был безопасным, летало бы недостаточно людей, и индустрия авиаперевозок рухнула бы. Вот почему существуют правила FAA, и поэтому существует так много правил для авиакомпаний. (проверка безопасности в аэропорту - это еще одна тема, связанная с национальной / политической безопасностью, иммиграцией и т. Д., Поэтому, когда мы говорим «безопасность» самолета, я имею в виду инженерную безопасность)

Важнейшие бортовые системы (т. е. системы, необходимые для управления самолетом) нуждаются в резервировании. Подобно горелке, в реактивном двигателе есть 2 воспламенителя, хотя достаточно и одного. Кроме того, если двигатель выходит из строя, другой двигатель может управлять самолетом, а компьютер компенсирует дисбаланс сил влево/вправо. Многие системы в самолете полагаются на компьютер, поэтому у него должен быть «план Б» (резервирование — один из «планов Б»).

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

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

Конкретный пример из начала 90-х: Intel выпустила ЦП 486/33 (для того времени он был довольно передовым и молниеносно быстрым). Большинство ушли с завода в порядке, но у некоторых была загадочная ошибка в FPU, которая приводила к неправильным ответам. Журналы тех дней были заполнены расчетами, которые вы могли внести в свою электронную таблицу и получить X, если ваш процессор был хорошим, или Y, если в нем была ошибка.

Если ваш самолет работает с одним из неисправных процессоров, и случается, что только правильный набор данных собирается и передается в любую из программ управления полетом и сталкивается с этой ошибкой FPU, вы будете счастливы, что два других ЦП вычислили правильное значение и исключили ошибочное значение из цикла.

Я думаю, что ваш пример вводит в заблуждение. Во-первых, я думаю, вы на самом деле говорите об ошибке Pentium FDIV . Это была ошибка проектирования, а не случайная производственная ошибка. В каждом поставленном процессоре была ошибка, пока дизайн не был исправлен. В этом случае избыточность не помогла бы: вы бы просто получили несколько копий одного и того же неправильного ответа.
Это либо ошибка Pentium FDIV, упомянутая @DavidRicherby, либо что-то вроде проблемы с двойной сигмой 80386 . Я не думаю, что у 486 когда-либо были проблемы, описанные в этом ответе.
@MichaelKjörling Это очень похоже на сочетание двойной сигмы 386 (влияющей на, казалось бы, случайную выборку произведенных единиц) и ошибки Pentium FDIV (с плавающей запятой и большого внимания общественности).
Тем не менее, было бы дешевле тщательно протестировать каждый процессор, чем дублировать их трижды.
@MichaelKjörling речь идет о тестировании конструкций на устойчивость к излучению, а не о проведении основных эксплуатационных испытаний каждого производственного образца .
@DavidRicherby, ОП может объединять ошибку Pentium FDIV с происхождением 486SX , где 486DX с неисправным FPU отключил FPU и продавались как целочисленные процессоры.