Устройство для вычисления свертки

 

Изобретение относится к области вычислительной техники и может быть использовано в специализированных вычислительных системах для вычисления сверстки. Устройство содержит P блоков обработки 1, где L = P + R, P = max(P0, P1), P0 и P1 - размерности векторов весовых коэффициентов, R - число резервных блоков обработки 1, два блока суммирования 2 и 3, L комбинационных сумматоров 4, (L -1) регистр 5, группу из L узлов сравнения 6, узел сравнения 7, (L -1) группу И 8, (L -1) группу элементов И 9, L групп элементов И 10, (L -1) группу элементов ИЛИ 11, (L -1) группу элементов ИЛИ 12, группы элементов ИЛИ 13 и 14, элемент ИЛИ 15 и блок 16 формирования сигнала отказа. В основу работы устройства положена параллельно-последовательная организация вычислений с аппаратным контролем, обходом и замещением отказавших блоков обработки. 4 табл., 7 ил.

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

Наиболее близким к предлагаемому является устройство, содержащее группу из P вычислительных модулей и группу элементов ИЛИ [2].

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

В конвейерное устройство для обработки информации, содержащее P блоков обработки 1, где P = max (P0, P1), P0 и P1 - размерность векторов весовых коэффициентов, первую группу элементов ИЛИ 14, причем тактовый вход 28 устройства подключен к тактовым входам блоков обработки 1 с первого по P-й информационные входы первой группы 17 устройства подключены соответственно к первым входам элементов ИЛИ 14 первой группы, выходы первой и второй группы i-го блока обработки 1 (где i = 1, ..., P) подключены соответственно к информационным входам первой и второй группы (i + 1)-го блока обработки 1, введены (P + 1)-го по L-й блоки обработки, где L = P + R, R - число резервных блоков обработки 1, первый 2 и второй блок суммирования 3, L комбинационных сумматоров 4, (L - 1) регистр 5, группу из L узлов сравнения 6, узел сравнения 7, (3L - 2) групп элементов И 8, 9, и 10, 2L групп элементов ИЛИ 11, 12, 13 и 14, элемент ИЛИ 15 и блок формирования сигнала отказа 26, причем тактовый вход 28 устройства подключен к тактовым входам блоков обработки 1 с (P + 1)-го по L-й, к тактовым входам первого и второго блоков суммирования 3 и к входам записи/считывания регистров 5 с первого по (L - 1)-й, выходы элементов ИЛИ первой группы подключены соответственно к информационным входам первой группы первого блока обработки, информационные входы второй группы которого подключены соответственно к информационным входам второй группы устройства, выходы первого блока суммирования подключены соответственно к вторым входам элементов ИЛИ первой группы и соответственно к выходам результата устройства, выходы первого и второго блоков суммирования подключены соответственно к информационным входам первой и второй групп узла сравнения 7, инверсный выход которого подключен к информационному входу блока формирования сигнала отказа 16, выход которого подключен к выходу 30 признака отказа устройства, информационные входы третьей группы 19 которого подключены соответственно к первым входам с первого по a-й элементов И 9 (где a - разрядность информации) с первого по (L - 1)-ю группы и к информационным входам третьей группы L-го блока обработки 1, управляющие входы 21 первой группы устройства подключены соответственно к информационным входам первых групп узлов сравнения 6 группы, управляющие входы второй группы 20 устройства подключены соответственно к управляющим входам группы первого блока обработки, выходы третьей группы j-го блока обработки (где j = 1, ..., L - 1) подключены соответственно к первым входам элементов ИЛИ 11 (j + 1)-й группы, выходы которых подключены соответственно к управляющим входам группы (j + 1)-го блока обработки 1, выходы четвертой группы k-го блока обработки 1 (где k = 1, . . . , L) подключены соответственно к информационным входам группы k-го комбинационного сумматора 4, выходы j-го комбинационного сумматора 4 подключены к информационным входам второй группы j-го узла сравнения 6 группы и к информационным входам j-го регистра 5, выходы которого подключены соответственно к вторым входам элементов ИЛИ 11 (j + 1)-й группы, выходы L-го комбинационного сумматора 4 подключены к информационным входам второй группы L-го узла сравнения 6 группы, первый и второй управляющие входы 22 и 23 устройства подключены соответственно к первому и к второму управляющим входам L-го блока обработки 1 и соответственно к первым входам (a + 1)-х и (a + 2)-х элементов И 9 групп с первой по (L - 1)-ю, выходы пятой группы и первый выход m-го блока обработки 1 (где m = 2, ..., L) подключены соответственно к первым входам элементов И 8 с первого по (a + 1)-й (2L + m - 1)-й группы, второй выход m-го блока обработки 1 подключен к первому входу (a + 2)-го элемента И 8 (2L + m - 1)-й группы, выходы пятой группы и первый выход первого блока обработки 1 подключены соответственно к первым входам элементов И 10 (L + 1)-й группы, выходы элементов И 9 j-й группы и элементов И 8 (2L + j)-й группы подключены соответственно к первым и вторым входам элементов ИЛИ 12 (L + j)-й группы, выход j-го узла сравнения 6 группы подключен - к вторым входам элементов И 9 j-й группы, элементов И 10 (L + j)-й группы, к вторым (инверсным) входам элементов И 8 (2L + j)-й и к j-му информационному входу группы блока формирования сигнала отказа 16, выход L-го узла сравнения 6 группы подключен к вторым входам элементов И 10 2L-й группы и к L-му информационному входу группы блока формирования сигнала отказа 16, третий выход k-го блока обработки 1 подключен к информационному входу k-го комбинационного сумматора 4 и к k-му выходу 29 группы признака отказа устройства, выходы элементов ИЛИ 12 (L + j)-й группы подключены соответственно к информационным входам третьей группы, к первому и к второму управляющим входам j-го блока обработки, выход l-го элемента И 10 (где l = 1, ..., a) (L + k)-й группы подключен к k-му входу l-го элемента ИЛИ 13 2L-й группы, выходы которого подключены к l-м информационным входам первого 2 и второго 3 блоков суммирования, выходы (a + 1)-х элементов И групп с (L + 1)-й по 2L-ю подключены к входам элемента ИЛИ 15, выход которого подключен к управляющим входам первого и второго блоков суммирования 2 и 3, k-й управляющий вход первой группы 24 устройства подключен к первому установочному входу k-го блока обработки, k-й управляющий вход второй группы 25 устройства подключен к второму установочному входу k-го блока обработки, k-й управляющий вход третьей группы 26 устройства подключен к третьему установочному входу k-го блока обработки, k-й вход блокировки 27 устройства подключен к входу блокировки k-го блока обработки. При этом каждый блока обработки 1 содержит первый и второй вычислительный узлы 32 и 33, триггер 34, узел сравнения 35, с первого по третий триггер 34, узлы элементов И 36 - 38, элемент И 39 и узле элементов ИЛИ 40, причем в каждом блоке обработки 1 информационные входы первой группы 41, второй группы 42, третьей группы 43, первый управляющий вход 44, второй управляющий вход 45 и управляющие входы группы 46 блока обработки подключены соответственно к входам групп первого узла элементов И 36 и соответственно к входам групп второго узла элементов И 37, выходы первой группы первого узла элементов И 36 подключены соответственно к входам первой группы узла элементов ИЛИ 40, выходы которого подключены соответственно к выходам первой группы 54, второй группы 55, пятой группы 56, к первому 57 и второму 58 выходам блока обработки 1, выходы второй группы первого узла элементов И 36 подключены к выходам третьей группы 53 блока обработки, выходы первой группы второго узла элементов И 37 подключены соответственно к информационным входам первой, второй, третьей групп, к первому и второму управляющим входам первого вычислительного узла 32 и соответственно к информационным входам первой, второй и третьей групп, к первому и второму управляющим входам второго вычислительного узла 33, выходы второй группы второго узла элементов И 37 подключены соответственно к выходам четвертой группы 52 блока обработки, первый вход установки 49 которого подключен к входам установки в исходное состояние первого и второго вычислительных узлов 32 и 33, выходы первой, второй, третьей групп, первый и второй выходы первого вычислительного узла 32 подключены соответственно к входам группы третьего узла элементов И 38 и соответственно к информационным входам первой группы узла сравнения 35, информационные выходы второй группы которого подключены соответственно к выходам первой, второй, третьей группы, к первому и второму выходам второго вычислительного узла 33, выходы третьего узла элементов И 38 подключены соответственно к входам второй группы узла элементов ИЛИ 40, выход узла сравнения 35 подключен к информационному входу триггера 34, выход которого подключен к входу третьего узла элементов И 38, к входу второго узла элементов И 37, к инверсному входу первого узла элементов И 36 и к третьему выходу блока обработки, вход блокировки 50 и тактовый вход 51 которого подключены соответственно к первому (инверсному) и второму входам элемента И 39, выход которого подключен к тактовым входам первого и второго вычислительных узлов 32 и 33 и к тактовому входу триггера 34, входы установки в нуль и в единицу которого подключены соответственно к второму и к третьему входам установки блока обработки. При этом каждый вычислительный узел 32 (33) содержит с первого по пятый регистры 69 - 73, первый и второй триггеры 74 и 75, комбинационный сумматор 76, умножитель 77, первую и вторую группы элементов И 78 и 79, первый и второй элементы И 80 и 81 и группу элементов ИЛИ 82, причем в каждом вычислительном узле информационные входы первой группы 83 подключены соответственно к информационным входам первого регистра 73, выходы которого подключены к информационным входам первой группы умножителя и к выходам второй группы 90 вычислительного узла, информационные входы второй группы 84 вычислительного узла подключены к информационным входам второго, третьего и четвертого регистров 69, 70 и 72, выходы которых подключены соответственно к первым входам элементов И первой группы 78, второй группы 79 и к выходам третьей группы 91 вычислительного узла, информационные входы третьей группы 85 которого подключены соответственно к информационным входам пятого регистра 71, выходы которого подключены к информационным входам первой группы комбинационного сумматора 76, выходы которого подключены к выходам первой группы 89 вычислительного узла, первый управляющий вход 86 которого подключен к информационному входу первого триггера 74 и к первым входам первого и второго элементов И 80 и 81, выходы которых подключены соответственно к входам записи/считывания второго 69 и третьего 70 регистров, выход первого триггера 74 подключен к первому выходу 92 вычислительного узла, второй управляющий вход 87 которого подключен к информационному входу второго триггера 75, к второму входу первого элемента И 80 и ко второму (инверсному) входу второго элемента И 81, выход второго триггера 75 подключен к вторым входам элементов И первой и второй групп 78 и 79 и к второму выходу вычислительного узла, тактовый вход 88 которого подключен к входам записи-считывания первого 73, четвертого 72 регистров, к входам синхронизации первого и второго триггеров 74 и 75, и третьему входу первого элемента И 80 и к третьему входу второго элемента И 81, выходы элементов И первой и второй групп 78 и 79 подключены соответственно к первым и вторым входам элементов ИЛИ 82 группы, выходы которых подключены соответственно к информационным входам второй группы умножителя 77, выходы которых подключены соответственно к информационным входам второй группы комбинационного сумматора 76. При этом каждый блок суммирования 2 (3) содержит первый и второй регистры 60 и 61, комбинационный сумматор 62, элемент И-НЕ 63 и элемент И 64, причем в каждом блоке суммирования 2 (3) информационные входы 63 блока суммирования 2 (3) подключены к информационным входам первого и второго регистров 60 и 61, выходы которых подключены соответственно к информационным входам первой и второй групп комбинационного сумматора 62, выходы которого подключены к выходам 68 блока суммирования, управляющий вход 66 которого подключен к первым входам элементов И-НЕ 63 и 64, выходы. При этом блок формирования сигнала отказа 16 содержит элемент ИЛИ-НЕ 94 и элемент ИЛИ 95, причем информационный вход 96 и информационные входы группы 97 блока формирования сигнала отказа подключены соответственно к первому входу элемента ИЛИ 95 и ко входам элемента ИЛИ-НЕ 96, выход которого подключен к второму входу элемента ИЛИ, выход которого подключен к выходу блока формирования сигнала отказа.

На фиг. 1 - 3 представлена структурная схема устройства с организацией входного и выходного потоков данных, где L = P + R, P - число основных блоков обработки, R - число резервных блоков обработки, на фиг. 4 - структурная схема блока обработки, на фиг. 5 - структурная схема блока суммирования, на фиг. 6 - структурная схема вычислительного узла, на фиг. 7 - структурная схема блока формирования сигнала отказа.

Устройство для конвейерной обработки информации содержит L блоков обработки 1, где L = P + R, P = max(P0, P1) где P0 и P1 - размерности векторов весовых коэффициентов, блоки суммирования 2 и 3, L комбинационных сумматоров 4 (L - 1) регистр 5, группу из L узлов сравнения 6, узла сравнения 7, (L - 1) группу элементов И 8, (L - 1) группу элементов И 9, L групп элементов И 10, (L - 1) группу элементов ИЛИ 11, (L - 1) группу элементов ИЛИ 12, группы элементов ИЛИ 13 и 14, элемент ИЛИ 15, блок формирования сигнала отказа 16, группы информационных входов 17 - 19, группы управляющих входов 20 и 21, управляющие входы 22 - 26, входы блокировки 27, тактовый вход 28, группу выходов признака отказа 29, выход признака отказа 30 и выходы результата 31.

Каждый блок обработки 1 содержит вычислительные узлы 52 и 33, триггер 34, узел сравнения 35, узлы элементов И 36 - 38, элемент И 39, узел элементов ИЛИ 40, группы информационных входов 41 - 43, группу управляющих входов 44, управляющие входы 45 - 49, вход блокировки 50, тактовый вход 51, выходы 52 - 59.

Каждый блок суммирования 2 и 3 содержит регистр 60 и 61, комбинационный сумматор 62, элемент И-НЕ 63, элемент И 64, группу информационных входов 65, управляющий вход 66, тактовый вход 67 и выходы 68.

Каждый вычислительный узел 32 и 33 содержит регистры 69 - 73, триггеры 74 и 75, комбинационный сумматор 76, умножитель 77, группы элементов И 78 и 79, элементы И 80 и 81, группу элементов ИЛИ 82, группы информационных входов 83 и 85, управляющие входы 86 и 87, тактовый вход 88, выходы 89 - 93.

Блок формирования сигнала отказа 16 содержит элемент ИЛИ-НЕ 94, элемент ИЛИ 95, выходы 96 и 97 и выход 98.

В основу работы устройства положен алгоритм вычисления свертки P0 и P1 - размерности векторов весовых коэффициентов ; I - размерность выходного вектора Используются следующие рекуррентные соотношения: Zi,1 = 0, Si,0 = 0, i = 0, 1...I-1; Zi,p = Zi,p-1 + P-1-p X-P+1+i+p, p = 0,1 ...P-1 i = 0,1...I-1 Si,p = Si,p-1 + rP-p+1 Y-P+i+p-1, p = 1, 2...P, i = 0, 1...I-1; Yi= Si,p + Z i,P-1, i = 0, 1...I-1 где P = max (P0, P1). При P0 > P1, ri = 0, i = P1 + 1, P2 + 2,...P при P1 > P0 i= 0, i = P0, P0 + 1 ...P.

Логика работы вычислительного узла 32 (33) блока обработки 1 представлена в табл. 1, логика работы блока суммирования 2 (3) - в табл. 2.

Вычислительный узел 32 (33) блока обработки 1 работает в четырех режимах.

В первом режиме на входы 86 и 87 подаются нулевые сигналы, которые устанавливают триггеры 74 и 75 в нулевое состояние. В результате этого открываются элементы И 79 в регистры 71, 73 и 72 записываются соответственно элементы Z, X и U, регистры 70 и 69 хранят соответственно элементы и r. На выходы 90 и 91 выдаются соответственно элементы Z' = Z + X, X и U
Во втором режиме триггеры 74 и 75 устанавливаются соответственно в нулевое и единичное состояние. В регистры 71, 73 и 72 записываются соответственно S, Y и U регистры 70 и 69 хранят соответственно элементы и r. Единичный сигнал с выхода триггера 75 открывает элементы И 76. На выходы 89, 90 и 91 выдаются соответственно элементы S' = S + r Y, Y и U.

В третьем режиме триггеры 74 и 75 устанавливаются в единичное и нулевое состояние соответственно. В регистры 71, 73 и 72 записываются соответственно элементы Z,X,. Элемент И 81 открывается и в регистр 70 записывается элемент элементы И 79 открываются, на выходы 89, 90 и 91 выдаются соответственно элементы Z = Z+X, X и .

В четвертом режиме триггеры 74 и 75 устанавливаются в единичное состояние. В регистры 71, 73 и 72 записываются соответственно элементы S, Y и Z. Элемент И 80 открывается и в регистр 69 записывается элемент r. Единичный сигнал с выхода триггера 75 открывает элемент И 79. На выходы 89, 90 и 91 выдаются соответственно элементы S' = S + r Y, Y и r.

Блок суммирования 2 (3) работает в двух режимах. В первом режиме на выход 66 подается нулевой сигнал, на выходе элемента И-НЕ 63 формируется единичный сигнал, который обеспечивает запись элемента Z в регистр 60.

Во втором режиме на выход 66 подается единичный сигнал, который открывает элемент И 64 и обеспечивает запись элемента S в регистр 61. При этом на выходе 68 формируется значение Y = Z + S.

В табл. 3 приведены значения на входах и выходах узлов 2 (3) блоков обработки 1 и блока суммирования 2 (3), а также состояние регистров и триггеров при вычислении значений Y0, Y1 и Y2 для случая P0 = I = 3 и P = 2 при отсутствии отказов в устройстве.

С нулевого и по второй такты работы устройства элементы X-2,X-1,1 и 2 подаются на входы соответствующих блоков обработки 1.

Вычислительный процесс начинается в блоке обработки 13 на втором такте при вычислении значения Z0,0 = Z0,-1 + 2 X-2. На последующих тактах процесс вычисления выполняется в соответствии с табл. 1 и 2.

На шестом, восьмом и десятом тактах в блоке суммирования 2 (3) формируются соответственно элементы Y0, Y1 и Y2. Данное устройство вычисляет свертку 2 (P + 1) - 1 тактов.

В каждом блоке обработки 1 производится дублирование выполняемых операций с помощью вычислительных узлов 32 и 33. Результаты выполнения операций формируются на выходе комбинационного сумматора 76 по завершении переходных процессов в комбинационных схемах 76 и 77 и выдаются на выходы 89 вычислительных узлов 32 и 33, откуда эти результаты поступают на соответствующие входы узла сравнения 35. При совпадении информации, поступающей на входы узла сравнения 35 из вычислительных узлов 32 и 33, данный блок обработки 1j считается исправным и единица с выхода узла сравнения 35 записывается в триггер 34, который используется для фиксации признака исправности данного блока обработки 1j. С выхода триггера 34 единица поступает на соответствующие входы элементов И 37, 38 и на инверсные входы элементов И 36, в результате этого информация с выходов 89 - 93 вычислительного узла 32 через элементы И 38 и ИЛИ 40 поступает на выходы 54 - 58 блока обработки 1j. Единичный сигнал с выхода триггера 34 поступает также на инверсные входы элементов И 36 и блокирует обход данного блока обработки 1j. В результате этого значение g, поступающее на вход 44 блока 1j, выдается на выход 52 блока 1j. Единичное значение дается также на выход 59 блока 1j и, соответственно, на выход 29j признака отказа устройства. Единичный сигнал на выходе 29j устройства указывает средствам внешнего управления об исправности блока 1j. При несовпадении информации, поступающей на входы узла сравнения 35 из вычислительных узлов 32 и 33, данный блок обработки 1j считается неисправным и нулевой сигнал с выхода узла сравнения 35 записывается в триггер 34. С выхода триггера 34 нулевой сигнал поступает на соответствующие входы элементов И 37 и 38 и на инверсные входы элементов И 36, в результате этого выдача с выходов 89 - 92 вычислительного узла 32 блокируется. Нулевой сигнал с выхода триггера 34 поступает также на инверсные входы элементов И 36, в результате этого поступление информации в вычислительные узлы 32 и 33 через элементы И 37 и выдача информации из узла 32 блокируются и открывается путь обхода данного блока обработки 1j. В этом случае информация, поступающая из предыдущего блока обработки 1j-1 через элементы И 36 и ИЛИ 40, выдается соответственно на выходы 54 - 58 данного блока обработки 1j. Значение g, поступающее на вход 44 блока 1, выдается на выход 53 блока 1j. Нулевое значение выдается на выход 59 блока 1j и соответственно на выход 29j признака отказа устройства. Нулевой сигнал на выходе 29 устройства указывает средствам внешнего управления об обнаружении отказа блока 1j.

Для того, чтобы в определенных ситуациях принудительно вывести блок 1j из состава устройства, используется установочный вход 24 устройства. В этом случае внешними средствами управления на входе 24j устройства формируется единичный сигнал, который через вход 47 блока обработки 1j поступает на вход установки в нуль триггера 34. Для того, чтобы принудительно ввести блок обработки 1j в состав устройства, например, после его принудительного вывода или после фиксирования ложного отказа, используется вход 25j устройства. В этом случае внешними средствами управления на входе 25j формируется сигнал, который через вход 48 блока обработки 1j поступает на вход установки в единицу триггера 34. При этом работа блока обработки 1j может быть блокирована путем подачи на вход 27j устройства единичного сигнала. В этом случае единичный сигнал через вход 27j блока 1j поступает на инверсный вход элемента И 39, который блокирует прохождение тактовых импульсов на тактовые входы вычислительных узлов 32, 33 и триггера 34.

Для установки регистров и триггеров вычислительных узлов 32 и 33 блока 1j в исходное состояние при запусках и перезапусках устройства используется вход 26j устройства. Для установки блока 1j в исходное состояние, на вход 26j устройства подается единичный сигнал, который через вход 49 блока 1j поступает на входы установки в исходное состояние вычислительных узлов 32 и 33. Вход установки в исходное состояние вычислительных узлов 32 и 33 подключен к входам установки в нулевое состояние всех регистров и триггеров узлов 32 и 33 (на фиг. 3 не показаны).

На вход 20 установки подается нулевое значение величины g. При наличии исправных блоков 11, ..., 1P с выходов 291, ..., 29P признака отказа устройства выдаются единичные сигналы, которые поступают на входы соответствующих комбинационных сумматоров 41, ..., 4P. Значение g, поступающее на входы 44 блока 1i где i = 1, ..., P, в случае исправности блоков 11, ..., 1i-1- равно (i - 1). В случае исправности блока 1i данное значение выдается на выход 52 блока 1i и поступает на соответствующий вход комбинационного сумматора 4i, с выхода которого снимается значение g = i, которое записывается в регистр 5i и поступает на одни входы узла сравнения 6i, на другие входы которого поступает значение P. Таким образом, на каждом такте, в случае исправности блока 1i, с выхода комбинационного сумматора 4i выдается значение g = i.

При несовпадении значений, выдаваемых с комбинационного сумматора 4i с величиной P, с выхода узла сравнения 6i выдается нулевой сигнал, который поступает на соответствующие входы элементов И 9i и 10i и закрывает их, а также поступает на инверсные входы элементов И 8i и открывает их. В результате этого информация с выходов 89, 92 и 93 узла 32 (33) блока 1i через элементы И 8i и ИЛИ 12i поступает на входы 85, 86 и 87 узла 32 (33) блока 1i-1, а выдача информации с выходов 89 и 92 узла 32 (33) блока 1i через элементы И 10i на входы элементов ИЛИ 13 и 15 блокируется. При совпадении значений, выдаваемых с комбинационного сумматора 4i с величиной P, с выхода узла сравнения выдается единичный сигнал, который поступает на соответствующие входы элементов И 9i и 10i и открывает их, а также поступает на инверсные входы элементов И 8i и закрывает их. В результате этого информация, поступающая на входы 19, 22 и 23 устройства, проходит через элементы И 9i и ИЛИ 12i на входы 85, 86 и 87 блока 1i, а информация с выходов 89 и 92 блока 1i через элементы И 10i и ИЛИ 13 и 15 - на соответствующие входы блоков суммирования 2 и 3. При поступлении на вход блока формирования сигнала отказа 16 хотя бы одного единичного сигнала с выхода узла сравнения 6, с выхода блока 16 будет дано единичное значение.

При совпадении результатов, полученных на выходах блоков 2 и 3 суммирования, нулевой сигнал с инверсного выхода узла сравнения 7 поступает на соответствующий вход блока формирования сигнала отказа 16.

Наличие нулевых сигналов на входах 97 блока 16 свидетельствует об исчерпании резерва устройства. В этом случае с выхода элемента ИЛИ-НЕ 94 выдается единичный сигнал, который проходит через элемент ИЛИ 95 на выход 98 блока и, соответственно, на выход 30 признака отказа устройства. Наличие нулевого сигнала на входе 96 блока 16 также свидетельствует об отказе устройства и приводит к появлению единичного сигнала на выходе 30 устройства. В любых других случаях на выходе 30 устройства будет сохраняться нулевой сигнал. Нулевой сигнал на выходе 30 устройства свидетельствует о сохранении работоспособности устройства на данном шаге. В случае отказа блока 1k происходит обход этого блока. При этом, в случае исправности предыдущих блоков 11, ..., 1k-1, на вход 44 блока 1k поступает значение g = k - 1 которое поступает далее на выход 51 данного блока 1k, с выходов 52 и 59 блока 1k снимаются нулевые значения и, таким образом, с выхода комбинационного сумматора 4k снимается нулевое значение g. В результате этого с выхода узла сравнения 6p снимается нулевое значение. Если блок 1P+1 исправен, то на вход 44 блока 1Q+1 поступает значение g = P - 1, с выхода 59 блока 1p+1 выдается единичный сигнал и, следовательно, с выхода комбинационного сумматора 4P+1 снимается значение g = P. В результате этого, с выхода узла сравнения 6P+1 снимается единичный сигнал, который поступает на соответствующий вход блока 16. Нулевое значение величины g, формируемое сумматором 4k на последующих тактах, поступает на соответствующие входы элементов ИЛИ 11k и в дальнейшем не влияет на формируемую величину g, поступающую на вход 44 блока 1k+1. Таким образом блок обработки 1k выводится из вычислительного процесса путем обхода, а первый из исправных резервных блоков, например 1P+1, вводится в процесс вычисления, при этом длина линейки исправно функционирующих блоков обработки 1 устройства сохраняется.

При обнаружении отказа блока 1k (где k P) и, соответственно, введении в состав линейки блока 1P+1 элементы И 8p открываются и информация с выходов 89, 92 и 93 блока 1P+1 поступает на соответствующие входы 85, 86 и 87 блока 1p, а элементы И 9p закрываются, блокируя поступление информации со входов 19, 22 и 23 устройства в блок 1p. При этом элементы И 9P+1 открываются, элементы И 8P+1 закрываются и информация со входов 19, 22 и 23 устройства поступает на входы 85, 86 и 87 блока 1P+1.

При обнаружении S отказов блоков 1 происходит обход отказавшихся блоков. Пусть k-номер последнего отказавшего блока 1 линейки, тогда с выхода 53 блока 1k будет выдаваться значение g = Q - S, которое поступит на вход 44 блока 1k+1. Поскольку блок 1k+1 считается исправным, то с выхода 59 блока 1k+1 выдается единичный сигнал, с выхода комбинационного сумматора 4k+1 будет выдаваться значение g = Q - S + 1, которое поступит на вход 44 блока 1k+2 и т. д. При попадании значения g на вход 44 исправного блока 1i на выходе комбинационного сумматора 4i формируется величина, равная g + 1. При попадании значения G на вход 44 неисправного блока 1i, на выходе сумматора 4i формируется нулевое значение, а значение g с выхода 53 блока 1i поступает на вход 44 следующего блока 1i+1 линейки. С выхода комбинационного сумматора 4P+S на выход узла сравнения 6P+S подается значение g = P с выхода узла сравнения 6P+S выдается единичный сигнал, который поступает на соответствующий вход блока 16. Через открытые элементы И 10 и элементы ИЛИ 13 и 15 результат поступает в блоки суммирования 2 и 3. При совпадении результатов на выходах блоков 2 и 3 инверсного выхода узла сравнения 7 выдается нулевой сигнал, который поступает на вход блока 16 и, таким образом, с выхода 16 на выход 30 признака отказа устройства выдается нулевой сигнал, который свидетельствует об истинности результата, выдаваемого с выхода блока суммирования 2 на выходы результата 31 устройства. При R < S на выходах узлов сравнения 6 будут нулевые значения, с выхода блока 16 будет выдаваться единичное значение, которое свидетельствует об исчерпании резерва блоков 1. При несовпадении результатов на выходах блоков суммирования 2 и 3, с инверсного выхода узла сравнения 7 будет выдаваться единичное значение, которое поступит на соответствующий вход блока 16. Следовательно, при R < S или при обнаружении отказа блока суммирования 2 (3) с выхода блока 16 на выход 30 признака отказа устройства будет выдано единичное значение, которое свидетельствует об отказе устройства.

Таким образом, при накоплении R отказов блоков обработки 1 работоспособность устройства сохраняется и длина линейки исправно функционирующих блоков обработки 1 устройства остается постоянной. При обнаружении (R + 1)-го отказа или отказа блока суммирования 2 (3) с выхода 31 устройства выдается признак отказа устройства, который далее поступает на средства внешнего управления.

При работе устройства незаблокированные резервные блоки обработки 1 автоматически функционируют в режиме контроля дублированием. В этом случае на выходы первого блока обработки 1n, где n P + 1, находящегося в резерву, с выхода рабочей линейки устройства поступает вычисленное значение. В результате обработки этого значения в вычислительных узлах 32 и 33 и последующего сравнения результатов в узле 35 резервных блоков обработки 1n происходит обновление значений триггеров 34 этих блоков. Дальнейшее использование этих резервных блоков обработки 1n будет происходит с учетом их исправности.

Пусть на 7-м такте работы устройства обнаружен отказ блока обработки 12. В этом случае для P0 = I = 3, P1 = 2, L = 4 и R = 1 организация входного и выходного потоков данных, управляющих сигналов, содержимое регистров и триггеров и значения, формируемых на выходе комбинационных сумматоров блоков обработки 11 - 14, приведены в табл. 3.

На такте t = 7 обнаружен отказ блока 12, на такте t = 8 происходит блокировка блока 12 (в дальнейшем информация, находящаяся в его узлах, не влияет на дальнейший процесс обработки) и обналение блоков 11 и 13, на такте t = 9 производится перезапуск устройства (на входы блоков 11 и 14 начата подача соответствующих значений). С такта t = 8 производится обход блока 12 и включение в работу резервного блока 14. Длина линейки устройства остается прежней.

Возможный алгоритм восстановления вычислительного процесса после обнаружения отказа блока 1j предусматривает следующую последовательность действий:
такт i : фиксирование блока 1j с обнуленным отказом, блокировка блока 1j, чтение информации из блока 1j-1 в блок 1j-2, обнуление блоков 1j-1, 1j+1, 1j+2, ..., 1P
такт i + 1: чтение информации из блока 1j-2 в блок 1j-3, обнуление блока 1j-2.

такт i + 2: чтение информации из блока 1j-3 в блок 1j-4, обнуление блока 1j-4.

такт i + 3: чтение информации из блока 1j-4 в блок 1j-5, обнуление блока 1j-5.

такт i + k: чтение информации с блока 1j-k-1 в блок 1j-k-2, обнуление блока 1j-k-1
Если tп - время (число тактов), требуемое для подготовки к перезапуску устройства со стороны средств внешнего управления, то время реинициализации линейки составит (j+tп=) тактов.

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

В силу технологической структуры кристалла ИС состояния исправности или неисправности его различных долей взаимосвязаны. Степень связи между отказами различных долей ИС измеряется коэффициентом корреляции, величина которого тем больше, чем выше уровень технологии и степень интеграции ИС 3. Наличие не менее 16-разрядных умножителя 77 комбинационного типа, сумматора 76 комбинационного типа и регистров 69 - 73 обуславливают степень интеграции и уровень технологии, достаточные для проявления высокой степени корреляции отказов. При контроле дублированием вычислительных узлов необходимо, чтобы отказы этих узлов были независимы. Для того нужно, чтобы узлы 32 и 33 блока обработки 1, а также блоки суммирования 2 и 3 были реализованы на разных кристаллах ИС. Аналогично, исходя из соображений корреляции отказов внутри кристалла ИС, необходимо, чтобы избыточные (резервные) блоки обработки 1 не размещались на одних кристаллах ИС вместе с рабочими.

Технико-экономический эффект предлагаемого устройства заключается в следующем.

В данном устройстве осуществляется непрерывный аппаратный контроль на протяжении всего времени работы и блокировка выдачи ошибочной информации при обнаружении отказавшего блока обработки. В устройстве реализован наиболее полный аппаратный контроль, ориентированный на обнаружение всех видов отказов, при этом время контроля сравнимо с тактовым периодом. Достоверность функционирования блока обработки систолического устройства будет определяться как
Dф(t) = Pпр=(t) + P0,0(t),
где
Pпр=(t) - вероятность правильной работы блока обработки 1;
P0,0(t) - вероятность правильной работы блока обработки 1 и выдача с выхода 59 блока 1 сигнала отказа.

Для рассматриваемого систолического устройства
,
где
Pуз(t) - вероятность безотказной работы вычислительного узла 32 (33).

В соответствии с соотношением аппаратурных затрат блоков 1 и блоков 2 (3) при оценке достоверности функционирования всего устройства будем принимать во внимание лишь блоки 1. Тогда достоверность функционирования всего устройства будет определяться выражением
Dф= (2Pуз(t)-P2уз(t))P,
Pуз = 0,99, P = 3, Dф = 0,996,
Pуз = 0,99, P = 10, Dф = 0,9891,
Pуз = 0,999, P = 3, Dф = 0,999997,
Pуз = 0,999, P = 10, Dф = 0,999989,
Pуз = 0,9999 и выше Dф практически равна 1.

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


Формула изобретения

1. Устройство для вычисления свертки, содержащее P блоков обработки, где P = max(P0, P1), где P0 и P1 - размерность векторов весовых коэффициентов, первую группу элементов ИЛИ, причем тактовый вход устройства подключен к тактовым входам блоков обработки с первого по P-й, информационные входы первой группы устройства подключены соответственно к первым входам элементов ИЛИ первой группы, выходы первой и второй групп i-го блока обработки (где i = 1. ..P) подключены соответственно к информационным входам первой и второй групп (i + 1)-го блока обработки, отличающееся тем, что оно содержит первый и второй блоки суммирования, с (P+1)-го по L-й блоки обработки, где L = P+R, R - число резервных блоков обработки, L - комбинационных сумматоров, (L - 1) регистр, группу из L узлов сравнения, узел сравнения, (3L - 2) групп элементов И, 2L групп элементов ИЛИ, (L - 1)-ю группу элементов ИЛИ, группы элементов ИЛИ, элемент ИЛИ и блок формирования сигнала отказа, причем тактовый вход устройства подключен к тактовым входам блоков обработки с (P+1)-го по L-й, к тактовым входам первого и второго блоков суммирования и по входам записи/считывания регистров с первого по (L - 1)-й, выходы элементов ИЛИ первой группы подключены соответственно к информационным входам первой группы первого блока обработки, информационные входы второй группы которого подключены соответственно к информационным входам второй группы устройства, выходы первого блока суммирования подключены соответственно к вторым входам элементов ИЛИ первой группы и соответственно к выходам результата устройства, выходы первого и второго блоков суммирования подключены соответственно к информационным входам первой и второй групп узла сравнения, инверсный выход которого подключен к информационному входу блока формирования сигнала отказа, выход которого подключен к выходу признака отказа устройства, информационные входы третьей группы которого подключены соответственно к первым входам с первого по а-й элементов И (где а - размерность информации), с первой по (L - 1)-ю группы и к информационным входам третьей группы L-го блока обработки, управляющие входы первой группы устройства подключены соответственно к информационным входам первых групп узлов сравнения группы, управляющие входы второй группы устройства подключены соответственно к управляющим входам группы первого блока обработки, выходы третьей группы j-го блока обработки (где j = 1, ..., L - 1) подключены соответственно к первым входам элементов ИЛИ (j + 1)-й группы, выходы которых подключены соответственно к управляющим входам группы (j + 1)-го блока обработки, выходы четвертой группы k-го блока обработки (где k = 1, ..., L) подключены соответственно к информационным входам группы k-го комбинационного сумматора, выходы j-го комбинационного сумматора подключены к информационным входам второй группы j-го узла сравнения группы и к информационным входам j-го регистра, выходы которого подключены соответственно ко вторым входам элементов ИЛИ (j + 1)-й группы, выходы L-го комбинационного сумматора подключены к информационным входам второй группы L-го узла сравнения группы, первый и второй управляющие входы устройства подключены соответственно к первому и к второму управляющим входам L-го блока обработки и соответственно к первым входам (a + 1)-х и (a + 2)-х элементов И групп с первой по (L - 1)-ю, выходы пятой группы и первый выход m-го блока обработки (где m = 2, .. . ,L) подключены соответственно к первым входам элементов И с первого по a-й (L + m)-й группы и (a + 1)-го элемента И (L + m)-й группы и соответственно к первым входам элементов И с первого по (a + 1)-й (2L + m - 1)-й группы, второй выход m-го блока обработки подключен к первому входу (a +2)-го элемента И (2L + m - 1)-й группы, выходы пятой группы и первый выход первого блока обработки подключены соответственно к первым входам элементов И (L + 1)-й группы, выходы элементов И j-й группы и элементов И (2L + j)-й группы подключены соответственно к первым и вторым входам элементов ИЛИ (L + j)-й группы, выход j-го узла сравнения группы подключен к вторым входам элементов И j-й группы, элементов И (L + j)-й группы, к вторым (инверсным) входам элементов И (2L + j)-й группы и к j-му информационному входу группы блока формирования сигнала отказа, выход L-го узла сравнения группы подключен к вторым входам элементов И 2L-й группы и к L-му информационному входу группы блока формирования сигнала отказа, третий выход k-го блока обработки подключен к информационному входу k-го комбинационного сумматора и к k-му выходу группы признака отказа устройства, выходы элементов ИЛИ (L + j)-й группы подключены соответственно к информационным входам третьей группы, к первому и к второму управляющим входам j-го блока обработки, выход l-го элемента И (где l = 1, ..., a) (L + k)-й группы подключен к k-му входу l-го элемента ИЛИ 2L-й группы, выходы которого подключены к l-м информационным входам первого и второго блоков суммирования, выходы (a + 1)-х элементов И групп с (L + 1)-й по 2L-ю подключены к входам элемента ИЛИ, выход которого подключен к управляющим входам первого и второго блоков суммирования, k-й управляющий вход первой группы устройства подключен к первому установочному входу k-го блока обработки, k-й управляющий вход второй группы устройства подключен к второму установочному входу k-го блока обработки, k-й управляющий вход третьей группы устройства подключен к третьему установочному входу k-го блока обработки, k-й вход блокировки устройства подключен к входу блокировки k-го блока обработки, причем каждый блок обработки содержит первый и второй вычислительные узлы, триггер, узел сравнения, с первого по третий узлы элементов И, элемент И и узел элементов ИЛИ, причем в каждом блоке обработки информационные входы первой группы, второй группы, третьей группы, первый управляющий вход, второй управляющий вход и управляющие входы блока обработки подключены соответственно к входам групп первого узла элементов И и соответственно к входам групп первого узла элементов И, выходы первой группы первого узла элементов И подключены соответственно к входам первой группы узла элементов ИЛИ, выходы которого подключены соответственно к выходам первой группы, второй группы, пятой группы, к первому и второму выходам блока обработки, выходы второй группы первого узла элементов И подключены к выходам третьей группы блока обработки, выходы первой группы второго узла элементов И подключены соответственно к информационным входам первой, второй, третьей групп, к первому и к второму управляющим входам первого вычислительного узла и соответственно к информационным входам первой, второй и третьей групп, к первому и второму управляющим входам второго вычислительного узла, выходы второй группы второго узла элементов И подключены соответственно к выходам четвертой группы блока обработки, первый вход установки которого подключен к входам установки в исходное состояние первого и второго вычислительных узлов, выходы первой, второй, третьей групп, первый и второй выходы первого вычислительного узла подключены соответственно к входам группы третьего узла элементов И и соответственно к информационным входам первой группы узла сравнения, информационные входы второй группы которого подключены соответственно к выходам первой, второй, третьей групп, к первому и второму выходам второго вычислительного узла, выходы третьего узла элементов И подключены соответственно к входам второй группы узла элементов ИЛИ, выход узла сравнения подключен к информационному входу триггера, выход которого подключен к входу третьего узла элементов И, к входу второго узла элементов И, к инверсному входу первого узла элементов И и к третьему выходу блока обработки, вход блокировки и тактовый вход которого подключены соответственно к первому (инверсному) и к второму входам элемента И, выход которого подключен к тактовым входам первого и второго вычислительных узлов и к тактовому входу триггера, входы установки в нуль и в единицу которого подключены соответственно к второму и третьему входам установки блока обработки.

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

3. Устройство по п.1, отличающееся тем, что каждый блок суммирования содержит первый и второй регистры, комбинационный сумматор, элемент И-НЕ и элемент И, причем в каждом блоке суммирования информационные входы блока суммирования подключены к информационным входам первого и второго регистров, выходы которых подключены соответственно к информационным входам первой и второй групп комбинационного сумматора, выходы которого подключены к выходам блока суммирования, управляющий вход которого подключен к первым входам элементов И-НЕ и И, выходы которых подключены соответственно к входам записи/считывания первого и второго регистров, тактовый вход блока суммирования подключен к вторым входам элементов И-НЕ и И.

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11



 

Похожие патенты:

Изобретение относится к вычислительной технике и предназначено для построения на его основе специализированных ЭВМ

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

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

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

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

Изобретение относится к вычислительной технике и микроэлектронике и может быть использовано в специализированных системах предварительной обработки многомерных сигналов

Изобретение относится к вычислительной технике и может быть использовано в высокопроизводительных специализированных вычислительных машинах и устройствах обработки сигналов для обращения n n-матриц

Изобретение относится к области вычислительной техники и может быть использовано в высокопроизводительных специализированных вычислительных машинах и устройствах обработки сигналов для обращения n x n - матриц

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

Изобретение относится к области вычислительной техники и может быть использовано в специализированных вычислительных системах для вычисления собственных значений матрицы (n n)

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

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

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

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

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