Опубликован: 01.10.2013 | Уровень: для всех | Доступ: платный
Лекция 6:

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

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

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) тактов на дешифрацию, а сами преобразования принимают вид:

  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} ( 5.7)

    где:

    • 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. 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)}) ( 5.8)
  3. 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.9)
    Топологическая схема микропрограммы TRANS_DD с подстановкой при чтении

    увеличить изображение
    Рис. 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 - наоборот.

  4. 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 , ( 5.10)

    где:

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

В переменных и параметрах (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, ( 5.12)

    где 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 можно решить двумя способами:

  1. Разбиением потока псевдослучайных адресов \{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.

  2. Прореживанием нулями потока псевдослучайных адресов \{\{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
DD-ассоциативный дешифратор для   n_A  > n_X

увеличить изображение
Рис. 5.8. DD-ассоциативный дешифратор для n_A > n_X
< Лекция 5 || Лекция 6: 123456 || Лекция 7 >
Евгений Акимов
Евгений Акимов

Добрый день!

 

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

Спасибо,

Евгений

 

Nozimjon Fayziev
Nozimjon Fayziev
Таджикистан, Душанбе
Анна Волкова
Анна Волкова
Россия, г. Новосибирск