Аппаратная платформа для МКМД-бит-потоковых вычислительных технологий может быть создана на основе практически одного типа СБИС (Н1841 ВФ1), основные достоинства которой состоят в следующем:
Разработанная в 1984 году СБИС Н1841 ВФ1 [138, 139] представляет собой матрицу 5х4 синхронно работающих бит-процессоров (рис. 3.1), объединенных единым FIFO -регистровым каналом ввода-вывода и хранения микроинструкций ( $$P(in) - P(out)$$ ). ( FIFO - "первый вошел - первый вышел".)
(рис 3.1) Структурная схема СБИС Н1841 ВФ1Каждый бит-процессор матрицы связан с ближайшими соседями ортогональными, двунаправленными, одноразрядными в каждом направлении, гальваническим шинами обмена данными и содержит (рис. 3.2):
На каждом такте работы каждый бит-процессор может выполнить до 18 бит-операций, из которых функционально значимыми и доступными пользователю являются:
| Наименование | Условное обозначение | Код |
|---|---|---|
| Нет операции | $$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 пояснений требуют:
(рис 3.4) Структурная схема бит-процессора при выполнении бит-инструкции CGПри заполнении полей А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, из которых следует:
| Наименование блока | Н1841 ВФ1 |
|---|---|
| Регистр инструкции (КОП) | 88 |
| Регистр инструкции (коммутация) | 264 |
| Дешифратор АЛУ | 108 |
| Внутренняя коммутация | 64 |
| Операционные D-тригтеры | 66 |
| АЛУ | 64 |
| Внешняя коммутация | 240 |
| Коммутационные D-тригтеры | 66 |
| Средства управления АЛУ | 196 |
| Средства управления коммутацией | 264 |
| Объект управления канала АЛУ | 194 |
| Объект управления коммутацией | 306 |
| Итого на средства управления | 460 |
| Итого на объект управления (ОУ) | 500 |
| Итого на бит-процессор (БП) | 960 |
Из приведенных данных видно, что основным источником роста степени использования функциональной интеграции МКМД-бит-матричных СБИС является повышение эффективности средств управления и средств коммутации бит-процессоров, причем обе эти задачи можно решить за счет перехода к ассоциативным методам и средствам управления не только выполняемыми бит-операциями, но и всей системой коммутации бит-процессоров. В этом случае одновременно возрастают и структурно-функциональный полиморфизм бит-матричных СБИС, и аппаратные затраты на дешифрацию управляющей информации. Поэтому эффективность таких схемо- и системотехнических решений можно оценить по снижению удельных аппаратных затрат на 1 операционную или коммутирующую функцию.
Как было показано в разделе 1.6 курса "Задачи и модели вычислительных наноструктур", технология прототипирования требует участия постановщиков задач управления ЛА и его вооружением на самых ранних этапах проектирования (Б)ВС, что в свою очередь требует от них знаний как минимум "системы ценностей" при создании современных средств микроэлектроники и вычислительной техники. Эти знания в первую очередь требуются при выборе вычислительных алгоритмов решения задач.
Так, при оценке эффективности алгоритмов цифровой обработки сигналов и изображений реального времени
[273-275] постановщики задач длительное время руководствовались критерием минимума операций умножения. Успехи микроэлектроники конца прошлого столетия привели к тому, что на первое место по временным затратам вышли не арифметические операции деления и умножения, которые в современных RISC -процессорах реализуются аппаратно и с длительностью цикла в один такт, а операции пересылки данных, которые в быстрых алгоритмах цифровой обработки сигналов и изображений реального времени сопровождаются усложнением
Если абстрагироваться от уровня стандартизации элементной базы, то технология сквозного системного проектирования МКМД-бит-потоковых матричных СБИС требует междисциплинарного подхода к их созданию и содержит те же этапы, что и технология проектирования заказных СБИС для критических задач цифровой обработки сигналов и изображений реального времени [70, 276] (рис. 3.5):
(рис 3.5) Этапы проектирования алгоритмически ориентированных СБИСДействительно, в современных процессорах общего назначения, цифровых процессорах обработки сигналов ( ЦПОС ),
В таких условиях априорное создание различных версий загрузочных модулей программ оказывается малоэффективным, так как при многократном увеличении объемов памяти такой способ позволяет парировать только заранее запланированные отказы, что практически бесполезно в условиях активного противодействия противника, обладающего оружием направленной энергии.
С другой стороны, достаточно экономичные централизованные схемы холодного резервирования требуют разветвленной системы коммутации всех
Граф информационной связности в параллельных (Б)ВС не остается постоянным, поэтому для
В результате в параллельных (Б)ВС на процессорах одной из традиционных архитектур парирование отказов в реальном времени в основном осуществляется по восходящей к Дж. фон Нейману схеме мажоритарного резервирования, которая в современных условиях строится на основе встроенных средств диагностики, уменьшающих, как показывает опыт, коэффициент резервирования с 3 до 2,2-2,5. Поэтому узлы многопроцессорных ВС, парирующих отказы в реальном времени и без потерь в результирующей информации, принято считать "идеальными" вычислителями, в которых проблема обнаружения и парирования отказов полностью локализована и не сказывается как на работе неисправного узла, так и на работе информационно связанных с ним узлов. Однако количество парируемых по этим схемам отказов ограничено величинами 2-3, что на 1-2 порядка ниже размеров карт отказов, которые могут возникнуть в результате активного противодействия с применением оружия направленной энергии.
Существующие современные технологии погружения задач в аппаратуру (Б)ВС, то есть нахождение представления задачи в булевом базисе, обеспечиваются отображением
конструктивно неделимой единицей проекта в диагностической плоскости фактически является отдельный процессор.
Бит-процессорная технология является практически единственной, где неделимой единицей проекта в диагностической плоскости является не всегда доступный с периферии СБИС бит-процессор с наиболее простой архитектурой, на поддержку которой уходит 200-300 вентилей.
С позиций выбора методов и средств обеспечения живучести субпроцессоров МКМД-бит-потоковая вычислительная технология обладает следующими особенностями:
Методологическое сходство данной технологии с зарубежными
преимущественно
В зарубежных (Б)ВС в этой предметной области доминируют
даментальных и прикладных исследований
[279], а также успехи кремниевой компиляции при "бездефектном" проектировании и изготовлении зарубежных
Поэтому в этих исследованиях реконфигурация структур и функций матриц, как правило, учитывает либо потребности узкого круга задач [70], либо потребности самовосстановления их работоспособности [147, 237, 281]. Данное положение подтверждается тем, что в репрограммируемом варианте выпущены единичные типы систолических бит-матриц [144, 148].
В прикладном аспекте основная стратегическая установка рассматриваемого варианта МКМД-бит-потоковой технологии состоит в том, чтобы минимумом комплектующих репрограммируемых матричных СБИС обеспечить решение как можно более широкого круга задач цифровой обработки сигналов и изображений реального времени. При этом инструментальные платформы такой технологии должны обеспечить эффективное отображение заданий пользователя на микропрограммный уровень организации вычислений, что можно выполнить в два этапа, на первом из которых синтезируются проблемно-ориентированные бит-матричные СБИС, учитывающие специфику решаемых задач, а на втором отображаются алгоритмы решения этих задач на конкретные бит-процессорные вычислительные структуры.
В теоретическом плане такая установка требует решения следующих проблем в сверхбольшом коллективе МКМД-бит-потоковых вычислителей:
Стратегия проектирования и использования рассматриваемого варианта МКМД-бит-потоковой технологии исходит:
Преимущества такой стратегии проектирования и использования МКМД-бит-потоковой технологии проще всего показать, опираясь на хорошо известную схему Горнера
| Шаг рекурсии | Операция |
|---|---|
| 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 ) и в микроэлектронном исполнении неудобна тем, что:
Если считать независимыми скорости распространения потоков данных $$Х_{i}(T)$$ и $$А_{j}(Т)$$ и абстрагироваться от смысла и сложности инструкции, выполняемой каждым операционным модулем, то
Сторонники систолического подхода обычно замалчивают, что проблема состоит не в том, чтобы получить декартово произведение нескольких переменных, а в том, чтобы на регулярной коммутационной структуре добиться " биений " тех и только тех переменных, которые требуется реализовать в конкретном алгоритме. В данном случае речь не идет об учете содержимого данных для снижения количества операций, затрачиваемых на каждый проход алгоритма. Напротив, речь идет о снижении системных издержек на исключение "паразитных" комбинаций внешних и внутренних переменных, которые вносят искажения в реализацию "стягивающих" операторов, у которых выходное значение зависит от произвольного подмножества, заданного на декартовом произведении внешних и/или внутренних переменных.
Для реализации "внешней" пространственно-временной коммутации требуется всего три типа линейных (одномерных) систолических структур (рис. 3.7 [289]), в которых декартово произведение реализуется либо на двух встречных потоках, либо на двух однонаправленных потоках, либо на одном распространяемом по линейному конвейеру, а другом предварительно введенном в ОЗУ операционных модулей.
С позиций получения двумерного декартова произведения, определенного на множестве пар индексов обрабатываемых потоков данных, реализуемая операционными модулями арифметико-логическая функция не играет никакой роли, что позволяет на схемах рис. 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$$ |
ВС физически осмысленными являются не все комбинации переменных, то становится очевидным, что маскирование "паразитных" комбинаций является достаточно активной функцией, и такое управление пространственно-временными потоками данных в матричных вычислителях требует дополнительных аппаратных затрат, которые в теоретических исследованиях либо не учитываются, либо замалчиваются.
В дополнение к традиционной для микроэлектроники и вычислительной техники проблеме распределения аппаратно-временных затрат между объектом и средствами управления МКМД-бит-потоковая технология, базирующаяся на принципе "одна инструкция - один процессор", требует решения еще двух центральных для нее проблем:
Конкретные способы и методы решения этих проблем кардинальным образом влияют на структурно-функциональную схему бит-процессора и на распределение аппаратно-временных затрат между объектом и средствами управления как в МКМД-бит-потоковых СБИС, так и в субпроцессорах на их основе.
Для решения первой из указанных проблем можно все задачи, решаемые современными (Б)ВС, разбить на два класса:
В соответствии с такой классификацией ранжирование данных относится к первому классу, так как перестановки в них осуществляются на основе анализа содержимого ранжируемых данных, как это имеет место при медианной фильтрации сигналов и изображений [290].
Для решения проблем эффективного управления сверхбольшим коллективом МКМД-бит-потоковых вычислителей можно разбить все задачи, решаемые современными (Б)ВС, не на две [273], а на три группы, образующие последовательный тракт обработки и отличающиеся существенно разной динамикой управления:
Первую группу задач можно отнести к сенсорному (периферийному) уровню (Б)ВС. Эти задачи решаются в дежурном режиме и характеризуются достаточно простыми алгоритмами обработки потоков данных, скорость которых уже сейчас достигает сотен Мбит/сек или единиц Гбит/сек. Простой в данном случае считается обработка, требующая десятков арифметико-
Решение задач второй группы происходит в условиях активного противодействия радиоэлектронных средств противника и в плохо прогнозируемых условиях распространения радио-, видео- и ИК-сигналов. Поэтому выделение информативных признаков требует как высокоскоростной обработки потоков данных интенсивностью в сотни Мбит/сек, так и высокой оперативной адаптации под плохо прогнозируемую поме-ховую обстановку, где уже одни методы параметрической адаптации алгоритмов явно недостаточны.
После выделения информативных признаков интенсивность обрабатываемых потоков падает на 1-2 порядка, а большинство задач вторичной обработки естественным образом допускает режим разделения времени: захват цели, сопровождение цели, выбор средств поражения цели и т. п. Существенно, что все эти задачи требуют не только высокой динамики адаптации структур алгоритмов под быстро изменяющиеся рельеф местности, маскирующие факторы и т. п., но и быстрого перехода из одного класса алгоритмов в другой.
Из сказанного следует:
Таким образом, используемая методика нисходящего системного проектирования МКМД-бит-потоковых матричных СБИС направлена:
Как и в обычных 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$$ связать пространственную координату
Шаг 1. Выделить и запомнить на $$n$$ тактов в 1-й ячейке
Шаг 2. Выполнить последовательно в 1-й ячейке
Шаг 3. Повторить во 2-й ячейке
Шаг 4. Сдвинуть во 2-й ячейке
Шаг 5. Повторить в 3-й ячейке
В системе команд Н1841 ВФ1 (см. табл. 3.1) данному алгоритму соответствует структурная схема конвейерного умножителя рис. 3.8, в которой операционный канал обозначен пунктирными линиями с соответствующей операцией, канал транзита - сплошными линиями, а дополнительная задержка - звездочкой ( $$*$$ ) в соответствующем канале. Цифрами обозначены такты поступления младшего разряда операнда на вход соответствующего бит-процессора, причем прохождение операнда через любой канал обходится не менее чем в 1 такт задержки. Циклическая константа, задающая разрядность ( $$n$$ ) преобразуемых операндов, имеет вид $$С_{n}1 = 00...01$$, где младший бит - "1", а остальные $$(n-1)$$ бит - "нули".
Если каждый столбец бит-матрицы
рис. 3.8 разбить на верхнюю и нижнюю половины, то получим ячейки
(рис 3.8) Структурная схема систолической матрицы конвейерного умножителяИз приведенных данных следует:
Разобьем систолическую матрицу рис. 3.8 на две части: верхнюю и нижнюю. Тогда для объединения возможностей двух бит-процессоров Н1841 ВФ1 в одном бит-процессоре новой версии необходимо реализовать:
(рис 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 бита в слове инструкции и
(рис 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$$ ) одной или двух из трех входных переменных, что в КМОП-технологии реализуется настройкой входных коммутаторов на незадействованные входы бит-процессора.
| № п/п | Количество операндов ( $$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.14) Структурная схема бит-процессора (версия 1)Разница в объектном и абсолютном коде негативно сказывается на динамике парирования отказов. Взаимозависимое (ассоциативное) декодирование различных полей слова инструкции резко увеличива ет аппаратные затраты на схемы дешифрации, задающие направления приема-передачи данных, и, что более важно, при микроэлектронной реализации нарушает регулярность всей схемы бит-процессора, что приводит к непропорциональному росту площади кристалла, занимаемой бит-процессором.
| Абсолютный код | Биты | Объектный код | Биты |
|---|---|---|---|
| Код операции (КОП) | 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)В этой версии:
Действительно, простейший способ выделения "незадействованно-го" входа состоит в определении "неадресуемого" выхода у четырех ближайших бит-процессоров. Но этот способ не подходит для периферийных бит-процессоров и не гарантирует полноты идентификации "незадейство-ванного" входа по результатам анализа кодов бит-инструкций ближайших ортогональных бит-процессоров. Объясняется это тем, что "незадейство-ванные" входы-выходы могут образовать достаточно длинные цепочки из D -триггеров каналов АЛУ и/или транзита, постоянно находящиеся
| № п/п | Количество операндов ( $$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 |
в "нулевом" состоянии, причем вероятность образования такой цепочки тем выше, чем больше однородность микропрограммы и чем выше коэффициент использования внешних связей бит-процессора. Поэтому "радиус" анализа ближайших соседей имеет произвольную величину, а при включении в него периферийных бит-процессоров требуется дополнительная интерактивная процедура, которая в явном виде доопределяет входы бит-матрицы как неиспользуемых.
Отсюда, ассоциативная подстройка канала АЛУ на функцию двух переменных методом "фиксации в ноль" одного из трех входных операндов требует анализа бит-инструкций в произвольной окрестности по отношению к заданному бит-процессору, что по сложности решаемой задачи сопоставимо с анализом информационно-логических связей при классической компиляции программ.
Избавиться от такого рода проблем можно:
В обоих случаях состояние неиспользуемого входа АЛУ задается регистром инструкции собственного бит-процессора и не зависит от состояния выходов смежных бит-процессоров, причем первый способ приводит к еще большему увеличению аппаратных затрат и площади кристалла под бит-процессор, а второй способ снижает разнообразие реализуемых бит-процессором арифметико-логических функций (табл. 3.10).
| № п/п | Количество операндов ( $$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, можно убедиться:
Анализ табл. 3.8 показывает:
При оценке эффективности принимаемых технических решений в условиях расширения структурно-функциональных возможностей бит-процессоров более информативны удельные аппаратные затраты на одну арифметико-логическую и/или коммутационную функцию.
Наиболее просто оцениваются удельные аппаратные затраты на одну арифметико-логическую функцию табл. 3.11, и они минимальны у 2-й версии бит-процессора по всем показателям: на объект (ОУ), средства управления (СУ) и весь бит-процессор (БП).
| Тип бит-процессора | Количество функций | ОУ/функция | СУ/функция | БП/функция |
|---|---|---|---|---|
| Н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 бита.
При оценке разнообразия реализуемых бит-процессором коммутационных структур можно исходить из информационной емкости
Оценку разнообразия коммутационных структур всего бит-процессора можно представить как произведение оценок возможных схем соединения входов-выходов, закрепленных за операционным каналом и каналами транзита. Объясняется это тем, что в бит-процессорах информационные потоки реализуются и адресуются независимо по этим каналам. Обозначим через $$А$$ и $$С$$ операторы размещений и сочетаний с соответствующими параметрами. Тогда для Н1841 ВФ1 коммутационные возможности выражаются:
где показатель степени равен разрядности
Тем не менее:
Для извлечения подобного рода кодовой избыточности по управлению коммутационными ресурсами Н1841 ВФ1 необходимо использовать теперь уже обратное ассоциативное влияние кода операции на
Для 2-й версии бит-процессора (рис. 3.15) с системой бит-инструкций табл. 3.9 коммутационные возможности выражаются:
где $$C^1_3$$ учитывает дополнительные коммутационные структуры за счет переименования входов-выходов ( $$R = 1$$ - см. рис. 3.11), $$C_4^2$$ - различные варианты отождествления двух переменных при выполнении функций 1-й переменной;
где первое $$A^1_m $$ учитывает возможности отождествления выходов, второе $$A^1_m$$ - возможности выходной коммутации 2-го канала транзита;
Отсюда следует, что информационные возможности
Из данных табл. 3.11 и табл. 3.12 видно, что удельные аппаратные затраты на коммутацию на 2-3 порядка ниже аналогичных затрат на арифметико-логические функции, что предопределяет дешевизну и высокую струк-
турную гибкость системы пересылки данных в МКМД-бит-матрицах. Если к этому добавить, что в задачах цифровой обработки сигналов и изображений реального времени операции пересылки данных увеличивают требуемую производительность на 1-2 порядка [70], то можно сказать, что именно FIFO -регистровые коммутационные структуры в сочетании с бит-процессорной обработкой вносят решающий вклад в повышение производительности МКМД-бит-потоковых субпроцессоров.
| Тип бит-процессора (БП) | Количество функций | ОУ/функция | СУ/функция | БП/функция |
|---|---|---|---|---|
| Н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.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 |
Поэтому коммутационные возможности:
Из этих данных следует, что разнообразие реализуемых бит-процессором коммутационных структур возросло всего в 6 раз по отношению к репрограммируемым бит-процессорам 2-й версии (0,96*217 - см. табл. 3.12), но удельные аппаратные затраты (5,9*10-5 транзисторов на функцию) упали почти в 60 раз (34*10-4 транзисторов на функцию - см. табл. 3.12). При этом на управление и коммутацию расходуется только площадь кристалла, занимаемая либо перепрограммируемыми перемычками, либо контактными окнами, что обусловлено технологией (П)ПЗУ.
Таким образом, проведенный по критерию максимума функциональной интеграции синтез МКМД-бит-потоковых матриц показал:
Изготовление СБИС - это сложный технологический процесс, состоящий из ряда этапов, каждый из которых должен завершаться контролем выходного продукта. При этом инструментальными методами контролируются параметры, а с помощью тестовой диагностики - работоспособность СБИС. Поэтому
Таким образом, увеличение масштабов производства и применения СБИС, а также высокая стоимость их изготовления ужесточают
Суть этого подхода сводится к построению иерархической системы согласованных тестов, наиболее полно и достоверно обеспечивающей контроль в течение всего жизненного цикла разработки (верификация проекта), изготовления (отбраковка негодных изделий) и использования (обнаружение, локализация и парирование множественных карт отказов) сложных изделий вычислительной техники, содержащих сотни миллионов активных компонент (транзисторов или вентилей).
Очевидно, что в современных (Б)ВС неделимой единицей диагностического проекта может быть только СБИС или УБИС. Эти изделия микроэлектроники сами по себе представляют достаточно сложные объекты диагностики, что требует использования внешних инструментальных ЭВМ, обеспечивающих верификацию проекта, отбраковку негодных изделий, а также обнаружение, локализацию и парирование множественных карт отказов в процессе эксплуатации и боевого применения (Б) ВС. При этом методы построения тестов должны учитывать ограничения вычислительных ресурсов инструментальных ЭВМ, находящихся в распоряжении разработчика, изготовителя или эксплуатирующего персонала.
Анализ особенностей диагностики СБИС при их проектировании, изготовлении и эксплуатации показывает [292-295], что задачи построения тестов, используемых на различных этапах, отличаются в основном только требуемой достоверностью результатов диагностики и составом множества контрольных точек, которые можно использовать при диагностике на каждом жизненном цикле создания и использования СБИС. Очевидно, что состав контрольных точек сокращается при переходе от проектирования к производству и далее к эксплуатации, что усложняет задачу локализации и идентификации отказов.
В связи с этим в [292] сформулирована общая задача построения проверяющих тестов для проектной и промышленной диагностики СБИС и предложен метод декомпозиции при построении проверяющих тестов, сущность которого заключается в расчленении схемы СБИС на независимые, обычно функционально интерпретируемые, подсхемы. Далее, исходя из доступных вычислительных возможностей, подсхемы расчленяют на конечно-автоматные и комбинационные блоки, для которых строят входные тестовые последовательности таким образом, чтобы обеспечивалась заданная достоверность диагностики.
Для МКМД-бит-процессорных матриц метод декомпозиции позволяет построить иерархическую схему объектов диагностики (рис. 3.20). Дальнейшее разбиение выделенных подсхем на конечно-автоматные и комбинационные блоки теряет смысл, так как только комплексное исследование всей схемы в целом позволяет увидеть полную картину протекающих в схеме процессов.
Чтобы обеспечить преемственность между системами промышленной и эксплуатационной диагностики, схему структурной декомпозиции аппаратных блоков и устройств рис. 3.20 необходимо дополнить сверху схемой функциональной декомпозиции МКМД-бит-потокового (суб)процессорного тракта, в состав которой входят следующие элементы: функциональные модули (поток-операторы), составляющие тракт; операционные модули (слов-инструкции), реализующие функции устройств управления, адресных, интерфейсных, операционных и диагностических устройств, составляющих поток-оператор; термы (элементарные строительные блоки), составляющие слов-инструкции; бит-процессоры, составляющие терм ; регистры команд, схема коммутации, АЛУ бит-процессора; логические схемы операционного базиса.
(рис 3.20) Декомпозиция проекта бит-матрицы в диагностической плоскостиВ качестве термов может выступать совокупность бит-процессоров, образующих ячейку систолической структуры, как это имеет место в конвейерном умножителе рис. 3.8, где две пары бит-процессоров образуют две ячейки систолической структуры с двумя входами-выходами каждая.
Только в такой многоуровневой системе диагностики становится возможным:
Первая специфическая особенность диагностики МКМД-бит-потоковых субпроцессоров состоит в том, что схема их функционально интерпретируемой декомпозиции изменяется в зависимости от их назначения даже при фиксированной структуре бит-матричной СБИС, а это делает алгоритмически зависимыми и тесты контроля реализуемых поток-операторов. Максимум что можно сделать в такой ситуации, это зафиксировать библиотеки термов и слов-инструкций и соответствующие им тесты обнаружения отказов.
Вторая специфическая особенность диагностики МКМД-бит-процессорной матрицы состоит в том, что ни один из составляющих ее бит-процессоров не является полнодоступным по входам-выходам. Это вынуждает генерировать не только тест-данные, но и синтезировать тестовые микропрограммы специальной топологии, обеспечивающие опосредованный доступ к "внутренним" бит-процессорам матрицы.
Предлагаемая методика многоуровневого имитационного моделирования МКМД-бит-потоковых субпроцессорных трактов исходит из того, что на каждом уровне иерархии определяется влияние отказов на работоспособность модулей этого уровня. И так, постепенно поднимаясь с уровня на уровень, оценивается общая отказоустойчивость МКМД-бит-потокового (суб)процессорного тракта.
Несмотря на кажущуюся простоту методики, основная сложность ее реализации связана с необходимостью анализа множества всевозможных карт отказов начиная с бит-процессорного уровня. Суммарное количество карт от 1 до $$n$$ одновременных отказов
где $$n$$ - количество
При этом необходимо оценить влияние каждой карты отказов на правильность реализации каждой бит-инструкции (в СБИС Н1841 ВФ1 таких инструкций 7).
Необходимость моделирования всех карт отказов вызвана тремя обстоятельствами:
В таких условиях в технике прибегают к имитационному моделированию [292, 293], с помощью которого удается получить не строгие, но, тем не менее, достаточно достоверные инженерные оценки появления катастрофических карт отказов на ограниченном подмножестве проконтролированных карт отказов. Такие инженерные оценки необходимы для управления процессом разработки СБИС в диагностической плоскости проекта.
Но даже и в этом случае задача построения тестов и оценки их качества остается достаточно сложной, так как прототип катастрофической карты отказов для каждой бит-инструкции заранее неизвестен, что вынуждает решать задачу поиска таких тестов перебором, полнота и достоверность которого также нуждается в оценке.
При поиске минимальных тестовых последовательностей для логических блоков использовались следующие критерии останова процедур поиска.
Для схем, имеющих более 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 приведено распределение
Отсюда, как и в любой последовательной схеме соединения элементов, попадание хотя бы одного отказа в D -триггер (см. табл. 3.16) регистра бит-инструкции приводит к полной потере его работоспособности, или, что одно и то же, делает очень низкой вероятность правильной работы регистра передачи и хранения бит-инструкций. Здесь и далее приняты следующие обозначения константных неисправностей: "тождественный ноль" (" $$\equiv 0$$ "), "тождественная единица" (" $$\equiv 1$$ ") и "неопределенное состояние" (" $$\pm 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-триггера | Правильная реализация | " $$\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-кратном резерве уже на первом - пятом отказе вентилей, потому что отказ регистра одного БП изменяет содержимое всех
| Тип системыввода в регистрбит-команд | Процент нарушений в последовательности | |
|---|---|---|
| одного вентиля | двух вентилей | |
| Последовательный | 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.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, в котором каждая операция реализуется независимым блоком. Настройка такого АЛУ на заданную
Основное достоинство данной схемы - это минимально возможная связность различных арифметико-логических функций по аппаратной реализации, что делает такое АЛУ минимально чувствительным к отказу одного "операционного" вентиля, так как общим в этой схеме является только выходной коммутатор. При этом в сравнении со схемой универсального логического модуля (УЛМ) схема АЛУ на МЛМ за счет параллельной и одновременной работы всех функциональных блоков многофункционального модуля обладает следующими отличиями:
Структурно-логическая схема АЛУ, реализованного по схеме УЛМ, включает дешифратор кода операции, операционный блок на основе мультиплексора и схему обратной связи, образованной 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 |
Приведенные данные позволяют сделать следующие выводы:
Но высокая отказоустойчивость АЛУ, выполненного по схеме МЛМ, опасна увеличением латентного периода до получения функционально
значимого отказа БП. В результате такого запоздалого запуска системы локализации и идентификации отказов карта отказов в бит-матрице может нарасти до недопустимых размеров с точки зрения возможности ее парирования в темпе реального времени.
Более высокая чувствительность АЛУ, выполненного по схеме УЛМ, удобна еще и тем, что сужает ядро схемы, диагностируемое прямыми методами, так как достаточно достоверным становится парадоксальное правило вывода типа: "если не реализуется более сложная операция БП, то тем более не реализуется и более простая".
Сказанное подтверждают результаты моделирования работы схем АЛУ, представленные в табл. 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 для одного и двух одновременных отказов соответственно. Данные этих таблиц подтверждают эффективность схемы
Во-первых, они хорошо согласуются с результатами имитационного моделирования, полученными на нижнем уровне иерархии, где было показано, что основным источником потери работоспособности БП и всей бит-матрицы является регистр бит-инструкций. Поэтому функциональная нечувствительность к отказам всей схемы БП с параллельной системой ввода бит-инструкции оказалась в 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 %), кроме функции расширенного транзита, которая имеет первый порядок малости. Это говорит о том, что функционально неисправные БП чаще всего способны выполнить коммутационные функции, которые необходимы для информационного сопряжения микропрограммных модулей после выполнения над ними толерантных аффинных преобразований в подсистеме парирования множественных карт отказов.
Таким образом, на основе приведенных данных можно заключить:
Аппаратная платформа для МКМД-бит-потоковых вычислительных технологий может быть создана на основе практически одного типа СБИС (Н1841 ВФ1), основные достоинства которой состоят в следующем:
Разработанная в 1984 году СБИС Н1841 ВФ1 [138, 139] представляет собой матрицу 5х4 синхронно работающих бит-процессоров (рис. 3.1), объединенных единым FIFO -регистровым каналом ввода-вывода и хранения микроинструкций ( $$P(in) - P(out)$$ ). ( FIFO - "первый вошел - первый вышел".)
(рис 3.1) Структурная схема СБИС Н1841 ВФ1Каждый бит-процессор матрицы связан с ближайшими соседями ортогональными, двунаправленными, одноразрядными в каждом направлении, гальваническим шинами обмена данными и содержит (рис. 3.2):
На каждом такте работы каждый бит-процессор может выполнить до 18 бит-операций, из которых функционально значимыми и доступными пользователю являются:
| Наименование | Условное обозначение | Код |
|---|---|---|
| Нет операции | $$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 пояснений требуют:
(рис 3.4) Структурная схема бит-процессора при выполнении бит-инструкции CGПри заполнении полей А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, из которых следует:
| Наименование блока | Н1841 ВФ1 |
|---|---|
| Регистр инструкции (КОП) | 88 |
| Регистр инструкции (коммутация) | 264 |
| Дешифратор АЛУ | 108 |
| Внутренняя коммутация | 64 |
| Операционные D-тригтеры | 66 |
| АЛУ | 64 |
| Внешняя коммутация | 240 |
| Коммутационные D-тригтеры | 66 |
| Средства управления АЛУ | 196 |
| Средства управления коммутацией | 264 |
| Объект управления канала АЛУ | 194 |
| Объект управления коммутацией | 306 |
| Итого на средства управления | 460 |
| Итого на объект управления (ОУ) | 500 |
| Итого на бит-процессор (БП) | 960 |
Из приведенных данных видно, что основным источником роста степени использования функциональной интеграции МКМД-бит-матричных СБИС является повышение эффективности средств управления и средств коммутации бит-процессоров, причем обе эти задачи можно решить за счет перехода к ассоциативным методам и средствам управления не только выполняемыми бит-операциями, но и всей системой коммутации бит-процессоров. В этом случае одновременно возрастают и структурно-функциональный полиморфизм бит-матричных СБИС, и аппаратные затраты на дешифрацию управляющей информации. Поэтому эффективность таких схемо- и системотехнических решений можно оценить по снижению удельных аппаратных затрат на 1 операционную или коммутирующую функцию.
Как было показано в разделе 1.6 курса "Задачи и модели вычислительных наноструктур", технология прототипирования требует участия постановщиков задач управления ЛА и его вооружением на самых ранних этапах проектирования (Б)ВС, что в свою очередь требует от них знаний как минимум "системы ценностей" при создании современных средств микроэлектроники и вычислительной техники. Эти знания в первую очередь требуются при выборе вычислительных алгоритмов решения задач.
Так, при оценке эффективности алгоритмов цифровой обработки сигналов и изображений реального времени
[273-275] постановщики задач длительное время руководствовались критерием минимума операций умножения. Успехи микроэлектроники конца прошлого столетия привели к тому, что на первое место по временным затратам вышли не арифметические операции деления и умножения, которые в современных RISC -процессорах реализуются аппаратно и с длительностью цикла в один такт, а операции пересылки данных, которые в быстрых алгоритмах цифровой обработки сигналов и изображений реального времени сопровождаются усложнением
Если абстрагироваться от уровня стандартизации элементной базы, то технология сквозного системного проектирования МКМД-бит-потоковых матричных СБИС требует междисциплинарного подхода к их созданию и содержит те же этапы, что и технология проектирования заказных СБИС для критических задач цифровой обработки сигналов и изображений реального времени [70, 276] (рис. 3.5):
(рис 3.5) Этапы проектирования алгоритмически ориентированных СБИСДействительно, в современных процессорах общего назначения, цифровых процессорах обработки сигналов ( ЦПОС ),
В таких условиях априорное создание различных версий загрузочных модулей программ оказывается малоэффективным, так как при многократном увеличении объемов памяти такой способ позволяет парировать только заранее запланированные отказы, что практически бесполезно в условиях активного противодействия противника, обладающего оружием направленной энергии.
С другой стороны, достаточно экономичные централизованные схемы холодного резервирования требуют разветвленной системы коммутации всех
Граф информационной связности в параллельных (Б)ВС не остается постоянным, поэтому для
В результате в параллельных (Б)ВС на процессорах одной из традиционных архитектур парирование отказов в реальном времени в основном осуществляется по восходящей к Дж. фон Нейману схеме мажоритарного резервирования, которая в современных условиях строится на основе встроенных средств диагностики, уменьшающих, как показывает опыт, коэффициент резервирования с 3 до 2,2-2,5. Поэтому узлы многопроцессорных ВС, парирующих отказы в реальном времени и без потерь в результирующей информации, принято считать "идеальными" вычислителями, в которых проблема обнаружения и парирования отказов полностью локализована и не сказывается как на работе неисправного узла, так и на работе информационно связанных с ним узлов. Однако количество парируемых по этим схемам отказов ограничено величинами 2-3, что на 1-2 порядка ниже размеров карт отказов, которые могут возникнуть в результате активного противодействия с применением оружия направленной энергии.
Существующие современные технологии погружения задач в аппаратуру (Б)ВС, то есть нахождение представления задачи в булевом базисе, обеспечиваются отображением
конструктивно неделимой единицей проекта в диагностической плоскости фактически является отдельный процессор.
Бит-процессорная технология является практически единственной, где неделимой единицей проекта в диагностической плоскости является не всегда доступный с периферии СБИС бит-процессор с наиболее простой архитектурой, на поддержку которой уходит 200-300 вентилей.
С позиций выбора методов и средств обеспечения живучести субпроцессоров МКМД-бит-потоковая вычислительная технология обладает следующими особенностями:
Методологическое сходство данной технологии с зарубежными
преимущественно
В зарубежных (Б)ВС в этой предметной области доминируют
даментальных и прикладных исследований
[279], а также успехи кремниевой компиляции при "бездефектном" проектировании и изготовлении зарубежных
Поэтому в этих исследованиях реконфигурация структур и функций матриц, как правило, учитывает либо потребности узкого круга задач [70], либо потребности самовосстановления их работоспособности [147, 237, 281]. Данное положение подтверждается тем, что в репрограммируемом варианте выпущены единичные типы систолических бит-матриц [144, 148].
В прикладном аспекте основная стратегическая установка рассматриваемого варианта МКМД-бит-потоковой технологии состоит в том, чтобы минимумом комплектующих репрограммируемых матричных СБИС обеспечить решение как можно более широкого круга задач цифровой обработки сигналов и изображений реального времени. При этом инструментальные платформы такой технологии должны обеспечить эффективное отображение заданий пользователя на микропрограммный уровень организации вычислений, что можно выполнить в два этапа, на первом из которых синтезируются проблемно-ориентированные бит-матричные СБИС, учитывающие специфику решаемых задач, а на втором отображаются алгоритмы решения этих задач на конкретные бит-процессорные вычислительные структуры.
В теоретическом плане такая установка требует решения следующих проблем в сверхбольшом коллективе МКМД-бит-потоковых вычислителей:
Стратегия проектирования и использования рассматриваемого варианта МКМД-бит-потоковой технологии исходит:
Преимущества такой стратегии проектирования и использования МКМД-бит-потоковой технологии проще всего показать, опираясь на хорошо известную схему Горнера
| Шаг рекурсии | Операция |
|---|---|
| 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 ) и в микроэлектронном исполнении неудобна тем, что:
Если считать независимыми скорости распространения потоков данных $$Х_{i}(T)$$ и $$А_{j}(Т)$$ и абстрагироваться от смысла и сложности инструкции, выполняемой каждым операционным модулем, то
Сторонники систолического подхода обычно замалчивают, что проблема состоит не в том, чтобы получить декартово произведение нескольких переменных, а в том, чтобы на регулярной коммутационной структуре добиться " биений " тех и только тех переменных, которые требуется реализовать в конкретном алгоритме. В данном случае речь не идет об учете содержимого данных для снижения количества операций, затрачиваемых на каждый проход алгоритма. Напротив, речь идет о снижении системных издержек на исключение "паразитных" комбинаций внешних и внутренних переменных, которые вносят искажения в реализацию "стягивающих" операторов, у которых выходное значение зависит от произвольного подмножества, заданного на декартовом произведении внешних и/или внутренних переменных.
Для реализации "внешней" пространственно-временной коммутации требуется всего три типа линейных (одномерных) систолических структур (рис. 3.7 [289]), в которых декартово произведение реализуется либо на двух встречных потоках, либо на двух однонаправленных потоках, либо на одном распространяемом по линейному конвейеру, а другом предварительно введенном в ОЗУ операционных модулей.
С позиций получения двумерного декартова произведения, определенного на множестве пар индексов обрабатываемых потоков данных, реализуемая операционными модулями арифметико-логическая функция не играет никакой роли, что позволяет на схемах рис. 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$$ |
ВС физически осмысленными являются не все комбинации переменных, то становится очевидным, что маскирование "паразитных" комбинаций является достаточно активной функцией, и такое управление пространственно-временными потоками данных в матричных вычислителях требует дополнительных аппаратных затрат, которые в теоретических исследованиях либо не учитываются, либо замалчиваются.
В дополнение к традиционной для микроэлектроники и вычислительной техники проблеме распределения аппаратно-временных затрат между объектом и средствами управления МКМД-бит-потоковая технология, базирующаяся на принципе "одна инструкция - один процессор", требует решения еще двух центральных для нее проблем:
Конкретные способы и методы решения этих проблем кардинальным образом влияют на структурно-функциональную схему бит-процессора и на распределение аппаратно-временных затрат между объектом и средствами управления как в МКМД-бит-потоковых СБИС, так и в субпроцессорах на их основе.
Для решения первой из указанных проблем можно все задачи, решаемые современными (Б)ВС, разбить на два класса:
В соответствии с такой классификацией ранжирование данных относится к первому классу, так как перестановки в них осуществляются на основе анализа содержимого ранжируемых данных, как это имеет место при медианной фильтрации сигналов и изображений [290].
Для решения проблем эффективного управления сверхбольшим коллективом МКМД-бит-потоковых вычислителей можно разбить все задачи, решаемые современными (Б)ВС, не на две [273], а на три группы, образующие последовательный тракт обработки и отличающиеся существенно разной динамикой управления:
Первую группу задач можно отнести к сенсорному (периферийному) уровню (Б)ВС. Эти задачи решаются в дежурном режиме и характеризуются достаточно простыми алгоритмами обработки потоков данных, скорость которых уже сейчас достигает сотен Мбит/сек или единиц Гбит/сек. Простой в данном случае считается обработка, требующая десятков арифметико-
Решение задач второй группы происходит в условиях активного противодействия радиоэлектронных средств противника и в плохо прогнозируемых условиях распространения радио-, видео- и ИК-сигналов. Поэтому выделение информативных признаков требует как высокоскоростной обработки потоков данных интенсивностью в сотни Мбит/сек, так и высокой оперативной адаптации под плохо прогнозируемую поме-ховую обстановку, где уже одни методы параметрической адаптации алгоритмов явно недостаточны.
После выделения информативных признаков интенсивность обрабатываемых потоков падает на 1-2 порядка, а большинство задач вторичной обработки естественным образом допускает режим разделения времени: захват цели, сопровождение цели, выбор средств поражения цели и т. п. Существенно, что все эти задачи требуют не только высокой динамики адаптации структур алгоритмов под быстро изменяющиеся рельеф местности, маскирующие факторы и т. п., но и быстрого перехода из одного класса алгоритмов в другой.
Из сказанного следует:
Таким образом, используемая методика нисходящего системного проектирования МКМД-бит-потоковых матричных СБИС направлена:
Как и в обычных 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$$ связать пространственную координату
Шаг 1. Выделить и запомнить на $$n$$ тактов в 1-й ячейке
Шаг 2. Выполнить последовательно в 1-й ячейке
Шаг 3. Повторить во 2-й ячейке
Шаг 4. Сдвинуть во 2-й ячейке
Шаг 5. Повторить в 3-й ячейке
В системе команд Н1841 ВФ1 (см. табл. 3.1) данному алгоритму соответствует структурная схема конвейерного умножителя рис. 3.8, в которой операционный канал обозначен пунктирными линиями с соответствующей операцией, канал транзита - сплошными линиями, а дополнительная задержка - звездочкой ( $$*$$ ) в соответствующем канале. Цифрами обозначены такты поступления младшего разряда операнда на вход соответствующего бит-процессора, причем прохождение операнда через любой канал обходится не менее чем в 1 такт задержки. Циклическая константа, задающая разрядность ( $$n$$ ) преобразуемых операндов, имеет вид $$С_{n}1 = 00...01$$, где младший бит - "1", а остальные $$(n-1)$$ бит - "нули".
Если каждый столбец бит-матрицы
рис. 3.8 разбить на верхнюю и нижнюю половины, то получим ячейки
(рис 3.8) Структурная схема систолической матрицы конвейерного умножителяИз приведенных данных следует:
Разобьем систолическую матрицу рис. 3.8 на две части: верхнюю и нижнюю. Тогда для объединения возможностей двух бит-процессоров Н1841 ВФ1 в одном бит-процессоре новой версии необходимо реализовать:
(рис 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 бита в слове инструкции и
(рис 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$$ ) одной или двух из трех входных переменных, что в КМОП-технологии реализуется настройкой входных коммутаторов на незадействованные входы бит-процессора.
| № п/п | Количество операндов ( $$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.14) Структурная схема бит-процессора (версия 1)Разница в объектном и абсолютном коде негативно сказывается на динамике парирования отказов. Взаимозависимое (ассоциативное) декодирование различных полей слова инструкции резко увеличива ет аппаратные затраты на схемы дешифрации, задающие направления приема-передачи данных, и, что более важно, при микроэлектронной реализации нарушает регулярность всей схемы бит-процессора, что приводит к непропорциональному росту площади кристалла, занимаемой бит-процессором.
| Абсолютный код | Биты | Объектный код | Биты |
|---|---|---|---|
| Код операции (КОП) | 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)В этой версии:
Действительно, простейший способ выделения "незадействованно-го" входа состоит в определении "неадресуемого" выхода у четырех ближайших бит-процессоров. Но этот способ не подходит для периферийных бит-процессоров и не гарантирует полноты идентификации "незадейство-ванного" входа по результатам анализа кодов бит-инструкций ближайших ортогональных бит-процессоров. Объясняется это тем, что "незадейство-ванные" входы-выходы могут образовать достаточно длинные цепочки из D -триггеров каналов АЛУ и/или транзита, постоянно находящиеся
| № п/п | Количество операндов ( $$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 |
в "нулевом" состоянии, причем вероятность образования такой цепочки тем выше, чем больше однородность микропрограммы и чем выше коэффициент использования внешних связей бит-процессора. Поэтому "радиус" анализа ближайших соседей имеет произвольную величину, а при включении в него периферийных бит-процессоров требуется дополнительная интерактивная процедура, которая в явном виде доопределяет входы бит-матрицы как неиспользуемых.
Отсюда, ассоциативная подстройка канала АЛУ на функцию двух переменных методом "фиксации в ноль" одного из трех входных операндов требует анализа бит-инструкций в произвольной окрестности по отношению к заданному бит-процессору, что по сложности решаемой задачи сопоставимо с анализом информационно-логических связей при классической компиляции программ.
Избавиться от такого рода проблем можно:
В обоих случаях состояние неиспользуемого входа АЛУ задается регистром инструкции собственного бит-процессора и не зависит от состояния выходов смежных бит-процессоров, причем первый способ приводит к еще большему увеличению аппаратных затрат и площади кристалла под бит-процессор, а второй способ снижает разнообразие реализуемых бит-процессором арифметико-логических функций (табл. 3.10).
| № п/п | Количество операндов ( $$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, можно убедиться:
Анализ табл. 3.8 показывает:
При оценке эффективности принимаемых технических решений в условиях расширения структурно-функциональных возможностей бит-процессоров более информативны удельные аппаратные затраты на одну арифметико-логическую и/или коммутационную функцию.
Наиболее просто оцениваются удельные аппаратные затраты на одну арифметико-логическую функцию табл. 3.11, и они минимальны у 2-й версии бит-процессора по всем показателям: на объект (ОУ), средства управления (СУ) и весь бит-процессор (БП).
| Тип бит-процессора | Количество функций | ОУ/функция | СУ/функция | БП/функция |
|---|---|---|---|---|
| Н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 бита.
При оценке разнообразия реализуемых бит-процессором коммутационных структур можно исходить из информационной емкости
Оценку разнообразия коммутационных структур всего бит-процессора можно представить как произведение оценок возможных схем соединения входов-выходов, закрепленных за операционным каналом и каналами транзита. Объясняется это тем, что в бит-процессорах информационные потоки реализуются и адресуются независимо по этим каналам. Обозначим через $$А$$ и $$С$$ операторы размещений и сочетаний с соответствующими параметрами. Тогда для Н1841 ВФ1 коммутационные возможности выражаются:
где показатель степени равен разрядности
Тем не менее:
Для извлечения подобного рода кодовой избыточности по управлению коммутационными ресурсами Н1841 ВФ1 необходимо использовать теперь уже обратное ассоциативное влияние кода операции на
Для 2-й версии бит-процессора (рис. 3.15) с системой бит-инструкций табл. 3.9 коммутационные возможности выражаются:
где $$C^1_3$$ учитывает дополнительные коммутационные структуры за счет переименования входов-выходов ( $$R = 1$$ - см. рис. 3.11), $$C_4^2$$ - различные варианты отождествления двух переменных при выполнении функций 1-й переменной;
где первое $$A^1_m $$ учитывает возможности отождествления выходов, второе $$A^1_m$$ - возможности выходной коммутации 2-го канала транзита;
Отсюда следует, что информационные возможности
Из данных табл. 3.11 и табл. 3.12 видно, что удельные аппаратные затраты на коммутацию на 2-3 порядка ниже аналогичных затрат на арифметико-логические функции, что предопределяет дешевизну и высокую струк-
турную гибкость системы пересылки данных в МКМД-бит-матрицах. Если к этому добавить, что в задачах цифровой обработки сигналов и изображений реального времени операции пересылки данных увеличивают требуемую производительность на 1-2 порядка [70], то можно сказать, что именно FIFO -регистровые коммутационные структуры в сочетании с бит-процессорной обработкой вносят решающий вклад в повышение производительности МКМД-бит-потоковых субпроцессоров.
| Тип бит-процессора (БП) | Количество функций | ОУ/функция | СУ/функция | БП/функция |
|---|---|---|---|---|
| Н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.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 |
Поэтому коммутационные возможности:
Из этих данных следует, что разнообразие реализуемых бит-процессором коммутационных структур возросло всего в 6 раз по отношению к репрограммируемым бит-процессорам 2-й версии (0,96*217 - см. табл. 3.12), но удельные аппаратные затраты (5,9*10-5 транзисторов на функцию) упали почти в 60 раз (34*10-4 транзисторов на функцию - см. табл. 3.12). При этом на управление и коммутацию расходуется только площадь кристалла, занимаемая либо перепрограммируемыми перемычками, либо контактными окнами, что обусловлено технологией (П)ПЗУ.
Таким образом, проведенный по критерию максимума функциональной интеграции синтез МКМД-бит-потоковых матриц показал:
Изготовление СБИС - это сложный технологический процесс, состоящий из ряда этапов, каждый из которых должен завершаться контролем выходного продукта. При этом инструментальными методами контролируются параметры, а с помощью тестовой диагностики - работоспособность СБИС. Поэтому
Таким образом, увеличение масштабов производства и применения СБИС, а также высокая стоимость их изготовления ужесточают
Суть этого подхода сводится к построению иерархической системы согласованных тестов, наиболее полно и достоверно обеспечивающей контроль в течение всего жизненного цикла разработки (верификация проекта), изготовления (отбраковка негодных изделий) и использования (обнаружение, локализация и парирование множественных карт отказов) сложных изделий вычислительной техники, содержащих сотни миллионов активных компонент (транзисторов или вентилей).
Очевидно, что в современных (Б)ВС неделимой единицей диагностического проекта может быть только СБИС или УБИС. Эти изделия микроэлектроники сами по себе представляют достаточно сложные объекты диагностики, что требует использования внешних инструментальных ЭВМ, обеспечивающих верификацию проекта, отбраковку негодных изделий, а также обнаружение, локализацию и парирование множественных карт отказов в процессе эксплуатации и боевого применения (Б) ВС. При этом методы построения тестов должны учитывать ограничения вычислительных ресурсов инструментальных ЭВМ, находящихся в распоряжении разработчика, изготовителя или эксплуатирующего персонала.
Анализ особенностей диагностики СБИС при их проектировании, изготовлении и эксплуатации показывает [292-295], что задачи построения тестов, используемых на различных этапах, отличаются в основном только требуемой достоверностью результатов диагностики и составом множества контрольных точек, которые можно использовать при диагностике на каждом жизненном цикле создания и использования СБИС. Очевидно, что состав контрольных точек сокращается при переходе от проектирования к производству и далее к эксплуатации, что усложняет задачу локализации и идентификации отказов.
В связи с этим в [292] сформулирована общая задача построения проверяющих тестов для проектной и промышленной диагностики СБИС и предложен метод декомпозиции при построении проверяющих тестов, сущность которого заключается в расчленении схемы СБИС на независимые, обычно функционально интерпретируемые, подсхемы. Далее, исходя из доступных вычислительных возможностей, подсхемы расчленяют на конечно-автоматные и комбинационные блоки, для которых строят входные тестовые последовательности таким образом, чтобы обеспечивалась заданная достоверность диагностики.
Для МКМД-бит-процессорных матриц метод декомпозиции позволяет построить иерархическую схему объектов диагностики (рис. 3.20). Дальнейшее разбиение выделенных подсхем на конечно-автоматные и комбинационные блоки теряет смысл, так как только комплексное исследование всей схемы в целом позволяет увидеть полную картину протекающих в схеме процессов.
Чтобы обеспечить преемственность между системами промышленной и эксплуатационной диагностики, схему структурной декомпозиции аппаратных блоков и устройств рис. 3.20 необходимо дополнить сверху схемой функциональной декомпозиции МКМД-бит-потокового (суб)процессорного тракта, в состав которой входят следующие элементы: функциональные модули (поток-операторы), составляющие тракт; операционные модули (слов-инструкции), реализующие функции устройств управления, адресных, интерфейсных, операционных и диагностических устройств, составляющих поток-оператор; термы (элементарные строительные блоки), составляющие слов-инструкции; бит-процессоры, составляющие терм ; регистры команд, схема коммутации, АЛУ бит-процессора; логические схемы операционного базиса.
(рис 3.20) Декомпозиция проекта бит-матрицы в диагностической плоскостиВ качестве термов может выступать совокупность бит-процессоров, образующих ячейку систолической структуры, как это имеет место в конвейерном умножителе рис. 3.8, где две пары бит-процессоров образуют две ячейки систолической структуры с двумя входами-выходами каждая.
Только в такой многоуровневой системе диагностики становится возможным:
Первая специфическая особенность диагностики МКМД-бит-потоковых субпроцессоров состоит в том, что схема их функционально интерпретируемой декомпозиции изменяется в зависимости от их назначения даже при фиксированной структуре бит-матричной СБИС, а это делает алгоритмически зависимыми и тесты контроля реализуемых поток-операторов. Максимум что можно сделать в такой ситуации, это зафиксировать библиотеки термов и слов-инструкций и соответствующие им тесты обнаружения отказов.
Вторая специфическая особенность диагностики МКМД-бит-процессорной матрицы состоит в том, что ни один из составляющих ее бит-процессоров не является полнодоступным по входам-выходам. Это вынуждает генерировать не только тест-данные, но и синтезировать тестовые микропрограммы специальной топологии, обеспечивающие опосредованный доступ к "внутренним" бит-процессорам матрицы.
Предлагаемая методика многоуровневого имитационного моделирования МКМД-бит-потоковых субпроцессорных трактов исходит из того, что на каждом уровне иерархии определяется влияние отказов на работоспособность модулей этого уровня. И так, постепенно поднимаясь с уровня на уровень, оценивается общая отказоустойчивость МКМД-бит-потокового (суб)процессорного тракта.
Несмотря на кажущуюся простоту методики, основная сложность ее реализации связана с необходимостью анализа множества всевозможных карт отказов начиная с бит-процессорного уровня. Суммарное количество карт от 1 до $$n$$ одновременных отказов
где $$n$$ - количество
При этом необходимо оценить влияние каждой карты отказов на правильность реализации каждой бит-инструкции (в СБИС Н1841 ВФ1 таких инструкций 7).
Необходимость моделирования всех карт отказов вызвана тремя обстоятельствами:
В таких условиях в технике прибегают к имитационному моделированию [292, 293], с помощью которого удается получить не строгие, но, тем не менее, достаточно достоверные инженерные оценки появления катастрофических карт отказов на ограниченном подмножестве проконтролированных карт отказов. Такие инженерные оценки необходимы для управления процессом разработки СБИС в диагностической плоскости проекта.
Но даже и в этом случае задача построения тестов и оценки их качества остается достаточно сложной, так как прототип катастрофической карты отказов для каждой бит-инструкции заранее неизвестен, что вынуждает решать задачу поиска таких тестов перебором, полнота и достоверность которого также нуждается в оценке.
При поиске минимальных тестовых последовательностей для логических блоков использовались следующие критерии останова процедур поиска.
Для схем, имеющих более 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 приведено распределение
Отсюда, как и в любой последовательной схеме соединения элементов, попадание хотя бы одного отказа в D -триггер (см. табл. 3.16) регистра бит-инструкции приводит к полной потере его работоспособности, или, что одно и то же, делает очень низкой вероятность правильной работы регистра передачи и хранения бит-инструкций. Здесь и далее приняты следующие обозначения константных неисправностей: "тождественный ноль" (" $$\equiv 0$$ "), "тождественная единица" (" $$\equiv 1$$ ") и "неопределенное состояние" (" $$\pm 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-триггера | Правильная реализация | " $$\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-кратном резерве уже на первом - пятом отказе вентилей, потому что отказ регистра одного БП изменяет содержимое всех
| Тип системыввода в регистрбит-команд | Процент нарушений в последовательности | |
|---|---|---|
| одного вентиля | двух вентилей | |
| Последовательный | 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.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, в котором каждая операция реализуется независимым блоком. Настройка такого АЛУ на заданную
Основное достоинство данной схемы - это минимально возможная связность различных арифметико-логических функций по аппаратной реализации, что делает такое АЛУ минимально чувствительным к отказу одного "операционного" вентиля, так как общим в этой схеме является только выходной коммутатор. При этом в сравнении со схемой универсального логического модуля (УЛМ) схема АЛУ на МЛМ за счет параллельной и одновременной работы всех функциональных блоков многофункционального модуля обладает следующими отличиями:
Структурно-логическая схема АЛУ, реализованного по схеме УЛМ, включает дешифратор кода операции, операционный блок на основе мультиплексора и схему обратной связи, образованной 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 |
Приведенные данные позволяют сделать следующие выводы:
Но высокая отказоустойчивость АЛУ, выполненного по схеме МЛМ, опасна увеличением латентного периода до получения функционально
значимого отказа БП. В результате такого запоздалого запуска системы локализации и идентификации отказов карта отказов в бит-матрице может нарасти до недопустимых размеров с точки зрения возможности ее парирования в темпе реального времени.
Более высокая чувствительность АЛУ, выполненного по схеме УЛМ, удобна еще и тем, что сужает ядро схемы, диагностируемое прямыми методами, так как достаточно достоверным становится парадоксальное правило вывода типа: "если не реализуется более сложная операция БП, то тем более не реализуется и более простая".
Сказанное подтверждают результаты моделирования работы схем АЛУ, представленные в табл. 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 для одного и двух одновременных отказов соответственно. Данные этих таблиц подтверждают эффективность схемы
Во-первых, они хорошо согласуются с результатами имитационного моделирования, полученными на нижнем уровне иерархии, где было показано, что основным источником потери работоспособности БП и всей бит-матрицы является регистр бит-инструкций. Поэтому функциональная нечувствительность к отказам всей схемы БП с параллельной системой ввода бит-инструкции оказалась в 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 %), кроме функции расширенного транзита, которая имеет первый порядок малости. Это говорит о том, что функционально неисправные БП чаще всего способны выполнить коммутационные функции, которые необходимы для информационного сопряжения микропрограммных модулей после выполнения над ними толерантных аффинных преобразований в подсистеме парирования множественных карт отказов.
Таким образом, на основе приведенных данных можно заключить:
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.