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

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

< Лекция 5 || Лекция 6: 123456 || Лекция 7 >

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).

  1. Дешифратор адреса 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} ( 5.1)

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

    • A_{n}^s \in\{\overline{1,S_{m}}\} - подстановочный адрес k(s) k -й "транспозиции";
      Топологическая схема слов-инструкции DCA_DD

      Рис. 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.

  2. Блок записи и хранения содержимого 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} ( 5.2)

    где:

    • 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} ( 5.3)

    где:

    • \Delta(n) - определяется той частью кольцевого циклического FIFO -регистра, которая заключена между его входом и схемой "И", обеспечивающей обнуление его содержимого с циклом (2S_m -1)n тактов и период хранения X_n^s в B_n^k, равный (2S_m - s-1)n тактов (для n = 8 бит \Delta(n) = 3 тактам);
      Топологическая схема слов-инструкции MEMORY_DD

      Рис. 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)}.
  3. Блок чтения 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} ( 5.4)

    где:

    • 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) бит - "нули".
    Топологическая схема порт вывода типа S TRANS

    Рис. 5.5. Топологическая схема порт вывода типа S TRANS
  4. Встроенный в 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} ( 5.5)

    где: (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)}.

< Лекция 5 || Лекция 6: 123456 || Лекция 7 >
Евгений Акимов
Евгений Акимов

Добрый день!

 

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

Спасибо,

Евгений