Устройство для умножения
Изобретение относится к вычислительной технике и может быть использовано при разработке быстродействующих устройств умножения чисел повышенной надежности, удобных для изготовления с применением технологии БИС и СБИС. Целью изобретения является повышение надежности устройства за счет его реконфигурации при обнаружении неисправностей и выполнении вычислений на исправной части оборудования устройства с пониженным быстродействием. Устройство содержит операционные блоки 1, регистр 2 множимого , группу 3 коммутаторов, блок 4 коммутации , блок 5 задержки, коммутаторы множимого 7 и кода 8 сдвига, сдвигатель 6 и блок 9 управления реконфигурацией. 7 ил.
C0I03 СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (sI)s G 06 F 7/52, 11/00
ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ
ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОП ИСАН И Е И ЗО БР ЕТЕ Н ИЯ I
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
12
77 (21) 4892392/24 (22) 20.11.90 (46) 23.01,93, Бюл, N 3 (71) Научно-исследовательский институт электронных вычислительных машин (72) А.А. Шостак и В.В. Яскевич (56) Авторское свидетельство СССР
¹ 888109, кл. G 06 F 7/52, 1978.
Авторское свидетельство СССР № 1536375, кл, G 06 F 7/52, 1988. (54) УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ (57) Изобретение относится к вычислительной технике и может быть использовано при разработке быстродействующих устройств
„„SU „„1789981 А1 умножения чисел повышенной надежности, удобных для изготовления с применением технологии БИС и СБИС. Целью изобретения является повышение надежности устройства за счет его реконфигурации при обнаружении неисправностей и выполнении вычислений на исправной части оборудования устройства с пониженным быстродействием, Устройство содержит операционные блоки 1, регистр 2 множимого, группу 3 коммутаторов, блок 4 коммутации, блок 5 задержки, коммутаторы множимого 7 и кода 8 сдвига, сдвигатель 6 и блок 9 управления реконфигурацией. 7 ил.
1789981
Изобретение относится к вычислительной технике и может бить использовано при разработке быстродействующих устройств
:умножения чисел повышенной надежности, удобных для изготовления с применением технологии больших и сверхбольших интегральных схем (БИС и СБИС)..
Известно устройство умножения, содержащее регистр множимого и и операционных блоков (и — разрядность множимого), каж ый из которых включает узел вычисле;i, Et +? 3 ния ра:з р ядйьх значений произведения и два буферных ретистра с соответствующими связями, Данное устройство отличается достаточно высоким быстродействием, Недостатком его является низкая надежность.
Наиболее близким по технической сущности к предполагаемому изобретению является устройство умножения, содержащее и операционных блоков (и — разрядность множимого), регистр множимого, блок задер>кки и коммутатор, причем вход Множимого 1-ro операционного блока (1=1„...п-1) соединен с выходом 1-ro разряда регистра множимого,. вход слагаемого — с выходом (I-i 1)-ro .операционного блока, вход слатаемого и-ro операционного блока соединен с выходом коммутатора, первый информационный вход которого подключен к входу коррекции устройства, выход результата которого соединен с выходом первого операциойного блока и информационным входом блока задер>кки, выход которого соединен с вторым информационным входом коммутатора, вход регистра множимого подключен к входу мно>кимого устройства, первый и второй управляющие входы которого соединены соответственно с управляющими входами коммутатора и блока задержки, вход мно>кителя устройства соедийен с входами множителя п операционных блоко в.
Известное устройство удобно для изготов" "ления с применением БИС и СБИС, отличается достаточно высоким быстродействием, Недоста@ом этого, как и предыдущего устройства является его низкая надежность.
Целью изобретения является повышение надежности устройства за счет его реконфигурации в случае неисправности операционных блоков и выполнения вычис лений на исправной части оборудования устройства с понйженным быстродействием.
Поставленная цель достигается тем, что
sустройство умножения,,содержащее п операционных блоков (n-разрядность множимого), регистр множимого, блок задержки и первый коммутатор, уп равля ющий вход которого соединен с первым управляющим входом устройства, вход множителя которого соединен с входами множителя и операционных блоков, входы множимого которых соединены с выходами соответствующих разрядов регистра множимого, первый и второй информационные входы первого коммутатора соединены соответственно с входом коррекции устройства.и выходом блока задержки, а выход — с входом слагае"О мого и-го операционного блока, дополнительно содержит (n-1) коммутаторов, блок коммутации, сдвигатель, коммутаторы множимого и кода сдвига и блок управления реконфигурацией, причем вход слагаемого
1-го операционного блока (l-1...„п-1) соединен с выходом (и-i+1)-ro коммутатора, первый информационный вход которого соединен с выходом первого коммутатора, управляющий вход блока задержки соеди2О нен с первым выходом блока управления реконфигурацией, второй выход которого соединен с управляющим входом k-го коммутатора (k=2,...,п) и первым информационным входом коммутатора кода сдвига, выход кот6рого соединен с управляющим входом сдвигателя, информационный вход которого соединен с выходом коммутатора множимого, первый информационный вход которого соединен с входом множимого усЗО. тройства, второй управляющий вход которого соединен с управляющими входами коммутаторов множимого и кода сдвига, выход сдвигателя соединен с входом регистра множимого, выход которого соединен с втoЗ5 рым информационным входом коммутатора множимого, выход k-го операционного блока соединен с вторым информационным входом (пФ+2)-го коммутатора и k-i информационным входом блока коммутации, пер 10 вый информационный вход которого соединен с выходом первого операционного блока, а выход — с информационным входом блока задержки и выходом результата устройства, вход контроля которого соединен с входом блока управления реконфигурацией, третий выход которого соединен с управляющим входом блока коммутации и вакф>ым информационным входом коммутаф>ра кода сдвига, четвертый и пятый выходы
5О блока управления реконфигурацией соединены соответственно с выходами отказа и прерывания устройства, Устройство умножения содержит отличительные признаки, не обнаруженные ни в
55 одном из известных аналогичных устройств — оно содержит группу коммутаторов, блок коммутации, сдвигатель, коммутаторы множимого и кода сдвига и блок управления реконфигурацией с соответствующими связями. Это позволяет обеспечить работу уст1789981
Ъ ройства при отказах операционных блоков за счет реконфигурации и продолжения вычислений на исправной части оборудования устройства с пониженным быстродействием. Устройство работоспособно до logan отказовв операцион н ых блоков.
Таким образом, так как в устройстве имеются отличительные признаки, обеспечивающие достиженйе поставленной цели и не известные ни в одном другом аналогичном техническом решении, то оно соответствует критерию "существенные отличия".
На фиг. 1 приведена структурная схема устройства умножения; на фиг. 2 — структурная схема операционного блока; на фиг. 3— функциональная схема коммутатора группы
"(такую же функциональную схему имеют коммутаторы множимого и кода сдвига); на фиг. 4 — функциональная схема блока коммутации при n=8; на фиг, 5 — структурная схема блока задержки при п=8; на фиг. 6— структурная схема сдвигателя; на фиг, 7— функциональная схема блока управления реконфигурацией.
Устройство умножения (фиг, 1) содержит и операционных блоков 1 (n-разрядность множимого), регйстр 2 множимого, и коммутаторов 3, блок 4 коммутации, блок 5 задержки, сдвигатель 6, коммутатор 7 множимого, коммутатор 8 кода сдвига, блок 9 управления реконфигурацией, входы 10 и 11 множимого и множителя устройства соответственно, входы 12 и 13 коррекции и контроля устройства соответственно, первый
14 и второй 15 управляющие входы устрой. ства, выход 16 результата устройства, выходы 17 и 18 отказа и прерывания устройства соответственно, Входы множителя блоков 1 . соединены с входом 11 устройства, вход 10 множимого которого соединен с первым информационным входом коммутатора 7, второй информационный вход которого соединен с входами множимого блоков 1 и выходом 21 регистра 2, вход которого соединен с выходом 20 сдвигателя 6, информационный вход которого соединен с выходом
32 коммутатора 7, вход слагаемого i-го блока
1 (i=1,...,ï-1) соединен с выходом 22 (и-1+1)-ro коммутатора 3, первый информационный вход которого соединен с вхбдом слагаемого и-го блока 1 и выходом 19 первого коммутатора 3, первый информационный вход которого соединен с выходом 26 блока 5, управляющий вход 27 которого соединен с выходом 28 блока 9, выход 29 которого соеди-. нен с управляющим входом k-го коммутатора
3 (k=2,...,п) и первым информациойным входом коммутатора 8, выход 31 которого соединен с управляющим входом сдвигателя б,информационный вход блока 5 соединен
6 с выходом 25 блока 4 и выходом 16 результата устройства, вход 13 контроля которого соединен с входом блока 9, выход 30 которого соединен с вторым информационным
5 входом коммутатора 8 и управляющим входом 24 блока 4, k-й информационный вход которого соединен с выходом 23 k-го блока
1 и вторым информационным входом (иМ+2)-го коммутатора 3, вход 12 коррекции
10 устройства соединен с вторым информационным входом первого коммутатора 3, управляющий вход которого соединен с первым управляющим входом 14 устройства, второй управляющий вход 15 которого t5 соединен с управляющими входами комму- . таторов 7 и 8, четвертый и пятый выходы блока 9 являются выходами 17 отказа и 18 прерывания устройства соответСтвенно, выход первого операционного блока соединен
20 с первым информационным входом блока 4.
Рассмотрим функциональное назначение и реализацию отдельных узлов и блоков устройства.
Операционные блоки 1 предназначены
25 для вычисления разрядных значений произведения и формируют на своих выходах 23 значения
/Х Y+A+В/мл, где / / мл означает младший разряд двух30 разрядного результата;
Х, У вЂ” соответствующие разряды сомно-, жителей, поступающие на входы множителя и множимого блоков 1;
А — одноразрядное слагаемое, поступа35 ющее на вход слагаемого блоков 1;
 — внутреннее одноразрядное слагае- мое, хранимое в одном из буферных регистров блоков 1.
Реализация блоков 1 показана на фиг. 2, 40 В этом случае каждый блок 1 содержит узел
33 вычисления разрядных значений произведения и буферные регистры 34 и 36. Узел 33 формирует двухразрядные значения функцйи
F= Х. Y+A+B, 45 старший и младший разряды которых записываются соответственно в регистры 34,35, Реализация узла 33 зависит от требований к регулярности структуры и к быстродейст-. вию. Регистры 34, 35 могут быть реализова50 ны на синхронных двухтактных 0-триггерах с цепями установки в нулевое состояние, Регистр 2 множимого йреднаэйачен для хранения и-разрядного значения мнджимого и может быть реализован на синхронных
55 двухтактных D-триггерах.
Коммутаторы 3 группы предназначены для выдачи информации на свои выходы
22(19) (входы слагаемых блоков 1) с первого илй второго своих информационных входов в зависимости от управляющих сигналов.
1789981
Они могут быть реализованы на элементах
2 ИЛИ 38 и 2 И 39 и 40, как это показано на фиг. 3.
Блок 4 коммутации предназначен для подключения выходов 23 блоков 1 к инфор- 5 мационному входу блока 5 задержки при работе устройства в режиме с пониженным быстродействием. В зависимости от сигна- . ла на управляющем входе 24 блока 4 на его выход 25 передается информация с одного 10 из его информационных входов (выхода 23 блока 1). Для случая n=8 реализация блока 4 показана на фиг. 4, при этом он содержит восемь групп" 42 — 49 элементов И и одну группу 41 элементов ИЛИ. 15
Блок 5 предназначен для хранения разрядов сумм частичных произведений, формируемых при работе устройства с пониженным быстродействием после отказов блоков 1 и реконфигурации структуры 20 устройства. В зависимости от сигналов на управляющем входе 26 блока 5, он может быть настроен на различную величину задержки прохождения сигнала с его информацйонных входов к его выходу 26. 25
Величйна задержки при количестве блоков
1 n=2 (m=1, 2, 3,...) равна, n/2, где f=1, а =1
2, ..., m — количество отказавших блоков 1 0 устройства..Реализация блока 5 может быть различной, На фиг. 5 показана реализация блока 5 для случая n=8. В этом случае блок
5 содержит три регистра 36 и два коммутатора 37, при е первый Регистр 36 — и/2- 35 разрядный (в рассматриваемом случае
4-разрядный), второй регистр 36 — и/4-разрядный (B рассматриваемом случае 2-разрядный) и третий регистр 36
n/8-разрядный (в рассматриваемом случае 40 одноразрядный). Подавая управляющие сигналы на коммутаторы 37 можно образовать цепь регистров разрядностью и/2 или
n/2+n/4=3n/4 или n/2+и/4+n/8=7n/8. Регистры 36 блока 5 могут быть реализованы на 4 синхронных двухтактных О-триггерах. Ком-. . мутаторы 37, передающие информацию на входы соответствующих регистров 36 с первого или второго своих информационных входов могут быть реалйзованы на элементах 2И вЂ” 2ИЛИ аналогично показанному. на фиг. 3 коммутатору 3.
Сдвигатель 6 предназначен для сдвига информации на величину, определяемую кодом на его управляющем входе, Он выполняет циклический сдвиг влево информации, поступающей на его информационный вход и может быть реализован как показано на фиг. 6. В этом случае он содержит m коммутаторов 50, реализованных аналогично показанному на фиг. 3 коммутатору 3, причем первый (младший) разряд кода на управляющем входе сдвигателя 6 настраивает первый коммутатор 50 на сдвиг 0-1 разряд, второй разряд кода настраивает второй коммутатор 50 на сдвиг 0-2 разрядов, à m-й разряд кода — m-й коммутатор 50 на сдвиг 0-2 " разрядов. Таким образом, сдвигатель 6 под управлением кода, подаваемого на его управляющий вход, может быть настроен на сдвиг множимого на любое число разрядов.
Коммутатор 7 предназначен для передачи на свой выход 32 (информационный вход сдвигателя 6) информации с первого или второго своих информационных входов (входа 10 множимого устройства или выхода
21 регистра 2 множимого) в зависимости от управляющего сигнала на входе 15 устройства. Он может быть реализован на элементах 2И вЂ” 2ИЛИ аналогично показанному на фиг, 3 коммутатору 3.
Коммутатор 8 предназначен для передачи кода сдвига на управляющий вход сдвигателя 6 {выход 31 коммутатора 8) с второго 29 или третьего 30 выходов блока 9 в зависимости от управляющего сигнала на вход t5 устройства. Он может быть реализован на элементах 2И вЂ” 2ИЛИ, как показано на фиг. 3 для коммутатора 3.
Блок 9 управления реконфигурацией предназначен для выдачи управляющих сигналов на прерывание работы устройства при отказах операционных блоков 1, на выбор работоспособной группы блоков 1 и организацию ее связи с блоком 5 задержки, на выбор необходимой величины задержки в блоке 5, на установку начально о и текущего кодов сдвига множимого при его записи в регистр 2, .а также для выдачи сигнала об отказе устройства после m+1 отказов блоков
1. Одна из возможных реализаций блока 9 для устройства с количеством блоков 1 n=2 (m=1, 2, 3...) показана на фиг. 7. Блок 9 содержит (и-1) элементов ИЛИ 51, образующих m-ступенчатую пирамиду, m-1 элементов ИЛИ 52, счетчик 53, дешифратор
54, элементов И 55, m RS-триггеров 56 первой группы и m RS Tp rrepo857 второй группы, С помощью элементов ИЛИ 51 и 52 определяется местоположение отказавших блоков 1 в структуре устройства. Сигнал об отказе одного из блоков 1 через элементы
ИЛИ 51 поступает на счетный вход счетчика
53, устанавливая его в очередное состояние и на пятый выход блока 9 (выход 18 устройства), вызывая прерывание работы устройства. После f отказов на f ì выходе дешифратора 54 формируется "1", которая поступает на первый вход f-го элемента И
1789981!
55, разрешая прохождение информации с (f-1)-го элемента ИЛИ.52 (для первого элемента И 55 — с выхода второго элемента
ИЛИ 51 предпоследней ступени пирамиды), определяемой наличием отказавшего блока
1 в той или иной части оборудования устройства.
Таким образом на выходе 28 блока 9 после f-го отказа во всех разрядах, кроме
f-го, будут "0", а в f-м разряде "1" (этот сигнал используется для настройки блока 5 задержки), на выходе 29 блока 9 в разрядах с первого по f-й будут "1", а в остальных разрядах — "0" (эти сигналы настраивают коммутаторы 3 на организации в устройстве групп по n/2 блоков 1, а также определяют величину текущего сдвига множимого после каждого цикла работы устройства). на выходе 30 блока 9 устанавливается информация, определяющая работоспособную группу блоков 1 (сигналы настраивают блок 4 коммутации на организацию связй между работоспособной группой блоков 1 и блоком 5 задержки, а также определяют величину начального сдвига множимого), В таблице приведены значения информации на выходах 28 — 30 блока 9 в случае использования в устройстве восьми блоков
1 (п=8, m=3).
Как видно из таблицы, на выходе 28 блока 9 значение "1" присутствует в разряде, номер которого соответствует количеству отказов блоков 1 (после одного отказа блока 1 присугствует "1" в разряде а1, после двух отказов — в разряде а2 и т.д.), причем сигнал с каждого разряда выхода 28 управляет соответствующим коммутатором 37 блока 5 (сигнал с разряда а! управляет первым коммутатором 37.блока 5, сигнал с az— вторым коммутатором 37 блока 5), нэстраивая его на определенную задержку, На выходе 29 блока 9 значение "1" присутствует в разрядах. номер которых меньше или равен количеству отказов блоков 1 (после одного отказа блока 1 — в разряде а „ после двух отказов блоков 1 — в разрядах Ь! и bz, после трех отказов блоков 1 — в разрядах b<, bz и Ьз), причем сигнал с каждого разряда выхода 29 блока 9 управляет определенными коммутаторами 3 (сигнал с разряда b! управляет и/2-м коммутатором 3, сигнал с Ь2-п/4-м и Зп/4-м коммутаторами
3, сигнал с Ьз-n/8-м, Зп/8-м, 5п/8-м и 7п/8-м
50 коммутаторами 3), а кроме того, информация на выходе 29 блока 9 определяет эначе- 55 ние текущего сдвига множимого после каждого цикла работы устройства (после одного отказа блоков 1 устанавливается значение сдвига в 1002-4 разряда, после двух отказов блоков 1 — значение сдвига 1102-6 разрядов, после трех отказов блоков 1— значение сдвига 1П2=7.разрядов).
На выходе 30 блока 9 устанавливается информация, определяющая работоспособную группу блоков 1, продолжающих функционирование после восстановлеййя работоспособности устройства. Так, после одного отказа блоков 1 могут быть образованы две группы блоков 1, поэтому вырабатываются два варианта кода на выходе 30 блока 9, причем код 100 определяет работоспособную группу блоков 1 в виде 8-7-6-5 и поступает на управляющий вход 24 блока 4, разрешая прохождение информации с выхода 23 пятого блока 1 через группы элементов И 45 и ИЛИ 41 на информационный вход блока 5 задержки; кроме того — этот код определяет величину начального сдвига множимого в 100z=4 разряда. Код 000 на выходе 30 блока 9 устанавливает работоспособную группу блоков 1 в виде 4-3-2-1 и поступает на управляющий вход 24 блока 4, разрешая прохождение информацйи с выхода 23 первого блока 1 через группы элементов И 49 и ИЛИ 41 на информационый вход блока 5 задержки, кроме того, код 000 определяет величину начального сдвига в .,,, 000z=0 разрядов, После двух отказов блоков ! в устройстве образуются четыре группы по два блока 1 в каждой и значение кода на выходе 30 блока 9 Определяет одну из них, например, группу4-3 определяет код010 на выходе 30 блока 9, который настраивает блок 4 на передачу информации с выхода 23 третьего блока 1 на информационный вход блока 5 задержки, а также определяет величину начального сдвига множимого в 010z=2 разряда; В остальных случаях блок 9 рабо- @ тает аналогично.
На структурных и функциональных схемах с целью упрОщения условно не показаны цепи установки в нулевое сбстояние регистров 34 и 35 блоков 1, триггеров 56 и
57 первой и второй групп и счетчика 53 блока 9, а также цепи синхронизации регистра
2 множимого, регистров 34 и 35 блоков 1 и регистров 36 блока 5, однако, можно отметить, что имеется общая цепь синхронизации регистров 34, 35 блоков 1 и регистров
36 блока 5 (сигналы подаются в конце каждого такта работы устройства), цепь синхронизации регистра 2 множимого (сигнал подается перед началом работы устройства и в конце каждого цикла его работы), общая цепь установки в нулевое состояние регйстров 34, 35 блоков 1 (сигнал подается перед началом любого из режимов работы устройства) и общая цепь установки в нулевое состояние триггеров 56, 57 и счетчика 53 блока
9 (сигнал подается перед началом использо1789981 вания устройства при всех исправных бло- нулевая информация и далее осуществляетках 1}, ся еще дополнительно и тактов, е течение
Устройство работает следующим обра- которых из устройства выводится с соответзом, ствующим преобразованием. информация, В исходном состоянии регистры 34 и 35 5 хранимая в регистрах 34 и 35 блоков 1. Слеблоков 1, триггеры 56 и 57 блока 9 обнулены. дует отметить, что вывод 2п-разрядного
Навход15устройстваподансигнал,настра- произведения сомножителей в устройстве ивающий коммутаторы 7 и 8 на передачу осуществляется черезего выход16поодноинформации соответственно.с входа 10 уст- му разряду в каждом такте, ройства на инфоомационный вход сдвигате- 10 В рассмотренном случае на вход 12 корля 6 и с выхода 30 блока 9 на управляющий рекции устройства во всех тактах подается вход сдвигателя 6. Подуправлением нулево- нулевая информация. В тех же случаях, когго кода на выходе 30 блока 9 (управляющем да требуется получить округленное произвходе сдвигателя 6) в регистр 2 с входа уст- ведение, необходимо в первом цикле ройства записывается без сдвига и-разряд- 15 работы устройства Hà его вход 12 подать ное значение множимого. По окончании корректирующую информацию (для округзаписи множимого на вход 15 устройства ления 2п-разрядного произведения и-разподается сигнал, настраивающий коммута- рядных сомножителей, представленных в тор 7 и 8 на передачу информации с их двоично-кодированнойшестнадцатеричной другйх"информационныхвходов; Подуправ- 20 системе счисления необходимо подать в лением нулевого кода на выходе 29 блока 9 . первом такте работы на вход 12 двоичный коммутаторы 3 настроены на организацию код1000), Это позволяетосуществитьокругсвязей между соседними блоками 1 На вход ление результата без дополнительных вре14 устройства подан сигнал, настраиваю- менных затрат, Кроме того, вход 12 может щий первый коммутатор 3 на передачу ин- 25 быть использован также для введения реформации с входа 12 коррекции устройства зультирующей коррекции по знакам множина вход слагаемого n-ro блока 1. мого и множителя в случае умножения чисел
Работу устройства будем рассматри- вдополнительном коде. вать для случая п=2 (m=1, 2,...) в следующих РЕЖИМ РЕКОНФИГУРАЦИИ. В прорежимах: рабочий режим; режим реконфи- 30 цессе функционирования блоки 1 могут отгурации; рабочий режим с пониженным бы- казывать. Будем предполагать, что каждый стродействием, операционный блок 1 имеет средства обнаРАБОЧИЙ РЕЖИМ. В рабочем режиме ружения отказа в виде средств встроенного в уСтройстве производится умножение и- контроля, которые могут быть организованы разрядных сомножителей в течение 2 и так- 35 любыми известными способами. например тов с использованием п операционных дублированием или контролем по модулю, блоков 1 (все блоки 1 исправны). В каждом Информация о состоянии блоков 1 поступаиз и первых тактов работы устройства на его ет на вход 13 устройства в момент опроса вход 11 поступает по одному разряду, начи- средств контроля блоков 1, периодичность ная с младших„множитель. При этом в J-м 40 которого определяется различными требоблоке 1 (J=-1, ...., n) производится умножение ваниями к работе устройства. Ввиду малой
j-ro разряда множимого, поступающего на вероятности одновременного отказа двух и
его вход множимого с J-го разряда выхода более блоков 1, эту ситуацию рассматривать
21 регистра 2, на разряд множителя, посту- не будем. пающий на его вход множителя с входа 11 45 Сигнал об отказе)-го блока 1, вырабатыустройства и прибавление к младшему раз- ваемый средствами встроенного контроля и ряду получившегося и ри этом произведения поступающий на вход 13 устройства, через младшего разряда произведения (j+1)-ro элементы ИЛИ 51 блока 9иего пятыйвыход. блока 1, сформированного в предыдущем поступает на выход 18 устройства, вызывая такте и поступающего «а вход слагаемого 50 прерывание работы и перевод устройства в
j-го блока 1 с выхода 22 j-го коммутатора 3, режим реконфигурации, Этим же сигналом атакжестаршегоразрядапроизведения)-ro счетчик 53 переключается в состояние "1", блока I, сформированного в предыдущем устанавливая "1" на первом выходе дешифЪ
: такте и храйимого в его регистре 34. Сфор- ратора 54, которая поступает на первый размированные к концу такта старший и млад- 55 ряд выхода 28 блока 9, устанавливает в "1" ший оазряды произведения j-ro блока 1 первыйтриггер56первойгруппыипоступазаписываются в его регистры 34 и 35 соот- ет на первый вход первого элемента И 55. В ветственно. случае, если n/2+1 j n, то с выхода втоПосле выполнения и первых тактов ра- рого элемента ИЛИ 51 предпоследней стуботы устройства на его вход 11 подается пени пирамиды на второй вход первого
1789981 элемента И 55 поступает "1" и первый триггер 57 второй группы устанавливается s "1", которая поступает на первый разряд выхода
30 блока 9 (если же 1< j < и/2, то первый триггер 57 останется в нулевом состоянии).
Таким образом, на выходах блока 9 устанавливается следующая информация: "1" в первых разрядах первого 28,. второго 29 и третьего 30 (если n/2+1 < j < и) выходов, под управлением которых в устройстве формируется новая рабочая конфигурация, Сигналом с выхода 28 блока 9 -в блоке 5 первый коммутатор 37 настраивается на передачу информации с информационного входа блока 5 на вход первого регистра 36 (формируется цель n/2-разрядного регистра. с
-задержкой распространения от входа к выходу блока 5 равной n/2 тактов). Сигнал с выхода 30 блока 9, определяющий работоспособную часть оборудования (при 1« j n/2 работоспособными считаются блоки. 1 с (n/2+1)-го по п-.é наоборот), поступает на управляющий вход 24 блока 4 коммутации, который настраивается на передачу информации с выхода 23 или первого или (л/2+1)го блока 1. Кроме того, этот сигнал поступает на второй информационный вход коммутатора 8 и при подаче соответствую его сигнала на вход 15 устройства с его входа 10 через сдвигатель 6 в регистр 2 записывается множИмое циклически сдвинутое влево íà n/2 разрядов (при 1 Сигнал с выхода 29 блока 9 настраивает -;n/2+1)-й коммутатор 3 на передачу информации с выхода 19 первого коммутатора 3 на вход слагаемого и/2-ro блока 1, а также . оступаьт на первый информационный вход коммутатора 8, определяя код сдвига множимаго на n/2 разрядов, который используется прй перезаписи содержимого регистра 2 множимого по окончании каждого цикла работы устройства в третьем режиме.. Таким образом, под управлением блока 9 в устройстве в зависимости от местонахождения отказавшего блока 1 формируются одна из двух возможных конфигураций для продолжения вычислений. При отказавшем блока 1 с 1< j < n/2 включаются в работу блоки 1 с (n/2+1)-ão по п-й, выход 23 (n/2+1)-го блока 1 соединяются с информационным входом блока 5, который настраивается на задержку в n/2 тактов, в регистр 2 при этом загружается с входа 10 устройства множимое, циклически сдвинутое влево на n/2 разрядов. Если же отказал блок 1 с n/2+1» j< n, то в работу включаются с первого по и/2-й блоки 1, причем выход 23 первого блока 1 соединяется с информационным входом блока 5, а вход слагаемого и/2-го блока 1 подключается к выходу 19 первого коммутатора 3, в регистр 2 записывается с входа t0 устройства множимое без 5 сдвига. По окончании режима реконфигурации, одновременно с записью со сдвигом или без сдвига множимого с входа 10 устройства в регистр 2 (при соответствующей настройке 10 коммутатора 7 и 8) производится обнуление регистров 34, 35 блоков 1. После этого подают управляющий потенциал на вход 15 устройства, настраивая коммутаторы 7 и 8 на передачу информации с их других информа15 ционных входов. Устройство переходит в режим работы с пониженным быстродействием. РАБОЧИЙ РЕЖИМ С ПОНИЖЕННЫМ БЫСТРОДЕЙСТВИЕМ. Этот режим харак20 теризуется тем, что умножение п-разрядных сомножителей производится за большее количество тактов, чем при использовании всех имеющихся. операционных блоков 1. Так, в случае, когда количество операцион25 ных блоков 1 в устройстве п=2 при фиксации f отказов (f=1, ..., m) блоков 1 произведение и-Оазрядных сомножителей вычисляется за 2 циклов, каждый иэ которых состоит из (и+ — ) тактов, используя и n/2 операционных блоков 1 (при одном отf казе -n/2 блоков 1, при двух отказах — n/4 блоков 1 и т,д.). В каждом цикле осуществляется вычисление частичного произведения п-разрядного множителя на n/2 разрядов множимого и подсуммирование к нему сумм частичных произведений, сформированной в предыдущем цикле и хранимой в регистрах 36 блока 5 (старшие 40 разряды) в регистрах 35 блоков 1 (младшие разряды). В итоге получается новая сумма О частичных произведений. Блок 5 настраивается на задержку в (n- — ) тактов. и Пусть после отказа 1 с 1< j< n/2 в устройстве образована новая конфигурация, в которой работоспособной является группа блоков 1 с (n/2+1)-го по п-й,. причем 50 выход 23 (n/2+1)-ão блока 1 через блок 4 коммутации подключен к информационному входу блока 5, настроенного на задержку в n/2 тактов, а вход слагаемого и-го блока 1 через первый коммутатор 3 подключен к вы55 ходу 26 блока 5. Умножение и-разрядных сомножителей в устройстве выполняется эа два quKna no (n+n/2) ТаКТоа каждый В первом цикле работы устройства вычисляется частичное произведение n/2 младших разрядов множимого, которое хра15 1789981 16 15 40 50 нится в регистре 2 циКлически сдвинутым влево на и/2 разрядов, на и-разрядный множитель, который поступает в течение первых и тактов первого цикла по одному разряду, начиная с младших, на вход 11 устройства, Работа блоков 1 аналогична рассмотренному выше основному режиму. Отличие состоит в том, что по окончании каждого такта с выхода 23 (n/2+1)-ro блока 1 в первый регистр 36 блока 5 записывается очередной разряд частичного произведения (запись первого разряда частичного произведения производится во втором такте первого цикла, т.к. в первом такте этот разряд записывается в регистр 35 (n/2+1)-го блока 1), В (и/2+2)-м такте первого цикла первый разряд частичного произведения с выхода 26 блока 5 поступает на первый информационный вход первого коммутатора 3, однако на вход слагаемого n-ro блока 1 не проходит, как и последующие (п/2-1) разрядов частичного произведения (что достигается подачей соответствувщего сигнала на вход 14 устройства), поскольку младшие n/2 разрядов частичного произведения являются разрядами окончательного результата и в последующих вычислениях не участвуют. По окончании (n+1)-го такта первого цикла на вход 14 устройства подается сигнал, разрешающий прохождение информации с выхода 26 блока 5 на вход слагаемого п-го блока 1 и одновременно с записью в последующих и/2-1 тактах первого цикла в первый регистр 36 блока 5 старших n/2 разрядов частичного произведения, через вход слагаемого и-ro блока 1 осуществляется запись п/2 младших разрядов этого произведения в регистры 35 блоков 1, В последнем такте цикла содержимое регистра 2 с помощью коммутатора 7 и сдвигателя 6 циклически сдвигается влево íà n/2 разрядов под управлением кода на выходе 29 блока 9, так что на входы множимого участвующих в работе блоков 1 поступают старшие п/2 разрядов множимого. Во втором цикле работы устройства вычисляется частичное произведение множителя на n/2 старших разрядов множимого и подсуммирование к нему и старших разрядов частичного произведения, сформированного в первом цикле (n/2 разрядов частичного произведения первого цикла хранятся в регистрах 35 блоков 1, а п/2 разрядов rioÑòónàéóã на вход слагаемого и-ro блока 1 s каждом из n/2 первых тактах второго цикла из блока 5). Как в первом, так и во втором циклах в течение их первйх и тактов на вход 11 устройства поступает llo одному разряду, начиная с младших, множитель, а в течение последних n/2 тактов циклов — нулевая информация. Следует отметить, что вывод 2п-разрядного. произведения сомножителей осуществляется через выход 16 устройства в первые и/2 тактов первого цикла (младшие n/2 раз-. рядов произведения) и в каждом такте второго цикла (старшие n+n/2 разрядов произведения), При возникновении второго отказа среди участвующих в вычислениях блоков 1 (отказы блоков 1 из отключенной частиустройства не регистрируются) устройство вновь переходит в режим реконфигурации, который проходит аналогично рассмотренному выше случаю, При этом счетчик 53 переключается в очередное состояние "2" и:на втором выходе дешифратора 54 появляется "1", которая устанавливает второй триггер 56 первой группы в "1" и разрешает прохождение информации через второй элемент И 55, при этом второй триггер 57 второй группы устанавливается в "1" (если — + 1 « j < — ) илиостается 2 4 в "0" (если — < j < п). а— После завершения режима реконфигурации устройство вновь переходит в рабочий режим с пониженным быстродействием и продолжает функционирование. Когда в устройстве будет зафиксирован rn-й отказ блоков 1, то образуется конфигурация из одного блока 1, выход 23 которого через блок 4 коммутации подключается к информационному входу блока 5, настраиваемого на задержку в (п-1) тактов. Вход слагаемого этого блока 1 через соответствующий коммутатор 3 и первый коммутатор подключается к выходу 26 блока 5 задержки. Далее устройство работает аналогично. Таким образом, устройство за счет реконфигурации после отказов операционных блоков 1 и продолжение вычислений с использованием части исправного оборудования при пониженном быстродействии сохраняет работоспособность до logan отказов операционных блоков, что повышает надежность устройства. Устройство состоит из однотипных узлов и блоков, что делает его персйективным при разработке современных наращиваемых средств на БИС и СБИС. Технико-экономические преимущества устройства умйожения заключается в его более высокой надежности, достигаемой за счет реконфигурации устройства, 17 1789981 Выход 29 (b>b>b>). Выход 30 (С1С2СЗ) Группа блоков 1, продолжающая Работу Количество отказов блоков 1 Выхсд 28 (а агав) 8-7-6-5-4-3-2-1 8-7-6-5 4-3-2-1 8-7 6-5 4-3 2-1 7 5 3 GGO 001 001 001 001 001 001 001 001 GOO 1О0 111 111 111 111 111 111 111 111 111 101 011 001 000 2 3 3 3 . 3 Формула изобретения Устройства для умножения, содержащее п операционных блоков (n — разрядность мнОжимого), регистр множимого, блок задержки и первый коммутатор, управляющий вход которого соединен с первым управляющим входом устройства, вход множителя которого соединен с входами множителя и операционных блоков, входы множимого которых соединены с выходами соответствующих разрядов регистра множимого, первый и второй информационные входы первого коммутатора соединены соответственно с входом коррекции устройства и выходом блока задержки, а выход — с входом слагаемого n-ro операционного блока, отл ич а ю щеес я тем, что, с целью повышения надежности устройства, оно содержит (n-1) коммутаторов, блок коммутации, сдвигатель, коммутаторы множимого и кода сдвига и блок управления реконфигурацией, причем вход слагаемого 1-ro операционного блока (l=1,...,n-1) соединен с выходом (n-1+1)-го коммутатора, первый информационный вход которого соединен с выходом первого коммутатора, управляющий вход блока задержки соединен с первым выходом блока . управления реконфигурацией, второй выход которого соединен с управляющим входом k-го коммутатора (k=2...,n) и первым информационным входом коммутатора кода сдвига, выход которого соединен с управляющим входом сдвигателя, информационный вход которого соединен с выходом коммутатора множимого, первый информационный вход которого соединен с входом множимого устройства, второй управляющий вход которого соединен с управляющими входами коммутаторов множимого и кода сдвига; выход сдвигателя соединен с входом регистра множимого, вйход которого соединен с вторым информационным входом коммутатора множимого, выход k-го операционного блока соединен с вторым информационным входом (и-k+2}-го коммутатора и к-м информационным входом блока коммутации, первый информационный вход которого соединен с выходом первого операционного блока, а выход — с информационным входом блока задержки и выходом результата устройства, вход контроля которого соединен с входом блока управления реконфигурацией, третий выход которого соединен с управляющим входом блока коммутации и вторым информационным входом коммутатора кода сдвига, четвертый и пятый выходы блока управления реконфигурацией соединены соответственно с выходами отказа и прерывания устройства. 1789981 1789981 Составитель В.Яскевич Редактор Л.Пигина Техред M.Mîðãåíòàë Корректор Т.Вашкович Заказ 350 Тираж Подписное ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР 113035, Москва, Ж-35, Раушская наб., 4/5 Производственно-издательский комбинат "Патент", г, Ужгород, ул. Гагарина, 101