Контрольно-вычислительная система, способ управления контрольно-вычислительной системой, а также применение контрольно-вычислительной системы
Иллюстрации
Показать всеГруппа изобретений относится к вычислительной технике и может быть использована для управления процессорами с использованием резервирования. Техническим результатом является повышение помехоустойчивости. Система содержит пары процессоров с, по меньшей мере, двумя процессорами и/или ядрами процессоров, выполненными редундантными, блоки сравнения для проверки состояния синхронизации процессоров и для обнаружения ошибки синхронизации, по меньшей мере, один периферийный блок, по меньшей мере, одну переключающую матрицу, которая выполнена с возможностью разрешения или блокирования доступа к процессорам пар процессоров или доступа процессоров пар процессоров к указанному периферийному блоку, блок обработки ошибок, который выполнен с возможностью приема сигналов двух блоков сравнения и управления указанной переключающей матрицей для полного или выборочного воспрепятствования доступа процессора, или ядра, или пары процессоров к, по меньшей мере, одной памяти и/или указанным периферийным блокам, при этом пары процессоров в безошибочном режиме работы могут выполнять разные программы для предоставления функций, а при возникновении ошибки пара процессоров, не содержащая ошибку, принимает на себя, по меньшей мере, некоторые функции пары процессоров, содержащей ошибку. 3 н. и 29 з.п. ф-лы, 24 ил.
Реферат
Описание
Изобретение относится к управлению процессором с использованием резервирования и способу управления, в частности к управлению двумя процессорами с использованием резервирования, а также к многоядерной резервной контрольно-вычислительной системе.
Известно, когда два процессора могут выполнять одновременно одни и те же команды и путем сравнения выходных данных можно определить, есть ли ошибка. При этом два процессора могут работать синхронно в такт или с определенным смещением во времени (которое при сравнении можно соответствующим образом компенсировать). При этом могут возникать как постоянные ошибки, вызванные дефектом, появившимся, например, при изготовлении, так и случайные ошибки, вызванные, например, временной электромагнитной паразитной связью. При появлении синхронной ошибки, при которой выходные данные двух процессоров отличаются друг от друга, выполнение программы прерывается и в самом простом случае вычислительная система отключается.
Подготовка помехоустойчивости, после чего при появлении ошибки вычислительная система продолжает выполнять желаемую программу, образует, однако, особую задачу для процессоров с двойным резервированием. Были предприняты попытки, направленные на поддержку помехоустойчивости в системах безопасности с помощью только двух процессоров с резервированием. Патент US 5915082 В2 раскрывает архитектуру системы, в которой внутренние шины имеют биты контроля четности, которые можно сравнивать. После распознавания ошибки по четности на одной стороне соответствующий процессор отделяют, так что он в системе больше ни на что не влияет. После каждой ошибки синхронизации (lockstep error), которая появляется без ошибки по четности, систему отключают. Этот базирующийся на проверке четности принцип работы не предлагает достаточной защиты от тех случаев, когда возможность использования резервной системы очень желательна даже после появления ошибки синхронизации. Проверка четности может привести, например, к неправильному решению, если два внутренних резервных блока одновременно показывают разные ошибки в двоичном разряде.
Другие известные помехоустойчивые архитектуры системы включают в себя, по меньшей мере, три ядерных процессора с раздельно или совместно используемой памятью. При этом синхронную работу процессоров постоянно проверяют путем слежения за сигналом шины. Далее синхронная работа обозначена как синхронное выполнение процессорами программы или частей программы.
Если активный процессор дает сбой, то «собственность» переходит к другому процессору через область памяти и компоненты, которыми управляет активный процессор через каналы ввода и вывода данных. В состоянии неисправности из-за нарушения синхронизации, которая следует за блокирующей ошибкой шага, доступ к данным и процессы управления в активном процессоре прекращаются и поддерживаются другим процессором.
Классическая минимальная конфигурация, состоящая из тройного модульного резервирования процессоров и совместно используемой памяти, для помехоустойчивой системы представляет собой довольно дорогое решение для многих архитектур безопасности, у которых концепция надежности базируется на применении двух резервных, синхронно работающих процессоров. Помехоустойчивость представляет собой, однако, особую задачу для процессоров с двойным резервированием.
В патенте US 7366948 В2 и US 2006/0107106 описан способ поддержки безотказности эксплуатации системы, состоящей из нескольких пар процессоров, работающих в синхронном режиме. В каждой паре объединены резервные процессоры, выходные сигналы которых постоянно сравнивают. Если в одной паре процессоров появляется погрешность, управление системой берет на себя другая пара процессоров в качестве загрузочной пары. Между тем пара процессоров, в которой возникла ошибка, пытается вернуть синхронизацию и выступить в качестве запасной пары процессоров. Тем самым достигается безотказность работы системы. Этот способ, однако, слишком дорогой для многих встроенных систем, так как одну пару процессоров не используют в случае отсутствия ошибки, и описанный способ предлагает, таким образом, плохое соотношение цены и качества. Четыре процессора, разделенных на две пары, у которых попарно сравнивают выходные сигналы, должны всегда выполнять одну единственную задачу. Если обнаруживается ошибка синхронизации (прекращение синхронизации) или другая погрешность внутри процессора процессорной пары, рабочая система останавливает неисправную пару процессоров и активизирует другую пару.
В патенте ЕР 1380953 В1 описана помехоустойчивая компьютерная система с синхронизацией, которая содержит множество вычислительных модулей с одним процессором и памятью и способ для его повторной синхронизации. Так как каждый вычислительный модуль синхронно выполняет одни и те же команды, эта вычислительная система является малоэффективной.
В патенте ЕР 1456720 В1 описан вычислительный комплекс для критичного с точки зрения безопасности применения в автомобилях, состоящий из нескольких контрольно-вычислительных систем, каждая из которых содержит два работающих синхронно в такт управляющих вычислительных устройства с частично или полностью резервными периферийными элементами и частично или полностью резервными элементами памяти, которые встроены в чип. Работающие синхронно в такт управляющие вычислительные устройства контрольно-вычислительной системы связаны с блоком арбитрирования, который проверяет их на наличие погрешностей и подключает коммуникационный контроллер, приданный контрольно-вычислительной системе, к шине данных автомобиля или отключает его. При работе со сбоями одного управляющего вычислительного устройства соответствующую контрольно-вычислительную систему частично или полностью отключают.
Из патента DE 102009000045 А1 известно устройство для эксплуатации устройства управления, которое имеет вычислительную систему из двух пар, каждая из которых имеет два исполнительных блока и, в частности, применяется в автомобиле. Исполнительные блоки каждой пары выполняют одну и ту же программу, а выходные сигналы каждого исполнительного блока сравнивают между собой с помощью блока сравнения, и при появлении отклонения подается сигнал об ошибке. Если сигнал поступает для первой пары исполнительных блоков, то ее отключают, а вычислительная система работает дальше со второй парой исполнительных блоков, причем водитель получает предупредительный сигнал.
Указанные источники имеют недостатки, заключающиеся в том, что должно сохраняться высокое резервирование, так как и в случае исправной работы не действует, по меньшей мере, одна процессорная пара или выполняет ту же программу, что и активная пара, которая управляет периферийными устройствами. Поэтому каждый отдельный процессор должен подготовить общие необходимые вычислительные возможности, в результате чего известные вычислительные системы работают малоэффективно. Это нежелательно по причине стоимости, в частности для систем, изготовленных большими партиями.
Описанный в патенте US 7366948 В2 способ представляет собой очень дорогостоящее техническое решение для встроенных систем. К тому же имеется тот факт, что другие компоненты, кроме ядер процессоров, не всегда можно реализовать с резервированием. Обычным образом причины стоимости играют важную роль при разработке архитектур надежности для различных важных с точки зрения безопасности систем, например при применение тормоза. Программная память, например флэш-память, не является резервной, а используется всеми имеющимися процессорами. Традиционные способы не рассматривают это основное условие нерезервированных компонентов в связи с обеспечением безотказности эксплуатации архитектур безопасности, базирующихся на резервных процессорах. Другая проблема, касающаяся обеспечения безотказности работы процессоров в архитектурах безопасности, заключается в том, что ввод в действие ранее неисправного процессора может произойти только после успешно завершенной и надежной проверки.
Исходя из этого, имеется потребность в архитектуре надежности только с двумя резервными процессорами, которые дают возможность эксплуатировать систему с высокой степенью безотказности при работе. Кроме того, имеется потребность в архитектуре надежности с тремя или более трех процессорами, например с двумя процессорами, каждый - по два ядра, которые дают возможность эксплуатации с высокой степенью безотказности.
Согласно одному из аспектов задачей предложенного изобретения является создание контрольно-вычислительной системы, одновременно помехоустойчивой и эффективной.
Согласно одному из вариантов выполнения изобретения архитектура надежности, базирующаяся на парах резервных ядерных процессоров, построена так, что уже имеющиеся ступени надежности остаются и обеспечивается высокая степень безотказности при эксплуатации системы. Наряду с этим процессоры при нормальной работе (без ошибок) должны показать высокую работоспособность. После обнаружения ошибки безотказная эксплуатация системы должна поддерживаться с учетом надежной привязки нерезервных компонентов.
Исходя из этого, создана контрольно-вычислительная система по п.1. Кроме того, подготовлено двухпроцессорное устройство управления. Помимо этого подготовлен способ управления контрольно-вычислительной системой по пп.22-33. И далее описано применение контрольно-вычислительной системы по п.32.
Согласно примеру выполнения создана контрольно-вычислительная система. Контрольно-вычислительная система включает в себя, по меньшей мере, два резервных модуля; по меньшей мере, один блок сравнения для контроля состояния синхронизации, по меньшей мере, два резервных модуля для обнаружения ошибки синхронизации; по меньшей мере, один периферийный блок; по меньшей мере, одну переключающую матрицу, которая предназначена для разрешения доступа или блокировки доступа, по меньшей мере, к двум резервным модулям или доступа, по меньшей мере, двух резервных модулей к периферийному блоку. Кроме того, контрольно-вычислительная система включает в себя блок обнаружения и устранения ошибки, предназначенный для улавливания сигналов, по меньшей мере, одного блока сравнения и управления, по меньшей мере, одной переключающей матрицей в целях воспрепятствования - в целом или выборочно - доступа, по меньшей мере, к двум резервным модулям или доступа, по меньшей мере, двух резервных модулей к периферийному блоку.
В случае обнаружения ошибки доступ к неисправному модулю или доступ неисправного модуля к периферийному устройству исключается благодаря переключающей матрице, которой управляет блок обнаружения и устранения ошибки. Согласно одной форме выполнения блок обнаружения и устранения ошибки инициирует и контролирует один или несколько тестов для проверки резервных модулей на наличие ошибки и управляет переключающей матрицей при распознавании ошибки таким образом, что неисправный модуль больше не учитывают, в частности, при существенном для безопасности применении.
Согласно одной из форм выполнения, по меньшей мере, два резервных модуля, по меньшей мере, двух процессорных блоков для синхронного выполнения программы управления или другие блоки выполнены, например, в виде резервных модулей памяти.
Согласно одной форме выполнения контрольно-вычислительная система включает в себя, по меньшей мере, четыре процессорных блока, причем процессорные блоки могут быть отдельными процессорами, процессорными парами или ядрами двухъядерных или многоядерных процессоров.
Согласно одной из форм выполнения архитектура надежности, базирующаяся на паре резервных процессорных ядер, устроена так, что неисправная пара процессоров, одно отдельное неисправное ядро процессора, имеющего, по меньшей мере, два процессорных ядра, и/или неисправные компоненты исключаются из управления существующих исполнительных элементов, так как независимый модуль после обнаружения ошибки блокирует любой доступ неисправной процессорной пары к важным для безопасности периферийным блокам. Пара или пары процессоров или процессорное ядро или процессорные ядра или неисправные компоненты исключаются из нормальной работы для обеспечения работы в аварийном режиме. В аварийном режиме каждая пара процессоров или каждое исправное ядро процессора принимают на себя по необходимости некоторые задачи неисправной пары процессоров или ядра процессора и выполняют дальше множество первоначальных задач. Для каждой пары процессоров или для каждого ядра процессоров программы, относящиеся к математическому обеспечению и направленные на выполнение задачи, делятся на две группы. Одна группа программ, относящихся к математическому обеспечению, должна функционировать как в нормальном режиме, так и в аварийном, тогда как программы математического обеспечения другой группы при аварийном режиме работы отключаются. Таким образом, исправная процессорная пара или исправное ядро процессора имеют возможность принимать на себя в аварийной ситуации дополнительные задачи. Каждый компонент программного обеспечения относят на случай аварийной ситуации к определенным категориям как годный/негодный и/или способный отказать/неспособный отказать. Если пара процессоров пара или ядро процессора неисправны, то задачи, необходимые для чрезвычайной ситуации, принимает на себя исправная пара процессоров пара или исправное ядро процессора.
В предпочтительном примере выполнения изобретения стремятся возобновить нормальную работу архитектуры надежности, из-за чего неисправную пару процессоров пара или неисправное ядро процессора подвергают целому ряду проверочных тестов. Во время проведения этих тестов эта процессорная пара или ядро процессора выдает разные результаты, которые должны совпасть с результатами проведенных алгоритмов, известных ранее. При этом независимый модуль, содержащий аппаратные средства, проверяет точность результатов. После успешной проверки условий возобновления работы все процессорные пары или ядра процессоров возвращаются к нормальной работе.
Благодаря тому, что заявленная контрольно-вычислительная система может блокировать доступ неисправной процессорной пары или неисправного ядра процессора к периферии, в результате срабатывания исполнительного элемента неисправной процессорной пары или неисправного ядра процессора устраняют причиненный вред.
В случае отсутствия ошибки отдельные пары процессоров, или ядро процессора, или ядра процессоров заявленной контрольно-вычислительной системы выполняют разные программы, благодаря чему достигается высокая производительность вычислений. Если появляется ошибка, то исправная процессорная пара, или исправное ядро процессора, или ядра процессоров принимают на себя критические функции неисправной процессорной пары или ядер процессора, между тем как некоторые некритические функции больше не предоставляются. Эта чрезвычайная ситуация дает возможность высокой помехоустойчивости заявленной контрольно-вычислительной системы.
Изобретение относится также к применению заявленной контрольно-вычислительной системы в автомобиле, в частности для управления или регулирования тормозной системы.
Согласно одной или нескольким примерам выполнения контрольно-вычислительная система, например, в форме резервного двухпроцессорного устройства управления включает в себя первый процессор (или первое ядро процессора) и второй процессор (или второе ядро процессора) для синхронного выполнения программы управления, по меньшей мере, один первый умножитель для выборочного связывания, по меньшей мере, одного управляемого первого периферийного блока с одним из двух процессоров, и, по меньшей мере, один первый блок сравнения (компаратор) для контроля за состоянием синхронности обоих процессоров и для обнаружения ошибки синхронизации. Кроме того, контрольно-вычислительная система (устройство управления) включает в себя переустановочное контрольное устройство (обозначенное в некоторых примерах выполнения как SVM-модуль), предназначенное для контроля выполнения, по меньшей мере, одной тестовой программы обоими процессорами после появления ошибки синхронизации и оценки результатов тестирования, и, кроме того, для создания конфигурации, по меньшей мере, первого умножителя.
С помощью блока сравнения наблюдают за синхронной работой процессоров, т.е. за работой «шаг в ногу». Это может происходить за счет того, что выполнение программы управления сравнивают «построчно», причем должны быть получены одинаковые результаты в одно и то же время. Если этого нет, то налицо ошибка синхронизации или сдвиг, т.е. процессоры больше не работают синхронно.
Синхронное выполнение программы управления является важным признаком резервной системы, так как с ее помощью можно проверить, работает ли процессор, активный в настоящий момент, без ошибок, причем при этом допускается, что одновременное появление одной и той же ошибки в обоих процессорах является статистически очень неправдоподобным. При появлении ошибки синхронизации, тем не менее, сначала неясно, где произошла ошибка - в активном или пассивном процессоре (ядре). Под активным процессором (ядром) здесь нужно понимать процессор, который фактически управляет периферийным блоком. Пассивным процессором (ядром) является тот, который лишь синхронно выполняет совместную работу, т.е. он содержит те же данные и выполняет те же шаги программы, что и активный процессор.
Таким образом, при появлении ошибки синхронизации больше нет гарантии того, что управление будет выполнено точно, т.е. существует риск, в частности, в системах, отвечающих за безопасность, которые существуют, например, в автомобилях, а также в других системах. Обычно система управления, показанная, например, на фиг.7 и 8, должна быть полностью отключена.
В предложенном здесь решении предусмотрено переустановочное контрольное устройство (независимый модуль с аппаратными средствами), которое при появлении ошибки синхронизации тестирует оба процессора (ядра), чтобы определить, какой из двух процессоров содержит ошибку. После проведения теста и оценки результатов тестирования переустановочное контрольное устройство решает, какие дальнейшие шаги предпринять.
Поскольку тестируют оба процессора, то исходят из того, что оба процессора исправны. В этом случае синхронное выполнение программы управления продолжается.
Это решение имеет сокрушительное преимущество, заключающееся в том, что управление периферийным блоком может продолжаться при сохранении высокой степени безопасности, так как оба процессора подверглись тесту на исправность. Это представляет собой решающее преимущество в отличие от других решений, в которых после появления ошибки синхронизации происходит в принципе полное отключение, и систему можно снова восстановить только извне. При этом следует учитывать, что простое восстановление системы для безопасного применения зачастую не представляет собой удовлетворительное решение, так как не было оценки ошибок, т.е. осталось неизвестным, что именно привело к ошибке синхронизации. Описанное здесь решение предлагает путь уйти от ошибок синхронизации и восстановить синхронизацию двух резервных систем после «сдвига шага» или ошибки синхронизации.
Если, наоборот, процессор (ядро) считают неисправным, то устройство управления (контрольно-вычислительная система) меняет конфигурацию с помощью переустановочного контрольного устройства (SVM-модуля). И причем так, что выходные данные процессора, содержащего ошибку, отныне игнорируются и обеспечивается то, что теперь периферийным блоком может управлять только исправный процессор, но ни в коем случае не процессор, содержащий ошибку. Обычно это происходит за счет изменения конфигурации первого умножителя, так что поток данных все еще возможен между периферийным блоком и исправным процессором. Кроме того, изменение конфигурации приводит к тому, что блок сравнения больше не осуществляет контроль.
Это решение имеет такое решающее преимущество, что управление периферийным блоком можно продолжить, даже если это происходит без резервирования со стороны процессора. Это является значительным преимуществом в отличие от известных решений, в которых управление при появлении ошибки синхронизации полностью отключается. Предложенное решение повышает при этом степень безотказности системы при эксплуатации, что особенно важно при критических применениях, чтобы контроль и дальше поддерживался системой. Устройство управления может, тем не менее, подавать сигнал об ошибке, чтобы указать на работу теперь одного процессора, так что теперь можно провести техническое обслуживание.
Предложенное здесь резервное устройство управления со средствами для регулирования ошибки синхронизации можно применять в любых системах, отвечающих за безопасность. Примером тому является применение тормозов в автотранспортных средствах. При этом устройство управления, базирующееся только на двух резервных процессорах, выполнено так, что оно сохраняет имеющиеся ступени безопасности и дает возможность безотказной работы системы.
Под управляемым периферийным блоком можно понимать в принципе каждый блок, к которому получает доступ соответствующий процессор. Примерами являются блоки памяти, исполнительные элементы, блок ввода и вывода данных и датчики.
Согласно одному или нескольким примерам выполнения переустановочное контрольное устройство настроено так, чтобы причислить ошибку синхронизации к определенному типу ошибок и исходя из типа ошибок выбрать тестовую программу. Возникшую ошибку анализируют, чтобы выяснить, где могла произойти ошибка или каким из компонентов она была вызвана. На этом основании затем выбирают подходящую тестовую программу, причем тестовую программу, а также полученные результаты тестирования сначала записывают в память, например в переустановочное контрольное устройство. Если обнаруживается ошибка, т.е. разница в выходных данных обоих процессоров в разном адресе памяти, то можно, например, выбрать тестовую программу, с помощью которой распознать сбой памяти. Такой подход к решению совершенствует определение места неисправности.
Согласно одному или нескольким примерам выполнения переустановочное контрольное устройство (SVM-модуль) настроено на создание конфигурации первого умножителя на базе результатов тестирования. Конфигурация умножителя и вообще устройства управления задается в зависимости от результатов тестирования. Возможно, чтобы функцию умножителя взяла на себя шинная матрица.
В соответствии с одним или несколькими примерами выполнения устройство управления имеет, кроме прочего, по меньшей мере, один второй умножитель для избирательной связи, по меньшей мере, одного управляемого второго периферийного блока с одним из двух процессоров, причем для второго умножителя конфигурацию задает переустановочное контрольное устройство. Устройство управления дает возможность выборочного управления несколькими периферийными блоками с учетом аспектов безопасности.
Согласно одному или нескольким примерам выполнения устройство управления имеет, кроме того, по меньшей мере, один второй блок сравнения (компаратор) для контроля состояния синхронизации обоих процессоров и для распознавания ошибки синхронизации. Он делает возможным попеременный контроль и повышает тем самым безопасность системы.
Согласно одному или нескольким вариантам выполнения изобретения устройство управления имеет первую шинную матрицу, которая связывает первый процессор с первым умножителем, и вторую шинную матрицу, которая связывает второй процессор со вторым умножителем.
В соответствии с одним или несколькими примерами выполнения первый периферийный блок является общим блоком, которым может управлять избирательно один из двух процессоров. Кроме того, устройство управления имеет согласно одному варианту выполнения, по меньшей мере, два других периферийных блока, причем с первым процессором связан только один из двух периферийных блоков, а со вторым процессором связан только другой из двух периферийных блоков в качестве собственных периферийных блоков, к которым в каждом случае может иметь доступ только соответствующий процессор. Под общим периферийным блоком или компонентом здесь следует понимать устройство, управляемое с резервированием, т.е. управление происходит избирательно с помощью одного из двух процессоров, причем другой служит для сравнения. Собственным блоком, наоборот, управляет каждый раз только один из двух процессоров. Соответственно другой процессор не имеет доступа к этому блоку даже через умножитель или умножители. Представленное здесь решение позволяет снова наладить синхронность между двумя резервными процессорами с учетом нерезервных компонентов, которые обычно внедряются в различные встроенные системы из-за стоимости.
В соответствии с одним или несколькими примерами выполнения два других периферийных блока являются резервными блоками, т.е. в физическом смысле они идентичны и предназначены для выполнения той же функции.
Согласно одной или нескольким вариантам выполнения первый и/или второй блок сравнения настроены на формирование сигнала об ошибке в синхронизации при появлении такой ошибки. Сигналом об ошибке в синхронизации может быть, например, сигнал прерывания.
В соответствии с одним вариантом выполнения контрольно-вычислительная система создана, например, как резервное двухпроцессорное устройство управления, Контрольно-вычислительная система включает в себя: первый процессор и второй процессор для синхронного выполнения программы управления; по меньшей мере, один первый умножитель для избирательной связи общего первого периферийного блока с одним из двух процессоров; по меньшей мере, два других периферийных блока, причем один из двух периферийных блоков связан только с первым процессором, а другой из двух периферийных блоков - только со вторым процессором в качестве собственных периферийных блоков, к которым имеет доступ только соответствующий процессор; по меньшей мере, первый блок сравнения для проверки состояния синхронизации обоих процессоров и для распознавания ошибки синхронизации, если оба процессора теряют синхронность; переустановочное контрольное устройство, настроенное на проверку выполнения, по меньшей мере, одной тестовой программы с помощью обоих процессоров после появления ошибки синхронизации и оценку результатов тестирования и создание конфигурации первого умножителя на базе результатов тестирования.
В соответствии с одним вариантом выполнения контрольно-вычислительная система включает в себя, кроме прочего: первую шинную матрицу, которая связывает первый процессор с первым умножителем; вторую шинную матрицу, которая связывает второй процессор с первым умножителем.
Согласно одной форме выполнения контрольно-вычислительная система создана, например, в виде резервного двухпроцессорного устройства управления и включает в себя: первый процессор и второй процессор для синхронного выполнения программы управления; по меньшей мере, один первый и один второй периферийный блок; по меньшей мере, один первый умножитель для избирательной связи первого периферийного блока с одним из двух процессоров; по меньшей мере, один второй умножитель для избирательной связи второго периферийного блока с одним из двух процессоров; по меньшей мере, один первый и один второй блок сравнения для соответствующей проверки состояния синхронизации обоих процессоров и для распознавания ошибки синхронизации; переустановочное устройство, настроенное на проверку выполнения, по меньшей мере, одной тестовой программы с помощью обоих процессоров после появления ошибки синхронизации и на оценку результатов тестирования и на создание конфигурации первого и второго умножителя на базе результатов тестирования.
Согласно одному варианту выполнения контрольно-вычислительная система, например, в форме резервного двухпроцессорного устройства управления включает в себя: первую шинную матрицу, которая соединяет первый процессор с первым умножителем; вторую шинную матрицу, которая соединяет второй процессор со вторым умножителем.
В соответствии с одним или несколькими вариантами выполнения изобретения подготавливают способ управления. Способ управления заключается в синхронном выполнении программы управления с помощью первого и второго процессоров, которые связаны через умножитель, по меньшей мере, с одним управляемым периферийным блоком, причем только один из двух процессоров управляет периферийным блоком в определенное время. Синхронное выполнение программы управления проверяется с помощью блока сравнения. Сигнал об ошибке синхронизации подается тогда, когда оба процессора теряют синхронизацию. После выхода сигнала об ошибке синхронизации обоих процессоров выполнение программы управления прерывается. Затем проводится проверочный тест на неисправность одного из двух процессоров. Если оба процессора исправны, то они оба продолжают синхронное выполнение программы управления. Если, наоборот, установлено, что один из процессоров содержит ошибку, умножителю и блоку сравнения задают конфигурацию таким образом, что прекращается дальнейшая связь с неисправным процессором и проводится дальнейшая проверка с помощью блока сравнения и что процессор, не содержащий ошибку, управляет периферийным блоком. Выполнение программы управления продолжает исправный процессор. Если оба процессора содержат ошибку, происходит отключение управления.
Согласно одному или нескольким вариантам выполнения тест заключается в одновременном выполнении двумя процессорами, по меньшей мере, одной тестовой программы, причем один процессор рассматривают как неисправный, если выполнено, по меньшей мере, одно из следующих условий:
- процессор не выполнил тестовую программу в течение первого интервала времени Т1,
- процессор не выполнил тестовую программу успешно,
- по истечении первого интервала времени Т1 процессор не перешел в состояние покоя для второго промежутка времени Т2.
Тем самым учитывают не только правильное или неправильное выполнение, но также определяют, выполнили ли процессоры тест в течение заданного времени. Проверка состояния покоя служит для определения, выводит ли процессор, несмотря на это, данные, хотя он и не выполняет никаких инструкций. Это так же свидетельствует об ошибке в процессоре.
В соответствии с одним или несколькими примерами выполнения ошибку синхронизации оценивают и определяют ее тип, причем для проверки процессоров выбирают, по меньшей мере, одну тестовую программу в зависимости от типа ошибки. Таким образом, можно выбрать одну или при необходимости несколько специальных для этой ошибки тестовых программ.
Другие варианты выполнения, модификации и преимущества представлены в дальнейшем описании, на чертежах и в пунктах формулы изобретения. Изобретение описывается с помощью конкретных примеров выполнения, представленных на фигурах. Однако они не должны рассматриваться как ограничивающие. Из последующего описания для специалиста понятны другие модификации, которые должны быть включены в область охраны.
Фиг.1 контрольно-вычислительная система в виде устройства управления
согласно форме выполнения в нормальном режиме,
Фиг.2 контрольно-вычислительная система (устройство управления) при
наличии помех в процессоре,
Фиг.3 контрольно-вычислительная система в виде устройства управления
согласно форме выполнения,
Фиг.4 контрольно-вычислительная система в виде устройства управления
согласно форме выполнения,
Фиг.5 контрольно-вычислительная система в виде устройства управления
согласно форме выполнения,
Фиг.6 выполнение программы управления согласно форме выполнения,
Фиг.7 архитектура с двумя процессорами,
Фиг.8 архитектура с разделением периферийных модулей на две группы А и В,
Фиг.9 контрольно-вычислительная система,
Фиг.10 контрольно вычислительная система согласно форме выполнения,
Фиг.11 план выполнения способа обнаружения и устранения ошибки согласно форме выполнения,
Фиг.12 другая контрольно-вычислительная система,
Фиг.13 контрольно-вычислительная система согласно форме выполнения,
Фиг.14 заявленная контрольно-вычислительная система в архитектуре фиг.13 с отключенным ядром процессора 2В после успешной переустановки.
Фиг.15 заявленная контрольно-вычислительная система в архитектуре фиг.13 с отключенными ядрами процессоров 1А и 2В после успешной переустановки.
Фиг.16 заявленная контрольно-вычислительная система в архитектуре фиг.13 с отключенными ядрами процессора 1В и 2В после успешной переустановки.
Фиг.17 контрольно-вычислительная система согласно форме выполнения.
Фиг.18 план выполнения способа для обнаружения и устранения ошибки согласно форме выполнения,
Фиг.19 план выполнения способа обнаружения и устранения ошибки согласно форме выполнения,
Фиг.20 архитектура фиг.17 с отключенными ядрами процессора 2В после переустановки,
Фиг.21 архитектура фиг.17 с отключенными ядрами 1В и 2В после переустановки,
Фиг.22 архитектура фиг.17 с отключенными ядрами процессора 1А, 2А и 1В после переустановки,
Фиг.23 архитектура фиг.17 с отключенными ядрами процессора 1А и 2В после переустановки,
Фиг.24 архитектура фиг.17 с отключенной памятью для данных 21 после переустановки.
На фиг.1 схематично изображена контрольно-вычислительная система или устройство управления с первым и вторым процессорами 1, 2 и первым и вторым умножителями 91, 92. Каждый умножитель 91, 92 образует блок со своим устройством сравнения, обозначенным на фигурах как компаратор. Каждый умножитель 91, 92 связан со своим периферийным блоком 95, 96 и дает возможность избирательного доступа процессоров 1, 2 к периферийным блокам 95, 96. Переустановочное контрольное устройство 44 связано как с обоими процессорами 1, 2, так и с умножителями 95, 96.
Что касается процессоров 1, 2, то речь может идти также и о ядрах процессоров.
На фиг.1 жирной стрелкой обозначен реальный поток данных от процессоров 1, 2 к периферийным блокам 95, 96, переданных умножителями 91, 92. Процессор 1 связан с периферийным блоком 95 и управляет им, а процессор 2 связан с периферийным устройством 96 и управляет им. Процессор 1, умножитель/компаратор 91 и периферийный блок 95 образуют здесь ветвь А, тогда как процессор 2, умножитель/компаратор 92 и периферийный блок 96 образуют ветвь В. Разумеется, имеются перекрещивающиеся пути связи, а именно, во-первых, между процессором 2 и умножителем/компаратором 91, а во-вторых, между процессором А и умножителем/компаратором 92.
Каждый компаратор 91, 92 сравнивает, работают ли процессоры синхронно между собой, т.е. выдают ли они одновременно одинаковые результаты. Если нет, то налицо ошибка синхронизации. В этом случае процессоры тестируют и в зависимости от этого задают другую конфигурацию устройству управления. Это схематично представлено на фиг.2.
На фиг.2 предполагается, что тест, с помощью которого переустановочное контрольное устройство 44 проводит проверку и оценку, определяет, что процессор 1 содержит ошибку. В этом случае обоим умножителям 91, 92 задают другую конфигурацию и именно такую, что оба умножителя 91, 91 игнорируют выходные данные процессора 1. Одновременно умножитель 91 создает теперь связь между процессором 2 и периферийным блоком 95. Теперь процессор 2 управляет периферийными блоками как в ветви А, так и в ветви В. Для этого процессор 2 необязательно нужно перепрограммировать, так как в любом случае процессор 2 с целью сравнения уже выполнил программу управления для периферийного блока 95 (ветвь А) в нормальном состоянии. Отличие только в том, что он теперь может обратиться к периферийному блоку 95 также «письменно». Кроме того, деактивизируется функция сравнения компараторов, так как они теперь больше не получают никаких входных данных от процессора 1. Это требуется для того, чтобы компаратор