устройство для вычисления двумерной свертки
Классы МПК: | G06F17/16 матричные или векторные вычисления G06F11/16 обнаружение и исправление ошибок в данных с помощью избыточности аппаратуры |
Автор(ы): | Якуш Виктор Павлович[RU], Косьянчук Виктор Васильевич[BY], Смирнов Виталий Александрович[RU] |
Патентообладатель(и): | Якуш Виктор Павлович[RU], Косьянчук Виктор Васильевич[BY], Смирнов Виталий Александрович[RU] |
Приоритеты: |
подача заявки:
1993-04-28 публикация патента:
27.11.1995 |
Изобретение относится к вычислительной технике и может быть использовано в специализированных вычислительных системах для вычисления двумерной свертки. Цель изобретения сокращение аппаратурных затрат, повышение надежности за счет организации контроля и резервирования и расширение функциональных возможностей за счет решения задач различных размерностей. Поставленная цель достигается тем, что конвейерное устройство для обработки информации содержит L блоков обработки, где L Q + R, Q - порядок решаемой задачи, R число резервных блоков, два блока суммирования, L сумматоров, L 1 регистров, группу из L узлов сравнения, узел сравнения, L групп элементов ИЛИ, L групп элементов И, элемент ИЛИ НЕ и элемент ИЛИ. 2 з. п. ф-лы, 3 ил. 6 табл.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9
Формула изобретения
1. УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ДВУМЕРНОЙ СВЕРТКИ, содержащее с первого по Q-й блоки обработки, каждый из которых содержит первый вычислительный узел, причем информационные входы первой и второй групп, первый и второй управляющие входы устройства подключены соответственно к информационным входам первой и второй групп, первому и второму управляющим входам первого блока обработки, выходы первой и второй групп, первый и второй выходы i-го блока обработки (где i=1, Q 1) подключены соответственно к информационным входам первой и второй групп, первому и второму управляющим входам (i + 1)-го блока обработки, вход тактовых импульсов устройства подключен к тактовым входам блоков обработки с первого по Q-й, отличающееся тем, что в него введены с (Q + 1)-го по L-й блоки обработки, где L Q + R, R число резервных блоков обработки, первый и второй блоки суммирования, L сумматоров, L 1 регистров, группу из L узлов сравнения, узел сравнения, с первой по (L + 1)-ю группы элементов ИЛИ, L групп элементов И, элемент ИЛИ НЕ и элемент ИЛИ, причем выходы первой и второй групп, первый и второй выходы j-го блока обработки (где j Q, L 1) подключены соответственно к информационным входам первой и второй групп, первому и второму управляющим входам (j + 1)-го блока обработки, вход тактовых импульсов устройства подключен к тактовым входам блоков суммирования, блоков обработки с (Q + 1)-го по L-й и входам записи-считывания регистров, информационные входы третьей группы устройства подключены соответственно к информационным входам третьей группы первого блока обработки, выходы третьей группы K-го блока обработки (где K=1, L 1) подключены соответственно к первым входам элементов И K-й группы и соответственно к управляющим входам первой группы (K + 1)-го блока обработки, выходы третьей группы L-го блока обработки подключены соответственно к первым входам элементов И L-й группы, управляющие входы первой группы устройства подключены соответственно к управляющим входам первой группы первого блока обработки, выходы четвертой группы K-го блока обработки подключены соответственно к первым входам элементов ИЛИ K-й группы, выходы которых подключены соответственно к управляющим входам первой группы (K + 1)-го блока обработки, выходы пятой группы l-го блока обработки (где l=1, L) подключены соответственно к информационным входам группы l-го комбинационного сумматора, выходы K-го комбинационного сумматора подключены соответственно к информационным блокам K-го регистра и соответственно к входам первой группы K-го узла сравнения, выходы L-го комбинационного сумматора, выходы K-го комбинационного сумматора подключены соответственно к входам первой группы L-го узла сравнения группы, управляющие входы второй группы устройства подключены к управляющим входам вторых групп блоков обработки с первого по L-й и входам вторых групп узлов сравнения групп, выход l-го узла сравнения группы подключен к вторым входам элементов И l-й группы и l-му входу элемента ИЛИ НЕ, выход которого подключен к первому входу элемента ИЛИ, выход которого подключен к выходу признака отказа устройства, выходы K-го регистра подключены соответственно к вторым входам элементов ИЛИ K-й группы, третий выход l-го блока обработки подключен к информационному входу l-го сумматора и l-му выходу группы признака отказа устройства, третий управляющий вход которого подключен к управляющим входам блоков суммирования, выходы элементов И групп с первой по L-ю подключены соответственно к входам элементов ИЛИ L-й группы, выходы которых подключены к информационным входам блоков суммирования, выходы первого блока суммирования подключены к выходам результата устройства и входам первой группы (L + 1)-го узла сравнения, инверсный выход которого подключен к второму входу элемента ИЛИ, выходы второго блока суммирования подключены соответственно к входам второй группы (L + 1)-го узла сравнения, l-й вход установки первой группы, l-й вход установки второй группы, l-й вход установки третьей группы и l-й вход блокировки устройства подключены соответственно к первому, второму, третьему входам установки и входу блокировки l-го блока обработки, при этом каждый блок обработки содержит дополнительно второй вычислительный узел, узел сравнения, триггер, с первого по третий узлы элементов И, узел элементов ИЛИ и элемент И, причем в каждом блоке обработки информационные входы первой, второй и третьей групп, первый и второй управляяющие входы и управляющие выходы первой группы блока подключены соответственно к входам группы первого узла элементов И и входам второго узла элементов И, выходы первой группы первого узла элементов И подключены соответственно к входам первой группы узла элементов ИЛИ, выходы которого подключены соответственно к выходам первой группы, второй группы, третьей группы, первому и второму выходам блока, выходы первой группы второго узла элементов И подключены к информационным входам первой группы, второй группы, третьей группы, первому и второму управляющим входам первого и второго вычислительных узлов, выходы первой, второй и третьей групп, первый и второй выходы первого вычислительного узла подключены к входам первой группы узла сравнения и входам группы третьего узла элементов И, выходы которого подключены соответственно к входам второй группы узла элементов ИЛИ, выходы первой, второй и третьей групп, первый и второй выходы второго вычислительного узла подключены соответственно к входам второй группы узла сравнения, выход которого подключен к информационному входу триггера, выход которого подключен к входу третьего узла элементов И, третьему выходу блока обработки, инверсному входу первого узла элементов И и входу второго узла элементов И, выходы вторых групп первого и второго узлов И подключены соответственно к выходам четвертой и пятой групп, управляющие входы второй группы блока обработки подключены соответственно к управляющим входам группы первого вычислительного узла и управляющим входам группы второго вычислительного узла, первый и второй входы установки блока обработки подключены соответственно к входам установки в "0" и "1" триггера, третий вход установки блока обработки подключен к входам установки в исходное состояние первого и второго вычислительных узлов, тактовый вход и вход блокировки блока обработки подключены соответственно к первому и второму (инверсному) входам элемента И, выход которого подключен к тактовым входам первого и второго вычислительных узлов и триггера. 2. Устройство по п.1, отличающееся тем, что каждый блок суммирования содержит два регистра и комбинационный сумматор, причем тактовый вход блока суммирования подключен к входам записи-считывания первого и второго регистров, выходы которых подключены соответственно к информационным входам сумматора, выходы которого подключены к выходам блока суммирования и информационным входам второго регистра, информационные входы и управляющий вход блока суммирования подключены соответственно к информационным входам первого регистра и установки в "0" второго регистра. 3. Устройство по п.1, отличающееся тем, что каждый вычислительный узел содержит четыре группы регистров, регистр, умножитель и сумматор, группу триггеров, триггер, M + 3P + 7 групп элементов И, где M=IP + 1, шесть групп элементов ИЛИ, элемент И, элемент ИЛИ и два дешифратора, причем информационные входы первой группы вычислительного узла подключены к информационным входам первого регистра первой группы и первым входам элементов И первой группы, выходы которых подключены к первым входам элементов ИЛИ первой группы, выходы которых подключены к информационным входам первого регистра второй группы, выходы m-го регистра первой группы (где m=1, M-1) подключены к информационным входам (m+1)-го регистра первой группы и первым входам элементов И (m+1)-й группы, выходы элементов И групп с второй по (M+1)-ю подключены к соответствующим входам элементов ИЛИ второй группы, выходы которых подключены к выходам первой группы вычислительного узла, информационные входы второй группы которого подключены к информационным входам первого регистра третьей группы и первым входам элементов И (M + 2)-й группы, выходы которых подключены к первым входам элементов ИЛИ третьей группы, выходы которых подключены к информационным входам первого регистра четвертой группы, выходы первого регистра второй группы подключены к информационным входам первой группы умножителя, первым входам элементов И (M + 3)-й группы и информационным входам второго регистра второй группы, выходы n-го регистра второй группы (где n 2, P) подключены к информационным входам (n+1)-го регистра второй группы и первым входам элементов И (M + 2 +n)-й группы, выходы элементов И групп с (M+3)-й по (M + 3+ P)-ю поддключены к соответствующим входам элементов ИЛИ четвертой группы, выходы которых подключены к первым входам элементов И (M+P+4)-й группы, выходы которых подключены соответственно к вторым входам элементов ИЛИ первой группы, выходы S-го регистра третьей группы (где S= 1, P) подключены к информационным входам (S + 1)-го регистра и первым входам элементов И (M + P + 4 + S)-й группы, выходы (P + 1)-го регистра третьей группы подключены к первым входам элементов И (M+2P+5)-й группы, выходы элементов И групп с (M+P+5)-й по (M+2P+5)-ю подключены к соответствующим входам элементов ИЛИ пятой группы, выходы которых подключены соответственно к выходам второй группы вычислительного узла, выходы первого регистра четвертой группы подключены к первым входам элементов И (M+2P+6)-й группы, информационным входам второго регистра четвертой группы и информационным входам второй группы умножителя, выходы которого подключены соответственно к информационным входам первой группы сумматора, выходы которого подключены соответственно к выходам третьей группы вычислительного узла, информационные входы третьей группы которого подключены соответственно к информационным входам регистра, выходы которого подключены соответственно к информационным входам второй группы сумматора, выходы r-го регистра четвертой группы (где r= 2, P) подключены к информационным входам (r + 1)-го регистра четвертой группы и первым входам элементов И (M + 2P + 6 + r)-й группы, выходы элементов И групп с (M + 2P + 7)-й по (M + 3P + 7)-ю подключены к соответствующим входам элементов ИЛИ шестой группы, выходы которых подключены соответственно к первым входам элементов И (M + 3P + 8)-й группы, выходы которых подключены соответственно к вторым входам элементов ИЛИ третьей группы, первый управляющий вход устройства подключен к вторым входам элементов И первой группы, вторым (инверсным) входам элементов И (M + P + 4)-й группы и информационному входу первого триггера группы, выход V-го триггера группы (где V=1, М-1) подключен к информационному входу (V + 1)-го триггера группы и первому входу V-го элемента И, выходы элементов И с первого по M-й подключены соответственно к входам элемента ИЛИ, выход которого подключен соответственно к входам элемента ИЛИ, выход которого подключен к первому выходу вычислительного узла, второй управляющий вход которого подключен к вторым входам элементов И (M+2)-й группы, вторым (инверсным) входам элементов И (M + 3P + 8)-й группы и информационному входу триггера, выход которого подключен к второму выходу вычислительного узла, управляющие входы группы с первого по a-й (где a=log2 M) которого подключены соответственно к входам первого дешифратора, i-й выход которого (где i=1, М) подключен к вторым входам элементов И (i + 1)-й группы и второму входу i-го элемента И, управляющие входы группы с (a+1)-го по H-й [где H a log2(P + 1] вычислительного узла подключены к входам второго дешифратора, j-й выход которого (где j= 1, P + 1) подключен к вторым входам элементов И (M + P + 4 + j)-й группы, (M + 2 + j)-й группы м (M + 2P + 6 + j)-й группы, тактовый вход вычислительного узла подключен к тактовым входам регистров и триггеров, вход установки в исходное состояние вычислительного узла подключен к входам установки в "0" всех регистров и триггеров.Описание изобретения к патенту
Изобретение относится к вычислительной технике и может быть использовано в специализированных вычислительных системах для вычисления двумерной свертки. Обычно для обеспечения достоверности получаемых при обработке информации результатов используется тестовый периодический контроль, проводимый с помощью внешних программно-аппаратных средств. При периодическом тестовом контроле вероятность пропуска отказа блока обработки пропорциональна времени между тестовыми проверками (период контроля), при этом объем ошибочной информации, выдача которой происходит между тестовыми проверками, также пропорционален периоду контроля. Временные затраты на тестовую проверку определяются объемом теста, поэтому пропускная способность линейки из блоков обработки известных устройств находится в обратно пропорциональной зависимости от временных затрат на тестовые проверки. Вероятность обнаружения отказа с помощью тестовых проверок определяется разрешающей способностью теста и объемом аппаратуры, охваченной контролем. Время восстановления отказа с помощью тестовых проверок определяется разрешающей способностью теста и объемом аппаратуры, охваченной контролем. Время восстановления вычислительного процесса после обнаружения отказа блока обработки (получение достоверного результата на выходе устройства) пропорционально числу n блоков обработки устройства (длина n линейки устройства). Цель изобретения сокращение аппаратурных затрат, повышение надежности за счет организации контроля и резервирования и расширение функциональных возможностей за счет решения задач различных размерностей. Поставленная цель достигается тем, что в устройство, содержащее с первого по Q-й блоки 1 обработки, причем информационные входы 13 и 14 первой и второй групп, первый и второй управляющие входы 16 и 17 устройства подключены соответственно к информационным входам первой и второй групп, первому и второму управляющим входам первого блока обработки, выходы первой и второй групп, первый и второй выходы i-го блока обработки (где i1, Q-1) подключены соответственно к информационным входам первой и второй групп, первому и второму управляющим входам (i+1)-го блока обработки, вход 21 тактовых импульсов устройства подключен к тактовым входам блоков обработки с первого по Q-й, введены с (Q+1)-го по L-й блоки обработки 1, где L Q + R, R число резервных блоков обработки 1, первый и второй блоки суммирования 2 и 3, L сумматоров 4, L-1 регистров 5, группа из L узлов сравнения 6, узел сравнения 7, с первой по (L+1)-ю группы элементов ИЛИ 8 и 9, L групп элементов И 10, элемент ИЛИ-НЕ 11 и элемент ИЛИ 12, причем выходы первой и второй групп, первый и второй выходы j-го блока обработки (где j Q, L-1) подключены соответственно к информационным входам первой и второй групп, первому и второму управляющим входам (j+1)-го блока обработки, вход тактовых импульсов 21 устройства подключен к тактовым входам блоков суммирования 2 и 3, блоков обработки с (Q+1)-го по L-й, входам записи/считывания регистров 3, информационные входы третьей группы 15 устройства подключены соответственно к информационным входам третьей группы первого блока обработки, выходы третьей группы К-го блока обработки (где К 1, L-1) подключены соответственно к первым входам элементов И 10 К-й группы и соответственно к управляющим входам первой группы (K+1)-го блока обработки, выходы третьей группы L-го блока обработки подключены соответственно к первым входам элементов И 10 L-й группы, управляющие входы 19 первой группы устройства подключены соответственно к управляющим входам первой группы первого блока обработки, выходы четвертой группы К-го блока обработки подключены соответственно к первым входам элементов ИЛИ 8 К-й группы, выходы которых подключены соответственно к управляющим входам первой группы (К+1)-го блока обработки, выходы пятой группы l-го блока обработки (где l 1,L) подключены соответственно к информационным входам группы l-го сумматора 4, выходы К-го сумматора 4 подключены соответственно к информационным входам К-го регистра 5 и соответственно ко входам первой группы К-го узла сравнения 6, выходы L-го комбинационного сумматора 4 подключены соответственно ко входам первой группы L-го узла сравнения 6 группы, управляющие входы второй группы 20 устройства подключены к управляющим входам вторых групп блоков обработки с первого по L-й и входам вторых групп узлов сравнения 6 групп, выход l-го узла сравнения 6 группы подключен к вторым входам элементов И 10 l-й группы и l-му входу элемента ИЛИ-НЕ 11, выход которого подключен к первому входу элемента ИЛИ 12, выход которого подключен к выходу 27 признака отказа устройства, выходы К-го регистра 5 подключены соответственно к вторым входам элементов ИЛИ 8 К-й группы, третий выход l-го блока обработки подключен к информационному входу l-го сумматора 4 и l-му выходу 26 группы признака отказа устройства, третий управляющий вход 18 которого подключен к управляющим входам блоков суммирования 2 и 3, выходы элементов И 10 групп с первой по L-ю подключены соответственно ко входам элементов ИЛИ 9 L-й группы, выходы которых подключены к информационным входам блоков суммирования 2 и 3, выходы первого блока суммирования 2 подключены к выходам 28 результата устройства и входам первой группы (L+1)-го узла сравнения 7, инверсный выход которого подключен ко второму входу элемента ИЛИ 12, выходы второго блока суммирования 3 подключены соответственно ко входам второй группы (L+1)-го узла сравнения 7, l-й вход установки первой группы 22, l-й вход установки второй группы 23, l-й вход установки третьей группы 24 и l-й вход блокировки 25 устройства подключены соответственно к первому, второму, третьему входам установки и входу блокировки l-го блока обработки. Каждый блок обработки 1 содержит первый и второй вычислительные узлы 29 и 30, узел сравнения 31, триггер 32, с первого по третий узлы элементов И 33-35, узел элементов ИЛИ 36 и элемент И 37, причем в каждом блоке обработки информационные входы первой, второй и третьей группы 37-39, первый и второй управляющие входы 40 и 41 и управляющие входы 42 первой группы блока подключены соответственно ко входам группы первого узла элементов И 33 и выходам группы второго узла элементов И 34, выходы первой группы первого узла элементов И 33 подключены соответственно ко входам первой группы узла элементов ИЛИ 36, выходы которого подключены соответственно к выходам первой группы 52, второй группы 53, третьей группы 54, первому 55 и второму 56 выходам блока, выходы первой группы второго узла элементов И 34 подключены к информационным входам первой группы, второй группы, третьей группы, первому и второму управляющим входам первого и второго вычислительных узлов, выходы первой, второй и третьей групп, первый и второй выходы первого вычислительного узла 29 подключены ко входам первой группы узла сравнения 31 и входам группы третьего узла элементов И 35, выходы которого подключены соответственно ко входам второй группы узла элементов ИЛИ 36, выходы первой, второй и третьей групп, первый и второй выходы второго вычислительного узла 30 подключены соответственно ко входам второй группы узла сравнения 31, выход которого подключен к информационному входу триггера 32, выход которого подключен ко входу третьего узла элементов И 35, третьему выходу 50 блока обработки, инверсному входу первого узла элементов и 33 и входу второго узла элементов И 34, выходы вторых групп первого и второго узлов элементов И 33 и 34 подключены соответственно к выходам четвертой 51 и пятой 49 групп, управляющие входы второй группы 43 блока обработки подключены соответственно к управляющим входам группы первого вычислительного узла и управляющим входам группы второго вычислительного узла, первый и второй входы установки 45 и 46 блока обработки подключены соответственно ко входам установки в "нуль" и "единицу" триггера 32, третий вход установки 44 блока обработки подключен ко входам установки в исходное состояние первого и второго вычислительных узлов, тактовый вход 48 и вход 47 блокировки блока обработки подключены соответственно к первому и второму (инверсному) входам элемента И 37, выход которого подключен к тактовым входам первого и второго вычислительных узлов и триггера. Каждый блок суммирования 2(3) содержит два регистра 97, 98 и сумматор 99, причем тактовый вход 102 блока суммирования подключен ко входам записи/считывания первого и второго регистров 97 и 98, выходы которых подключены соответственно к информационным входам сумматора 99, выходы которого подключены к выходам 103 блока суммирования и информационным входам второго регистра 98, информационные входы 100 и управляющий вход 101 блока суммирования подключены соответственно к информационным входам первого регистра 97 и входу установки в нуль второго регистра 98. Каждый вычислительный узел содержит четыре группы регистров 57-60, регистр 61, умножитель 62, сумматор 63, группу триггеров 64, триггер 65, М + 3Р + 7 групп элементов И 66-73, где М 1Р + 1, шесть групп элементов ИЛИ 74-79, элемент И 80, элемент ИЛИ 81 и два дешифратора 82 и 83, причем информационные входы первой группы 84 вычислительного узла подключены к информационным входам первого регистра первой группы 571 и первым входам элементов И первой группы 70, выходы которых подключены к первым входам элементов ИЛИ первой группы 76, выходы которых подключены к информационным входам первого регистра второй группы 591, выходы m-го регистра 57 первой группы (где m 1, М-1) подключены к информационным входам (m+1)-го регистра 57 первой группы и первым входам элементов И (m+1)-й группы 66, выходы элементов И группы 66 с второго по (М+1)-й подключены к соответствующим входам элементов ИЛИ второй группы 74, выходы которых подключены к выходам первой группы 92 вычислительного узла, информационные входы второй группы 85 которого подключены к информационным входам первого регистра третьей группы 581 и первым входам элементов И (М+2)-й группы 72, выходы которых подключены к первым входам элементов ИЛИ третьей группы 79, выходы которых подключены к информационным входам первого регистра четвертой группы 601, выходы первого регистра второй группы 591 подключены к информационным входам первой группы умножителя 62, первым входам элементов И 681 (М+3)-й группы и информационным входам второго регистра второй группы 592, выходы n-го регистра 59 второй группы (где n 2, Р) подключены к информационным входам (n+1)-го регистра второй группы 59 и первым входам элементов И 68 (М+2+n)-й группы, выходы элементов И 68 групп с (М+3)-й по (М+3+Р)-ю подключены к соответствующим входам элементов ИЛИ 77 четвертой группы, выходы которых подключены к первым входам элементов И 71 (М+Р+4)-й группы, выходы которых подключены соответственно ко вторым входам элементов ИЛИ 76 первой группы, выходы S-го регистра 58 третьей группы (где S 1,P) подключены к информационным входам (S+1)-го регистра 58 и к первым входам элементов И 67 (М+Р + 4 + +S)-й группы, выходы элементов И 67 групп с (М+Р+5)-й по (М+2Р+5)-ю подключены к соответствующим входам элементов ИЛИ 75 пятой группы, выходы которых подключены соответственно к выходам второй группы вычислительного узла, выходы первого регистра 60 четвертой группы подключены к первым входам элементов И 691 (М + 2Р + 6)-й группы, информационным входам второго регистра четвертой группы 602 и информационным входам второй группы умножителя 62, выходы которого подключены соответственно к информационным входам первой группы сумматора 63, выходы которого подключены соответственно к выходам группы 94 вычислительного узла, информационные входы третьей группы 86 которого подключены соответственно к информационным входам регистра 61, выходы которого подключены соответственно к информационным входам второй группы сумматора 63, выходы r-го регистра 60 четвертой группы (где r 2, Р) подключены к информационным входам (r+1)-го регистра четвертой группы и первым входам элементов И 69 (М+2Р+6+r)-й группы, выходы элементов И 69 групп с (М+2Р+7)-й по (М+3Р+7)-ю подключены к соответствующим входам элементов ИЛИ 78 шестой группы, выходы которых подключены соответственно к первым входам элементов И 73 (М+3Р+8)-й группы, выходы которых подключены соответственно ко вторым входам элементов ИЛИ 79 третьей группы, первый управляющий вход 87 устройства подключен к вторым входам элементов И 70 первой группы, вторым (инверсным) входам элементов И 71 (М+Р+4)-й группы и информационному входу первого триггера 641 группы, выход v-го триггера 64 группы (где v 1, М-1) подключен к информационному входу (v+1)-го триггера группы 64 и первому входу v-го элемента И 80, выходы элементов И 80 с первого по М-й подключены соответственно к входам элемента ИЛИ 81, выход которого подключен к первому выходу вычислительного узла 95, второй управляющий вход 88 которого подключен ко вторым входам элементов И 72 (М+2)-й группы, вторым (инверсным) входам элементов И 73 (М+3Р+8)-й группы и информационному входу триггера 65, выход которого подключен ко второму выходу 96 вычислительного узла, управляющие входы 89 группы с первого по а-й (где а log2M) которого подключен соответственно ко входам первого дешифратора 82, i-й выход которого (где i 1,M) подключен ко вторым входам элементов И 66 (i+1)-й группы и второму входу i-го элемента И 80, управляющие входы 89 группы с (a+1)-го по Н-й (где Н а log2(P+1)) вычислительного узла подключен к входам второго дешифратора 83, j-й выход которого (где j 1, Р+1) подключен к вторым входам элементов И (М+Р+4+j)-й группы 67, (М+2+j)-й группы 68 и (M+2P+6+j)-й группы 69, тактовый вход 90 вычислительного узла подключен к тактовым входам регистров и триггеров, вход 91 установки в исходное состояние вычислительного узла подключен ко входам установки в нуль всех регистров и триггеров. На фиг. 1 представлена структурная схема устройства; на фиг. 2 структурная схема блока обработки; на фиг. 3 структурная схема вычислительного узла. Устройство для вычисления двумерной свертки содержит L блоков обработки 1, где L Q + R, Q размерность окна двумерной свертки (Р х Q), R число резервных блоков, блоки суммирования 2 и 3, L сумматоров 4, L-1 регистров 5, L узлов сравнения 6, узел сравнения 7, L групп элементов ИЛИ 8 и 9, L групп элементов И 10, элемент ИЛИ-НЕ 11, элемент ИЛИ 12, информационные входы 13-15, управляющие входы 16-20, тактовый вход 21, входы установки 22-24, входы блокировки 25, выходы 26, 27 признака отказа, выход результата 28. Каждый блок обработки 1 содержит вычислительные узлы 29 и 30, узел 31 сравнения, триггер 32, узлы элементов И 33-35, узел элементов ИЛИ 36, информационные входы 37-39, управляющие входы 40-43, входы установки 44-46, вход блокировки 47, тактовый вход 48, выходы 49-56. Каждый вычислительный узел 29 (30) содержит группы регистров 57-60, регистр 61, умножитель 62, сумматор 63, группу триггеров 64, триггер 65, группы элементов И 66-73, группы элементов ИЛИ 74-79, элемент И 80, элемент ИЛИ 81, дешифраторы 82 и 83, информационные входы 84-86, управляющие входы 87-89, тактовый вход 90, вход 91 установки в исходное состояние, выходы 92-96. Каждый блок суммирования 2(3) содержит регистры 97 и 98, сумматор 99, информационные входы 100, управляющий вход 101, тактовый вход 102 и выход 103. В основу работы устройства положен алгоритм вычисления двухмерной сверткиYij=
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-2t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-3t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-4t.gif)
1. Zoijp= 0, i
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-5t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-6t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-7t.gif)
Zq+1ijp= Zqijp+
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-8t.gif)
2. Yoij= 0, i
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-9t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-10t.gif)
Yp+ij1= Ypij+ ZQijp, p
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-11t.gif)
Первая часть алгоритма вычисление
ZQijp=
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-12t.gif)
Yij= Ypij=
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-13t.gif)
Хi+Ip+1 xi;
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049330/937.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
Zi+1 Zi+ai bi, где
ai=
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-14t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-15t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-16t.gif)
bi=
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-17t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-18t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-19t.gif)
T1i+Ip+2
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
T2i+1
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049009/945.gif)
Хi,
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049330/937.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
Т1i и Т2i значения соответственно на выходах 95 и 96 вычислительного узла на i-м такте. Блок суммирования 2(3) обладает возможностью реализации следующих функций:
Yi+1=
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-20t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-21t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-22t.gif)
Yi значение на выходе 103 блока суммирования на i-м такте;
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049035/729.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049009/945.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049052/8773.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049059/946.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049052/8773.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
t
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-23t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-24t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-25t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-26t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-27t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-28t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-29t.gif)
Значения
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049302/969.gif)
t
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-30t.gif)
p
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-31t.gif)
q
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-32t.gif)
to I
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049035/729.gif)
Значения
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-33t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-34t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049151/956.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049151/956.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049151/956.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-35t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-36t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-37t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-38t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-39t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-40t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-41t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049035/729.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049035/729.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049052/8805.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049071/964.gif)
to 4
t
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-42t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-43t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-44t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-45t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-46t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-47t.gif)
t
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-48t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049035/183.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-49t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-50t.gif)
t
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-51t.gif)
t
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-52t.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049151/956.gif)
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049151/956.gif)
t
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-53t.gif)
t
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049353/2049353-54t.gif)
такт i: фиксирование блока 1j с обнаруженным отказом, блокировка блока 1j, чтение информации с блока 1j+1 в блок 1j+2, обнуление блока 1j+1 и блокировка блока 1j+1. такт i+1: чтение информации с блока 1j+2 в блок 1j+3, блокировка и обнуление блока 1j+2, обнуление блоков 11,1j-1. такт i+2: чтение информации с блока 1j+3 в блок 1j+4, блокировка и обнуление блока 1j+3, разблокировка блока 1j+1. такт i+3: чтение информации с блока 1j+4 в блок 1j+5, блокировка и обнуление блока 1j+4, разблокировка блока 1j+2. такт i+K: чтение информации с блока 1j+k+1 в блок 1j+k+2, блокировка и обнуление блока 1j+k-1. Если tn время (число тактов), требуемое для подготовки к перезапуску устройства со стороны средств внешнего управления, то время реинициализации линейки составит j + tn тактов. Все временные диаграммы подачи значений входных элементов матриц и управляющих сигналов формируются с помощью средств внешнего управления или аппаратурной среды. В силу технологической структуры кристалла ИС состояния исправности или неисправности его различных долей взаимосвязаны. Степень связи между отказами различных долей ИС измеряется коэффициентом корреляции, величина которого тем больше, чем выше уровень технологии и степень интеграции ИС. Наличие не менее чем 16-разрядных умножителя 62 комбинационного типа, сумматоров 63 и 99 комбинационного типа и групп регистров 57-60, регистров 61, 97 и 98 обуславливают степень интеграции и уровень технологии, достаточные для проявления высокой степени корреляции отказов. При контроле дублирования вычислительных узлов необходимо, чтобы отказы этих узлов были независимы. Для этого нужно, чтобы узлы 29 и 30 блока обработки 1, а также блоки суммирования 2 и 3 были реализованы на разных кристаллах ИС. Аналогично, исходя из соображений корреляции отказов внутри кристалла ИС, необходимо, чтобы избыточные (резервные) блоки обработки 1 не размещались на одних кристаллах ИС вместе с рабочими. Технико-экономический эффект предлагаемого устройства заключается в следующем. В предлагаемом устройстве осуществляется непрерывный аппаратный контроль на протяжении всего времени работы и блокировки выдачи ошибочной информации при обнаружении отказавшего блока обработки. В устройстве реализован наиболее полный аппаратный контроль, ориентированный на обнаружение всех видов отказов, при этом время контроля сравнимо с тактовым периодом. Достоверность функционирования блока обработки систолического устройства будет определяться как: Dcp(t) Pпр(t) + P0,0(t), где Рпр(t) вероятность правильной работы блока обработки 1,
Р0,0(t) вероятность правильной работы блока обработки 1 и выдача с выхода 50 блока 1 сигнала отказа. Для рассматриваемого систолического устройства
Рпр(t) Ру32(t),
P0,0(t) 2Ру3(t)(1-Ру3(t)), где Ру3(t) вероятность безоткатной работы вычислительного узла 29 и 30. Достоверность функционирования всего устройства определяется выражением:
Dср (2Ру3(t) Ру32(t))Q. При Руз(t) 0,99, Q 3 Dср 0,996,
Руз(t) 0,99, Q 10 Dcр 0,9891,
Руз(t) 0,999, Q 3 Dср 0,999997,
Руз(t) 0,999, Q 10 Dср 0,999989,
Руз(t) 0,9999 и выше Dср практически равна 1. Время восстановления вычислительного процесса (получение достоверности результата на выходе устройства) пропорционально значению nотк, где nотк
![устройство для вычисления двумерной свертки, патент № 2049353](/images/patents/423/2049052/8773.gif)
Класс G06F17/16 матричные или векторные вычисления
Класс G06F11/16 обнаружение и исправление ошибок в данных с помощью избыточности аппаратуры