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

МКМД-БИТ-потоковые субпроцессоры с (микро)программируемой архитектурой

Показывать лекцию целиком

4.1. Ассоциативные конструкции на уровне слов-инструкций

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

Главная специфика микропрограммного конструирования:

  • В фазе декомпозиции, с одной стороны, снимаются какие-либо языковые ограничения на состав слов-инструкций и на их параметры, а с другой стороны, ужесточаются требования к микропрограммным алгоритмам их реализации, которые должны:
  • быть представлены в последовательной конвейерной форме, и все циклы должны завершаться "по счетчику", а не "по условию";
  • иметь явное описание управляющих процедур, с помощью которых задаются параметры преобразуемых операндов и потоков.
  • В фазе конструирования наиболее общими являются бит-инструкции, которые определены над "бесконечными" потоками данных, и поэтому их включение в состав слов-потоковых требует как минимум явного задания ограничений на разрядность и формат операндов, а также вытекающих из них параметров циклической обработки "бесконечных" бит-потоков данных.
  • В частности, бит-потоковая инструкция $$ADD(t+1) $$ отличается от слов-потоковой $$ADD(t+2+n*s)$$ тем, что в ней циклически обнуляется старший (буферный) разряд каждого операнда-приемника (рис. 4.1 - в условных обозначениях табл. 4.1):

    $$ADD(t+2+n*s) = AND[ADD(t+l), \overline{C^l_n(t + n*s) }],$$

    где:

  • $$ADD(t+1)$$ - определенная в (3.1) потоковая бит-инструкция "непрерывного" сложения двух "бесконечных" бит-потоков операндов-источников;
  • $$\overline{C^l_n (t -1 + n*s)}$$ - DD -ассоциативная "маскирующая" переменная, полученная инверсией (IC) циклической константы $$C^1_n(t + n *s)$$ вида: младший бит - "1", а $$(n -1)$$ старших бит - "0";
  • $$n*s$$ - "алгоритмический" фазовый сдвиг $$s$$ -го слов-операнда, заданного в последовательном коде, причем на уровне слов-инструкций целочисленный индекс $$s$$ изменяется от $$0$$ до $$\infty$$ и доопределяется до конечной величины $$N (s=\overline{0,(N -1)})$$ только в поток-операторе.
  • (рис 4.1) Топологическая схема микропрограммы потоковой слов-инструкции ADD

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

    Здесь и далее принят традиционный для конвейерной арифметики формат данных фиксированной запятой: старший $$n$$ -й бит - "буферный" разряд, $$(n-1)$$ -й бит - знаковый разряд $$(z)$$ и $$\overline{((и - 2),0)}$$ -е биты - мантисса, причем операнды подаются на входы операционных устройств младшим разрядом вперед, а "буферный" разряд препятствует распространению по потоку "паразитной" "единицы переноса" и поэтому принудительно обнуляется после каждого алгебраического сложения.

    Из (4.1) и рис. 4.1 видно, что в МКМД-бит-потоковых вычислительных технологиях:

  • основное назначение ассоциативных конструкций - это сверхоперативное управление взаимодействием пространственно-временных и изначально "бесконечных" бит-потоков данных с пространственно фиксированным на бит-матрице потоком бит-инструкций;
  • включение потоковых слов-инструкций в состав поток-операторов, так же как и включение бит-потоковых инструкций в состав слов-потоковых, требует явного задания циклов обработки, зависящих как минимум от $$N$$ и $$n$$ ;
    Условное графическое изображение бит-инструкций
    Ус ловное изображение Комментарий
    В канале АЛУ бит-процессора выполняется операция $$ADD$$ над операндами, поступающими на первом такте слева и снизу. Результирующий операнд выдается на 3 такте вправо. В канале транзита входной операнд поступает снизу на 1 такте и подается с задержкой на один такт вверх, а с задержкой на 3 такта - вниз
    В канале АЛУ бит-процессора выполняется операция $$ADD$$ над операндами, поступающими на первом такте слева и снизу. Результирующий операнд выдается на 3 такте вправо. В канале транзита входной операнд поступает снизу на 1 такте и подается с задержкой на один такт вверх, а с задержкой на 3 такта - вниз
    В канале АЛУ выполняется операция "запоминание единицей", в которой информационный операнд подается на 0 такте слева, а управляющий операнд - на 2 такте справа и, если он имеет вид циклической константы 00…01, то на выходе с дополнительной задержкой на 2 такта по отношению к управляющему входу запоминается содержимое ( $$n-3$$ )-го бита информационного операнда. Канал транзита не используется
    В каналах АЛУ и транзита выполняется слияние потоков по "ИЛИ" по правилу: $$x(t+1)\lor x(t+2)\lor x(t+3)$$, где $$\lor$$ - операция "ИЛИ", а результирующий операнд поступает на правый выход бит-процессора с задержкой на 1, 2 и 3 такта
    В канале АЛУ реализуется операция $$NOP$$, то есть он не используется, а в канале транзита входной операнд поступает слева и передается вправо с дополнительной задержкой на 2 такта, а вниз - с дополнительной задержкой на 1 такт
  • как и в нанометровых или супрамолекулярных вычислителях, управление в реальном времени сводится к блокаде "паразитных" взаимодействий, в данном случае - по циклически обрабатываемым операндам и потокам данных.
  • На уровне слов-инструкций, как правило, используется смесь PD -или DD -ассоциативных конструкций бит-процессорного уровня, что обусловлено природой МКМД-бит-потоковой организации вычислений, где неделимой единицей инициализации и обработки являются не отдельные слов-инструкции и операнды, а соответственно пространственно фиксированные потоки бит-инструкций и преобразуемые ими пространственно-временные потоки бит-данных (см. системообразующее неравенство (6.1) раздела 6.5 курса "Задачи и модели вычислительных наноструктур").

    Типичным представителем комплексного использования различных ассоциативных конструкций бит-процессорного уровня является потоковая слов-инструкция $$DCC(X^s_{n,c} (t+t_0), X^s_{n,d}(t))$$, циклически преобразующая потоковый операнд-источник $$X^s_{n,d}(t)$$, заданный в прямом коде ( DC ), в соответствующий ему потоковый операнд-приемник $$X^s_{n,c} (t+t_0)$$, заданный в дополнительном коде ( CC ).

    Потоковая слов-инструкция DCC выполняет PD -ассоциативное преобразование:

    $$X^s_{n,c}(t+t_0)= \begin{cases} DC(X^s_{n,d}(t)), \text{ если } z_{s}(t) = 0, \\ IC(X^s_{n,d}(t))+z_{s}(t), \text{ если } z_{s}(t) = 1. \end{cases}$$

    но над "непрерывным" потоком бит-данных, и делает это циклически по $$s$$ с фиксированной задержкой $$t _{0} > n$$. Здесь $$z^{s}$$ - знаковый разряд $$s$$ -го опе-ранда потока, причем целочисленный индекс $$s\in(1,+\infty)$$.

    Реализующие эту слов-инструкцию циклические по $$s$$ МКМД-бит-потоковые процедуры имеют вид:

    Шаг 1.1. Выделить и запомнить на $$n$$ тактов содержимое знакового разряда $$z^{s}$$ операнда-источника:

    $$Z^s_{n} [t_{1}+2 + n*(s +1)] := ST1[X^{s}_{n,d} (t_{l}+2 + n*s),C^{1}_n(t_{l}+n*(s +1))].$$

    Шаг 1.2. Инвертировать ( $$IC$$ ) циклическую константу $$C^1_n$$, с помощью которой пользователь (суб)процессора задает требуемую и, в общем случае, некратную 2 разрядность слов-операндов:

    $$IC[C^1_n(t_0+1+n*(s+1)]:=\overline{C^1_n(t_0+n*s)}$$

    Шаг 2.1. "Обнулить" старший разряд $$n$$ -битного знакового вектора $$Z $$:

    $$Z_{n-1}^s[t_2+2+n*(s+1)]:=Z_{n}^{s}[t_2+1+n*s)]\land\overline{C^1_n(t_2+n*s)}$$

    Шаг 2.2. "Обнулить" знаковый разряд операнда-источника:

    $$X_{n,d}^{\sim s}[t_3+3+n*s)]:=X_{n,d}^{s}[t_3+2+n*s)]\land\overline{C^1_n(t_3+n*s)}$$

    Шаг 2 3. Восстановить прямой код циклической константы $$C^1_n$$:

    $$DC[C^1_n(t_4+1+n*s)]:=IC[\overline{C^1_n(t_4+n*s)}]$$

    Шаг 3.1. Выполнить "условную инверсию" ( $$ICA$$ ) над модифицированным операндом-источником:

    $$ICA[X_{n,d}^{s}(t_5+1+n*s))]:=X_{n,d}^{\sim s}[t_5+n*(s+1)]\oplus Z_{n-1}^{s}[t_5+n*(s+1)]$$

    Шаг 3.2. Восстановить содержимое знакового разряда операнда-источника:

    $$z^s[t_6+1+n*(s+1)]:=Z_{n-1}^s[t_6+n(s+1)]\land C^1_n[t_6+n*(s+1)]$$

    Шаг 4.1. Сложить содержимое знакового разряда с "условной инверсией" операнда-источника:

    $$CC^{\sim}[X^{s}_{n,c}(t_{7}+l + n(s + l))] := z^{s}[t_{7}+n*(s + l)] + ICA[X^{s}_{n,d}(t_{7}+n*(s + l))]$$

    Шаг 4.2. Инвертировать содержимое знакового разряда операнда-источника:

    $$IC[z^{s} (t_{8} +1 + n * (s +1))] := \overline{z^{s}[t_{8} + n * (s +1)]}.$$

    Шаг 5.1. "Обнулить" содержимое буферного разряда операнда-приемника:

    $$CC[X^{s}_{n,c}(t_{9} + 2 + n * (s +1)] := CC^{\sim}[X^{s}_{n,c}(t_{9} +1 + n * (s + l))]\land\overline{z^{s}[t_{9} + n * (s +1)]}.$$

    Здесь $$t_i$$ - целочисленное время начала исполнения соответствующей МКМД-бит-потоковой процедуры.

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

  • В отличие от фон-неймановских ЭВМ, где под одним управляющим оператором, задающим параметры потоков данных (в данном случае это разрядность слов-операндов), по максимуму объединяются все слов-инструкции (под)программы, потоковые слов-инструкции являются вырожденными поток-операторами, в каждом из которых "глубина" информационного взаимодействия потоков данных принудительно ограничена задаваемой извне разрядностью операндов, а требования "непрерывной" обработки бит-потоков учтены фазовыми сдвигами типа $$n*s$$ или $$n*(s+1)$$. Сами фазовые сдвиги поддерживаются и строго контролируются локальными управляющими DD - и PD -ассоциативными конструкциями как внутри, так и между слов-инструкциями, входящими в поток-оператор, реализуемый проблемно-ориентированным МКМД-бит-потоковым (суб)процессором. Поэтому ассоциативные управляющие конструкции в таких вычислительных технологиях распределены по всем потоковым слов-инструкциям , представлены в явном виде в структуре их микропрограмм и существенно избыточны по сравнению с классическими фон-неймановскими технологиями, что видно из сравнения (4.2) и процедур "1.1"-"5.1".
  • Главная особенность потоковой обработки данных связана с необходимостью многократного использования однажды введенных в бит-матрицу или сформированных в ней данных, что с системотехнических позиций призвано снизить интенсивность обмена данными МКМД-бит-потокового (суб)процессора с внешней памятью. В результате приходится многократно восстанавливать управляющие циклические константы, что приводит к росту аппаратно-временных затрат на управление операционными модулями, в каждом из которых в явном виде задается разрядность преобразуемых операндов и/или цикл суммирования. Поэтому МКМД-бит-потоковые (суб)процессо-ры работают не в режиме трансляции поток-операторов пользователя, а в режиме интерпретации их микропрограммных модулей, каждый из которых содержит один или несколько блоков управления.
  • PD -ассоциативная конструкция шага "1.1" формирует циклически по ( $$s$$ ) $$n$$ -битный вектор знака $$Z_{n}^{s} $$, который управляет такой же конструкцией в " условной инверсии " (бит-инструкция $$XOR$$ ) шага "3.1", заменяющей оператор условного перехода в (4.2). В результате образуются линейные цепочки PD -ассоциативных преобразований, которые в нанометровых и супрамолекулярных вычислителях можно реализовать в совмещенном (во времени и пространстве) с вычислениями синтезе "рабочего тела" за счет высокодинамичных операций замещения (подстановки), управляемых в данном случае:
  • в процедуре "1.1" - циклической константой $$C^1_{n} $$, которая выделяет (стробирует, селектирует), а затем фиксирует на $$n$$ тактов выход бит-процессора (квантового субстрата), который отвечает за потоковое "хранение" содержимому знакового разряда $$z^{s}$$ операнда-источника;
  • в процедуре "3.1" - знаковым вектором $$Z_{n-1}^{s}$$, который в соответствии со своим содержимым выделяет и фиксирует на $$n$$ тактов квантовый субстрат, обеспечивающий прохождение (отражение) операнда-источника либо прямым транзитом, либо транзитом с инверсией.
  • DD -ассоциативные конструкции процедур "2.1", "2.2", "3.2" и "5.1" являются "маскирующими" и поддерживают предельный темп потоковой обработки в процедурах "3.1" и "4.1", который отвечает условию: $$\Delta T_k = n*х $$, где $$\Delta T_k$$ - период дискретизации потоков входных данных по Котельникову (см. раздел 1.5 курса "Задачи и модели вычислительных наноструктур").

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

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

    В идеале это предполагает поиск такой топологии связей между бит-инструкциями, в которой:

  • время "технологической" задержки между любыми попарно связанными процедурами из "1.1"-"5.1" равно 1 такту, то есть $$|t_i - t_{j} |$$ выполняется для всех информационно связанных пар $$(i, j)$$ бит-инструкций;
  • допустимое время задержки ( $$T _{0}$$ ) в (суб)процессоре максимально расходуется на "усложнение" реализуемого поток-оператора, что, хотя бы и косвенно, можно оценить: $$T _{0} = L*\tau_c $$, где $$L$$ - критический путь в микропрограмме поток-оператора, исчисляемый количеством тактов, затраченных на прохождение данных от самого "раннего" входа до самого "позднего" выхода.
  • Для иллюстрации сказанного на рис. 4.2 (в условных обозначениях табл. 4.1) приведены две топологические схемы потоковой слов-инструкции DCC для $$n = 16$$ бит. Из этого рисунка видно, что в схеме а расходуется 3x5 бит-процессоров c временем задержки 26 тактов, а в схеме б соответственно 4x4 бит-процессора и 25 тактов, из которых только 14 являются алгоритмическими, так как компенсируют объективную для последовательной арифметики задержку между "нулевым" и знаковым битами операнда.

    В потоковой слов-инструкции DCC коэффициент использования структурно-функциональных возможностей заранее изготовленной бит-матрицы не превышает 50 % (см. рис. 4.2-а и табл. 4.2), причем ее коммутационные возможности использованы на 58 %, а операционные - на 38,3 %. Подобное соотношение между используемыми и предоставляе мыми в СБИС Н1841 ВФ1 структурно-функциональными возможностями достаточно типично для известных потоковых слов-инструкций.

    (рис 4.2) Т опологические схемы микропрограммы потоковой слов-инструкции DCC(рис 4.2) Т опологические схемы микропрограммы потоковой слов-инструкции DCC
    Процент использования структурно-функциональных возможностей бит-матрицы при выполнении слов-инструкции DCC
    ij операций пересылок ij операций пересылок ij операций пересылок ij операций пересылок ij операций пересылок
    1,1 1 2 1,2 2 2 1,3 1 1 1,4 1 2 1,5 1 1
    2,1 1 2 2,2 2 3 2,3 1 2 2,4 1 3 2,5 1 1
    3,1 3 2 3,2 2 1 3,3 3 2 3,4 3 2 3,5 0 0
    всего 5 6 6 6 5 5 5 7 2 2
    Итого
    Возможных Использованных Процент использования
    операций пересылок операций пересылок операций пересылок
    4*15=60 3*15=45 23 26 38,3 58
    Структурно-функциональных возможностей: (23+26)7(7* 15)=49/105 $$\approx$$ 46,7<50%

    Из сравнения (4.2) и процедур "1.1"-"5.1" видно, что только 3 бит-процессора принимают непосредственное участие в преобразовании

    "прямой код - дополнительный", и реализуют они процедуры "1.1", "3.1" и "4.1", из которых только первые две являются PD -ассоциативными. Отсюда можно заключить, что в МКМД-бит-потоковых вычислительных технологиях аппаратно-временные затраты на DD - и PD -ассоциативное управление потоками данных в темпе реального времени, а вместе с ними и всем вычислительным процессом превосходят не менее чем в 2-5 раз затраты на функционально значимые для пользователя преобразования, часть из которых также представима в ассоциативном виде.

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

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

    4.2. Базовая архитектура МКМД-бит-потоковых субпроцессоров и неоднородные двухуровневые вычислительные комплексы на их основе

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

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

    бит-инструкции, которую каждый бит-процессор исполняет в течение всего времени активности $$j$$ -го поток-оператора: $$T^{j}_0 +T_{d}^{j} $$.

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

    При микропрограммном конструировании МКМД-бит-потоковых (суб)процессоров в качестве базовой обычно используется расширенная гарвардская архитектура (рис. 4.3) с независимыми шинами команд ( P -шина), данных ( D -шина) и адресов ( A -шины) и с RISC -подобной системой команд, в которой все основные и вспомогательные ассемблерные инструкции после вхождения (суб)процессора в конвейер выполня-

    (рис 4.3) Базовая архитектура МКМД-бит-потокового (суб)процессора

    ются с одним и тем же циклом $$\tau_{c} = n*\tau$$, где $$\tau$$ - цикл работы бит-матрицы, а $$n$$ - разрядность арифметики.

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

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

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

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

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

    (рис 4.4) Конструктивная схема FIFO-регистровой шлейф-шины

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

    (рис 4.5) Структурная схема неоднородного двухуровневого комплекса (Б)ВС

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

    4.3. Ассоциативные конструкции в базовой системе команд МКМД-бит-потокового (суб)процессора векторно-матричной обработки

    В современных задачах цифровой обработки сигналов и изображений темпа реального времени [70] доминируют векторно-матричные преобразования, операционное ядро которых образует скалярное произведение (свертка)

    $$L(X^{s}_n,Y^s_n)=\sum\limits_{s=1}^{S_n}{X_n^s*Y_n^s}$$

    двух векторов $$X_n^s$$ и $$Y_n^s$$ размерности $$S_m$$ и разрядности $$n$$. В результате упрощенная функциональная схема операционного устройства цифровых процессоров обработки сигналов принимает вид рис. 4.6, где все блоки реализованы аппаратно.

    (рис 4.6) Упрощенная функциональная схема операционного устройства цифровых процессоров обработки сигналов

    В векторно-конвейерной арифметике умножение можно выполнить в прямом коде над абсолютными значениями входных векторов $$| U^{s}_{2(n-2)}| = |X_{n-2}^s|*| Y_{n-2}^s | $$ с последующим присвоением знака $$z_u = z_x \oplus z_y$$ результату $$U^{s}_{2n} $$, где все операнды имеют традиционный для МКМД-бит-потоковой организации вычислений формат фиксированной запятой с "нулевым" старшим разрядом и следующим за ним знаковым разрядом. В этом случае:

    $$|U^{s}_{2(n-2)}| = \sum\limits_{j=1}^{n-2}{(x_i^s\bigwedge\limits_{i=1}^{n-2}{y_j^s})*2^{j-1}}$$

    где $$x_i^s\in|X_{n-2}^s|$$, $$y_j^s\in|Y_{n-2}^s|$$ i,j = \overline{1,n-2} - содержимое бит ( $$n - 2$$ )-разрядных модулей множимого $$| X^{s}_{n-2}|$$ и множителя $$| Y^s_{n-2}|.$$

    Отвечающая (4.3) схема МКМД-бит-потокового (по $$s = (1,\infty)$$ конвейерного умножителя (рис. 4.7) работает в соответствии с ассоциативным алгоритмом: для всех $$y^{s}_j\in |Y^{s}_{n-2}|:$$

    $$u_{ij}^s(t_0+(s-1)+i+j) = \begin{cases} u_{i}^s(t_0+(s-1)+i+(j-1)) + x_{i}^s(t_0+(s-1)+i+j), \text{ если } y_{j} = 1, \\ u_{i}^s(t_0+(s-1)+i+(j-1)), \text{ если } y_{j} = 0. \end{cases}$$

    где $$u_{ij}^s(t_0+(s-1)+i+j) \in |U_{(n-2)+j}^s(t_0+(s-1)+i+j)|$$, а множитель $$2^{j-1}$$ реализуется пошаговым наращиванием временного сдвига на $$(j-1)$$ тактов по отношению к накапливаемой сумме частных произведений.

    Здесь: $$U_{n-2}^s(t_0+s-1)= const(s) \equiv 0$$, а $$t_{0}$$ - целочисленное время начальной задержки поступления потоков $$| X^{s}_{n-2}|$$ и $$| Y^{s}_{n-2}|$$ на входы умножителя.

    Отвечающая (4.4) топологическая схема DD -ассоциативного МКМД-бит-потокового умножителя приведена на рис. 4.7, и в ней:

  • $$s$$ -й цикл работы продолжительностью $$2n$$ тактов задается циклической константой $$C_{2n-1}$$ вида: первый справа (младший) бит - "единица", а остальные $$(2n-1)$$ бита - "нули", которая распространяется по каналам транзита первой строки бит-процессоров с задержкой на 2 такта в каждом и передается вниз с задержкой на 1 такт в каждом столбце бит-матрицы;
  • поток множителей $$| Y^{s}_{n}|$$ (в каждом из которых $$(n-2)$$ младших бита - значащие, а остальные - "нули") распространяется по каналам транзита бит-процессоров 2-й строки (с задержкой на 1 такт в каждом);
  • содержимое $$j$$ -го бита $$y_j^s$$ запоминается циклически (по $$s$$ ) на $$2n$$ тактов и с выхода бит-инструкции ST1 передается вниз с задержкой на 2 такта (см. табл. 5.8 курса "Задачи и модели вычислительных наноструктур") в соответствующем $$j$$ -м столбце бит-матрицы;(рис 4.7) Топологическая схема микропрограммы DD-ассоциативной слов-инструкции умножения (MLTDD)
  • поток множимых ? $$| X^{s}_{2n}|$$ формата: ( $$n-2$$ ) бит - значащие, а остальные - "нули", распространяется по каналам транзита бит-процессоров 3-й строки с задержкой на 2 такта в каждом и через бит-инструкцию $$AND$$ ответвляется вниз в каждом столбце бит-матрицы;
  • операция "сдвиг - сложение" $$s$$ -го множимого с самим собой (в зависимости от содержимого $$j$$ -го бита соответствующего $$s$$ -го множителя) реализуется в бит-процессорах 4-й строки бит-матрицы, причем операция сдвига на 1 разряд в каждом столбце осуществляется за счет дополнительной задержки множимого на 1 такт по отношению к моменту поступления соответствующей суммы частных произведений.
  • В этой схеме время начальной задержки равно ( $$n-2$$ ) цикла изменения индекса $$i$$, а аппаратные затраты на FIFO -регистровую память зависят от $$n$$ линейно: 1-я строка - $$2(n _{2})$$ бит, 2-я строка - $$4(n _{2})$$ бит, 3-я строка - $$3(n _{2})$$ бит, 4-я строка - $$2(n _{2})$$ бит, что в сумме дает $$11(n _{2})$$ бит.

    Однако скорость приращения индекса $$s$$ равна $$2n$$ циклам изменения индекса $$j$$.

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

    В схеме конвейерного умножителя рис. 4.7:

  • регистр $$X$$ является виртуальным и соответствует времени задержки $$i$$ -го бита, множимого на соответствующем входе (первый бит-процессор 3-й строки бит-матрицы);
  • регистр $$Y$$ формируется бит-процессорами 2-й строки бит-матрицы (выходы бит-операций ST1);
  • регистр $$U$$ также является виртуальным и соответствует времени задержки $$i$$ -го бита произведения на выходе последнего бит-процессора 4-й строки бит-матрицы.
  • Входящий в состав операционного устройства рис. 4.6 МКМД-бит-потоковый DD -ассоциативный сумматор-накопитель реализуется совместно с аккумулятором (рис. 4.8), и в нем:

  • входной операнд $$U^{s}_{2n}$$ имеет разрядность $$2n = 16$$ бит, а размерность результирующей матрицы равна $$m*3$$ элемента;
  • входной операнд $$R_{3m}$$ является управляющим, задает период накопления частных произведений и имеет вид циклической константы, в которой $$3*16 = 48$$ бит - "единица", а остальные $$(m-1)*3*16$$ бит - "нули";
  • входной операнд $$\overline{C^2_{n}1}$$ является циклической константой вида: младший бит - "ноль", а остальные 15 бит - "единица", которая используется для обнуления буферных разрядов в 3-х накапливаемых частных суммах.
  • (рис 4.8) Топологическая схема DD-ассоциативного сумматора-накопителя для умножения матриц 3*3 (n = 16 бит) (ADDA(DD))

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

    $$a_{11}*<b_{11}, b_{12}, …, b_{1Sm}> \\ +\,\,\,\,\,+\,\,…\,\,+\\ a_{12}*<b_{21}, b_{22}, …, b_{2Sm}> \\ +\,\,\,\,\,+\,\,…\,\,+\\ ……………………\\ a_{1Sm}*<b_{Sm1}, b_{Sm2}, …, b_{SmSm}> \\ =\,\,\,\,\,=\,\,…\,\,=\\ <c_{11}, c_{12}, …, c_{1Sm}>\\ \\ \\ a_{21}*<b_{11}, b_{12}, …, b_{1Sm}> \\ +\,\,\,\,\,+\,\,…\,\,+\\ a_{22}*<b_{21}, b_{22}, …, b_{2Sm}>\\ +\,\,\,\,\,+\,\,…\,\,+\\ …………………… \\ (4.5) a_{2Sm}*<b_{Sm1}, b_{Sm2}, …, b_{SmSm}>\\ =\,\,\,\,\,=\,\,…\,\,=\\ <c_{21}, c_{22}, …, c_{2Sm}>\\ \\ \\ ……………………… \\ \\ \\ a_{Sm1}*<b_{11}, b_{12}, …, b_{1Sm}> \\ +\,\,\,\,\,+\,\,…\,\,+\\ a_{Sm2}*<b_{21}, b_{22}, …, b_{2Sm}> \\ +\,\,\,\,\,+\,\,…\,\,+\\ ........................\\ a_{SmSm}*<b_{Sm1},b_{Sm2}, …, b_{SmSm}> \\ =\,\,\,\,\,=\,\,…\,\,=\\ <c_{Sm1},c_{Sm2}, …, c_{SmSm}>$$

    В МКМД-бит-потоковых сопроцессорах цифровой обработки сигналов алгоритм (4.5) реализуется следующим образом:

  • "быстрые" переменные $$\{b^{s}_{jk} \}_m$$ образуют бит-поток множимых $$X^s_m =\{b^{s}_{jk} \}_m $$, в котором индекс $$s$$ изменяется с циклом $$m = 2n + lg_2{S_m}$$ ; "медленные" переменные $$\{a^{s}_{ij}\}_m$$ образуют бит-поток множителей $$Y^s_n :=\{ a_{ij}^{s} \}_n$$, в котором индекс $$s$$ изменяется с циклом $$S_m*m$$, а каждая $$a_{ij}^s$$ "хранится" в теле микропрограммы такое же время;
  • суммирование ведется по столбцам соотношения (4.5), в которых находятся частные произведения $$a_{ij}^s * b_{jk}^s$$, причем накопление суммы значения $$c^s_{ik}$$ осуществляется с помощью одного сумматора с FIFO-регистровым аккумулятором разрядности $$S_{m}*m$$.
  • Одно из главных преимуществ МКМД-бит-потоковых вычислительных технологий - это возможность варьировать разрядностью, а значит, и точностью непосредственно во время вычислений. Достигается это за счет высокой скорости генерацией микропрограмм соответствующих операционных устройств, что обеспечивается очень простыми алгоритмами рекуррентного наращивания микропрограмм, зависящих в данном случае от параметров результирующих потоков данных $$n$$ и $$N $$.

    Действительно, при увеличении разрядности множимого в умножителе (см. рис. 4.7) необходимо соответственно изменить только вид циклической константы $$C_{2n}1$$, а при увеличении разрядности множителя умножитель необходимо нарастить соответствующим числом столбцов, которые называются термами. Такой термальный синтез применим и к сумматору-накопителю, в котором варьируемым является только размер аккумулятора, а схемы суммирования и управления периодом накопления остаются неизменными (см. рис. 4.8). В этом случае достаточно использовать ограниченное число термов расширения разрядности аккумулятора и, в частности, терм рис. 4.8-б, если шаг наращивания составляет 18 бит. Этот терм пристраивается справа как столбец бит-матрицы рис. 4.8. Его также можно использовать и при увеличении разрядности данных в слов-инструкции DCC рис. 4.2, которая используется в схеме рис. 4.6 при сопряжении умножителя, работающего в прямом коде, с сумматором-накопителем, работающем в дополнительном коде.

    4.4. Методы и средства компенсации системных временных издержек в МКМД-бит-потоковых субпроцессорных трактах

    Неравенство (6.1) курса "Задачи и модели вычислительных наноструктур", задающее условия эффективного использования МКМД-бит-потоковых субпроцессоров $$T_{\beta}^{p} + T_{\beta}^{c} \prec\prec T_{\beta}^{d}$$, обеспечиваются на этапе их синтеза (формирования потока (бит)инструкций) за счет высокой структурно-функциональной и (микро)программной гибкости и с учетом системотехнических возможностей используемой аппаратуры на этапах распределения (загрузки в бит-матрицу) и оперативного управления потоками инструкций в процессе вычислений.

    Это неравенство говорит о том, что главная цель проекта - это поддержание темпа реального времени (РВ) за счет пренебрежимо малых (по сравнению с временем $$T_{\beta}^{d}$$ непрерывного (циклического) использования каждого $$\beta$$ -поток-оператора) системных временных издержек на одно-кратное программирование $$T_{\beta}^{p}$$ и вхождение в конвейер $$T_{\beta}^{c}$$ алгоритмически ориентированного МКМД-бит-потокового субпроцессора, что справедливо и для нейрокомпьютеров.

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

    Реализация этих принципов и методов:

  • Сводит схемо- и системотехническое проектирование проблемно-и алгоритмически ориентированных МКМД-бит-потоковых субпроцессоров к их программному конструированию, которое сходно с кремниевой компиляцией заказных СБИС или УБИС. Главное отличие этих технологий состоит в оперативности исполнения проекта, так как готовая топологическая схема компоновки слов- и поток-инструкций загружается в МКМД-бит-матрицу через каналы ввода-вывода (микро)программ [138-141] и поэтому время такой структурно-функциональной адаптации субпроцессора несопоставимо с циклом производства заказных СБИС.
  • Приводит к прямой аппаратурной эмуляции на МКМД-бит-процессорной матрице поток-операторов пользователя, используемых им в качестве макрорасширений языка любого уровня иерархии. При этом настройка МКМД-бит-процессорной матрицы на активный поток-оператор осуществляется методом интерпретации, а не трансляции отвечающей ему слов-программы, представленной в микропрограммном виде, что является необходимым условием высокодинамичного парирования карт частичных и/или полных отказов бит-процессоров за счет толерантного (пере)размещения рабочего тела микропрограммы.
  • Делает практически независимыми факторы, ограничивающие темп РВ по потокам данных, и "сложность" решаемой задачи, так как в этом случае теорема Котельникова регламентирует только темп $$(\Delta T_{k} = n^{d} * \tau)$$ поступления (восприятия) данных и (согласно второму принципу) равный ему темп исполнения слов-инструкций. В то же время критический путь $$( L_{\beta}^{p})$$ программы, реализующей поток-оператор пользователя, регламентируется допустимым временем задержки в субпроцессоре$$T_0\ge T_{\beta}^{c}=\sum\limits_{i(\beta)}{ T_{i(\beta)}^{c}}$$

    где $$n^{d}$$ - разрядность последовательной (конвейерной) арифметики, $$\tau$$ - цикл синхронной работы бит-матрицы, а $$T^{c}_{i(\beta)}\ge = n^{d} * \tau$$ - варьируемое по $$i(\beta) = \overline{1, L_{\beta}^{p}}$$ время задержки в одной слов-инструкции.

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

  • Достаточно инерционное (микро)программирование используется относительно редко и только для значимых структурно-функциональных и топологических изменений, вызванных либо переходом к другому активному поток-оператору, либо парированием действующей карты отказов.
  • Реконфигурация графа связности слов-инструкций и изменение их параметров (разрядность и количество слов в циклически обрабатываемом потоке, база и шаг смещения адреса в ОЗУ, инкрементный или декрементный законы адресации и т. п.) используются для оперативной адаптации ранее активизированного поток-оператора к одной из возможных и вложенных в него вычислительных схем.
  • Ассоциативное взаимодействие пространственно фиксированного потока бит- и слов-инструкций с потоками данных поддерживает сверхоперативную адаптацию вычислительной схемы субпроцессора, что свойственно обработке в ассоциативной памяти инструкций, а не данных.
  • Синтез топологической схемы каждого поток-оператора проводится априори, не в темпе реального времени и включает нисходящую декомпозицию до слов-инструкций и восходящее программное конструирование слов- и поток-инструкций в фиксированном базисе бит-инструкций и с учетом "ортогональных" ограничений на их пространственно-временное информационное взаимодействие (см. далее рис. 5.1).
  • (Микро)программные средства обнаружения отказов (см. далее рис. 6.2) являются проблемно- и алгоритмически ориентированными, реализуются за счет аппаратурного ресурса той же бит-матрицы, активизируются вместе с поток-оператором, входя в его состав как неотъемлемый атрибут, и реагируют на функциональный, а не аппаратный отказ, что увеличивает латентный период его обнаружения, но снижают вероятность ложной тревоги, если отказ произошел в аппаратуре, неиспользуемой активным поток-оператором.
  • (Микро)программные средства локализации отказов (см. далее рис. 6.2) являются системными, инициализируются в режиме разделения времени с поток-операторами пользователя и используют тестируемую бит-матрицу в ОКМД-режиме, что снижает гиперкомбинаторную размерность пространства диагностики $$(B)$$ до количества состояний регистра бит-инструкций одного бит-процессора $$В(ОКМД)=2^{R}$$ вместо $$В(МКМД)=2^{R*I*J} $$, где $$R\ge 6$$ - разрядность регистра бит-инструкции, а $$I,J$$ - размеры бит-матрицы, причем $$I*J \succ 10^{3}$$.
  • (Микро)программные средства парирования карт отказов (см. далее рис. 6.2) не требуют кратного резервирования, толерантно деформируют заранее заданную топологическую схему поток-оператора (срезы, кручения, растяжения и т. п. локальные и глобальные аффинные преобразования рабочего тела микропрограмм [22]) и могут быть выполнены по схеме взаимного ремонта, в которой одна бит-матрица используется для толерантных деформаций микропрограммы другой бит-матрицы.
  • Из приведенных данных видно, что МКМД-бит-процессорная технология не нарушает базовых принципов и методов фон-неймановской организации вычислений с той разницей, что на разных стадиях проектирования и работы неделимой единицей проекта в ней считаются аппарат-но реализованные:

  • поток-инструкции - при проектировании и работе в нормальном режиме,
  • слов-инструкции - при программном конструировании и парировании отказов,
  • бит-инструкции - при локализации отказов.
  • Поэтому такая технология практически не ограничивает традиционные алгоритмические, системотехнические и конструктивно-технологические методы и средства минимизации системных временных издержек в (6.1) курса "Задачи и модели вычислительных наноструктур".

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

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

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

    Так, при $$T_{\beta+1}^{p} + T_{\beta+1}^{c} \le T_{\beta+1}^{d}$$ МКМД-бит-потоковые субпроцессоры можно выполнить по парафазной схеме (рис. 4.9), в которой фазы загрузки (микро)программы (сигнал $$УВП = 1$$ ) и вхождения в конвейер одной бит-матрицы совмещены по времени с фазой циклической обработки потоков данных в другой бит-матрице, то есть никогда не выполняется условие $$УВП(1) = УВП(2)$$. В результате абсолютные системные временные издержки всего вычислительного процесса определяются (в идеале) временем $$T_{1}^{p} + T_{1}^{c}$$ программирования и вхождения в конвейер при выполнении субпроцессором первого поток-оператора, а относительные временные издержки стремятся к нулю с ростом числа $$\beta$$ активизированных поток-операторов.

    (рис 4.9) Структурная схема парафазного МКМД-бит-потокового субпроцессора

    При $$T_{\beta+1}^{p} \le T_{\beta+1}^{c}$$ МКМД-бит-потоковые субпроцессоры можно выполнить по волновой схеме (рис. 4.10), в которой фаза загрузки (микро) программы в последующую бит-матрицу совмещена по времени с фазой вхождения в конвейер другой бит-матрицы. В этой схеме абсолютные системные временные издержки всего вычислительного процесса (в идеале) равны времени загрузки в бит-матрицу микропрограммы первого поток-оператора пользователя.

    Конструктивно-технологические методы минимизации системных временных издержек используют возможности:

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

    С помощью сверхпараллельных шин инструкций, обеспечивающих в пределе прямой параллельный доступ к регистрам инструкций каждого бит-процессора, время программирования в (6.1) курса "Задачи и модели вычислительных наноструктур" можно свести к одному такту работы бит-матрицы, что, как и в нейрокомпьютерах, требует нетрадиционной организации ОЗУ инструкций, при которой "ширина" выборки может достичь размеров $$R*I*J > 16*10^{3}$$ бит, а "глубина" адресации определяется количеством $$\beta$$ -поток-операторов, закрепленных за конструктивно независимой бит-матрицей.

    В современной вычислительной технике максимально параллельные шины инструкций и/или данных реализуются в оптоэлектронных ВС на основе произвольно коммутируемые оптоэлектронные вентильные матрицы (ПК ОЭВМ [228]), которые отличаются от МКМД-бит-процессорных матриц следующим: 1. Разработчику оптоэлектронного (суб)процессорного тракта доступен

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

  • Архитектура оптоэлектронных субпроцессоров (рис. 1.14 раздела 1.7 курса "Задачи и модели вычислительных наноструктур") базируется на прямом ассоциативном взаимодействии потоков инструкций и данных, циркулирующих между центральным процессором на ПК ОЭВМ и голографической памятью, выполненной по ПЗУ-технологии [228].
  • Управление ходом вычислительного процесса по потоку инструкций является безрегистровым и осуществляется:
  • во времени - с точностью до 1-го вентильного такта;
  • в пространстве - высокодинамичной коммутацией выходов-входов вентилей на каждом такте, причем сами вентили внутри ОЭВМ не имеют информационных связей.
  • Согласно [214], оптимальная пространственно-временная система коммутации представляет собой иерархию подсистем:

  • с пространственно инвариантными и, как правило, локально компактными связями;
  • с пространственно переменными, которые допускают еще и глобальные неоднородные связи.
  • С учетом этих особенностей в ПК ОЭВМ:

  • Из схемы бит-процессора можно исключить (см. рис 3.1(рис 4.11) Глобальная схема управления произвольно коммутируемой оптоэлектронной вентильной матрицей
  • Глобальную схему управления (рис. 4.11) оптоэлектронным субпроцессором можно сделать адекватной схеме 3-уровневой декомпозиции, где:
  • первая голограмма поддерживает поток-процессорный уровень управления, активизируемый при переходе от одного поток-оператора к другому;
  • вторая голограмма поддерживает слов-процессорный уровень управления с неизменной топологией связей бит-процессоров, принадлежащих одной и той же слов-инструкции, и с переменной топологией связей между разными слов-инструкциями, модификация которых и обеспечивает переход от одной поток-инструкции к другой;
  • третья голограмма поддерживает бит-процессорный уровень управления с неизменной топологией связей составляющих вентилей в соответствующем типе бит-процессоров.
  • Такая схема управления соответствует технологии структурной реконфигурации оптоэлектронного поток-процессора, которая эффективна в случае, если голографическая память выполнена по технологии ППЗУ. Благодаря 3-уровневой декомпозиции удается управлять ПК ОЭВМ из 107 вентилей, на которой можно разместить в произвольном порядке и в соответствии с задаваемой разработчиком гистограммой различные по функциям бит- и слов-инструкции. При этом каждый уровень управления способен поддерживать библиотеки из 50-100 типов бит-, слов- и поток-инструкций [214]. Это разнообразие проблемно-ориентированного языка программирования покрывают потребности программистов в широком классе задач цифровой обработки сигналов и изображений.

    При такой оптоэлектронной реализации из структурно-функциональной схемы бит-процессора рис. 3.2 исключаются:

  • регистр бит-инструкции и триггеры D1 и D5 в канале АЛУ, функции которых выполняют ячейки голографической памяти (см. рис. 1.14 курса "Задачи и модели вычислительных наноструктур");
  • все входные и выходные коммутаторы, функции которых выполняет разветвленная проекционная система отображения выходов неском-мутированной оптоэлектронной вентильной матрицы на голографи-ческую память и аналогичная проекционная система, выполняющая обратное отображение.
  • В этом случае D -триггеры задержки нужны только в канале транзита и при необходимости реализации дополнительной задержки в канале АЛУ. В результате схема структурно адаптируемого через голографическую память оптоэлектронного бит-процессора принимает вид рис. 4.12, на которой все виртуальные блоки обозначены пунктирными линиями, так как их функции реализуются системными средствами оптической коммутации и голографической памятью.

    (рис 4.12) Структурная схема оптоэлектронного бит-процессора

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

    (рис 4.13) Логический блок АЛУ бит-процессора при выполнении бит-инструкции ADD

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

    (рис 4.14) Оптоэлектронное исполнение логического блока АЛУ бит-процессора при выполнении бит-инструкции ADD

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

    Триггер дополнительной задержки в канале АЛУ оптоэлектронного бит-процессора в основном играет системную функцию, делая стандартным 4-тактный цикл обращения к голографической памяти. Схема микроэлектронного двухполупериодного D -триггера рис. 4.15 в опто-электронном исполнении (рис. 4.16) требует всего двух вентилей, которые последовательно используются в течение четырех тактов работы, формируя соответствующее выходное состояние Q. При этом следует учесть, что в цепях прямой и обратной связи стоят ячейки голографической памяти, обеспечивающие задержку на 1 такт.

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

    (рис 4.15) Логическая схема двухполупериодного D-триггера(рис 4.16) Логическая схема оптоэлектронного двухполупериодного D-триггера

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

  • первой строки, где задействованы только каналы транзита, необходимо израсходовать по 2 оптоэлектронных вентиля на каждый D-триггер с четырьмя тактами задержки в каждом;
  • второй строки, где используется канал АЛУ с функцией ST1 и канал транзита с задержкой на 1 такт, необходимо израсходовать 8 оптоэ-лектронных вентилей, из которых 4 - на само АЛУ, 2 - на триггер задержки в канале АЛУ для выполнения операции ST1 и 2 - на триггер канала транзита;
  • третьей строки, где используется канал АЛУ с функцией AND и канал транзита с задержкой на 2 такт, необходимо израсходовать 6 оптоэлектронных вентилей, из которых 4 - на само АЛУ и 2 - на два триггера канала транзита;
  • четвертой строки, где задействованы только каналы АЛУ с функцией ADD, необходимо израсходовать 4 оптоэлектронных вентиля. Таким образом, на 1 терм конвейерного умножителя (1 столбец рис. 4.7) необходимо затратить 20, а на весь 32-битный умножитель - 640 оптоэлектронных вентилей, что сравнимо с затратами на 2 микроэлектронных бит-процессора
  • Отсюда следует, что оптоэлектронные методы и средства структурной адаптации бит-процессоров позволяют в каждом бит-процессоре микропрограммы использовать те и только те структурно-функциональные возможности бит-процессоров, которые требуются в данной точке бит-матрицы. Это практически полностью исключает свойственную микроэлектронным бит-процессорам структурно-функциональную, а значит, и аппаратную избыточность, что позволяет снизить аппаратные затраты на оптоэлектронные субпроцессоры в десятки и сотни раз.

    С позиций реального времени в оптоэлектронном конвейерном умножителе в 4 раза больше расходуется тактов по сравнению с микроэ-

    лектронным умножителем: $$\Delta T_k =128 \tau_m$$, $$\tau_m$$ - такт работы оптоэлектронной бит-матрицы, который может быть на несколько порядков меньше, чем у микроэлектронной бит-матрицы.

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

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

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

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

  • вытекающая из условий реального времени решаемых задач пропускная способность по потокам инструкций (производительность - $$P^{C}(I)$$ ) (и/или данных - $$P^{C}(D)$$ ) должна намного превосходить предоставляемую отдельным (бит)процессором физическую пропускную способность по потокам инструкций ( $$P^{PH}(I)$$ ) (и/или данных - $$P^{PH}(D)$$ ): $$P^{C}(I) \gg P^{PH}(I)$$ ;
  • "время жизни" (сверх)многопроцессорной (Б)ВС должно быть на 1-2 порядка больше времени наработки на один отказ одной комплектующей СБИС;
  • (сверх)многопроцессорная (Б)ВС должна быть абсолютно устойчивой по своим вычислительным характеристикам, то есть она должна вносить нулевой вклад в абсолютную и/или относительную погрешность вычислений по отношению к погрешности представления исходных данных.
  • Из перечисленных требований первое является доминирующим, так как при $$P^{C}(I) < P^{PH}(I)$$ обычно имеется достаточный аппаратно-временной резерв, чтобы удовлетворить два оставшихся требования с использованием хорошо отработанных традиционных методов и средств аппаратно-временной избыточности. Специфика работы (Б)ВС для боевых ЛА как раз и состоит в том, что подавляющее большинство решаемых задач выдвигает к оборудованию полный комплекс перечисленных выше противоречивых требований, проявляющийся в жесткой "борьбе" за общий аппаратно-временной ресурс (Б)ВС. Поэтому в условиях прототипирования, где решающую роль играет качество синтеза прообраза создаваемого ЛА, такую же решающую роль играет точная и достоверная оценка потребной и предоставляемой производительности на самых ранних этапах проведения проектных работ. Но хроническая проблема всей вычислительной техники как раз и состоит в том, что, отталкиваясь от формальных моделей решаемых задач, точно и достоверно можно определить только прямые алгоритмические затраты некоторой абстрактной вычислительной машины, способной выполнить полный набор требуемых арифметико-логических действий и управляющих процедур, связанных с порядком перечисления

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

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

    В МКМД-бит-потоковых вычислительных технологиях такая взаимозависимость между потоками инструкций и данных не устраняется, а только разрывается за счет того, что в ней аппаратно поддержаны только поток-операторы с линейным (инкрементным) порядком перечисления потока ассемблерных слов-инструкций с заранее известным количеством циклов их исполнения. Нелинейный и зависящий от содержимого обрабатываемых данных порядок перечисления реально исполняемых ассемблерных слов-инструкций реализуется на уровне задач, где неделимой единицей управления являются исполняемые поток-операторы и циклически преобразуемые ими потоки данных. В рамках активизированного поток-оператора порядок исполнения слов-инструкций строго задан, а количество циклов их исполнения задается по счетчику, а не по условию. При этом количество циклов исполнения самого поток-оператора считается бесконечным, а переход к другому поток-оператору может быть осуществлен по условию, проверяемому контроллером (суб)процессорного тракта после каждого цикла исполнения поток-оператора над выборкой из $$N$$ $$n$$ -битных данных (см. рис. 4.5), то есть с достаточно продолжительным периодом из $$N*n \gg 1$$ тактов.

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

  • Отталкиваясь от формализованного алгоритма и архитектуры абстрактной вычислительной машины, оценить количество операций, затрачиваемых на реализацию основных, управляющих и коммутационных функций.
  • Опираясь на полученное распределение операционных затрат, откор-ректировать абстрактную базовую архитектуру так, чтобы обеспечить равную продолжительность цикла (в числе тактов) исполнения всех процедур, используемых при выполнении основных, управляющих и коммутационных функций.
  • Представить в потоковом виде вычислительный алгоритм для всех операционных, управляющих, адресных и коммутационных процедур, с явным указанием требуемого уровня векторно-конвейерного распараллеливания для каждой из них.
  • Используя библиотеку стандартных слов-инструкций, синтезировать топологию микропрограмм для всех поток-операторов решаемой задачи и на ее основе определить аппаратно-временные затраты и время задержки в (суб)процессоре.
  • Оценить полученные в пункте 4 результаты в целом для комплекса БЭО и всего ЛА и при необходимости повторить шаги 1-5 с модифицированной алгоритмической и векторно-конвейерной схемой распараллеливания вычислений.
  • Отличительная особенность МКМД-бит-потоковых технологий состоит в том, что они позволяют в таком итеративном процессе последовательного приближения предоставляемой производительности к требуемой достаточно быстро модифицировать не только архитектуру синтезируемого (суб)процессора, но и микропрограммные процедуры исполнения всех используемых слов-инструкций, состав и порядок реализации которых в остальных, в том числе и в RISC -технологиях, неизменен.

    Таким образом, целевую функцию итеративного процесса проектирования МКМД-бит-потоковых субпроцессоров можно представить: $$P^{PH}(I) \to P^{C} ( I)$$, а интерактивные методы и средства достижения этой цели в качестве ограничений используют структурно-функциональные возможности бит-процессоров и схемотехнические характеристики комплектующих СБИС.

    В качестве примера оценим потребную производительность при решении задачи медианной фильтрации [290] исходного изображения размером $$N*N$$ полутоновых черно-белых пикселей $$x_{ij}$$ "скользящим окном" $$М*М$$ (рис. 4.17 ). Медианный фильтр является частным случаем рангового фильтра и реализует преобразование подстановки центральному элементу "скользящего окна" исходного изображения $$х^{rc}_{ij}$$ значение $$\hat{х}_{rc} = med\{ х^{rc}_{ij}\}$$, вычисленное по всем $$x_{ij}\in\{ х^{rc}_{ij}\}$$, где $$med\{ х^{rc}_{ij}\}$$ - центральный элемент упорядоченной последовательности $$\{ х^{rc}_{ij}\}$$. С помощью такого

    фильтра выделяется маскирующая "точечная" (импульсная) помеха, когда за "точку" принимается любая пространственная композиция пикселей внутри "скользящего окна" суммарным размером $$]М*М/2[$$, обладающая максимальной или минимальной яркостью. Здесь $$]М*М/2[$$ - младшее целое $$М*М/2$$, а $$М$$ - нечетно. Такая "точечная" помеха способна в условиях активного противодействия противника сместить вычисленный "центр масс" факела за пределы угла обзора приемной ИК-камеры, что приведет к потере угловых координат самолета-лидера в ведомом беспилотном ЛА, то есть к разрыву сомкнутого строя и, как следствие, потери управления беспилотным ЛА.

    (рис 4.17) Порядок присвоения значений при медианной фильтрации изображений

    Алгоритмические затраты на вычисление каждого медианного значения $$\hat{x}_{rc}. = med\{ х^{rc}_{ij}\}$$ составляют $$E_{rc} = М^{2}*(М^{2}-1)/2$$, если вычисление упорядочение (сортировку) $$\{ х^{rc}_{ij}\}$$ проводить методом "пузырька". Отсюда, общие алгоритмические затраты на медианную фильтрацию изображения $$N*N$$ полутоновых черно-белых пикселей квадратично зависят от размеров обрабатываемого изображения $$(O(N^2))$$ и биквадратно - от размеров "скользящего окна" $$(O(М^{4})): E = E_{rc} *(N-M-1)^{2} = М^2*(М ^{2}-1)*(N-M-1)^{2}/2$$.

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

    Действительно, если темп поступления пикселей составляет $$F_{pc}$$ в секунду, то темп обработки должен составлять $$М^{2}*F_{pc} $$, так как вычисление медианы необходимо провести для каждого пикселя входного изображения, за исключением периферийных $$(N-M-1)$$ пикселей в каждой строке и в каждом столбце, для которых понятие медианы не определено (см. рис. 4.17). Отсюда видно, что в системах реального времени коэффициент векторизации вычислительного алгоритма медианной фильтрации в принципе не может быть ниже площади "скользящего окна" $$М^{2}$$, и для его обеспечения блок медианной фильтрации, работающий по схеме рис. 4.18, необходимо дополнить блоком векторизации потока с одним входом и $$М^{2}$$ выходами (рис. 4.19).

    (рис 4.18) Векторно-конвейерная схема ранговой фильтрации(рис 4.19) Структурная схема звена рангового фильтра

    В схеме медианного фильтра рис. 4.18 коэффициент векторно-конвейерного распараллеливания вычислений равен $$E_{rc} = М^2*(М^{2}-1)/2$$, и в ней каждый узел должен выполнить (рис. 4.20) две операции: "сравнение" и "транспозиция" операндов по результату сравнения $$B^{S}\in\{0,1\}$$.

    (рис 4.20) Структурная схема рангового фильтра

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

  • звено задержки, в данном случае на 27 тактов, реализовано на бит-процессорах (БП) первой строки матрицы, которые выполняют бит-операции $$ADD$$ с дополнительной задержкой на 1 такт в канале АЛУ;(рис 4.21) Топологическая схема узла медианного фильтра
  • блок сравнения, который выполняет сравнение двух чисел, заданных в формате фиксированной запятой со старшим буферным и следующим за ним знаковым разрядом ( $$n = 16$$ бит), выполнен на бит-процессорах матрицы с координатами (2,2)-(6,4);
  • блок коммутации, который выполняет транспозицию входных операндов, выполнен на бит-процессорах матрицы с координатами (2,5)-(6,7).
  • В итоге для реализации медианного фильтра требуется бит-матрица размером не менее $$42*Е_{rc} = 21*М^{2}*(М^{2}-1)$$ бит-процессоров с временем задержки во всем тракте обработки порядка $$T_{0} = 2n *М^{2}$$, так как в конвей-ерной арифметике признак результата сравнения $$B^S\in\{0,1\}$$ вырабатывается с задержкой более чем $$n$$ тактов.

    Микропрограммный алгоритм процедуры сравнения двух операндов вытекает из традиционного правила:

    $$B^s = \begin{cases} 1, \text{ если } x_i^s - x_j^s \ge 0, \\ 0, \text{ если } x_i^s - x_j^s \pi 0, \end{cases}$$

    которое в конвейерной арифметике реализуется следующим образом.

    Шаг 1. Перевести операнд $$x_j^s$$ из прямого кода в дополнительный код с принудительной инверсией знака и сохранением "нуля" в буферном разряде: $$БП (3,2) - \overline{х}_j^s = x_j^s \oplus \overline{С}_{16}1$$ ; $$БП (3,3) - (-x^{s}_j) = x_j^s + С_{16}1$$,где $$C_{16}1$$ - 16-битная циклическая константа вида $$0000.0000.0000.0001$$, а $$\ovaerline{C}_{16}1$$ - ее инверсия, которая поступает на вход $$БП (3,2)$$ на 1 такт раньше $$x_j^s $$.

    Шаг 2. Сложить операнды и запомнить на $$n$$ тактов знаковый разряд суммы: $$БП (4,3) - z^{s} = x^{s}_i +(x^s_j)$$ ; $$БП (4,4) - B^{s} = ST1(z^{s}, C _{16}1),$$ где циклическая константа $$C_{16}1$$ подается на второй, управляющий вход $$БП (4,4)$$ с опережением на 2 такта по отношению к $$z^{s}$$, которая поступает слева на первый, информационный вход этого БП (см. табл. 5.8 курса "Задачи и модели вычислительных наноструктур").

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

    $$\max(x_i^s,x_j^s) = x^{s}_j\land B^{s}\lor x_i^s \land\overline{B}^{s};\,\,\,\, \min(x_i^s,x_j^s) = x^{s}_j\land \ovaerline{B}^{s}\lor x_i^s \land{B}^{s}.$$

    Таким образом:

  • Показано, что технология микропрограммного конструирования МКМД-бит-потоковых субпроцессоров носит итерационный интерактивный характер и осуществляется "сверху-вниз" в структурно-функциональной плоскости проекта при декомпозиции задачи до микропрограммных процедур ее реализации и "снизу-вверх" в топологической плоскости проекта, которая и позволяет оценить реальные потребительские характеристики синтезируемого субпроцессора и закрепленного за ним БЭО.
  • На основе топологической схемы микропрограммы можно получить все необходимые соотношения для вычисления потребительских характеристик МКМД-бит-потокового субпроцессора медианной фильтрации. В эти соотношения входят параметры обрабатываемого изображения - $$N*N$$ пикселей, параметры "скользящего окна" - $$М*М$$ пикселей, темп поступления данных - $$F_{pc}$$, зависящий от частоты кадров $$(F_{pc}= F_k/N*N)$$, а также параметры самой бит-матрицы: ее размеры и частота работы ( $$F_c$$ ), которая должна удовлетворять неравенству $$F_{pc}\le F_c/n$$, где $$n$$ - разрядность значений яркости полутонового черно-белого изображения.
  • В частности, уже при $$N = 128$$ пикселей, $$М = 5$$ пикселей, частоте кадров $$F_k = 50$$ Гц и разрядности входных данных $$n = 8$$ бит МКМД-бит-потоковый субпроцессор медианной фильтрации для поддержания темпа реального времени должен обеспечить пропускную способность:
  • по потоку инструкций $$PPH(I) = 128*128*25*12*50/8 = 30*106 \text{ операций/с }= 30 \text{ MOPS}$$ ;
  • по потоку данных - $$PPH(D) = 128*128*25*12*50*8 = 1,966 \text{ Гбит/с } $$.
  • Системотехнические выводы по лекции 4

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