Программно-аппаратные платформы и вычислительные наноструктуры

Методы и средства обеспечения живучести и восстановления работоспособности МКМД-бит-потоковых субпроцессоров

Разбить на страницы
Показывать лекцию целиком

7.1. Методы и средства повышения отказоустойчивости МКМД-бит-потоковых субпроцессоров

Наиболее жесткие требования к качеству решения задач обеспечения живучести и восстановления работоспособности предъявляются к (Б)ВС, обеспечивающих управление в реальном времени аэрокосмическими летательными аппаратами (ЛА). Несмотря на кажущееся сходство этих задач, между ними имеется достаточно важное системное отличие.

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

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

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

В современных опто- и микроэлектронных ОКМД-технологиях [147, 237, 281] живучесть (сверх)параллельных (суб)процессоров поддерживается в реальном времени за счет встроенных в каждый вычислитель средств диагностики и средств подстановки на место отказавших исправных вычислителей из существенно меньшего (по отношению ко всему коллективу активных вычислителей) "горячего" резерва. Все эти средства реагируют, как правило, не на функциональный, а на аппаратный отказ, повышающий вероятность ложной тревоги, а значит, и необоснованный расход "горячего" аппаратного резерва.

В МКМД-бит-потоковой технологии живучесть (суб)процессоров поддерживается за счет создания на той же бит-матрице алгоритмически ориентированных устройств диагностики и толерантного (пере)размеще-ния "рабочего тела" (микро)программы на всей бит-матрице, включая и "горячий" резерв [298, 299].

Это исключает свойственные опто- и микроэлектронным ОКМД-технологиям аппаратно-временные издержки на встроенные и распределенные по всему коллективу вычислителей средства диагностики, коммутации и управления "перемещением" (с ограниченным радиусом) резервных ( rb ) вычислителей (рис. 7.1) на место отказавших, но требует дополнительных аппаратно-временных затрат на перекомпоновку топологии всей (микро)программы МКМД-бит-потокового (суб)процессора, включая и алгоритмически ориентированные модули диагностики.

(рис 7.1) Распределенная система подстановки резервных (rb) ОКМД-вычислителей

В соответствии с решаемыми задачами система обеспечения живучести МКМД-бит-потоковых (суб)процессоров включает три работающие в режиме разделения времени подсистемы (рис. 7.2):

(рис 7.2) Система обеспечения живучести МКМД-бит-потоковых субпроцессоров
  • обнаружения недопустимых с точки зрения пользователя функциональных отклонений в каждом активном поток-операторе;
  • локализации отказов в бит-матрице и идентификации их типов;
  • парирования карт отказов за счет толерантной перекомпоновки всего "рабочего тела" (микро)программы на бит-матрице, имеющей $$I_{rb}$$ строк и $$J_{rb}$$ столбцов централизованного и, вообще говоря, произвольно "перемещаемого" по рабочей области бит-матрицы $$(I_{0}, J_{0})$$ "горячего" резерва (рис. 7.3), из которых только первая подсистема работает в режиме реального времени и параллельно с активными поток-операторами пользователя, а две последние способны поддержать только квазиреальный масштаб времени, возможно, и с потерей полноты локализации и идентификации карт отказов, а также коэффициента использования "горячего" резерва.
  • Полнота обнаружения, локализации и идентификации карт отказов и минимальный уровень аппаратно-временных затрат на толерантную перекомпоновку топологии "рабочего тела" каждой (микро)программы пользователя в основном определяются следующими особенностями построения и работы системы обеспечения живучести.

    (рис 7.3) Централизованная система компоновки резервных МКМД-вычислителей
  • Подсистема обнаружения отказов:
  • представляет собой объединение алгоритмически ориентированных (микро)программных модулей диагностики, неразрывно инициализируемых с соответствующим поток-оператором пользователя;
  • использует методы и средства информационной и аппаратной избыточности, которые реагируют только на те отказы аппаратуры, которые приводят к значимым с точки зрения пользователя функциональным изменениям в активном поток-операторе;
  • имеет варьируемый латентный период, зависящий от общего времени задержки в каждой потоковой слов-инструкции, критического пути в граф-потоке оператора пользователя и времени доставки по FIFO-регистровым каналам обмена (1-2)-битной диагностической реакции от места обнаружения отказа до периферии бит-матрицы;
  • снижает вероятность "ложной тревоги" за счет индифферентного отношения к картам отказов в недоиспользованном аппаратном ресурсе каждого бит-процессора (см. табл. 4.2), "топология" которых представляет собой теоретико-множественное дополнение до активизированного им "рабочего тела" каждого поток-оператора.
  • Подсистема локализации и идентификации отказов:
  • функционирует с точностью до координат отказавшего бит-процессора и списка (не)реализуемых в нем управляющих, коммутационных и арифметико-логических функций;
  • использует бит-матрицу не столько в МКМД-, сколько в ОКМД-подобном режиме векторно-конвейерного распараллеливания тестовых микропрограмм, формируемых алгоритмическим путем из одно-, двух- или трех бит-процессорных термов ограниченного количества типов;
  • работает в режиме независимого и разделенного во времени формирования множественного отклика на каждую тестовую комбинацию или группу комбинаций тестовых данных от всех термов, принадлежащих одному диагностическому каналу;
  • первой парирует сформированную карту, в том числе и локально катастрофических отказов, за счет обхода обнаруженных неисправностей, обеспечивая тем самым максимально возможную полноту диагностики в каждом цикле своей работы ( Tlr -адаптивность тестовых микропрограмм к действующей карте отказов).
  • Подсистема парирования множественных карт отказов:
  • использует простейшие и потому достаточно быстрые глобальные аффинные преобразования всего "рабочего тела" микропрограммы типа: сдвиги, вращения повороты на целочисленной решетке, приводящие к согласованию затребованного и имеющегося аппаратурного ресурса с учетом действующей карты отказов;
  • может выполнять сложные и потому относительно медленные локальные аффинные преобразования типа: растяжения, срезы, кручения, приводящие к структурным и, вообще говоря, обратимым "деформациям" "рабочего тела" микропрограммы за счет включения в их состав коммутационных термов, обеспечивающих его толерантную перекомпоновку;
  • решает и реализует в квазиреальном масштабе времени целочисленную задачу оптимального разбиения "рабочего тела" микропрограммы на независимо деформируемые и/или перемещаемые модули.
  • При этом не исключается использование классических методов и средств введения информационной и/или аппаратной избыточности на всех стадиях обнаружения, локализации и парирования отказов. В частности, допустимо на уровне субпроцессоров использовать фон-неймановскую схему мажоритарного резервирования, которая работает по принципу "два из трех", "три из пяти" и т. д. и которая эффективно парирует в темпе реального времени одиночные отказы аппаратуры, характерные для условий эксплуатации (Б)ВС в "нормальных" условиях.

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

    В рамках этой стратегии основной вклад в повышение эффективности работы программно-аппаратных средств локализации и идентификации множественных отказов вносит ОКМД-подобный режим работы тестовых микропрограмм, который позволяет обойти свойственное МКМД-режиму "проклятие размерности" задачи тестирования бит-матриц большой размерности (свыше 10^{3} бит-процессоров).

    Действительно, мощность пространства состояний МКМД-бит-процессорной матрицы $$Q(МКМД) = 2^{Rp*I*J}$$ при сверхбольшом ( $$I*J > 10^{3}$$ ) коллективе вычислителей оценивается фантастическими даже для астрономии числами, превращающими процесс локализации и идентификации в "теравековой", даже если одно из этих состояний тестируется за 10-16 сек (0,1 фемтосекунды, что сравнимо с временем установления устойчивых состояний электронов при возбуждении атомов).

    Мощность пространства состояний такой же бит-матрицы, но тестируемой в ОКМД-подобном режиме, определяется разрядностью $$R_{p}$$ регистров инструкций составляющих бит-процессоров: $$Q(ОКМД) = 2^{Rp}$$, что для СБИС Н1841 ВФ1 ( $$R_{p} = 16$$ ) требует более 64000 тестовых микропрограмм.

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

    Однако даже такое кардинальное снижение размерности задач локализации и идентификации отказов не позволяет решать их в (квази) реальном масштабе времени из-за большого времени распространения тест-данных и индивидуальных откликов от периферии к центру бит-матрицы и наоборот.

    Поэтому необходимо ввести достоверные ограничения, разбивающие пространство перебора на две части: тестируемые прямыми методами и косвенными. Это требует учета структурно-функциональных, схемотехнических и топологических особенностей построения конкретных бит-матричных СБИС и призвано снизить более чем на 3-4 порядка размерность задачи прямой диагностики. В таких случаях все пространство состояний объекта диагностики разбивается на два подпространства, одно из которых составляет ядро диагностики и контролируется прямыми методами анализа реальных физических реакций на тестовые данные. Выводы о работоспособности объекта диагностики в состояниях, принадлежащих второму подпространству, делаются косвенным путем на основе определенных правил вывода, достоверность которых поддерживается реализуемыми на практике допущениями ( гипотезами ).

    Из структурно-функциональной схемы бит-процессора (см. рис. 3.2) видно, что такая достоверная (реализуемая в процессе производства СБИС и аппаратуры) упрощающая гипотеза требуется прежде всего для снижения размерности пространства системы внутренней коммутации каждого бит-процессора. Мощность этого пространства задается размером полей А1-А6 регистра бит-инструкций, и для СБИС Н1841 ВФ1 она равна 212.

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

    7.2. Системотехнические факторы, определяющие динамику парирования идентифицированных карт отказов

    Достижимый темп реального времени в работе системы обеспечения живучести МКМД-бит-потоковых субпроцессоров зависит от двух факторов:

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

    Принятая для МКМД-бит-потоковых субпроцессоров стратегия работы подсистемы парирования действующей карты отказов нацелена на то, чтобы задачи трансформации "рабочего тела" микропрограммы пользователя решались в процессе ее загрузки в бит-матрицу.

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

    На выбор типа преобразований, обеспечивающих в (квази)реальном масштабе времени парирование действующей в бит-матрице карты отказов, решающее влияние оказывают 2 фактора:

    МКМД-бит-потоковая технология, как и любая синхронная конвейерная или систолическая технология, критична к нарушениям даже на 1 такт требуемых фазовых соотношений между потоками данных, поступающими на входы каждого бит-процессора из сверх- или гипербольшого коллектива, что видно из соотношений "1.1"-"5.1" раздела 4.1.

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

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

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

    Описанным условиям и динамическим требованиям в достаточной мере удовлетворяют локальные и глобальные аффинные преобразования " рабочего тела" тестовых или пользовательских микропрограмм (рис. 7.4-7.6). В этом случае:

  • исходным объектом преобразований служит топологическая схема микропрограммы, полученная дорогостоящим эмпирическим путем;
  • полностью сохраняются фазовые соотношения между пространственно-временными потоками данных внутри преобразуемых микропрограммных модулей;
  • для восстановления информационных связей и фазовых соотношений по потокам данных между перемещаемыми и неподвижными микропрограммными модулями (рис. 7.7-7.9) используются бит-процессоры, способные выполнить требуемые коммутационные функции.
  • Аффинные преобразования в геометрии сохраняют линейные соотношения между объектами преобразований, а при их использовании в системе парирования отказов в МКМД-бит-процессорных матрицах, кроме преобразования координат размещения бит-операций на матрице, в ряде случаев требуют еще и преобразования содержимого адресной части перемещаемых по бит-матрице микропрограммных модулей (см. раздел 6.3 [298, 299]).

    (рис 7.4) Топология микропрограммы DCC с вращением вокруг оси Х 180 (рис 7.5) Топология микропрограммы DCC, повернутая на 90 вокруг центральной оси симметрии(рис 7.6) Топология микропрограммы DCC с вращением вокруг каждой оси X и Y на 180(рис 7.7) Отказ всех каналов АЛУ в 4-м столбце бит-матрицы парируется растяжением топологии микропрограммы(рис 7.8) Отказ 2-х каналов АЛУ в 3-м столбце, 1-го канала АЛУ и полный отказ бит-процессора в 4-м столбце парируются кручением топологии микропрограммы

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

    При выборе системы локальных аффинных преобразований необходимо решить две взаимосвязанные задачи:

  • разбиения "рабочего тела" микропрограммы как минимум на 2 модуля, один из которых неподвижен, а другой - перемещаем;(рис 7.9) Полный отказ пяти бит-процессоров 1-й строке, 4 отказа АЛУ с разными последствиями для WTR в 3-м столбце парируются одним срезом топологии микропрограммы
  • выбора для такого разбиения системы локальных, толерантных, аффинных преобразований.
  • Конфигурация локально преобразуемых микропрограммных модулей обычно считается прямоугольной, а линейные размеры каждого из них можно получить, взяв за основу либо топологию действующей карты отказов, либо топологию исходного поток-оператора пользователя.

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

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

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

    Наибольший сдвиг по "горячему" аппаратному резерву вызывают кручения локальных микропрограммных модулей (см. рис. 7.8), в которых площадь согласующих коммутационных блоков зависит от количества ( $$d_{1}$$ ) строк в преобразуемом модуле и от количества ( $$d_{2}$$ ) его информационных связей с предшествующим по топологии функциональным модулем:

    $$d_{1}*d_{2}/2 \le A \le d_{1}*d _{2}.$$

    Но именно этот вид аффинных преобразований дает (при прочих равных условиях) максимальное количество вариантов (пере)размещения "рабочего тела" микропрограммы: $$M = 2^{b}$$, где $$b$$ - количество независимо вращаемых на 180о вдоль оси Х микропрограммных модулей, связанных единым потоком обрабатываемых данных.

    Таким образом, на основе приведенных данных можно заключить:

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

    Для выделения подпространства коммутации, диагностируемого прямым путем, введем упрощающую гипотезу, которая имеет следующий вид: если в процессе прямой диагностики бит-матрицы каждый бит адресной части (А1-А6) всех бит-инструкций побывал и в "нулевом", и в "единичном" состоянии, то результаты прямого контроля полученных таким путем коммутационных функций бит-процессора с высокой степенью достоверности можно распространить на остальные, косвенно контролируемые комбинации соединения входов-выходов.

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

    Для этого достаточно закодировать термы рис. 7.10 следующим образом:

    КОП ПЗ А1 А2 А3 А4 А5 А6
    а) 011 1 10 00 00 00 10 00 контроль горизонтальных связей бит-матрицы
    б) 011 1 01 11 11 11 01 11 контроль вертикальных связей бит-матрицы
    (рис 7.10) Топология микропрограммы одного канала возвратного линейного тест-контроля горизонтальных связей бит-матрицы

    При этом удается совместить диагностику внутренней системы коммутации бит-процессоров с контролем горизонтальных и вертикальных связей бит-матрицы:

  • по варианту a пары адресов (А1, А4) кодируют канал передачи бит-данных "справа-налево", (А2, А5) - "слева-направо", а (А3, А6) - "слева-налево";
  • по варианту b все аналогично, только с поворотом на 90о против часовой стрелки, то есть пары адресов (А1, А4) кодируют канал передачи бит-данных "сверху-вниз", (А2, А5) - "снизу-вверх", а (А3, А6) - "снизу-вниз".
  • В этой схеме тестовый сигнал длиною в $$3I+1$$ бит вида $$000..001$$ распространяется "слева-направо", а отклик каждого бит-процессора - в противоположном направлении, то есть "справа-налево". Если внутренняя система коммутации и внешние горизонтальные (вертикальные) гальванические связи бит-процессоров одного тестового канала исправны, то на выходе первого бит-процессора начиная с первого такта появляется "меандр" вида $$0101..01$$. Здесь первый бит тест-данных и откликов расположен справа.

    Продолжительность тестирования горизонтальных и вертикальных связей бит-матрицы зависит от разрядности гальванических шин, обеспечивающих доступ к периферийным бит-процессорам матрицы. Минимальное время тестирования достигается в бит-матрице с полнодоступной периферией, для которой диагностика горизонтальных и вертикальных связей занимает $$\sim 1,5(I+J) $$ тактов, а количество каналов тестирования равно периметру бит-матрицы и составляет $$2(I+J)$$.

    Максимальное время тестирования достигается в бит-матрице, имеющей по одному тестовому входу и выходу слева и снизу, что позволяет создать единственный $$U$$ -образный горизонтальный и вертикальный канал распространения тест-данных и откликов (рис. 7.11).

    (рис 7.11) Топология микропрограммы U-образного возвратного тест-контроля горизонтальных связей бит-матрицы

    В этом случае контроль вертикальных и горизонтальных связей бит-матрицы обходится в $$2(I*J)$$ тактов, то есть в самом худшем случае этот этап эксплуатационной диагностики бит-матрицы $$I*J = 10^{3}$$ бит-процессоров на основе СБИС Н1841 ВФ1 с длительностью такта $${\tau}_{с} = 200$$ нсек составит всего лишь 400 мкс.

    Таким образом, в результате принятия всего двух упрощающих гипотез, одна из которых позволяет распространить результаты контроля, полученные в ОКМД-режиме тестирования, на МКМД-режим использования бит-матрицы, нисходящая (последовательно сужающая) по функциям и координатам стратегия диагностики принимает вид:

    Шаг 1. Контроль доступности каждого бит-процессора по FIFO -регистровым каналам загрузки бит-инструкций (контроль $$r_{p}$$ -разрядной FIFO -регистровой P -шины).

    Шаг 2. Контроль начального состояния и динамики переключения D -триггеров операционных каналов и каналов транзита во всей бит-матрице.

    Шаг 3. Контроль доступности каждого бит-процессора по ортогональным FIFO -регистровым каналам приема-передачи данных (контроль коммутации двумерной FIFO -регистровой D -шины).

    Шаг 4. Функциональный контроль исполнения бит-инструкций: NOP, AND, NAND, XOR, ADD, ST1 и CG.

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

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

    Простейший способ формирования тест-данных состоит в их независимом распространении по каналам транзита ( T -рекурсивный тест) двух соседних строк бит-процессоров с возвращением отклика по каналам транзита третьей строки (рис. 7.12). Такую топологическую структуру одного тестового канала в дальнейшем будем называть T -рекурсивным возвратным тестом.

    (рис 7.12) Топологическая схема Т-рекурсивной микропрограммы функционального контроля верхней строки тестового канала

    Однако такой тестовый канал занимает три строки бит-матрицы, из которых только одна контролируется (заштрихована на рисунке), что увеличивает время локализации и идентификации отказов и снижает коэффициент распараллеливания тестовых микропрограмм ОКМД-типа. Более того, для контроля двух других строк бит-процессоров, принадлежащих одному тестовому каналу, необходимо изменить топологию микропрограммы (рис. 7.13 и 7.14), что усложняет процедуру генерации тестовых микропрограмм и принятия решений при обходе обнаруженных отказов.

    (рис 7.13) Топологическая схема Т-рекурсивной микропрограммы функционального контроля средней строки тестового канала(рис 7.14) Топологическая схема Т-рекурсивной микропрограммы функционального контроля нижней строки тестового канала.

    В FT -рекурсивном функциональном тесте (рис. 7.15) один тестовый операнд распространяется по каналам транзита бит-процессоров соседней строки, а второй тестовый операнд представляет собой отклик предшествующего бит-процессора на тестовое воздействие.

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

    (рис 7.15) Топологическая схема FT-рекурсивной микропрограммы функционального контроля верхней строки тестового канала(рис 7.16) Топологическая схема 2F-рекурсивной микропрограммы функционального контроля двух строк тестового канала

    Из приведенных данных видно, что процедура генерации тестовых микропрограмм очень проста и сводится к воспроизводству ограниченного количества типов термов согласно заранее заданным параметрам $$(I, J)$$ диагностируемой бит-матрицы.

    Основной недостаток рекурсивных в пространстве и во времени алгоритмов локализации и идентификации отказов состоит в том, что неисправность:

  • в каждом предыдущем бит-процессоре нарушает логику перебора комбинаций входных тест-данных в последующих бит-процессорах тестируемого канала;
  • в каждом последующем бит-процессоре "блокирует" доставку откликов от всех предыдущих бит-процессоров.
  • В 2F - и FT -рекурсивных тестах к этим недостаткам добавляется еще и существенное снижение вероятности локализации и идентификации отказов за счет появления в одном тестовом канале "взаимно компенсирующих неисправностей".

    В Т -рекурсивных тестах основной вклад в увеличение неопределенности задач локализации и идентификации отказов вносят неисправные эквидистантные D -триггеры двумерной FIFO -регистровой D -шины бит-матрицы, действующая конфигурация и правильность работы которой достаточно полно определяются на шагах 2 и 3.

    В ассоциативных МКМД-бит-потоковых вычислителях особое место занимают отказы установки начального состояния D -триггеров каналов АЛУ и транзита, которые могут быть "захвачены" и сохранены микро- и макро-"вихрями" в потоках данных.

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

  • инверсия PD-ассоциативного управления бит-инструкциями ADD и ST1 (см. (5.30) и (5.31) курса "Задачи и модели вычислительных наноструктур");
  • ненулевое начальное состояние FIFO -регистров-аккумуляторов накапливающих сумматоров;
  • изменение содержимого управляющих, DD -ассоциативных, циклических констант, задающих разрядность $$n$$ слов-операндов и их количество $$N$$ в циклически обрабатываемых потоках данных.
  • В первом случае последствия отказа обусловлены микро-"вихрем", который образуется в цепи обратной связи АЛУ бит-процессора (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур") при его настройке на бит-операции ADD и ST1.

    В двух других случаях такие последствия отказа начальной установки обусловлены макро-"вихрями", которые образуются в цепях обратной связи топологической структуры поток-оператора пользователя (см. аккумулятор сумматора-накопителя рис. 4.8).

    Для бит-инструкции ADD такой тип отказа парируется автоматически за два такта "холостого хода" линейного конвейера при условии, что в это время на входах АЛУ действует комбинация $$x_{2} = x_{1} = 0$$ (см. табл. 5.7 курса "Задачи и модели вычислительных наноструктур"). Она обеспечивает (на следующем такте) переход "единицы переноса" на выход сумматора и обнуление D -триггера обратной связи. Для бит-инструкции ST1 в этом случае уже требуется упреждающая начало функциональной обработки комбинация $$x_{2} = 1; x_{1} = 0$$ (см. табл. 5.8курса "Задачи и модели вычислительных наноструктур"), которая за один такт корректирует состояние D -триггера обратной связи.

    В случае сумматора-накопителя отказ начальной установки его FIFO -регистрового аккумулятора, вообще говоря, парируется обнулением всех входящих в него D -триггеров (см. рис. 5.12 курса "Задачи и модели вычислительных наноструктур" и 4.8 ), которое необходимо выполнить до начала суммирования.

    Из изложенного видно:

  • в бит-матрицах на основе СБИС Н1841 ВФ1 после каждого включения питания необходим запуск (рис 7.17) Топологическая схема микропрограммы корректирующей диагностики начальных состояний D-триггеров бит-матрицы
  • кроме коррекции начального состояния D -триггеров каналов АЛУ и транзита, тест рис. 7.17 позволяет проверить еще и работоспособность горизонтальных (вертикальных) каналов бит-матрицы, определив при этом координаты D -триггеров с отказами типа "тождественный ноль", "тождественная единица" или "инверсия выхода", требующими полного их исключения из процесса тестирования и последующей обработки потоков данных. Таким образом, данная стратегия диагностики:
  • исходит из ранга теста, который определяется по степени катастрофичности последствий обнаруживаемых им отказов;
  • ориентирована на максимальное использование знаний предшествующей карты отказов для создания Tlr -адаптивной вторичной топологии всех последующих тестов, что снижает количество циклов и продолжительность контроля всей бит-матрицы;
  • допускает построение тестов согласно затребованному активным или активизируемым поток-оператором операционному ресурсу ( Tlf -адаптивность).
  • В последнем случае топология тестов строится исходя из пространственного распределения по бит-матрице составляющих поток-оператор бит-инструкций.

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

  • NAND и только в бит-процессорах с координатами: (1, 1), (1, 2) и (1, 5);
  • AND и только с координатами: (1, 3), (2, 2), (2, 5) и (3, 2);
  • ST1 и только с координатой (2, 1);
  • XOR и только с координатой (2, 3);
  • ADD и только с координатой (1, 4),
  • из которых только AND требует трех фаз тестирования, связанных с перемещением тестового канала по строкам бит-матрицы, а остальные - по одной фазе, причем (не)работоспособность остальных бит-процессоров подтверждается либо на шаге 2 (координаты (3, 1), (3, 3) и (3, 4)), либо на шаге 3 (координата (2, 4)).

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

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

    Такое положение вещей является объективной платой за совмещение во времени и пространстве процессов передачи и обработки данных, которое в МКМД-бит-процессорных технологиях обеспечивает однократный ввод входных операндов в систему и многократную их обработку с предельно допустимой скоростью по всей "ширине" и "глубине" макроконвейера, образованного активизированными слов-инструкциями.

    Вторичная топологическая структура тестовых микропрограмм (линейная или U -образная) вносит решающий вклад в полноту и/или продолжительность диагностики. Она в основном зависит от конструктивных особенностей организации ввода-вывода в бит-матрицу тестовых микропрограмм и данных по гальваническим P - и D -шинам. Для промышленной диагностики характерна полная гальваническая доступность всех периферийных процессоров по данным (рис. 7.18-а), что позволяет использовать только тесты с линейной вторичной топологической структурой, которые обеспечивают и минимальное время тестирования, и максимальную полноту диагностики, и максимальную Tlr -адаптивность тестовых микропрограмм к действующей в бит-матрице карте отказов.

    (рис 7.18) Конструкции гальванических (I_g, J_g) D-шин

    Для эксплуатационной диагностики (бортовой и наземной, первая из которых проводится в квазиреальном масштабе времени, а вторая - в достаточно оперативном режиме предполетной подготовки) характерны конструктивные ограничения на гальванические тестовые шины ввода-вывода данных (рис. 7.18-(б-г)). Это вынуждает использовать U -образные тесты, продолжительность которых обычно в 2 и более раз больше чем линейных. "Развороты" потоков тест-данных и откликов в U -образных тестах либо снижают полноту контроля, либо требуют дополнительных фаз загрузки тестовых микропрограмм с достаточно специфической топологией для контроля периферийной подматрицы, доступной только по FIFO -регистровым каналам.

    Конструкция FIFO -регистровой Р -шины вносит решающий вклад в минимизацию времени программирования бит-матрицы, а значит, и общего времени ее диагностики, так как каждый ее цикл содержит те же этапы, что и обработка данных, и в идеале должен удовлетворять системообразующему неравенству (6.1) курса "Задачи и модели вычислительных наноструктур".

    Теоретически время программирования $$T_{p}$$ можно свести к одному такту, для чего требуется гальваническая Р -шина размером $$R_{p}*I*J$$, что в современном микроэлектронном исполнении технически нереализуемо для сверх- и гипербольших коллективов вычислителей: $$I*J > 10^{3 }$$ или $$I*J > 10^{6}$$ соответственно. В силу этих причин конструкцию FIFO -регистровой Р -шины обычно делают последовательной либо по строкам, либо по столбцам, а сам регистр бит-инструкции: последовательной записи и параллельного чтения. В результате время программирования бит-матрицы становится равным либо $$T_{p} = R_{p}*I*{\tau}$$, либо $$T_{p} = R_{p}*J*{\tau}$$, где $${\tau}$$ - продолжительность 1-го такта работы бит-матрицы.

    7.4. Особенности синтеза тест-данных и анализа откликов бит-процессоров

    На время получения индивидуальных откликов от всех бит-процессоров тестируемого канала (в данном случае это $$T_{d}$$ из (6.1) курса "Задачи и модели вычислительных наноструктур" основное влияние оказывают два фактора: режим работы бит-процессора и допустимое время "сеанса связи" с ним, которое определяется вторичной топологической структурой тестовой микропрограммы.

    Из таблиц 5.7, 5.8 курса "Задачи и модели вычислительных наноструктур" и 3.1, видно, что бит-процессор может работать в трех режимах: комбинационного ( AND, NAND, XOR ), конечного ( ADD, ST1, CG ) и коммутационного ( WTR ) автомата с FIFO -регистровым типом распространения данных в процессе передачи, обработки или циклического "хранения" ( CG ).

    В режиме конечного автомата "глубина" PD - ассоциативной обратной связи (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур") равна одному такту. Поэтому минимальная

    последовательность тест-данных, в которой формируется декартово произведение второго порядка $$S*S (S\in\{0, 1, 2, 3\})$$, отвечающее полной матрице переходов такого автомата, имеет вид: 0,0,1,1,2,2,3,3,0,2,1,3,2,0,3,1,0.

    Здесь $$S$$ - десятичное представление наборов значений двоичных входных переменных бит-процессора: $$(S = 1):=(x_{2} = x_{1} = 0)$$, $$(S = 2):=(x_{2} = 0; x_{1} = 1)$$, $$(S = 2):=(x_{2} = 1, x_{1} = 0)$$, $$(S = 3):=(x_{2} = x_{1} = 1)$$.

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

    При работе в режиме коммутационного автомата используются только D -триггеры канала АЛУ и транзита, полная матрица переходов которых задана на алфавите $$S\in\{0,1\}$$ и формируется последовательностью 0,0,1,1,0.

    В Т -рекурсивных тестах слияние по "ИЛИ" откликов от всех бит-процессоров одного тестового канала и продолжительность "сеансов связи" с каждым из них, которая ограничена 4 тактами (см. рис. 7.12- 7.14), приводят к следующим разбиениям на циклы и модификациям этих последовательностей тест-данных:

  • для бит-операций AND, XOR, ADD: $$0(0,1,1,0)0,…,0$$ ; $$0(2,2,3,0)0,…,0$$ ; $$0(3,3,2,0)0,…,0$$ ; $$0(2,1,3,0)0,…,0$$ ; $$0(3,1,2,0)0,…,0$$, где выход канала АЛУ протестированного бит-процессора устанавливается в "ноль" комбинацией тест-данных $$(S = 0):=(x_{2} = x_{1} = 0)$$ ;
  • для бит-операции ST1: $$0(0,1,1,2)0,…,0$$ ; $$0(2,2,3,2)0,…,0$$ ; $$0(3,3,1,2)0,… ,0$$ ; $$0(1,3,0,2)0,…,0$$ ; $$0(2,1,0,2)0,…,0$$, где выход канала АЛУ протестированного бит-процессора устанавливается в "ноль" комбинацией тест-данных $$(S = 2):=(x_{2} = 1, x_{1} = 0)$$ ;
  • для бит-операции NAND: $$0(1,1,2,3)3,…,3$$ ; $$0(2,2,1,3)3,…,3$$ ; $$0(3,1,0,3)3,…, 3$$ ; $$0(3,2,0,3)3,…,3$$ ; $$0(3,0,0,3)3,…,3$$, где выход канала АЛУ протестированного бит-процессора устанавливается в "ноль" тестовой комбинацией $$(S = 3):=(x_{2} = x_{1} = 1)$$ ;
  • для бит-операции WTR (см. рис. 3.3 и 7.10): $$0(0,1,0)0,…,0$$ ; $$0(1,1,0)0,…,0$$, где "сеанс связи" с тестируемым бит-процессором ограничен 3 тактами;
  • для бит-операций NOP, CG и шагов 1 и 2 в части динамики работы D -триггеров: $$0(0,1,1,0)0,…,0$$ ;
  • при контроле начального состояния D -триггеров FIFO -регистровой D -шины: $$0,0,…,0$$, так как все бит-процессоры находятся в режиме "прослушивания" этих состояний.
  • Здесь:

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

  • NAND связана с необходимостью DD -ассоциативной "блокады" паразитных "единичных" откликов от нетестируемых в данный момент времени бит-процессоров одного канала, что реализуется бит-процессорам 2-й строки этого канала;
  • CG связана с тем, что "отклик" каждого бит-процессора тестируемого канала заносится в их регистры бит-инструкций при программировании бит-матрицы и циклически "хранится" в них; это требует не только DD -ассоциативной "блокады", но и соответствующего сдвига влево хранимой тестовой последовательности, которая представлена в шестнадцатеричном виде в мнемонической записи этой бит-инструкции;
  • NOP связана с тем, что в этом случае доступ к таким бит-процессорам по входу-выходу можно осуществить только слева, что выполнимо только по вертикальным Т -каналам передачи тест-данных и откликов. На основе проведенного анализа основных факторов, определяющих
  • динамику работы подсистемы локализации и идентификации отказов в современных микроэлектронных МКМД-бит-потоковых технологиях, можно сделать следующие выводы.

  • При синтезе тестовых последовательностей проверяемые бит-процессоры приходится рассматривать как конечные, а не как комбинационные автоматы.
  • Провести полное тестирование даже "высоконадежных" (сверх) параллельных МКМД-бит-потоковых вычислителей невозможно в принципе, а для поддержания достоверности гипотез, снижающих размерность задач локализации и идентификации, требуются специальные меры защиты "рабочего тела" в процессе его изготовления и эксплуатации.
  • В процессе тестирования относительно больших бит-матриц нарушается системо- образующее для МКМД-бит-потоковых технологий неравенство (6.1) курса "Задачи и модели вычислительных наноструктур", что при коротком "времени жизни" может привести к зацикливанию супрамолекулярного вычислителя на фазе диагностики. Для восстановления соотношений в неравенстве (6.1) курса "Задачи и модели вычислительных наноструктур" требуется обеспечить прямой доступ по P - и D -шинам к каждому бит-процессору.
  • Tlr -адаптивность тестовых микропрограмм является вынужденной мерой, обусловленной использованием параметрических методов адаптации однородной бит-матрицы под требования активизированного поток-оператора пользователя.
  • Восстановление работоспособности МКМД-бит-потоковых субпроцессоров можно провести в интерактивном режиме, допускающем перекомпоновку тела микропрограммы не только на основе аффинных преобразований, что требует использования в эксплуатации отладочных средств разработчика, таких как имитатор работы бит-матрицы и графический редактор (см. рис. 7.2).
  • 7.5. Особенности термального синтеза тестовых микропрограмм в процессе эксплуатационной диагностики

    Согласно методике многоуровневого имитационного моделирования бит-потоковых субпроцессоров (см. раздел 3.4), во время функционального контроля пространство прямой диагностики бит-процессоров разбивается на три подпространства:

  • подпространство микропрограммного управления бит-процессоров, образованное регистрами команд и глобальной шиной управления вводом программы, которое поддерживает условия требуемого пространственно-временного, регистрового взаимодействия бит-инструкций активизированного поток-оператора пользователя;
  • подпространство внутренней системы коммутации бит-процессоров, которое описывает всевозможные состояния входных и выходных коммутаторов бит-процессоров, обеспечивающих пространственно-временное распределение потоков данных;
  • подпространство арифметико-логических функций бит-процессоров, образованное всевозможными состояниями АЛУ, которое обеспечивает пространственно-временное взаимодействие потоков данных и сигналов.
  • Таким образом, стратегию функционального иерархического контроля можно реализовать как взаимосвязанную систему тестов, в которой поэтапно сужается проверяемое пространство возможных состояний бит-матрицы за счет информации, полученной на предыдущих этапах тестирования.

    В СБИС Н1841 ВФ1 каналы ввода и хранения бит-инструкций выполнены по простейшей последовательной схеме, что было обусловлено количеством выводов в корпусе СБИС. Это увеличило время ввода (микро)программы, но позволило достаточно просто проконтролировать правильность ее загрузки в 320-битный FIFO -регистр. Для этого достаточно осуществить двойной ввод (микро)программы и сопоставить на выходе загружаемую последовательность с получаемой после первого ввода. Это достаточно достоверный способ обнаружения отказов D -триггеров, но он не позволяет отреагировать на сбои во время второго сеанса ввода (микро) программы.

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

    При контроле вертикальных и горизонтальных связей косвенно проверяются D -триггеры, принадлежащие поля А1-А6 регистра бит-инструкций. Поэтому тестовые микропрограммы контроля вертикальных и горизонтальных связей необходимо модифицировать таким образом, чтобы каждый из этих триггеров побывал и в "нулевом", и в "единичном" состояниях.

    Аналогичным образом косвенно проверяется работоспособность D -триггеров, принадлежащих полю кода операции регистра бит-инструкций, когда во время тестирования арифметико-логических функций необходимо делать вывод о неработоспособности либо АЛУ, либо регистра. Это делает весь процесс эксплуатационного контроля бит-матрицы глобально связанным, что негативно сказывается на продолжительности коммутационного и функционального контроля бит-матрицы и служит достаточно серьезным препятствием на пути построения такой системы взаимного контроля бит-матриц, в которой вопрос "кто сторожит сторожа" стоял бы не так остро.

    По результатам косвенной проверки пространства управления трудно получить достаточную информацию о характере неисправности бит-процессора и о количестве одновременных отказов, так как отказ одного или двух вентилей в бит-процессоре не выводит его из строя, а лишь сокращает пространство ( $$E = 2^{R}$$ ) правильно исполняемых инструкций.

    Поэтому имеет смысл организовать доступ к регистрам бит-инструкций для непосредственного контроля пространства управления по схеме рис. 7.19, где:

  • вход SetPr используется для выделения бит-процессора как при записи в его регистр команды соответствующей бит-инструкции, так и при ее "чтении" в процессе тестирования канала управления бит-матрицей;
  • вход Progrвх используется для записи потока 16-разрядных бит-инструкций микропрограммы;
  • вход SetTst используется для установки режима тестирования регистров бит-процессоров;
  • выход TstPrg поочередно предоставляется для "чтения" контролируемой в данный момент времени бит-инструкции;
  • вход C служит для подачи сигнала синхронизации.
  • (рис 7.19) Схема бит-процессора с доступом для контроля подпространства микропрограммного управления

    Из перечисленных сигналов глобальными являются SetTs и C, и именно они ограничивают размеры синхронно работающей бит-матрицы.

    Схема рис. 7.19 работает следующим образом. Сначала за 1 такт в регистр команды бит-процессора, выделенного с помощью сигнала SetPr, заносится бит-инструкция, а в остальные бит-процессоры заносятся нули. После этого в течение 16 тактов подается сигнал SetTst = 1 и регистры команд всей матрицы начинают работать как сдвиговые регистры. Но так как во все регистры, кроме тестируемого бит-процессора, внесены нули, то записанная инструкция считывается на выходе TstPrg последовательно старшим разрядом вперед. Общее время диагностики подпространства управления $$T^{u}_{d}$$ равно $$T_d^u = [8\cdot(М_{1} *М_{2})^{2} +24\cdot М_{1} *М_{2}]\cdot\tau,$$ (должно быть $$(1+16)*М_{1}*М_{2}$$ ), что при тактовой частоте бит-матрицы 250 МГц и ее размерах $$М_1 = 40 М_{2} = 40$$ составит 83 миллисекунды.

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

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

    Выделить подпространство коммутации, контролируемое прямым путем, можно с помощью упрощающей гипотезы: если в процессе прямой диагностики бит-матрицы каждый бит адресной части (А1-А6, рис. 3.2) всех бит-инструкций побывал и в "нулевом", и в "единичном" состоянии, то результаты прямого контроля полученных таким путем коммутационных функций бит-процессоров с высокой степенью достоверности можно распространить на остальные, косвенно контролируемые комбинации соединения входов-выходов.

    В этом случае для прямого контроля коммутационных возможностей бит-матрицы требуется всего два типа тестовых микропрограмм, которые к тому же обеспечивают контроль вертикальных и горизонтальных каналов FIFO -регистровой передачи данных по бит-матрице, а значит, и правильность исполнения в ней операции "расширенный транзит" ( WTR - см. табл. 3.1) [138-141]. Для такого тестирования достаточно закодировать термы, изображенные на рис. 7.20, следующим образом:

    КОП ПЗ А1 А2 A3 А4 А5 А6
    рис. 7.20-а 011 1 00 10 00 10 00 00
    рис. 7.20-6 011 1 11 01 11 01 11 11

    Для рис. 7.20-а пары адресов (А1-А4) кодируют канал передачи бит-данных "слева-направо", (А2-А5) - "справа-налево", а (А3-А6) -

    "слева-налево", а для рис. 7.20-б все аналогично, только с вращением вдоль побочной диагонали [298]. Аналогично для соответствующих пар рис. 7.20 (в-г), (д-е), (ж-з), (и-к), (л-м).

    (рис 7.20) Термы контроля горизонтальных и вертикальных связей бит-матрицы

    Таким образом, контроль подпространства коммутации можно совместить с контролем подпространства управления в части управления входными и выходными коммутаторами и определяет характер расположения интерфейса ввода-вывода бит-матрицы. Для удобства тестирования интерфейс должен быть полностью доступен (см. рис. 7.18) либо слева и снизу при термальном составе рис. 7.20-а и 7.20-б, либо сверху и справа при термальном составе рис. 7.20-в и 7.20-г.

    В этом случае контроль подпространства коммутации и связанного с ним подпространства управления можно ограничить двумя типами однострочных тестов [138-141] (на рис. 7.20 верхняя строка - это первый тип, а нижняя - это второй тип), которые снижают размерность тестируемого пространства состояний регистра бит-инструкций бит-процессора с 216 до 9:

  • два типа организации тестовых каналов необходимо использовать при контроле коммутации, которые имеют два типа модификации признака задержки: ПЗ = 0 и ПЗ = 1 (итого 4 типа тестов для контроля коммутационных возможностей бит-матрицы);
  • пять типов тестов контроля бит-инструкций АЛУ: ADD, ST1, XOR, AND, NAND (см. табл. 3.1), число которых можно сократить до трех: ADD - КОП = 001, ST1 - КОП = 110 и XOR - КОП = 101, с учетом "вложенности" функций в АЛУ, реализованного по схеме УЛМ (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур").
  • Таким образом, при контроле бит-матрицы тестовое ядро прямой оперативной диагностики можно ограничить семью состояниями регистра команд каждого бит-процессора из 216 возможных. При этом повысить полноту диагностики всей бит-матрицы можно в процессе послеполетного обслуживания ЛА. Цель такой диагностики состоит в построении и анализе матрицы трансформаций функций под воздействием карт отказов, которую можно использовать при интерактивной компоновке "рабочего тела" микропрограммы, учитывающей топологию размещения бит-инструкций, фактически реализуемых бит-процессорами с отказавшими вентилями.

    Если на снижение размерности диагностируемого пространства основное влияние оказывают системотехнические факторы, то на снижение времени каждого проводимого теста - схемотехнические факторы, от которых зависит длина последовательности тест-данных. При этом топологическая схема тестового канала определяет продолжительность "сеанса связи" с каждым бит-процессором и поэтому разбивает "идеальную" тестовую последовательность на подпоследовательности, суммарная длина которых превосходит идеальную (см. раздел 7.4). Она формируется исходя из схемотехнических особенностей реализации бит-процессоров по методике восходящего синтеза (см. раздел 3.4) и поддерживается инструментальной платформой BPBrowse (см. раздел 6.4).

    Бит-процессор может работать в трех режимах: комбинационного ( AND, NAND, XOR ), конечного ( ADD, ST1 ) и коммутационного ( WTR ) автомата с последовательным типом распространения данных в процессе передачи или обработки.

    В режиме конечного автомата глубина обратной связи АЛУ (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур") равна одному такту. Поэтому минимальная последовательность тест-данных, в которой формируется декартово произведение второго порядка $$S\otimesS (S\in\{0,1,2,3\})$$, отвечающее полной матрице переходов такого автомата, имеет вид: $$0,0,1,1,2,2,3,3,0,2,1,3,2,0,3,1,0$$.

    Здесь $$S$$ - десятичное представление наборов значений двоичных входных переменных бит-процессора: $$(S = 1):=(x_{2} = 0; x_{1} = 0)$$, $$(S = 2):=(x_{2} = 0; x_{1} = 1)$$, $$(S = 2):=(x_{2} = 1; x_{1} = 0)$$, $$(S = 3):=(x_{2} = 1; x_{1} = 1)$$.

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

    При работе в режиме коммутационного автомата используются только D -триггеры канала АЛУ и транзита. Полная матрица переходов этих триггеров задана на алфавите $$S\in\{0,1\}$$ и формируется последовательностью 00110.

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

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

  • согласованным выбором в разных тестах направлений приема-передачи данных по трем независимым параллельным каналам их распространения через бит-процессор (всего 213 вариантов состояния внутренней системы коммутации);
  • вариацией длины потока тест-данных $$N_{e}$$ в зависимости от режима контроля бит-процессора, где основной вклад в полноту контроля вносят D -триггеры, если речь идет о проверке коммутационных возможностей бит-матрицы, и конвейерное суммирование, если речь идет о ее функциональном контроле.
  • Таким образом, только комплекс схемо- и системотехнических мер с достоверными и поддерживаемыми в производстве СБИС упрощающими гипотезами или допущениями призван кардинальным образом снизить время прямой диагностики бит-матриц большой размерности с тем, чтобы довести это время до требований (квази)реального масштаба времени. В результате нисходящая (последовательно сужающая) по функциям и координатам стратегия диагностики приняла следующий вид.

    Этап 1. На этом этапе осуществляется контроль коммутационных возможностей бит-матрицы и косвенный контроль управления бит-процессорами, состоящий из двух взаимосвязанных фаз. В первой фазе осуществляется контроль начального состояния D -триггеров операционных каналов и каналов транзита во всей бит-матрице путем "прослушивания" канала без подачи на его вход тестовых данных. Во второй фазе контролируется доступность каждого бит-процессора по ортогональным FIFO -регистровым каналам приема-передачи данных. Здесь уже используются последовательности входных тест-данных и анализируется качество отклика каждого бит-процессора, принадлежащего отдельному тестовому каналу. В этой фазе используются два типа коммутационных тестовых микропрограмм (см. рис. 7.20) с установкой "признака задержки" сначала в "ноль", а затем в "единицу". Полученные отклики бит-процессоров анализируются, и ставится диагноз для ка ждого бит-процессора. Если не удается точно локализовать координату отказавшего бит-процессора, то проводится уточняющее тестирование для всех накопленных неоднозначностей в локализации координаты отказавшего бит-процессора, но уже в усеченном виде, то есть только для бит-процессоров, "подозреваемых" на неисправность.

    Этап 2. На этом этапе проводится функциональный контроль исполнения бит-инструкций, причем он осуществляется в обязательном порядке только для самых "сложных" бит-инструкций ADD, ST1, XOR табл. 3.1. Контроль исполнения более простых бит-инструкций ( AND, NAND ) осуществляется по необходимости и только для тех бит-процессоров, где выявлена неправильная реализация функций ( ADD ) или ( ST1 ).

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

  • Если бит-процессор недоступен по ортогональным коммутационным D -шинам, то невозможно проконтролировать его правильное функционирование.
  • Если бит-процессор или подматрица недоступны для тестовых микропрограмм, то они тем более недоступны и для микропрограмм поток-операторов пользователя.
  • В ассоциативных МКМД-бит-потоковых вычислителях особое место занимают отказы установки начального состояния D -триггеров каналов АЛУ и транзита, которые могут быть "захвачены" и сохранены микро- и макро-"вихрями" в потоках данных. Но вероятность таких отказов D -триггеров слишком мала (меньше 1%), а в масштабе бит-процессора еще меньше, зато высока вероятность константной неисправности (см. табл. 3.16).

    Таким образом, данная стратегия диагностики обладает следующими особенностями:

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

    Алгоритмические, топологические и конструктивно-технологические особенности построения и адаптации тестовых микропрограмм под действующую карту отказов составляют сложный комплекс системотехнических проблем, от успешного решения которых во многом зависит уровень (квази)реального масштаба времени в системе обеспечения отказоустойчивости МКМД-бит-потоковых субпроцессоров.

    Критерий эффективности работы адаптивных алгоритмов генерации тестовых микропрограмм определяется следующими факторами:

  • сложностью, а значит, и временем синтеза теста и анализа полученных на его основе откликов;
  • полнотой покрытия тестовыми микропрограммами диагностируемых функций и бит-матрицы и достоверностью результатов диагностики. Использование традиционных алгоритмов нахождения наименьшего
  • пути между двумя точками [300] методом динамического программирования (ДП) и алгоритмов с различными стратегиями или условиями возврата плохо совместимы с темпом реального времени из-за их высокой вычислительной сложности, особенно для бит-матриц больших размеров.

    При использовании ДП-алгоритмов в каждом цикле в определенном порядке проверяются все бит-процессоры матрицы, число которых равно $$N*N$$, где $$N$$ - размер проверяемой бит-матрицы. Для каждого бит-процессора матрицы (в общем виде) выполняется 1 операция сравнения и 2 - присваивания. Следовательно, сложность этого алгоритма - $$О(N^{2})$$ в рамках только одного типа теста и одного набора тест-данных.

    В алгоритме с возвратом перебираются все возможные в рекурсивной процедуре пути, количество которых составляет $$C_{2N-2}^{N-1}$$. Следовательно, сложность этого алгоритма - $$O(C_{2N-2}^{N-1})$$, что также плохо совместимо с темпом реального времени при больших размерах бит-матриц.

    Если во главу угла поставить требование темпа реального времени при проведении эксплуатационной диагностики МКМД-бит-потоковых субпроцессоров, то необходимо отказаться от использования в адаптивных тестах от процедур нахождения минимального пути обхода обнаруженных неисправностей. Это снижает полноту диагностики бит-матрицы и увеличивает "пессимизм" в оценке локального последействия обнаруженного отказа, но упрощает алгоритм поиска спрямленного пути при обходе обнаруженных неисправностей. В отличие от предыдущих алгоритмов, в этом случае осуществляется проверка впереди лежащих бит-процессоров, и топология тестовой микропрограммы деформируется в соответствии с фиксированной стратегией обхода, если встречена преграда. Сложность описанного алгоритма составляет $$О(N)$$, а его недостатком является неоптимальность порождаемого пути, которая мало сказывается на продолжительности достаточно полного покрытия бит-матрицы тестовыми микропрограммами, если тестир уемый канал образован бит-процессорами одной строки бит-матрицы ("однострочный тест"). В подтверждение сказанного на рис. 7.21 приведены графики роста вычислительной сложности рассмотренных алгоритмов в зависимости от размера матрицы.

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

    (рис 7.21) Рост вычислительной сложности алгоритмов нахождения пути

    В описанных условиях многострочные промышленные тесты с независимыми по каждому операнду каналами формирования тест-данных (см. рис. 7.12-7.4) оказались малоэффективными [299] в условиях эксплуатации, так как парирование такими микропрограммами обнаруженных отказов требует анализа возможных путей прохождения через ортогональные квадраты размером, кратным количеству строк в канале теста. В результате в десятки раз увеличивается время генерации теста для одного тестового канала, и в сотни раз - время покрытия тестами всей бит-матрицы. При этом падает коэффициент распараллеливания тестовых микропрограмм, так как уменьшается полезная тестируемая "площадь" в рамках одного тестового канала, что вынуждает увеличивать количество циклов тестирования. Поэтому для исключения из тестовой микропрограммы вспомогательных строк (столбцов), по которым распространяются тест-операнды, необходимо изменить топологическую структуру эксплуатационных тестов и перейти к однострочным тестам эксплуатационной диагностики рис. 7.22.

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

    (рис 7.22) Тестирование с использованием рекурсивного операнда

    На рис. 7.22 показаны каналы однострочных тестов ADD, ST1 и XOR. Для них по методике, изложенной в разделе 3.4, минимальные по длине тестовые последовательности подобраны следующим образом. Выбирается тестовая последовательность "независимого" операнда, и на схеме теста в матрице без отказов моделируется отклик, который используется далее как второй "рекурсивный" операнд. Далее на модели отдельного бит-процессора полным перебором пространства одного и двух одновременных отказов анализируются диагностические возможности и полнота подобранных тестовых последовательностей. На основе полученных данных для тестируемой функции и каждой тестовой последовательности вычисляется величина $$P^{пр}_{(1,2)}$$ минимум которой служит признаком конца поиска требуемой тестовой последовательности. Здесь $$P^{пр}_{(1,2)}$$ - количество правильных реакций для всевозможных подмножеств карт, насчитывающих не более двух одновременных отказов элементов схемы.

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

    (рис 7.23) Алгоритм горизонтально-вертикального тестирования

    Алгоритм генерации горизонтально-вертикальных тестов выполняется в следующей последовательности:

  • Выбирать доступную сторону интерфейса бит-матрицы, наиболее удобную для тестирования горизонтальных или вертикальных каналов.
  • Создать массив из доступных интерфейсных бит-процессоров.
  • Создать канал доступа для каждого члена массива в рамках одного теста.
  • Поочередно предоставить каждому члену массива право сделать шаг по прямому алгоритму и определить координаты бит-процессора для продолжения маршрута. Дописать в тестовую микропрограмму соответствующий терм, а в поток тест-данных и эталонных откликов соответствующую подпоследовательность.
  • Повторять 4 до тех пор, пока ни один член массива уже не сможет сделать шаг.
  • В соответствии с этим алгоритмом подсистема идентификации и локализации отказов работает следующим образом. На начальном этапе запуска обрабатываются системные данные о доступности интерфейса связи с бит-матрицей (см. рис. 7.18) и на каждый доступный периферийный бит-процессор создается "объект" канала теста, который сохраняется по указателю в массиве доступных бит-процессоров. Таких массивов всего четыре (для каждой стороны бит-матрицы). Предшествующая карта отказов регистрируется подсистемой локализации как исходная.

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

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

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

    Общим для всех процедур тестирования является последовательность их проведения, в которой первым шагом которых служит "прослушивание" канала теста без подачи тест-данных. "Прослушивание" призвано обнаружить неисправности D -триггеров типа "тождественной единицы" в каналах распространения откликов бит-процессоров. Этот этап по продолжительности обычно чуть больше или равен количеству термов в этом тестовом канале. Далее осуществляется анализ откликов на подаваемые тест данные. Здесь тесты разбиты на две категории. Первая категория тестов ( WTR, ADD, XOR ) основана на анализе откликов на одиночную тестовую последовательность, которая трансформируется в тестовую комбинацию в процессе распространения по бит-матрице (на рис. 7.22-а и 7.22-в - это последовательности "независимых" операндов без скобок).

    Вторая категория тестов ( ST1, AND, NAND ) основана на анализе откликов на многократную тестовую последовательность, которая сначала доходит до последнего терма тестового канала и, разблокировав процедуру формирования второго операнда, перемещается к началу теста. В этом случае второй тестовый операнд для последующего бит-процессора одновременно является откликом предыдущего бит-процессора (на рис. 7.22-б - это последовательность "независимых" операндов в скобках). На основе таких тестов в качестве неисправных приходится помечать все бит-процессоры, принадлежащие одному тестовому каналу, что сильно усложняет контроль уже при карте отказов, содержащей свыше 1% отказавших бит-процессоров в матрице.

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

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

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

    Приведенные данные позволяют сделать следующие выводы:

  • алгоритм синтеза тестовых микропрограмм носит тривиальный характер рекуррентного наращивания термов до вертикальных и/или горизонтальных размеров бит-матрицы;
  • алгоритм анализа откликов также сводится к простой процедуре определения разницы между реальной последовательности и эталонной реакциями;
  • однозначно идентифицировать координату отказа в рамках одного вертикального или горизонтального теста невозможно из-за эквидистантных по отношению к тестовому выходу бит-процессора [299], неисправность которых проявляется одинаково.
  • Основные сложности функционального эксплуатационного контроля возникают при наличии карт отказов, разрушающих регулярные структуры тестовых микропрограмм и получаемых с их помощью откликов бит-процессоров. Поэтому эффективность всей системы локализации и идентификации отказов в бит-матрице в основном определяется скоростью адаптации рассмотренных линейных тестов и порождаемых ими последовательностей откликов на действующую карту отказов.

    7.6. Оценка качества работы подсистемы локализации и идентификации отказов в МКМД-бит-процессорных матрицах

    Как видно из изложенного, при использовании не Tlf -адаптивных алгоритмов тестирования локализация и идентификация отказов проводится по классической схеме аппаратного контроля, которая не зависит от содержимого функциональных микропрограмм. Поэтому объектом диагностики является не субпроцессор, а вся МКМД-бит-процессорная матрица, в которой каждый бит-процессор подтверждает свою работоспособность по всем реализуемым им функциям.

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

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

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

    При этом в качестве параметров будем использовать уровень распараллеливания ввода-вывода тестовых микропрограмм и данных:

  • Полностью последовательная P -шина, которая обеспечивает максимум временных издержек на ввод тестовых микропрограмм, так как в ней все регистры бит-инструкций объединены в последовательный FIFO -регистровый канал ввода-вывода с однобитным входом и однобитным выходом. При этом FIFO -регистровая D -шина полностью распараллелена по периферийно доступным входам-выходам, что соответствует полнодоступной по периферии бит-матрице рис. 7.18-а.
  • Самый худший случай - полностью последовательные FIFO -регистровые P - и D -шины, что соответствует конструкции D -шины рис. 7.18-г и однострочным U -образным Т -рекурсивным тестовым микропрограммам, вводимым в бит-матрицу по однобитной последовательной P -шине.
  • Идеальный случай - полностью параллельные FIFO -регистровые P - и D -шины, что соответствует полнодоступной бит-матрице и требует гипрепараллельных гальванических P - и D -шин, реализуемых средствами оптоэлектроники или наноэлектроники.
  • При таких ограничениях удается ввести алгебраические соотношения для расчета времени тестирования бит-матриц (табл. 7.1-7.3) Tlf -адаптивного контроля бит-матрицы Т -рекурсивными возвратными тестами рисунков, где:

  • $$\theta$$ - номер шага тестирования;
  • $$\mu$$ - количество аффинных модификаций исходного многострочного теста ( $$\mu = 1$$ в однострочных тестах);
  • $$\rho$$ - количество комбинаций тест-данных, образующих одну зондирующую посылку;
  • $$v$$ - количество зондирующих посылок, обеспечивающих формирование полной матрицы переходов АЛУ;
  • $$N^{T} = \sum\limits_{\theta}N^{T}(\theta)$$ - целочисленное время получения откликов от бит-процессоров одного канала;
  • $$N^0 = \sum\limits_{\theta}N^0 (\theta)$$ - целочисленное время начальной задержки при получении первого отклика тестируемого канала;
  • $$N^p = \sum\limits_{\theta}N^p(\theta)$$ - целочисленное время загрузки тестовой микропрограммы в бит-матрицу;
  • $$n_{p}$$ - разрядность гальванической $$Р$$ -шины;
  • $$L_p$$ - "длина" тестовой микропрограммы, а $$R_p$$ - разрядность регистра бит-инструкции.
  • Вне зависимости от конструктивно-технологических особенностей построения тестовых интерфейсов минимальное время контроля дает полностью исправная бит-матрица, так как при этом не проводится адаптация тестовых микропрограмм под действующую карту отказов, которая позволяет нейтрализовать действие обнаруженных отказов и продолжить процесс диагностики. Поэтому первому варианту построения тестового интерфейса отвечает минимально минимальное время полного не Tlf -адаптивного контроля бит-матрицы Т -рекурсивными возвратными тестами. В соответствии с данными табл. 7.1 его можно записать: $$\min(\min{N}) = N^{T} + N^{0} + N^{p} = 6J + 335I + 26L_{p}R_{p} + 96$$, а и при $$\min(I, J) = I: \min(\min {N}) = 6J + 353I + 26L_{p}R_{p} + 96$$.

    Структура временных затрат на контроль линейными Т-рекурсивными тестами полнодоступной по периферии бит-матрицы
    Шаг Функция $$\theta$$ $$\mu$$ $$\rho$$ $$v$$ $$N^t(\theta)$$ $$N^0(\theta)$$ $$N^p(\theta)$$
    1 P -шина 1 1 4 1 $$\rho(\theta)*v(\theta) $$ $$L_p*R_p $$ 0
    2 D -шина 2 $$3\min(I,J) $$ $$\mu(\theta)*L_p*R_p $$
    3 WTRh 3 3 2 $$\rho(\theta)*v(\theta)*J $$ 1
    WTRv 4 $$\rho(\theta)*v(\theta)*I $$
    4 AND 5 3 4 5 $$\mu(\theta)* \rho(\theta)* v(\theta)*\min(I,J) $$ $$4*\mu(\theta) $$
    XOR 6
    ADD 7
    ST1 8
    NAND 9 4 $$5*\mu(\theta) $$
    CG 10 3 1 $$2*\mu(\theta) $$
    NOP 11 $$\mu(\theta)* \rho(\theta)* v(\theta)*I$$ $$5*\mu(\theta) $$
    Итого 25 $$18I+6J+332\min(I,J)+8$$ $$L_p*R_p+\\ 3\min(I,J)+88$$ $$25*L_p*R_p$$

    Отсюда, для платы СБИС Н1841 ВФ1, содержащей 30*88 бит-процессоров, или, что одно и то же, 6*22 СБИС, получим:

    Р -шина $$L_p*R_p$$ тактов $$N $$ тактов $$N^{T} $$ тактов $$N^0$$ тактов $$N^p$$ тактов $$N^{T}/N$$ $$N^0/N$$ $$N^p/N$$ Отношение
    $$n_{p}=6$$ 7040 194254 11036 7218 176000 0,057 0,037 0,906 $$N^p+N^0\gg N$$
    $$n_{p}=132$$ 320 19534 11036 498 8000 0,565 0,025 0,410 $$N^p+N^0 \approx N$$

    где $$n_{p} = 6$$ отвечает P -шине, обеспечивающей последовательный ввод микропрограммы во все СБИС одной строки, а $$n_{p} = 132$$ - в каждую СБИС независимо.

    Из приведенных данных видно, что при такой организации тестового интерфейса решающий вклад во время диагностики полностью исправной бит-матрицы вносит время ввода тестовых микропрограмм, которое составляет 90 % от общего времени диагностики. Поэтому увеличение более чем в 20 раз разрядности P -шины снижает почти на порядок общее время диагностики и приводит к тому, что системообразующее неравенство (6.1) курса "Задачи и модели вычислительных наноструктур" начинает выполняться и для тестовых микропрограмм, правда, в ослабленном виде $$N^{p}+N^{0}\approx N$$.

    Второму варианту построения тестового интерфейса отвечает табл. 7.2, согласно которой максимально минимальное время полного не Tlf -адаптивного контроля бит-матрицы Т -тестами имеет вид:

    $$\max (\min N) = 111I*J+318I+2J+1178+26*L_{p}*R_{p}.$$
    Структура временных затрат на контроль одноканальными, U-образными, Т-рекурсивными, возвратными тестами полностью исправной бит-матрицы
    Шаг Функция $$\theta$$ $$\mu$$ $$\rho$$ $$v$$ $$N^t(\theta)$$ $$N^0(\theta)$$ $$N^p(\theta)$$
    1 P -шина 1 1 4 1 $$\rho(\theta)*v(\theta) $$ $$L_p*R_p $$ 0
    2 D -шина 2 $$3*I*J$$ $$\mu(\theta)*L_p*R_p $$
    3 WTRh 3 3 2 $$\rho(\theta)*v(\theta)*J $$ 1
    WTRv 4 $$\rho(\theta)*v(\theta)*I $$
    4 AND 5 3 4 5 $$\mu(\theta)* \rho(\theta)* v(\theta)* [\lambda(\theta)(J-3) +3] + 12(\lambda(\theta)- 1) $$ $$4*\mu(\theta) $$
    XOR 6
    ADD 7
    ST1 8
    NAND 9 4 $$\mu(\theta)* \rho(\theta)* v(\theta)* [\lambda(\theta)(J-5) +5] + 14(\lambda(\theta)-1) $$ $$5*\mu(\theta) $$
    CG 10 3 1 $$\mu(\theta)* \rho(\theta)* v(\theta)* [\lambda(\theta)(J-2) +2] + 12(\lambda(\theta)-1) $$ $$2*\mu(\theta) $$
    NOP 11 $$\mu(\theta)* \rho(\theta)* v(\theta)* [\lambda(\theta)(J-2) +2] + 12(\lambda(\theta)-1) $$ $$4*\mu(\theta) $$
    Итого 25 $$108I*J+318I+2J+1090 $$ $$L_p*R_p+\\ 3*I * J+88$$ $$25*L_p*R_p$$

    Здесь топология тестовых микропрограмм выбрана по критерию минимума неполноты покрытия бит-матрицы одноканальным U-образным функциональным тестом и в предположении: $$\max(I, J) = J$$ ; $$\min(I, J) = I$$, причем $$\lambda(\theta) = ]min(I, J)/\mu(\theta)[$$, где $$][$$ - старшее целое.

    Отсюда, системообразующее неравенство (6.1) курса "Задачи и модели вычислительных наноструктур" стало выполняться и при малоразрядной P -шине, но не за счет снижения системных временных издержек, а за счет более чем 25-кратного увеличения продолжительности времени получения откликов от каждого бит-процессора U -образного тестового канала. При этом суммарное время контроля полностью исправной бит-матрицы возросло более чем в 2,5 раза.

    Минимум миниморум времени контроля полностью исправной бит-матрицы обеспечивает тестовый интерфейс с непосредственным доступом к каждому бит-процессору матрицы по параллельным P - и D -шинам (табл. 7.3).

    В этом случае только разрядности P - и D -шин зависят от размеров бит-матрицы, а все временные характеристики подсистемы локализации и идентификации отказов остаются неизменными для всех размеров контролируемой бит-матрицы:

    $$N = 136 = const; N^t/N = 0,802 = const; N^{0}/N = 0,125 = const;\\ N^{p}/N = 0,074 = const; (N^{p}+N^{0} = 27) << (N = 109).$$

    Для платы СБИС Н1841 ВФ1, содержащей 30*88 бит-процессоров, и $$n_{p} = 6$$ получим:

    Р -шина $$L_{p}*R_{p} $$ тактов $$N$$ тактов $$N^{T}$$ тактов $$N^0$$ тактов $$N^p $$ тактов $$N^{T}/N$$ $$N^0/N$$ $$N^{p}/N$$ Отношение
    $$n_{p} = 6$$ 7040 476168 285120 15048 176000 0,599 0,032 0,370 $$N^{p}+N^0 < N$$
    Структура временных затрат контроля полностью исправной бит-матрицы с помощью гиперпараллельных гальванических P- и D-шин
    Шаг Функция $$\theta$$ $$\mu$$ $$\rho$$ $$v$$ $$N^t(\theta)$$ $$N^0(\theta)$$ $$N^p(\theta)$$
    1 Р-шина 1 1 4 1 $$\rho(\theta)$$ 3 0
    2 D-шина 1 1
    3 WTRh 3 2 2
    WTRv 4
    4 AND 5 3 17 5 1
    XOR 6
    ADD 7
    ST1 8
    NAND 9 4
    CG 10 3 4 1
    NOP 11
    Итого 109 $$\sum\limits_{\theta}\rho(\theta)=109$$ 17 10

    Приведенные данные позволяют утверждать: продолжительность диагностики современных микроэлектронных МКМД-бит-процессорных матриц в основном определяется временем загрузки тестовых микропрограмм в бит-матрицу и временем получения индивидуальных откликов от всех бит-процессоров тестируемого канала, которые прямо или косвенно зависят от конструктивных характеристик бит-матрицы. К ним относятся: размеры $$(I, J)$$ бит-матрицы, разрядность ( $$n_{p}$$ и $$n_{d}$$ ) и конфигурация гальванических P - и D -шин, задающих длину $$L_{p}$$ последовательной FIFO -регистровой P -шины и размеры 2-мерной, последовательной FIFO -регистровой D -шины (длину линейных или U -образных тестов).

    Для МКМД-бит-процессорных матриц на основе СБИС Н1841 ВФ1 локализация и идентификация отказов требует не менее $$19534*2*10^{-7} \approx 4$$ мс, но с увеличением тактовой частоты до 250 МГц и применением параллельной системы ввода микропрограмм рис. 7.19 это время можно сократить в 80 раз, что становится приемлемым для периодического контроля бит-матрицы и подтверждения ее работоспособности в реальном времени.

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

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

    Очевидно: если остаточный аппаратный ресурс бит-матрицы не обеспечивает работоспособность простейших тестовых микропрограмм, то его явно недостаточно для обеспечения работоспособности более сложных микропрограмм пользователя. Поэтому уровень доступности бит-процессоров в матрице является одним из главных факторов появления "катастрофической" карты отказов.

    Исследование доступности бит-процессоров матрицы проведено на основе гипотезы равномерного распределения отказов по матрице показали (рис. 7.24) и оно показало:

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

    Ориентированные на режим реального времени средства (микро) программной диагностики без особых проблем локализуют и идентифицируют карту до 15 одновременно сформированных отказов. При плавном нарастании карты эта величина достигает уже 20-30 отказов. Дальнейшее нарастание карты отказов приводит к доминированию эффекта "белых пятен", недоступных для тестирования в темпе реального времени.

    Таким образом, можно считать, что по фактору коммутационной блокады бит-процессоров "катастрофическая" карта отказов возникает уже при 30 % бит-процессоров с полностью отказавшей внутренней коммутацией, так как при таком количестве отказов достаточно полное тестирование даже с потерей темпа реального времени становится очень сложной и ресурсоемкой задачей.

    Очевидно, что полнота и достоверность локализации и парирования отказов, а также оценка ситуации как катастрофической напрямую зависят от требований темпа реального времени. Модельный эксперимент, проведенный на процессоре Pentium -II 433 МГц для бит-матрицы размером до 40*40 бит-процессоров с тактовой частотой 250 МГц, показал (рис. 7.25):

  • при плавном нарастании карты отказов диагностика всей бит-матрицы укладывается в 0,2 секунды;
  • временные затраты на диагностику можно сократить двумя способами:
  • используя более качественные алгоритмы адаптации топологии тестовых микропрограмм, что может сильно усложнить задачу генерации тестов и анализа откликов;
  • осуществив декомпозицию всей бит-матрицы на независимо контролируемые подматрицы, что требует построения распределенной системы обнаружения в темпе реального времени отказов;(рис 7.25) Время локализации отказов в бит-матрице
  • время контроля функций АЛУ практически не зависит от размеров действующей карты отказов, если выполнено условие коммутационной доступности бит-процессора.
  • На основе проведенного анализа основных факторов, определяющих качество работы подсистемы локализации и идентификации отказов в современных микроэлектронных МКМД-бит-потоковых технологиях, можно сделать следующие выводы.

  • Существующая подсистема диагностики и локализации отказов способна в (квази)реальном времени локализовать и диагностировать порядка 1,3% отказавших бит-процессоров в бит-матрице, что в абсолютном выражении соответствует карте из 20-30 отказов.
  • При синтезе тестовых последовательностей проверяемые бит-процессоры приходится рассматривать как конечные, а не как комбинационные автоматы, что создает условия для отработки методов и средств управления в нано- или супрамолекулярной электронике, где в противоположность обычному порядку вещей исходные вентили представляют собой конечные автоматы, а синтезируемые вентили - комбинационные схемы.
  • Провести полный функциональный контроль методами прямой диагностики даже для высоконадежных (сверх)параллельных МКМД-бит-потоковых вычислителей невозможно в принципе. При этом для поддержания достоверности допущений, сужающих ядро прямой диагностики и размерность задач локализации и идентификации, требуются специальные, предусмотренные на этапе проектирования и реализованные в производстве меры защиты СБИС в процессе их изготовления и эксплуатации.
  • Топологию тестовых микропрограмм можно выбрать таким образом, чтобы время диагностики зависело от размеров бит-матрицы линейно, а не квадратично. При этом применение однострочных тестов позволяет повысить их адаптивность к картам отказов и сократить общее время работы подсистемы локализации отказов как в процессе изготовления бит-матричных СБИС, так и в процессе их эксплуатации.
  • С понижением размеров бит-матрицы до размеров 20*20 бит-процессоров, подсистема диагностирования и локализации отказов, реализованная на базе процессора с тактовой частотой 400 МГц, способна обнаруживать и диагностировать отказы за 0,05 секунды, что позволяет использовать ее в контуре реального времени (Б)ВС.
  • При плавном характере увеличения карты отказов наблюдается линейный рост времени диагностики, что характерно для нормальных условий эксплуатации боевых ЛА. При скачкообразном характере нарастания карты отказов наблюдается близкое к квадратурному увеличение времени диагностики, что характерно для условий противоборства с технически развитым "противником".
  • Системотехнические выводы по лекции 7

  • В МКМД-бит-потоковых вычислительных технологиях на основе микроэлектронных СБИС или УБИС основная ставка сделана на структурно-функциональный полиморфизм бит-процессоров, который поддерживает как технологию восходящего микропрограммного конструирования потоковых (суб)процессоров, так и технологию достаточно быстрого парирования карт отказов за счет параметрической адаптации исходного "рабочего тела" микропрограммы пользователя. При этом используется как скрытый, почти 2-кратный структурно-функциональный резерв каждого бит-процессора (см. табл. 4.2), так и централизованный и существенно меньший по отношению к рабочей области бит-матрицы "горячий" аппаратный резерв, дифференцированно перемещаемый по всей бит-матрице.
  • Наибольших интеллектуальных и временных затрат требует этап интерактивного микропрограммного конструирования проблемно-или алгоритмически ориентированных (суб)процессоров, который завершается созданием индивидуальной вторичной топологической структуры для каждого поток-оператора пользователя. При переходе вычислительной техники в супрамолекулярную или нанометровую область этот этап трансформируется в синтез "рабочего тела", для которого специфицированы (био)химические модальности и уровни "сигналов", кодирующих управляющие, тестовые и обрабатываемые потоки информации.
  • Этап синтеза тестовых микропрограмм достаточно просто формализовать и свести к размещению ограниченного количества термов на бит-матрице с учетом ограничений на конструкцию гальванических P - и D -шин, обеспечивающих доступ к периферийным бит-процессорам.
  • Основная проблема, препятствующая кардинальному снижению времени локализации и идентификации отказов в бит-матрице, связана с опосредованным доступом к "внутренним" бит-процессорам по FIFO -регистровым P - и D -шинам, и решать ее приходится в основном конструктивно-технологическими методами, напрямую зависящими от используемых физико-химических процессов управления, передачи и обработки информации. Сам процесс диагностики приобретает корректирующий характер, по крайней мере, на отдельных фазах и этапах.
  • Удовлетворить темп реального времени при решении задач локализации и идентификации отказов можно только с использованием комплекса системотехнических, схемотехнических и конструктивно-технологических мер, которые минимизируют временные издержки на программирование бит-матрицы, снижают размеры контролируемых подматриц и повышают эффективность парирования обнаруженных карт отказов непосредственно во время диагностики.
  • Парирование карт отказов сводится к индивидуальной, толерантной перекомпоновке вторичной топологической структуры каждого поток-оператора пользователя. При этом локальные и глобальные аффинные преобразования "рабочего тела" микропрограммы по максимуму сохраняют условия пространственно-временного взаимодействия бит-инструкций. Но это требует трансформации части "функциональных" бит-процессоров в "коммутационные" и пространственного "сдвига" бит-инструкций по бит-матрице.
  • Выбор системы локальных, толерантных, аффинных преобразований представляет собой достаточно сложную, двухкритериальную оптимизационную задачу, которая в супрамолекулярных вычислителях может оказаться соизмеримой по временным и энергетическим затратам с повторным синтезом (структурной регенерацией) исходного "рабочего тела", в процессе которого нерелевантные молекулы замещаются релевантными. Это указывает на то, что в супрамолекулярных технологиях прежде всего необходимо осуществить выбор между ОКМД-схемой парирования отказов, которая основана на прямой подстановке резерва (структурная адаптация), и МКМД-схемой, которая основана на параметрической адаптации структурно-функциональной схемы вычислителя.
  • Если на этапе обработки данных действует базовое для МКМД-бит-потоковых технологий неравенство (6.1) курса "Задачи и модели вычислительных наноструктур", то на этапе диагностики в этом качестве выступает соотношение$$T=\sum\limits_{\theta}{[T^p(\theta) + T^0(\theta) + T^T(\theta)]}\Rigtharrow \min$$

    причем неравенство

    $$\sum\limits_{\theta}{[T^p(\theta) + T^0(\theta) ]}\prec\prec \sum\limits_{\theta}T^T(\theta)$$

    восстанавливается только при сверхпараллельных P - и D -шинах.

  • Страницы:

    7.1. Методы и средства повышения отказоустойчивости МКМД-бит-потоковых субпроцессоров

    Наиболее жесткие требования к качеству решения задач обеспечения живучести и восстановления работоспособности предъявляются к (Б)ВС, обеспечивающих управление в реальном времени аэрокосмическими летательными аппаратами (ЛА). Несмотря на кажущееся сходство этих задач, между ними имеется достаточно важное системное отличие.

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

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

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

    В современных опто- и микроэлектронных ОКМД-технологиях [147, 237, 281] живучесть (сверх)параллельных (суб)процессоров поддерживается в реальном времени за счет встроенных в каждый вычислитель средств диагностики и средств подстановки на место отказавших исправных вычислителей из существенно меньшего (по отношению ко всему коллективу активных вычислителей) "горячего" резерва. Все эти средства реагируют, как правило, не на функциональный, а на аппаратный отказ, повышающий вероятность ложной тревоги, а значит, и необоснованный расход "горячего" аппаратного резерва.

    В МКМД-бит-потоковой технологии живучесть (суб)процессоров поддерживается за счет создания на той же бит-матрице алгоритмически ориентированных устройств диагностики и толерантного (пере)размеще-ния "рабочего тела" (микро)программы на всей бит-матрице, включая и "горячий" резерв [298, 299].

    Это исключает свойственные опто- и микроэлектронным ОКМД-технологиям аппаратно-временные издержки на встроенные и распределенные по всему коллективу вычислителей средства диагностики, коммутации и управления "перемещением" (с ограниченным радиусом) резервных ( rb ) вычислителей (рис. 7.1) на место отказавших, но требует дополнительных аппаратно-временных затрат на перекомпоновку топологии всей (микро)программы МКМД-бит-потокового (суб)процессора, включая и алгоритмически ориентированные модули диагностики.

    (рис 7.1) Распределенная система подстановки резервных (rb) ОКМД-вычислителей

    В соответствии с решаемыми задачами система обеспечения живучести МКМД-бит-потоковых (суб)процессоров включает три работающие в режиме разделения времени подсистемы (рис. 7.2):

    (рис 7.2) Система обеспечения живучести МКМД-бит-потоковых субпроцессоров
  • обнаружения недопустимых с точки зрения пользователя функциональных отклонений в каждом активном поток-операторе;
  • локализации отказов в бит-матрице и идентификации их типов;
  • парирования карт отказов за счет толерантной перекомпоновки всего "рабочего тела" (микро)программы на бит-матрице, имеющей $$I_{rb}$$ строк и $$J_{rb}$$ столбцов централизованного и, вообще говоря, произвольно "перемещаемого" по рабочей области бит-матрицы $$(I_{0}, J_{0})$$ "горячего" резерва (рис. 7.3), из которых только первая подсистема работает в режиме реального времени и параллельно с активными поток-операторами пользователя, а две последние способны поддержать только квазиреальный масштаб времени, возможно, и с потерей полноты локализации и идентификации карт отказов, а также коэффициента использования "горячего" резерва.
  • Полнота обнаружения, локализации и идентификации карт отказов и минимальный уровень аппаратно-временных затрат на толерантную перекомпоновку топологии "рабочего тела" каждой (микро)программы пользователя в основном определяются следующими особенностями построения и работы системы обеспечения живучести.

    (рис 7.3) Централизованная система компоновки резервных МКМД-вычислителей
  • Подсистема обнаружения отказов:
  • представляет собой объединение алгоритмически ориентированных (микро)программных модулей диагностики, неразрывно инициализируемых с соответствующим поток-оператором пользователя;
  • использует методы и средства информационной и аппаратной избыточности, которые реагируют только на те отказы аппаратуры, которые приводят к значимым с точки зрения пользователя функциональным изменениям в активном поток-операторе;
  • имеет варьируемый латентный период, зависящий от общего времени задержки в каждой потоковой слов-инструкции, критического пути в граф-потоке оператора пользователя и времени доставки по FIFO-регистровым каналам обмена (1-2)-битной диагностической реакции от места обнаружения отказа до периферии бит-матрицы;
  • снижает вероятность "ложной тревоги" за счет индифферентного отношения к картам отказов в недоиспользованном аппаратном ресурсе каждого бит-процессора (см. табл. 4.2), "топология" которых представляет собой теоретико-множественное дополнение до активизированного им "рабочего тела" каждого поток-оператора.
  • Подсистема локализации и идентификации отказов:
  • функционирует с точностью до координат отказавшего бит-процессора и списка (не)реализуемых в нем управляющих, коммутационных и арифметико-логических функций;
  • использует бит-матрицу не столько в МКМД-, сколько в ОКМД-подобном режиме векторно-конвейерного распараллеливания тестовых микропрограмм, формируемых алгоритмическим путем из одно-, двух- или трех бит-процессорных термов ограниченного количества типов;
  • работает в режиме независимого и разделенного во времени формирования множественного отклика на каждую тестовую комбинацию или группу комбинаций тестовых данных от всех термов, принадлежащих одному диагностическому каналу;
  • первой парирует сформированную карту, в том числе и локально катастрофических отказов, за счет обхода обнаруженных неисправностей, обеспечивая тем самым максимально возможную полноту диагностики в каждом цикле своей работы ( Tlr -адаптивность тестовых микропрограмм к действующей карте отказов).
  • Подсистема парирования множественных карт отказов:
  • использует простейшие и потому достаточно быстрые глобальные аффинные преобразования всего "рабочего тела" микропрограммы типа: сдвиги, вращения повороты на целочисленной решетке, приводящие к согласованию затребованного и имеющегося аппаратурного ресурса с учетом действующей карты отказов;
  • может выполнять сложные и потому относительно медленные локальные аффинные преобразования типа: растяжения, срезы, кручения, приводящие к структурным и, вообще говоря, обратимым "деформациям" "рабочего тела" микропрограммы за счет включения в их состав коммутационных термов, обеспечивающих его толерантную перекомпоновку;
  • решает и реализует в квазиреальном масштабе времени целочисленную задачу оптимального разбиения "рабочего тела" микропрограммы на независимо деформируемые и/или перемещаемые модули.
  • При этом не исключается использование классических методов и средств введения информационной и/или аппаратной избыточности на всех стадиях обнаружения, локализации и парирования отказов. В частности, допустимо на уровне субпроцессоров использовать фон-неймановскую схему мажоритарного резервирования, которая работает по принципу "два из трех", "три из пяти" и т. д. и которая эффективно парирует в темпе реального времени одиночные отказы аппаратуры, характерные для условий эксплуатации (Б)ВС в "нормальных" условиях.

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

    В рамках этой стратегии основной вклад в повышение эффективности работы программно-аппаратных средств локализации и идентификации множественных отказов вносит ОКМД-подобный режим работы тестовых микропрограмм, который позволяет обойти свойственное МКМД-режиму "проклятие размерности" задачи тестирования бит-матриц большой размерности (свыше 10^{3} бит-процессоров).

    Действительно, мощность пространства состояний МКМД-бит-процессорной матрицы $$Q(МКМД) = 2^{Rp*I*J}$$ при сверхбольшом ( $$I*J > 10^{3}$$ ) коллективе вычислителей оценивается фантастическими даже для астрономии числами, превращающими процесс локализации и идентификации в "теравековой", даже если одно из этих состояний тестируется за 10-16 сек (0,1 фемтосекунды, что сравнимо с временем установления устойчивых состояний электронов при возбуждении атомов).

    Мощность пространства состояний такой же бит-матрицы, но тестируемой в ОКМД-подобном режиме, определяется разрядностью $$R_{p}$$ регистров инструкций составляющих бит-процессоров: $$Q(ОКМД) = 2^{Rp}$$, что для СБИС Н1841 ВФ1 ( $$R_{p} = 16$$ ) требует более 64000 тестовых микропрограмм.

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

    Однако даже такое кардинальное снижение размерности задач локализации и идентификации отказов не позволяет решать их в (квази) реальном масштабе времени из-за большого времени распространения тест-данных и индивидуальных откликов от периферии к центру бит-матрицы и наоборот.

    Поэтому необходимо ввести достоверные ограничения, разбивающие пространство перебора на две части: тестируемые прямыми методами и косвенными. Это требует учета структурно-функциональных, схемотехнических и топологических особенностей построения конкретных бит-матричных СБИС и призвано снизить более чем на 3-4 порядка размерность задачи прямой диагностики. В таких случаях все пространство состояний объекта диагностики разбивается на два подпространства, одно из которых составляет ядро диагностики и контролируется прямыми методами анализа реальных физических реакций на тестовые данные. Выводы о работоспособности объекта диагностики в состояниях, принадлежащих второму подпространству, делаются косвенным путем на основе определенных правил вывода, достоверность которых поддерживается реализуемыми на практике допущениями ( гипотезами ).

    Из структурно-функциональной схемы бит-процессора (см. рис. 3.2) видно, что такая достоверная (реализуемая в процессе производства СБИС и аппаратуры) упрощающая гипотеза требуется прежде всего для снижения размерности пространства системы внутренней коммутации каждого бит-процессора. Мощность этого пространства задается размером полей А1-А6 регистра бит-инструкций, и для СБИС Н1841 ВФ1 она равна 212.

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

    7.2. Системотехнические факторы, определяющие динамику парирования идентифицированных карт отказов

    Достижимый темп реального времени в работе системы обеспечения живучести МКМД-бит-потоковых субпроцессоров зависит от двух факторов:

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

    Принятая для МКМД-бит-потоковых субпроцессоров стратегия работы подсистемы парирования действующей карты отказов нацелена на то, чтобы задачи трансформации "рабочего тела" микропрограммы пользователя решались в процессе ее загрузки в бит-матрицу.

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

    На выбор типа преобразований, обеспечивающих в (квази)реальном масштабе времени парирование действующей в бит-матрице карты отказов, решающее влияние оказывают 2 фактора:

    МКМД-бит-потоковая технология, как и любая синхронная конвейерная или систолическая технология, критична к нарушениям даже на 1 такт требуемых фазовых соотношений между потоками данных, поступающими на входы каждого бит-процессора из сверх- или гипербольшого коллектива, что видно из соотношений "1.1"-"5.1" раздела 4.1.

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

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

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

    Описанным условиям и динамическим требованиям в достаточной мере удовлетворяют локальные и глобальные аффинные преобразования " рабочего тела" тестовых или пользовательских микропрограмм (рис. 7.4-7.6). В этом случае:

  • исходным объектом преобразований служит топологическая схема микропрограммы, полученная дорогостоящим эмпирическим путем;
  • полностью сохраняются фазовые соотношения между пространственно-временными потоками данных внутри преобразуемых микропрограммных модулей;
  • для восстановления информационных связей и фазовых соотношений по потокам данных между перемещаемыми и неподвижными микропрограммными модулями (рис. 7.7-7.9) используются бит-процессоры, способные выполнить требуемые коммутационные функции.
  • Аффинные преобразования в геометрии сохраняют линейные соотношения между объектами преобразований, а при их использовании в системе парирования отказов в МКМД-бит-процессорных матрицах, кроме преобразования координат размещения бит-операций на матрице, в ряде случаев требуют еще и преобразования содержимого адресной части перемещаемых по бит-матрице микропрограммных модулей (см. раздел 6.3 [298, 299]).

    (рис 7.4) Топология микропрограммы DCC с вращением вокруг оси Х 180 (рис 7.5) Топология микропрограммы DCC, повернутая на 90 вокруг центральной оси симметрии(рис 7.6) Топология микропрограммы DCC с вращением вокруг каждой оси X и Y на 180(рис 7.7) Отказ всех каналов АЛУ в 4-м столбце бит-матрицы парируется растяжением топологии микропрограммы(рис 7.8) Отказ 2-х каналов АЛУ в 3-м столбце, 1-го канала АЛУ и полный отказ бит-процессора в 4-м столбце парируются кручением топологии микропрограммы

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

    При выборе системы локальных аффинных преобразований необходимо решить две взаимосвязанные задачи:

  • разбиения "рабочего тела" микропрограммы как минимум на 2 модуля, один из которых неподвижен, а другой - перемещаем;(рис 7.9) Полный отказ пяти бит-процессоров 1-й строке, 4 отказа АЛУ с разными последствиями для WTR в 3-м столбце парируются одним срезом топологии микропрограммы
  • выбора для такого разбиения системы локальных, толерантных, аффинных преобразований.
  • Конфигурация локально преобразуемых микропрограммных модулей обычно считается прямоугольной, а линейные размеры каждого из них можно получить, взяв за основу либо топологию действующей карты отказов, либо топологию исходного поток-оператора пользователя.

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

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

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

    Наибольший сдвиг по "горячему" аппаратному резерву вызывают кручения локальных микропрограммных модулей (см. рис. 7.8), в которых площадь согласующих коммутационных блоков зависит от количества ( $$d_{1}$$ ) строк в преобразуемом модуле и от количества ( $$d_{2}$$ ) его информационных связей с предшествующим по топологии функциональным модулем:

    $$d_{1}*d_{2}/2 \le A \le d_{1}*d _{2}.$$

    Но именно этот вид аффинных преобразований дает (при прочих равных условиях) максимальное количество вариантов (пере)размещения "рабочего тела" микропрограммы: $$M = 2^{b}$$, где $$b$$ - количество независимо вращаемых на 180о вдоль оси Х микропрограммных модулей, связанных единым потоком обрабатываемых данных.

    Таким образом, на основе приведенных данных можно заключить:

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

    Для выделения подпространства коммутации, диагностируемого прямым путем, введем упрощающую гипотезу, которая имеет следующий вид: если в процессе прямой диагностики бит-матрицы каждый бит адресной части (А1-А6) всех бит-инструкций побывал и в "нулевом", и в "единичном" состоянии, то результаты прямого контроля полученных таким путем коммутационных функций бит-процессора с высокой степенью достоверности можно распространить на остальные, косвенно контролируемые комбинации соединения входов-выходов.

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

    Для этого достаточно закодировать термы рис. 7.10 следующим образом:

    КОП ПЗ А1 А2 А3 А4 А5 А6
    а) 011 1 10 00 00 00 10 00 контроль горизонтальных связей бит-матрицы
    б) 011 1 01 11 11 11 01 11 контроль вертикальных связей бит-матрицы
    (рис 7.10) Топология микропрограммы одного канала возвратного линейного тест-контроля горизонтальных связей бит-матрицы

    При этом удается совместить диагностику внутренней системы коммутации бит-процессоров с контролем горизонтальных и вертикальных связей бит-матрицы:

  • по варианту a пары адресов (А1, А4) кодируют канал передачи бит-данных "справа-налево", (А2, А5) - "слева-направо", а (А3, А6) - "слева-налево";
  • по варианту b все аналогично, только с поворотом на 90о против часовой стрелки, то есть пары адресов (А1, А4) кодируют канал передачи бит-данных "сверху-вниз", (А2, А5) - "снизу-вверх", а (А3, А6) - "снизу-вниз".
  • В этой схеме тестовый сигнал длиною в $$3I+1$$ бит вида $$000..001$$ распространяется "слева-направо", а отклик каждого бит-процессора - в противоположном направлении, то есть "справа-налево". Если внутренняя система коммутации и внешние горизонтальные (вертикальные) гальванические связи бит-процессоров одного тестового канала исправны, то на выходе первого бит-процессора начиная с первого такта появляется "меандр" вида $$0101..01$$. Здесь первый бит тест-данных и откликов расположен справа.

    Продолжительность тестирования горизонтальных и вертикальных связей бит-матрицы зависит от разрядности гальванических шин, обеспечивающих доступ к периферийным бит-процессорам матрицы. Минимальное время тестирования достигается в бит-матрице с полнодоступной периферией, для которой диагностика горизонтальных и вертикальных связей занимает $$\sim 1,5(I+J) $$ тактов, а количество каналов тестирования равно периметру бит-матрицы и составляет $$2(I+J)$$.

    Максимальное время тестирования достигается в бит-матрице, имеющей по одному тестовому входу и выходу слева и снизу, что позволяет создать единственный $$U$$ -образный горизонтальный и вертикальный канал распространения тест-данных и откликов (рис. 7.11).

    (рис 7.11) Топология микропрограммы U-образного возвратного тест-контроля горизонтальных связей бит-матрицы

    В этом случае контроль вертикальных и горизонтальных связей бит-матрицы обходится в $$2(I*J)$$ тактов, то есть в самом худшем случае этот этап эксплуатационной диагностики бит-матрицы $$I*J = 10^{3}$$ бит-процессоров на основе СБИС Н1841 ВФ1 с длительностью такта $${\tau}_{с} = 200$$ нсек составит всего лишь 400 мкс.

    Таким образом, в результате принятия всего двух упрощающих гипотез, одна из которых позволяет распространить результаты контроля, полученные в ОКМД-режиме тестирования, на МКМД-режим использования бит-матрицы, нисходящая (последовательно сужающая) по функциям и координатам стратегия диагностики принимает вид:

    Шаг 1. Контроль доступности каждого бит-процессора по FIFO -регистровым каналам загрузки бит-инструкций (контроль $$r_{p}$$ -разрядной FIFO -регистровой P -шины).

    Шаг 2. Контроль начального состояния и динамики переключения D -триггеров операционных каналов и каналов транзита во всей бит-матрице.

    Шаг 3. Контроль доступности каждого бит-процессора по ортогональным FIFO -регистровым каналам приема-передачи данных (контроль коммутации двумерной FIFO -регистровой D -шины).

    Шаг 4. Функциональный контроль исполнения бит-инструкций: NOP, AND, NAND, XOR, ADD, ST1 и CG.

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

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

    Простейший способ формирования тест-данных состоит в их независимом распространении по каналам транзита ( T -рекурсивный тест) двух соседних строк бит-процессоров с возвращением отклика по каналам транзита третьей строки (рис. 7.12). Такую топологическую структуру одного тестового канала в дальнейшем будем называть T -рекурсивным возвратным тестом.

    (рис 7.12) Топологическая схема Т-рекурсивной микропрограммы функционального контроля верхней строки тестового канала

    Однако такой тестовый канал занимает три строки бит-матрицы, из которых только одна контролируется (заштрихована на рисунке), что увеличивает время локализации и идентификации отказов и снижает коэффициент распараллеливания тестовых микропрограмм ОКМД-типа. Более того, для контроля двух других строк бит-процессоров, принадлежащих одному тестовому каналу, необходимо изменить топологию микропрограммы (рис. 7.13 и 7.14), что усложняет процедуру генерации тестовых микропрограмм и принятия решений при обходе обнаруженных отказов.

    (рис 7.13) Топологическая схема Т-рекурсивной микропрограммы функционального контроля средней строки тестового канала(рис 7.14) Топологическая схема Т-рекурсивной микропрограммы функционального контроля нижней строки тестового канала.

    В FT -рекурсивном функциональном тесте (рис. 7.15) один тестовый операнд распространяется по каналам транзита бит-процессоров соседней строки, а второй тестовый операнд представляет собой отклик предшествующего бит-процессора на тестовое воздействие.

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

    (рис 7.15) Топологическая схема FT-рекурсивной микропрограммы функционального контроля верхней строки тестового канала(рис 7.16) Топологическая схема 2F-рекурсивной микропрограммы функционального контроля двух строк тестового канала

    Из приведенных данных видно, что процедура генерации тестовых микропрограмм очень проста и сводится к воспроизводству ограниченного количества типов термов согласно заранее заданным параметрам $$(I, J)$$ диагностируемой бит-матрицы.

    Основной недостаток рекурсивных в пространстве и во времени алгоритмов локализации и идентификации отказов состоит в том, что неисправность:

  • в каждом предыдущем бит-процессоре нарушает логику перебора комбинаций входных тест-данных в последующих бит-процессорах тестируемого канала;
  • в каждом последующем бит-процессоре "блокирует" доставку откликов от всех предыдущих бит-процессоров.
  • В 2F - и FT -рекурсивных тестах к этим недостаткам добавляется еще и существенное снижение вероятности локализации и идентификации отказов за счет появления в одном тестовом канале "взаимно компенсирующих неисправностей".

    В Т -рекурсивных тестах основной вклад в увеличение неопределенности задач локализации и идентификации отказов вносят неисправные эквидистантные D -триггеры двумерной FIFO -регистровой D -шины бит-матрицы, действующая конфигурация и правильность работы которой достаточно полно определяются на шагах 2 и 3.

    В ассоциативных МКМД-бит-потоковых вычислителях особое место занимают отказы установки начального состояния D -триггеров каналов АЛУ и транзита, которые могут быть "захвачены" и сохранены микро- и макро-"вихрями" в потоках данных.

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

  • инверсия PD-ассоциативного управления бит-инструкциями ADD и ST1 (см. (5.30) и (5.31) курса "Задачи и модели вычислительных наноструктур");
  • ненулевое начальное состояние FIFO -регистров-аккумуляторов накапливающих сумматоров;
  • изменение содержимого управляющих, DD -ассоциативных, циклических констант, задающих разрядность $$n$$ слов-операндов и их количество $$N$$ в циклически обрабатываемых потоках данных.
  • В первом случае последствия отказа обусловлены микро-"вихрем", который образуется в цепи обратной связи АЛУ бит-процессора (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур") при его настройке на бит-операции ADD и ST1.

    В двух других случаях такие последствия отказа начальной установки обусловлены макро-"вихрями", которые образуются в цепях обратной связи топологической структуры поток-оператора пользователя (см. аккумулятор сумматора-накопителя рис. 4.8).

    Для бит-инструкции ADD такой тип отказа парируется автоматически за два такта "холостого хода" линейного конвейера при условии, что в это время на входах АЛУ действует комбинация $$x_{2} = x_{1} = 0$$ (см. табл. 5.7 курса "Задачи и модели вычислительных наноструктур"). Она обеспечивает (на следующем такте) переход "единицы переноса" на выход сумматора и обнуление D -триггера обратной связи. Для бит-инструкции ST1 в этом случае уже требуется упреждающая начало функциональной обработки комбинация $$x_{2} = 1; x_{1} = 0$$ (см. табл. 5.8курса "Задачи и модели вычислительных наноструктур"), которая за один такт корректирует состояние D -триггера обратной связи.

    В случае сумматора-накопителя отказ начальной установки его FIFO -регистрового аккумулятора, вообще говоря, парируется обнулением всех входящих в него D -триггеров (см. рис. 5.12 курса "Задачи и модели вычислительных наноструктур" и 4.8 ), которое необходимо выполнить до начала суммирования.

    Из изложенного видно:

  • в бит-матрицах на основе СБИС Н1841 ВФ1 после каждого включения питания необходим запуск (рис 7.17) Топологическая схема микропрограммы корректирующей диагностики начальных состояний D-триггеров бит-матрицы
  • кроме коррекции начального состояния D -триггеров каналов АЛУ и транзита, тест рис. 7.17 позволяет проверить еще и работоспособность горизонтальных (вертикальных) каналов бит-матрицы, определив при этом координаты D -триггеров с отказами типа "тождественный ноль", "тождественная единица" или "инверсия выхода", требующими полного их исключения из процесса тестирования и последующей обработки потоков данных. Таким образом, данная стратегия диагностики:
  • исходит из ранга теста, который определяется по степени катастрофичности последствий обнаруживаемых им отказов;
  • ориентирована на максимальное использование знаний предшествующей карты отказов для создания Tlr -адаптивной вторичной топологии всех последующих тестов, что снижает количество циклов и продолжительность контроля всей бит-матрицы;
  • допускает построение тестов согласно затребованному активным или активизируемым поток-оператором операционному ресурсу ( Tlf -адаптивность).
  • В последнем случае топология тестов строится исходя из пространственного распределения по бит-матрице составляющих поток-оператор бит-инструкций.

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

  • NAND и только в бит-процессорах с координатами: (1, 1), (1, 2) и (1, 5);
  • AND и только с координатами: (1, 3), (2, 2), (2, 5) и (3, 2);
  • ST1 и только с координатой (2, 1);
  • XOR и только с координатой (2, 3);
  • ADD и только с координатой (1, 4),
  • из которых только AND требует трех фаз тестирования, связанных с перемещением тестового канала по строкам бит-матрицы, а остальные - по одной фазе, причем (не)работоспособность остальных бит-процессоров подтверждается либо на шаге 2 (координаты (3, 1), (3, 3) и (3, 4)), либо на шаге 3 (координата (2, 4)).

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

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

    Такое положение вещей является объективной платой за совмещение во времени и пространстве процессов передачи и обработки данных, которое в МКМД-бит-процессорных технологиях обеспечивает однократный ввод входных операндов в систему и многократную их обработку с предельно допустимой скоростью по всей "ширине" и "глубине" макроконвейера, образованного активизированными слов-инструкциями.

    Вторичная топологическая структура тестовых микропрограмм (линейная или U -образная) вносит решающий вклад в полноту и/или продолжительность диагностики. Она в основном зависит от конструктивных особенностей организации ввода-вывода в бит-матрицу тестовых микропрограмм и данных по гальваническим P - и D -шинам. Для промышленной диагностики характерна полная гальваническая доступность всех периферийных процессоров по данным (рис. 7.18-а), что позволяет использовать только тесты с линейной вторичной топологической структурой, которые обеспечивают и минимальное время тестирования, и максимальную полноту диагностики, и максимальную Tlr -адаптивность тестовых микропрограмм к действующей в бит-матрице карте отказов.

    (рис 7.18) Конструкции гальванических (I_g, J_g) D-шин

    Для эксплуатационной диагностики (бортовой и наземной, первая из которых проводится в квазиреальном масштабе времени, а вторая - в достаточно оперативном режиме предполетной подготовки) характерны конструктивные ограничения на гальванические тестовые шины ввода-вывода данных (рис. 7.18-(б-г)). Это вынуждает использовать U -образные тесты, продолжительность которых обычно в 2 и более раз больше чем линейных. "Развороты" потоков тест-данных и откликов в U -образных тестах либо снижают полноту контроля, либо требуют дополнительных фаз загрузки тестовых микропрограмм с достаточно специфической топологией для контроля периферийной подматрицы, доступной только по FIFO -регистровым каналам.

    Конструкция FIFO -регистровой Р -шины вносит решающий вклад в минимизацию времени программирования бит-матрицы, а значит, и общего времени ее диагностики, так как каждый ее цикл содержит те же этапы, что и обработка данных, и в идеале должен удовлетворять системообразующему неравенству (6.1) курса "Задачи и модели вычислительных наноструктур".

    Теоретически время программирования $$T_{p}$$ можно свести к одному такту, для чего требуется гальваническая Р -шина размером $$R_{p}*I*J$$, что в современном микроэлектронном исполнении технически нереализуемо для сверх- и гипербольших коллективов вычислителей: $$I*J > 10^{3 }$$ или $$I*J > 10^{6}$$ соответственно. В силу этих причин конструкцию FIFO -регистровой Р -шины обычно делают последовательной либо по строкам, либо по столбцам, а сам регистр бит-инструкции: последовательной записи и параллельного чтения. В результате время программирования бит-матрицы становится равным либо $$T_{p} = R_{p}*I*{\tau}$$, либо $$T_{p} = R_{p}*J*{\tau}$$, где $${\tau}$$ - продолжительность 1-го такта работы бит-матрицы.

    7.4. Особенности синтеза тест-данных и анализа откликов бит-процессоров

    На время получения индивидуальных откликов от всех бит-процессоров тестируемого канала (в данном случае это $$T_{d}$$ из (6.1) курса "Задачи и модели вычислительных наноструктур" основное влияние оказывают два фактора: режим работы бит-процессора и допустимое время "сеанса связи" с ним, которое определяется вторичной топологической структурой тестовой микропрограммы.

    Из таблиц 5.7, 5.8 курса "Задачи и модели вычислительных наноструктур" и 3.1, видно, что бит-процессор может работать в трех режимах: комбинационного ( AND, NAND, XOR ), конечного ( ADD, ST1, CG ) и коммутационного ( WTR ) автомата с FIFO -регистровым типом распространения данных в процессе передачи, обработки или циклического "хранения" ( CG ).

    В режиме конечного автомата "глубина" PD - ассоциативной обратной связи (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур") равна одному такту. Поэтому минимальная

    последовательность тест-данных, в которой формируется декартово произведение второго порядка $$S*S (S\in\{0, 1, 2, 3\})$$, отвечающее полной матрице переходов такого автомата, имеет вид: 0,0,1,1,2,2,3,3,0,2,1,3,2,0,3,1,0.

    Здесь $$S$$ - десятичное представление наборов значений двоичных входных переменных бит-процессора: $$(S = 1):=(x_{2} = x_{1} = 0)$$, $$(S = 2):=(x_{2} = 0; x_{1} = 1)$$, $$(S = 2):=(x_{2} = 1, x_{1} = 0)$$, $$(S = 3):=(x_{2} = x_{1} = 1)$$.

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

    При работе в режиме коммутационного автомата используются только D -триггеры канала АЛУ и транзита, полная матрица переходов которых задана на алфавите $$S\in\{0,1\}$$ и формируется последовательностью 0,0,1,1,0.

    В Т -рекурсивных тестах слияние по "ИЛИ" откликов от всех бит-процессоров одного тестового канала и продолжительность "сеансов связи" с каждым из них, которая ограничена 4 тактами (см. рис. 7.12- 7.14), приводят к следующим разбиениям на циклы и модификациям этих последовательностей тест-данных:

  • для бит-операций AND, XOR, ADD: $$0(0,1,1,0)0,…,0$$ ; $$0(2,2,3,0)0,…,0$$ ; $$0(3,3,2,0)0,…,0$$ ; $$0(2,1,3,0)0,…,0$$ ; $$0(3,1,2,0)0,…,0$$, где выход канала АЛУ протестированного бит-процессора устанавливается в "ноль" комбинацией тест-данных $$(S = 0):=(x_{2} = x_{1} = 0)$$ ;
  • для бит-операции ST1: $$0(0,1,1,2)0,…,0$$ ; $$0(2,2,3,2)0,…,0$$ ; $$0(3,3,1,2)0,… ,0$$ ; $$0(1,3,0,2)0,…,0$$ ; $$0(2,1,0,2)0,…,0$$, где выход канала АЛУ протестированного бит-процессора устанавливается в "ноль" комбинацией тест-данных $$(S = 2):=(x_{2} = 1, x_{1} = 0)$$ ;
  • для бит-операции NAND: $$0(1,1,2,3)3,…,3$$ ; $$0(2,2,1,3)3,…,3$$ ; $$0(3,1,0,3)3,…, 3$$ ; $$0(3,2,0,3)3,…,3$$ ; $$0(3,0,0,3)3,…,3$$, где выход канала АЛУ протестированного бит-процессора устанавливается в "ноль" тестовой комбинацией $$(S = 3):=(x_{2} = x_{1} = 1)$$ ;
  • для бит-операции WTR (см. рис. 3.3 и 7.10): $$0(0,1,0)0,…,0$$ ; $$0(1,1,0)0,…,0$$, где "сеанс связи" с тестируемым бит-процессором ограничен 3 тактами;
  • для бит-операций NOP, CG и шагов 1 и 2 в части динамики работы D -триггеров: $$0(0,1,1,0)0,…,0$$ ;
  • при контроле начального состояния D -триггеров FIFO -регистровой D -шины: $$0,0,…,0$$, так как все бит-процессоры находятся в режиме "прослушивания" этих состояний.
  • Здесь:

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

  • NAND связана с необходимостью DD -ассоциативной "блокады" паразитных "единичных" откликов от нетестируемых в данный момент времени бит-процессоров одного канала, что реализуется бит-процессорам 2-й строки этого канала;
  • CG связана с тем, что "отклик" каждого бит-процессора тестируемого канала заносится в их регистры бит-инструкций при программировании бит-матрицы и циклически "хранится" в них; это требует не только DD -ассоциативной "блокады", но и соответствующего сдвига влево хранимой тестовой последовательности, которая представлена в шестнадцатеричном виде в мнемонической записи этой бит-инструкции;
  • NOP связана с тем, что в этом случае доступ к таким бит-процессорам по входу-выходу можно осуществить только слева, что выполнимо только по вертикальным Т -каналам передачи тест-данных и откликов. На основе проведенного анализа основных факторов, определяющих
  • динамику работы подсистемы локализации и идентификации отказов в современных микроэлектронных МКМД-бит-потоковых технологиях, можно сделать следующие выводы.

  • При синтезе тестовых последовательностей проверяемые бит-процессоры приходится рассматривать как конечные, а не как комбинационные автоматы.
  • Провести полное тестирование даже "высоконадежных" (сверх) параллельных МКМД-бит-потоковых вычислителей невозможно в принципе, а для поддержания достоверности гипотез, снижающих размерность задач локализации и идентификации, требуются специальные меры защиты "рабочего тела" в процессе его изготовления и эксплуатации.
  • В процессе тестирования относительно больших бит-матриц нарушается системо- образующее для МКМД-бит-потоковых технологий неравенство (6.1) курса "Задачи и модели вычислительных наноструктур", что при коротком "времени жизни" может привести к зацикливанию супрамолекулярного вычислителя на фазе диагностики. Для восстановления соотношений в неравенстве (6.1) курса "Задачи и модели вычислительных наноструктур" требуется обеспечить прямой доступ по P - и D -шинам к каждому бит-процессору.
  • Tlr -адаптивность тестовых микропрограмм является вынужденной мерой, обусловленной использованием параметрических методов адаптации однородной бит-матрицы под требования активизированного поток-оператора пользователя.
  • Восстановление работоспособности МКМД-бит-потоковых субпроцессоров можно провести в интерактивном режиме, допускающем перекомпоновку тела микропрограммы не только на основе аффинных преобразований, что требует использования в эксплуатации отладочных средств разработчика, таких как имитатор работы бит-матрицы и графический редактор (см. рис. 7.2).
  • 7.5. Особенности термального синтеза тестовых микропрограмм в процессе эксплуатационной диагностики

    Согласно методике многоуровневого имитационного моделирования бит-потоковых субпроцессоров (см. раздел 3.4), во время функционального контроля пространство прямой диагностики бит-процессоров разбивается на три подпространства:

  • подпространство микропрограммного управления бит-процессоров, образованное регистрами команд и глобальной шиной управления вводом программы, которое поддерживает условия требуемого пространственно-временного, регистрового взаимодействия бит-инструкций активизированного поток-оператора пользователя;
  • подпространство внутренней системы коммутации бит-процессоров, которое описывает всевозможные состояния входных и выходных коммутаторов бит-процессоров, обеспечивающих пространственно-временное распределение потоков данных;
  • подпространство арифметико-логических функций бит-процессоров, образованное всевозможными состояниями АЛУ, которое обеспечивает пространственно-временное взаимодействие потоков данных и сигналов.
  • Таким образом, стратегию функционального иерархического контроля можно реализовать как взаимосвязанную систему тестов, в которой поэтапно сужается проверяемое пространство возможных состояний бит-матрицы за счет информации, полученной на предыдущих этапах тестирования.

    В СБИС Н1841 ВФ1 каналы ввода и хранения бит-инструкций выполнены по простейшей последовательной схеме, что было обусловлено количеством выводов в корпусе СБИС. Это увеличило время ввода (микро)программы, но позволило достаточно просто проконтролировать правильность ее загрузки в 320-битный FIFO -регистр. Для этого достаточно осуществить двойной ввод (микро)программы и сопоставить на выходе загружаемую последовательность с получаемой после первого ввода. Это достаточно достоверный способ обнаружения отказов D -триггеров, но он не позволяет отреагировать на сбои во время второго сеанса ввода (микро) программы.

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

    При контроле вертикальных и горизонтальных связей косвенно проверяются D -триггеры, принадлежащие поля А1-А6 регистра бит-инструкций. Поэтому тестовые микропрограммы контроля вертикальных и горизонтальных связей необходимо модифицировать таким образом, чтобы каждый из этих триггеров побывал и в "нулевом", и в "единичном" состояниях.

    Аналогичным образом косвенно проверяется работоспособность D -триггеров, принадлежащих полю кода операции регистра бит-инструкций, когда во время тестирования арифметико-логических функций необходимо делать вывод о неработоспособности либо АЛУ, либо регистра. Это делает весь процесс эксплуатационного контроля бит-матрицы глобально связанным, что негативно сказывается на продолжительности коммутационного и функционального контроля бит-матрицы и служит достаточно серьезным препятствием на пути построения такой системы взаимного контроля бит-матриц, в которой вопрос "кто сторожит сторожа" стоял бы не так остро.

    По результатам косвенной проверки пространства управления трудно получить достаточную информацию о характере неисправности бит-процессора и о количестве одновременных отказов, так как отказ одного или двух вентилей в бит-процессоре не выводит его из строя, а лишь сокращает пространство ( $$E = 2^{R}$$ ) правильно исполняемых инструкций.

    Поэтому имеет смысл организовать доступ к регистрам бит-инструкций для непосредственного контроля пространства управления по схеме рис. 7.19, где:

  • вход SetPr используется для выделения бит-процессора как при записи в его регистр команды соответствующей бит-инструкции, так и при ее "чтении" в процессе тестирования канала управления бит-матрицей;
  • вход Progrвх используется для записи потока 16-разрядных бит-инструкций микропрограммы;
  • вход SetTst используется для установки режима тестирования регистров бит-процессоров;
  • выход TstPrg поочередно предоставляется для "чтения" контролируемой в данный момент времени бит-инструкции;
  • вход C служит для подачи сигнала синхронизации.
  • (рис 7.19) Схема бит-процессора с доступом для контроля подпространства микропрограммного управления

    Из перечисленных сигналов глобальными являются SetTs и C, и именно они ограничивают размеры синхронно работающей бит-матрицы.

    Схема рис. 7.19 работает следующим образом. Сначала за 1 такт в регистр команды бит-процессора, выделенного с помощью сигнала SetPr, заносится бит-инструкция, а в остальные бит-процессоры заносятся нули. После этого в течение 16 тактов подается сигнал SetTst = 1 и регистры команд всей матрицы начинают работать как сдвиговые регистры. Но так как во все регистры, кроме тестируемого бит-процессора, внесены нули, то записанная инструкция считывается на выходе TstPrg последовательно старшим разрядом вперед. Общее время диагностики подпространства управления $$T^{u}_{d}$$ равно $$T_d^u = [8\cdot(М_{1} *М_{2})^{2} +24\cdot М_{1} *М_{2}]\cdot\tau,$$ (должно быть $$(1+16)*М_{1}*М_{2}$$ ), что при тактовой частоте бит-матрицы 250 МГц и ее размерах $$М_1 = 40 М_{2} = 40$$ составит 83 миллисекунды.

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

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

    Выделить подпространство коммутации, контролируемое прямым путем, можно с помощью упрощающей гипотезы: если в процессе прямой диагностики бит-матрицы каждый бит адресной части (А1-А6, рис. 3.2) всех бит-инструкций побывал и в "нулевом", и в "единичном" состоянии, то результаты прямого контроля полученных таким путем коммутационных функций бит-процессоров с высокой степенью достоверности можно распространить на остальные, косвенно контролируемые комбинации соединения входов-выходов.

    В этом случае для прямого контроля коммутационных возможностей бит-матрицы требуется всего два типа тестовых микропрограмм, которые к тому же обеспечивают контроль вертикальных и горизонтальных каналов FIFO -регистровой передачи данных по бит-матрице, а значит, и правильность исполнения в ней операции "расширенный транзит" ( WTR - см. табл. 3.1) [138-141]. Для такого тестирования достаточно закодировать термы, изображенные на рис. 7.20, следующим образом:

    КОП ПЗ А1 А2 A3 А4 А5 А6
    рис. 7.20-а 011 1 00 10 00 10 00 00
    рис. 7.20-6 011 1 11 01 11 01 11 11

    Для рис. 7.20-а пары адресов (А1-А4) кодируют канал передачи бит-данных "слева-направо", (А2-А5) - "справа-налево", а (А3-А6) -

    "слева-налево", а для рис. 7.20-б все аналогично, только с вращением вдоль побочной диагонали [298]. Аналогично для соответствующих пар рис. 7.20 (в-г), (д-е), (ж-з), (и-к), (л-м).

    (рис 7.20) Термы контроля горизонтальных и вертикальных связей бит-матрицы

    Таким образом, контроль подпространства коммутации можно совместить с контролем подпространства управления в части управления входными и выходными коммутаторами и определяет характер расположения интерфейса ввода-вывода бит-матрицы. Для удобства тестирования интерфейс должен быть полностью доступен (см. рис. 7.18) либо слева и снизу при термальном составе рис. 7.20-а и 7.20-б, либо сверху и справа при термальном составе рис. 7.20-в и 7.20-г.

    В этом случае контроль подпространства коммутации и связанного с ним подпространства управления можно ограничить двумя типами однострочных тестов [138-141] (на рис. 7.20 верхняя строка - это первый тип, а нижняя - это второй тип), которые снижают размерность тестируемого пространства состояний регистра бит-инструкций бит-процессора с 216 до 9:

  • два типа организации тестовых каналов необходимо использовать при контроле коммутации, которые имеют два типа модификации признака задержки: ПЗ = 0 и ПЗ = 1 (итого 4 типа тестов для контроля коммутационных возможностей бит-матрицы);
  • пять типов тестов контроля бит-инструкций АЛУ: ADD, ST1, XOR, AND, NAND (см. табл. 3.1), число которых можно сократить до трех: ADD - КОП = 001, ST1 - КОП = 110 и XOR - КОП = 101, с учетом "вложенности" функций в АЛУ, реализованного по схеме УЛМ (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур").
  • Таким образом, при контроле бит-матрицы тестовое ядро прямой оперативной диагностики можно ограничить семью состояниями регистра команд каждого бит-процессора из 216 возможных. При этом повысить полноту диагностики всей бит-матрицы можно в процессе послеполетного обслуживания ЛА. Цель такой диагностики состоит в построении и анализе матрицы трансформаций функций под воздействием карт отказов, которую можно использовать при интерактивной компоновке "рабочего тела" микропрограммы, учитывающей топологию размещения бит-инструкций, фактически реализуемых бит-процессорами с отказавшими вентилями.

    Если на снижение размерности диагностируемого пространства основное влияние оказывают системотехнические факторы, то на снижение времени каждого проводимого теста - схемотехнические факторы, от которых зависит длина последовательности тест-данных. При этом топологическая схема тестового канала определяет продолжительность "сеанса связи" с каждым бит-процессором и поэтому разбивает "идеальную" тестовую последовательность на подпоследовательности, суммарная длина которых превосходит идеальную (см. раздел 7.4). Она формируется исходя из схемотехнических особенностей реализации бит-процессоров по методике восходящего синтеза (см. раздел 3.4) и поддерживается инструментальной платформой BPBrowse (см. раздел 6.4).

    Бит-процессор может работать в трех режимах: комбинационного ( AND, NAND, XOR ), конечного ( ADD, ST1 ) и коммутационного ( WTR ) автомата с последовательным типом распространения данных в процессе передачи или обработки.

    В режиме конечного автомата глубина обратной связи АЛУ (см. рис. 5.12 и 5.13 курса "Задачи и модели вычислительных наноструктур") равна одному такту. Поэтому минимальная последовательность тест-данных, в которой формируется декартово произведение второго порядка $$S\otimesS (S\in\{0,1,2,3\})$$, отвечающее полной матрице переходов такого автомата, имеет вид: $$0,0,1,1,2,2,3,3,0,2,1,3,2,0,3,1,0$$.

    Здесь $$S$$ - десятичное представление наборов значений двоичных входных переменных бит-процессора: $$(S = 1):=(x_{2} = 0; x_{1} = 0)$$, $$(S = 2):=(x_{2} = 0; x_{1} = 1)$$, $$(S = 2):=(x_{2} = 1; x_{1} = 0)$$, $$(S = 3):=(x_{2} = 1; x_{1} = 1)$$.

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

    При работе в режиме коммутационного автомата используются только D -триггеры канала АЛУ и транзита. Полная матрица переходов этих триггеров задана на алфавите $$S\in\{0,1\}$$ и формируется последовательностью 00110.

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

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

  • согласованным выбором в разных тестах направлений приема-передачи данных по трем независимым параллельным каналам их распространения через бит-процессор (всего 213 вариантов состояния внутренней системы коммутации);
  • вариацией длины потока тест-данных $$N_{e}$$ в зависимости от режима контроля бит-процессора, где основной вклад в полноту контроля вносят D -триггеры, если речь идет о проверке коммутационных возможностей бит-матрицы, и конвейерное суммирование, если речь идет о ее функциональном контроле.
  • Таким образом, только комплекс схемо- и системотехнических мер с достоверными и поддерживаемыми в производстве СБИС упрощающими гипотезами или допущениями призван кардинальным образом снизить время прямой диагностики бит-матриц большой размерности с тем, чтобы довести это время до требований (квази)реального масштаба времени. В результате нисходящая (последовательно сужающая) по функциям и координатам стратегия диагностики приняла следующий вид.

    Этап 1. На этом этапе осуществляется контроль коммутационных возможностей бит-матрицы и косвенный контроль управления бит-процессорами, состоящий из двух взаимосвязанных фаз. В первой фазе осуществляется контроль начального состояния D -триггеров операционных каналов и каналов транзита во всей бит-матрице путем "прослушивания" канала без подачи на его вход тестовых данных. Во второй фазе контролируется доступность каждого бит-процессора по ортогональным FIFO -регистровым каналам приема-передачи данных. Здесь уже используются последовательности входных тест-данных и анализируется качество отклика каждого бит-процессора, принадлежащего отдельному тестовому каналу. В этой фазе используются два типа коммутационных тестовых микропрограмм (см. рис. 7.20) с установкой "признака задержки" сначала в "ноль", а затем в "единицу". Полученные отклики бит-процессоров анализируются, и ставится диагноз для ка ждого бит-процессора. Если не удается точно локализовать координату отказавшего бит-процессора, то проводится уточняющее тестирование для всех накопленных неоднозначностей в локализации координаты отказавшего бит-процессора, но уже в усеченном виде, то есть только для бит-процессоров, "подозреваемых" на неисправность.

    Этап 2. На этом этапе проводится функциональный контроль исполнения бит-инструкций, причем он осуществляется в обязательном порядке только для самых "сложных" бит-инструкций ADD, ST1, XOR табл. 3.1. Контроль исполнения более простых бит-инструкций ( AND, NAND ) осуществляется по необходимости и только для тех бит-процессоров, где выявлена неправильная реализация функций ( ADD ) или ( ST1 ).

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

  • Если бит-процессор недоступен по ортогональным коммутационным D -шинам, то невозможно проконтролировать его правильное функционирование.
  • Если бит-процессор или подматрица недоступны для тестовых микропрограмм, то они тем более недоступны и для микропрограмм поток-операторов пользователя.
  • В ассоциативных МКМД-бит-потоковых вычислителях особое место занимают отказы установки начального состояния D -триггеров каналов АЛУ и транзита, которые могут быть "захвачены" и сохранены микро- и макро-"вихрями" в потоках данных. Но вероятность таких отказов D -триггеров слишком мала (меньше 1%), а в масштабе бит-процессора еще меньше, зато высока вероятность константной неисправности (см. табл. 3.16).

    Таким образом, данная стратегия диагностики обладает следующими особенностями:

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

    Алгоритмические, топологические и конструктивно-технологические особенности построения и адаптации тестовых микропрограмм под действующую карту отказов составляют сложный комплекс системотехнических проблем, от успешного решения которых во многом зависит уровень (квази)реального масштаба времени в системе обеспечения отказоустойчивости МКМД-бит-потоковых субпроцессоров.

    Критерий эффективности работы адаптивных алгоритмов генерации тестовых микропрограмм определяется следующими факторами:

  • сложностью, а значит, и временем синтеза теста и анализа полученных на его основе откликов;
  • полнотой покрытия тестовыми микропрограммами диагностируемых функций и бит-матрицы и достоверностью результатов диагностики. Использование традиционных алгоритмов нахождения наименьшего
  • пути между двумя точками [300] методом динамического программирования (ДП) и алгоритмов с различными стратегиями или условиями возврата плохо совместимы с темпом реального времени из-за их высокой вычислительной сложности, особенно для бит-матриц больших размеров.

    При использовании ДП-алгоритмов в каждом цикле в определенном порядке проверяются все бит-процессоры матрицы, число которых равно $$N*N$$, где $$N$$ - размер проверяемой бит-матрицы. Для каждого бит-процессора матрицы (в общем виде) выполняется 1 операция сравнения и 2 - присваивания. Следовательно, сложность этого алгоритма - $$О(N^{2})$$ в рамках только одного типа теста и одного набора тест-данных.

    В алгоритме с возвратом перебираются все возможные в рекурсивной процедуре пути, количество которых составляет $$C_{2N-2}^{N-1}$$. Следовательно, сложность этого алгоритма - $$O(C_{2N-2}^{N-1})$$, что также плохо совместимо с темпом реального времени при больших размерах бит-матриц.

    Если во главу угла поставить требование темпа реального времени при проведении эксплуатационной диагностики МКМД-бит-потоковых субпроцессоров, то необходимо отказаться от использования в адаптивных тестах от процедур нахождения минимального пути обхода обнаруженных неисправностей. Это снижает полноту диагностики бит-матрицы и увеличивает "пессимизм" в оценке локального последействия обнаруженного отказа, но упрощает алгоритм поиска спрямленного пути при обходе обнаруженных неисправностей. В отличие от предыдущих алгоритмов, в этом случае осуществляется проверка впереди лежащих бит-процессоров, и топология тестовой микропрограммы деформируется в соответствии с фиксированной стратегией обхода, если встречена преграда. Сложность описанного алгоритма составляет $$О(N)$$, а его недостатком является неоптимальность порождаемого пути, которая мало сказывается на продолжительности достаточно полного покрытия бит-матрицы тестовыми микропрограммами, если тестир уемый канал образован бит-процессорами одной строки бит-матрицы ("однострочный тест"). В подтверждение сказанного на рис. 7.21 приведены графики роста вычислительной сложности рассмотренных алгоритмов в зависимости от размера матрицы.

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

    (рис 7.21) Рост вычислительной сложности алгоритмов нахождения пути

    В описанных условиях многострочные промышленные тесты с независимыми по каждому операнду каналами формирования тест-данных (см. рис. 7.12-7.4) оказались малоэффективными [299] в условиях эксплуатации, так как парирование такими микропрограммами обнаруженных отказов требует анализа возможных путей прохождения через ортогональные квадраты размером, кратным количеству строк в канале теста. В результате в десятки раз увеличивается время генерации теста для одного тестового канала, и в сотни раз - время покрытия тестами всей бит-матрицы. При этом падает коэффициент распараллеливания тестовых микропрограмм, так как уменьшается полезная тестируемая "площадь" в рамках одного тестового канала, что вынуждает увеличивать количество циклов тестирования. Поэтому для исключения из тестовой микропрограммы вспомогательных строк (столбцов), по которым распространяются тест-операнды, необходимо изменить топологическую структуру эксплуатационных тестов и перейти к однострочным тестам эксплуатационной диагностики рис. 7.22.

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

    (рис 7.22) Тестирование с использованием рекурсивного операнда

    На рис. 7.22 показаны каналы однострочных тестов ADD, ST1 и XOR. Для них по методике, изложенной в разделе 3.4, минимальные по длине тестовые последовательности подобраны следующим образом. Выбирается тестовая последовательность "независимого" операнда, и на схеме теста в матрице без отказов моделируется отклик, который используется далее как второй "рекурсивный" операнд. Далее на модели отдельного бит-процессора полным перебором пространства одного и двух одновременных отказов анализируются диагностические возможности и полнота подобранных тестовых последовательностей. На основе полученных данных для тестируемой функции и каждой тестовой последовательности вычисляется величина $$P^{пр}_{(1,2)}$$ минимум которой служит признаком конца поиска требуемой тестовой последовательности. Здесь $$P^{пр}_{(1,2)}$$ - количество правильных реакций для всевозможных подмножеств карт, насчитывающих не более двух одновременных отказов элементов схемы.

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

    (рис 7.23) Алгоритм горизонтально-вертикального тестирования

    Алгоритм генерации горизонтально-вертикальных тестов выполняется в следующей последовательности:

  • Выбирать доступную сторону интерфейса бит-матрицы, наиболее удобную для тестирования горизонтальных или вертикальных каналов.
  • Создать массив из доступных интерфейсных бит-процессоров.
  • Создать канал доступа для каждого члена массива в рамках одного теста.
  • Поочередно предоставить каждому члену массива право сделать шаг по прямому алгоритму и определить координаты бит-процессора для продолжения маршрута. Дописать в тестовую микропрограмму соответствующий терм, а в поток тест-данных и эталонных откликов соответствующую подпоследовательность.
  • Повторять 4 до тех пор, пока ни один член массива уже не сможет сделать шаг.
  • В соответствии с этим алгоритмом подсистема идентификации и локализации отказов работает следующим образом. На начальном этапе запуска обрабатываются системные данные о доступности интерфейса связи с бит-матрицей (см. рис. 7.18) и на каждый доступный периферийный бит-процессор создается "объект" канала теста, который сохраняется по указателю в массиве доступных бит-процессоров. Таких массивов всего четыре (для каждой стороны бит-матрицы). Предшествующая карта отказов регистрируется подсистемой локализации как исходная.

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

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

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

    Общим для всех процедур тестирования является последовательность их проведения, в которой первым шагом которых служит "прослушивание" канала теста без подачи тест-данных. "Прослушивание" призвано обнаружить неисправности D -триггеров типа "тождественной единицы" в каналах распространения откликов бит-процессоров. Этот этап по продолжительности обычно чуть больше или равен количеству термов в этом тестовом канале. Далее осуществляется анализ откликов на подаваемые тест данные. Здесь тесты разбиты на две категории. Первая категория тестов ( WTR, ADD, XOR ) основана на анализе откликов на одиночную тестовую последовательность, которая трансформируется в тестовую комбинацию в процессе распространения по бит-матрице (на рис. 7.22-а и 7.22-в - это последовательности "независимых" операндов без скобок).

    Вторая категория тестов ( ST1, AND, NAND ) основана на анализе откликов на многократную тестовую последовательность, которая сначала доходит до последнего терма тестового канала и, разблокировав процедуру формирования второго операнда, перемещается к началу теста. В этом случае второй тестовый операнд для последующего бит-процессора одновременно является откликом предыдущего бит-процессора (на рис. 7.22-б - это последовательность "независимых" операндов в скобках). На основе таких тестов в качестве неисправных приходится помечать все бит-процессоры, принадлежащие одному тестовому каналу, что сильно усложняет контроль уже при карте отказов, содержащей свыше 1% отказавших бит-процессоров в матрице.

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

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

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

    Приведенные данные позволяют сделать следующие выводы:

  • алгоритм синтеза тестовых микропрограмм носит тривиальный характер рекуррентного наращивания термов до вертикальных и/или горизонтальных размеров бит-матрицы;
  • алгоритм анализа откликов также сводится к простой процедуре определения разницы между реальной последовательности и эталонной реакциями;
  • однозначно идентифицировать координату отказа в рамках одного вертикального или горизонтального теста невозможно из-за эквидистантных по отношению к тестовому выходу бит-процессора [299], неисправность которых проявляется одинаково.
  • Основные сложности функционального эксплуатационного контроля возникают при наличии карт отказов, разрушающих регулярные структуры тестовых микропрограмм и получаемых с их помощью откликов бит-процессоров. Поэтому эффективность всей системы локализации и идентификации отказов в бит-матрице в основном определяется скоростью адаптации рассмотренных линейных тестов и порождаемых ими последовательностей откликов на действующую карту отказов.

    7.6. Оценка качества работы подсистемы локализации и идентификации отказов в МКМД-бит-процессорных матрицах

    Как видно из изложенного, при использовании не Tlf -адаптивных алгоритмов тестирования локализация и идентификация отказов проводится по классической схеме аппаратного контроля, которая не зависит от содержимого функциональных микропрограмм. Поэтому объектом диагностики является не субпроцессор, а вся МКМД-бит-процессорная матрица, в которой каждый бит-процессор подтверждает свою работоспособность по всем реализуемым им функциям.

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

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

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

    При этом в качестве параметров будем использовать уровень распараллеливания ввода-вывода тестовых микропрограмм и данных:

  • Полностью последовательная P -шина, которая обеспечивает максимум временных издержек на ввод тестовых микропрограмм, так как в ней все регистры бит-инструкций объединены в последовательный FIFO -регистровый канал ввода-вывода с однобитным входом и однобитным выходом. При этом FIFO -регистровая D -шина полностью распараллелена по периферийно доступным входам-выходам, что соответствует полнодоступной по периферии бит-матрице рис. 7.18-а.
  • Самый худший случай - полностью последовательные FIFO -регистровые P - и D -шины, что соответствует конструкции D -шины рис. 7.18-г и однострочным U -образным Т -рекурсивным тестовым микропрограммам, вводимым в бит-матрицу по однобитной последовательной P -шине.
  • Идеальный случай - полностью параллельные FIFO -регистровые P - и D -шины, что соответствует полнодоступной бит-матрице и требует гипрепараллельных гальванических P - и D -шин, реализуемых средствами оптоэлектроники или наноэлектроники.
  • При таких ограничениях удается ввести алгебраические соотношения для расчета времени тестирования бит-матриц (табл. 7.1-7.3) Tlf -адаптивного контроля бит-матрицы Т -рекурсивными возвратными тестами рисунков, где:

  • $$\theta$$ - номер шага тестирования;
  • $$\mu$$ - количество аффинных модификаций исходного многострочного теста ( $$\mu = 1$$ в однострочных тестах);
  • $$\rho$$ - количество комбинаций тест-данных, образующих одну зондирующую посылку;
  • $$v$$ - количество зондирующих посылок, обеспечивающих формирование полной матрицы переходов АЛУ;
  • $$N^{T} = \sum\limits_{\theta}N^{T}(\theta)$$ - целочисленное время получения откликов от бит-процессоров одного канала;
  • $$N^0 = \sum\limits_{\theta}N^0 (\theta)$$ - целочисленное время начальной задержки при получении первого отклика тестируемого канала;
  • $$N^p = \sum\limits_{\theta}N^p(\theta)$$ - целочисленное время загрузки тестовой микропрограммы в бит-матрицу;
  • $$n_{p}$$ - разрядность гальванической $$Р$$ -шины;
  • $$L_p$$ - "длина" тестовой микропрограммы, а $$R_p$$ - разрядность регистра бит-инструкции.
  • Вне зависимости от конструктивно-технологических особенностей построения тестовых интерфейсов минимальное время контроля дает полностью исправная бит-матрица, так как при этом не проводится адаптация тестовых микропрограмм под действующую карту отказов, которая позволяет нейтрализовать действие обнаруженных отказов и продолжить процесс диагностики. Поэтому первому варианту построения тестового интерфейса отвечает минимально минимальное время полного не Tlf -адаптивного контроля бит-матрицы Т -рекурсивными возвратными тестами. В соответствии с данными табл. 7.1 его можно записать: $$\min(\min{N}) = N^{T} + N^{0} + N^{p} = 6J + 335I + 26L_{p}R_{p} + 96$$, а и при $$\min(I, J) = I: \min(\min {N}) = 6J + 353I + 26L_{p}R_{p} + 96$$.

    Структура временных затрат на контроль линейными Т-рекурсивными тестами полнодоступной по периферии бит-матрицы
    Шаг Функция $$\theta$$ $$\mu$$ $$\rho$$ $$v$$ $$N^t(\theta)$$ $$N^0(\theta)$$ $$N^p(\theta)$$
    1 P -шина 1 1 4 1 $$\rho(\theta)*v(\theta) $$ $$L_p*R_p $$ 0
    2 D -шина 2 $$3\min(I,J) $$ $$\mu(\theta)*L_p*R_p $$
    3 WTRh 3 3 2 $$\rho(\theta)*v(\theta)*J $$ 1
    WTRv 4 $$\rho(\theta)*v(\theta)*I $$
    4 AND 5 3 4 5 $$\mu(\theta)* \rho(\theta)* v(\theta)*\min(I,J) $$ $$4*\mu(\theta) $$
    XOR 6
    ADD 7
    ST1 8
    NAND 9 4 $$5*\mu(\theta) $$
    CG 10 3 1 $$2*\mu(\theta) $$
    NOP 11 $$\mu(\theta)* \rho(\theta)* v(\theta)*I$$ $$5*\mu(\theta) $$
    Итого 25 $$18I+6J+332\min(I,J)+8$$ $$L_p*R_p+\\ 3\min(I,J)+88$$ $$25*L_p*R_p$$

    Отсюда, для платы СБИС Н1841 ВФ1, содержащей 30*88 бит-процессоров, или, что одно и то же, 6*22 СБИС, получим:

    Р -шина $$L_p*R_p$$ тактов $$N $$ тактов $$N^{T} $$ тактов $$N^0$$ тактов $$N^p$$ тактов $$N^{T}/N$$ $$N^0/N$$ $$N^p/N$$ Отношение
    $$n_{p}=6$$ 7040 194254 11036 7218 176000 0,057 0,037 0,906 $$N^p+N^0\gg N$$
    $$n_{p}=132$$ 320 19534 11036 498 8000 0,565 0,025 0,410 $$N^p+N^0 \approx N$$

    где $$n_{p} = 6$$ отвечает P -шине, обеспечивающей последовательный ввод микропрограммы во все СБИС одной строки, а $$n_{p} = 132$$ - в каждую СБИС независимо.

    Из приведенных данных видно, что при такой организации тестового интерфейса решающий вклад во время диагностики полностью исправной бит-матрицы вносит время ввода тестовых микропрограмм, которое составляет 90 % от общего времени диагностики. Поэтому увеличение более чем в 20 раз разрядности P -шины снижает почти на порядок общее время диагностики и приводит к тому, что системообразующее неравенство (6.1) курса "Задачи и модели вычислительных наноструктур" начинает выполняться и для тестовых микропрограмм, правда, в ослабленном виде $$N^{p}+N^{0}\approx N$$.

    Второму варианту построения тестового интерфейса отвечает табл. 7.2, согласно которой максимально минимальное время полного не Tlf -адаптивного контроля бит-матрицы Т -тестами имеет вид:

    $$\max (\min N) = 111I*J+318I+2J+1178+26*L_{p}*R_{p}.$$
    Структура временных затрат на контроль одноканальными, U-образными, Т-рекурсивными, возвратными тестами полностью исправной бит-матрицы
    Шаг Функция $$\theta$$ $$\mu$$ $$\rho$$ $$v$$ $$N^t(\theta)$$ $$N^0(\theta)$$ $$N^p(\theta)$$
    1 P -шина 1 1 4 1 $$\rho(\theta)*v(\theta) $$ $$L_p*R_p $$ 0
    2 D -шина 2 $$3*I*J$$ $$\mu(\theta)*L_p*R_p $$
    3 WTRh 3 3 2 $$\rho(\theta)*v(\theta)*J $$ 1
    WTRv 4 $$\rho(\theta)*v(\theta)*I $$
    4 AND 5 3 4 5 $$\mu(\theta)* \rho(\theta)* v(\theta)* [\lambda(\theta)(J-3) +3] + 12(\lambda(\theta)- 1) $$ $$4*\mu(\theta) $$
    XOR 6
    ADD 7
    ST1 8
    NAND 9 4 $$\mu(\theta)* \rho(\theta)* v(\theta)* [\lambda(\theta)(J-5) +5] + 14(\lambda(\theta)-1) $$ $$5*\mu(\theta) $$
    CG 10 3 1 $$\mu(\theta)* \rho(\theta)* v(\theta)* [\lambda(\theta)(J-2) +2] + 12(\lambda(\theta)-1) $$ $$2*\mu(\theta) $$
    NOP 11 $$\mu(\theta)* \rho(\theta)* v(\theta)* [\lambda(\theta)(J-2) +2] + 12(\lambda(\theta)-1) $$ $$4*\mu(\theta) $$
    Итого 25 $$108I*J+318I+2J+1090 $$ $$L_p*R_p+\\ 3*I * J+88$$ $$25*L_p*R_p$$

    Здесь топология тестовых микропрограмм выбрана по критерию минимума неполноты покрытия бит-матрицы одноканальным U-образным функциональным тестом и в предположении: $$\max(I, J) = J$$ ; $$\min(I, J) = I$$, причем $$\lambda(\theta) = ]min(I, J)/\mu(\theta)[$$, где $$][$$ - старшее целое.

    Отсюда, системообразующее неравенство (6.1) курса "Задачи и модели вычислительных наноструктур" стало выполняться и при малоразрядной P -шине, но не за счет снижения системных временных издержек, а за счет более чем 25-кратного увеличения продолжительности времени получения откликов от каждого бит-процессора U -образного тестового канала. При этом суммарное время контроля полностью исправной бит-матрицы возросло более чем в 2,5 раза.

    Минимум миниморум времени контроля полностью исправной бит-матрицы обеспечивает тестовый интерфейс с непосредственным доступом к каждому бит-процессору матрицы по параллельным P - и D -шинам (табл. 7.3).

    В этом случае только разрядности P - и D -шин зависят от размеров бит-матрицы, а все временные характеристики подсистемы локализации и идентификации отказов остаются неизменными для всех размеров контролируемой бит-матрицы:

    $$N = 136 = const; N^t/N = 0,802 = const; N^{0}/N = 0,125 = const;\\ N^{p}/N = 0,074 = const; (N^{p}+N^{0} = 27) << (N = 109).$$

    Для платы СБИС Н1841 ВФ1, содержащей 30*88 бит-процессоров, и $$n_{p} = 6$$ получим:

    Р -шина $$L_{p}*R_{p} $$ тактов $$N$$ тактов $$N^{T}$$ тактов $$N^0$$ тактов $$N^p $$ тактов $$N^{T}/N$$ $$N^0/N$$ $$N^{p}/N$$ Отношение
    $$n_{p} = 6$$ 7040 476168 285120 15048 176000 0,599 0,032 0,370 $$N^{p}+N^0 < N$$
    Структура временных затрат контроля полностью исправной бит-матрицы с помощью гиперпараллельных гальванических P- и D-шин
    Шаг Функция $$\theta$$ $$\mu$$ $$\rho$$ $$v$$ $$N^t(\theta)$$ $$N^0(\theta)$$ $$N^p(\theta)$$
    1 Р-шина 1 1 4 1 $$\rho(\theta)$$ 3 0
    2 D-шина 1 1
    3 WTRh 3 2 2
    WTRv 4
    4 AND 5 3 17 5 1
    XOR 6
    ADD 7
    ST1 8
    NAND 9 4
    CG 10 3 4 1
    NOP 11
    Итого 109 $$\sum\limits_{\theta}\rho(\theta)=109$$ 17 10

    Приведенные данные позволяют утверждать: продолжительность диагностики современных микроэлектронных МКМД-бит-процессорных матриц в основном определяется временем загрузки тестовых микропрограмм в бит-матрицу и временем получения индивидуальных откликов от всех бит-процессоров тестируемого канала, которые прямо или косвенно зависят от конструктивных характеристик бит-матрицы. К ним относятся: размеры $$(I, J)$$ бит-матрицы, разрядность ( $$n_{p}$$ и $$n_{d}$$ ) и конфигурация гальванических P - и D -шин, задающих длину $$L_{p}$$ последовательной FIFO -регистровой P -шины и размеры 2-мерной, последовательной FIFO -регистровой D -шины (длину линейных или U -образных тестов).

    Для МКМД-бит-процессорных матриц на основе СБИС Н1841 ВФ1 локализация и идентификация отказов требует не менее $$19534*2*10^{-7} \approx 4$$ мс, но с увеличением тактовой частоты до 250 МГц и применением параллельной системы ввода микропрограмм рис. 7.19 это время можно сократить в 80 раз, что становится приемлемым для периодического контроля бит-матрицы и подтверждения ее работоспособности в реальном времени.

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

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

    Очевидно: если остаточный аппаратный ресурс бит-матрицы не обеспечивает работоспособность простейших тестовых микропрограмм, то его явно недостаточно для обеспечения работоспособности более сложных микропрограмм пользователя. Поэтому уровень доступности бит-процессоров в матрице является одним из главных факторов появления "катастрофической" карты отказов.

    Исследование доступности бит-процессоров матрицы проведено на основе гипотезы равномерного распределения отказов по матрице показали (рис. 7.24) и оно показало:

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

    Ориентированные на режим реального времени средства (микро) программной диагностики без особых проблем локализуют и идентифицируют карту до 15 одновременно сформированных отказов. При плавном нарастании карты эта величина достигает уже 20-30 отказов. Дальнейшее нарастание карты отказов приводит к доминированию эффекта "белых пятен", недоступных для тестирования в темпе реального времени.

    Таким образом, можно считать, что по фактору коммутационной блокады бит-процессоров "катастрофическая" карта отказов возникает уже при 30 % бит-процессоров с полностью отказавшей внутренней коммутацией, так как при таком количестве отказов достаточно полное тестирование даже с потерей темпа реального времени становится очень сложной и ресурсоемкой задачей.

    Очевидно, что полнота и достоверность локализации и парирования отказов, а также оценка ситуации как катастрофической напрямую зависят от требований темпа реального времени. Модельный эксперимент, проведенный на процессоре Pentium -II 433 МГц для бит-матрицы размером до 40*40 бит-процессоров с тактовой частотой 250 МГц, показал (рис. 7.25):

  • при плавном нарастании карты отказов диагностика всей бит-матрицы укладывается в 0,2 секунды;
  • временные затраты на диагностику можно сократить двумя способами:
  • используя более качественные алгоритмы адаптации топологии тестовых микропрограмм, что может сильно усложнить задачу генерации тестов и анализа откликов;
  • осуществив декомпозицию всей бит-матрицы на независимо контролируемые подматрицы, что требует построения распределенной системы обнаружения в темпе реального времени отказов;(рис 7.25) Время локализации отказов в бит-матрице
  • время контроля функций АЛУ практически не зависит от размеров действующей карты отказов, если выполнено условие коммутационной доступности бит-процессора.
  • На основе проведенного анализа основных факторов, определяющих качество работы подсистемы локализации и идентификации отказов в современных микроэлектронных МКМД-бит-потоковых технологиях, можно сделать следующие выводы.

  • Существующая подсистема диагностики и локализации отказов способна в (квази)реальном времени локализовать и диагностировать порядка 1,3% отказавших бит-процессоров в бит-матрице, что в абсолютном выражении соответствует карте из 20-30 отказов.
  • При синтезе тестовых последовательностей проверяемые бит-процессоры приходится рассматривать как конечные, а не как комбинационные автоматы, что создает условия для отработки методов и средств управления в нано- или супрамолекулярной электронике, где в противоположность обычному порядку вещей исходные вентили представляют собой конечные автоматы, а синтезируемые вентили - комбинационные схемы.
  • Провести полный функциональный контроль методами прямой диагностики даже для высоконадежных (сверх)параллельных МКМД-бит-потоковых вычислителей невозможно в принципе. При этом для поддержания достоверности допущений, сужающих ядро прямой диагностики и размерность задач локализации и идентификации, требуются специальные, предусмотренные на этапе проектирования и реализованные в производстве меры защиты СБИС в процессе их изготовления и эксплуатации.
  • Топологию тестовых микропрограмм можно выбрать таким образом, чтобы время диагностики зависело от размеров бит-матрицы линейно, а не квадратично. При этом применение однострочных тестов позволяет повысить их адаптивность к картам отказов и сократить общее время работы подсистемы локализации отказов как в процессе изготовления бит-матричных СБИС, так и в процессе их эксплуатации.
  • С понижением размеров бит-матрицы до размеров 20*20 бит-процессоров, подсистема диагностирования и локализации отказов, реализованная на базе процессора с тактовой частотой 400 МГц, способна обнаруживать и диагностировать отказы за 0,05 секунды, что позволяет использовать ее в контуре реального времени (Б)ВС.
  • При плавном характере увеличения карты отказов наблюдается линейный рост времени диагностики, что характерно для нормальных условий эксплуатации боевых ЛА. При скачкообразном характере нарастания карты отказов наблюдается близкое к квадратурному увеличение времени диагностики, что характерно для условий противоборства с технически развитым "противником".
  • Системотехнические выводы по лекции 7

  • В МКМД-бит-потоковых вычислительных технологиях на основе микроэлектронных СБИС или УБИС основная ставка сделана на структурно-функциональный полиморфизм бит-процессоров, который поддерживает как технологию восходящего микропрограммного конструирования потоковых (суб)процессоров, так и технологию достаточно быстрого парирования карт отказов за счет параметрической адаптации исходного "рабочего тела" микропрограммы пользователя. При этом используется как скрытый, почти 2-кратный структурно-функциональный резерв каждого бит-процессора (см. табл. 4.2), так и централизованный и существенно меньший по отношению к рабочей области бит-матрицы "горячий" аппаратный резерв, дифференцированно перемещаемый по всей бит-матрице.
  • Наибольших интеллектуальных и временных затрат требует этап интерактивного микропрограммного конструирования проблемно-или алгоритмически ориентированных (суб)процессоров, который завершается созданием индивидуальной вторичной топологической структуры для каждого поток-оператора пользователя. При переходе вычислительной техники в супрамолекулярную или нанометровую область этот этап трансформируется в синтез "рабочего тела", для которого специфицированы (био)химические модальности и уровни "сигналов", кодирующих управляющие, тестовые и обрабатываемые потоки информации.
  • Этап синтеза тестовых микропрограмм достаточно просто формализовать и свести к размещению ограниченного количества термов на бит-матрице с учетом ограничений на конструкцию гальванических P - и D -шин, обеспечивающих доступ к периферийным бит-процессорам.
  • Основная проблема, препятствующая кардинальному снижению времени локализации и идентификации отказов в бит-матрице, связана с опосредованным доступом к "внутренним" бит-процессорам по FIFO -регистровым P - и D -шинам, и решать ее приходится в основном конструктивно-технологическими методами, напрямую зависящими от используемых физико-химических процессов управления, передачи и обработки информации. Сам процесс диагностики приобретает корректирующий характер, по крайней мере, на отдельных фазах и этапах.
  • Удовлетворить темп реального времени при решении задач локализации и идентификации отказов можно только с использованием комплекса системотехнических, схемотехнических и конструктивно-технологических мер, которые минимизируют временные издержки на программирование бит-матрицы, снижают размеры контролируемых подматриц и повышают эффективность парирования обнаруженных карт отказов непосредственно во время диагностики.
  • Парирование карт отказов сводится к индивидуальной, толерантной перекомпоновке вторичной топологической структуры каждого поток-оператора пользователя. При этом локальные и глобальные аффинные преобразования "рабочего тела" микропрограммы по максимуму сохраняют условия пространственно-временного взаимодействия бит-инструкций. Но это требует трансформации части "функциональных" бит-процессоров в "коммутационные" и пространственного "сдвига" бит-инструкций по бит-матрице.
  • Выбор системы локальных, толерантных, аффинных преобразований представляет собой достаточно сложную, двухкритериальную оптимизационную задачу, которая в супрамолекулярных вычислителях может оказаться соизмеримой по временным и энергетическим затратам с повторным синтезом (структурной регенерацией) исходного "рабочего тела", в процессе которого нерелевантные молекулы замещаются релевантными. Это указывает на то, что в супрамолекулярных технологиях прежде всего необходимо осуществить выбор между ОКМД-схемой парирования отказов, которая основана на прямой подстановке резерва (структурная адаптация), и МКМД-схемой, которая основана на параметрической адаптации структурно-функциональной схемы вычислителя.
  • Если на этапе обработки данных действует базовое для МКМД-бит-потоковых технологий неравенство (6.1) курса "Задачи и модели вычислительных наноструктур", то на этапе диагностики в этом качестве выступает соотношение$$T=\sum\limits_{\theta}{[T^p(\theta) + T^0(\theta) + T^T(\theta)]}\Rigtharrow \min$$

    причем неравенство

    $$\sum\limits_{\theta}{[T^p(\theta) + T^0(\theta) ]}\prec\prec \sum\limits_{\theta}T^T(\theta)$$

    восстанавливается только при сверхпараллельных P - и D -шинах.

  • Вернуться к учебному плану