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

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

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

5.1. Технология (микро)программного конструирования МКМД-бит-потоковых субпроцессоров

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

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

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

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

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

    В кремниевых компиляторах используется только декомпозиция операторов пользователя, которая осуществляется в пакетном режиме,

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

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

    В настоящее время отсутствуют инструментальные средства, способные поддержать в пакетном режиме, а тем более в реальном времени процесс погружения даже формализованных задач пользователя до уровня их аппаратной реализации. Такой процесс по-прежнему носит интерактивный характер, в котором автоматически генерируются только библиотечные слов-инструкции и тестовые микропрограммы. Компоновка библиотечных слов-инструкций на бит-матрице осуществляется в автоматизированном режиме, где решения о способах размещения и преобразования библиотечных слов-инструкций принимает человек. Исполняет заданные процедуры перемещения и "деформации" топологии микропрограммных модулей на бит-матрице инструментальная ЭВМ, на дисплее которой формируется результирующее графическое представление синтезируемых операционных, управляющих, интерфейсных, адресных и диагностических модулей алгоритмически ориентированного МКМД-бит-потокового субпроцессора. Поэтому в МКМД-бит-потоковой технологии получить достоверные системотехнические оценки качества декомпозиции удается только после построения каждого варианта топологической схемы. Исходные данные для оценки качества декомпозиции порождает процедура проверки условия $$|t_{i}-t_{j}| = 1$$ для всех информационно связанных процедур типа "1.1"-"5.1", рассмотренных в разделе 4.1. Это условие характеризует степень использования основными процедурами пользователя допустимого времени задержки в МКМД-бит-потоковом субпро-

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

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

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

    (рис 5.2) Структура инструментальных средств оптоэлектронного МКМД-бит-потокового (суб)процессора

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

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

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

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

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

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

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

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

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

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

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

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

    Методику термального синтеза микропрограмм слов- и поток-инструкций в полной мере иллюстрируют рекуррентные процедуры построения операционных модулей поток-инструкции перестановки данных ( TRANS ) по верхнему индексу $$\{X_n^k \}_v := \{X^{s}_n\}_v $$, которые гарантированно удовлетворяют системообразующее для МКМД-бит-потоковых технологий неравенство (6.1) курса "Задачи и модели вычислительных наноструктур", если используются в большом количестве циклов $$n$$. При этом возможны два случая, когда синтезированный поток-оператор покрывает все факториальное пространство подстановок $$(S_m!)$$:

  • без изменения топологии микропрограммы, то есть только за счет вариаций порядка следования псевдослучайных адресов $$\{A^{s}_n\}_v,$$ что характерно для классических DD-ассоциативных конструкций;
  • с изменением топологии микропрограммы в зависимости от содержимого потока адресов $$\{A^{s}_n\}_v$$ и/или преобразуемого потока данных $$\{X^{s}_n\}_v,$$ что характерно для PD-ассоциативных конструкций.
  • Здесь $$X^{k}_n = \{X^{s}_n\}$$ ; $$A^{s}_n = k(s)$$ ; $$v = \overline{l,v_{m}, v_{m}}$$ $$v_m= S_{m}$$!, и в каждом $$\eta$$ -м цикле выполняемая подстановка $$v$$ может изменяться, сохраняя свои параметры $$s =\overline{1,S_{m}}$$ ; $$k = \overline{1,S_{m}}$$. Сокращенная формальная запись $$v$$ -й подстанов-ки содержит только множество транспозиций: $$\{T_n^{ks} := (X_{n}^k := X_{n}^s)\}_{v}$$, где $$\{T_n^{ks}\}_v \le S_m$$ и $$k\ne s$$.

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

    В традиционной вычислительной технике для выполнения подстановок обычно используют ЗУПВ в одном из двух режимов:

  • запись потока входных данных в ячейки памяти $$B_n^k$$ в порядке их поступления, то есть по индексу $$s: \{B^k_n := X^s_n \}$$, где $$k = s$$, и чтение ячеек памяти в порядке подстановки, то есть по индексу $$k(s): {X_n^{k(s)} := B_n^k \}_v$$ ;
  • запись потока входных данных в ячейки памяти в порядке подстановки: $$k(s): \{B^k_n := X_{n}^{k(s)}\},$$ и чтение ячеек памяти в хронологическом порядке по $$k: \{ X_{n}^{k} := B_{n}^{k} \}_v $$.
  • С системотехнических позиций оба режима эквивалентны, так как требуют одних и тех же объемов памяти - $$(S_{m}*n)$$ бит, и используют ЗУПВ с разделением времени между фазами записи и чтения. В результате цикл выполнения подстановки оказывается равным $$2S_m$$, что снижает в 2 раза регламентируемый теоремой Котельникова предельный темп поступления и обработки сигналов и изображений. Чтобы компенсировать такие временные издержки, используют парафазную схему включения двух блоков ЗУПВ, что позволяет совместить во времени фазу записи $$v$$ -й подстановки в одном блоке, с фазой чтения $$(v-1)$$ -й подстановки в другом блоке. В результате в 2 раза возрастает объем используемой ЗУПВ, но "средний" цикл выполнения одной подстановки становится равным S.

    В операционном модуле МКМД-бит-потоковой инструкции $$TRANS$$ используется не ЗУПВ, а $$S_m$$ $$n$$ -битных FIFO -регистров, причем каждая, в том числе и "тождественная транспозиция" $$v$$ -й подстановки выполняется линейной последовательностью из 3 слов-инструкций:

  • дешифрации адреса - $$DCA (U^{k}_n, A^{s}_n)$$,
  • записи и хранения - $$MEMORY (X^{s}_n, PW^{ks}_n)$$,
  • чтения - $$READ (B^{k}_n, Z^{ks}_n) $$.
  • Ограничим рассмотрение различных вариантов реализации МКМД-бит-потоковой инструкции $$TRANS\,S_m = 4$$ и вторым режимом работы FIFO -регистровой памяти, считая, что индекс подстановки $$v$$ меняется с максимально возможной скоростью, то есть на каждом $$\eta$$ -м цикле использования поток-оператора, и поэтому $$\eta = v$$.

    В DD -ассоциативной векторно-конвейерной поток-инструкции $$TRANS_{DD}$$ снимается ограничение на $$k \ne s$$ и каждая из $$S_m$$ "транспозиций", входящих в $$v$$ -ю подстановку, выполняется линейной последовательностью слов-инструкций: $$DCA_{DD} (U^{k}_n, A^{s}_n) \to MEMORY (X^{s}_n, PW^{ks}_n) \to READ_{DD} (B^{k}_n, Z^{ks}_n).$$

  • Дешифратор адреса $$k$$ -й "транспозиции" $$DCA_{DD} (U^{k}_n, A^{s}_n)$$ представляет собой строку матрицы (терм) из 7 бит-процессоров (рис. 5.3), на выходе каналов АЛУ которой реализуется преобразование:$$PW_{n}^{ks}(t_0^1 + k+(n-1)+(s-1)n):= \begin{cases} \equiv 1, \text{ если } U_n^k(t_0^0+k+(s-1)n) = A_n^s(t_0^0+k+(s-1)n), \\ \equiv 0, \text{ если } U_n^k(t_0^0+k+(s-1)n) \ne A_n^s(t_0^0+k+(s-1)n), \end{cases}$$

    где все аргументы и параметры целочисленные:

  • $$A_{n}^s \in\{\overline{1,S_{m}}\}$$ - подстановочный адрес $$k(s)$$ $$k$$ -й "транспозиции";(рис 5.3) Топологическая схема слов-инструкции DCA_DD
  • $$\{U_n^k\} = \overline{1,S_{m}}$$ - натуральный ряд чисел, задающих номера строк бит-матрицы или, что одно и то же, пространственные адреса кольцевых FIFO -регистров $$\{B_n^k\}$$, которые заносятся со сдвигом влево и циклически воспроизводятся на выходах бит-инструкций $$CG$$ первого столбца матрицы;
  • $$t_{0}$$ - начальная задержка потоков псевдослучайных адресов $$\{\{A_n^s\}_v\}$$ и преобразуемых потоков данных $$\{\{X^{s}_{n}\}_{?}\}$$, которая может появиться во входном интерфейсе субпроцессора $$TRANS_{DD}$$ при компоновке слов-инструкций на бит-матрице (в библиотечном модуле $$t_{0}^0 = 0$$ );
  • $$t_{0}^1 = t_{0}^0 + t_{d}$$ - суммарная "технологическая" задержка на выходе $$k$$ -й слов-инструкции $$DCA_{DD}$$, где $$t_{d}$$ включает: 1 такт - на $$XOR$$, 3 такта - на $$OR$$ (монтажное "ИЛИ"), 1 такт - на $$NAND$$ и 2 такта - на $$ST1$$, из которых только в $$OR$$ задержка зависит от $$n$$ (в данном случае $$n = 8$$ бит и $$t_{0}^1 = t_{d} = 7$$ тактов);
  • $$k = \overline{1, S_{m}}$$ - "технологическая" задержка на распространение $$\{\{A^s_n\}_{?} \}$$ и $$\{\{X^s_n\}_v \}$$ по каналам транзита соответственно до входа и выхо-да $$k$$ -й слов-инструкции $$DCA_{DD}$$, то есть $$k$$ -й строки бит-матрицы рис. 5.3;
  • $$(n-1)$$ - функциональная задержка в каждой $$k$$ -й слов-инструкции $$DCA_{DD}$$, которая расходуется на размещение признака результата в старший ( $$n$$ -й) бит каждого $$s$$ -го цикла сравнения;
  • $$(s-1)n$$ - фазовый сдвиг $$A_n^s$$ и $$X_n^s$$ соответственно в бит-потоках данных $$\{\{\{a^{s}_i\}_n\}_v\}$$ и $$\{\{\{x^{s}_i\}_n\}_v\}$$, где $$\{a^{s}_i\}_n = A^{s}_n$$ и $$\{x^{s}_i\}_n = X^{s}_n$$ ;
  • $$s = \overline{1,M} $$ - хронологический адрес синхронного поступления $$A_n^s$$ и $$X_{n}^s$$ на соответствующие входы $$TRANS_{DD}$$ ;
  • $$M = v*(2S_{m}-1)$$ - период активности поток-инструкции $$TRANS_{DD}$$ на $$v$$ циклах ее использования, так как по условиям правильной работы требуется, чтобы в потоке данных $$\{X_n^s\}_v$$ и псевдослучайных адресов $$\{A_n^s\}_v$$ только первые $$S_m$$ $$n$$ -битных слов были значащими, а остальные $$(S_m -1)$$ слов - "нулевыми".
  • Главная особенность слов-инструкции $$DCA_{DD}$$ состоит в потоковой реализации схемы "ИЛИ" с $$n$$ входами (бит-процессоры 3-5 столбцов рис. 5.3), где результат циклического сравнения пространственного и потокового адресов (бит-процессоры 2-го столбца матрицы) размещаются в 8-м бите каждого $$s$$ -го цикла. В дальнейшем содержимое этого бита циклически выделяется в бит-процессорах 7-го столбца матрицы, где и формируется $$n$$ -битный результат дешифрации $$PW^{is}_n$$.

  • Блок записи и хранения содержимого $$X^{s}_n\,MEMORY_{DD} (X^{s}_n, PW^{ks}_n)$$ состоит из $$k$$ термов в виде кольцевых FIFO -регистров $$B_n^k$$ (строка бит-матрицы рис. 5.4), на каждом входе которого (бит-процессоры 2-го столбца) реализуется преобразование:$$\{B^{ks}_n(t_0^2+k+ (n-l) + (s-l)n)\}_{v}:= \{X^{s}_{n}(t_0^1 + k + (n-1) + (s-1)n)) \land PW_n^{ks}(t_0^1+k + {n-1) + (s-1)n)}_{v}$$

    где:

  • $$t^2_0 = t^1_0 + 2 $$ - суммарная "технологическая" задержка $$\{\{ X^s_n\}_v\}$$ до выхода $$k$$ -й слов-инструкции $$WRITE_{DD}$$, входящей в $$MEMORY_{DD}$$ (для $$n = 8$$ бит $$t^2_0 = 7$$ тактов);
  • $$s = \overline{s_1(v),s_2(v)}$$, $$s_1(v) = (v-l)(2S_{m}-1)+1$$ и $$s_1(v) = v*(2S_{m} - 1)$$ - соответственно начальное и конечное значение хронологического индекса $$s$$ на $$v$$ -м цикле использования $$TRANS_{DD}$$ ;
  • $$S_m *n$$ - фактический цикл записи всего потока $$\{X_n^s \}_v$$ в $$\{B_n^k \}_v$$ в $$v$$ -м цикле использования поток-инструкции $$TRANS_{DD}$$.
  • Циклическое (по $$s$$ ) хранение $$\{X_n^s \}_v$$ в $$S_m$$ кольцевых FIFO -регистрах $$\{B_n^k \}$$ на $$v$$ -м цикле их использования (выходы бит-процессоров 4-го столбца рис. 5.4) имеет вид:

    $$\{B_n^{k(s+1)}(t_0^2 + k + (n -1) + sn)\}_{v} := \{B_n^{ks} (t_0^2+\Delta(n)+k +(n-1) + (s- l)n))\land Z_n^{ks}(t_0^2+\Delta(n)+k+(n-l)+(s-l)n)\}_{v}$$

    где:

  • $$\Delta(n)$$ - определяется той частью кольцевого циклического (рис 5.4) Топологическая схема слов-инструкции MEMORY_DD
  • $$\{Z^{ks}_n\}_v$$ - поток "обнуляющих" операндов, который поступает на вход RS и который имеет циклический по $$v$$ вид $$Z^{k1}_n \equiv 0$$ и $$Z^{ks}_n \equiv 1$$ для всех $$s = \overline{2,(2S_{m} -1)}$$.
  • Блок чтения $$READ_{DD}(B^{ks}_n, PR^{ks}_n)$$ содержимого $$S_m$$ кольцевых FIFO -регистров $$\{B_n^k\}$$ (термов) на $$v$$ -м цикле их использования (входы бит-процессоров 1-го столбца рис. 5.5 или, что одно и то же, выходы бит-процессоров 5-го столбца рис. 5.4) реализует преобразование:$$\{D^{t_0^3 + \Delta(n)+(S_{m}-1)n + k(n + 1)\}_{v} := \{B^{ks}_n(t_0^2+\Delta(n) + (S_{m}-1)n +k(n+1))\land PR^{ks}_n(t_0^2+\Delta(n) + (S_{m}-1)n +k(n+1))\}_{v}$$

    где:

  • $$t_0^3 = t_0^2 + 1$$ - суммарная "технологическая" задержка $$\{\{X_n^s\}_v \}$$ до выхода слов-инструкции $$READ_{DD}$$ (для $$n = 8$$ бит $$t_0^3 = 10$$ тактов);
  • $$(S_m -1)n$$ - сдвиг разделенных во времени фаз записи и чтения, а $$k = \overline{s_{l}(v),s_{2}(v)}$$ ;
  • $$\{\{PR^{ks}_n\}_v \}$$ - поток управляющих операндов, который формирует-ся бит-процессорами 2-го и 3-го столбцов рис. 5.5, распространяется по строкам бит-матрицы с задержкой $$k(n+1)$$ и имеет циклический по $$v$$ вид $$PR^{k1}_n \equiv 1$$ и $$PR^{ks}_n \equiv 0$$ для всех $$s = \overline{2,(2S_m -1)}$$ ;
  • $$C_{N} 1$$ - циклическая по $$v$$ константа, которая задает однократный цикл "записи-чтения", равный $$(2S_m-1)n$$ тактов, и которая имеет вид: 1-й бит - "единица" и остальные биты - "нули";
  • $$C_{n} 1$$ - циклическая по $$s$$ константа, которая задает разрядность обрабатываемых операндов и которая имеет вид: 1-й бит - "единица", а остальные $$(n-1)$$ бит - "нули".
  • (рис 5.5) Топологическая схема порт вывода типа S TRANS
  • Встроенный в $$READ_{DD}$$ блок $$OUT(D^{k}_N)$$ вывода данных $$\{D^k_n \}_{v}$$ через $$S_{m}$$ -битный FIFO -порт, на выходе которого (выход вертикального канала транзита бит-процессоров 1-го столбца рис. 5.5) реализуется преобразование:$$\{T_n^{ks} (t_0^3 + \Delta(n) + (S_{m} - 1)n + (S_{m} - k +1) + k(n + 1))\}_{v} := V\{D_n^{ks} (t_0^3 + \Delta(n) + (S_{m} - 1)n + k(n + 1))}_{v}$$

    где: $$(S_m - k+1)n$$ - "технологическая" задержка на распространение $$D^{ks}_n = X^{ks}_n$$ от $$k$$ -го входа и до выхода схемы "ИЛИ" с $$S_m$$ входами FIFO -регистрового порта вывода.

  • Из приведенных данных видно, что в соотношениях (5.1)-(5.3) в качестве хронологического используется индекс $$s $$, а в соотношениях (5.4)-(5.5) в этом качестве выступает индекс $$k = \overline{s_1(v),s_2(v)}$$.

    Как и всякая ассоциативная конструкция, $$TRANS_{DD}$$ требует доопределения задающих ее формальных соотношений (5.1)-(5.5) содержимым пространственно-временных потоков данных, которые используются в качестве управляющих. В данном случае к ним относятся $$Z_{n}^{ks}$$, $$C_{N}1$$ и $$C_{n} 1$$, которые задают соответственно цикл выполнения перестановки $$\{T^{ks}_n\}_{v} \in \{T^{ks}_n\}_{v_m}$$ и разрядность $$n$$ переставляемых операндов. Более того, условия правильной работы слов-инструкций $$\{DCA_{DD}\}_v$$ доопределяются содержимым потоками преобразуемых данных $$\{A_n^s\}_v$$ и $$\{X_n^s \}_v,$$ обеспечивающих синфазную и синхронную работу всех слов-инструкций, входящих в $$TRANS_{DD}$$.

    Тем не менее, для однозначного задания условий правильной работы ассоциативной поток-инструкции $$TRANS_{DD}$$, а с ними и выполняемого ею преобразования $$F_v:\{X^{s}_n \to X_{n}^{k}\}_v$$, этого недостаточно. Объясняется это тем, что в "сложных" ассоциативных конструкциях содержимое информационных и управляющих потоков задает только необходимые условия их правильной работы. Полное устранение неоднозначности в таких конструкциях требует выполнения фазовых соотношений между всеми потоками управляющих и преобразуемых данных в процессе их распространения по составляющим слов-инструкциям, как по горизонтали, то есть в каждой $$k$$ -й линейной последовательности $$DCA - WRITE - MEMORY - READ - OUT$$, так и по вертикали, то есть по всей совокупности таких последовательностей. При этом параметр $$v_m$$ входит в (5.1)-(5.5) только контекстно, так как он задает период активности поток-инструкции и поэтому используется в устройстве управления $$P$$ -шиной субпроцессора, а не в устройстве управления потоками данных.

    Сказанное иллюстрирует табл. 5.1 для подстановки вида:

    $$\{T_n^{ks}\}_v:= \left( \begin{array}{l} X_8^k:X_8^1,X_8^2,X_8^3,X_8^4 \\ X_8^s:X_8^3,X_8^1,X_8^4,X_8^2 \end{array} \right )$$
    Идентификация состояний поток-оператора TRANS
    а) выходы дешифратора ( $$DCA_{DD}$$ )
    Значение 0 1 0 0
    Такт 18 26 34 42
    Значение 0 0 0 1
    Такт 17 25 33 41
    Значение 1 0 0 0
    Такт 16 24 32 40
    Значение 0 0 1 0
    Такт 15 23 31 39
    б) входы кольцевых FIFO-регистров ( $$WRITE_{DD}$$ )
    0 $$X_8^2$$ $$X_8^2$$ $$X_8^2$$
    Такт 20 28 36 44
    Значение 0 0 0 $$X_8^4$$
    Такт 19 27 35 43
    Значение $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$
    Такт 18 26 34 42
    Значение 0 0 $$X_8^3$$ $$X_8^3$$
    Такт 17 25 33 41
    в) выходы схем "И" кольцевых FIFO-регистров (MEMORY_{DD})
    Значение 0 $$X_8^2$$ $$X_8^2$$ $$X_8^2$$ $$X_8^2$$ $$X_8^2$$ 0
    Такт 25 33 41 49 57 65 73
    Значение 0 0 0 $$X_8^4$$ $$X_8^4$$ $$X_8^4$$ 0
    Такт 24 32 40 48 56 64 72
    Значение $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ 0
    Такт 23 31 39 47 55 63 71
    Значение 0 0 $$X_8^3$$ $$X_8^3$$ $$X_8^3$$ $$X_8^3$$ 0
    Такт 22 30 38 46 54 62 70
    г) входы схемы "ИЛИ" порта вывода ( $$READ_{DD}$$ )
    Значение 0 0 0 0 0 0 $$X_8^2$$
    Такт 25 33 41 49 57 65 73
    Значение 0 0 0 0 0 $$X_8^4$$ 0
    Такт 24 32 40 48 56 64 72
    Значение 0 0 0 0 $$X_8^1$$ 0 0
    Такт 23 31 39 47 55 63 71
    Значение 0 0 0 $$X_8^3$$ 0 0 0
    Такт 22 30 38 46 54 62 70
    д) выходы схемы "ИЛИ" порта вывода ( $$OUT$$ )
    Значение $$X_8^3$$ $$X_8^1$$ $$X_8^4$$ $$X_8^2$$
    Такт 50 58 66 74
    Значение $$X_8^3$$ $$X_8^1$$ $$X_8^4$$ 0
    Такт 49 57 65 73
    Значение $$X_8^3$$ $$X_8^1$$ 0 0
    Такт 48 56 64 72
    Значение $$X_8^3$$ 0 0 0
    Такт 47 55 63 71

    Из (5.1)-(5.5) видно, что в FIFO -регистровой памяти фаза записи выполняется параллельно, а фаза чтения - последовательно. Однако, как и в ЗУПВ, из-за разделения этих фаз во времени пропускная способность по потоку входных данных и здесь снижается в 2 раза, что увеличивает и период дискретизации по Котельникову: $$\Delta T_s = 2n\tau_c$$, где $$\tau_c$$ - длительность такта работы бит-матрицы. Коэффициент векторизации каждой $$v$$ -й фазы записи $$\mu_W = S_v/n$$ определяется условием распространения $$\{\{A^{s}_n\}_v\}$$ и $$\{\{X^{s}_n\}_v\}$$ по соответствующим каналам транзита. Заменив эти каналы на каналы транзита с задержкой, можно увеличить в 2 раза количество одновременно дешифруемых $$A^{s}_n \in \{A^{s}_n\}_v$$, а с ними и коэффициент распараллеливания фазы записи $$\{\{X^{s}_n\}_v\}$$ в $$\{B_n^k\}$$. Однако в этом случае повышается в 2 раза только пользовательская производительность (то есть пропускная способность по потоку команд), но не пропускная способность $$TRANS_{DD}$$ по потоку данных. Это связано с тем, что поток данных $$\{\{X^{s}_n\}_v\}$$ распространяется последовательно по слов-инструкциям $$WRITE$$, а его значащая часть по определению не может занимать меньше $$S_m *n$$ тактов из $$(2S_m - 1) n$$ тактов всего $$v$$ -го цикла "записи-чтения". Поэтому повысить пропускную способность $$TRANS_{DD}$$ по потоку данных до предельно возможной с $$\Delta T_{s} = n \tau_{c}$$ можно только за счет совмещения во времени фаз записи и чтения. Но в DD -ассоциативных MIMD-бит-потоковых конструкциях для этого нет необходимости прибегать к избыточной (по аппаратным затратам на $$\{DCA_{DD}\}_{Sm}$$ ) парафазной схеме, как это имеет место в вычислителях на основе ЗУПВ. В данном случае достаточно в порт вывода ввести $$(S_m -1)$$ буфер-ных FIFO -регистров общей емкостью $$(2S_m -1)(n-1)$$ бит (рис. 5.6). В этом случае в фазе $$READ$$ выполняется "параллельно" и все $$\{D^{ks}_n\}_v$$ считываются из кольцевых FIFO -регистров с задержкой на 1 такт. В результате, как и в парафазной схеме ЗУПВ, удается совместить во времени фазу записи $$\{\{X^{s}_n\}_v\}$$ в $$\{B_{n}^k\}$$ с фазой вывода $$\{D_{n}^{ks}\}_{v-1}$$ через последовательный порт вывода поток-инструкции $$TRANS_{DD}$$.

    Такой режим работы $$TRANS_{DD}$$ иллюстрирует табл. 5.2. В этом случае сигнал "чтение" $$\{PR^{ks}_n\}_{v}$$ распространяется по бит-матрице не с задержкой на $$(n+1)$$ тактов, а с задержкой на 1 такт в каждой горизонтальной линейной цепочке слов-инструкций $$DCA_{DD} - OUT$$. Поэтому в соотношениях (5.1)-(5.5) надо использовать $$s_1(v) = (v-1)S_m +1$$ и $$s_{2}(v) = v*S_m $$, а в соотношениях (5.4)-(5.5) фазовую задержку $$k(n+1)$$ надо заменить на $$k$$.

    (рис 5.6) Топологическая схема порта вывода типа Sm*n

    С системотехнических позиций порты рисунков 5.5 и 5.6 отличаются тем, что первый параметрически адаптируется под разрядность $$n$$, а второй - структурно, причем порту рис. 5.6 в традиционной вычислительной технике отвечает многопортовое ОЗУ прямого доступа, как по записи, так и по чтению.

    Идентификация состояний поток-оператора TRANS_DD
    а) выходы схем "И" кольцевых FIFO-регистров ( $$MEMORY_{DD}$$ )
    Значение 0 $$X_8^2$$ $$X_8^2$$ $$X_8^2$$ 0
    Такт 25 33 41 49 57
    Значение 0 0 0 $$X_8^4$$ 0
    Такт 24 32 40 48 56
    Значение $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ 0
    Такт 23 31 39 47 55
    Значение 0 0 $$X_8^3$$ $$X_8^3$$ 0
    Такт 22 30 38 46 54
    б) входы схемы "ИЛИ" порта вывода ( $$READ_{DD}$$ )
    Значение 0 0 0 $$X_8^2$$ 0
    Такт 25 33 41 49 57
    Значение 0 0 0 $$X_8^4$$ 0
    Такт 24 32 40 48 56
    Значение 0 0 0 $$X_8^1$$ 0
    Такт 23 31 39 47 55
    Значение 0 0 0 $$X_8^3$$ 0
    Такт 22 30 38 46 54
    в) выходы линейной схемы "ИЛИ порта вывода ( $$OUT$$ )
    Значение 0 0 0 $$X_8^2$$ 0 0 0
    Такт 27 35 43 51 59 67 75
    Значение 0 0 0 $$X_8^4$$ $$X_8^2$$ 0 0
    Такт 26 34 42 50 58 66 74
    Значение 0 0 0 $$X_8^1$$ $$X_8^4$$ $$X_8^2$$ 0
    Такт 25 33 41 49 57 65 73
    Значение 0 0 0 $$X_8^3$$ $$X_8^1$$ $$X_8^4$$ $$X_8^2$$
    Такт 24 32 40 48 56 64 72

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

    В поток-инструкции $$TRANS$$ с подстановкой в фазе чтения (рис. 5.7) используется PD -ассоциативный блок $$READ_{PD}$$, который обеспечивает поступление сигнала "чтение" ( $$R$$ - рис. 5.7-б) на выходные вентили FIFO -регистров в порядке, отвечающем реализуемой подстановке.

    Основная особенность $$TRANS$$ со встроенными PD -ассоциативными блоками состоит в том, что в них удается совместить во времени этапы реализации слов-инструкций $$WRITE_{DD}(X^{s}_n, PW^{k}_n)$$ и $$DCA_{DD}(U^{k}_n, A^{s}_n)$$. В этом случае линейная последовательность слов-инструкций принимает вид: $$WRITE - MEMORY DCA - READ - OUT$$. Здесь перестановка порядка выполнения слов-инструкций $$WRITE$$ и $$DCA$$ сопровождается зеркальным отражением их топологических схем по отношению к вертикальной оси (ср. рис. 5.6 и рис. 5.7).

    В результате из (5.1)-(5.5) исключается функциональная задержка в $$(n -1)$$ тактов на дешифрацию, а сами преобразования принимают вид:

  • $$WRITED (X^{s}_n , PW^{k}_n)$$ - выходы бит-процессоров 4-го столбца рис. 5.7-а:$$\{B^{ks}_n(t^{5}_{0}+k+(s-l)n)\}_{v}:= \{X^{s}_{n}(t_0^4+k+(s- l)n))\land PW^k_n(t_0^4+k + (s- 1)n)\}_{v}$$

    где:

  • $$t_0^4 = 4$$ такта - начальная задержка $$\{\{X_n^s \}_v\}$$ до входа $$k$$ -й слов-инструкции $$WRITE_{DD}$$ ;
  • $$t_{0}^5 = t_{0}^4 + 2 = 6$$ тактов и $$k = s, (s = \overline{s_1(v),s_2(v)})$$ ;
  • $$PW^{ks}_n$$ - эквивалентна по содержимому $$PR^{ks}_n$$ в (5.4).
  • 2. $$MEMORY(B^{k}_n, Z^{ks}_n)$$ - выходы "монтажного ИЛИ" бит-процессоров 4-го столбца рис. 5.7-а:$$\{B_n^{k(s+1)}(t_0^5+k+sn)\}_v := \\ \{B_n^{ks}(t_0^5+\Delta(n)+k+(s-1)n)\land Z_n^{ks}(t_0^5+\Delta(n)+k+(s-1)n)\}_v ,\\ (s=\overline{s_1(v),s_2(v)})$$
  • $$DCA_{DD}(U^{k}_n, A^{s}_n)$$ - выходы каналов АЛУ бит-процессоров 7-го столбца рис. 5.6-а и 1-го столбца при зеркальном отражении для рис. 5.7:$$PR_n^{ks}(t_0^6+\Delta(n)+k+(n-1)+(s-1)n):= \\ \begin{cases} \equiv 1, \text{ если } U_n^{k}(t_0^5+\Delta(n)-\phi+k+(s-1)n)= A_n^{s}(t_0^0+\Delta(n)-\phi+k+(s-1)n) , \\ \equiv 0, \text{ если } U_n^{k}(t_0^5+\Delta(n)-\phi+k+(s-1)n)\ne A_n^{s}(t_0^0+\Delta(n)-\phi+k+(s-1)n) . \end{cases}$$ (рис 5.7) Топологическая схема микропрограммы TRANS_DD с подстановкой при чтении

    где $$t_{0}^6 = t_{0}^5 + 2 = 8$$ тактов,а $$\phi = t_d+(n-1)$$ - совмещение во времени этапов записи и дешифрации потоков $$\{X_n^s\}_v$$ и $$\{A_n^s\}_v$$, в которых знача-щие части смещены друг по отношению к другу на $$(S_m -1)n$$ тактов, то есть считается, что в потоке $$\{A_n^s\}_v$$ первые $$(S_m - 1)n$$ тактов - "нули" а остальные $$S _{m}n$$ тактов - значащие, а в потоке $$\{X_n^s\}_v$$ - наоборот.

  • $$READ_{PD} ( B_{n}^{ks} , PR^{ks}_n)$$ - выходы каналов АЛУ бит-процессоров 1-го столбца рис. 5.7-б:$$\{D_n^{ks}(t_0^7+\Delta(n)+k+(s-1)n)\}_v := \\ \{B_n^{ks}(t_0^6+\Delta(n)+k+(s-1)n)\}_v\land \{Z_n^{ks}(t_0^6+\Delta(n)+k+(s-1)n)\}_v ,$$

    где:

  • $$t_{0}^7 = t_{0}^6 + 1 = 9$$ тактов, а $$k = \overline{s_1(v),s_2(v)}$$ ;
  • $$\{\{PR_{n}^{ks}\}_{v}\}$$ - поток управляющих операндов, который формируется в данном случае бит-процессорами 2-го и 3-го столбцов рис. 5.7-б и имеет циклический по $$v$$ вид: $$PR^{k1}_n = 1$$ и $$PR^{ks}_n = 0$$ для всех $$s = \overline{2,(2S_{m}-1)}$$.
  • 5. $$OUT(D^{k}_n)$$ - выход вертикального канала транзита бит-процессоров 1-го столбца рис. 5.7-б:$$\{T_n^{ks}(t_0^7+\Delta(n)+(k-1)n+(S_m-k))\}_v := \\ V\{D_n^{ks}(t_0^7+\Delta(n)+(k-1)n+(S_m-k))\}_v, \\ (k=\overline{s_1(v),s_2(v)})$$
  • В переменных и параметрах (5.1)-(5.5) и (5.7)-(5.11) отражен тот факт, что каждая $$k$$ -я линейная последовательность слов-инструкций выполняется над всем потоком данных из $$(S_m -1) n$$ -битных слов, из кото-рых только одна реализует необходимую пользователю транспозицию ( $$k=\overline{s_1(v),s_2(v)}$$ ). В результате объем работы, выполняемой $$TRANS$$ на каждом $$v$$ -м цикле, составляет $$5S_{m} (2S_m -1)$$ $$n$$ -разрядных слов-инструкций.

    При использовании ЗУПВ объем работы минимален и составляет $$S_m$$ разделенных во времени 2-цикловых слов-инструкций "чтения-записи", то есть $$4S_m$$ физически исполняемых слов-инструкций. Такое более чем $$S_{m}$$ -кратное превышение фактически выполняемого объема работ над минимально необходимым обусловлено последовательным характером распространения потоков $$\{A_n^s\}_v$$ и $$\{X_n^s\}_v$$ через линейные цепочки слов-инструкций, что является неотъемлемым атрибутом MIMD-бит-потоковой, а не ассоциативной организации вычислений.

    Как и в случае (5.1)-(5.5), из (5.7)-(5.11) невозможно определить вид выполняемой $$TRANS$$ подстановки, который зависит не от переменных и параметров этих соотношений, а от содержимого потока $$\{A_n^s\}_v$$, которое и задает "момент времени" $$s$$, когда в $$k$$ -й линейной цепочке выполняется условие $$PW^{ks}_n \equiv 1$$ или $$PR^{ks}_n \equiv 1$$.

    Структурно адаптируемый под параметры конкретной перестановки PD -ассоциативный порт вывода рис. 5.7-б позволяет:

  • исключить слов-инструкции $$DCA$$ из (5.7)-(5.11), заменив их специфической для каждой подстановки $$\{T_n^{ks}\}_v$$ FIFO -регистровой схемы распространения сигнала "чтение" ( $$R$$ ) вида: $$n$$ первых бит - "единица", а остальные $$2(S_m -1)n$$ бит - "ноль";
  • в явном виде идентифицировать порядок чтения циклических FIFO -регистров, который определяется сдвигами во времени по отношению к входам схем "И" 1-го столбца рис. 5.7-б и который вычисляется согласно:$$t^{ks}_R = t_w + (k - 1)n + s,$$

    где $$t_w = t_{0}^{6} + \Delta(n) + (S_m - 1)n $$ - начальная задержка на запись $$\{X_n^s\}$$.

  • При значении переменных и параметров рис. 5.7 поток-инструкция $$TRANS$$ выполняет подстановку (5.6), что, согласно (5.12), дает: $$t_w = 35$$ ; $$t^{13}_R = 38$$ ; $$t^{2l}_R = 44$$ ; $$t^{34}_R = 55$$ ; $$t_{R}^{42} = 61$$.

    Для больших значений $$S_m$$ синтез таких древообразных, FIFO -регистровых топологических схем под каждую подстановку (то есть по заданным $$t_{R}^{ks}$$ ) представляет достаточно сложную задачу, решение которой требует более чем $$2(S_m -1)$$ шагов.

    Особенности согласования параметров поток-инструкции $$TRANS$$. В (5.1)-(5.5) и (5.7)-(5.11) считается, что $$n_{A} = n_{X} $$, то есть "глубина" адре-сации равняется количеству переставляемых данных $$S_{m} = |\{X^{s}_n\}|$$, а вид исполняемой подстановки может изменяться на каждом цикле выполнения поток-инструкции $$TRANS_{DD}$$, то есть $$v_A = v_{X} $$.

    Однако на практике приходится решать задачи, в которых:

  • $$n_{A} > n_{X}$$ и все биты $$n_{A} , n_X$$ - значащие, что характерно для систем криптографической защиты видеоинформации, где "структура" исходного изображения наиболее эффективно разрушается при перестановке малоразрядных данных ( $$n_{X} \le 8$$ ) бит по всему изображению: $$N*N \ge 2^{20}$$ пикселей, а не по строкам или столбцам, то есть $$n_A > 20$$ бит;
  • $$n_A = n_{X} $$, но признак результата сравнения $$РW^{ks}_n$$ или $$PR^{ks}_n$$ надо сформировать на время $$n = (\beta > 1)*n_{X}$$, что характерно для систем криптографической защиты речевой информации, где блочно-групповая $$\{ X_{n}^{k (\Theta)}\}:= \{X_n^{s\Theta}\}$$, а не пословная подстановка данных лучше разрушает "структуру" сообщения, то есть одному $$A^s_n$$ соответствует подмножество $$\{ X_{n}^{k (\theta)}\}\subset \{ X_{n}^{s}\}$$ и $$|\{ X_{n}^{k (\theta)}\}| = \beta$$, а $$\theta =\overline{1,\Theta_m}$$ и $$\Theta_m = S_m/(\beta\succ 1)$$ ;
  • $$n_A < n_X$$ что характерно для систем криптографической защиты телеметрической информации, где объектом подстановки являются блоки малоразрядных данных, измеряемых с разной частотой, что приводит к изменению состава блоков как внутри одной подстановки, так и на разных циклах ее выполнения, то есть $$X_{n(\lambda)}^s \subset X_n^s = F(s,v)$$, и $$\sum\limits_{\lambda}{n(\lambda)} = n$$
  • цикл изменения вида подстановки больше цикла изменения преобразуемых данных: $$v_{A} = (\alpha > 1)*v_{X}$$, что характерно для систем защиты слабо коррелированной информации, то есть $$\{A^{s}_{n}\}_{v_A} = const$$ для всех $$\{X^{s}_{n}\}_{v_X}\in \{\{X^{s}_{n}\}_{v_X}\}_{\alpha}$$
  • Все перечисленные ограничения создают определенные пробле-мы согласования темпов передачи и обработки потоков $$\{\{A^{s}_{n}\}_{v}\}$$ в слов-инструкциях $$\{ DCA \}$$ и потоков $$\{\{X^{s}_{n}\}_{v}\}$$ в слов-инструкциях $$\{WRITE \}$$ и $$\{READ\}$$, которые при $$n_A \ne n_X$$ можно решить двумя способами:

  • Разбиением потока псевдослучайных адресов $$\{A^{s}_{n}\}_{v}$$ (при $$n_A > n_X$$ ) на "старшую" ( $$h$$ ) и "младшую" ( $$l$$ ) половины таким образом, чтобы $$n_h = n_l = n_{X}$$ и $$n = 2n_X$$, из которых в $$n_{h}$$ только $$(n_{X} -n_l)$$ младших бит являются значащими, а остальные биты заполнены "нулями". В результате поток псевдослучайных адресов распадается на два составляющих потока $$\{A^{s}_{nh}\}_{v}$$ и $$\{A^{s}_{nl}\}_{v}$$: $$\{A^{s}_{n}\}_{v} = \{A^{s}_{nh}\}_{v} \cup \{A^{s}_{nl}\}_{v_A} $$, которые обрабатыва-ются двумя параллельными поток-инструкциями $$\{DCA_{DD}\} _{h}$$ и $$\{ DCA_{DD} \}_{l}$$ (соответственно четные и нечетные строки бит-матрицы рис. 5.8,где считается, что $$n_{X} = 8$$ бит, а $$9 < n \le 16$$ бит).

    Общий признак результата сравнения $$PW_{n_X}^{ks} = PW_{n_k}^{ks} \land PW_{n_l}^{ks}$$ или $$PR_{n_X}^{ks} = PR_{n_k}^{ks} \land PR_{n_l}^{ks}$$ формируется бит-процессорами 8-го столбца бит-матрицы рис. 5.8, где на 1-й вход бит-инструкции $$ST1$$ подается объединенный по "И" результат дешифрации в "четном" и "нечетном" терме. Двустрочные термы дешифрации выравнивают темпы обработки потоков преобразуемых данных $$\{\{X_n^s\}_v\}$$ и адресов $$\{\{A_n^s\}_v\}$$, но удваивают аппаратные затраты на дешифрацию. При этом в (5.1)- (5.5) и (5.7)-(5.11) надо использовать не $$n$$, а $$n_{X} < n$$.

  • Прореживанием нулями потока псевдослучайных адресов $$\{\{A_n^s\}_v\}$$ по правилу:
  • при $$n_{A} = (\beta > 1)*n_{X}$$ - в каждом псевдослучайном адресе $$A^{s}_{n} n_{X}$$ младших бит - значащие и $$({\beta}-1)*n_{X}$$ старших бит - нулевые,а в (5.1)-(5.5) и (5.7)-(5.11) надо использовать $$n = {\beta}*n$$ ; при этом функциональная задержка в каждой слов-инструкции $$DCA$$ составляет не $$(n-1)$$, а $$(n_{X} -1)$$ тактов;
  • при $$n_A < n_X$$ и $$n_X$$ не кратно $$n_A$$ - в каждом псевдослучайном адресе $$A_n^s n_A $$ младших бит - значащие, а $$(n-n_A)$$ старших бит - нулевые, где $$n = n_X$$
  • (рис 5.8) DD-ассоциативный дешифратор для n_A > n_X

    В этом случае аппаратно-временные затраты на ассоциативные слов-инструкции $$DCA$$ не возрастают, так как дешифрации подлежит только значащая часть адресов $$\{\{A_{n}^{s} \}_{v}\}$$, в чем можно убедиться, сравнив PD - и DD -ассоциативные конструкции рисунков 5.9 и 5.10, где $$n_{X} = 14 $$, а $$n_{A}$$ равняется соответственно 6 и 8 битам.

    (рис 5.9) PD-ассоциативный дешифратор с прореживанием потока адресов

    В обоих случаях параметры схемы соответствуют подстановке:

    $$\left( \begin{array}{l} X_n^k:X_n^1,X_n^2,X_n^3,X_n^4 \\ X_n^s:X_n^2,X_n^3,X_n^1,X_n^4 \end{array} \rigth )$$

    но в DD -ассоциативной конструкции рис. 5.10 поток формальных адресов $$\{\{A^{s}_{8}\}_{v}\}$$ необходимо предварительно модифицировать в поток загружаемых адресов $$\{vec{А}^s_{14}\}_{v}\}$$ по правилу:

    $$\vec{A}_{n_X}^s = F(s,n_X,x_A) = \begin{cases} {A}_{n_A}^s*2^{\lambda}, \text{ если } \vec{A}_{n_X}^s \le 2^{n_A} -1, \\ {A}_{n_A}^s*2^{\lambda} - 2^{n_A}, \text{ если } \vec{A}_{n_X}^s \ge 2^{n_A} -1. \end{cases}$$

    где $$\lambda = mod_{8}[(s-1)(8-mod_{8}n_{X} )]$$ определяет фазовый сдвиг $$\vec{A}_{n_X}^s$$, связанный с некратным $$n_{X} = 14$$ циклическим воспроизводством $$U_{n_A}^k$$ в бит-инструкциях $$CG$$, где $$n_A \le 8$$ бит.

    (рис 5.10) DD-ассоциативный дешифратор с прореживанием потока адресов

    Согласно (5.14) для подстановки (5.13) получим:

  • $$A_8^1 = 2$$, то $$\vec{A}_{14}^1 = 00.0000.0000.0010$$ ;
  • $$A_8^2 = 3$$, то $$\vec{A}_{14}^2 = 00.0000.0000.1100$$ ;
  • $$A_8^3 = 1$$, то $$\vec{A}_{14}^3 = 00.0000.0001.0000$$ ;
  • $$A_8^4 = 4$$, то $$\vec{A}_{14}^4 = 00.0000.0000.0001$$.
  • Рассмотренные PD - и DD -ассоциативные конструкции слов-инструкций $$DCA$$ работают по правилам:

  • для рис. 5.9:$$PR_n^{ks}(t_0^1+\Delta(n)+2(k-1)+(s-1)n) = \\ \begin{cases} C_n^{ks}1, \text{ если } U_n^{r}(t_0^0+\Delta(n)+2(k-1)+(s-1)n)= A_n^{s}(t_0^0+\Delta(n)+2(k-1)+(s-1)n) , \\ \equiv 0, \text{ если } U_n^{r}(t_0^0+\Delta(n)+2(k-1)+(s-1)n)\ne A_n^{s}(t_0^0+\Delta(n)+2(k-1)+(s-1)n). \end{cases}$$

    где $$t_{0}^1 = t_0^0 + 2$$ такта, а $$\Delta ( n) = 2n + 1$$ тактов - технологическая задержка в слов- инструкции $$DCA_{PD}$$ ;

  • для рис. 5.10:$$PR_n^{ks}(t_0^2+\Delta(n)+2(k-1)+(n-1)+(s-1)n) = \\ \begin{cases} C_n^{ks}1, \text{ если } U_n^{k}(t_0^1+\Delta(n)+2(k-1)+(s-1)n)= A_n^{s}(t_0^1+\Delta(n)+2(k-1)+(s-1)n) , \\ \equiv 0, \text{ если } U_n^{k}(t_0^1+\Delta(n)+2(k-1)+(s-1)n)\ne A_n^{s}(t_0^1+\Delta(n)+2(k-1)+(s-1)n). \end{cases} ,$$

    где $$t_0^1 = t_0^0 + 1$$ такт, $$t_0^2 = t_0^1 + 1 = 2$$ такта, а $$\Delta ( n)$$ в данном случае составляет 6 тактов.

  • При $$v_A = ({\alpha} > 1)*vX$$ PD -ассоциативные конструкции применимы не только в супрамолекулярной, но и в современной опто- или микроэлектронике, так как в этом случае системные временные издержки на синтез специфических $$DCA_{PD}$$ для каждой подстановки $$TRANS$$ можно окупить за счет {\alpha}-циклов их использования. Для этого достаточно в поток-инструкциях $$TRANS$$ $${\alpha}$$ -кратно использовать одни и те же PD -ассоциативные слов-инструкции $$DCA_{PD}$$ рис. 5.11, которые выполнены по схеме целочислен-ного сравнения $$(CMPE_{PD})$$.

    В результате в поток-инструкциях $$TRANS$$ со встроенными блоками $$DCA_{PD} $$:

  • сохраняется структурно-функциональная схема $$TRANS_{DD}$$, но топологические схемы всех составляющих ее слов-инструкций полностью изменяются, так как одна $$DCA_{PD}$$ обычно занимает две и более строк бит-процессоров;
  • этап синтеза слов-инструкций $$\{DCA_{PD}\}$$ для каждой $$v$$ -й перестановки совмещается во времени с этапом $${\alpha}$$ -кратного использования $$TRANS$$ при исполнении $$(v-1)$$ -й подстановки длительностью $${\alpha}*(2S_{m}-1)*n$$ тактов или $${\alpha}*2S_{m}*n$$ тактов в зависимости от типа используемого порта вывода.
  • Поток-инструкции TRANS со встроенными блоками PD-ассоциативной памяти

    В разделе 8.4 курса "Задачи и модели вычислительных наноструктур" на примере умножителей показано, что функция "хранение" ( $$MEMORY$$ ) является атрибутивной для PD -ассоциативных слов-инструкций. Поэтому любую из них можно использовать в поток-инструкциях $$TRANS_{PDv}$$ вместо циклических FIFO -регистров $$\{B_{n}^{k}\}$$ с тем ограничением, что такие слов-инструкции обеспечивают "хранение" переставляемых потоков данных $$\{X_n^s\}_v$$ только на одном цикле $$v$$. В этом случае в супрамолекулярных вычислителях синтез структурно адаптируемых под содержимое потока $$\{X_n^s\}_v$$ ячеек памяти $$\{B_{n}^{k}\}$$ можно совместить во времени с фазой "чтения" $$(READ_{v-1})$$ другой, $$(v-1)$$ -й PD -ассоциативной конструкции $$\{B_{n}^{k}\}_{(v-1)}$$..

    (рис 5.11) Поток-инструкции TRANS с PD-ассоциативной дешифрацией адреса

    Сам синтез PD -ассоциативных $$\{B_{n}^{k}\}$$ можно проводить:

  • в порядке "чтения" (рис. 5.12-а, когда синтезируемые слов-инструкции (в данном случае это $$\{B^{k}_n\}_{v}):=\{OR_{PD}\}_v$$ (рис 5.12) Топологические схемы микропрограмм PD-ассоциативного хранения (MEMORY_PD)
  • в порядке "записи" (рис. 5.12-б, когда синтезируемые слов-инструкции (в данном случае это смесь $$\{B_{n}^{k}\}_{?} ):=\{\{OR_{PD}\},\{XOR_{PD}\},\{ML_{PD}\}\}_{v} $$ размещаются в пространстве в порядке поступления, то есть по индексу $$k = s$$.
  • Все поток-инструкции $$TRANS_{PDv}$$ с PD -ассоциативными слов-инструкциями $$\{MEMORY^{k}_\}_v$$ по определению используются однократно. Поэтому в них оказываются эффективными порты вывода типа $$S_{m}$$ (см. рис. 5.5), на которые расходуется минимальный объем оборудования.

    В поток-инструкциях $$TRANS$$ синтезированных в порядке "чтения" (рис. 5.12-а), каждая $$k$$ -я линейная цепочка содержит всего две слов-инструкции $$READ_{DD} (B^{k}_n, PR^{ks}_n)$$ и $$OUT(D^{ks}_n)$$, которые работают по правилу:

  • $$READ_{DD}(B^{k}_n, PR^{ks}_n) $$ - выходы схем "И" 6-го столбца бит-процессоров (см. рис. 5.12-а):$$\{D_n^{ks}(t_0^v+1 +\delta(n)+(k-1)(n+2))\}_v := \\ \{B_n^{ks}(t_0^v+\delta(n)+(k-1)(n+2)) \bigwedge\limits_{k=1}^{k=S_m} PR_n^{ks}(t_0^v+\delta(n)+(k-1)(n+2))\}_v$$
  • $$OUT(D^{ks}_n) $$ - выход вертикального канала транзита бит-процессоров 6-го столбца рис. 5.11-а:$$\{T_n^{ks}(t_0^v+1 +\delta(n)+2(S_m-1)+(k-1)n)\}_v := \\ \bigvee\limits_{k=1}^{k=S_m} \{D_n^{ks}(t_0^v+\delta(n)++(k-1)(n+2))\}_v$$

    где:

  • $$t_0^v$$ - целочисленное время синтеза супрамолекулярных слов-инструкций $$\{{MEMORY_{PD}}^{k}_n\}_v $$ ;
  • $$\delta(n)$$ - время задержки, расходуемое на возбуждение каждой $$k$$ -й слов-инструкции $$OR_{PD}$$ потоком циклических констант $$\{C_{n} 1\}$$.
  • В поток-инструкциях $$TRANS_{PDv}$$, синтезированных в порядке "записи" (рис. 5.12-б), каждая $$k$$ -я линейная цепочка содержит 3 слов-инструкции: $$DCA - READ - OUT$$, первая из которых работает либо согласно (5.15), либо согласно (5.16).

    В первом случае (совокупность рисунков 5.9 и 5.12-б):

  • для выполнения каждой $$v$$ -й перестановки необходимо предварительно синтезировать специфическую, полностью PD -ассоциативную структуру, которая доопределяется потоком псевдослучайных адресов $$\{\{A_n^s\}_v$$ ;
  • слов-инструкции $$READ_{DD} (B^{k}_n, PR^{ks}_n)$$ (выходы нечетных строк бит-процессоров 4-го столбца рис. 5.12-б) работают по правилу:$$D_n^{ks}(t_0^1+\Delta(n)+\delta(n)+2(k-1)+(s-1)n) := \\ B_n^{k}(t_0^1+\Delta(n)+2(k-1)+(s-1)n) \bigwedge\limits_{k=1}^{k=S_m} PR_n^{ks}(t_0^1+\Delta(n)+2(k-1)+(s-1)n)$$

    где: $$t_0^1$$ и $$\Delta(n)$$ соответствуют (5.5), а $$\delta(n) $$ - это задержка на возбуждение $$MEMORY_{PD}$$, которая зависит как от содержимого всех $$X_{n}^{s} \in \{X^{s}_n\}_v$$, так и от их разрядности $$n$$ (в данном случае $$\delta(n) = 5$$ тактов);

  • слов-инструкции $$OUT(D^{ks}_n)$$ (выход вертикального канала транзита бит-процессоров 4-го столбца рис. 5.12-б) работают по правилу:$$T_n^{ks}(t_0^1+\Delta(n)+\delta(n)+2(S_m-1)+(s-1)n) := \\ \bigvee\limits_{k=1}^{k=S_m} D_n^{ks}(t_0^1+\Delta(n)+\delta(n)+2(k-1)(s-1)n)$$
  • Во втором случае (совокупность рисунков 5.10 и 5.12-б):

  • неспецифическая, DD -ассоциативная структура $$\{DCA_{DD} \}$$ доопределяется на каждом $$v$$ -м цикле как потоком псевдослучайных адресов $$\{A_n^s\}_v$$, так и специфической, PD -ассоциативной структурой $$\{MEMORY_{PD}\}$$ ;
  • слов-инструкции $$READ_{DD}(B^{k}_n, PR^{ks}_n)$$ работают по правилу:$$D_n^{ks}(t_0^2+\Delta(n)+\delta(n)+2(k-1)+(n-1)+(s-1)n) := \\ B_n^{k}(t_0^1+\Delta(n)+2(k-1)+(s-1)n) \bigwedge\limits_{k=1}^{k=S_m} PR_n^{ks}(t_0^1+\Delta(n)+2(k-1)+(s-1)n)$$
  • слов-инструкции $$OUT (D^{ks}_n)$$ работают по правилу:$$T_n^{ks}(t_0^2+\Delta(n)+\delta(n)+(2S_m-1)+(s-1)n) := \\ \bigvee\limits_{k=1}^{k=S_m} D_n^{ks}(t_0^2+\Delta(n)+\delta(n)+2(k-1)+(s-1)n)$$
  • Здесь $$t_0^1$$, $$t_0^2$$ и $$\Delta(n)$$ соответствуют (5.16), где $$t_{0}^0$$ соответствует моменту окончания синтеза $$\{MEMORY_{PD}\}_v$$.

    В зависимости от типа используемой PD -ассоциативной конструкции:

  • Поток псевдослучайных адресов $$\{A_n^s\}_v$$ может использоваться:
  • только на этапе синтеза, как это имеет место в $$TRANS_{PDv} $$, синтези-руемой в порядке "чтения" (см. рис. 5.12-а), где этот поток управляет порядком размещения в пространстве (то есть по индексу $$k $$ ) слов-инструкций $$\{MEMORY_{PD}\}_v $$ ;
  • только на этапе использования, как это имеет место в $$DCA_{PD}$$ рис. 5.11-а, где PD -ассоциативные слов-инструкции "хранят" натуральный ряд чисел $$\{U_n^k\}$$, и поэтому $$\{A_n^s\}_v$$ управляет только порядком срабатывания $$\{DCA_{PD}\}$$ ;
  • и на этапе синтеза, и на этапе использования, как это имеет место в $$TRANS_{PDv}$$ рисунков 5.12-а и 5.12-б, где поток $$\{A_n^s\}_v$$ управляет и поряд-ком размещения в пространстве слов-инструкций $$\{MEMORY_{PD}\}_v$$ (то есть по индексу $$k$$ ), и порядком их возмущения во времени (то есть по индексу $$s$$ ).

    Очевидно, что в последнем случае требуются дополнительные аппаратные средства "хранения" или "регенерации" потока псевдослучай-ных адресов $$\{A_n^s\}_v$$, обеспечивающие их двукратное использование.

  • Синтез PD -ассоциативных поток-инструкций $${MEMORY_{PD} \}_v$$ может осуществляться в пространстве либо фрагментарным, либо хронологическим наращиванием составляющих слов-инструкций. Первое типично для TRANS синтезируемой в порядке "чтения" (см. рис. 5.12-а), второе - для $$TRANS_{PDv}$$, синтезируемой в порядке "записи" (см. рис. 5.12-б).

    Синтез составляющих слов-инструкций $$MEMORY_{PD}$$ по индексу $$i =\overline{1,n}$$ также можно осуществить как в линейном порядке, так и фрагментарно, например, одновременным включением в одну и ту же слов-инструкцию однотипных термов, занимающих в ней разное положение по $$i$$.

    Возможен и комбинированный синтез PD -ассоциативных поток-инструкций типа: "фрагментарный по $$i $$ - линейный по $$k$$ ", "фрагментарный по $$i$$ и $$k$$ " и.т. п.

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

  • Цикл возбуждения всех рассмотренных $$TRANS_{PD}$$ составляет $$n = n_X$$ тактов, а фронт возбуждающей волны распространяется в пространстве линейно с задержкой на 2 такта в каждой $$k$$ -й линейной цепочке слов-инструкций. Поэтому отклик поток-инструкций $$\{DCA_{PD}\}$$ рисунков 5.9, 5.11-а и поток-инструкций $$\{MEMORY_{PD}\}$$ рис. 5.12-а составляет $$\mu = 2S _{m} / n$$. Но в схеме рис. 5.12-а он носит линейный по $$k$$ характер, а в схеме рис. 5.12-б составляющие слов-инструкции $$MEMORY_{PD}$$ возбуждаются уже фрагментарно.
  • Системотехнические выводы по лекции 5

  • Рекуррентные процедуры синтеза ассоциативных слов- и поток-инструкций определяются термальным составом, который в свою очередь зависит от процедуры декомпозиции реализуемого поток-оператора (см. рис. 5.1). В частности, один и тот же оператор подстановки $$TRANS_{DD}$$ можно реализовать и на основе трех термов $$DCA -MEMORY - READ$$ и на основе пяти термов $$WRITE - MEMORY - DCA - READ - OUT$$.
  • Рекуррентные процедуры синтеза ассоциативных слов- и поток-инструкций сводятся к наращиванию количества термов и/или их размеров в зависимости от разрядности и/или размерности преобразуемых потоков данных, что делает такой синтез сходным с процессом полимеризации сложных (био)молекулярных соединений.
  • DD-ассоциативные конструкции по определению инвариантны содержимому потоков преобразуемых данных. Поэтому поиск их термального состава сводится:
  • к выбору базовой топологии и настройке линейных цепочек составляющих слов-инструкций на разрядность обрабатываемых операндов $$n_{A}$$, $$n_{X}$$ или $$n$$ ;
  • к рекуррентной по $$s$$ процедуре наращивания линейных цепочек слов-инструкций в $$TRANS_{DD}$$ до размера "скользящего окна" $$S_{m}$$. При этом благодаря фиксированному составу используемых термов и известной разрядности преобразуемых операндов все фазовые сдвиги в слов-инструкциях оказываются вычисляемыми. В результате термальный синтез топологии DD-ассоциативных поток-операторов становится формализованным.
  • Из всех рассмотренных DD - и PD -ассоциативных конструкций минимальные аппаратные затраты требует поток-инструкция $$TRANS_{PDv}$$, синтезируемая в порядке "чтения", так как основная "сложность" преобразований реализуемой перестановки в этом случае ложится на этап синтеза PD -ассоциативных слов-инструкций $$\{MEMORY_{PD}\}_{v}$$. При этом следует учитывать, что топология PD -ассоциативных слов-инструкций по определению зависит от содержимого преобразуемых потоков данных. Но и в этом случае, ограничив состав используемых термов и введя в качестве ограничения фиксированное и зависящее от $$n$$ время задержки в каждой PD -ассоциативной конструкции, можно формализовать процедуру синтеза как отдельных слов-инструкций, так и их линейных цепочек.
  • Для перспективных супрамолекулярных вычислителей выбор между DD - и PD -ассоциативными конструкциями фактически сводится к выбору метода адаптации, который зависит от "времени жизни" гете-роструктуры:
  • если "время жизни" велико, то предпочтение следует отдавать DD-ассоциативным конструкциям, конформационные преобразования которых позволяют настроить их на реализацию требуемой функции;
  • если "время жизни" мало, то предпочтение следует отдавать PD-ассоциативным конструкциям, настройка которых на реализуемую функцию и содержимое одного из преобразуемых операндов требует структурной адаптации.
  • Интерактивный характер выбора топологии термов, а с ней и топологии слов- и поток-инструкций предопределен линейными размерами матриц, априори выделяемых на их реализацию. При этом, как и в молекулярной биологии, следует отличать функционально значимые и промежуточные (вставочные) термы, первые из которых задают правила и циклы взаимодействия между слов-инструкциями, а вторые обеспечивают рекуррентное наращивание по какому-либо параметру однородной функции. Характерно также, что в "активных зонах" DD - и PD -ассоциативные конструкции взаимодействуют не только между собой, но и с потоками управляющих данных, которые задают циклы (по $$n$$ или $$S_{m}$$ ) такого взаимодействия.
  • Технологические задержки в соотношениях (5.1)-(5.22) типа $$\Delta(n), \delta(n)$$ и т. п. носят неаналитический характер и существенно зависят от топологической схемы используемой ассоциативной конструкции. Поэтому достичь их априорного знания можно только задав ограничения на допустимый состав элементарных термов, а с ними по возрастающей на топологические схемы слов- и поток-инструкций. В этом и только в этом случае можно формализовать процедуры микропрограммного конструирования ассоциативных поток-процессоров. Последнее говорит о (полу)эмпирическом характере синтеза ассоциативных гетероструктур, что свойственно и реальным молекулярно-биологическим процессам.
  • В МКМД-бит-потоковых матрицах "фронт вычислительной волны" распространяется по бит-матрице с помощью механизмов, сходных "пробоям" в реальных аксонно-коллатеральных связях, что наиболее четко проявляется в интерфейсах рис. 5.12-а. Это указывает на то, что в реальных нейросетях преобразование информации может осуществляться не только в соме нейрона, но и в процессе распространения возбуждения по аксонно-коллатеральным связям, реализующим функции алгоритмически ориентированных PD -ассоциативных субпроцессоров.
  • Страницы:

    5.1. Технология (микро)программного конструирования МКМД-бит-потоковых субпроцессоров

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

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

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

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

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

    В кремниевых компиляторах используется только декомпозиция операторов пользователя, которая осуществляется в пакетном режиме,

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

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

    В настоящее время отсутствуют инструментальные средства, способные поддержать в пакетном режиме, а тем более в реальном времени процесс погружения даже формализованных задач пользователя до уровня их аппаратной реализации. Такой процесс по-прежнему носит интерактивный характер, в котором автоматически генерируются только библиотечные слов-инструкции и тестовые микропрограммы. Компоновка библиотечных слов-инструкций на бит-матрице осуществляется в автоматизированном режиме, где решения о способах размещения и преобразования библиотечных слов-инструкций принимает человек. Исполняет заданные процедуры перемещения и "деформации" топологии микропрограммных модулей на бит-матрице инструментальная ЭВМ, на дисплее которой формируется результирующее графическое представление синтезируемых операционных, управляющих, интерфейсных, адресных и диагностических модулей алгоритмически ориентированного МКМД-бит-потокового субпроцессора. Поэтому в МКМД-бит-потоковой технологии получить достоверные системотехнические оценки качества декомпозиции удается только после построения каждого варианта топологической схемы. Исходные данные для оценки качества декомпозиции порождает процедура проверки условия $$|t_{i}-t_{j}| = 1$$ для всех информационно связанных процедур типа "1.1"-"5.1", рассмотренных в разделе 4.1. Это условие характеризует степень использования основными процедурами пользователя допустимого времени задержки в МКМД-бит-потоковом субпро-

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

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

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

    (рис 5.2) Структура инструментальных средств оптоэлектронного МКМД-бит-потокового (суб)процессора

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

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

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

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

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

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

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

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

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

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

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

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

    Методику термального синтеза микропрограмм слов- и поток-инструкций в полной мере иллюстрируют рекуррентные процедуры построения операционных модулей поток-инструкции перестановки данных ( TRANS ) по верхнему индексу $$\{X_n^k \}_v := \{X^{s}_n\}_v $$, которые гарантированно удовлетворяют системообразующее для МКМД-бит-потоковых технологий неравенство (6.1) курса "Задачи и модели вычислительных наноструктур", если используются в большом количестве циклов $$n$$. При этом возможны два случая, когда синтезированный поток-оператор покрывает все факториальное пространство подстановок $$(S_m!)$$:

  • без изменения топологии микропрограммы, то есть только за счет вариаций порядка следования псевдослучайных адресов $$\{A^{s}_n\}_v,$$ что характерно для классических DD-ассоциативных конструкций;
  • с изменением топологии микропрограммы в зависимости от содержимого потока адресов $$\{A^{s}_n\}_v$$ и/или преобразуемого потока данных $$\{X^{s}_n\}_v,$$ что характерно для PD-ассоциативных конструкций.
  • Здесь $$X^{k}_n = \{X^{s}_n\}$$ ; $$A^{s}_n = k(s)$$ ; $$v = \overline{l,v_{m}, v_{m}}$$ $$v_m= S_{m}$$!, и в каждом $$\eta$$ -м цикле выполняемая подстановка $$v$$ может изменяться, сохраняя свои параметры $$s =\overline{1,S_{m}}$$ ; $$k = \overline{1,S_{m}}$$. Сокращенная формальная запись $$v$$ -й подстанов-ки содержит только множество транспозиций: $$\{T_n^{ks} := (X_{n}^k := X_{n}^s)\}_{v}$$, где $$\{T_n^{ks}\}_v \le S_m$$ и $$k\ne s$$.

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

    В традиционной вычислительной технике для выполнения подстановок обычно используют ЗУПВ в одном из двух режимов:

  • запись потока входных данных в ячейки памяти $$B_n^k$$ в порядке их поступления, то есть по индексу $$s: \{B^k_n := X^s_n \}$$, где $$k = s$$, и чтение ячеек памяти в порядке подстановки, то есть по индексу $$k(s): {X_n^{k(s)} := B_n^k \}_v$$ ;
  • запись потока входных данных в ячейки памяти в порядке подстановки: $$k(s): \{B^k_n := X_{n}^{k(s)}\},$$ и чтение ячеек памяти в хронологическом порядке по $$k: \{ X_{n}^{k} := B_{n}^{k} \}_v $$.
  • С системотехнических позиций оба режима эквивалентны, так как требуют одних и тех же объемов памяти - $$(S_{m}*n)$$ бит, и используют ЗУПВ с разделением времени между фазами записи и чтения. В результате цикл выполнения подстановки оказывается равным $$2S_m$$, что снижает в 2 раза регламентируемый теоремой Котельникова предельный темп поступления и обработки сигналов и изображений. Чтобы компенсировать такие временные издержки, используют парафазную схему включения двух блоков ЗУПВ, что позволяет совместить во времени фазу записи $$v$$ -й подстановки в одном блоке, с фазой чтения $$(v-1)$$ -й подстановки в другом блоке. В результате в 2 раза возрастает объем используемой ЗУПВ, но "средний" цикл выполнения одной подстановки становится равным S.

    В операционном модуле МКМД-бит-потоковой инструкции $$TRANS$$ используется не ЗУПВ, а $$S_m$$ $$n$$ -битных FIFO -регистров, причем каждая, в том числе и "тождественная транспозиция" $$v$$ -й подстановки выполняется линейной последовательностью из 3 слов-инструкций:

  • дешифрации адреса - $$DCA (U^{k}_n, A^{s}_n)$$,
  • записи и хранения - $$MEMORY (X^{s}_n, PW^{ks}_n)$$,
  • чтения - $$READ (B^{k}_n, Z^{ks}_n) $$.
  • Ограничим рассмотрение различных вариантов реализации МКМД-бит-потоковой инструкции $$TRANS\,S_m = 4$$ и вторым режимом работы FIFO -регистровой памяти, считая, что индекс подстановки $$v$$ меняется с максимально возможной скоростью, то есть на каждом $$\eta$$ -м цикле использования поток-оператора, и поэтому $$\eta = v$$.

    В DD -ассоциативной векторно-конвейерной поток-инструкции $$TRANS_{DD}$$ снимается ограничение на $$k \ne s$$ и каждая из $$S_m$$ "транспозиций", входящих в $$v$$ -ю подстановку, выполняется линейной последовательностью слов-инструкций: $$DCA_{DD} (U^{k}_n, A^{s}_n) \to MEMORY (X^{s}_n, PW^{ks}_n) \to READ_{DD} (B^{k}_n, Z^{ks}_n).$$

  • Дешифратор адреса $$k$$ -й "транспозиции" $$DCA_{DD} (U^{k}_n, A^{s}_n)$$ представляет собой строку матрицы (терм) из 7 бит-процессоров (рис. 5.3), на выходе каналов АЛУ которой реализуется преобразование:$$PW_{n}^{ks}(t_0^1 + k+(n-1)+(s-1)n):= \begin{cases} \equiv 1, \text{ если } U_n^k(t_0^0+k+(s-1)n) = A_n^s(t_0^0+k+(s-1)n), \\ \equiv 0, \text{ если } U_n^k(t_0^0+k+(s-1)n) \ne A_n^s(t_0^0+k+(s-1)n), \end{cases}$$

    где все аргументы и параметры целочисленные:

  • $$A_{n}^s \in\{\overline{1,S_{m}}\}$$ - подстановочный адрес $$k(s)$$ $$k$$ -й "транспозиции";(рис 5.3) Топологическая схема слов-инструкции DCA_DD
  • $$\{U_n^k\} = \overline{1,S_{m}}$$ - натуральный ряд чисел, задающих номера строк бит-матрицы или, что одно и то же, пространственные адреса кольцевых FIFO -регистров $$\{B_n^k\}$$, которые заносятся со сдвигом влево и циклически воспроизводятся на выходах бит-инструкций $$CG$$ первого столбца матрицы;
  • $$t_{0}$$ - начальная задержка потоков псевдослучайных адресов $$\{\{A_n^s\}_v\}$$ и преобразуемых потоков данных $$\{\{X^{s}_{n}\}_{?}\}$$, которая может появиться во входном интерфейсе субпроцессора $$TRANS_{DD}$$ при компоновке слов-инструкций на бит-матрице (в библиотечном модуле $$t_{0}^0 = 0$$ );
  • $$t_{0}^1 = t_{0}^0 + t_{d}$$ - суммарная "технологическая" задержка на выходе $$k$$ -й слов-инструкции $$DCA_{DD}$$, где $$t_{d}$$ включает: 1 такт - на $$XOR$$, 3 такта - на $$OR$$ (монтажное "ИЛИ"), 1 такт - на $$NAND$$ и 2 такта - на $$ST1$$, из которых только в $$OR$$ задержка зависит от $$n$$ (в данном случае $$n = 8$$ бит и $$t_{0}^1 = t_{d} = 7$$ тактов);
  • $$k = \overline{1, S_{m}}$$ - "технологическая" задержка на распространение $$\{\{A^s_n\}_{?} \}$$ и $$\{\{X^s_n\}_v \}$$ по каналам транзита соответственно до входа и выхо-да $$k$$ -й слов-инструкции $$DCA_{DD}$$, то есть $$k$$ -й строки бит-матрицы рис. 5.3;
  • $$(n-1)$$ - функциональная задержка в каждой $$k$$ -й слов-инструкции $$DCA_{DD}$$, которая расходуется на размещение признака результата в старший ( $$n$$ -й) бит каждого $$s$$ -го цикла сравнения;
  • $$(s-1)n$$ - фазовый сдвиг $$A_n^s$$ и $$X_n^s$$ соответственно в бит-потоках данных $$\{\{\{a^{s}_i\}_n\}_v\}$$ и $$\{\{\{x^{s}_i\}_n\}_v\}$$, где $$\{a^{s}_i\}_n = A^{s}_n$$ и $$\{x^{s}_i\}_n = X^{s}_n$$ ;
  • $$s = \overline{1,M} $$ - хронологический адрес синхронного поступления $$A_n^s$$ и $$X_{n}^s$$ на соответствующие входы $$TRANS_{DD}$$ ;
  • $$M = v*(2S_{m}-1)$$ - период активности поток-инструкции $$TRANS_{DD}$$ на $$v$$ циклах ее использования, так как по условиям правильной работы требуется, чтобы в потоке данных $$\{X_n^s\}_v$$ и псевдослучайных адресов $$\{A_n^s\}_v$$ только первые $$S_m$$ $$n$$ -битных слов были значащими, а остальные $$(S_m -1)$$ слов - "нулевыми".
  • Главная особенность слов-инструкции $$DCA_{DD}$$ состоит в потоковой реализации схемы "ИЛИ" с $$n$$ входами (бит-процессоры 3-5 столбцов рис. 5.3), где результат циклического сравнения пространственного и потокового адресов (бит-процессоры 2-го столбца матрицы) размещаются в 8-м бите каждого $$s$$ -го цикла. В дальнейшем содержимое этого бита циклически выделяется в бит-процессорах 7-го столбца матрицы, где и формируется $$n$$ -битный результат дешифрации $$PW^{is}_n$$.

  • Блок записи и хранения содержимого $$X^{s}_n\,MEMORY_{DD} (X^{s}_n, PW^{ks}_n)$$ состоит из $$k$$ термов в виде кольцевых FIFO -регистров $$B_n^k$$ (строка бит-матрицы рис. 5.4), на каждом входе которого (бит-процессоры 2-го столбца) реализуется преобразование:$$\{B^{ks}_n(t_0^2+k+ (n-l) + (s-l)n)\}_{v}:= \{X^{s}_{n}(t_0^1 + k + (n-1) + (s-1)n)) \land PW_n^{ks}(t_0^1+k + {n-1) + (s-1)n)}_{v}$$

    где:

  • $$t^2_0 = t^1_0 + 2 $$ - суммарная "технологическая" задержка $$\{\{ X^s_n\}_v\}$$ до выхода $$k$$ -й слов-инструкции $$WRITE_{DD}$$, входящей в $$MEMORY_{DD}$$ (для $$n = 8$$ бит $$t^2_0 = 7$$ тактов);
  • $$s = \overline{s_1(v),s_2(v)}$$, $$s_1(v) = (v-l)(2S_{m}-1)+1$$ и $$s_1(v) = v*(2S_{m} - 1)$$ - соответственно начальное и конечное значение хронологического индекса $$s$$ на $$v$$ -м цикле использования $$TRANS_{DD}$$ ;
  • $$S_m *n$$ - фактический цикл записи всего потока $$\{X_n^s \}_v$$ в $$\{B_n^k \}_v$$ в $$v$$ -м цикле использования поток-инструкции $$TRANS_{DD}$$.
  • Циклическое (по $$s$$ ) хранение $$\{X_n^s \}_v$$ в $$S_m$$ кольцевых FIFO -регистрах $$\{B_n^k \}$$ на $$v$$ -м цикле их использования (выходы бит-процессоров 4-го столбца рис. 5.4) имеет вид:

    $$\{B_n^{k(s+1)}(t_0^2 + k + (n -1) + sn)\}_{v} := \{B_n^{ks} (t_0^2+\Delta(n)+k +(n-1) + (s- l)n))\land Z_n^{ks}(t_0^2+\Delta(n)+k+(n-l)+(s-l)n)\}_{v}$$

    где:

  • $$\Delta(n)$$ - определяется той частью кольцевого циклического (рис 5.4) Топологическая схема слов-инструкции MEMORY_DD
  • $$\{Z^{ks}_n\}_v$$ - поток "обнуляющих" операндов, который поступает на вход RS и который имеет циклический по $$v$$ вид $$Z^{k1}_n \equiv 0$$ и $$Z^{ks}_n \equiv 1$$ для всех $$s = \overline{2,(2S_{m} -1)}$$.
  • Блок чтения $$READ_{DD}(B^{ks}_n, PR^{ks}_n)$$ содержимого $$S_m$$ кольцевых FIFO -регистров $$\{B_n^k\}$$ (термов) на $$v$$ -м цикле их использования (входы бит-процессоров 1-го столбца рис. 5.5 или, что одно и то же, выходы бит-процессоров 5-го столбца рис. 5.4) реализует преобразование:$$\{D^{t_0^3 + \Delta(n)+(S_{m}-1)n + k(n + 1)\}_{v} := \{B^{ks}_n(t_0^2+\Delta(n) + (S_{m}-1)n +k(n+1))\land PR^{ks}_n(t_0^2+\Delta(n) + (S_{m}-1)n +k(n+1))\}_{v}$$

    где:

  • $$t_0^3 = t_0^2 + 1$$ - суммарная "технологическая" задержка $$\{\{X_n^s\}_v \}$$ до выхода слов-инструкции $$READ_{DD}$$ (для $$n = 8$$ бит $$t_0^3 = 10$$ тактов);
  • $$(S_m -1)n$$ - сдвиг разделенных во времени фаз записи и чтения, а $$k = \overline{s_{l}(v),s_{2}(v)}$$ ;
  • $$\{\{PR^{ks}_n\}_v \}$$ - поток управляющих операндов, который формирует-ся бит-процессорами 2-го и 3-го столбцов рис. 5.5, распространяется по строкам бит-матрицы с задержкой $$k(n+1)$$ и имеет циклический по $$v$$ вид $$PR^{k1}_n \equiv 1$$ и $$PR^{ks}_n \equiv 0$$ для всех $$s = \overline{2,(2S_m -1)}$$ ;
  • $$C_{N} 1$$ - циклическая по $$v$$ константа, которая задает однократный цикл "записи-чтения", равный $$(2S_m-1)n$$ тактов, и которая имеет вид: 1-й бит - "единица" и остальные биты - "нули";
  • $$C_{n} 1$$ - циклическая по $$s$$ константа, которая задает разрядность обрабатываемых операндов и которая имеет вид: 1-й бит - "единица", а остальные $$(n-1)$$ бит - "нули".
  • (рис 5.5) Топологическая схема порт вывода типа S TRANS
  • Встроенный в $$READ_{DD}$$ блок $$OUT(D^{k}_N)$$ вывода данных $$\{D^k_n \}_{v}$$ через $$S_{m}$$ -битный FIFO -порт, на выходе которого (выход вертикального канала транзита бит-процессоров 1-го столбца рис. 5.5) реализуется преобразование:$$\{T_n^{ks} (t_0^3 + \Delta(n) + (S_{m} - 1)n + (S_{m} - k +1) + k(n + 1))\}_{v} := V\{D_n^{ks} (t_0^3 + \Delta(n) + (S_{m} - 1)n + k(n + 1))}_{v}$$

    где: $$(S_m - k+1)n$$ - "технологическая" задержка на распространение $$D^{ks}_n = X^{ks}_n$$ от $$k$$ -го входа и до выхода схемы "ИЛИ" с $$S_m$$ входами FIFO -регистрового порта вывода.

  • Из приведенных данных видно, что в соотношениях (5.1)-(5.3) в качестве хронологического используется индекс $$s $$, а в соотношениях (5.4)-(5.5) в этом качестве выступает индекс $$k = \overline{s_1(v),s_2(v)}$$.

    Как и всякая ассоциативная конструкция, $$TRANS_{DD}$$ требует доопределения задающих ее формальных соотношений (5.1)-(5.5) содержимым пространственно-временных потоков данных, которые используются в качестве управляющих. В данном случае к ним относятся $$Z_{n}^{ks}$$, $$C_{N}1$$ и $$C_{n} 1$$, которые задают соответственно цикл выполнения перестановки $$\{T^{ks}_n\}_{v} \in \{T^{ks}_n\}_{v_m}$$ и разрядность $$n$$ переставляемых операндов. Более того, условия правильной работы слов-инструкций $$\{DCA_{DD}\}_v$$ доопределяются содержимым потоками преобразуемых данных $$\{A_n^s\}_v$$ и $$\{X_n^s \}_v,$$ обеспечивающих синфазную и синхронную работу всех слов-инструкций, входящих в $$TRANS_{DD}$$.

    Тем не менее, для однозначного задания условий правильной работы ассоциативной поток-инструкции $$TRANS_{DD}$$, а с ними и выполняемого ею преобразования $$F_v:\{X^{s}_n \to X_{n}^{k}\}_v$$, этого недостаточно. Объясняется это тем, что в "сложных" ассоциативных конструкциях содержимое информационных и управляющих потоков задает только необходимые условия их правильной работы. Полное устранение неоднозначности в таких конструкциях требует выполнения фазовых соотношений между всеми потоками управляющих и преобразуемых данных в процессе их распространения по составляющим слов-инструкциям, как по горизонтали, то есть в каждой $$k$$ -й линейной последовательности $$DCA - WRITE - MEMORY - READ - OUT$$, так и по вертикали, то есть по всей совокупности таких последовательностей. При этом параметр $$v_m$$ входит в (5.1)-(5.5) только контекстно, так как он задает период активности поток-инструкции и поэтому используется в устройстве управления $$P$$ -шиной субпроцессора, а не в устройстве управления потоками данных.

    Сказанное иллюстрирует табл. 5.1 для подстановки вида:

    $$\{T_n^{ks}\}_v:= \left( \begin{array}{l} X_8^k:X_8^1,X_8^2,X_8^3,X_8^4 \\ X_8^s:X_8^3,X_8^1,X_8^4,X_8^2 \end{array} \right )$$
    Идентификация состояний поток-оператора TRANS
    а) выходы дешифратора ( $$DCA_{DD}$$ )
    Значение 0 1 0 0
    Такт 18 26 34 42
    Значение 0 0 0 1
    Такт 17 25 33 41
    Значение 1 0 0 0
    Такт 16 24 32 40
    Значение 0 0 1 0
    Такт 15 23 31 39
    б) входы кольцевых FIFO-регистров ( $$WRITE_{DD}$$ )
    0 $$X_8^2$$ $$X_8^2$$ $$X_8^2$$
    Такт 20 28 36 44
    Значение 0 0 0 $$X_8^4$$
    Такт 19 27 35 43
    Значение $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$
    Такт 18 26 34 42
    Значение 0 0 $$X_8^3$$ $$X_8^3$$
    Такт 17 25 33 41
    в) выходы схем "И" кольцевых FIFO-регистров (MEMORY_{DD})
    Значение 0 $$X_8^2$$ $$X_8^2$$ $$X_8^2$$ $$X_8^2$$ $$X_8^2$$ 0
    Такт 25 33 41 49 57 65 73
    Значение 0 0 0 $$X_8^4$$ $$X_8^4$$ $$X_8^4$$ 0
    Такт 24 32 40 48 56 64 72
    Значение $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ 0
    Такт 23 31 39 47 55 63 71
    Значение 0 0 $$X_8^3$$ $$X_8^3$$ $$X_8^3$$ $$X_8^3$$ 0
    Такт 22 30 38 46 54 62 70
    г) входы схемы "ИЛИ" порта вывода ( $$READ_{DD}$$ )
    Значение 0 0 0 0 0 0 $$X_8^2$$
    Такт 25 33 41 49 57 65 73
    Значение 0 0 0 0 0 $$X_8^4$$ 0
    Такт 24 32 40 48 56 64 72
    Значение 0 0 0 0 $$X_8^1$$ 0 0
    Такт 23 31 39 47 55 63 71
    Значение 0 0 0 $$X_8^3$$ 0 0 0
    Такт 22 30 38 46 54 62 70
    д) выходы схемы "ИЛИ" порта вывода ( $$OUT$$ )
    Значение $$X_8^3$$ $$X_8^1$$ $$X_8^4$$ $$X_8^2$$
    Такт 50 58 66 74
    Значение $$X_8^3$$ $$X_8^1$$ $$X_8^4$$ 0
    Такт 49 57 65 73
    Значение $$X_8^3$$ $$X_8^1$$ 0 0
    Такт 48 56 64 72
    Значение $$X_8^3$$ 0 0 0
    Такт 47 55 63 71

    Из (5.1)-(5.5) видно, что в FIFO -регистровой памяти фаза записи выполняется параллельно, а фаза чтения - последовательно. Однако, как и в ЗУПВ, из-за разделения этих фаз во времени пропускная способность по потоку входных данных и здесь снижается в 2 раза, что увеличивает и период дискретизации по Котельникову: $$\Delta T_s = 2n\tau_c$$, где $$\tau_c$$ - длительность такта работы бит-матрицы. Коэффициент векторизации каждой $$v$$ -й фазы записи $$\mu_W = S_v/n$$ определяется условием распространения $$\{\{A^{s}_n\}_v\}$$ и $$\{\{X^{s}_n\}_v\}$$ по соответствующим каналам транзита. Заменив эти каналы на каналы транзита с задержкой, можно увеличить в 2 раза количество одновременно дешифруемых $$A^{s}_n \in \{A^{s}_n\}_v$$, а с ними и коэффициент распараллеливания фазы записи $$\{\{X^{s}_n\}_v\}$$ в $$\{B_n^k\}$$. Однако в этом случае повышается в 2 раза только пользовательская производительность (то есть пропускная способность по потоку команд), но не пропускная способность $$TRANS_{DD}$$ по потоку данных. Это связано с тем, что поток данных $$\{\{X^{s}_n\}_v\}$$ распространяется последовательно по слов-инструкциям $$WRITE$$, а его значащая часть по определению не может занимать меньше $$S_m *n$$ тактов из $$(2S_m - 1) n$$ тактов всего $$v$$ -го цикла "записи-чтения". Поэтому повысить пропускную способность $$TRANS_{DD}$$ по потоку данных до предельно возможной с $$\Delta T_{s} = n \tau_{c}$$ можно только за счет совмещения во времени фаз записи и чтения. Но в DD -ассоциативных MIMD-бит-потоковых конструкциях для этого нет необходимости прибегать к избыточной (по аппаратным затратам на $$\{DCA_{DD}\}_{Sm}$$ ) парафазной схеме, как это имеет место в вычислителях на основе ЗУПВ. В данном случае достаточно в порт вывода ввести $$(S_m -1)$$ буфер-ных FIFO -регистров общей емкостью $$(2S_m -1)(n-1)$$ бит (рис. 5.6). В этом случае в фазе $$READ$$ выполняется "параллельно" и все $$\{D^{ks}_n\}_v$$ считываются из кольцевых FIFO -регистров с задержкой на 1 такт. В результате, как и в парафазной схеме ЗУПВ, удается совместить во времени фазу записи $$\{\{X^{s}_n\}_v\}$$ в $$\{B_{n}^k\}$$ с фазой вывода $$\{D_{n}^{ks}\}_{v-1}$$ через последовательный порт вывода поток-инструкции $$TRANS_{DD}$$.

    Такой режим работы $$TRANS_{DD}$$ иллюстрирует табл. 5.2. В этом случае сигнал "чтение" $$\{PR^{ks}_n\}_{v}$$ распространяется по бит-матрице не с задержкой на $$(n+1)$$ тактов, а с задержкой на 1 такт в каждой горизонтальной линейной цепочке слов-инструкций $$DCA_{DD} - OUT$$. Поэтому в соотношениях (5.1)-(5.5) надо использовать $$s_1(v) = (v-1)S_m +1$$ и $$s_{2}(v) = v*S_m $$, а в соотношениях (5.4)-(5.5) фазовую задержку $$k(n+1)$$ надо заменить на $$k$$.

    (рис 5.6) Топологическая схема порта вывода типа Sm*n

    С системотехнических позиций порты рисунков 5.5 и 5.6 отличаются тем, что первый параметрически адаптируется под разрядность $$n$$, а второй - структурно, причем порту рис. 5.6 в традиционной вычислительной технике отвечает многопортовое ОЗУ прямого доступа, как по записи, так и по чтению.

    Идентификация состояний поток-оператора TRANS_DD
    а) выходы схем "И" кольцевых FIFO-регистров ( $$MEMORY_{DD}$$ )
    Значение 0 $$X_8^2$$ $$X_8^2$$ $$X_8^2$$ 0
    Такт 25 33 41 49 57
    Значение 0 0 0 $$X_8^4$$ 0
    Такт 24 32 40 48 56
    Значение $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ $$X_8^1$$ 0
    Такт 23 31 39 47 55
    Значение 0 0 $$X_8^3$$ $$X_8^3$$ 0
    Такт 22 30 38 46 54
    б) входы схемы "ИЛИ" порта вывода ( $$READ_{DD}$$ )
    Значение 0 0 0 $$X_8^2$$ 0
    Такт 25 33 41 49 57
    Значение 0 0 0 $$X_8^4$$ 0
    Такт 24 32 40 48 56
    Значение 0 0 0 $$X_8^1$$ 0
    Такт 23 31 39 47 55
    Значение 0 0 0 $$X_8^3$$ 0
    Такт 22 30 38 46 54
    в) выходы линейной схемы "ИЛИ порта вывода ( $$OUT$$ )
    Значение 0 0 0 $$X_8^2$$ 0 0 0
    Такт 27 35 43 51 59 67 75
    Значение 0 0 0 $$X_8^4$$ $$X_8^2$$ 0 0
    Такт 26 34 42 50 58 66 74
    Значение 0 0 0 $$X_8^1$$ $$X_8^4$$ $$X_8^2$$ 0
    Такт 25 33 41 49 57 65 73
    Значение 0 0 0 $$X_8^3$$ $$X_8^1$$ $$X_8^4$$ $$X_8^2$$
    Такт 24 32 40 48 56 64 72

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

    В поток-инструкции $$TRANS$$ с подстановкой в фазе чтения (рис. 5.7) используется PD -ассоциативный блок $$READ_{PD}$$, который обеспечивает поступление сигнала "чтение" ( $$R$$ - рис. 5.7-б) на выходные вентили FIFO -регистров в порядке, отвечающем реализуемой подстановке.

    Основная особенность $$TRANS$$ со встроенными PD -ассоциативными блоками состоит в том, что в них удается совместить во времени этапы реализации слов-инструкций $$WRITE_{DD}(X^{s}_n, PW^{k}_n)$$ и $$DCA_{DD}(U^{k}_n, A^{s}_n)$$. В этом случае линейная последовательность слов-инструкций принимает вид: $$WRITE - MEMORY DCA - READ - OUT$$. Здесь перестановка порядка выполнения слов-инструкций $$WRITE$$ и $$DCA$$ сопровождается зеркальным отражением их топологических схем по отношению к вертикальной оси (ср. рис. 5.6 и рис. 5.7).

    В результате из (5.1)-(5.5) исключается функциональная задержка в $$(n -1)$$ тактов на дешифрацию, а сами преобразования принимают вид:

  • $$WRITED (X^{s}_n , PW^{k}_n)$$ - выходы бит-процессоров 4-го столбца рис. 5.7-а:$$\{B^{ks}_n(t^{5}_{0}+k+(s-l)n)\}_{v}:= \{X^{s}_{n}(t_0^4+k+(s- l)n))\land PW^k_n(t_0^4+k + (s- 1)n)\}_{v}$$

    где:

  • $$t_0^4 = 4$$ такта - начальная задержка $$\{\{X_n^s \}_v\}$$ до входа $$k$$ -й слов-инструкции $$WRITE_{DD}$$ ;
  • $$t_{0}^5 = t_{0}^4 + 2 = 6$$ тактов и $$k = s, (s = \overline{s_1(v),s_2(v)})$$ ;
  • $$PW^{ks}_n$$ - эквивалентна по содержимому $$PR^{ks}_n$$ в (5.4).
  • 2. $$MEMORY(B^{k}_n, Z^{ks}_n)$$ - выходы "монтажного ИЛИ" бит-процессоров 4-го столбца рис. 5.7-а:$$\{B_n^{k(s+1)}(t_0^5+k+sn)\}_v := \\ \{B_n^{ks}(t_0^5+\Delta(n)+k+(s-1)n)\land Z_n^{ks}(t_0^5+\Delta(n)+k+(s-1)n)\}_v ,\\ (s=\overline{s_1(v),s_2(v)})$$
  • $$DCA_{DD}(U^{k}_n, A^{s}_n)$$ - выходы каналов АЛУ бит-процессоров 7-го столбца рис. 5.6-а и 1-го столбца при зеркальном отражении для рис. 5.7:$$PR_n^{ks}(t_0^6+\Delta(n)+k+(n-1)+(s-1)n):= \\ \begin{cases} \equiv 1, \text{ если } U_n^{k}(t_0^5+\Delta(n)-\phi+k+(s-1)n)= A_n^{s}(t_0^0+\Delta(n)-\phi+k+(s-1)n) , \\ \equiv 0, \text{ если } U_n^{k}(t_0^5+\Delta(n)-\phi+k+(s-1)n)\ne A_n^{s}(t_0^0+\Delta(n)-\phi+k+(s-1)n) . \end{cases}$$ (рис 5.7) Топологическая схема микропрограммы TRANS_DD с подстановкой при чтении

    где $$t_{0}^6 = t_{0}^5 + 2 = 8$$ тактов,а $$\phi = t_d+(n-1)$$ - совмещение во времени этапов записи и дешифрации потоков $$\{X_n^s\}_v$$ и $$\{A_n^s\}_v$$, в которых знача-щие части смещены друг по отношению к другу на $$(S_m -1)n$$ тактов, то есть считается, что в потоке $$\{A_n^s\}_v$$ первые $$(S_m - 1)n$$ тактов - "нули" а остальные $$S _{m}n$$ тактов - значащие, а в потоке $$\{X_n^s\}_v$$ - наоборот.

  • $$READ_{PD} ( B_{n}^{ks} , PR^{ks}_n)$$ - выходы каналов АЛУ бит-процессоров 1-го столбца рис. 5.7-б:$$\{D_n^{ks}(t_0^7+\Delta(n)+k+(s-1)n)\}_v := \\ \{B_n^{ks}(t_0^6+\Delta(n)+k+(s-1)n)\}_v\land \{Z_n^{ks}(t_0^6+\Delta(n)+k+(s-1)n)\}_v ,$$

    где:

  • $$t_{0}^7 = t_{0}^6 + 1 = 9$$ тактов, а $$k = \overline{s_1(v),s_2(v)}$$ ;
  • $$\{\{PR_{n}^{ks}\}_{v}\}$$ - поток управляющих операндов, который формируется в данном случае бит-процессорами 2-го и 3-го столбцов рис. 5.7-б и имеет циклический по $$v$$ вид: $$PR^{k1}_n = 1$$ и $$PR^{ks}_n = 0$$ для всех $$s = \overline{2,(2S_{m}-1)}$$.
  • 5. $$OUT(D^{k}_n)$$ - выход вертикального канала транзита бит-процессоров 1-го столбца рис. 5.7-б:$$\{T_n^{ks}(t_0^7+\Delta(n)+(k-1)n+(S_m-k))\}_v := \\ V\{D_n^{ks}(t_0^7+\Delta(n)+(k-1)n+(S_m-k))\}_v, \\ (k=\overline{s_1(v),s_2(v)})$$
  • В переменных и параметрах (5.1)-(5.5) и (5.7)-(5.11) отражен тот факт, что каждая $$k$$ -я линейная последовательность слов-инструкций выполняется над всем потоком данных из $$(S_m -1) n$$ -битных слов, из кото-рых только одна реализует необходимую пользователю транспозицию ( $$k=\overline{s_1(v),s_2(v)}$$ ). В результате объем работы, выполняемой $$TRANS$$ на каждом $$v$$ -м цикле, составляет $$5S_{m} (2S_m -1)$$ $$n$$ -разрядных слов-инструкций.

    При использовании ЗУПВ объем работы минимален и составляет $$S_m$$ разделенных во времени 2-цикловых слов-инструкций "чтения-записи", то есть $$4S_m$$ физически исполняемых слов-инструкций. Такое более чем $$S_{m}$$ -кратное превышение фактически выполняемого объема работ над минимально необходимым обусловлено последовательным характером распространения потоков $$\{A_n^s\}_v$$ и $$\{X_n^s\}_v$$ через линейные цепочки слов-инструкций, что является неотъемлемым атрибутом MIMD-бит-потоковой, а не ассоциативной организации вычислений.

    Как и в случае (5.1)-(5.5), из (5.7)-(5.11) невозможно определить вид выполняемой $$TRANS$$ подстановки, который зависит не от переменных и параметров этих соотношений, а от содержимого потока $$\{A_n^s\}_v$$, которое и задает "момент времени" $$s$$, когда в $$k$$ -й линейной цепочке выполняется условие $$PW^{ks}_n \equiv 1$$ или $$PR^{ks}_n \equiv 1$$.

    Структурно адаптируемый под параметры конкретной перестановки PD -ассоциативный порт вывода рис. 5.7-б позволяет:

  • исключить слов-инструкции $$DCA$$ из (5.7)-(5.11), заменив их специфической для каждой подстановки $$\{T_n^{ks}\}_v$$ FIFO -регистровой схемы распространения сигнала "чтение" ( $$R$$ ) вида: $$n$$ первых бит - "единица", а остальные $$2(S_m -1)n$$ бит - "ноль";
  • в явном виде идентифицировать порядок чтения циклических FIFO -регистров, который определяется сдвигами во времени по отношению к входам схем "И" 1-го столбца рис. 5.7-б и который вычисляется согласно:$$t^{ks}_R = t_w + (k - 1)n + s,$$

    где $$t_w = t_{0}^{6} + \Delta(n) + (S_m - 1)n $$ - начальная задержка на запись $$\{X_n^s\}$$.

  • При значении переменных и параметров рис. 5.7 поток-инструкция $$TRANS$$ выполняет подстановку (5.6), что, согласно (5.12), дает: $$t_w = 35$$ ; $$t^{13}_R = 38$$ ; $$t^{2l}_R = 44$$ ; $$t^{34}_R = 55$$ ; $$t_{R}^{42} = 61$$.

    Для больших значений $$S_m$$ синтез таких древообразных, FIFO -регистровых топологических схем под каждую подстановку (то есть по заданным $$t_{R}^{ks}$$ ) представляет достаточно сложную задачу, решение которой требует более чем $$2(S_m -1)$$ шагов.

    Особенности согласования параметров поток-инструкции $$TRANS$$. В (5.1)-(5.5) и (5.7)-(5.11) считается, что $$n_{A} = n_{X} $$, то есть "глубина" адре-сации равняется количеству переставляемых данных $$S_{m} = |\{X^{s}_n\}|$$, а вид исполняемой подстановки может изменяться на каждом цикле выполнения поток-инструкции $$TRANS_{DD}$$, то есть $$v_A = v_{X} $$.

    Однако на практике приходится решать задачи, в которых:

  • $$n_{A} > n_{X}$$ и все биты $$n_{A} , n_X$$ - значащие, что характерно для систем криптографической защиты видеоинформации, где "структура" исходного изображения наиболее эффективно разрушается при перестановке малоразрядных данных ( $$n_{X} \le 8$$ ) бит по всему изображению: $$N*N \ge 2^{20}$$ пикселей, а не по строкам или столбцам, то есть $$n_A > 20$$ бит;
  • $$n_A = n_{X} $$, но признак результата сравнения $$РW^{ks}_n$$ или $$PR^{ks}_n$$ надо сформировать на время $$n = (\beta > 1)*n_{X}$$, что характерно для систем криптографической защиты речевой информации, где блочно-групповая $$\{ X_{n}^{k (\Theta)}\}:= \{X_n^{s\Theta}\}$$, а не пословная подстановка данных лучше разрушает "структуру" сообщения, то есть одному $$A^s_n$$ соответствует подмножество $$\{ X_{n}^{k (\theta)}\}\subset \{ X_{n}^{s}\}$$ и $$|\{ X_{n}^{k (\theta)}\}| = \beta$$, а $$\theta =\overline{1,\Theta_m}$$ и $$\Theta_m = S_m/(\beta\succ 1)$$ ;
  • $$n_A < n_X$$ что характерно для систем криптографической защиты телеметрической информации, где объектом подстановки являются блоки малоразрядных данных, измеряемых с разной частотой, что приводит к изменению состава блоков как внутри одной подстановки, так и на разных циклах ее выполнения, то есть $$X_{n(\lambda)}^s \subset X_n^s = F(s,v)$$, и $$\sum\limits_{\lambda}{n(\lambda)} = n$$
  • цикл изменения вида подстановки больше цикла изменения преобразуемых данных: $$v_{A} = (\alpha > 1)*v_{X}$$, что характерно для систем защиты слабо коррелированной информации, то есть $$\{A^{s}_{n}\}_{v_A} = const$$ для всех $$\{X^{s}_{n}\}_{v_X}\in \{\{X^{s}_{n}\}_{v_X}\}_{\alpha}$$
  • Все перечисленные ограничения создают определенные пробле-мы согласования темпов передачи и обработки потоков $$\{\{A^{s}_{n}\}_{v}\}$$ в слов-инструкциях $$\{ DCA \}$$ и потоков $$\{\{X^{s}_{n}\}_{v}\}$$ в слов-инструкциях $$\{WRITE \}$$ и $$\{READ\}$$, которые при $$n_A \ne n_X$$ можно решить двумя способами:

  • Разбиением потока псевдослучайных адресов $$\{A^{s}_{n}\}_{v}$$ (при $$n_A > n_X$$ ) на "старшую" ( $$h$$ ) и "младшую" ( $$l$$ ) половины таким образом, чтобы $$n_h = n_l = n_{X}$$ и $$n = 2n_X$$, из которых в $$n_{h}$$ только $$(n_{X} -n_l)$$ младших бит являются значащими, а остальные биты заполнены "нулями". В результате поток псевдослучайных адресов распадается на два составляющих потока $$\{A^{s}_{nh}\}_{v}$$ и $$\{A^{s}_{nl}\}_{v}$$: $$\{A^{s}_{n}\}_{v} = \{A^{s}_{nh}\}_{v} \cup \{A^{s}_{nl}\}_{v_A} $$, которые обрабатыва-ются двумя параллельными поток-инструкциями $$\{DCA_{DD}\} _{h}$$ и $$\{ DCA_{DD} \}_{l}$$ (соответственно четные и нечетные строки бит-матрицы рис. 5.8,где считается, что $$n_{X} = 8$$ бит, а $$9 < n \le 16$$ бит).

    Общий признак результата сравнения $$PW_{n_X}^{ks} = PW_{n_k}^{ks} \land PW_{n_l}^{ks}$$ или $$PR_{n_X}^{ks} = PR_{n_k}^{ks} \land PR_{n_l}^{ks}$$ формируется бит-процессорами 8-го столбца бит-матрицы рис. 5.8, где на 1-й вход бит-инструкции $$ST1$$ подается объединенный по "И" результат дешифрации в "четном" и "нечетном" терме. Двустрочные термы дешифрации выравнивают темпы обработки потоков преобразуемых данных $$\{\{X_n^s\}_v\}$$ и адресов $$\{\{A_n^s\}_v\}$$, но удваивают аппаратные затраты на дешифрацию. При этом в (5.1)- (5.5) и (5.7)-(5.11) надо использовать не $$n$$, а $$n_{X} < n$$.

  • Прореживанием нулями потока псевдослучайных адресов $$\{\{A_n^s\}_v\}$$ по правилу:
  • при $$n_{A} = (\beta > 1)*n_{X}$$ - в каждом псевдослучайном адресе $$A^{s}_{n} n_{X}$$ младших бит - значащие и $$({\beta}-1)*n_{X}$$ старших бит - нулевые,а в (5.1)-(5.5) и (5.7)-(5.11) надо использовать $$n = {\beta}*n$$ ; при этом функциональная задержка в каждой слов-инструкции $$DCA$$ составляет не $$(n-1)$$, а $$(n_{X} -1)$$ тактов;
  • при $$n_A < n_X$$ и $$n_X$$ не кратно $$n_A$$ - в каждом псевдослучайном адресе $$A_n^s n_A $$ младших бит - значащие, а $$(n-n_A)$$ старших бит - нулевые, где $$n = n_X$$
  • (рис 5.8) DD-ассоциативный дешифратор для n_A > n_X

    В этом случае аппаратно-временные затраты на ассоциативные слов-инструкции $$DCA$$ не возрастают, так как дешифрации подлежит только значащая часть адресов $$\{\{A_{n}^{s} \}_{v}\}$$, в чем можно убедиться, сравнив PD - и DD -ассоциативные конструкции рисунков 5.9 и 5.10, где $$n_{X} = 14 $$, а $$n_{A}$$ равняется соответственно 6 и 8 битам.

    (рис 5.9) PD-ассоциативный дешифратор с прореживанием потока адресов

    В обоих случаях параметры схемы соответствуют подстановке:

    $$\left( \begin{array}{l} X_n^k:X_n^1,X_n^2,X_n^3,X_n^4 \\ X_n^s:X_n^2,X_n^3,X_n^1,X_n^4 \end{array} \rigth )$$

    но в DD -ассоциативной конструкции рис. 5.10 поток формальных адресов $$\{\{A^{s}_{8}\}_{v}\}$$ необходимо предварительно модифицировать в поток загружаемых адресов $$\{vec{А}^s_{14}\}_{v}\}$$ по правилу:

    $$\vec{A}_{n_X}^s = F(s,n_X,x_A) = \begin{cases} {A}_{n_A}^s*2^{\lambda}, \text{ если } \vec{A}_{n_X}^s \le 2^{n_A} -1, \\ {A}_{n_A}^s*2^{\lambda} - 2^{n_A}, \text{ если } \vec{A}_{n_X}^s \ge 2^{n_A} -1. \end{cases}$$

    где $$\lambda = mod_{8}[(s-1)(8-mod_{8}n_{X} )]$$ определяет фазовый сдвиг $$\vec{A}_{n_X}^s$$, связанный с некратным $$n_{X} = 14$$ циклическим воспроизводством $$U_{n_A}^k$$ в бит-инструкциях $$CG$$, где $$n_A \le 8$$ бит.

    (рис 5.10) DD-ассоциативный дешифратор с прореживанием потока адресов

    Согласно (5.14) для подстановки (5.13) получим:

  • $$A_8^1 = 2$$, то $$\vec{A}_{14}^1 = 00.0000.0000.0010$$ ;
  • $$A_8^2 = 3$$, то $$\vec{A}_{14}^2 = 00.0000.0000.1100$$ ;
  • $$A_8^3 = 1$$, то $$\vec{A}_{14}^3 = 00.0000.0001.0000$$ ;
  • $$A_8^4 = 4$$, то $$\vec{A}_{14}^4 = 00.0000.0000.0001$$.
  • Рассмотренные PD - и DD -ассоциативные конструкции слов-инструкций $$DCA$$ работают по правилам:

  • для рис. 5.9:$$PR_n^{ks}(t_0^1+\Delta(n)+2(k-1)+(s-1)n) = \\ \begin{cases} C_n^{ks}1, \text{ если } U_n^{r}(t_0^0+\Delta(n)+2(k-1)+(s-1)n)= A_n^{s}(t_0^0+\Delta(n)+2(k-1)+(s-1)n) , \\ \equiv 0, \text{ если } U_n^{r}(t_0^0+\Delta(n)+2(k-1)+(s-1)n)\ne A_n^{s}(t_0^0+\Delta(n)+2(k-1)+(s-1)n). \end{cases}$$

    где $$t_{0}^1 = t_0^0 + 2$$ такта, а $$\Delta ( n) = 2n + 1$$ тактов - технологическая задержка в слов- инструкции $$DCA_{PD}$$ ;

  • для рис. 5.10:$$PR_n^{ks}(t_0^2+\Delta(n)+2(k-1)+(n-1)+(s-1)n) = \\ \begin{cases} C_n^{ks}1, \text{ если } U_n^{k}(t_0^1+\Delta(n)+2(k-1)+(s-1)n)= A_n^{s}(t_0^1+\Delta(n)+2(k-1)+(s-1)n) , \\ \equiv 0, \text{ если } U_n^{k}(t_0^1+\Delta(n)+2(k-1)+(s-1)n)\ne A_n^{s}(t_0^1+\Delta(n)+2(k-1)+(s-1)n). \end{cases} ,$$

    где $$t_0^1 = t_0^0 + 1$$ такт, $$t_0^2 = t_0^1 + 1 = 2$$ такта, а $$\Delta ( n)$$ в данном случае составляет 6 тактов.

  • При $$v_A = ({\alpha} > 1)*vX$$ PD -ассоциативные конструкции применимы не только в супрамолекулярной, но и в современной опто- или микроэлектронике, так как в этом случае системные временные издержки на синтез специфических $$DCA_{PD}$$ для каждой подстановки $$TRANS$$ можно окупить за счет {\alpha}-циклов их использования. Для этого достаточно в поток-инструкциях $$TRANS$$ $${\alpha}$$ -кратно использовать одни и те же PD -ассоциативные слов-инструкции $$DCA_{PD}$$ рис. 5.11, которые выполнены по схеме целочислен-ного сравнения $$(CMPE_{PD})$$.

    В результате в поток-инструкциях $$TRANS$$ со встроенными блоками $$DCA_{PD} $$:

  • сохраняется структурно-функциональная схема $$TRANS_{DD}$$, но топологические схемы всех составляющих ее слов-инструкций полностью изменяются, так как одна $$DCA_{PD}$$ обычно занимает две и более строк бит-процессоров;
  • этап синтеза слов-инструкций $$\{DCA_{PD}\}$$ для каждой $$v$$ -й перестановки совмещается во времени с этапом $${\alpha}$$ -кратного использования $$TRANS$$ при исполнении $$(v-1)$$ -й подстановки длительностью $${\alpha}*(2S_{m}-1)*n$$ тактов или $${\alpha}*2S_{m}*n$$ тактов в зависимости от типа используемого порта вывода.
  • Поток-инструкции TRANS со встроенными блоками PD-ассоциативной памяти

    В разделе 8.4 курса "Задачи и модели вычислительных наноструктур" на примере умножителей показано, что функция "хранение" ( $$MEMORY$$ ) является атрибутивной для PD -ассоциативных слов-инструкций. Поэтому любую из них можно использовать в поток-инструкциях $$TRANS_{PDv}$$ вместо циклических FIFO -регистров $$\{B_{n}^{k}\}$$ с тем ограничением, что такие слов-инструкции обеспечивают "хранение" переставляемых потоков данных $$\{X_n^s\}_v$$ только на одном цикле $$v$$. В этом случае в супрамолекулярных вычислителях синтез структурно адаптируемых под содержимое потока $$\{X_n^s\}_v$$ ячеек памяти $$\{B_{n}^{k}\}$$ можно совместить во времени с фазой "чтения" $$(READ_{v-1})$$ другой, $$(v-1)$$ -й PD -ассоциативной конструкции $$\{B_{n}^{k}\}_{(v-1)}$$..

    (рис 5.11) Поток-инструкции TRANS с PD-ассоциативной дешифрацией адреса

    Сам синтез PD -ассоциативных $$\{B_{n}^{k}\}$$ можно проводить:

  • в порядке "чтения" (рис. 5.12-а, когда синтезируемые слов-инструкции (в данном случае это $$\{B^{k}_n\}_{v}):=\{OR_{PD}\}_v$$ (рис 5.12) Топологические схемы микропрограмм PD-ассоциативного хранения (MEMORY_PD)
  • в порядке "записи" (рис. 5.12-б, когда синтезируемые слов-инструкции (в данном случае это смесь $$\{B_{n}^{k}\}_{?} ):=\{\{OR_{PD}\},\{XOR_{PD}\},\{ML_{PD}\}\}_{v} $$ размещаются в пространстве в порядке поступления, то есть по индексу $$k = s$$.
  • Все поток-инструкции $$TRANS_{PDv}$$ с PD -ассоциативными слов-инструкциями $$\{MEMORY^{k}_\}_v$$ по определению используются однократно. Поэтому в них оказываются эффективными порты вывода типа $$S_{m}$$ (см. рис. 5.5), на которые расходуется минимальный объем оборудования.

    В поток-инструкциях $$TRANS$$ синтезированных в порядке "чтения" (рис. 5.12-а), каждая $$k$$ -я линейная цепочка содержит всего две слов-инструкции $$READ_{DD} (B^{k}_n, PR^{ks}_n)$$ и $$OUT(D^{ks}_n)$$, которые работают по правилу:

  • $$READ_{DD}(B^{k}_n, PR^{ks}_n) $$ - выходы схем "И" 6-го столбца бит-процессоров (см. рис. 5.12-а):$$\{D_n^{ks}(t_0^v+1 +\delta(n)+(k-1)(n+2))\}_v := \\ \{B_n^{ks}(t_0^v+\delta(n)+(k-1)(n+2)) \bigwedge\limits_{k=1}^{k=S_m} PR_n^{ks}(t_0^v+\delta(n)+(k-1)(n+2))\}_v$$
  • $$OUT(D^{ks}_n) $$ - выход вертикального канала транзита бит-процессоров 6-го столбца рис. 5.11-а:$$\{T_n^{ks}(t_0^v+1 +\delta(n)+2(S_m-1)+(k-1)n)\}_v := \\ \bigvee\limits_{k=1}^{k=S_m} \{D_n^{ks}(t_0^v+\delta(n)++(k-1)(n+2))\}_v$$

    где:

  • $$t_0^v$$ - целочисленное время синтеза супрамолекулярных слов-инструкций $$\{{MEMORY_{PD}}^{k}_n\}_v $$ ;
  • $$\delta(n)$$ - время задержки, расходуемое на возбуждение каждой $$k$$ -й слов-инструкции $$OR_{PD}$$ потоком циклических констант $$\{C_{n} 1\}$$.
  • В поток-инструкциях $$TRANS_{PDv}$$, синтезированных в порядке "записи" (рис. 5.12-б), каждая $$k$$ -я линейная цепочка содержит 3 слов-инструкции: $$DCA - READ - OUT$$, первая из которых работает либо согласно (5.15), либо согласно (5.16).

    В первом случае (совокупность рисунков 5.9 и 5.12-б):

  • для выполнения каждой $$v$$ -й перестановки необходимо предварительно синтезировать специфическую, полностью PD -ассоциативную структуру, которая доопределяется потоком псевдослучайных адресов $$\{\{A_n^s\}_v$$ ;
  • слов-инструкции $$READ_{DD} (B^{k}_n, PR^{ks}_n)$$ (выходы нечетных строк бит-процессоров 4-го столбца рис. 5.12-б) работают по правилу:$$D_n^{ks}(t_0^1+\Delta(n)+\delta(n)+2(k-1)+(s-1)n) := \\ B_n^{k}(t_0^1+\Delta(n)+2(k-1)+(s-1)n) \bigwedge\limits_{k=1}^{k=S_m} PR_n^{ks}(t_0^1+\Delta(n)+2(k-1)+(s-1)n)$$

    где: $$t_0^1$$ и $$\Delta(n)$$ соответствуют (5.5), а $$\delta(n) $$ - это задержка на возбуждение $$MEMORY_{PD}$$, которая зависит как от содержимого всех $$X_{n}^{s} \in \{X^{s}_n\}_v$$, так и от их разрядности $$n$$ (в данном случае $$\delta(n) = 5$$ тактов);

  • слов-инструкции $$OUT(D^{ks}_n)$$ (выход вертикального канала транзита бит-процессоров 4-го столбца рис. 5.12-б) работают по правилу:$$T_n^{ks}(t_0^1+\Delta(n)+\delta(n)+2(S_m-1)+(s-1)n) := \\ \bigvee\limits_{k=1}^{k=S_m} D_n^{ks}(t_0^1+\Delta(n)+\delta(n)+2(k-1)(s-1)n)$$
  • Во втором случае (совокупность рисунков 5.10 и 5.12-б):

  • неспецифическая, DD -ассоциативная структура $$\{DCA_{DD} \}$$ доопределяется на каждом $$v$$ -м цикле как потоком псевдослучайных адресов $$\{A_n^s\}_v$$, так и специфической, PD -ассоциативной структурой $$\{MEMORY_{PD}\}$$ ;
  • слов-инструкции $$READ_{DD}(B^{k}_n, PR^{ks}_n)$$ работают по правилу:$$D_n^{ks}(t_0^2+\Delta(n)+\delta(n)+2(k-1)+(n-1)+(s-1)n) := \\ B_n^{k}(t_0^1+\Delta(n)+2(k-1)+(s-1)n) \bigwedge\limits_{k=1}^{k=S_m} PR_n^{ks}(t_0^1+\Delta(n)+2(k-1)+(s-1)n)$$
  • слов-инструкции $$OUT (D^{ks}_n)$$ работают по правилу:$$T_n^{ks}(t_0^2+\Delta(n)+\delta(n)+(2S_m-1)+(s-1)n) := \\ \bigvee\limits_{k=1}^{k=S_m} D_n^{ks}(t_0^2+\Delta(n)+\delta(n)+2(k-1)+(s-1)n)$$
  • Здесь $$t_0^1$$, $$t_0^2$$ и $$\Delta(n)$$ соответствуют (5.16), где $$t_{0}^0$$ соответствует моменту окончания синтеза $$\{MEMORY_{PD}\}_v$$.

    В зависимости от типа используемой PD -ассоциативной конструкции:

  • Поток псевдослучайных адресов $$\{A_n^s\}_v$$ может использоваться:
  • только на этапе синтеза, как это имеет место в $$TRANS_{PDv} $$, синтези-руемой в порядке "чтения" (см. рис. 5.12-а), где этот поток управляет порядком размещения в пространстве (то есть по индексу $$k $$ ) слов-инструкций $$\{MEMORY_{PD}\}_v $$ ;
  • только на этапе использования, как это имеет место в $$DCA_{PD}$$ рис. 5.11-а, где PD -ассоциативные слов-инструкции "хранят" натуральный ряд чисел $$\{U_n^k\}$$, и поэтому $$\{A_n^s\}_v$$ управляет только порядком срабатывания $$\{DCA_{PD}\}$$ ;
  • и на этапе синтеза, и на этапе использования, как это имеет место в $$TRANS_{PDv}$$ рисунков 5.12-а и 5.12-б, где поток $$\{A_n^s\}_v$$ управляет и поряд-ком размещения в пространстве слов-инструкций $$\{MEMORY_{PD}\}_v$$ (то есть по индексу $$k$$ ), и порядком их возмущения во времени (то есть по индексу $$s$$ ).

    Очевидно, что в последнем случае требуются дополнительные аппаратные средства "хранения" или "регенерации" потока псевдослучай-ных адресов $$\{A_n^s\}_v$$, обеспечивающие их двукратное использование.

  • Синтез PD -ассоциативных поток-инструкций $${MEMORY_{PD} \}_v$$ может осуществляться в пространстве либо фрагментарным, либо хронологическим наращиванием составляющих слов-инструкций. Первое типично для TRANS синтезируемой в порядке "чтения" (см. рис. 5.12-а), второе - для $$TRANS_{PDv}$$, синтезируемой в порядке "записи" (см. рис. 5.12-б).

    Синтез составляющих слов-инструкций $$MEMORY_{PD}$$ по индексу $$i =\overline{1,n}$$ также можно осуществить как в линейном порядке, так и фрагментарно, например, одновременным включением в одну и ту же слов-инструкцию однотипных термов, занимающих в ней разное положение по $$i$$.

    Возможен и комбинированный синтез PD -ассоциативных поток-инструкций типа: "фрагментарный по $$i $$ - линейный по $$k$$ ", "фрагментарный по $$i$$ и $$k$$ " и.т. п.

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

  • Цикл возбуждения всех рассмотренных $$TRANS_{PD}$$ составляет $$n = n_X$$ тактов, а фронт возбуждающей волны распространяется в пространстве линейно с задержкой на 2 такта в каждой $$k$$ -й линейной цепочке слов-инструкций. Поэтому отклик поток-инструкций $$\{DCA_{PD}\}$$ рисунков 5.9, 5.11-а и поток-инструкций $$\{MEMORY_{PD}\}$$ рис. 5.12-а составляет $$\mu = 2S _{m} / n$$. Но в схеме рис. 5.12-а он носит линейный по $$k$$ характер, а в схеме рис. 5.12-б составляющие слов-инструкции $$MEMORY_{PD}$$ возбуждаются уже фрагментарно.
  • Системотехнические выводы по лекции 5

  • Рекуррентные процедуры синтеза ассоциативных слов- и поток-инструкций определяются термальным составом, который в свою очередь зависит от процедуры декомпозиции реализуемого поток-оператора (см. рис. 5.1). В частности, один и тот же оператор подстановки $$TRANS_{DD}$$ можно реализовать и на основе трех термов $$DCA -MEMORY - READ$$ и на основе пяти термов $$WRITE - MEMORY - DCA - READ - OUT$$.
  • Рекуррентные процедуры синтеза ассоциативных слов- и поток-инструкций сводятся к наращиванию количества термов и/или их размеров в зависимости от разрядности и/или размерности преобразуемых потоков данных, что делает такой синтез сходным с процессом полимеризации сложных (био)молекулярных соединений.
  • DD-ассоциативные конструкции по определению инвариантны содержимому потоков преобразуемых данных. Поэтому поиск их термального состава сводится:
  • к выбору базовой топологии и настройке линейных цепочек составляющих слов-инструкций на разрядность обрабатываемых операндов $$n_{A}$$, $$n_{X}$$ или $$n$$ ;
  • к рекуррентной по $$s$$ процедуре наращивания линейных цепочек слов-инструкций в $$TRANS_{DD}$$ до размера "скользящего окна" $$S_{m}$$. При этом благодаря фиксированному составу используемых термов и известной разрядности преобразуемых операндов все фазовые сдвиги в слов-инструкциях оказываются вычисляемыми. В результате термальный синтез топологии DD-ассоциативных поток-операторов становится формализованным.
  • Из всех рассмотренных DD - и PD -ассоциативных конструкций минимальные аппаратные затраты требует поток-инструкция $$TRANS_{PDv}$$, синтезируемая в порядке "чтения", так как основная "сложность" преобразований реализуемой перестановки в этом случае ложится на этап синтеза PD -ассоциативных слов-инструкций $$\{MEMORY_{PD}\}_{v}$$. При этом следует учитывать, что топология PD -ассоциативных слов-инструкций по определению зависит от содержимого преобразуемых потоков данных. Но и в этом случае, ограничив состав используемых термов и введя в качестве ограничения фиксированное и зависящее от $$n$$ время задержки в каждой PD -ассоциативной конструкции, можно формализовать процедуру синтеза как отдельных слов-инструкций, так и их линейных цепочек.
  • Для перспективных супрамолекулярных вычислителей выбор между DD - и PD -ассоциативными конструкциями фактически сводится к выбору метода адаптации, который зависит от "времени жизни" гете-роструктуры:
  • если "время жизни" велико, то предпочтение следует отдавать DD-ассоциативным конструкциям, конформационные преобразования которых позволяют настроить их на реализацию требуемой функции;
  • если "время жизни" мало, то предпочтение следует отдавать PD-ассоциативным конструкциям, настройка которых на реализуемую функцию и содержимое одного из преобразуемых операндов требует структурной адаптации.
  • Интерактивный характер выбора топологии термов, а с ней и топологии слов- и поток-инструкций предопределен линейными размерами матриц, априори выделяемых на их реализацию. При этом, как и в молекулярной биологии, следует отличать функционально значимые и промежуточные (вставочные) термы, первые из которых задают правила и циклы взаимодействия между слов-инструкциями, а вторые обеспечивают рекуррентное наращивание по какому-либо параметру однородной функции. Характерно также, что в "активных зонах" DD - и PD -ассоциативные конструкции взаимодействуют не только между собой, но и с потоками управляющих данных, которые задают циклы (по $$n$$ или $$S_{m}$$ ) такого взаимодействия.
  • Технологические задержки в соотношениях (5.1)-(5.22) типа $$\Delta(n), \delta(n)$$ и т. п. носят неаналитический характер и существенно зависят от топологической схемы используемой ассоциативной конструкции. Поэтому достичь их априорного знания можно только задав ограничения на допустимый состав элементарных термов, а с ними по возрастающей на топологические схемы слов- и поток-инструкций. В этом и только в этом случае можно формализовать процедуры микропрограммного конструирования ассоциативных поток-процессоров. Последнее говорит о (полу)эмпирическом характере синтеза ассоциативных гетероструктур, что свойственно и реальным молекулярно-биологическим процессам.
  • В МКМД-бит-потоковых матрицах "фронт вычислительной волны" распространяется по бит-матрице с помощью механизмов, сходных "пробоям" в реальных аксонно-коллатеральных связях, что наиболее четко проявляется в интерфейсах рис. 5.12-а. Это указывает на то, что в реальных нейросетях преобразование информации может осуществляться не только в соме нейрона, но и в процессе распространения возбуждения по аксонно-коллатеральным связям, реализующим функции алгоритмически ориентированных PD -ассоциативных субпроцессоров.
  • Вернуться к учебному плану