Опубликован: 01.10.2013 | Доступ: свободный | Студентов: 255 / 19 | Длительность: 24:58:00
ISBN: 978-5-9963-0223-9
Специальности: Разработчик аппаратуры
Лекция 7:

Инструментальные платформы МКМД-бит-потоковых вычислительных технологий

Логическая схема, построенная пользователем с помощью инструментального средства FailSys.exe, хранится в оперативной памяти как отдельный объект класса CSheme и сохраняется на диске (сериализуется, по терминологии [297]) в файл с расширением *.log. Схема представляет собой массив указателей на абстрактный класс COperateLog, а фактически на объекты классов вентилей и схем. Указатель на этот массив хранится в родительском классе CShemeBase переменной m_ppOperate. В этом же классе определен набор чисто виртуальных функций, с помощью которых и происходит управление объектами массива m_ppOperate. Очередность расположения элементов в этом массиве определяет порядок срабатывания объектов (логических схем).

Элементами этого массива могут быть как сложные схемы (объекты класса CSheme ), так и элементарные логические вентили (объекты классов CElem1No (инверсия), CElem2Or (2-или), CElem2OrNo (2-или-не) и другие потомки класса CLogicSimple ). Класс CLogicOt (родитель класса CLogicSimple ) имеет набор методов, позволяющих устанавливать или убирать отказ в логическом вентиле. Класс CLogic предназначен для управления работой входами и выходами как сложных схем, так и простых вентилей. Объекты класса CLink связывают выход с входами логических элементов (один выход может быть соединен с множеством входов) и хранят текущие значения выходов логических вентилей и схем.

Инструментальное средство Otkazmodulate проводит полный последовательный перебор карт отказов для указанного числа одновременных отказов. Для каждой карты отказов моделируется работа со всеми входными данными, указанными в файле с расширением *.in, а полученные выходные данные запоминаются в файле с расширением *.out в форме таблицы для каждого выхода.

Инструментальная библиотека классов логических вентилей

увеличить изображение
Рис. 6.51. Инструментальная библиотека классов логических вентилей

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

Инструментальное средство BPBrowse позволяет:

  • моделировать загрузку и работу микропрограммы пользователя в бит-матрице, используя модели бит-процессора с учетом отказов на вентильном уровне (рис. 6.52);
  • генерировать тестовые микропрограммы для тестирования и диагностирования бит-матрицы в зависимости от доступности интерфейса ввода-вывода и оценивать временные затраты на проведение тестирования и диагностирования.

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

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

Структурная схема инструментальных средств моделирования

Рис. 6.52. Структурная схема инструментальных средств моделирования

Синтез тестов осуществляется в интерактивном режиме и в предположении, что отказы вентилей равновероятны.

Для уровня блоков и узлов бит-процессора исходными данными для синтеза являются:

  • S = \{s_{1}, s_{2}, …, s_{M}\} - множество логических схем, реализующих одинаковый закон функционирования;
  • M - количество логических схем, реализующих одинаковый закон функционирования;
  • Q = \{q_{1}, q_{2}, q_{3}, q_{4}\} - множество типов отказов логического вентиля схемы (всего четыре).

Для каждой схемы s_{m} заданы:

  • X = {x_{1}, x_{2}, …, x_{K}} - множество контролируемых входов;
  • K - количество контролируемых входов;
  • Z = {z_{1}, z_{2}, …, z_{L}} - множество контролируемых выходов;
  • L - количество контролируемых выходов;
  • D_{m} = {d_{1m}, d_{2m}, …, d_{Nm}} - множество логических вентилей;
  • N_{m} - общее количество логических вентилей;
  • C_{m} = ||c_{ij}|| - бинарная матрица связей выхода вентиля d_{im} со входом вентиля d_{jm} ;
  • n_{ot} - число одновременно отказавших вентилей в схеме 1 \le n_{ot} \le N_{m}, распределенных по множеству D_{m} случайным образом по равномерному закону.

Используя BPBrowse, необходимо определить наиболее устойчивую к n_{ot} одновременным отказам вентилей схему s^{*}\in S и контролирующий тест T ^{*}, где T ^{*} - бинарная матрица размерности Kxl_{t}, l_{t} - длина теста. Данная задача решается следующим образом.

  1. С помощью инструментального средства FailSys синтезируется один из вариантов схемы бит-процессора, который сохраняется в файле с расширением *.log.
  2. Для каждого варианта схемы бит-процессора с помощью OtkazModulate в интерактивном режиме определяется полный контролирующий тест, отправной точкой которого является эталонный проверяющий тест T_{m}, полученный при условии, что схема s_{m} не имеет ни одного отказавшего вентиля.

Тест T_{m} порождает эталонную бинарную матрицу выходных последовательностей O_{тэт}, которая отвечает реакциям полностью исправной схемы бит-процессора. При подаче подбираемого проверяющего теста T_{m} на схему s_{m}, но уже с отказами в ней, с ее выходов снимается матрица O_{m}, которая представляет собой бинарную матрицу выходных последовательностей размерности L\times l_t.

Вероятность обнаружения отказов вентилей схемы s_m синтезируемым тестом T_{m} можно оценить соотношением:

P_{обн}^{m}=\cfrac{r_{om}^{m}}{C_{N_m}^{n_{ot}}*4^{n_{ot}}}

где:

  • r_{om}^m - количество отклонений O_{m} от O_{m} при переборе всех карт n_{ot} одновременных отказов вентилей;
  • C_{N_m}^{n_{ot} - число сочетаний из N_m элементов по n _{t} ,а произведение C_{N_m}^{n_{ot}*4^{n_{ot}} - количество возможных карт n_{ot} одновременных отказов вентилей в схеме s_{m} (мощность пространства отказов).

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

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

Благодаря этой особенности инструментальное средство OtkazModulate позволяет перебрать все пространство отказов схемы бит-процессора s_m и вычислить для нее P_{обн}^{m} для подбираемого проверяющего теста T_m.

Если принять гипотезу о равномерном законе распределения входных воздействий в тесте T_{m} , то его обнаруживающая способность P_{обн}^{m} определяется длиной контролирующего теста l_{t} как показано на рис. 6.53.

Из рис. 6.53 видно, что с ростом до бесконечности длины теста вероятность обнаружения отказов растет до определенного значения P_{обн}^{предел} которое можно считать предельным значением вероятности обнаружения отказов в схеме. Это обусловлено наличием в схеме бит-процессора индифферентных отказов, которые не влияют на правильность реализации заданной бит-инструкции. Таким образом, P_{раб}^{m}(n_{ot}) можно принять за вероятность сохранения работоспособности схемы s_m при n_{ot} одновременных отказов ее логических вентилей: P_{раб}^m(n_{ot}) = 1 - P_{обн}^{предел}.

Длина контролирующего теста T_m для схемы s_m не может быть бесконечной. Поэтому разработчику схемы бит-процессора приходиться ее ограничивать l_{t}^{min} , руководствуясь критерием минимума разности P_{обн}^{предел} - P_{обн}^{m}(l_t^{min}) \le \varepsilon \to \min причем при этом он больше опирается на интуицию, чем на аналитические выводы.

Определение предельной вероятности обнаружения отказов схемы

Рис. 6.53. Определение предельной вероятности обнаружения отказов схемы

Таким образом, для каждой схемы s_m разработчик определяет полный контролирующий тест T_{m} ограниченной длины и его характеристики P_{обн}^{m}(l_t^{min}) и P_{раб}^{m}(n_{ot}). Очевидно, что наиболее устойчивая к n_{ot} отказам схема та, у которой P_{раб}^{m}(n_{ot}) максимальна.

Системотехнические выводы по лекции 6

  1. Объективно существующее отношение иерархии между "объектами" проектирования и множественность "вложений" одних и тех же компонент, используемых в программно-аппаратной и диагностической плоскостях проекта, предопределяет эффективность создания инструментальных платформ МКМД-бит-потоковых вычислительных технологий на основе объектно-ориентированного подхода.
  2. В структурно-функциональной и программно-аппаратной плоскости бит-процессор является неделимой единицей проекта, но при переходе в диагностическую плоскость его необходимо раскрыть, включив в иерархию описания блоки, узлы, вентили и физико-технические процессы, нарушение условий правильной работы которых и служит источником "расширения" библиотеки бит-инструкций бит-процессора.
  3. Интерактивный режим, а с ним и графический интерфейс инструментальных платформ пока остаются атрибутом МКМД-бит-потоковых технологий, так как они поддерживают завершающий этап проектирования субпроцессоров, на котором решаются задачи компоновки библиотечных модулей на бит-матрице, или, что одно и то же, на плоской ортогональной FIFO -регистровой коммутационной решетке, где сдвиг на один дискрет всегда сопровождается изменением времени задержки на 1 такт.
  4. Главная особенность МКМД-бит-потоковых технологий состоит в том, что объектом диагностики на схемотехническом уровне является относительно простая схема бит-процессора (порядка 800-1000 вентилей), которая к тому же достаточно просто разбивается на блоки с разным последействием отказов: регистр команды, операционный канал, канал транзита, средства коммутации и т. п. Вместе с тем, функциональные возможности программно-аппаратной плоскости проекта, как правило, отвечают ультравысокой степени интеграции (порядка 8-20 миллионов вентилей и выше) за счет наращивания "площади" бит-матрицы (от 1000 до 10000 бит-процессоров).
  5. Средства эксплуатационной диагностики МКМД-бит-потоковых субпроцессоров являются продолжением средств промышленной диагностики, которые используются для генерации эталонных тестов и эталонных тестовых воздействий. Незнание использованных в производстве бит-матричных СБИС методов и средств обнаружения отказов и положенных в их основу физических моделей отказов приводит к неоправданному увеличению пространства диагностики, делая само изделие диагностонепригодным. Поэтому стратегия заимствования изделий микроэлектроники в третьих странах чревата высокой вероятностью необнаружения отказов, особенно в современных процессорах RISC - и ЦПОС -архитектуры, которые по степени функциональной интеграции уже давно относятся к УБИС.
Евгений Акимов
Евгений Акимов

Добрый день!

 

Скажите, пожалуйста,планируется ли продолжение курсов по нанотехнологиям?

Спасибо,

Евгений