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

Специфика построения аппаратных платформ высокопроизводительных вычислительных систем с микропрограммным уровнем доступа

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

3.1. СБИС реализация

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

  • она воспроизводима на любом уровне топологических норм промышленного изготовления: микронном, субмикронном или нанометровом;
  • она не критична к "интеллектуальности" средств проектирования, так как неделимой единицей схемотехнического и топологического проекта является бит-процессор с достаточно "прозрачной" архитектурой на основе нескольких сотен вентилей, топологическая схема которого мультиплицируется по кристаллу или целой кремниевой пластине, создавая эффект сверх- (СБИС) или ультравысокой (УБИС) степени интеграции.
  • Разработанная в 1984 году СБИС Н1841 ВФ1 [138, 139] представляет собой матрицу 5х4 синхронно работающих бит-процессоров (рис. 3.1), объединенных единым FIFO -регистровым каналом ввода-вывода и хранения микроинструкций ( $$P(in) - P(out)$$ ). ( FIFO - "первый вошел - первый вышел".)

    (рис 3.1) Структурная схема СБИС Н1841 ВФ1

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

  • канал управления, включающий 16-разрядный FIFO-регистр (рис 3.2) Структурная схема бит-процессора
  • канал АЛУ, включающий последовательно соединенные: входные коммутаторы (MS1, MS2) с независимым заданием двух адресов А1 и А2 приема исходных операндов, однобитное конвейерное АЛУ, два D-триггера (D1, D2) , первый из которых обеспечивает обязательную, а второй дополнительную (при FD:= 1) задержку на 1 такт, и выходной коммутатор (DMS1), адресуемый полем А4 регистра бит-инструкции;
  • канал транзита, включающий последовательно соединенные входной коммутатор (MS3), адресуемый полем А3 регистра бит-инструкции, и два D -триггера (D3, D4) с независимо адресуемыми выходами (DMS2, DMS3) (поля А5 и А6 регистра бит-инструкции).
  • На каждом такте работы каждый бит-процессор может выполнить до 18 бит-операций, из которых функционально значимыми и доступными пользователю являются:

  • одна из арифметико-логических операций в канале АЛУ (табл. 3.1) и "монтажное ИЛИ", реализуемое выходными коммутаторами при совпадении любой пары или тройки адресов результирующих операндов каналов АЛУ и/или транзита;
  • три произвольно адресуемые по направлениям пересылки результирующих бит-операндов, одна из которых выполняется в канале АЛУ, а две другие - в канале транзита;
  • две дополнительные задержки в каналах АЛУ и транзита, эквивалентные операции сдвига на один разряд в конвейерной арифметике.
  • Система бит-инструкций Н1841 ВФ1
    Наименование Условное обозначение Код
    Нет операции $$NOP$$ 000
    Арифметическое сложение $$+ - ADD$$ 001
    Логическое умножение $$\Lambda - AND$$ 010
    Расширенный транзит $$WTR$$ 011
    Логическое умножение с инверсией $$\overline{\Lambda } - NAND$$ 100
    Неравнозначность $$\oplus - XOR$$ 101
    Запоминание единицей $$ST1$$ 110
    Генерация константы $$CG$$ 111

    АЛУ бит-процессора выполнено по схеме универсального логического модуля рис. 5.10, рис. 5.12 и рис. 5.13 (см. раздел 5.5 курса "Задачи и модели вычислительных наноструктур"), а недоиспользование потенциальных функциональных возможностей вызвано ограничением разрядности поля кода операции ( COP ) регистра бит-инструкции (см. рис. 3.2).

    Таким образом, в СБИС Н1841 ВФ1 потенциально достижимый коэффициент распараллеливания на уровне каждой независимо задаваемой бит-инструкции равен 7, а наращивание бит-матрицы до требуемых размеров $$I_{0}*J_{0}$$ осуществляется соединением СБИС по типу "ножка в ножку" и обходится без буферных каскадов, включение которых негативно влияет на тактовую частоту работы всей бит-матрицы и требует схемотехнического моделирования в процессе синтеза МКМД-бит-потоковых (суб)процессоров.

    В итоге максимальный пользовательский коэффициент распараллеливания на уровне бит-операций может составить $$7*I_{0}*J_{0} $$, где "площадь" бит-матрицы ограничена нагрузочными возможностями шины синхронизации и может достигать на практике значений порядка $$I_{0}*J_{0} = 10^{4}-10^{5}$$ бит-процессоров.

    Из бит-инструкций табл. 3.1 пояснений требуют:

  • "расширенный транзит" ( WTR - рис 3.3(рис 3.3) Структурная схема бит-процессора при выполнении бит-инструкции WTR
  • "генерация константы" ( $$CG$$ - рис. 3.4), которая используется для циклического воспроизведения на выходах канала транзита 8-битного операнда, хранимого в полях А1-А4 регистра бит-инструкции и занесенного туда при загрузке микропрограммы в бит-матрицу.(рис 3.4) Структурная схема бит-процессора при выполнении бит-инструкции CG
  • "запоминание единицей" ( $$ST1$$ - см. (5.31) и (5.32), табл. 5.8 и рис. 5.13 раздела 5.5 курса "Задачи и модели вычислительных наноструктур"), которая используется для управления потоками данных по содержимому какого-либо однобитного признака по следующему правилу:
  • если содержимое бита управляющего операнда (адресуется полем А2 регистра бит-инструкции) равно "единице", то на выходе операционного канала с задержкой на 2 такта устанавливается значение бита информационного операнда (адресуется полем А1);
  • если содержимое бита управляющего операнда равно "нулю", то на выходе операционного канала с задержкой на 2 такта хранится последнее значение бита информационного операнда, которое отвечает последнему "единичному" биту управляющего операнда.
  • При заполнении полей А1-А6 регистра бит-инструкции, которые задают направления приема-передачи операндов, используется кодовая табл. 3.2.

    Правила кодирования входов-выходов бит-процессора
    Вход $$a$$ Код $$b_0$$ Выход
    $$a_0$$ 00 $$b_0$$
    $$a_1$$ 01 $$b_1$$
    $$a_2$$ 10 $$b_2$$
    $$a_3$$ 11 $$b_3$$

    В табл. 3.3 представлены данные по распределению аппаратных затрат на реализацию различных блоков бит-процессора СБИС Н1841 ВФ1, из которых следует:

  • на АЛУ как на объект управления и основное средство выполнения заданий расходуется порядка 6% аппаратуры бит-процессора;
  • средства управления бит-процессором поглощают порядка 48% аппаратных ресурсов, львиная доля которых расходуется на управление средствами внутренней и внешней коммутации;
  • средства внешней коммутации, с помощью которых пользователь задает топологию микропрограмм поток-операторов, поглощают (с учетом затрат на хранение управляющих данных в регистре бит-инструкции) порядка 62% всех аппаратных затрат.
  • Распределение аппаратных бит-процессоре СБИС Н1841 ВФ1
    Наименование блока Н1841 ВФ1
    Регистр инструкции (КОП) 88
    Регистр инструкции (коммутация) 264
    Дешифратор АЛУ 108
    Внутренняя коммутация 64
    Операционные D-тригтеры 66
    АЛУ 64
    Внешняя коммутация 240
    Коммутационные D-тригтеры 66
    Средства управления АЛУ 196
    Средства управления коммутацией 264
    Объект управления канала АЛУ 194
    Объект управления коммутацией 306
    Итого на средства управления 460
    Итого на объект управления (ОУ) 500
    Итого на бит-процессор (БП) 960

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

    3.2. Особенности методики синтеза ассоциативно управляемых МКМД-бит-потоковых матричных СБИС арифметико-логической обработки данных

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

    Так, при оценке эффективности алгоритмов цифровой обработки сигналов и изображений реального времени [273-275] постановщики задач длительное время руководствовались критерием минимума операций умножения. Успехи микроэлектроники конца прошлого столетия привели к тому, что на первое место по временным затратам вышли не арифметические операции деления и умножения, которые в современных RISC -процессорах реализуются аппаратно и с длительностью цикла в один такт, а операции пересылки данных, которые в быстрых алгоритмах цифровой обработки сигналов и изображений реального времени сопровождаются усложнением адресной арифметики. В результате гарантированный теоретический выигрыш в ускорении вычислений резко снижается, и он не окупается ростом аппаратных затрат на векторные адресные сопроцессоры, обеспечивающие поддержку достаточно сложных "сетевых" графов информационного взаимодействия различных программных процедур, закрепленных за разными процессорами параллельных (Б)ВС. Такое положение вещей типично для тех компонент (Б)ВС, от которых требуется не только сверхвысокая производительность, превышающая физические возможности отдельных процессоров, но и повышенная отказоустойчивость в условиях ограниченных массо-габаритов и потребляемой мощности.

    Если абстрагироваться от уровня стандартизации элементной базы, то технология сквозного системного проектирования МКМД-бит-потоковых матричных СБИС требует междисциплинарного подхода к их созданию и содержит те же этапы, что и технология проектирования заказных СБИС для критических задач цифровой обработки сигналов и изображений реального времени [70, 276] (рис. 3.5):

  • Выбор базовой задачи, наиболее полно представляющей систему преобразований, используемых при решении класса задач.
  • Выбор алгоритма решения базовой задачи с учетом ограничений микроэлектронной реализации.
  • Выбор минимального набора операций, достаточного для решения не только базовых, но и всего класса задач с учетом интерфейсных и управляющих функций.(рис 3.5) Этапы проектирования алгоритмически ориентированных СБИС
  • Выбор алгоритмов базовых операций с учетом ограничений микроэлектронной реализации.
  • Выбор структурно-функциональной схемы операционной части бит-процессора (объект адаптации).
  • Выбор системы управления бит-процессором. В этом процессе существенное место занимает синтез распределенной системы диагностики и парирования отказов, так как при степени интеграции на кристалле свыше 100 тыс. транзисторов эффективно решить вопросы диагностики после изготовления СБИС практически невозможно, имея доступ только к внешним входам и выходам схемы.
  • Действительно, в современных процессорах общего назначения, цифровых процессорах обработки сигналов ( ЦПОС ), транспьютерах и RISC -процессорах даже частичный отказ одного из имеющихся типов вычислительных ресурсов (регистр общего назначения, стек команды или данных, арифметический сопроцессор плавающей запятой и т. п.) приводит либо к полной потере работоспособности, либо требует полной перекомпиляции программ. В последнем случае необходимы встроенные средства глубокой диагностики, задающие действующую конфигурацию вычислителя, и высокоскоростные трансляторы.

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

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

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

    В результате в параллельных (Б)ВС на процессорах одной из традиционных архитектур парирование отказов в реальном времени в основном осуществляется по восходящей к Дж. фон Нейману схеме мажоритарного резервирования, которая в современных условиях строится на основе встроенных средств диагностики, уменьшающих, как показывает опыт, коэффициент резервирования с 3 до 2,2-2,5. Поэтому узлы многопроцессорных ВС, парирующих отказы в реальном времени и без потерь в результирующей информации, принято считать "идеальными" вычислителями, в которых проблема обнаружения и парирования отказов полностью локализована и не сказывается как на работе неисправного узла, так и на работе информационно связанных с ним узлов. Однако количество парируемых по этим схемам отказов ограничено величинами 2-3, что на 1-2 порядка ниже размеров карт отказов, которые могут возникнуть в результате активного противодействия с применением оружия направленной энергии.

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

    конструктивно неделимой единицей проекта в диагностической плоскости фактически является отдельный процессор.

    Бит-процессорная технология является практически единственной, где неделимой единицей проекта в диагностической плоскости является не всегда доступный с периферии СБИС бит-процессор с наиболее простой архитектурой, на поддержку которой уходит 200-300 вентилей.

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

  • высокая структурно-функциональная гибкость, реализуемая на микропрограммном уровне управления, доступна разработчику любого уровня иерархии (Б)ВС;
  • массовый ( $$10^{3}-10^{5}$$ ) векторно-конвейерный параллелизм по ассоциативно взаимодействующим потокам команд и данных позволяет управлять вычислительными ресурсами в темпе реального времени, то есть непосредственно во время вычислений;
  • простота процессорного элемента обеспечивает его проектную и диагностическую "прозрачность", что в сочетании с высоким уровнем топологической мультипликации (102-103 ячеек) позволяет достичь наиболее высоких уровней интеграции в сверх-, ультра-БИС и на целой пластине, не выдвигая завышенных требований к "интеллектуальным" и технологическим компонентам САПР.
  • Методологическое сходство данной технологии с зарубежными преимущественно ОКМД-бит-потоковыми технологиями на основе систолических СБИС [70, 142- 144, 277, 278] состоит в следующем. Проектирование СБИС ведется "сверху-вниз" во всех трех плоскостях: структурно-функциональной (в схеме рис. 3.5 речь идет о задачах векторно-матричной обработки), программно-аппаратной и диагностической. Оно нацелено на создание архитектур, адекватных ( базовым ) алгоритмам обработки, и на самых ранних этапах спецификации всей системы учитывает возможности и ограничения микроэлектронной технологии их изготовления. В современных условиях основная сфера использования МКМД-бит-потоковых технологий - это цифровая обработка сигналов, изображений и потоков данных режима реального времени, и в ней доминируют методы и алгоритмы линейной алгебры. Проектирование субпроцессоров ведется итеративно "сверху-вниз" и "снизу-вверх", нацелено на комплексное использование (полу)заказных и программируемых СБИС и учитывает специфику организации вычислений в каждой из них.

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

    даментальных и прикладных исследований [279], а также успехи кремниевой компиляции при "бездефектном" проектировании и изготовлении зарубежных ОКМД-бит-потоковых матричных СБИС [98, 99, 135] предопределяют разницу в целях, задачах, критериях эффективности, распределении задач между этапами проектирования в этих технологиях. В частности, зарубежные исследователи свои усилия в основном сконцентрировали:

  • на синтезе алгоритмически ориентированных систолических структур под конкретные задачи цифровой обработки сигналов и изображений реального времени [70, 76, 280],
  • на методах отображения алгоритмов цифровой обработки сигналов и изображений реального времени на систолические структуры [70, 145, 146], что предполагает их (полу)заказное исполнение.
  • Поэтому в этих исследованиях реконфигурация структур и функций матриц, как правило, учитывает либо потребности узкого круга задач [70], либо потребности самовосстановления их работоспособности [147, 237, 281]. Данное положение подтверждается тем, что в репрограммируемом варианте выпущены единичные типы систолических бит-матриц [144, 148].

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

    В теоретическом плане такая установка требует решения следующих проблем в сверхбольшом коллективе МКМД-бит-потоковых вычислителей:

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

  • из гарантированной возможности распараллеливания вычислений арифметико-логических, адресных, интерфейсных и управляющих функций, что апробировано в отечественных бортовых цифровых вычислительных машинах (БЦВМ) [282- 288];
  • из максимального использования МКМД-бит-потокового конвейера, в котором ОКМД-фактор векторизации потоков данных играет вспомогательную роль, обеспечивая не столько распараллеливание вычислений, сколько согласование темпов поступления и обработки данных (см. раздел 1.5 курса "Задачи и модели вычислительных наноструктур");
  • из высокой индивидуальной структурно-функциональной гибкости каждого бит-процессора, что, с одной стороны, обеспечивает алгоритмически ориентированную аппаратную эмуляцию широкого круга задач, а с другой стороны, обеспечивает минимизацию системных издержек за счет реализации спектра архитектур субпроцессоров;
  • из совместного использования репрограммируемых и (П)ПЗУ-программируемых МКМД-бит-потоковых матричных СБИС, первые из которых обеспечивают высокую адаптивность аппаратуры к задачам, решаемым в режиме разделения времени, и открытость (Б)ВС на "время жизни" ЛА, а вторые снижают массо-габариты и потребляемую мощность дежурных и/или интенсивно используемых специализированных функциональных блоков (Б)ВС;
  • из упрощенных методов структуризации алгоритмов и программ за счет снятия всех конфликтов в любом графе их представления за счет аппаратной реализации всех его активных узлов и ребер.
  • Преимущества такой стратегии проектирования и использования МКМД-бит-потоковой технологии проще всего показать, опираясь на хорошо известную схему Горнера рекурсивного вычисления полинома $$k$$ -й степени рис. 3.6-а:

    Шаг рекурсии Операция
    1 $$F_1=F_{0}x+a_{k-1}$$.
    2 $$F_{2}=F_{l}x+a_{k-2}$$
    ………………
    $$k-l$$ $$F_{k-1}=F_{k-2}*+a_1$$
    $$k$$ $$F_{k}=F_{k-1}x+a_0$$

    где $$F_0 = a_k$$, а вычисляемый полином имеет вид

    $$P_k(x) = \sum\limits_i{x^ia_i}, \,i=\overline{1,k}$$ (рис 3.6) Схема Горнера

    Схема рис. 3.6-а не оговаривает способа поступления "внешних" переменных $$х$$ и $$а_{i}$$, первая из которых обычно считается "быстро" изменяющейся функцией целочисленного времени $$х = х(Т)$$, а вторая может "медленно" изменяться в адаптивных алгоритмах $$а_{i} = а_{i}(Т_{0})$$, где $$Т_{0}$$ - интервал постоянства $$\{а_{i}\}$$.

    Конвейерная схема распространения "промежуточных" переменных $$\{F_{i}\}$$ рис. 3.6-б минимизирует время выполнения инструкции в каждом операционном модуле, но требует тактируемых синхроимпульсами (СИ) элементов задержки ( D ) и в микроэлектронном исполнении неудобна тем, что:

  • ограничивает "глубину" ( $$k$$ ) одномерного конвейера из-за параллельного соединения $$k$$ -входов;
  • предполагает хранение коэффициентов $$\{а_{i}\}$$ в локальных ОЗУ малого объема;
  • требует отдельной адресной шины ввода этих коэффициентов, которая по площади занимает больше места, чем само ОЗУ;
  • требует подготовительного цикла обновления $$\{а_{i}\}$$ в случае использования адаптивных алгоритмов.
  • Если считать независимыми скорости распространения потоков данных $$Х_{i}(T)$$ и $$А_{j}(Т)$$ и абстрагироваться от смысла и сложности инструкции, выполняемой каждым операционным модулем, то схема Горнера трансформируется в классическую линейную систолическую структуру (рис. 3.6-в). В этой схеме пары "внешних" операндов $$Х_{i}$$ и $$А_{j}$$ создают произвольные наборы комбинаций с "внутренними" переменными $$F_{i}$$ за счет вариаций задержек $$\{D_{1}, D_{2}, D_{3}\}$$.

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

    Для реализации "внешней" пространственно-временной коммутации требуется всего три типа линейных (одномерных) систолических структур (рис. 3.7 [289]), в которых декартово произведение реализуется либо на двух встречных потоках, либо на двух однонаправленных потоках, либо на одном распространяемом по линейному конвейеру, а другом предварительно введенном в ОЗУ операционных модулей.

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

    Аппаратно-временные характеристики этих схем сведены в табл. 3.4, из данных которой следует:

  • Минимальное количество операционных устройств, максимальный коэффициент их использования (без учета времени вхождения в конвейер) и максимальный темп поступления данных приходится на схему рис. 3.7-в.
  • При циклическом формировании декартова произведения двух потоков данных $$\{x_{i}\}$$ и $$\{y_{i}\}$$ $$i,j = \overline{0,N}$$ в схемах рис 3.7(рис 3.7) Декартово произведение на линейных систолических структурах(рис 3.4) Декартово произведение на линейных систолических структурах
    Аппаратно-временные характеристики одномерных систолических матриц
    Схема рис. 3.2 Кол-во ОУ Коэффициент использования Время задержки Объем оборудования Темп обработки
    а) $$2k-1$$ $$k^2/(2k+1)(2k-1)$$ $$\Delta T_0 k$$ $$2k-1$$ $$2\Delta T_0$$
    б) $$2k-1$$ $$k(2k-1)$$ $$\Delta T_0 (k-1)$$ $$\mu_1(2k-1)$$ $$\Delta T_0$$
    в) $$k$$ $$1$$ $$\Delta T_0 k$$ $$\mu_2 k$$ $$\Delta T_0$$
  • В схеме рис. 3.7-в отсутствуют "паразитные" комбинации $$(x_{i}, y_{j})$$, и поэтому селектирующий вектор $$С_{k}(Т)$$ используется только для устранения лишенных физического смысла комбинаций, если таковые имеются в $$F(x_{i} , y_{j})$$.
  • Наличие селектирующего вектора $$С $$ и маскирующей операции $$\land$$ ("И") говорит о том, что даже простейшие систолические структуры по своей сути являются устройствами ассоциативной обработки [46, 106, 175], правда, в них " DD -ассоциативный вектор" С определяется не с содержимым одной из переменных $$x_{i}$$ или $$y_{j} $$, а с их индексами $$i, j$$. Если учесть, что при комплексной обработке информации в (Б)
  • ВС физически осмысленными являются не все комбинации переменных, то становится очевидным, что маскирование "паразитных" комбинаций является достаточно активной функцией, и такое управление пространственно-временными потоками данных в матричных вычислителях требует дополнительных аппаратных затрат, которые в теоретических исследованиях либо не учитываются, либо замалчиваются.

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

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

    Для решения первой из указанных проблем можно все задачи, решаемые современными (Б)ВС, разбить на два класса:

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

    Для решения проблем эффективного управления сверхбольшим коллективом МКМД-бит-потоковых вычислителей можно разбить все задачи, решаемые современными (Б)ВС, не на две [273], а на три группы, образующие последовательный тракт обработки и отличающиеся существенно разной динамикой управления:

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

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

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

    Из сказанного следует:

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

  • на создание проблемно- или алгоритмически ориентированных МКМД-бит-потоковых субпроцессоров с повышенной динамикой управления их программным обеспечением и архитектурой как при решении широкого круга задач управления и боевого применения перспективных ЛА, так и при парировании карт множественных отказов, возникших в результате активного противоборства со стороны технически развитого противника, обладающего оружием направленной энергии;
  • на комплексное использование программно и аппаратно совместимых (П)ПЗУ-программируемых и электрически программируемых МКМД-бит-потоковых СБИС с расширенными по отношению к СБИС Н1841 ВФ1 структурно-функциональными возможностями;
  • на создание технологии программного конструирования МКМД-бит-потоковых субпроцессоров на основе алгоритмически ориентированных библиотек операционных, адресных, интерфейсных, управляющих и диагностических модулей;
  • на создание теоретических и аппаратно-технологических предпосылок для перехода к нейрокомпьютерным технологиям с элементной базой нанометрового или супрамолекулярного диапазона.
  • 3.3. Синтез ассоциативно управляемых МКМД-бит-потоковых матричных СБИС арифметико-логической обработки данных по критерию максимума функциональной интеграции при минимуме аппаратных затрат

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

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

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

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

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

    Пусть абсолютные значения сомножителей представлены $$n$$ -разрядными двоичными числами в прямом коде $$Y = (y_{n}, y n-_{1},\ldots , y_{j},\ldots , y _{1})$$

    и $$X = (x_n, x_{n-1}, ..., x_i, ..., x_1)$$ и поступают они на входы умножителя последовательно и младшим разрядом вперед.

    Тогда их произведение можно представить:

    $$U_{2n} = \sum_j{\left ( x_i \bigcap\limits_i y_j \right )}*2^{j-1},\, i,j = \overline{1,n}$$

    где $$\bigcap$$ - многоместная операция логического умножения.

    Если с индексом $$j$$ связать пространственную координату систолической матрицы, а с индексом $$i$$ - целочисленное время $$Т$$, то отвечающий (3.1) алгоритм конвейерного умножения примет вид:

    Шаг 1. Выделить и запомнить на $$n$$ тактов в 1-й ячейке систолической матрицы содержимое 1-го бита множителя $$b_1(n):=y_1=const$$ и переслать $$Y$$ в следующую ячейку систолической матрицы.

    Шаг 2. Выполнить последовательно в 1-й ячейке систолической матрицы $$n$$ -местную операцию $$AND$$ всех бит множимого с $$b_{1}(n): B_1:=b_1(n) \land x_i, i =\overline{1,n}$$ и переслать $$X_n$$ в следующую ячейку систолической матрицы.

    Шаг 3. Повторить во 2-й ячейке систолической матрицы шаги 1, 2 для 2-го бита множителя $$b _{2}( n ):=y _{2}= const$$ и переслать $$Y_n$$ и $$X_n$$ в следующую ячейку систолической матрицы.

    Шаг 4. Сдвинуть во 2-й ячейке систолической матрицы частное произведение $$B_2$$, на один такт по отношению к $$В_1$$ и сформировать частную сумму $$S_{1}:=B_{1}+\tilde{B}_{2},$$ где $$\tilde{B}_{2} :=B_{2}*2^1.$$

    Шаг 5. Повторить в 3-й ячейке систолической матрицы шаги 3 и 4, сформировав частную сумму $$S_{2}:= S_{1}+\tilde{B}_3$$, где $$\tilde{B}_{3} :=B_{3}*22$$, и т. д. до $$j = n$$.

    В системе команд Н1841 ВФ1 (см. табл. 3.1) данному алгоритму соответствует структурная схема конвейерного умножителя рис. 3.8, в которой операционный канал обозначен пунктирными линиями с соответствующей операцией, канал транзита - сплошными линиями, а дополнительная задержка - звездочкой ( $$*$$ ) в соответствующем канале. Цифрами обозначены такты поступления младшего разряда операнда на вход соответствующего бит-процессора, причем прохождение операнда через любой канал обходится не менее чем в 1 такт задержки. Циклическая константа, задающая разрядность ( $$n$$ ) преобразуемых операндов, имеет вид $$С_{n}1 = 00...01$$, где младший бит - "1", а остальные $$(n-1)$$ бит - "нули".

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

    (рис 3.8) Структурная схема систолической матрицы конвейерного умножителя

    Из приведенных данных следует:

  • бит-матрица Н1841 ВФ1 на макроуровне эмулирует линейную систолическую матрицу конвейерного умножителя, то есть работает в режиме "микро-МКМД" - "макро-ОКМД";
  • даже при реализации базовой пословной операции дорогой по площади ресурс внешних гальванических связей бит-процессоров Н1841 ВФ1 используется не более чем на $$3/8 \approx 38\%$$ ;
  • даже при реализации базовой пословной операции внутренний операционный и коммутационный ресурс бит-процессоров Н1841 ВФ1 используется в среднем на 50%, если иметь в виду, что в канале АЛУ можно выполнить 18 элементарных арифметико-логических операций, совмещенных по времени и аппаратуре с пересылкой результатов (см. раздел 3.1).
  • Разобьем систолическую матрицу рис. 3.8 на две части: верхнюю и нижнюю. Тогда для объединения возможностей двух бит-процессоров Н1841 ВФ1 в одном бит-процессоре новой версии необходимо реализовать:

  • однонаправленный двумерный поток операндов;
  • операционное устройство на 3 операнда, что соответствует типовым требованиям двумерных систолических структур рис. 3.9 [289].
  • (рис 3.9) Типовые структуры двумерных систолических матриц

    Для перехода от двунаправленных ортогональных связей рис. 3.9-а к однонаправленным двумерным связям рис. 3.9-б достаточно в каждом бит-процессоре реализовать двунаправленные перепрограммируемые порты ввода-вывода рис. 3.10 и два независимых канала транзита с задержкой на 1 и 2 такта. Двунаправленные порты ввода-вывода увеличивают коэффициент использования двунаправленных ортогональных связей в конвейерном умножителе рис. 3.8 до $$5/8 \approx 60\%$$, а в типовых систолических структурах рис. 3.9 до $$6/8 \approx 75\%$$.

    (рис 3.10) Двунаправленные порты ввода-вывода бит-процессора

    Для кодирования всех типов внешних "систолических" связей рис. 3.3 требуется 2 бита в слове инструкции и признак типа связи ( R ).

    (рис 3.11) Структура связей в бит-матрице с учетом переименований входов-выходов

    Удовлетворяющая функциональным требованиям рис. 3.9 схема АЛУ на 3 входа включает (рис. 3.12) два мультиплексора с двумя управляющими входами, которые используются как универсальные логические модули по отношению к двум переменным $$(x_{i}, x_{j})$$ (УЛМ). Первый из этих УЛМ реализует все 16 логических функций 2-х переменных $$F_{1}(x_{1}, x_{2})$$, а второй в дополнение к ним реализует еще и конечно-автоматные функции $$F_{2}(F_{1}, x_{3})$$ типа "арифметическая сумма" и "запоминание единицей", первая из которых используется как единственная арифметическая, а вторая - как единственная оперативно управляющая потоком данных операция.

    Независимое управление УЛМ2 рис. 3.12 с двумя информационными входами требует 8-битного кода операции (КОП), что увеличивает разрядность регистра инструкции на 50 %, который является наиболее аппаратно емким блоком бит-процессора (см. табл. 3.3).

    (рис 3.12) Схема АЛУ на 3 входа

    Для сохранения преемственности "снизу-вверх" с Н1841 ВФ1 достаточно реализовать четыре функции трех переменных табл. 3.5. Эти функции, с одной стороны, ориентированы на ассоциативную обработку потоков данных, активно использующую такие пословные операции предварительного "маскирования", как "логическое умножение", "равнозначность", "неравнозначность" [46]. С другой стороны, они обеспечивают настройку на все функции 1-й и 2-х переменных Н1841 ВФ1 за счет "фиксации в ноль" ( $$\equiv 0$$ ) одной или двух из трех входных переменных, что в КМОП-технологии реализуется настройкой входных коммутаторов на незадействованные входы бит-процессора.

    Система команд программируемого бит-процессора (версия 1)
    № п/п Количество операндов ( $$n=3$$ ) КОП Условие (1) Условие (2) Количество операндов ( $$n=2$$ ) № п/п
    1 $$(x_1\oplus x_2) + x_3$$ 00 - $$x_3\equiv 0$$ $$x_1\oplus x_2$$ 1
    $$x_1\lor x_2 \equiv 0$$ $$x_i + x_3$$ 2
    2 Расширенный транзит 00 $$A_1\equiv 11$$ $$x_1\lor x_2 \equiv 0$$ -
    3 $$St1((x_1\oplus x_2),x_3)$$ 01 - $$(x_1\oplus x_2) \equiv 0$$ $$St1(x_i,x_3)$$ 3
    2 Расширенный транзит 01 $$x_3\equiv 0$$ $$НОП$$ 4
    4 $$(x_1\land x_2) + x_3$$ 10 - $$x_3\equiv 0$$ $$x_1 \land x_2$$ 5
    $$x_1\lor x_2 \equiv 0$$ $$x_i + x_3$$
    2 Расширенный транзит 10 $$A_1\equiv 11$$ -
    5 $$(\overline{x}_1\oplus \overline{x}_2)\lor x_3$$ 11 - $$x_3\equiv 0$$ $$\overline{x_1 \oplus x_2}$$ 6
    $$x_1\lor x_2 \equiv 0$$ $$x_i \lor x_3$$ 7
    $$x_1\lor x_2 \equiv 0$$ $$\overline{x}_i \lor x_3$$ 8
    $$x_3\equiv 0\\ x_1\lor x_2 \equiv 0 $$ $$\overline{x}_i$$ 9
    11 $$A_1\equiv 11$$ $$CG $$ 10

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

    Все функции двух переменных симметричны по отношению к переименованию переменных $$F_{{\alpha}}(x_{2}, x_{1}) = F_{{\alpha}}(x_{1}, x_{2})$$ (кроме функции "запоминание единицей" - см. табл. 5.8 курса "Задачи и модели вычислительных наноструктур"]). Поэтому для входной коммутации операционного канала на три переменные достаточно использовать взаимозависимое управление с помощью схемы выбора "два из четырех" $$(C^{2}_{n}$$ ) и схемы полного коммутатора "четыре в один", первая из которых выделяет две "симметричные" переменные из четырех возможных (рис. 3.13).

    (рис 3.13) Схема входной коммутации канала АЛУ

    Благодаря этому на входную коммутацию операционного канала на три переменные можно затратить не три, а два 2-битных поля регистра инструкции ( $$A_{1}$$ и $$A_{2}$$ ), причем в поле $$A_{2}$$ в режиме коммутации используется кодовая комбинация "3" (табл. 3.6).

    Правила входной коммутации канала АЛУ
    $$x_l$$ $$x_{2}$$ $$x_3$$ $$A_1$$ $$A_{2}$$ $$x_l$$ $$x_{2}$$ $$x_3$$ $$A_1$$ $$A_{2}$$
    $$a_1$$ $$а_2$$ $$а_4$$ 00 11 $$а_1$$ $$а_3$$ $$а_2$$ 00 01
    $$а_3$$ $$а_1$$ $$а_4$$ 01 11 $$а_4$$ $$а_1$$ $$а_2$$ 01 01
    $$а_2$$ $$а_3$$ $$а_4$$ 10 11 $$а_3$$ $$а_4$$ $$а_2$$ 10 01
    $$а_1$$ $$а_2$$ $$а_3$$ 00 10 $$а_2$$ $$а_3$$ $$а_1$$ 00 00
    $$а_4$$ $$а_1$$ $$а_3$$ 01 10 $$а_4$$ $$а_2$$ $$а_1$$ 01 00
    $$a_{2}$$ $$а_4$$ $$а_3$$ 10 10 $$а_3$$ $$а_4$$ $$а_1$$ 10 00

    В результате первая версия структурной схемы ассоциативно настраиваемого бит-процессора приобретает вид рис. 3.14. В этой схеме, как и в Н1841 ВФ1, имеется 16-битный регистр инструкции, структура которой задана таблицей 3.7.

    Для бит-процессора рис. 3.14 характерна утяжеленная двухступенчатая система дешифрации:

  • при переходе от объектного кода к абсолютному коду (см. табл. 3.7), первый из которых используется при написании микропрограмм, а второй при формировании загрузочного модуля;(рис 3.14) Структурная схема бит-процессора (версия 1)
  • при переходе от одного типа внешних связей бит-процессора ( $$R = 0$$ соответствует рис. 3.3-а) к другому типу связей ( $$R = 1$$ соответствует рисункам 3.3-(б-д), когда за счет переименования входов-выходов меняются не только направления приема-передачи данных в бит-матрице, но и структура слова инструкции;
  • при настройке на команду "расширенный транзит" меняются ролями поля: КОП и А 1 (см. табл. 3.7).
  • Разница в объектном и абсолютном коде негативно сказывается на динамике парирования отказов. Взаимозависимое (ассоциативное) декодирование различных полей слова инструкции резко увеличива ет аппаратные затраты на схемы дешифрации, задающие направления приема-передачи данных, и, что более важно, при микроэлектронной реализации нарушает регулярность всей схемы бит-процессора, что приводит к непропорциональному росту площади кристалла, занимаемой бит-процессором.

    Структура слова инструкции бит-процессора
    Абсолютный код Биты Объектный код Биты
    Код операции (КОП) 15-14 Код операции (КОП) 21-18
    Управление ( $$С_4 ^2$$ ) 13-12 Адрес входа 1-го операнда 17-16
    Управление входом (3) АЛУ 11-10 Адрес входа 2-го операнда 15-14
    Управление входом транзита 9-8 Адрес входа 3-го операнда 13-12
    Управление выходом АЛУ Управление выходом транзита 7-6 5-4 Адрес входа транзита Адрес выхода АЛУ 11-10 9-8
    Управление выходом транзита 3-2 Адрес выхода транзита (1) 7-6
    Признак задержки АЛУ 1 Адрес выхода транзита (2) 5-4
    Тип внешних связей 0 Переименование вход-выход 3-2
    Признак задержки АЛУ 1
    Тип внешних связей 0

    В схеме рис. 3.14 этот эффект проявляется в том, что при $$R = 1$$ поле регистра $$A_{6}$$ инструкции используется для задания одной из конфигураций внешних связей рисунков 3.3-(б-д), а при $$R = 0$$ поле $$A_{6}$$ управляет вторым выходом канала транзита. В результате при $$R = 1$$ схема $$C^{2}_{n}$$ должна принудительно адресоваться по выходу $$x_{1}$$ полем $$A_{6}$$,чтобы в бит-процессоре реализовалась систолическая структура рис. 3.3-б.

    Как показал опыт эскизного схемотехнического и топологического проектирования бит-процессора рис. 3.14, такая ассоциативная дешифрация кода бит-инструкции внесла решающий вклад в 40%-ный рост аппаратных затрат (табл. 3.8) и увеличила занимаемую бит-процессором площадь в 1,7-1,8 раза по отношению к Н1841 ВФ1.

    Распределение аппаратных затрат (КМОП-транзисторов) в бит-процессорах разных версий
    Наименование блока Н1841 ВФ1 версия 1 версия 2
    Регистр инструкции (КОП) 88 44 66
    Регистр инструкции (коммутация) 264 308 396
    Дешифратор АЛУ 108 184 240
    Внутренняя коммутация 64 96 96
    Операционные D-трштеры 66 44 44
    АЛУ 64 120 120
    Внешняя коммутация 240 468 320
    Коммутационные D-триггеры 66 88 88
    Средства управления АЛУ 196 228 306
    Средства управления коммутацией 264 308 396
    Объект управления канала АЛУ 194 260 260
    Объект управления коммутацией 306 556 408
    Итого на средства управления 460 536 703
    Итого на объект управления 500 816 668
    Итого на бит-процессор (БП) 960 1352 1370

    Взяв за основу структуру бит-инструкции в объектном коде (см. табл. 3.7), получим структурную схему бит-процессора 2-й версии (рис. 3.15) с системой команд табл. 3.9, которая содержит практически все активные "маскирующие" логические функции двух переменных: "И", "И - НЕ", "РАВНОЗНАЧНОСТЬ", "НЕРАВНОЗНАЧНОСТЬ", "ИЛИ - НЕ", "ИМПЛИКАЦИЯ", "НЕ - ИМПЛИКАЦИЯ".

    (рис 3.15) Структурная схема бит-процессора (версия 2)

    В этой версии:

  • под поле КОП выделено 3 бита, которые задают семь функций трех переменных, которых достаточно для получения методом "отождествления в ноль" одного из операндов всех функций Н1841 ВФ1 двух переменных и перечисленных выше "маскируюших" функций для реализации классических DD-ассоциативных конструкций [46];
  • все входные и выходные операнды бит-процессора коммутируются и управляются независимо, за исключением поля $$А_{8}$$, которое используется и для задания структуры внешних связей бит-процессора при $$R = 1$$ ;
  • все еще требуется трансляция объектного кода в абсолютный, которая сопряжена с поиском незадействованных входов бит-процессора, для чего необходимо проводить анализ содержимого бит-инструкций соседних бит-процессоров.
  • Действительно, простейший способ выделения "незадействованно-го" входа состоит в определении "неадресуемого" выхода у четырех ближайших бит-процессоров. Но этот способ не подходит для периферийных бит-процессоров и не гарантирует полноты идентификации "незадейство-ванного" входа по результатам анализа кодов бит-инструкций ближайших ортогональных бит-процессоров. Объясняется это тем, что "незадейство-ванные" входы-выходы могут образовать достаточно длинные цепочки из D -триггеров каналов АЛУ и/или транзита, постоянно находящиеся

    Система команд программируемого бит-процессора (версия 2)
    № п/п Количество операндов ( $$n=3$$ ) КОП Условие) Количество операндов ( $$n=2$$ ) № п/п
    1 $$(x_1\oplus x_2) + x_3$$ 000 $$x_3\equiv 0$$ $$x_1\oplus x_2$$ 1
    $$x_1\lor x_2 \equiv 0$$ $$x_i + x_3$$ 2
    2 $$St1((x_1\oplus x_2),x_3)$$ 001 $$x_3\equiv 0$$ $$НОП$$ 3
    $$x_1\lor x_2 \equiv 0$$ $$St1(x_i,x_3)$$ 4
    4 $$(x_1\land x_2) + x_3$$ 010 $$x_3\equiv 0$$ $$x_1\land x_2$$ 5
    $$x_1\lor x_2 \equiv 0$$ $$x_i + x_2$$ 6
    5 $$\overline{ (x_1\overline{\oplus} x_2)\lor x_3}$$ 011 $$x_3\equiv 0$$ $$x_1 \oplus x_2$$ 7
    $$x_1\lor x_2 \equiv 0$$ $$\overline{\overline{x}_i \lor x_3}$$ 8
    $$x_1\lor x_2 \equiv 1$$ $$\overline{x_i \lor x_3}$$ 9
    $$x_3\equiv 0\\ x_1\lor x_2 \equiv 0 $$ $$\overline{x}_i$$ 10
    Расширенный транзит 100 WTR
    6 $$\overline{x_1 \overline{\land} x_2 \lor x_3}$$ 101 $$x_3\equiv 0$$ $$\overline{x_1\land x_2}$$ 11
    $$x_i\equiv 1$$ $$\overline{\overline{x}_1\lor x_3}$$ 12
    7 $$St1((\overline{x_1\land \overline{x}_2}),x_3)$$ 110 $$x_3\equiv 0$$ $$\overline{x_1\land \overline{x}_2}$$ 13
    $$x_i\equiv 1$$ $$St1(\overline{x}_2\lor x_3)$$ 14
    8 111 $$CG$$ 15

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

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

    Избавиться от такого рода проблем можно:

  • введя третье состояние в D-триггеры регистров инструкций и во входные коммутаторы информационных каналов бит-процессора;
  • заменив оператор ассоциативной подстройки канала АЛУ с "фиксации в ноль" ( $$х_{i} \equiv 0$$ ) на "попарное отождествление" ( $$х_{i} \equiv х_{j}$$ ).
  • В обоих случаях состояние неиспользуемого входа АЛУ задается регистром инструкции собственного бит-процессора и не зависит от состояния выходов смежных бит-процессоров, причем первый способ приводит к еще большему увеличению аппаратных затрат и площади кристалла под бит-процессор, а второй способ снижает разнообразие реализуемых бит-процессором арифметико-логических функций (табл. 3.10).

    Система команд программируемого бит-процессора (версия 3)
    № п/п Количество операндов ( $$n=3$$ ) КОП Условие) Количество операндов ( $$n=2$$ ) № п/п
    3 $$(x_1\land x_2) + x_3$$ 010 $$x_1 = x_3$$ $$F= \begin{cases} \overline{x}_1 x_2, \text{ если } e_{-} = 0, \\ \overline{\overline{x}_1 x_2}, \text{ если } e_{-} = 1, \end{cases}$$ 1
    $$x_1 = x_2 $$ $$x_1 + x_2$$ 2
    2 $$St1((x_1\oplus x_2),x_3)$$ 001 $$x_1 = x_2 $$ $$St1(x_1, x_3)$$ 3
    $$x_1 = x_3 $$ $$F= \begin{cases} St1(x_1 x_2), \text{ если } e_{-} = 0, \\ \overline{St1(x_1 x_2)}, \text{ если } e_{-} = 1, \end{cases}$$ 4
    1 $$(x_1\oplus x_2) + x_3$$ 000
    4 $$\overline{x_1\land x_2}\oplus x_3$$ 011 $$x_1 = x_3 $$ $$\overline{\overline{x}_1\land x_3} $$ 5
    $$x_1 = x_2 $$ $$\overline{x}_1\oplus x_3$$ 6
    5 Расширенный транзит 100
    6 $$(x_1\land x_2)\oplus x_3$$ 101 $$x_1 = x_3 $$ $$\overline{x}_1 x_2$$ 7
    $$x_1 = x_2 $$ $${x}_1\oplus x_3$$ 8
    7 $$\overline{x_1\land x_2\land x_3}$$ 110 $$x_i = x_j $$ $$\overline{{x}_i x_j}$$ 9
    $$x_i = x_j = 1 $$ $$\overline{x}_i$$ 10
    111 - $$CG$$ 11
    111 $$CG=0$$ $$НОП$$ 12

    Сравнив табл. 3.9 и 3.10, можно убедиться:

  • адаптивные возможности оператора отождествления переменных гораздо ниже, чем оператора фиксации в ноль одной из трех переменных;
  • практическая польза от порождаемых оператором отождествления переменных конечно-автоматных функций $$ADD$$ и $$ST1$$ (см. раздел 5.1 курса "Задачи и модели вычислительных наноструктур") еще требует экспериментального подтверждения;
  • для получения всего спектра функций табл. 3.9 необходимо расширить состав функций трех переменных табл. 3.10 и увеличить поле кода операции на 1 бит;
  • структурно-функциональная схема бит-процессора рис. 3.15 пригодна для реализации обеих вариантов системы бит-инструкций, а изменения системы команд практически не сказываются на аппаратных затратах (см. табл. 3.8).
  • Анализ табл. 3.8 показывает:

  • 2-я версия бит-процессора увеличивает аппаратные затраты на 42,7% по отношению к Н1841 ВФ1,что при двукратном сокращении числа бит-процессоров на реализацию конвейерного умножителя базовой операции обеспечивает аппаратный выигрыш почти в 1,4 раза;
  • в бит-процессоре 2-й версии несколько хуже соотношение аппаратных затрат между объектом и средствами управления в сравнении с Н1841 ВФ1 (0,73 и 0,83 соответственно).
  • При оценке эффективности принимаемых технических решений в условиях расширения структурно-функциональных возможностей бит-процессоров более информативны удельные аппаратные затраты на одну арифметико-логическую и/или коммутационную функцию.

    Наиболее просто оцениваются удельные аппаратные затраты на одну арифметико-логическую функцию табл. 3.11, и они минимальны у 2-й версии бит-процессора по всем показателям: на объект (ОУ), средства управления (СУ) и весь бит-процессор (БП).

    Удельные аппаратные затраты (КМОП-транзисторов) на 1 арифметико-логическую функцию
    Тип бит-процессора Количество функций ОУ/функция СУ/функция БП/функция
    Н1841 ВФ1 11 194/11=17.6 196/11=17.8 390/11=35.4
    Версия 1 (рис. 3.14) 16 260/16=16.2 228/16=14.3 488/16=30.5
    Версия 2 (рис. 3.15) 22 260/22=11.8 306/22=13.9 566/22=25.7

    Если перейти к эквивалентному структурному базису и считать, что на один двухвходовой универсальный модуль (УЛМ 2) расходуется 40 КМОП-транзисторов, то в Н1841 ВФ1 удельные структурные затраты составляют почти 2,2 УЛМ 2 на 1 арифметико-логическую функцию, и они почти в 1,4 раза выше, чем у 2-й версии бит-процессора (1,56 УЛМ 2 на 1 арифметико-логическую функцию).

    При оценке удельных структурных затрат на реализацию средств управления бит-процессором за структурный базис удобнее взять D -триггер (22 КМОП-транзистора). По этому показателю система управления операционным модулем бит-процессора 2-й версии в 1,3 раза эффективнее аналогичной системы Н1841 ВФ1, так как абсолютные значения составляют соответственно 1,65 бита и 2,2 бита.

    При оценке разнообразия реализуемых бит-процессором коммутационных структур можно исходить из информационной емкости коммутационного поля регистра бит-инструкции. Однако такая оценка не учитывает скрытую избыточность (по управлению), так как практическая польза коммутационной структуры определяется видом и свойствами функций, реализуемых в операционном канале и канале транзита. В частности, если в канале АЛУ реализуется функция "арифметическая сумма", то в терминах табл. 3.3 коммутационные структуры $$(a_{0}+a_{1}){\to} b_{2}$$ и $$(a_{1}+a_{0}){\to} b_{2}$$ эквивалентны, так как эта функция симметрична по отно-шению к переименованию входов. Если же реализуемая бит-процессором функция асимметрична ("запоминание единицей" имеет первый информационный вход, а второй - управляющий), то приведенные выше коммутационные структуры - различны. Аналогичная ситуация складывается с асимметричными по времени задержки выходами канала транзита. Поэтому подсчет разнообразия коммутационных структур, реализуемых бит-процессором, фактически сводится к оценке кодовой избыточности по управлению входными и выходными коммутаторами, исходя из требований арифметико-логических и коммутационных функций, выполняемых в каналах АЛУ и транзита.

    Оценку разнообразия коммутационных структур всего бит-процессора можно представить как произведение оценок возможных схем соединения входов-выходов, закрепленных за операционным каналом и каналами транзита. Объясняется это тем, что в бит-процессорах информационные потоки реализуются и адресуются независимо по этим каналам. Обозначим через $$А$$ и $$С$$ операторы размещений и сочетаний с соответствующими параметрами. Тогда для Н1841 ВФ1 коммутационные возможности выражаются:

  • канала АЛУ при реализации асимметричных функций двух переменных $${\mu} _{1} = (A^{2}_n + A^{1}_n ) * A^{1}_m = 64$$, где $$n$$ и $$m$$ - число входов и выходов бит-процессора ( $$n = m = 4$$ ), а верхние индексы - количество входных и выходных операндов реализуемой функции;
  • канала транзита $${\mu} = (A^{2}_n + A^{1}_n ) * A^{1}_m = 64A^{2}_m + A^{1}_m ) * A^{1}_n = 64$$ ;
  • бит-процессора $${\mu}_{1} * {\mu}_{2} = 4096 = 2^{12}$$,

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

  • Тем не менее:

  • даже при реализации асимметричных функций коммутационное поле регистра инструкции избыточно, так как в операционном канале (канале транзита) в каждой фиксированной бит-инструкции реализуется либо $$A^{2}_n ( A^{2}_m ),$$ либо $$A^{1}_n ( A^{1}_m ) $$ ;
  • при выполнении бит-процессором симметричных арифметико-логических функций "дифференциальная" кодовая избыточность возрастает почти в 2 раза, так как в этом случае $$\mu_{1} = (C^{2}_n + A^{1}_n) * A^{1}_m $$.
  • Для извлечения подобного рода кодовой избыточности по управлению коммутационными ресурсами Н1841 ВФ1 необходимо использовать теперь уже обратное ассоциативное влияние кода операции на коммутационное поле бит-инструкции, что приводит к усложнению дешифрации последнего поля и нарушает эквивалентность объектных и абсолютных кодов микропрограмм.

    Для 2-й версии бит-процессора (рис. 3.15) с системой бит-инструкций табл. 3.9 коммутационные возможности выражаются:

  • канала АЛУ при реализации асимметричных по всем трем операндам функций (7-я функция табл. 3.9 для $$n = 3$$ ):$$\mu_{1} = [(A^{3}_n (C ^{1}_3 +1) + C^{2}_{4})]* A^1_m = 448,$$

    где $$C^1_3$$ учитывает дополнительные коммутационные структуры за счет переименования входов-выходов ( $$R = 1$$ - см. рис. 3.11), $$C_4^2$$ - различные варианты отождествления двух переменных при выполнении функций 1-й переменной;

  • двух каналов транзита:$$\mu_{2} = [(A^{2}_m + A^1_m )( C ^{2}_{3} +1)+ A^1_m )]* A^1_n = 272,$$

    где первое $$A^1_m $$ учитывает возможности отождествления выходов, второе $$A^1_m$$ - возможности выходной коммутации 2-го канала транзита;

  • бит-процессорам $$\mu= \mu_{1}\mu_{2} = 121856 \approx 2^{17}.$$
  • Отсюда следует, что информационные возможности коммутационного поля бит-процессора 2-й версии используются не более чем на 96 %, но и они превосходят аналогичные возможности Н1841 ВФ1 почти в 28 раз.

    Из данных табл. 3.11 и табл. 3.12 видно, что удельные аппаратные затраты на коммутацию на 2-3 порядка ниже аналогичных затрат на арифметико-логические функции, что предопределяет дешевизну и высокую струк-

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

    Удельные аппаратные затраты (КМОП-транзисторов) на 1 коммутационную структуру
    Тип бит-процессора (БП) Количество функций ОУ/функция СУ/функция БП/функция
    Н1841 ВФ1 212 0.075 О064 0.14
    Версия 2 (рис. 3.15) 0.96*217 0.0034 0.0035 0.007

    Синтез (П)ПЗУ-программируемых бит-процессоров включает все перечисленные в разделе 3.2 этапы, и его основная особенность состоит в том, что на систему управления такими бит-процессорами расходуется меньше вентилей и меньше площади кристалла, чем у репрограмми-руемых бит-процессоров, так как она реализуется "программирующими контактными окнами", на каждое из которых расходуется площадь кристалла, сопоставимая с площадью одной базисной схемы "И - НЕ" или "ИЛИ - НЕ".

    Поэтому синтез (П)ПЗУ-бит-процессоров можно проводить без учета ограничений на длину слова инструкции, которая в явном виде присутствует только в инструментальных кросс-средствах (П)ПЗУ-программируемых СБИС. Но при выборе системы бит-инструкций необходимо учитывать, что программист активно использует в своей работе обычно не более 10^{2} инструкций, состав которых в кросс-средствах можно проблемно и алгоритмически ориентировать, если операционные и коммутационные возможности (П)ПЗУ-бит-процессоров полны по отношению к более широкому набору бит-инструкций.

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

    Чтобы удовлетворить последнее требование, достаточно в схеме рис. 3.2 за базовую (пословную) операцию взять матрично-конвейерное умножение (МКУ), которое включает рассмотренное конвейерное умножение как частный случай. В МКУ рис. 3.16 потоки данных должны распространяться по бит-матрице таким образом, чтобы обеспечить пространственно-временную встречу соответствующих 4-х бит-операндов: множимого $$x_{i}$$, множителя $$y_{j}$$, частных сумм $$S_{ij}$$ и "единицы переноса" $$e_{ij}$$. На этом рисунке цифрами указаны такты поступления соответствующих бит-операндов на входы бит-процессоров матрицы, в которой индексы $$i$$ и $$j$$ связаны с ее пространственными координатами, если за начало координат выбран правый верхний угол матрицы.

    (рис 3.16) Структурная схема матрично-конвейерного умножителя (МКУ)

    Чтобы выполнить условия "встречи" бит-операндов при реализации алгоритма МКУ, архитектура бит-процессора должна иметь вид рис. 3.17-а, откуда следует:

  • систему внешних связей рис. 3.1 необходимо дополнить диагональной связью (рис. 3.17-б), введя в (П)ПЗУ-бит-процессор средства переименования входов-выходов, аналогичные рис. 3.8;
  • операционное устройство (П)ПЗУ-бит-процессора должно быть рассчитано на 4 операнда, чтобы реализовать функцию полного сумматора с "внешней" по отношению к бит-процессору "единицей переноса", причем выход частной суммы должен быть задержан на 2 такта;
  • (П)ПЗУ-бит-процессор должен иметь не менее двух независимо адресуемых каналов транзита, которые с учетом структуры репрограмми-руемых бит-процессоров допускают последовательно-параллельное соединение.
  • (рис 3.17) Структурная схема (П)ПЗУ-программируемого бит-процессора

    За основу АЛУ выберем нижний УЛМ2 рис. 3.12 и дополним его двухвходовой схемой "И", как того требует МКУ (см. рис. 3.17). Программирование такого АЛУ ведется "вскрытыми контактными окнами", которые обозначены кружками на рис. 3.18, где ассоциативная управляющая переменная формируется на выходе схемы "И", на входы которой поступают сомножители $$x_{i}$$ и $$y_{j}$$. Поэтому здесь "единица переноса" используется как промежуточная информационная переменная, которая согласно схеме рис. 3.14 распространяется по строкам бит-матрицы. Такое перераспределение функций между переменными допустимо, так как обе функции полного сумматора ( $$\Sigma$$ и $$е$$ ) инвариантны переименованию входных переменных (см. табл. 5.7 раздела 5.5 курса "Задачи и модели вычислительных наноструктур").

    (рис 3.18) Схема АЛУ (П)ПЗУ-программируемого бит-процессора

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

    Выполнив остальные требования МКУ, получим схему (П)ПЗУ-бит-процессора рис. 3.19, которая была разработана в СССР в 1985 году и которая соответствует структурно-функциональным схемам современных ПЛИС [291]. В этой схеме переименование направлений приема-передачи данных осуществляется с помощью двух шин "гальванического транзита" ( TR -1 и TR -2), а программирующие контактные окна обозначены крестиками в точках пересечения внутренних гальванических связей (П)ПЗУ-бит-процессора.

    (рис 3.19) Структурная схема (П)ПЗУ-программируемого бит-процессора

    Используя разложение Шеннона, можно показать, что УЛМ_{2} рис. 3.18 функционально полон по отношению к классу ЛФ трех переменных, то есть по сути является УЛМ_{3}, у которого одна из трех переменных поступает на его s -входы через схему "И".

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

    В последнем случае произвольная коммутация входных переменных ( $$x_{1}\div x_{4}$$ ) (П)ПЗУ-бит-процессора и реализация в его АЛУ заданного множества логических функций (ЛФ) и их инверсий реализуют преобразования, именуемые группой переименований [123] порядка $$2^{n}*n! = 2^{4}*4! = 224$$, по отношению к которой все множество ЛФ трех переменных разбивается на 14 классов смежности [103].

    Взяв из каждого класса смежности по одному "типичному (и наглядному) представителю" (всего 14) и его инверсию, получим систему логических операций (первые 28 функций табл. 3.13), которая с помощью группы переименований переменных (порядка $$2^{n}*n$$!) покрывает весь класс ЛФ трех переменных (всего 256 функций). Дополнив выбранную таким образом систему команд (П)ПЗУ-бит-процессора конечно-автоматными функциями "арифметическая сумма" и "запоминание единицей", получим систему бит-инструкций табл. 3.13, которая полностью совместима с Н1841 ВФ1.

    Существенно, что (П)ПЗУ-бит-процессор обеспечивает работу блоков, устройств и всего (П)ПЗУ-субпроцессора как в чисто конвейерном (бит-инструкции 31, 32 табл. 3.13), так и в векторно-конвейерном (бит-инструкции 29, 30 табл. 3.13) режимах, причем последний повышает темп обработки данных в $$n$$ раз, где $$n$$ - разрядность арифметики субпроцессора.

    При расчете аппаратных затрат на (П)ПЗУ-бит-процессор (табл. 3.14) учитывалась "независимость" средств и объекта управления в каналах АЛУ и транзита, где "регистр команды" и средства коммутации реализуются через одни и те же контактные окна, на которые расходуется только площадь кристалла СБИС.

    Представленная в табл. 3.13 система инструкций бит-процессора не покрывает всего многообразия реализуемых в операционном канале ЛФ и особенно конечно-автоматных функций, но, тем не менее, мощность множества доступных проблемно-ориентированному пользователю операций (всего 256+11 = 367) более чем на порядок выше, чем у репро-граммируемых бит-процессоров 2-й версии (всего 22 - см. табл. 3.9).

    Поэтому удельные аппаратные затраты на одну доступную проблемно-ориентированному пользователю арифметико-логическую функцию в операционном канале (П)ПЗУ-бит-процессора (0,32 транзистора на функцию) более чем в 37 раз ниже, чем у репрограммируемых бит-процессоров 2-й версии (11,8 транзистора на функцию - см. табл. 3.9).

    Если исходить из того, что дополнительные каналы гальванического транзита используются только под переименование входов-выходов, то коммутационные возможности (П)ПЗУ-бит-процессора можно оценить соотношениями (3.2) и (3.3) только при $$m = n = 5$$ (за счет появления диагональной связи).

    Система бит-инструкций (П)ПЗУ-программируемого бит-процессора
    Преобразование Преобразование
    1 $$NOP$$ 20 $$\overline {AND (x_i,x_j,x_k)}$$
    2 $$\overline {NOP}$$ 21 $$AND (x_i, XOR(x_j,x_k))$$
    3 $$TR$$ 22 $$\overline{AND{x_i,XOR(x_j,x_k))}$$
    4 $$\overline {TR}$$ 23 $$IMP(x_i, x_j)$$
    5 $$XOR(x_i, x_j)$$ 24 $$\overline {IMP(x_x, x_j)}$$
    6 $$\overline {XOR(x_i,x_j)}$$ 25 $$$$ F=\begin{cases} AND{(x_i,x_j)/x_k =0,\\ \overline x_i/x_k=1.\\ \end{cases} $$$$
    7 $$XOR(x_i XOR(x_j,x_{kj})$$ 26 $$$$ F=\begin{cases} \overline{AND(x_i,x_j)}/x_k =0,\\ x_i/x_k= 1.\\ \end{cases} $$$$
    8 $$\overline {XOR(x_i XOR(x_j,x_k)}$$ 27 $$$$ F=\begin{cases} IMP(x_i,x_j)/x_k =0,\\ AND(x_i,x_j)/x_k =1.\\ \end{cases} $$$$
    9 $$\sum_{i}x_i \ge 2$$ 28 $$$$ F=\begin{cases} \overline{IMP}(x_i,x_j)/x_k =0,\\ \overline{AND}(x_i,x_j)/x_k =1.\\ \end{cases} $$$$
    10 $$\sum_{i}x_i < 2$$ 29 $$ADD(x_i,x_j, AND(x_k,x_p))$$
    11 $$\sum_{i}x_i = 2$$ 30 \overline{ADD(x_i,x_j, AND(x_k,x_p))}
    12 $$\sum_{i}x_i \ne 2$$ 31 $$ADD(x_i,x_j,e)$$
    13 $$0< \sum_{i}x_i < 3$$ 32 $$\overline{ADD(x_i,x_j,e)}$$
    14 $$0 \le \sum_{i}x_i \le 3$$ 33 $$St1(x_i,x_j)$$
    15 $$\overline{AND (x_i,AND(x_j,x_k))}$$ 34 $$\overline{St1(x_i,x_j)}$$
    16 $$\overline{AND (x_i,\overline{AND(x_j,x_k)})}$$ 35 $$WTR$$
    17 $$XOR (x_i, AND(x_j,x_k))$$ 36 $$St1(AND(x_,x_j)x_k))$$
    18 $$\overline{XOR (x_i, AND(x_j,x_k))}$$ 37 $$St1(\overline{AND(x_,x_j)}x_k))$$
    19 $$AND(x_i,x_j,x_k)$$ 38 СО(генерация константы)
    Распределение аппаратных затрат (КМОП-транзисторов) в (П)ПЗУ-бит-процессоре
    Наименование блока "Окон" Транзисторов
    Регистр инструкции (КОП) 34 -
    Регистр инструкции (коммутация) 98 -
    Операционные D-триггеры - 66
    АЛУ - 50
    Коммутационные D-триггеры - 44
    Итого на канал АЛУ 34 116
    Итого на коммутацию 98 44
    Итого на бит-процессор 132 160

    Поэтому коммутационные возможности:

  • канала АЛУ при реализации асимметричных по всем трем операндам функций (25 и 26 функции табл. 3.13): $$\mu_{1}= [(A^{3}_{5} ( C ^{1}_3 + 1) + C^{2}_{5} )] * A^{2}_5 = 1250$$ коммутационных структур;
  • канала транзита: $$\mu_{2}= [(A^{2}_{5} + A_{5}^1)(C^{2}_{3} + 1) + C^{2}_{5} )] * A_{5} = 610$$ коммутационных структур;
  • всего (П)ПЗУ-бит-процессора: $$\mu_1 * \mu_2 = 1250*610 = 762500 \approx 0.76*2^{20}$$.
  • Из этих данных следует, что разнообразие реализуемых бит-процессором коммутационных структур возросло всего в 6 раз по отношению к репрограммируемым бит-процессорам 2-й версии (0,96*217 - см. табл. 3.12), но удельные аппаратные затраты (5,9*10-5 транзисторов на функцию) упали почти в 60 раз (34*10-4 транзисторов на функцию - см. табл. 3.12). При этом на управление и коммутацию расходуется только площадь кристалла, занимаемая либо перепрограммируемыми перемычками, либо контактными окнами, что обусловлено технологией (П)ПЗУ.

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

  • В классе булевых функций функциональную интенсивность использования одного такта бит-процессора можно повысить только за счет увеличения количества входных и выходных операндов АЛУ, для чего необходимо расширить структурно-функциональные возможности внутренних и внешних связей бит-процессора.
  • Ассоциативное управление коммутационными и операционными ресурсами бит-процессора более эффективно при двухступенчатой системе управления АЛУ, которое в классе ЛФ $$n$$ переменных представляет собой многофункциональный модуль с раздельными информационными и управляющими входами, а в классах ЛФ $$(m < n)$$ переменных - со смешанными информационными и управляющими входами.
  • При двухступенчатом ассоциативном управлении локальные ассоциативные взаимодействия коммутационным и операционным ресурсами бит-процессора порождают глобальные ассоциативные взаимодействия на бит-матрице, что наиболее характерно для операторов фиксации переменных, используемых для функциональной подстройки АЛУ.
  • 3.4. Синтез ассоциативно управляемых МКМД-бит-потоковых матричных СБИС арифметико-логической обработки данных по критерию максимума отказоустойчивости

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

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

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

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

    Анализ особенностей диагностики СБИС при их проектировании, изготовлении и эксплуатации показывает [292-295], что задачи построения тестов, используемых на различных этапах, отличаются в основном только требуемой достоверностью результатов диагностики и составом множества контрольных точек, которые можно использовать при диагностике на каждом жизненном цикле создания и использования СБИС. Очевидно, что состав контрольных точек сокращается при переходе от проектирования к производству и далее к эксплуатации, что усложняет задачу локализации и идентификации отказов.

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

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

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

    (рис 3.20) Декомпозиция проекта бит-матрицы в диагностической плоскости

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

    Только в такой многоуровневой системе диагностики становится возможным:

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

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

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

    Несмотря на кажущуюся простоту методики, основная сложность ее реализации связана с необходимостью анализа множества всевозможных карт отказов начиная с бит-процессорного уровня. Суммарное количество карт от 1 до $$n$$ одновременных отказов логических вентилей, $$N^{отказов}_{(1,n)}$$, определяется следующим выражением:

    $$N^{отказов}_{(1,n)} = \sum\limits_{i=1}^{n}{ N^{отказов}_{(i)}} = \sum\limits_{i=1}^{n}{ C^{i}_{n}*4^i}$$

    где $$n$$ - количество логических вентилей в схеме; $$N^{отказов}_{i}$$ - количество карт отказов для $$i$$ одновременных отказов; $$C^i_n$$ - число сочетаний из $$n$$ элементов по $$I$$, а $$4$$ - количество возможных типов отказов одного вентиля.

    При этом необходимо оценить влияние каждой карты отказов на правильность реализации каждой бит-инструкции (в СБИС Н1841 ВФ1 таких инструкций 7).

    Необходимость моделирования всех карт отказов вызвана тремя обстоятельствами:

  • при активном противодействии с использованием оружия направленной энергии любая карта отказов может возникнуть не только в бит-матрице, но и в любом бит-процессоре;
  • получить численную оценку появления катастрофической карты отказов для каждой бит-инструкции (в СБИС Н1841 ВФ1 всего 216 возможных инструкций) достаточно сложно из-за больших вариаций состава вентилей, принимающих участие в реализации каждой бит-инструкции;
  • парирование карт отказов в бит-матрице методом переразмещения на ней микропрограммы поток-оператора требует знания остаточных функциональных и коммутационных возможностей неисправных бит-процессоров.
  • В таких условиях в технике прибегают к имитационному моделированию [292, 293], с помощью которого удается получить не строгие, но, тем не менее, достаточно достоверные инженерные оценки появления катастрофических карт отказов на ограниченном подмножестве проконтролированных карт отказов. Такие инженерные оценки необходимы для управления процессом разработки СБИС в диагностической плоскости проекта.

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

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

  • Сгенерированная тестовая последовательность при контроле логического блока максимально покрывает пространство отказов этого блока, если величина $$Р^{пр}_{i}$$ этого теста не может быть уже более понижена любым другим тестом. Такую последовательность будем называть полным тестом.
  • Если величина $$Р^{пр}_{i}$$ полного теста с уменьшением его длины только увеличивается, то такой тест считается минимальным. Здесь$$Р^{пр}_{i}=\cfrac{ Р^{пр}_{(1,i)}}{ N^{отказов}_{(1,i)}}$$ - вероятность правильной реакции выхода схемы на входные воздействия, $$R^{пр}_{(1,i)}$$. - количество правильных реакций при переборе всех $$N^{отказов}_{(1,i)}$$ карт отказов, $$i$$ - количество одновременных отказов, на котором процедура перебора останавливается. Для схем, имеющих не более 14 логических элементов (триггеры, мультиплексоры, дешифраторы), $$i$$ приравнивается к количеству вентилей в схеме, то есть моделируются все возможные карты отказов, количество которых для 14 вентилей составит, согласно (3.4), $$N^{отказов}_{(1,14)} = \sum\limits_{i=1}(С_{14}^i \cdot 4^i) = 6103 515 624$$ вариантов. (Время моделирования для 4-входовой схемы с 16-разрядными входными операндами составило около 22 часов для процессора Pentium-IV с тактовой частотой 1,5 ГГц.)
  • Для схем, имеющих более 14 логических элементов, моделирование с использованием такого процессора удается провести полным перебором карт отказов, содержащих всего от 1 до 3 одновременно отказавших логических элементов. Например, для бит-процессора с 386 логическими элементами полный перебор для 1 и 2 одновременных карт отказов, согласно (3.4), составляет 1190424 вариантов, а время моделирования вышеуказанным процессором составило 50 минут.

    Для построения и выбора иерархически преемственной системы тестов контроля аппаратной части МКМД-бит-потоковых субпроцессоров использовалось специально разработанное инструментальное средство Otkaz Modulate.exe. На его основе можно провести анализ влияния различных карт отказов вентилей на поведение известной моделируемой схемы и оценить диагностопригодность конкретного варианта тестовой последовательности. С этой целью в процессе анализа необходимо определить количество правильных реакций ( $$R^{пр}_{(1,i)}$$ ) для всевозможных подмножеств карт, насчитывающих от 1 до $$i$$ одновременных отказов элементов схемы. Мощность множества всевозможных подмножеств карт отказов равна $$N^{отказов}_{(1,i)}$$. После этого можно вычислить $$P^{пр}_{i}$$ для каждой тестовой последовательности и сделать вывод о ее диагностопригодности по критерию полноты обнаружения отказавших элементов схемы.

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

    В табл. 3.15 приведено распределение логических вентилей по основным функциональным блокам БП СБИС Н1841 ВФ1. Из данных этой таблицы видно, что 43,1 % от общего количества вентилей занимают 16-разрядные сдвиговые FIFO -регистры команды. При равномерном распределении отказов по бит-матрице это приводит к тому, что вероятность попадания отказа в вентили, принадлежащие регистру команды, должна находиться на уровне 0,431.

    Отсюда, как и в любой последовательной схеме соединения элементов, попадание хотя бы одного отказа в D -триггер (см. табл. 3.16) регистра бит-инструкции приводит к полной потере его работоспособности, или, что одно и то же, делает очень низкой вероятность правильной работы регистра передачи и хранения бит-инструкций. Здесь и далее приняты следующие обозначения константных неисправностей: "тождественный ноль" (" $$\equiv 0$$ "), "тождественная единица" (" $$\equiv 1$$ ") и "неопределенное состояние" (" $$\pm 1$$ ").

    Распределение логических вентилей в БП СБИС Н1841 ВФ1
    Наименования основных блоков БП Количество вентилей Относительно всего БП
    Последовательный 16-разрядный регистр 153 43,1 %
    Арифметико-логическое устройство 72 20,3 %
    Выходной коммутационный узел 34 9,6 %
    Входной коммутационный узел 33 9,3 %
    Схема коммутации канала транзита 30 8,4 %
    Схема коммутации канала АЛУ 19 5,4 %
    Дешифратор КОП 14 3,9 %
    Всего в бит-процессоре 355 100,0 %
    Вероятности отказов D-триггера при одновременном отказе до двух вентилей
    Выходы D-триггера Правильная реализация " $$\equiv 0$$ " " $$\equiv 1$$ " " $$\pm 1$$ "
    Q 0,01 0,36 0,4 0,23
    invQ 0,01 0,27 0,5 0,22

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

    Процент нарушений сигналов записи инструкций в бит-матрицу
    Тип системыввода в регистрбит-команд Процент нарушений в последовательности микрокоманд при отказе в бит-процессоре:
    одного вентиля двух вентилей
    Последовательный 41,6 % 66%
    Параллельный 2,46 % 4,87 %

    На рис. 3.21 $$Р_{раб}$$ - вероятность сохранения работоспособности потоковой слов-инструкции, $$N_{отказ}$$ - количество одновременно отказавших вентилей в бит-матрице, "Умножитель" и "Сумматор" - реализуемая слов-инструкция, 5х резерв - 5-кратный резерв, тонкие линии с маркерами - последовательная система ввода инструкций в бит-матрицу, жирные линии без маркеров - параллельная.

    (рис 3.21) Вероятность сохранения работоспособности слов-команд

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

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

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

    (рис 3.22) Структурная схема CБИС с параллельной шиной инструкций

    Структурные схемы последовательного и параллельного регистра инструкций БП изображены на рис. 3.23 и 3.24 соответственно. Из рис. 3.24 видно, что отказ D -триггера, передающего сигнал записи инструкции (на рисунке помечен "00" и красным цветом), в параллельном регистре приводит к потере этого сигнала, что, в свою очередь, приводит к потере управления над остальными БП, следующими за ним. Таким образом, на прохождение сигнала записи теперь влияет только один D -триггер, а не 16, как это было в схеме СБИС Н1841 ВФ1. Соответственно, если этот триггер технологически сделать более надежным, то вероятность отказа бит-матрицы по каналу управления можно свести практически к нулю.

    (рис 3.23) Структурная схема последовательного регистра инструкций(рис 3.24) Структурная схема параллельного регистра инструкций

    Из данных табл. 3.18 видно, что общее количество вентилей такой схемы БП возросло на 8,7 %, но это увеличение можно компенсировать отказом от бит-операции "генерация константы" (см. табл. 3.1), которая использует 8 адресных бит регистра инструкции БП (поля А1-А4 - см. рис. 3.4). Эта бит-операция предназначена для хранения и циклического воспроизводства восьмибитной константы, задаваемой программистом. В этом случае функцию "генерация константы" можно реализовать не на схемотехническом, а на микропрограммном уровне организации вычислений.

    С учетом изложенного, в дальнейшем в качестве базового будем использовать вариант, функционально аналогичный СБИС Н1841 ВФ1, с тем условием, что управление реализовано по схеме параллельного ввода бит-инструкций рис. 3.22.

    Другим достаточно опасным источником возникновения катастрофических отказов в БП является его арифметико-логическое устройство, которое наиболее интенсивно используется в микропрограммах всех слов- и поток-инструкций. Согласно [101], АЛУ БП можно выполнить как по схеме универсального модуля рис. 3.12, так и многофункционального логического модуля (МЛМ) рис. 3.25.

    Распределение затрат в БП с параллельным регистром инструкций
    Наименования основных блоков БП Количество вентилей Относительно всего БП
    Р-трштер сигнала записи инструкции 12 3,1 %
    Последовательный 16-разрядный регистр команды 176 45,6 %
    Арифметико-логическое устройство 72 18,6 %
    Выходной коммутационный узел 34 8,8 %
    Входной коммутационный узел 33 8,5 %
    Схема коммутации канала транзита 30 7,8 %
    Схема коммутации канала АЛУ 19 4,9 %
    Дешифратор КОП 10 2,6 %
    Всего в бит-процессоре 386 100,0 %
    (рис 3.25) Структурная схема многофункционального логического модуля (МЛМ)

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

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

  • потребляемая мощность возрастает (в данном случае) более чем в 3 раза, что критично для систем космического базирования;
  • время задержки в схеме возрастает на 60 %, что критично для существенно отстающей отечественной микроэлектроники.
  • Структурно-логическая схема АЛУ, реализованного по схеме УЛМ, включает дешифратор кода операции, операционный блок на основе мультиплексора и схему обратной связи, образованной D -триггером (см. рис. 3.2, рис. 3.12), (см. рис. 5.12, рис. 5.13 раздела 5.5 курса "Задачи и модели вычислительных наноструктур"). Данное АЛУ потенциально способно выполнить 16 логических функций двух переменных "комбинационного" типа и до десятка осмысленных операций "конечно-автоматного" типа. В АЛУ на УЛМ функциональную избыточность исключают с помощью схемы управления, дешифратор которой позволяет выполнить только предусмотренные проектом операции. В данном случае список бит-операций ограничен табл. 3.1.

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

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

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

    Вероятность сохранения работоспособности функций АЛУ
    Кол-во отказавших вентилей АЛУ на УЛМ АЛУ на МЛМ
    $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$ $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$
    1 0,2257 0,5278 0,5694 0,5278 0,2951 0,3669 0,7258 0,7258 0,6613 0,5282
    2 0,0507 0,2836 0,3262 0,2806 0,0881 0,1326 0,5247 0,5247 0,4348 0,2764
    3 0,0113 0,1552 0,188 0,1501 0,0266 0,0472 0,3778 0,3778 0,2843 0,1433

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

  • схема АЛУ на МЛМ в 1,6-4 раза менее чувствительна к отказам выходных каскадов вентилей по сравнению со схемой АЛУ на УЛМ, причем выигрыш возрастает с ростом карты отказов;
  • в обеих схемах устойчивость к отказам падает с ростом сложности реализуемой АЛУ функции, в частности, при реализации "конечно-автоматных функций" ("арифметическая сумма" и "запоминание единицей") устойчивость к отказам падает от двух до десяти раз в сравнении с реализацией "комбинационных функций" ("И", "И - НЕ", "сложение по модулю два").
  • Но высокая отказоустойчивость АЛУ, выполненного по схеме МЛМ, опасна увеличением латентного периода до получения функционально

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

    Более высокая чувствительность АЛУ, выполненного по схеме УЛМ, удобна еще и тем, что сужает ядро схемы, диагностируемое прямыми методами, так как достаточно достоверным становится парадоксальное правило вывода типа: "если не реализуется более сложная операция БП, то тем более не реализуется и более простая".

    Сказанное подтверждают результаты моделирования работы схем АЛУ, представленные в табл. 3.20, откуда видно, что для контроля правильной работы схемы АЛУ на УЛМ достаточно протестировать функции "арифметическая сумма", "запоминание единицей", "сложение по модулю два". Напротив, схема АЛУ на МЛМ требует тестирования всех функций. В табл. 3.20 "более сложные" функции стоят слева, а "более простые" - справа.

    Вероятность исполнения функции различными схемами АЛУ в условиях отказа более "сложных" функций
    Кол-во отказавших вентилей АЛУнаУЛМ АЛУнаМЛМ
    $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$ $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$
    1 0,226 0,049 0,021 0 0,003 0,367 0,222 0,008 0,032 0,024
    2 0,051 0,02 0,007 0 0,001 0,133 0,112 0,002 0,008 0,004

    Систему правил логического вывода, основанных на результатах прямого тестирования ядра схемы БП, можно расширить, сократив тем самым время диагностики. В простейшем случае при достоверности гипотезы независимости последующих отказов от карты предыдущих отказов вероятность сохранения работоспособности исполняемых функций АЛУ при $$i$$ одновременных отказах его вентилей оценивается соотношением:

    $$P_{раб}^{i} = (P^{1}_{раб})^{i}$$

    где $$P^{1}_{раб}$$ - это вероятность сохранения работоспособности функции при одном отказе.

    Однако как видно из табл. 3.19, гипотеза независимости отказов, а с ней и соотношение (3.5) соблюдается с определенными погрешностями. Например, для функции "сложение по модулю два" ( $$mod2$$ ), для АЛУ, выполненного по схеме УЛМ, $$P^{1}_{раб} = 0,5278$$, тогда $$P^{2}_{раб} = (P^{1}_{раб})^{2} = (0,5278)^{2} = 0,2785$$ и $$P^{3}_{раб} = (P^{1}_{раб})^{3} = (0,5278)^{3} = 0,147$$. Экспериментальные значения табл. 3.19 дают следующие результаты: $$P^{2}_{раб} = 0,2806; P^{3}_{раб} = 0,1501$$, то есть экспериментальные значения на $$\approx 0,0025$$ больше теоретических.

    Для АЛУ, выполненного по схеме МЛМ, разница между экспериментальными и теоретическими значениями реализации той же функции составляет $$\approx-0,0025$$. Такие же отклонения наблюдаются и для остальных функций, что видно из данных табл. 3.21.

    Разница между экспериментальными и теоретическими значениями вероятностей сохранения работоспособности функций
    Кол-во отказавших вентилей АЛУнаУЛМ АЛУнаМЛМ
    $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$ $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$
    1 0 0 0 0 0 0 0 0 0 0
    2 -0,0003 0,0050 0,0019 0,0021 0,0010 -0,0021 -0,0021 -0,0021 -0,0025 -0,0026
    3 -0,0002 0,0082 0,0034 0,0031 0,0009 -0,0022 -0,0045 -0,0045 -0,0049 -0,0040

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

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

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

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

    Вероятность реализации или трансформации загружаемой функции в бит-процессор при одном отказавшем вентиле
    Загружаемая функция Реализуемая функция
    $$+$$ ^ $$wtr$$ $$inv$$ ^ $$mod2$$ $$st1$$ $$\equiv 0$$ $$\equiv 1$$ $$\pm 1$$
    Бит-процессор с параллельной системой ввода в регистр бит-команд
    $$+$$ 0,663 0,001 0,013 0 0,012 0 0,082 0,004 0,008
    $$\^$$ 0 0,72 0,036 0 0 0,001 0,094 0,004 0,008
    $$wtr$$ 0,006 0,006 0,804 0 0 0 0,07 0,004 0,008
    $$inv$$ ^ 0 0,001 0,001 0,712 0,008 0,007 0,08 0,004 0,008
    $$mod2$$ 0,006 0,001 0,007 0,008 0,709 0 0,099 0,004 0,008
    $$st1$$ 0 0,006 0,001 0,006 0 0,668 0,106 0,004 0,008
    Бит-процессор с последовательной системой ввода в регистр бит-команд
    $$+$$ 0,432 0,001 0,011 0 0,014 0 0,21 0,004 0,008
    ^ 0 0,494 0,053 0 0 0,002 0,223 0,004 0,008
    $$wtr$$ 0,002 0,002 0,595 0 0 0 0,205 0,004 0,008
    $$inv$$ ^ 0 0,001 0,001 0,494 0,004 0,002 0,214 0,004 0,008
    $$mod2$$ 0,001 0,001 0,008 0,004 0,490 0 0,24 0,004 0,008
    $$st1$$ 0 0,001 0,001 0,002 0 0,446 0,244 0,004 0,008
    Вероятность реализации или трансформации загружаемой функции в бит-процессор при двух отказавших вентилях
    Загружаемая функция Реализуемая функция
    $$+$$ ^ $$wtr$$ $$inv$$ ^ $$mod2$$ $$st1$$ $$\equiv 0$$ $$\equiv 1$$ $$\pm 1$$
    Бит-процессор с параллельной системой ввода в регистр бит-команд
    $$+$$ 0,44 0,002 0,021 0 0,018 0 0,154 0,008 0,015
    ^ 0 0,519 0,055 0 0 0,002 0,173 0,008 0,014
    $$wtr$$ 0,009 0,009 0,646 0 0 0 0,133 0,008 0,015
    $$inv$$ ^ 0 0,001 0,002 0,507 0,012 0,01 0,150 0,008 0,015
    $$mod2$$ 0,008 0,001 0,012 0,011 0,504 0 0,179 0,008 0,014
    $$st1$$ 0 0,009 0,003 0,009 0 0,447 0,193 0,008 0,014
    Бит-процессор с последовательной системой ввода в регистр бит-команд
    $$+$$ 0,19 0,002 0,015 0 0,014 0 0,337 0,009 0,019
    ^ 0 0,247 0,065 0 0 0,002 0,351 0,009 0,018
    $$wtr$$ 0,002 0,002 0,360 0 0 0 0,329 0,009 0,019
    $$inv$$ ^ 0 0,001 0,002 0,247 0,004 0,002 0,342 0,009 0,019
    $$mod2$$ 0,001 0,001 0,012 0,003 0,244 0 0,374 0,009 0,018
    $$st1$$ 0 0,002 0,002 0,002 0 0,202 0,377 0,009 0,018

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

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

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

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

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

  • Широко разрекламированные (возможно, и с подрывной целью) в 80-х годах прошлого столетия на Западе систолические вычислительные структуры ориентированы на ОКМД-режим распараллеливания вычислений и требуют для своей реализации интеллектуальных оболочек для приведения алгоритмов пользователя к систолическому виду и кремниевых компиляторов для быстрого бездефектного проектирования специализированных систолических СБИС достаточно широкой номенклатуры, покрывающей потребности (Б)ВС во всем спектре решаемых задач. Поэтому в рамках систолических технологий преимущества получал не тот, кто приводил алгоритмы к систолическому виду, а тот, кто имел более эффективную СБИС-реализацию. Однако все систолические структуры достаточно просто эмулируются методами и программно-аппаратными средствами МКМД-бит-потоковых вычислительных технологий, аппаратную платформу которых можно реализовать на базе единственной СБИС. При этом аппаратные издержки такой эмуляции не превышают двукратных затрат на МКМД-бит-п отоковых матрицах, причем такая структурно-функциональная избыточность может быть использована для повышения отказоустойчивости (суб)процессорного тракта. В итоге суммарные аппаратные затраты отказоустойчивых систолических и МКМД-бит-потоковых субпроцессоров оказываются сопоставимыми.
  • Структурно-функциональный и схемотехнический синтез МКМД-бит-процессорных матричных СБИС, УБИС или систем на кремниевой пластине по сложности проекта и вытекающим из него требованиям к поддерживающим инструментальным программно-аппаратным платформам находится на уровне схем средней степени интеграции, содержащих не более 1000 логических вентилей. Это делает прозрачным процесс проектирования аппаратных платформ для МКМД-бит-потоковых вычислительных технологий, как в структурно-функциональной, так и в диагностической плоскости. Такое кардинальное снижение размерности задач быстрого бездефектного проектирования и изготовления МКМД-бит-процессорных матричных структур приводит к существенному возрастанию сложности задач микропрограммного конструирования алгоритмически ориентированных субпроцессоров на их основе. Основная проблема микропрограммного конструирования сконцентрирована в задаче интерактивного поиска топологической схемы размещения всех бит-инструкций потокового оператора с соблюдением с точностью до 1 такта всех фазовых соотношений между потоками данных, распространяющимися по двумерной FIFO -регистровой решетке.
  • Различные варианты построения МКМД-бит-процессорных матричных СБИС в основном разнятся средствами управления и коммутации, которые играют решающую роль в обеспечении отказоустойчивости СБИС и субпроцессоров на их основе. При этом зависящая от области применения система реализуемых бит-инструкций мало влияет на структурно-функциональную схему бит-процессора, которая в большей степени определяется принципами и методами организации вычислений.
  • Принципы и методы МКМД-бит-потоковой организации вычислений таковы, что их реализация приводит к естественной структурно-функциональной избыточности бит-процессоров, которая повышает отказоустойчивость СБИС и бит-матриц на их основе, во-первых, за счет того, что отказавший вентиль может оказаться неиспользуемым при реализации заданной бит-инструкции, а во-вторых, за счет того, что под воздействием отказа в бит-процессоре все же реализуется некоторая бит-инструкция, которая принадлежит системе ее бит-операций и при сдвигах микропрограмм на бит-матрице может оказаться востребованной именно в данном месте бит-матрицы.
  • Одна из центральных проблем технологии прототипирования в рамках МКМД-бит-потоковых технологий решается на основе методов и средств многоуровневого имитационного моделирования, что позволяет уже на самых ранних этапах проектирования оценить влияние принимаемых конструктивных и технических решений на отказоустойчивость создаваемого программно-аппаратного продукта. В результате удается сделать весь процесс проектирования полностью отечественных МКМД-бит-потоковых субпроцессорных трактов управляемым по фактору отказоустойчивости. При этом появляется достаточно уникальная возможность сбалансированного управления вводимой на этапе проектирования и используемой в процессе эксплуатации естественной структурно-функциональной и топологической избыточностью бит-процессоров и соответственно матриц на их основе. Это увеличивает степень связности проекта МКМД-бит-потокового (суб)процессорного тракта в структурно-функциональной и диагностической плоскостях, так как с ростом структурно-функциональной избыточности возрастает и устойчивость к отказам бит-матриц, а значит, и накапливаемая в латентном периоде карта отказов, что негати вно сказывается на эффективности работы подсистем диагностики и парирования карт отказов. Отсюда следует, что с ростом отказоустойчивости бит-матриц необходимо увеличивать частоту принудительного тестового контроля, что негативно сказывается на пропускной способности МКМД-бит-потоковых субпроцессорных трактов.
  • Центральная проблема двухкритериального синтеза МКМД-бит-процессорных СБИС - это поиск компромисса между аппаратными затратами, расходуемыми на основные функции и функции управления, а также на введение структурно-функциональной избыточности, определяющей основные характеристики системы обеспечения живучести субпроцессоров в целом. При этом важно иметь в виду, что чем больше уровень вложенности аппаратной реализации одних функций бит-процессора в другие, более "сложные" функции, тем большее влияние оказывают одиночные отказы вентилей на спектр исполняемых бит-инструкций. С другой стороны, при меньшей степени вложенности аппаратно реализуемых функций больше карта индифферентных отказов, накапливаемых в латентный период, и тем сложнее задача их локализации и парирования.
  • Военно-техническая политика в области вычислительной техники, основанная на комплектации отечественных (Б)ВС микропроцессорными СБИС или УБИС зарубежного проектирования и производства, опасна тем, что оценить априори отказоустойчивость таких (Б)ВС не представляется возможным без знания их логической схемы и проведенных над ними тестов проектного и промышленного контроля. Это делает процесс проектирования отечественных (Б)ВС неуправляемым по фактору отказоустойчивости, вся тяжесть исследований которой ложится на этапы натурных испытаний средств вычислительной техники, но уже в составе боевых летно-технических комплексов. В результате:
  • неоправданно удорожается стоимость и затягиваются сроки проведения натурных приемо-сдаточных испытаний отечественных автоматизированных систем двойного назначения, созданных на основе зарубежных микропроцессорных СБИС или УБИС;
  • возрастает неопределенность планирования и подготовки боевых действий авиации из-за недостоверного определения уровня готовности боевых ЛА выполнить поставленные боевые задачи в заданные сроки и с требуемым качеством, в который решающий вклад вносит достоверная оценка работоспособности бортовых средств вычислительной техники, задействованных непосредственно в решении этих задач.
  • Страницы:

    3.1. СБИС реализация

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

  • она воспроизводима на любом уровне топологических норм промышленного изготовления: микронном, субмикронном или нанометровом;
  • она не критична к "интеллектуальности" средств проектирования, так как неделимой единицей схемотехнического и топологического проекта является бит-процессор с достаточно "прозрачной" архитектурой на основе нескольких сотен вентилей, топологическая схема которого мультиплицируется по кристаллу или целой кремниевой пластине, создавая эффект сверх- (СБИС) или ультравысокой (УБИС) степени интеграции.
  • Разработанная в 1984 году СБИС Н1841 ВФ1 [138, 139] представляет собой матрицу 5х4 синхронно работающих бит-процессоров (рис. 3.1), объединенных единым FIFO -регистровым каналом ввода-вывода и хранения микроинструкций ( $$P(in) - P(out)$$ ). ( FIFO - "первый вошел - первый вышел".)

    (рис 3.1) Структурная схема СБИС Н1841 ВФ1

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

  • канал управления, включающий 16-разрядный FIFO-регистр (рис 3.2) Структурная схема бит-процессора
  • канал АЛУ, включающий последовательно соединенные: входные коммутаторы (MS1, MS2) с независимым заданием двух адресов А1 и А2 приема исходных операндов, однобитное конвейерное АЛУ, два D-триггера (D1, D2) , первый из которых обеспечивает обязательную, а второй дополнительную (при FD:= 1) задержку на 1 такт, и выходной коммутатор (DMS1), адресуемый полем А4 регистра бит-инструкции;
  • канал транзита, включающий последовательно соединенные входной коммутатор (MS3), адресуемый полем А3 регистра бит-инструкции, и два D -триггера (D3, D4) с независимо адресуемыми выходами (DMS2, DMS3) (поля А5 и А6 регистра бит-инструкции).
  • На каждом такте работы каждый бит-процессор может выполнить до 18 бит-операций, из которых функционально значимыми и доступными пользователю являются:

  • одна из арифметико-логических операций в канале АЛУ (табл. 3.1) и "монтажное ИЛИ", реализуемое выходными коммутаторами при совпадении любой пары или тройки адресов результирующих операндов каналов АЛУ и/или транзита;
  • три произвольно адресуемые по направлениям пересылки результирующих бит-операндов, одна из которых выполняется в канале АЛУ, а две другие - в канале транзита;
  • две дополнительные задержки в каналах АЛУ и транзита, эквивалентные операции сдвига на один разряд в конвейерной арифметике.
  • Система бит-инструкций Н1841 ВФ1
    Наименование Условное обозначение Код
    Нет операции $$NOP$$ 000
    Арифметическое сложение $$+ - ADD$$ 001
    Логическое умножение $$\Lambda - AND$$ 010
    Расширенный транзит $$WTR$$ 011
    Логическое умножение с инверсией $$\overline{\Lambda } - NAND$$ 100
    Неравнозначность $$\oplus - XOR$$ 101
    Запоминание единицей $$ST1$$ 110
    Генерация константы $$CG$$ 111

    АЛУ бит-процессора выполнено по схеме универсального логического модуля рис. 5.10, рис. 5.12 и рис. 5.13 (см. раздел 5.5 курса "Задачи и модели вычислительных наноструктур"), а недоиспользование потенциальных функциональных возможностей вызвано ограничением разрядности поля кода операции ( COP ) регистра бит-инструкции (см. рис. 3.2).

    Таким образом, в СБИС Н1841 ВФ1 потенциально достижимый коэффициент распараллеливания на уровне каждой независимо задаваемой бит-инструкции равен 7, а наращивание бит-матрицы до требуемых размеров $$I_{0}*J_{0}$$ осуществляется соединением СБИС по типу "ножка в ножку" и обходится без буферных каскадов, включение которых негативно влияет на тактовую частоту работы всей бит-матрицы и требует схемотехнического моделирования в процессе синтеза МКМД-бит-потоковых (суб)процессоров.

    В итоге максимальный пользовательский коэффициент распараллеливания на уровне бит-операций может составить $$7*I_{0}*J_{0} $$, где "площадь" бит-матрицы ограничена нагрузочными возможностями шины синхронизации и может достигать на практике значений порядка $$I_{0}*J_{0} = 10^{4}-10^{5}$$ бит-процессоров.

    Из бит-инструкций табл. 3.1 пояснений требуют:

  • "расширенный транзит" ( WTR - рис 3.3(рис 3.3) Структурная схема бит-процессора при выполнении бит-инструкции WTR
  • "генерация константы" ( $$CG$$ - рис. 3.4), которая используется для циклического воспроизведения на выходах канала транзита 8-битного операнда, хранимого в полях А1-А4 регистра бит-инструкции и занесенного туда при загрузке микропрограммы в бит-матрицу.(рис 3.4) Структурная схема бит-процессора при выполнении бит-инструкции CG
  • "запоминание единицей" ( $$ST1$$ - см. (5.31) и (5.32), табл. 5.8 и рис. 5.13 раздела 5.5 курса "Задачи и модели вычислительных наноструктур"), которая используется для управления потоками данных по содержимому какого-либо однобитного признака по следующему правилу:
  • если содержимое бита управляющего операнда (адресуется полем А2 регистра бит-инструкции) равно "единице", то на выходе операционного канала с задержкой на 2 такта устанавливается значение бита информационного операнда (адресуется полем А1);
  • если содержимое бита управляющего операнда равно "нулю", то на выходе операционного канала с задержкой на 2 такта хранится последнее значение бита информационного операнда, которое отвечает последнему "единичному" биту управляющего операнда.
  • При заполнении полей А1-А6 регистра бит-инструкции, которые задают направления приема-передачи операндов, используется кодовая табл. 3.2.

    Правила кодирования входов-выходов бит-процессора
    Вход $$a$$ Код $$b_0$$ Выход
    $$a_0$$ 00 $$b_0$$
    $$a_1$$ 01 $$b_1$$
    $$a_2$$ 10 $$b_2$$
    $$a_3$$ 11 $$b_3$$

    В табл. 3.3 представлены данные по распределению аппаратных затрат на реализацию различных блоков бит-процессора СБИС Н1841 ВФ1, из которых следует:

  • на АЛУ как на объект управления и основное средство выполнения заданий расходуется порядка 6% аппаратуры бит-процессора;
  • средства управления бит-процессором поглощают порядка 48% аппаратных ресурсов, львиная доля которых расходуется на управление средствами внутренней и внешней коммутации;
  • средства внешней коммутации, с помощью которых пользователь задает топологию микропрограмм поток-операторов, поглощают (с учетом затрат на хранение управляющих данных в регистре бит-инструкции) порядка 62% всех аппаратных затрат.
  • Распределение аппаратных бит-процессоре СБИС Н1841 ВФ1
    Наименование блока Н1841 ВФ1
    Регистр инструкции (КОП) 88
    Регистр инструкции (коммутация) 264
    Дешифратор АЛУ 108
    Внутренняя коммутация 64
    Операционные D-тригтеры 66
    АЛУ 64
    Внешняя коммутация 240
    Коммутационные D-тригтеры 66
    Средства управления АЛУ 196
    Средства управления коммутацией 264
    Объект управления канала АЛУ 194
    Объект управления коммутацией 306
    Итого на средства управления 460
    Итого на объект управления (ОУ) 500
    Итого на бит-процессор (БП) 960

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

    3.2. Особенности методики синтеза ассоциативно управляемых МКМД-бит-потоковых матричных СБИС арифметико-логической обработки данных

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

    Так, при оценке эффективности алгоритмов цифровой обработки сигналов и изображений реального времени [273-275] постановщики задач длительное время руководствовались критерием минимума операций умножения. Успехи микроэлектроники конца прошлого столетия привели к тому, что на первое место по временным затратам вышли не арифметические операции деления и умножения, которые в современных RISC -процессорах реализуются аппаратно и с длительностью цикла в один такт, а операции пересылки данных, которые в быстрых алгоритмах цифровой обработки сигналов и изображений реального времени сопровождаются усложнением адресной арифметики. В результате гарантированный теоретический выигрыш в ускорении вычислений резко снижается, и он не окупается ростом аппаратных затрат на векторные адресные сопроцессоры, обеспечивающие поддержку достаточно сложных "сетевых" графов информационного взаимодействия различных программных процедур, закрепленных за разными процессорами параллельных (Б)ВС. Такое положение вещей типично для тех компонент (Б)ВС, от которых требуется не только сверхвысокая производительность, превышающая физические возможности отдельных процессоров, но и повышенная отказоустойчивость в условиях ограниченных массо-габаритов и потребляемой мощности.

    Если абстрагироваться от уровня стандартизации элементной базы, то технология сквозного системного проектирования МКМД-бит-потоковых матричных СБИС требует междисциплинарного подхода к их созданию и содержит те же этапы, что и технология проектирования заказных СБИС для критических задач цифровой обработки сигналов и изображений реального времени [70, 276] (рис. 3.5):

  • Выбор базовой задачи, наиболее полно представляющей систему преобразований, используемых при решении класса задач.
  • Выбор алгоритма решения базовой задачи с учетом ограничений микроэлектронной реализации.
  • Выбор минимального набора операций, достаточного для решения не только базовых, но и всего класса задач с учетом интерфейсных и управляющих функций.(рис 3.5) Этапы проектирования алгоритмически ориентированных СБИС
  • Выбор алгоритмов базовых операций с учетом ограничений микроэлектронной реализации.
  • Выбор структурно-функциональной схемы операционной части бит-процессора (объект адаптации).
  • Выбор системы управления бит-процессором. В этом процессе существенное место занимает синтез распределенной системы диагностики и парирования отказов, так как при степени интеграции на кристалле свыше 100 тыс. транзисторов эффективно решить вопросы диагностики после изготовления СБИС практически невозможно, имея доступ только к внешним входам и выходам схемы.
  • Действительно, в современных процессорах общего назначения, цифровых процессорах обработки сигналов ( ЦПОС ), транспьютерах и RISC -процессорах даже частичный отказ одного из имеющихся типов вычислительных ресурсов (регистр общего назначения, стек команды или данных, арифметический сопроцессор плавающей запятой и т. п.) приводит либо к полной потере работоспособности, либо требует полной перекомпиляции программ. В последнем случае необходимы встроенные средства глубокой диагностики, задающие действующую конфигурацию вычислителя, и высокоскоростные трансляторы.

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

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

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

    В результате в параллельных (Б)ВС на процессорах одной из традиционных архитектур парирование отказов в реальном времени в основном осуществляется по восходящей к Дж. фон Нейману схеме мажоритарного резервирования, которая в современных условиях строится на основе встроенных средств диагностики, уменьшающих, как показывает опыт, коэффициент резервирования с 3 до 2,2-2,5. Поэтому узлы многопроцессорных ВС, парирующих отказы в реальном времени и без потерь в результирующей информации, принято считать "идеальными" вычислителями, в которых проблема обнаружения и парирования отказов полностью локализована и не сказывается как на работе неисправного узла, так и на работе информационно связанных с ним узлов. Однако количество парируемых по этим схемам отказов ограничено величинами 2-3, что на 1-2 порядка ниже размеров карт отказов, которые могут возникнуть в результате активного противодействия с применением оружия направленной энергии.

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

    конструктивно неделимой единицей проекта в диагностической плоскости фактически является отдельный процессор.

    Бит-процессорная технология является практически единственной, где неделимой единицей проекта в диагностической плоскости является не всегда доступный с периферии СБИС бит-процессор с наиболее простой архитектурой, на поддержку которой уходит 200-300 вентилей.

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

  • высокая структурно-функциональная гибкость, реализуемая на микропрограммном уровне управления, доступна разработчику любого уровня иерархии (Б)ВС;
  • массовый ( $$10^{3}-10^{5}$$ ) векторно-конвейерный параллелизм по ассоциативно взаимодействующим потокам команд и данных позволяет управлять вычислительными ресурсами в темпе реального времени, то есть непосредственно во время вычислений;
  • простота процессорного элемента обеспечивает его проектную и диагностическую "прозрачность", что в сочетании с высоким уровнем топологической мультипликации (102-103 ячеек) позволяет достичь наиболее высоких уровней интеграции в сверх-, ультра-БИС и на целой пластине, не выдвигая завышенных требований к "интеллектуальным" и технологическим компонентам САПР.
  • Методологическое сходство данной технологии с зарубежными преимущественно ОКМД-бит-потоковыми технологиями на основе систолических СБИС [70, 142- 144, 277, 278] состоит в следующем. Проектирование СБИС ведется "сверху-вниз" во всех трех плоскостях: структурно-функциональной (в схеме рис. 3.5 речь идет о задачах векторно-матричной обработки), программно-аппаратной и диагностической. Оно нацелено на создание архитектур, адекватных ( базовым ) алгоритмам обработки, и на самых ранних этапах спецификации всей системы учитывает возможности и ограничения микроэлектронной технологии их изготовления. В современных условиях основная сфера использования МКМД-бит-потоковых технологий - это цифровая обработка сигналов, изображений и потоков данных режима реального времени, и в ней доминируют методы и алгоритмы линейной алгебры. Проектирование субпроцессоров ведется итеративно "сверху-вниз" и "снизу-вверх", нацелено на комплексное использование (полу)заказных и программируемых СБИС и учитывает специфику организации вычислений в каждой из них.

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

    даментальных и прикладных исследований [279], а также успехи кремниевой компиляции при "бездефектном" проектировании и изготовлении зарубежных ОКМД-бит-потоковых матричных СБИС [98, 99, 135] предопределяют разницу в целях, задачах, критериях эффективности, распределении задач между этапами проектирования в этих технологиях. В частности, зарубежные исследователи свои усилия в основном сконцентрировали:

  • на синтезе алгоритмически ориентированных систолических структур под конкретные задачи цифровой обработки сигналов и изображений реального времени [70, 76, 280],
  • на методах отображения алгоритмов цифровой обработки сигналов и изображений реального времени на систолические структуры [70, 145, 146], что предполагает их (полу)заказное исполнение.
  • Поэтому в этих исследованиях реконфигурация структур и функций матриц, как правило, учитывает либо потребности узкого круга задач [70], либо потребности самовосстановления их работоспособности [147, 237, 281]. Данное положение подтверждается тем, что в репрограммируемом варианте выпущены единичные типы систолических бит-матриц [144, 148].

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

    В теоретическом плане такая установка требует решения следующих проблем в сверхбольшом коллективе МКМД-бит-потоковых вычислителей:

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

  • из гарантированной возможности распараллеливания вычислений арифметико-логических, адресных, интерфейсных и управляющих функций, что апробировано в отечественных бортовых цифровых вычислительных машинах (БЦВМ) [282- 288];
  • из максимального использования МКМД-бит-потокового конвейера, в котором ОКМД-фактор векторизации потоков данных играет вспомогательную роль, обеспечивая не столько распараллеливание вычислений, сколько согласование темпов поступления и обработки данных (см. раздел 1.5 курса "Задачи и модели вычислительных наноструктур");
  • из высокой индивидуальной структурно-функциональной гибкости каждого бит-процессора, что, с одной стороны, обеспечивает алгоритмически ориентированную аппаратную эмуляцию широкого круга задач, а с другой стороны, обеспечивает минимизацию системных издержек за счет реализации спектра архитектур субпроцессоров;
  • из совместного использования репрограммируемых и (П)ПЗУ-программируемых МКМД-бит-потоковых матричных СБИС, первые из которых обеспечивают высокую адаптивность аппаратуры к задачам, решаемым в режиме разделения времени, и открытость (Б)ВС на "время жизни" ЛА, а вторые снижают массо-габариты и потребляемую мощность дежурных и/или интенсивно используемых специализированных функциональных блоков (Б)ВС;
  • из упрощенных методов структуризации алгоритмов и программ за счет снятия всех конфликтов в любом графе их представления за счет аппаратной реализации всех его активных узлов и ребер.
  • Преимущества такой стратегии проектирования и использования МКМД-бит-потоковой технологии проще всего показать, опираясь на хорошо известную схему Горнера рекурсивного вычисления полинома $$k$$ -й степени рис. 3.6-а:

    Шаг рекурсии Операция
    1 $$F_1=F_{0}x+a_{k-1}$$.
    2 $$F_{2}=F_{l}x+a_{k-2}$$
    ………………
    $$k-l$$ $$F_{k-1}=F_{k-2}*+a_1$$
    $$k$$ $$F_{k}=F_{k-1}x+a_0$$

    где $$F_0 = a_k$$, а вычисляемый полином имеет вид

    $$P_k(x) = \sum\limits_i{x^ia_i}, \,i=\overline{1,k}$$ (рис 3.6) Схема Горнера

    Схема рис. 3.6-а не оговаривает способа поступления "внешних" переменных $$х$$ и $$а_{i}$$, первая из которых обычно считается "быстро" изменяющейся функцией целочисленного времени $$х = х(Т)$$, а вторая может "медленно" изменяться в адаптивных алгоритмах $$а_{i} = а_{i}(Т_{0})$$, где $$Т_{0}$$ - интервал постоянства $$\{а_{i}\}$$.

    Конвейерная схема распространения "промежуточных" переменных $$\{F_{i}\}$$ рис. 3.6-б минимизирует время выполнения инструкции в каждом операционном модуле, но требует тактируемых синхроимпульсами (СИ) элементов задержки ( D ) и в микроэлектронном исполнении неудобна тем, что:

  • ограничивает "глубину" ( $$k$$ ) одномерного конвейера из-за параллельного соединения $$k$$ -входов;
  • предполагает хранение коэффициентов $$\{а_{i}\}$$ в локальных ОЗУ малого объема;
  • требует отдельной адресной шины ввода этих коэффициентов, которая по площади занимает больше места, чем само ОЗУ;
  • требует подготовительного цикла обновления $$\{а_{i}\}$$ в случае использования адаптивных алгоритмов.
  • Если считать независимыми скорости распространения потоков данных $$Х_{i}(T)$$ и $$А_{j}(Т)$$ и абстрагироваться от смысла и сложности инструкции, выполняемой каждым операционным модулем, то схема Горнера трансформируется в классическую линейную систолическую структуру (рис. 3.6-в). В этой схеме пары "внешних" операндов $$Х_{i}$$ и $$А_{j}$$ создают произвольные наборы комбинаций с "внутренними" переменными $$F_{i}$$ за счет вариаций задержек $$\{D_{1}, D_{2}, D_{3}\}$$.

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

    Для реализации "внешней" пространственно-временной коммутации требуется всего три типа линейных (одномерных) систолических структур (рис. 3.7 [289]), в которых декартово произведение реализуется либо на двух встречных потоках, либо на двух однонаправленных потоках, либо на одном распространяемом по линейному конвейеру, а другом предварительно введенном в ОЗУ операционных модулей.

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

    Аппаратно-временные характеристики этих схем сведены в табл. 3.4, из данных которой следует:

  • Минимальное количество операционных устройств, максимальный коэффициент их использования (без учета времени вхождения в конвейер) и максимальный темп поступления данных приходится на схему рис. 3.7-в.
  • При циклическом формировании декартова произведения двух потоков данных $$\{x_{i}\}$$ и $$\{y_{i}\}$$ $$i,j = \overline{0,N}$$ в схемах рис 3.7(рис 3.7) Декартово произведение на линейных систолических структурах(рис 3.4) Декартово произведение на линейных систолических структурах
    Аппаратно-временные характеристики одномерных систолических матриц
    Схема рис. 3.2 Кол-во ОУ Коэффициент использования Время задержки Объем оборудования Темп обработки
    а) $$2k-1$$ $$k^2/(2k+1)(2k-1)$$ $$\Delta T_0 k$$ $$2k-1$$ $$2\Delta T_0$$
    б) $$2k-1$$ $$k(2k-1)$$ $$\Delta T_0 (k-1)$$ $$\mu_1(2k-1)$$ $$\Delta T_0$$
    в) $$k$$ $$1$$ $$\Delta T_0 k$$ $$\mu_2 k$$ $$\Delta T_0$$
  • В схеме рис. 3.7-в отсутствуют "паразитные" комбинации $$(x_{i}, y_{j})$$, и поэтому селектирующий вектор $$С_{k}(Т)$$ используется только для устранения лишенных физического смысла комбинаций, если таковые имеются в $$F(x_{i} , y_{j})$$.
  • Наличие селектирующего вектора $$С $$ и маскирующей операции $$\land$$ ("И") говорит о том, что даже простейшие систолические структуры по своей сути являются устройствами ассоциативной обработки [46, 106, 175], правда, в них " DD -ассоциативный вектор" С определяется не с содержимым одной из переменных $$x_{i}$$ или $$y_{j} $$, а с их индексами $$i, j$$. Если учесть, что при комплексной обработке информации в (Б)
  • ВС физически осмысленными являются не все комбинации переменных, то становится очевидным, что маскирование "паразитных" комбинаций является достаточно активной функцией, и такое управление пространственно-временными потоками данных в матричных вычислителях требует дополнительных аппаратных затрат, которые в теоретических исследованиях либо не учитываются, либо замалчиваются.

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

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

    Для решения первой из указанных проблем можно все задачи, решаемые современными (Б)ВС, разбить на два класса:

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

    Для решения проблем эффективного управления сверхбольшим коллективом МКМД-бит-потоковых вычислителей можно разбить все задачи, решаемые современными (Б)ВС, не на две [273], а на три группы, образующие последовательный тракт обработки и отличающиеся существенно разной динамикой управления:

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

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

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

    Из сказанного следует:

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

  • на создание проблемно- или алгоритмически ориентированных МКМД-бит-потоковых субпроцессоров с повышенной динамикой управления их программным обеспечением и архитектурой как при решении широкого круга задач управления и боевого применения перспективных ЛА, так и при парировании карт множественных отказов, возникших в результате активного противоборства со стороны технически развитого противника, обладающего оружием направленной энергии;
  • на комплексное использование программно и аппаратно совместимых (П)ПЗУ-программируемых и электрически программируемых МКМД-бит-потоковых СБИС с расширенными по отношению к СБИС Н1841 ВФ1 структурно-функциональными возможностями;
  • на создание технологии программного конструирования МКМД-бит-потоковых субпроцессоров на основе алгоритмически ориентированных библиотек операционных, адресных, интерфейсных, управляющих и диагностических модулей;
  • на создание теоретических и аппаратно-технологических предпосылок для перехода к нейрокомпьютерным технологиям с элементной базой нанометрового или супрамолекулярного диапазона.
  • 3.3. Синтез ассоциативно управляемых МКМД-бит-потоковых матричных СБИС арифметико-логической обработки данных по критерию максимума функциональной интеграции при минимуме аппаратных затрат

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

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

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

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

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

    Пусть абсолютные значения сомножителей представлены $$n$$ -разрядными двоичными числами в прямом коде $$Y = (y_{n}, y n-_{1},\ldots , y_{j},\ldots , y _{1})$$

    и $$X = (x_n, x_{n-1}, ..., x_i, ..., x_1)$$ и поступают они на входы умножителя последовательно и младшим разрядом вперед.

    Тогда их произведение можно представить:

    $$U_{2n} = \sum_j{\left ( x_i \bigcap\limits_i y_j \right )}*2^{j-1},\, i,j = \overline{1,n}$$

    где $$\bigcap$$ - многоместная операция логического умножения.

    Если с индексом $$j$$ связать пространственную координату систолической матрицы, а с индексом $$i$$ - целочисленное время $$Т$$, то отвечающий (3.1) алгоритм конвейерного умножения примет вид:

    Шаг 1. Выделить и запомнить на $$n$$ тактов в 1-й ячейке систолической матрицы содержимое 1-го бита множителя $$b_1(n):=y_1=const$$ и переслать $$Y$$ в следующую ячейку систолической матрицы.

    Шаг 2. Выполнить последовательно в 1-й ячейке систолической матрицы $$n$$ -местную операцию $$AND$$ всех бит множимого с $$b_{1}(n): B_1:=b_1(n) \land x_i, i =\overline{1,n}$$ и переслать $$X_n$$ в следующую ячейку систолической матрицы.

    Шаг 3. Повторить во 2-й ячейке систолической матрицы шаги 1, 2 для 2-го бита множителя $$b _{2}( n ):=y _{2}= const$$ и переслать $$Y_n$$ и $$X_n$$ в следующую ячейку систолической матрицы.

    Шаг 4. Сдвинуть во 2-й ячейке систолической матрицы частное произведение $$B_2$$, на один такт по отношению к $$В_1$$ и сформировать частную сумму $$S_{1}:=B_{1}+\tilde{B}_{2},$$ где $$\tilde{B}_{2} :=B_{2}*2^1.$$

    Шаг 5. Повторить в 3-й ячейке систолической матрицы шаги 3 и 4, сформировав частную сумму $$S_{2}:= S_{1}+\tilde{B}_3$$, где $$\tilde{B}_{3} :=B_{3}*22$$, и т. д. до $$j = n$$.

    В системе команд Н1841 ВФ1 (см. табл. 3.1) данному алгоритму соответствует структурная схема конвейерного умножителя рис. 3.8, в которой операционный канал обозначен пунктирными линиями с соответствующей операцией, канал транзита - сплошными линиями, а дополнительная задержка - звездочкой ( $$*$$ ) в соответствующем канале. Цифрами обозначены такты поступления младшего разряда операнда на вход соответствующего бит-процессора, причем прохождение операнда через любой канал обходится не менее чем в 1 такт задержки. Циклическая константа, задающая разрядность ( $$n$$ ) преобразуемых операндов, имеет вид $$С_{n}1 = 00...01$$, где младший бит - "1", а остальные $$(n-1)$$ бит - "нули".

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

    (рис 3.8) Структурная схема систолической матрицы конвейерного умножителя

    Из приведенных данных следует:

  • бит-матрица Н1841 ВФ1 на макроуровне эмулирует линейную систолическую матрицу конвейерного умножителя, то есть работает в режиме "микро-МКМД" - "макро-ОКМД";
  • даже при реализации базовой пословной операции дорогой по площади ресурс внешних гальванических связей бит-процессоров Н1841 ВФ1 используется не более чем на $$3/8 \approx 38\%$$ ;
  • даже при реализации базовой пословной операции внутренний операционный и коммутационный ресурс бит-процессоров Н1841 ВФ1 используется в среднем на 50%, если иметь в виду, что в канале АЛУ можно выполнить 18 элементарных арифметико-логических операций, совмещенных по времени и аппаратуре с пересылкой результатов (см. раздел 3.1).
  • Разобьем систолическую матрицу рис. 3.8 на две части: верхнюю и нижнюю. Тогда для объединения возможностей двух бит-процессоров Н1841 ВФ1 в одном бит-процессоре новой версии необходимо реализовать:

  • однонаправленный двумерный поток операндов;
  • операционное устройство на 3 операнда, что соответствует типовым требованиям двумерных систолических структур рис. 3.9 [289].
  • (рис 3.9) Типовые структуры двумерных систолических матриц

    Для перехода от двунаправленных ортогональных связей рис. 3.9-а к однонаправленным двумерным связям рис. 3.9-б достаточно в каждом бит-процессоре реализовать двунаправленные перепрограммируемые порты ввода-вывода рис. 3.10 и два независимых канала транзита с задержкой на 1 и 2 такта. Двунаправленные порты ввода-вывода увеличивают коэффициент использования двунаправленных ортогональных связей в конвейерном умножителе рис. 3.8 до $$5/8 \approx 60\%$$, а в типовых систолических структурах рис. 3.9 до $$6/8 \approx 75\%$$.

    (рис 3.10) Двунаправленные порты ввода-вывода бит-процессора

    Для кодирования всех типов внешних "систолических" связей рис. 3.3 требуется 2 бита в слове инструкции и признак типа связи ( R ).

    (рис 3.11) Структура связей в бит-матрице с учетом переименований входов-выходов

    Удовлетворяющая функциональным требованиям рис. 3.9 схема АЛУ на 3 входа включает (рис. 3.12) два мультиплексора с двумя управляющими входами, которые используются как универсальные логические модули по отношению к двум переменным $$(x_{i}, x_{j})$$ (УЛМ). Первый из этих УЛМ реализует все 16 логических функций 2-х переменных $$F_{1}(x_{1}, x_{2})$$, а второй в дополнение к ним реализует еще и конечно-автоматные функции $$F_{2}(F_{1}, x_{3})$$ типа "арифметическая сумма" и "запоминание единицей", первая из которых используется как единственная арифметическая, а вторая - как единственная оперативно управляющая потоком данных операция.

    Независимое управление УЛМ2 рис. 3.12 с двумя информационными входами требует 8-битного кода операции (КОП), что увеличивает разрядность регистра инструкции на 50 %, который является наиболее аппаратно емким блоком бит-процессора (см. табл. 3.3).

    (рис 3.12) Схема АЛУ на 3 входа

    Для сохранения преемственности "снизу-вверх" с Н1841 ВФ1 достаточно реализовать четыре функции трех переменных табл. 3.5. Эти функции, с одной стороны, ориентированы на ассоциативную обработку потоков данных, активно использующую такие пословные операции предварительного "маскирования", как "логическое умножение", "равнозначность", "неравнозначность" [46]. С другой стороны, они обеспечивают настройку на все функции 1-й и 2-х переменных Н1841 ВФ1 за счет "фиксации в ноль" ( $$\equiv 0$$ ) одной или двух из трех входных переменных, что в КМОП-технологии реализуется настройкой входных коммутаторов на незадействованные входы бит-процессора.

    Система команд программируемого бит-процессора (версия 1)
    № п/п Количество операндов ( $$n=3$$ ) КОП Условие (1) Условие (2) Количество операндов ( $$n=2$$ ) № п/п
    1 $$(x_1\oplus x_2) + x_3$$ 00 - $$x_3\equiv 0$$ $$x_1\oplus x_2$$ 1
    $$x_1\lor x_2 \equiv 0$$ $$x_i + x_3$$ 2
    2 Расширенный транзит 00 $$A_1\equiv 11$$ $$x_1\lor x_2 \equiv 0$$ -
    3 $$St1((x_1\oplus x_2),x_3)$$ 01 - $$(x_1\oplus x_2) \equiv 0$$ $$St1(x_i,x_3)$$ 3
    2 Расширенный транзит 01 $$x_3\equiv 0$$ $$НОП$$ 4
    4 $$(x_1\land x_2) + x_3$$ 10 - $$x_3\equiv 0$$ $$x_1 \land x_2$$ 5
    $$x_1\lor x_2 \equiv 0$$ $$x_i + x_3$$
    2 Расширенный транзит 10 $$A_1\equiv 11$$ -
    5 $$(\overline{x}_1\oplus \overline{x}_2)\lor x_3$$ 11 - $$x_3\equiv 0$$ $$\overline{x_1 \oplus x_2}$$ 6
    $$x_1\lor x_2 \equiv 0$$ $$x_i \lor x_3$$ 7
    $$x_1\lor x_2 \equiv 0$$ $$\overline{x}_i \lor x_3$$ 8
    $$x_3\equiv 0\\ x_1\lor x_2 \equiv 0 $$ $$\overline{x}_i$$ 9
    11 $$A_1\equiv 11$$ $$CG $$ 10

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

    Все функции двух переменных симметричны по отношению к переименованию переменных $$F_{{\alpha}}(x_{2}, x_{1}) = F_{{\alpha}}(x_{1}, x_{2})$$ (кроме функции "запоминание единицей" - см. табл. 5.8 курса "Задачи и модели вычислительных наноструктур"]). Поэтому для входной коммутации операционного канала на три переменные достаточно использовать взаимозависимое управление с помощью схемы выбора "два из четырех" $$(C^{2}_{n}$$ ) и схемы полного коммутатора "четыре в один", первая из которых выделяет две "симметричные" переменные из четырех возможных (рис. 3.13).

    (рис 3.13) Схема входной коммутации канала АЛУ

    Благодаря этому на входную коммутацию операционного канала на три переменные можно затратить не три, а два 2-битных поля регистра инструкции ( $$A_{1}$$ и $$A_{2}$$ ), причем в поле $$A_{2}$$ в режиме коммутации используется кодовая комбинация "3" (табл. 3.6).

    Правила входной коммутации канала АЛУ
    $$x_l$$ $$x_{2}$$ $$x_3$$ $$A_1$$ $$A_{2}$$ $$x_l$$ $$x_{2}$$ $$x_3$$ $$A_1$$ $$A_{2}$$
    $$a_1$$ $$а_2$$ $$а_4$$ 00 11 $$а_1$$ $$а_3$$ $$а_2$$ 00 01
    $$а_3$$ $$а_1$$ $$а_4$$ 01 11 $$а_4$$ $$а_1$$ $$а_2$$ 01 01
    $$а_2$$ $$а_3$$ $$а_4$$ 10 11 $$а_3$$ $$а_4$$ $$а_2$$ 10 01
    $$а_1$$ $$а_2$$ $$а_3$$ 00 10 $$а_2$$ $$а_3$$ $$а_1$$ 00 00
    $$а_4$$ $$а_1$$ $$а_3$$ 01 10 $$а_4$$ $$а_2$$ $$а_1$$ 01 00
    $$a_{2}$$ $$а_4$$ $$а_3$$ 10 10 $$а_3$$ $$а_4$$ $$а_1$$ 10 00

    В результате первая версия структурной схемы ассоциативно настраиваемого бит-процессора приобретает вид рис. 3.14. В этой схеме, как и в Н1841 ВФ1, имеется 16-битный регистр инструкции, структура которой задана таблицей 3.7.

    Для бит-процессора рис. 3.14 характерна утяжеленная двухступенчатая система дешифрации:

  • при переходе от объектного кода к абсолютному коду (см. табл. 3.7), первый из которых используется при написании микропрограмм, а второй при формировании загрузочного модуля;(рис 3.14) Структурная схема бит-процессора (версия 1)
  • при переходе от одного типа внешних связей бит-процессора ( $$R = 0$$ соответствует рис. 3.3-а) к другому типу связей ( $$R = 1$$ соответствует рисункам 3.3-(б-д), когда за счет переименования входов-выходов меняются не только направления приема-передачи данных в бит-матрице, но и структура слова инструкции;
  • при настройке на команду "расширенный транзит" меняются ролями поля: КОП и А 1 (см. табл. 3.7).
  • Разница в объектном и абсолютном коде негативно сказывается на динамике парирования отказов. Взаимозависимое (ассоциативное) декодирование различных полей слова инструкции резко увеличива ет аппаратные затраты на схемы дешифрации, задающие направления приема-передачи данных, и, что более важно, при микроэлектронной реализации нарушает регулярность всей схемы бит-процессора, что приводит к непропорциональному росту площади кристалла, занимаемой бит-процессором.

    Структура слова инструкции бит-процессора
    Абсолютный код Биты Объектный код Биты
    Код операции (КОП) 15-14 Код операции (КОП) 21-18
    Управление ( $$С_4 ^2$$ ) 13-12 Адрес входа 1-го операнда 17-16
    Управление входом (3) АЛУ 11-10 Адрес входа 2-го операнда 15-14
    Управление входом транзита 9-8 Адрес входа 3-го операнда 13-12
    Управление выходом АЛУ Управление выходом транзита 7-6 5-4 Адрес входа транзита Адрес выхода АЛУ 11-10 9-8
    Управление выходом транзита 3-2 Адрес выхода транзита (1) 7-6
    Признак задержки АЛУ 1 Адрес выхода транзита (2) 5-4
    Тип внешних связей 0 Переименование вход-выход 3-2
    Признак задержки АЛУ 1
    Тип внешних связей 0

    В схеме рис. 3.14 этот эффект проявляется в том, что при $$R = 1$$ поле регистра $$A_{6}$$ инструкции используется для задания одной из конфигураций внешних связей рисунков 3.3-(б-д), а при $$R = 0$$ поле $$A_{6}$$ управляет вторым выходом канала транзита. В результате при $$R = 1$$ схема $$C^{2}_{n}$$ должна принудительно адресоваться по выходу $$x_{1}$$ полем $$A_{6}$$,чтобы в бит-процессоре реализовалась систолическая структура рис. 3.3-б.

    Как показал опыт эскизного схемотехнического и топологического проектирования бит-процессора рис. 3.14, такая ассоциативная дешифрация кода бит-инструкции внесла решающий вклад в 40%-ный рост аппаратных затрат (табл. 3.8) и увеличила занимаемую бит-процессором площадь в 1,7-1,8 раза по отношению к Н1841 ВФ1.

    Распределение аппаратных затрат (КМОП-транзисторов) в бит-процессорах разных версий
    Наименование блока Н1841 ВФ1 версия 1 версия 2
    Регистр инструкции (КОП) 88 44 66
    Регистр инструкции (коммутация) 264 308 396
    Дешифратор АЛУ 108 184 240
    Внутренняя коммутация 64 96 96
    Операционные D-трштеры 66 44 44
    АЛУ 64 120 120
    Внешняя коммутация 240 468 320
    Коммутационные D-триггеры 66 88 88
    Средства управления АЛУ 196 228 306
    Средства управления коммутацией 264 308 396
    Объект управления канала АЛУ 194 260 260
    Объект управления коммутацией 306 556 408
    Итого на средства управления 460 536 703
    Итого на объект управления 500 816 668
    Итого на бит-процессор (БП) 960 1352 1370

    Взяв за основу структуру бит-инструкции в объектном коде (см. табл. 3.7), получим структурную схему бит-процессора 2-й версии (рис. 3.15) с системой команд табл. 3.9, которая содержит практически все активные "маскирующие" логические функции двух переменных: "И", "И - НЕ", "РАВНОЗНАЧНОСТЬ", "НЕРАВНОЗНАЧНОСТЬ", "ИЛИ - НЕ", "ИМПЛИКАЦИЯ", "НЕ - ИМПЛИКАЦИЯ".

    (рис 3.15) Структурная схема бит-процессора (версия 2)

    В этой версии:

  • под поле КОП выделено 3 бита, которые задают семь функций трех переменных, которых достаточно для получения методом "отождествления в ноль" одного из операндов всех функций Н1841 ВФ1 двух переменных и перечисленных выше "маскируюших" функций для реализации классических DD-ассоциативных конструкций [46];
  • все входные и выходные операнды бит-процессора коммутируются и управляются независимо, за исключением поля $$А_{8}$$, которое используется и для задания структуры внешних связей бит-процессора при $$R = 1$$ ;
  • все еще требуется трансляция объектного кода в абсолютный, которая сопряжена с поиском незадействованных входов бит-процессора, для чего необходимо проводить анализ содержимого бит-инструкций соседних бит-процессоров.
  • Действительно, простейший способ выделения "незадействованно-го" входа состоит в определении "неадресуемого" выхода у четырех ближайших бит-процессоров. Но этот способ не подходит для периферийных бит-процессоров и не гарантирует полноты идентификации "незадейство-ванного" входа по результатам анализа кодов бит-инструкций ближайших ортогональных бит-процессоров. Объясняется это тем, что "незадейство-ванные" входы-выходы могут образовать достаточно длинные цепочки из D -триггеров каналов АЛУ и/или транзита, постоянно находящиеся

    Система команд программируемого бит-процессора (версия 2)
    № п/п Количество операндов ( $$n=3$$ ) КОП Условие) Количество операндов ( $$n=2$$ ) № п/п
    1 $$(x_1\oplus x_2) + x_3$$ 000 $$x_3\equiv 0$$ $$x_1\oplus x_2$$ 1
    $$x_1\lor x_2 \equiv 0$$ $$x_i + x_3$$ 2
    2 $$St1((x_1\oplus x_2),x_3)$$ 001 $$x_3\equiv 0$$ $$НОП$$ 3
    $$x_1\lor x_2 \equiv 0$$ $$St1(x_i,x_3)$$ 4
    4 $$(x_1\land x_2) + x_3$$ 010 $$x_3\equiv 0$$ $$x_1\land x_2$$ 5
    $$x_1\lor x_2 \equiv 0$$ $$x_i + x_2$$ 6
    5 $$\overline{ (x_1\overline{\oplus} x_2)\lor x_3}$$ 011 $$x_3\equiv 0$$ $$x_1 \oplus x_2$$ 7
    $$x_1\lor x_2 \equiv 0$$ $$\overline{\overline{x}_i \lor x_3}$$ 8
    $$x_1\lor x_2 \equiv 1$$ $$\overline{x_i \lor x_3}$$ 9
    $$x_3\equiv 0\\ x_1\lor x_2 \equiv 0 $$ $$\overline{x}_i$$ 10
    Расширенный транзит 100 WTR
    6 $$\overline{x_1 \overline{\land} x_2 \lor x_3}$$ 101 $$x_3\equiv 0$$ $$\overline{x_1\land x_2}$$ 11
    $$x_i\equiv 1$$ $$\overline{\overline{x}_1\lor x_3}$$ 12
    7 $$St1((\overline{x_1\land \overline{x}_2}),x_3)$$ 110 $$x_3\equiv 0$$ $$\overline{x_1\land \overline{x}_2}$$ 13
    $$x_i\equiv 1$$ $$St1(\overline{x}_2\lor x_3)$$ 14
    8 111 $$CG$$ 15

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

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

    Избавиться от такого рода проблем можно:

  • введя третье состояние в D-триггеры регистров инструкций и во входные коммутаторы информационных каналов бит-процессора;
  • заменив оператор ассоциативной подстройки канала АЛУ с "фиксации в ноль" ( $$х_{i} \equiv 0$$ ) на "попарное отождествление" ( $$х_{i} \equiv х_{j}$$ ).
  • В обоих случаях состояние неиспользуемого входа АЛУ задается регистром инструкции собственного бит-процессора и не зависит от состояния выходов смежных бит-процессоров, причем первый способ приводит к еще большему увеличению аппаратных затрат и площади кристалла под бит-процессор, а второй способ снижает разнообразие реализуемых бит-процессором арифметико-логических функций (табл. 3.10).

    Система команд программируемого бит-процессора (версия 3)
    № п/п Количество операндов ( $$n=3$$ ) КОП Условие) Количество операндов ( $$n=2$$ ) № п/п
    3 $$(x_1\land x_2) + x_3$$ 010 $$x_1 = x_3$$ $$F= \begin{cases} \overline{x}_1 x_2, \text{ если } e_{-} = 0, \\ \overline{\overline{x}_1 x_2}, \text{ если } e_{-} = 1, \end{cases}$$ 1
    $$x_1 = x_2 $$ $$x_1 + x_2$$ 2
    2 $$St1((x_1\oplus x_2),x_3)$$ 001 $$x_1 = x_2 $$ $$St1(x_1, x_3)$$ 3
    $$x_1 = x_3 $$ $$F= \begin{cases} St1(x_1 x_2), \text{ если } e_{-} = 0, \\ \overline{St1(x_1 x_2)}, \text{ если } e_{-} = 1, \end{cases}$$ 4
    1 $$(x_1\oplus x_2) + x_3$$ 000
    4 $$\overline{x_1\land x_2}\oplus x_3$$ 011 $$x_1 = x_3 $$ $$\overline{\overline{x}_1\land x_3} $$ 5
    $$x_1 = x_2 $$ $$\overline{x}_1\oplus x_3$$ 6
    5 Расширенный транзит 100
    6 $$(x_1\land x_2)\oplus x_3$$ 101 $$x_1 = x_3 $$ $$\overline{x}_1 x_2$$ 7
    $$x_1 = x_2 $$ $${x}_1\oplus x_3$$ 8
    7 $$\overline{x_1\land x_2\land x_3}$$ 110 $$x_i = x_j $$ $$\overline{{x}_i x_j}$$ 9
    $$x_i = x_j = 1 $$ $$\overline{x}_i$$ 10
    111 - $$CG$$ 11
    111 $$CG=0$$ $$НОП$$ 12

    Сравнив табл. 3.9 и 3.10, можно убедиться:

  • адаптивные возможности оператора отождествления переменных гораздо ниже, чем оператора фиксации в ноль одной из трех переменных;
  • практическая польза от порождаемых оператором отождествления переменных конечно-автоматных функций $$ADD$$ и $$ST1$$ (см. раздел 5.1 курса "Задачи и модели вычислительных наноструктур") еще требует экспериментального подтверждения;
  • для получения всего спектра функций табл. 3.9 необходимо расширить состав функций трех переменных табл. 3.10 и увеличить поле кода операции на 1 бит;
  • структурно-функциональная схема бит-процессора рис. 3.15 пригодна для реализации обеих вариантов системы бит-инструкций, а изменения системы команд практически не сказываются на аппаратных затратах (см. табл. 3.8).
  • Анализ табл. 3.8 показывает:

  • 2-я версия бит-процессора увеличивает аппаратные затраты на 42,7% по отношению к Н1841 ВФ1,что при двукратном сокращении числа бит-процессоров на реализацию конвейерного умножителя базовой операции обеспечивает аппаратный выигрыш почти в 1,4 раза;
  • в бит-процессоре 2-й версии несколько хуже соотношение аппаратных затрат между объектом и средствами управления в сравнении с Н1841 ВФ1 (0,73 и 0,83 соответственно).
  • При оценке эффективности принимаемых технических решений в условиях расширения структурно-функциональных возможностей бит-процессоров более информативны удельные аппаратные затраты на одну арифметико-логическую и/или коммутационную функцию.

    Наиболее просто оцениваются удельные аппаратные затраты на одну арифметико-логическую функцию табл. 3.11, и они минимальны у 2-й версии бит-процессора по всем показателям: на объект (ОУ), средства управления (СУ) и весь бит-процессор (БП).

    Удельные аппаратные затраты (КМОП-транзисторов) на 1 арифметико-логическую функцию
    Тип бит-процессора Количество функций ОУ/функция СУ/функция БП/функция
    Н1841 ВФ1 11 194/11=17.6 196/11=17.8 390/11=35.4
    Версия 1 (рис. 3.14) 16 260/16=16.2 228/16=14.3 488/16=30.5
    Версия 2 (рис. 3.15) 22 260/22=11.8 306/22=13.9 566/22=25.7

    Если перейти к эквивалентному структурному базису и считать, что на один двухвходовой универсальный модуль (УЛМ 2) расходуется 40 КМОП-транзисторов, то в Н1841 ВФ1 удельные структурные затраты составляют почти 2,2 УЛМ 2 на 1 арифметико-логическую функцию, и они почти в 1,4 раза выше, чем у 2-й версии бит-процессора (1,56 УЛМ 2 на 1 арифметико-логическую функцию).

    При оценке удельных структурных затрат на реализацию средств управления бит-процессором за структурный базис удобнее взять D -триггер (22 КМОП-транзистора). По этому показателю система управления операционным модулем бит-процессора 2-й версии в 1,3 раза эффективнее аналогичной системы Н1841 ВФ1, так как абсолютные значения составляют соответственно 1,65 бита и 2,2 бита.

    При оценке разнообразия реализуемых бит-процессором коммутационных структур можно исходить из информационной емкости коммутационного поля регистра бит-инструкции. Однако такая оценка не учитывает скрытую избыточность (по управлению), так как практическая польза коммутационной структуры определяется видом и свойствами функций, реализуемых в операционном канале и канале транзита. В частности, если в канале АЛУ реализуется функция "арифметическая сумма", то в терминах табл. 3.3 коммутационные структуры $$(a_{0}+a_{1}){\to} b_{2}$$ и $$(a_{1}+a_{0}){\to} b_{2}$$ эквивалентны, так как эта функция симметрична по отно-шению к переименованию входов. Если же реализуемая бит-процессором функция асимметрична ("запоминание единицей" имеет первый информационный вход, а второй - управляющий), то приведенные выше коммутационные структуры - различны. Аналогичная ситуация складывается с асимметричными по времени задержки выходами канала транзита. Поэтому подсчет разнообразия коммутационных структур, реализуемых бит-процессором, фактически сводится к оценке кодовой избыточности по управлению входными и выходными коммутаторами, исходя из требований арифметико-логических и коммутационных функций, выполняемых в каналах АЛУ и транзита.

    Оценку разнообразия коммутационных структур всего бит-процессора можно представить как произведение оценок возможных схем соединения входов-выходов, закрепленных за операционным каналом и каналами транзита. Объясняется это тем, что в бит-процессорах информационные потоки реализуются и адресуются независимо по этим каналам. Обозначим через $$А$$ и $$С$$ операторы размещений и сочетаний с соответствующими параметрами. Тогда для Н1841 ВФ1 коммутационные возможности выражаются:

  • канала АЛУ при реализации асимметричных функций двух переменных $${\mu} _{1} = (A^{2}_n + A^{1}_n ) * A^{1}_m = 64$$, где $$n$$ и $$m$$ - число входов и выходов бит-процессора ( $$n = m = 4$$ ), а верхние индексы - количество входных и выходных операндов реализуемой функции;
  • канала транзита $${\mu} = (A^{2}_n + A^{1}_n ) * A^{1}_m = 64A^{2}_m + A^{1}_m ) * A^{1}_n = 64$$ ;
  • бит-процессора $${\mu}_{1} * {\mu}_{2} = 4096 = 2^{12}$$,

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

  • Тем не менее:

  • даже при реализации асимметричных функций коммутационное поле регистра инструкции избыточно, так как в операционном канале (канале транзита) в каждой фиксированной бит-инструкции реализуется либо $$A^{2}_n ( A^{2}_m ),$$ либо $$A^{1}_n ( A^{1}_m ) $$ ;
  • при выполнении бит-процессором симметричных арифметико-логических функций "дифференциальная" кодовая избыточность возрастает почти в 2 раза, так как в этом случае $$\mu_{1} = (C^{2}_n + A^{1}_n) * A^{1}_m $$.
  • Для извлечения подобного рода кодовой избыточности по управлению коммутационными ресурсами Н1841 ВФ1 необходимо использовать теперь уже обратное ассоциативное влияние кода операции на коммутационное поле бит-инструкции, что приводит к усложнению дешифрации последнего поля и нарушает эквивалентность объектных и абсолютных кодов микропрограмм.

    Для 2-й версии бит-процессора (рис. 3.15) с системой бит-инструкций табл. 3.9 коммутационные возможности выражаются:

  • канала АЛУ при реализации асимметричных по всем трем операндам функций (7-я функция табл. 3.9 для $$n = 3$$ ):$$\mu_{1} = [(A^{3}_n (C ^{1}_3 +1) + C^{2}_{4})]* A^1_m = 448,$$

    где $$C^1_3$$ учитывает дополнительные коммутационные структуры за счет переименования входов-выходов ( $$R = 1$$ - см. рис. 3.11), $$C_4^2$$ - различные варианты отождествления двух переменных при выполнении функций 1-й переменной;

  • двух каналов транзита:$$\mu_{2} = [(A^{2}_m + A^1_m )( C ^{2}_{3} +1)+ A^1_m )]* A^1_n = 272,$$

    где первое $$A^1_m $$ учитывает возможности отождествления выходов, второе $$A^1_m$$ - возможности выходной коммутации 2-го канала транзита;

  • бит-процессорам $$\mu= \mu_{1}\mu_{2} = 121856 \approx 2^{17}.$$
  • Отсюда следует, что информационные возможности коммутационного поля бит-процессора 2-й версии используются не более чем на 96 %, но и они превосходят аналогичные возможности Н1841 ВФ1 почти в 28 раз.

    Из данных табл. 3.11 и табл. 3.12 видно, что удельные аппаратные затраты на коммутацию на 2-3 порядка ниже аналогичных затрат на арифметико-логические функции, что предопределяет дешевизну и высокую струк-

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

    Удельные аппаратные затраты (КМОП-транзисторов) на 1 коммутационную структуру
    Тип бит-процессора (БП) Количество функций ОУ/функция СУ/функция БП/функция
    Н1841 ВФ1 212 0.075 О064 0.14
    Версия 2 (рис. 3.15) 0.96*217 0.0034 0.0035 0.007

    Синтез (П)ПЗУ-программируемых бит-процессоров включает все перечисленные в разделе 3.2 этапы, и его основная особенность состоит в том, что на систему управления такими бит-процессорами расходуется меньше вентилей и меньше площади кристалла, чем у репрограмми-руемых бит-процессоров, так как она реализуется "программирующими контактными окнами", на каждое из которых расходуется площадь кристалла, сопоставимая с площадью одной базисной схемы "И - НЕ" или "ИЛИ - НЕ".

    Поэтому синтез (П)ПЗУ-бит-процессоров можно проводить без учета ограничений на длину слова инструкции, которая в явном виде присутствует только в инструментальных кросс-средствах (П)ПЗУ-программируемых СБИС. Но при выборе системы бит-инструкций необходимо учитывать, что программист активно использует в своей работе обычно не более 10^{2} инструкций, состав которых в кросс-средствах можно проблемно и алгоритмически ориентировать, если операционные и коммутационные возможности (П)ПЗУ-бит-процессоров полны по отношению к более широкому набору бит-инструкций.

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

    Чтобы удовлетворить последнее требование, достаточно в схеме рис. 3.2 за базовую (пословную) операцию взять матрично-конвейерное умножение (МКУ), которое включает рассмотренное конвейерное умножение как частный случай. В МКУ рис. 3.16 потоки данных должны распространяться по бит-матрице таким образом, чтобы обеспечить пространственно-временную встречу соответствующих 4-х бит-операндов: множимого $$x_{i}$$, множителя $$y_{j}$$, частных сумм $$S_{ij}$$ и "единицы переноса" $$e_{ij}$$. На этом рисунке цифрами указаны такты поступления соответствующих бит-операндов на входы бит-процессоров матрицы, в которой индексы $$i$$ и $$j$$ связаны с ее пространственными координатами, если за начало координат выбран правый верхний угол матрицы.

    (рис 3.16) Структурная схема матрично-конвейерного умножителя (МКУ)

    Чтобы выполнить условия "встречи" бит-операндов при реализации алгоритма МКУ, архитектура бит-процессора должна иметь вид рис. 3.17-а, откуда следует:

  • систему внешних связей рис. 3.1 необходимо дополнить диагональной связью (рис. 3.17-б), введя в (П)ПЗУ-бит-процессор средства переименования входов-выходов, аналогичные рис. 3.8;
  • операционное устройство (П)ПЗУ-бит-процессора должно быть рассчитано на 4 операнда, чтобы реализовать функцию полного сумматора с "внешней" по отношению к бит-процессору "единицей переноса", причем выход частной суммы должен быть задержан на 2 такта;
  • (П)ПЗУ-бит-процессор должен иметь не менее двух независимо адресуемых каналов транзита, которые с учетом структуры репрограмми-руемых бит-процессоров допускают последовательно-параллельное соединение.
  • (рис 3.17) Структурная схема (П)ПЗУ-программируемого бит-процессора

    За основу АЛУ выберем нижний УЛМ2 рис. 3.12 и дополним его двухвходовой схемой "И", как того требует МКУ (см. рис. 3.17). Программирование такого АЛУ ведется "вскрытыми контактными окнами", которые обозначены кружками на рис. 3.18, где ассоциативная управляющая переменная формируется на выходе схемы "И", на входы которой поступают сомножители $$x_{i}$$ и $$y_{j}$$. Поэтому здесь "единица переноса" используется как промежуточная информационная переменная, которая согласно схеме рис. 3.14 распространяется по строкам бит-матрицы. Такое перераспределение функций между переменными допустимо, так как обе функции полного сумматора ( $$\Sigma$$ и $$е$$ ) инвариантны переименованию входных переменных (см. табл. 5.7 раздела 5.5 курса "Задачи и модели вычислительных наноструктур").

    (рис 3.18) Схема АЛУ (П)ПЗУ-программируемого бит-процессора

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

    Выполнив остальные требования МКУ, получим схему (П)ПЗУ-бит-процессора рис. 3.19, которая была разработана в СССР в 1985 году и которая соответствует структурно-функциональным схемам современных ПЛИС [291]. В этой схеме переименование направлений приема-передачи данных осуществляется с помощью двух шин "гальванического транзита" ( TR -1 и TR -2), а программирующие контактные окна обозначены крестиками в точках пересечения внутренних гальванических связей (П)ПЗУ-бит-процессора.

    (рис 3.19) Структурная схема (П)ПЗУ-программируемого бит-процессора

    Используя разложение Шеннона, можно показать, что УЛМ_{2} рис. 3.18 функционально полон по отношению к классу ЛФ трех переменных, то есть по сути является УЛМ_{3}, у которого одна из трех переменных поступает на его s -входы через схему "И".

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

    В последнем случае произвольная коммутация входных переменных ( $$x_{1}\div x_{4}$$ ) (П)ПЗУ-бит-процессора и реализация в его АЛУ заданного множества логических функций (ЛФ) и их инверсий реализуют преобразования, именуемые группой переименований [123] порядка $$2^{n}*n! = 2^{4}*4! = 224$$, по отношению к которой все множество ЛФ трех переменных разбивается на 14 классов смежности [103].

    Взяв из каждого класса смежности по одному "типичному (и наглядному) представителю" (всего 14) и его инверсию, получим систему логических операций (первые 28 функций табл. 3.13), которая с помощью группы переименований переменных (порядка $$2^{n}*n$$!) покрывает весь класс ЛФ трех переменных (всего 256 функций). Дополнив выбранную таким образом систему команд (П)ПЗУ-бит-процессора конечно-автоматными функциями "арифметическая сумма" и "запоминание единицей", получим систему бит-инструкций табл. 3.13, которая полностью совместима с Н1841 ВФ1.

    Существенно, что (П)ПЗУ-бит-процессор обеспечивает работу блоков, устройств и всего (П)ПЗУ-субпроцессора как в чисто конвейерном (бит-инструкции 31, 32 табл. 3.13), так и в векторно-конвейерном (бит-инструкции 29, 30 табл. 3.13) режимах, причем последний повышает темп обработки данных в $$n$$ раз, где $$n$$ - разрядность арифметики субпроцессора.

    При расчете аппаратных затрат на (П)ПЗУ-бит-процессор (табл. 3.14) учитывалась "независимость" средств и объекта управления в каналах АЛУ и транзита, где "регистр команды" и средства коммутации реализуются через одни и те же контактные окна, на которые расходуется только площадь кристалла СБИС.

    Представленная в табл. 3.13 система инструкций бит-процессора не покрывает всего многообразия реализуемых в операционном канале ЛФ и особенно конечно-автоматных функций, но, тем не менее, мощность множества доступных проблемно-ориентированному пользователю операций (всего 256+11 = 367) более чем на порядок выше, чем у репро-граммируемых бит-процессоров 2-й версии (всего 22 - см. табл. 3.9).

    Поэтому удельные аппаратные затраты на одну доступную проблемно-ориентированному пользователю арифметико-логическую функцию в операционном канале (П)ПЗУ-бит-процессора (0,32 транзистора на функцию) более чем в 37 раз ниже, чем у репрограммируемых бит-процессоров 2-й версии (11,8 транзистора на функцию - см. табл. 3.9).

    Если исходить из того, что дополнительные каналы гальванического транзита используются только под переименование входов-выходов, то коммутационные возможности (П)ПЗУ-бит-процессора можно оценить соотношениями (3.2) и (3.3) только при $$m = n = 5$$ (за счет появления диагональной связи).

    Система бит-инструкций (П)ПЗУ-программируемого бит-процессора
    Преобразование Преобразование
    1 $$NOP$$ 20 $$\overline {AND (x_i,x_j,x_k)}$$
    2 $$\overline {NOP}$$ 21 $$AND (x_i, XOR(x_j,x_k))$$
    3 $$TR$$ 22 $$\overline{AND{x_i,XOR(x_j,x_k))}$$
    4 $$\overline {TR}$$ 23 $$IMP(x_i, x_j)$$
    5 $$XOR(x_i, x_j)$$ 24 $$\overline {IMP(x_x, x_j)}$$
    6 $$\overline {XOR(x_i,x_j)}$$ 25 $$$$ F=\begin{cases} AND{(x_i,x_j)/x_k =0,\\ \overline x_i/x_k=1.\\ \end{cases} $$$$
    7 $$XOR(x_i XOR(x_j,x_{kj})$$ 26 $$$$ F=\begin{cases} \overline{AND(x_i,x_j)}/x_k =0,\\ x_i/x_k= 1.\\ \end{cases} $$$$
    8 $$\overline {XOR(x_i XOR(x_j,x_k)}$$ 27 $$$$ F=\begin{cases} IMP(x_i,x_j)/x_k =0,\\ AND(x_i,x_j)/x_k =1.\\ \end{cases} $$$$
    9 $$\sum_{i}x_i \ge 2$$ 28 $$$$ F=\begin{cases} \overline{IMP}(x_i,x_j)/x_k =0,\\ \overline{AND}(x_i,x_j)/x_k =1.\\ \end{cases} $$$$
    10 $$\sum_{i}x_i < 2$$ 29 $$ADD(x_i,x_j, AND(x_k,x_p))$$
    11 $$\sum_{i}x_i = 2$$ 30 \overline{ADD(x_i,x_j, AND(x_k,x_p))}
    12 $$\sum_{i}x_i \ne 2$$ 31 $$ADD(x_i,x_j,e)$$
    13 $$0< \sum_{i}x_i < 3$$ 32 $$\overline{ADD(x_i,x_j,e)}$$
    14 $$0 \le \sum_{i}x_i \le 3$$ 33 $$St1(x_i,x_j)$$
    15 $$\overline{AND (x_i,AND(x_j,x_k))}$$ 34 $$\overline{St1(x_i,x_j)}$$
    16 $$\overline{AND (x_i,\overline{AND(x_j,x_k)})}$$ 35 $$WTR$$
    17 $$XOR (x_i, AND(x_j,x_k))$$ 36 $$St1(AND(x_,x_j)x_k))$$
    18 $$\overline{XOR (x_i, AND(x_j,x_k))}$$ 37 $$St1(\overline{AND(x_,x_j)}x_k))$$
    19 $$AND(x_i,x_j,x_k)$$ 38 СО(генерация константы)
    Распределение аппаратных затрат (КМОП-транзисторов) в (П)ПЗУ-бит-процессоре
    Наименование блока "Окон" Транзисторов
    Регистр инструкции (КОП) 34 -
    Регистр инструкции (коммутация) 98 -
    Операционные D-триггеры - 66
    АЛУ - 50
    Коммутационные D-триггеры - 44
    Итого на канал АЛУ 34 116
    Итого на коммутацию 98 44
    Итого на бит-процессор 132 160

    Поэтому коммутационные возможности:

  • канала АЛУ при реализации асимметричных по всем трем операндам функций (25 и 26 функции табл. 3.13): $$\mu_{1}= [(A^{3}_{5} ( C ^{1}_3 + 1) + C^{2}_{5} )] * A^{2}_5 = 1250$$ коммутационных структур;
  • канала транзита: $$\mu_{2}= [(A^{2}_{5} + A_{5}^1)(C^{2}_{3} + 1) + C^{2}_{5} )] * A_{5} = 610$$ коммутационных структур;
  • всего (П)ПЗУ-бит-процессора: $$\mu_1 * \mu_2 = 1250*610 = 762500 \approx 0.76*2^{20}$$.
  • Из этих данных следует, что разнообразие реализуемых бит-процессором коммутационных структур возросло всего в 6 раз по отношению к репрограммируемым бит-процессорам 2-й версии (0,96*217 - см. табл. 3.12), но удельные аппаратные затраты (5,9*10-5 транзисторов на функцию) упали почти в 60 раз (34*10-4 транзисторов на функцию - см. табл. 3.12). При этом на управление и коммутацию расходуется только площадь кристалла, занимаемая либо перепрограммируемыми перемычками, либо контактными окнами, что обусловлено технологией (П)ПЗУ.

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

  • В классе булевых функций функциональную интенсивность использования одного такта бит-процессора можно повысить только за счет увеличения количества входных и выходных операндов АЛУ, для чего необходимо расширить структурно-функциональные возможности внутренних и внешних связей бит-процессора.
  • Ассоциативное управление коммутационными и операционными ресурсами бит-процессора более эффективно при двухступенчатой системе управления АЛУ, которое в классе ЛФ $$n$$ переменных представляет собой многофункциональный модуль с раздельными информационными и управляющими входами, а в классах ЛФ $$(m < n)$$ переменных - со смешанными информационными и управляющими входами.
  • При двухступенчатом ассоциативном управлении локальные ассоциативные взаимодействия коммутационным и операционным ресурсами бит-процессора порождают глобальные ассоциативные взаимодействия на бит-матрице, что наиболее характерно для операторов фиксации переменных, используемых для функциональной подстройки АЛУ.
  • 3.4. Синтез ассоциативно управляемых МКМД-бит-потоковых матричных СБИС арифметико-логической обработки данных по критерию максимума отказоустойчивости

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

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

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

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

    Анализ особенностей диагностики СБИС при их проектировании, изготовлении и эксплуатации показывает [292-295], что задачи построения тестов, используемых на различных этапах, отличаются в основном только требуемой достоверностью результатов диагностики и составом множества контрольных точек, которые можно использовать при диагностике на каждом жизненном цикле создания и использования СБИС. Очевидно, что состав контрольных точек сокращается при переходе от проектирования к производству и далее к эксплуатации, что усложняет задачу локализации и идентификации отказов.

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

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

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

    (рис 3.20) Декомпозиция проекта бит-матрицы в диагностической плоскости

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

    Только в такой многоуровневой системе диагностики становится возможным:

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

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

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

    Несмотря на кажущуюся простоту методики, основная сложность ее реализации связана с необходимостью анализа множества всевозможных карт отказов начиная с бит-процессорного уровня. Суммарное количество карт от 1 до $$n$$ одновременных отказов логических вентилей, $$N^{отказов}_{(1,n)}$$, определяется следующим выражением:

    $$N^{отказов}_{(1,n)} = \sum\limits_{i=1}^{n}{ N^{отказов}_{(i)}} = \sum\limits_{i=1}^{n}{ C^{i}_{n}*4^i}$$

    где $$n$$ - количество логических вентилей в схеме; $$N^{отказов}_{i}$$ - количество карт отказов для $$i$$ одновременных отказов; $$C^i_n$$ - число сочетаний из $$n$$ элементов по $$I$$, а $$4$$ - количество возможных типов отказов одного вентиля.

    При этом необходимо оценить влияние каждой карты отказов на правильность реализации каждой бит-инструкции (в СБИС Н1841 ВФ1 таких инструкций 7).

    Необходимость моделирования всех карт отказов вызвана тремя обстоятельствами:

  • при активном противодействии с использованием оружия направленной энергии любая карта отказов может возникнуть не только в бит-матрице, но и в любом бит-процессоре;
  • получить численную оценку появления катастрофической карты отказов для каждой бит-инструкции (в СБИС Н1841 ВФ1 всего 216 возможных инструкций) достаточно сложно из-за больших вариаций состава вентилей, принимающих участие в реализации каждой бит-инструкции;
  • парирование карт отказов в бит-матрице методом переразмещения на ней микропрограммы поток-оператора требует знания остаточных функциональных и коммутационных возможностей неисправных бит-процессоров.
  • В таких условиях в технике прибегают к имитационному моделированию [292, 293], с помощью которого удается получить не строгие, но, тем не менее, достаточно достоверные инженерные оценки появления катастрофических карт отказов на ограниченном подмножестве проконтролированных карт отказов. Такие инженерные оценки необходимы для управления процессом разработки СБИС в диагностической плоскости проекта.

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

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

  • Сгенерированная тестовая последовательность при контроле логического блока максимально покрывает пространство отказов этого блока, если величина $$Р^{пр}_{i}$$ этого теста не может быть уже более понижена любым другим тестом. Такую последовательность будем называть полным тестом.
  • Если величина $$Р^{пр}_{i}$$ полного теста с уменьшением его длины только увеличивается, то такой тест считается минимальным. Здесь$$Р^{пр}_{i}=\cfrac{ Р^{пр}_{(1,i)}}{ N^{отказов}_{(1,i)}}$$ - вероятность правильной реакции выхода схемы на входные воздействия, $$R^{пр}_{(1,i)}$$. - количество правильных реакций при переборе всех $$N^{отказов}_{(1,i)}$$ карт отказов, $$i$$ - количество одновременных отказов, на котором процедура перебора останавливается. Для схем, имеющих не более 14 логических элементов (триггеры, мультиплексоры, дешифраторы), $$i$$ приравнивается к количеству вентилей в схеме, то есть моделируются все возможные карты отказов, количество которых для 14 вентилей составит, согласно (3.4), $$N^{отказов}_{(1,14)} = \sum\limits_{i=1}(С_{14}^i \cdot 4^i) = 6103 515 624$$ вариантов. (Время моделирования для 4-входовой схемы с 16-разрядными входными операндами составило около 22 часов для процессора Pentium-IV с тактовой частотой 1,5 ГГц.)
  • Для схем, имеющих более 14 логических элементов, моделирование с использованием такого процессора удается провести полным перебором карт отказов, содержащих всего от 1 до 3 одновременно отказавших логических элементов. Например, для бит-процессора с 386 логическими элементами полный перебор для 1 и 2 одновременных карт отказов, согласно (3.4), составляет 1190424 вариантов, а время моделирования вышеуказанным процессором составило 50 минут.

    Для построения и выбора иерархически преемственной системы тестов контроля аппаратной части МКМД-бит-потоковых субпроцессоров использовалось специально разработанное инструментальное средство Otkaz Modulate.exe. На его основе можно провести анализ влияния различных карт отказов вентилей на поведение известной моделируемой схемы и оценить диагностопригодность конкретного варианта тестовой последовательности. С этой целью в процессе анализа необходимо определить количество правильных реакций ( $$R^{пр}_{(1,i)}$$ ) для всевозможных подмножеств карт, насчитывающих от 1 до $$i$$ одновременных отказов элементов схемы. Мощность множества всевозможных подмножеств карт отказов равна $$N^{отказов}_{(1,i)}$$. После этого можно вычислить $$P^{пр}_{i}$$ для каждой тестовой последовательности и сделать вывод о ее диагностопригодности по критерию полноты обнаружения отказавших элементов схемы.

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

    В табл. 3.15 приведено распределение логических вентилей по основным функциональным блокам БП СБИС Н1841 ВФ1. Из данных этой таблицы видно, что 43,1 % от общего количества вентилей занимают 16-разрядные сдвиговые FIFO -регистры команды. При равномерном распределении отказов по бит-матрице это приводит к тому, что вероятность попадания отказа в вентили, принадлежащие регистру команды, должна находиться на уровне 0,431.

    Отсюда, как и в любой последовательной схеме соединения элементов, попадание хотя бы одного отказа в D -триггер (см. табл. 3.16) регистра бит-инструкции приводит к полной потере его работоспособности, или, что одно и то же, делает очень низкой вероятность правильной работы регистра передачи и хранения бит-инструкций. Здесь и далее приняты следующие обозначения константных неисправностей: "тождественный ноль" (" $$\equiv 0$$ "), "тождественная единица" (" $$\equiv 1$$ ") и "неопределенное состояние" (" $$\pm 1$$ ").

    Распределение логических вентилей в БП СБИС Н1841 ВФ1
    Наименования основных блоков БП Количество вентилей Относительно всего БП
    Последовательный 16-разрядный регистр 153 43,1 %
    Арифметико-логическое устройство 72 20,3 %
    Выходной коммутационный узел 34 9,6 %
    Входной коммутационный узел 33 9,3 %
    Схема коммутации канала транзита 30 8,4 %
    Схема коммутации канала АЛУ 19 5,4 %
    Дешифратор КОП 14 3,9 %
    Всего в бит-процессоре 355 100,0 %
    Вероятности отказов D-триггера при одновременном отказе до двух вентилей
    Выходы D-триггера Правильная реализация " $$\equiv 0$$ " " $$\equiv 1$$ " " $$\pm 1$$ "
    Q 0,01 0,36 0,4 0,23
    invQ 0,01 0,27 0,5 0,22

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

    Процент нарушений сигналов записи инструкций в бит-матрицу
    Тип системыввода в регистрбит-команд Процент нарушений в последовательности микрокоманд при отказе в бит-процессоре:
    одного вентиля двух вентилей
    Последовательный 41,6 % 66%
    Параллельный 2,46 % 4,87 %

    На рис. 3.21 $$Р_{раб}$$ - вероятность сохранения работоспособности потоковой слов-инструкции, $$N_{отказ}$$ - количество одновременно отказавших вентилей в бит-матрице, "Умножитель" и "Сумматор" - реализуемая слов-инструкция, 5х резерв - 5-кратный резерв, тонкие линии с маркерами - последовательная система ввода инструкций в бит-матрицу, жирные линии без маркеров - параллельная.

    (рис 3.21) Вероятность сохранения работоспособности слов-команд

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

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

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

    (рис 3.22) Структурная схема CБИС с параллельной шиной инструкций

    Структурные схемы последовательного и параллельного регистра инструкций БП изображены на рис. 3.23 и 3.24 соответственно. Из рис. 3.24 видно, что отказ D -триггера, передающего сигнал записи инструкции (на рисунке помечен "00" и красным цветом), в параллельном регистре приводит к потере этого сигнала, что, в свою очередь, приводит к потере управления над остальными БП, следующими за ним. Таким образом, на прохождение сигнала записи теперь влияет только один D -триггер, а не 16, как это было в схеме СБИС Н1841 ВФ1. Соответственно, если этот триггер технологически сделать более надежным, то вероятность отказа бит-матрицы по каналу управления можно свести практически к нулю.

    (рис 3.23) Структурная схема последовательного регистра инструкций(рис 3.24) Структурная схема параллельного регистра инструкций

    Из данных табл. 3.18 видно, что общее количество вентилей такой схемы БП возросло на 8,7 %, но это увеличение можно компенсировать отказом от бит-операции "генерация константы" (см. табл. 3.1), которая использует 8 адресных бит регистра инструкции БП (поля А1-А4 - см. рис. 3.4). Эта бит-операция предназначена для хранения и циклического воспроизводства восьмибитной константы, задаваемой программистом. В этом случае функцию "генерация константы" можно реализовать не на схемотехническом, а на микропрограммном уровне организации вычислений.

    С учетом изложенного, в дальнейшем в качестве базового будем использовать вариант, функционально аналогичный СБИС Н1841 ВФ1, с тем условием, что управление реализовано по схеме параллельного ввода бит-инструкций рис. 3.22.

    Другим достаточно опасным источником возникновения катастрофических отказов в БП является его арифметико-логическое устройство, которое наиболее интенсивно используется в микропрограммах всех слов- и поток-инструкций. Согласно [101], АЛУ БП можно выполнить как по схеме универсального модуля рис. 3.12, так и многофункционального логического модуля (МЛМ) рис. 3.25.

    Распределение затрат в БП с параллельным регистром инструкций
    Наименования основных блоков БП Количество вентилей Относительно всего БП
    Р-трштер сигнала записи инструкции 12 3,1 %
    Последовательный 16-разрядный регистр команды 176 45,6 %
    Арифметико-логическое устройство 72 18,6 %
    Выходной коммутационный узел 34 8,8 %
    Входной коммутационный узел 33 8,5 %
    Схема коммутации канала транзита 30 7,8 %
    Схема коммутации канала АЛУ 19 4,9 %
    Дешифратор КОП 10 2,6 %
    Всего в бит-процессоре 386 100,0 %
    (рис 3.25) Структурная схема многофункционального логического модуля (МЛМ)

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

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

  • потребляемая мощность возрастает (в данном случае) более чем в 3 раза, что критично для систем космического базирования;
  • время задержки в схеме возрастает на 60 %, что критично для существенно отстающей отечественной микроэлектроники.
  • Структурно-логическая схема АЛУ, реализованного по схеме УЛМ, включает дешифратор кода операции, операционный блок на основе мультиплексора и схему обратной связи, образованной D -триггером (см. рис. 3.2, рис. 3.12), (см. рис. 5.12, рис. 5.13 раздела 5.5 курса "Задачи и модели вычислительных наноструктур"). Данное АЛУ потенциально способно выполнить 16 логических функций двух переменных "комбинационного" типа и до десятка осмысленных операций "конечно-автоматного" типа. В АЛУ на УЛМ функциональную избыточность исключают с помощью схемы управления, дешифратор которой позволяет выполнить только предусмотренные проектом операции. В данном случае список бит-операций ограничен табл. 3.1.

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

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

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

    Вероятность сохранения работоспособности функций АЛУ
    Кол-во отказавших вентилей АЛУ на УЛМ АЛУ на МЛМ
    $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$ $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$
    1 0,2257 0,5278 0,5694 0,5278 0,2951 0,3669 0,7258 0,7258 0,6613 0,5282
    2 0,0507 0,2836 0,3262 0,2806 0,0881 0,1326 0,5247 0,5247 0,4348 0,2764
    3 0,0113 0,1552 0,188 0,1501 0,0266 0,0472 0,3778 0,3778 0,2843 0,1433

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

  • схема АЛУ на МЛМ в 1,6-4 раза менее чувствительна к отказам выходных каскадов вентилей по сравнению со схемой АЛУ на УЛМ, причем выигрыш возрастает с ростом карты отказов;
  • в обеих схемах устойчивость к отказам падает с ростом сложности реализуемой АЛУ функции, в частности, при реализации "конечно-автоматных функций" ("арифметическая сумма" и "запоминание единицей") устойчивость к отказам падает от двух до десяти раз в сравнении с реализацией "комбинационных функций" ("И", "И - НЕ", "сложение по модулю два").
  • Но высокая отказоустойчивость АЛУ, выполненного по схеме МЛМ, опасна увеличением латентного периода до получения функционально

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

    Более высокая чувствительность АЛУ, выполненного по схеме УЛМ, удобна еще и тем, что сужает ядро схемы, диагностируемое прямыми методами, так как достаточно достоверным становится парадоксальное правило вывода типа: "если не реализуется более сложная операция БП, то тем более не реализуется и более простая".

    Сказанное подтверждают результаты моделирования работы схем АЛУ, представленные в табл. 3.20, откуда видно, что для контроля правильной работы схемы АЛУ на УЛМ достаточно протестировать функции "арифметическая сумма", "запоминание единицей", "сложение по модулю два". Напротив, схема АЛУ на МЛМ требует тестирования всех функций. В табл. 3.20 "более сложные" функции стоят слева, а "более простые" - справа.

    Вероятность исполнения функции различными схемами АЛУ в условиях отказа более "сложных" функций
    Кол-во отказавших вентилей АЛУнаУЛМ АЛУнаМЛМ
    $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$ $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$
    1 0,226 0,049 0,021 0 0,003 0,367 0,222 0,008 0,032 0,024
    2 0,051 0,02 0,007 0 0,001 0,133 0,112 0,002 0,008 0,004

    Систему правил логического вывода, основанных на результатах прямого тестирования ядра схемы БП, можно расширить, сократив тем самым время диагностики. В простейшем случае при достоверности гипотезы независимости последующих отказов от карты предыдущих отказов вероятность сохранения работоспособности исполняемых функций АЛУ при $$i$$ одновременных отказах его вентилей оценивается соотношением:

    $$P_{раб}^{i} = (P^{1}_{раб})^{i}$$

    где $$P^{1}_{раб}$$ - это вероятность сохранения работоспособности функции при одном отказе.

    Однако как видно из табл. 3.19, гипотеза независимости отказов, а с ней и соотношение (3.5) соблюдается с определенными погрешностями. Например, для функции "сложение по модулю два" ( $$mod2$$ ), для АЛУ, выполненного по схеме УЛМ, $$P^{1}_{раб} = 0,5278$$, тогда $$P^{2}_{раб} = (P^{1}_{раб})^{2} = (0,5278)^{2} = 0,2785$$ и $$P^{3}_{раб} = (P^{1}_{раб})^{3} = (0,5278)^{3} = 0,147$$. Экспериментальные значения табл. 3.19 дают следующие результаты: $$P^{2}_{раб} = 0,2806; P^{3}_{раб} = 0,1501$$, то есть экспериментальные значения на $$\approx 0,0025$$ больше теоретических.

    Для АЛУ, выполненного по схеме МЛМ, разница между экспериментальными и теоретическими значениями реализации той же функции составляет $$\approx-0,0025$$. Такие же отклонения наблюдаются и для остальных функций, что видно из данных табл. 3.21.

    Разница между экспериментальными и теоретическими значениями вероятностей сохранения работоспособности функций
    Кол-во отказавших вентилей АЛУнаУЛМ АЛУнаМЛМ
    $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$ $$+$$ $$\^$$ $$inv\^$$ $$mod2$$ $$stl$$
    1 0 0 0 0 0 0 0 0 0 0
    2 -0,0003 0,0050 0,0019 0,0021 0,0010 -0,0021 -0,0021 -0,0021 -0,0025 -0,0026
    3 -0,0002 0,0082 0,0034 0,0031 0,0009 -0,0022 -0,0045 -0,0045 -0,0049 -0,0040

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

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

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

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

    Вероятность реализации или трансформации загружаемой функции в бит-процессор при одном отказавшем вентиле
    Загружаемая функция Реализуемая функция
    $$+$$ ^ $$wtr$$ $$inv$$ ^ $$mod2$$ $$st1$$ $$\equiv 0$$ $$\equiv 1$$ $$\pm 1$$
    Бит-процессор с параллельной системой ввода в регистр бит-команд
    $$+$$ 0,663 0,001 0,013 0 0,012 0 0,082 0,004 0,008
    $$\^$$ 0 0,72 0,036 0 0 0,001 0,094 0,004 0,008
    $$wtr$$ 0,006 0,006 0,804 0 0 0 0,07 0,004 0,008
    $$inv$$ ^ 0 0,001 0,001 0,712 0,008 0,007 0,08 0,004 0,008
    $$mod2$$ 0,006 0,001 0,007 0,008 0,709 0 0,099 0,004 0,008
    $$st1$$ 0 0,006 0,001 0,006 0 0,668 0,106 0,004 0,008
    Бит-процессор с последовательной системой ввода в регистр бит-команд
    $$+$$ 0,432 0,001 0,011 0 0,014 0 0,21 0,004 0,008
    ^ 0 0,494 0,053 0 0 0,002 0,223 0,004 0,008
    $$wtr$$ 0,002 0,002 0,595 0 0 0 0,205 0,004 0,008
    $$inv$$ ^ 0 0,001 0,001 0,494 0,004 0,002 0,214 0,004 0,008
    $$mod2$$ 0,001 0,001 0,008 0,004 0,490 0 0,24 0,004 0,008
    $$st1$$ 0 0,001 0,001 0,002 0 0,446 0,244 0,004 0,008
    Вероятность реализации или трансформации загружаемой функции в бит-процессор при двух отказавших вентилях
    Загружаемая функция Реализуемая функция
    $$+$$ ^ $$wtr$$ $$inv$$ ^ $$mod2$$ $$st1$$ $$\equiv 0$$ $$\equiv 1$$ $$\pm 1$$
    Бит-процессор с параллельной системой ввода в регистр бит-команд
    $$+$$ 0,44 0,002 0,021 0 0,018 0 0,154 0,008 0,015
    ^ 0 0,519 0,055 0 0 0,002 0,173 0,008 0,014
    $$wtr$$ 0,009 0,009 0,646 0 0 0 0,133 0,008 0,015
    $$inv$$ ^ 0 0,001 0,002 0,507 0,012 0,01 0,150 0,008 0,015
    $$mod2$$ 0,008 0,001 0,012 0,011 0,504 0 0,179 0,008 0,014
    $$st1$$ 0 0,009 0,003 0,009 0 0,447 0,193 0,008 0,014
    Бит-процессор с последовательной системой ввода в регистр бит-команд
    $$+$$ 0,19 0,002 0,015 0 0,014 0 0,337 0,009 0,019
    ^ 0 0,247 0,065 0 0 0,002 0,351 0,009 0,018
    $$wtr$$ 0,002 0,002 0,360 0 0 0 0,329 0,009 0,019
    $$inv$$ ^ 0 0,001 0,002 0,247 0,004 0,002 0,342 0,009 0,019
    $$mod2$$ 0,001 0,001 0,012 0,003 0,244 0 0,374 0,009 0,018
    $$st1$$ 0 0,002 0,002 0,002 0 0,202 0,377 0,009 0,018

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

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

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

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

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

  • Широко разрекламированные (возможно, и с подрывной целью) в 80-х годах прошлого столетия на Западе систолические вычислительные структуры ориентированы на ОКМД-режим распараллеливания вычислений и требуют для своей реализации интеллектуальных оболочек для приведения алгоритмов пользователя к систолическому виду и кремниевых компиляторов для быстрого бездефектного проектирования специализированных систолических СБИС достаточно широкой номенклатуры, покрывающей потребности (Б)ВС во всем спектре решаемых задач. Поэтому в рамках систолических технологий преимущества получал не тот, кто приводил алгоритмы к систолическому виду, а тот, кто имел более эффективную СБИС-реализацию. Однако все систолические структуры достаточно просто эмулируются методами и программно-аппаратными средствами МКМД-бит-потоковых вычислительных технологий, аппаратную платформу которых можно реализовать на базе единственной СБИС. При этом аппаратные издержки такой эмуляции не превышают двукратных затрат на МКМД-бит-п отоковых матрицах, причем такая структурно-функциональная избыточность может быть использована для повышения отказоустойчивости (суб)процессорного тракта. В итоге суммарные аппаратные затраты отказоустойчивых систолических и МКМД-бит-потоковых субпроцессоров оказываются сопоставимыми.
  • Структурно-функциональный и схемотехнический синтез МКМД-бит-процессорных матричных СБИС, УБИС или систем на кремниевой пластине по сложности проекта и вытекающим из него требованиям к поддерживающим инструментальным программно-аппаратным платформам находится на уровне схем средней степени интеграции, содержащих не более 1000 логических вентилей. Это делает прозрачным процесс проектирования аппаратных платформ для МКМД-бит-потоковых вычислительных технологий, как в структурно-функциональной, так и в диагностической плоскости. Такое кардинальное снижение размерности задач быстрого бездефектного проектирования и изготовления МКМД-бит-процессорных матричных структур приводит к существенному возрастанию сложности задач микропрограммного конструирования алгоритмически ориентированных субпроцессоров на их основе. Основная проблема микропрограммного конструирования сконцентрирована в задаче интерактивного поиска топологической схемы размещения всех бит-инструкций потокового оператора с соблюдением с точностью до 1 такта всех фазовых соотношений между потоками данных, распространяющимися по двумерной FIFO -регистровой решетке.
  • Различные варианты построения МКМД-бит-процессорных матричных СБИС в основном разнятся средствами управления и коммутации, которые играют решающую роль в обеспечении отказоустойчивости СБИС и субпроцессоров на их основе. При этом зависящая от области применения система реализуемых бит-инструкций мало влияет на структурно-функциональную схему бит-процессора, которая в большей степени определяется принципами и методами организации вычислений.
  • Принципы и методы МКМД-бит-потоковой организации вычислений таковы, что их реализация приводит к естественной структурно-функциональной избыточности бит-процессоров, которая повышает отказоустойчивость СБИС и бит-матриц на их основе, во-первых, за счет того, что отказавший вентиль может оказаться неиспользуемым при реализации заданной бит-инструкции, а во-вторых, за счет того, что под воздействием отказа в бит-процессоре все же реализуется некоторая бит-инструкция, которая принадлежит системе ее бит-операций и при сдвигах микропрограмм на бит-матрице может оказаться востребованной именно в данном месте бит-матрицы.
  • Одна из центральных проблем технологии прототипирования в рамках МКМД-бит-потоковых технологий решается на основе методов и средств многоуровневого имитационного моделирования, что позволяет уже на самых ранних этапах проектирования оценить влияние принимаемых конструктивных и технических решений на отказоустойчивость создаваемого программно-аппаратного продукта. В результате удается сделать весь процесс проектирования полностью отечественных МКМД-бит-потоковых субпроцессорных трактов управляемым по фактору отказоустойчивости. При этом появляется достаточно уникальная возможность сбалансированного управления вводимой на этапе проектирования и используемой в процессе эксплуатации естественной структурно-функциональной и топологической избыточностью бит-процессоров и соответственно матриц на их основе. Это увеличивает степень связности проекта МКМД-бит-потокового (суб)процессорного тракта в структурно-функциональной и диагностической плоскостях, так как с ростом структурно-функциональной избыточности возрастает и устойчивость к отказам бит-матриц, а значит, и накапливаемая в латентном периоде карта отказов, что негати вно сказывается на эффективности работы подсистем диагностики и парирования карт отказов. Отсюда следует, что с ростом отказоустойчивости бит-матриц необходимо увеличивать частоту принудительного тестового контроля, что негативно сказывается на пропускной способности МКМД-бит-потоковых субпроцессорных трактов.
  • Центральная проблема двухкритериального синтеза МКМД-бит-процессорных СБИС - это поиск компромисса между аппаратными затратами, расходуемыми на основные функции и функции управления, а также на введение структурно-функциональной избыточности, определяющей основные характеристики системы обеспечения живучести субпроцессоров в целом. При этом важно иметь в виду, что чем больше уровень вложенности аппаратной реализации одних функций бит-процессора в другие, более "сложные" функции, тем большее влияние оказывают одиночные отказы вентилей на спектр исполняемых бит-инструкций. С другой стороны, при меньшей степени вложенности аппаратно реализуемых функций больше карта индифферентных отказов, накапливаемых в латентный период, и тем сложнее задача их локализации и парирования.
  • Военно-техническая политика в области вычислительной техники, основанная на комплектации отечественных (Б)ВС микропроцессорными СБИС или УБИС зарубежного проектирования и производства, опасна тем, что оценить априори отказоустойчивость таких (Б)ВС не представляется возможным без знания их логической схемы и проведенных над ними тестов проектного и промышленного контроля. Это делает процесс проектирования отечественных (Б)ВС неуправляемым по фактору отказоустойчивости, вся тяжесть исследований которой ложится на этапы натурных испытаний средств вычислительной техники, но уже в составе боевых летно-технических комплексов. В результате:
  • неоправданно удорожается стоимость и затягиваются сроки проведения натурных приемо-сдаточных испытаний отечественных автоматизированных систем двойного назначения, созданных на основе зарубежных микропроцессорных СБИС или УБИС;
  • возрастает неопределенность планирования и подготовки боевых действий авиации из-за недостоверного определения уровня готовности боевых ЛА выполнить поставленные боевые задачи в заданные сроки и с требуемым качеством, в который решающий вклад вносит достоверная оценка работоспособности бортовых средств вычислительной техники, задействованных непосредственно в решении этих задач.
  • Вернуться к учебному плану