Claims (2)
25 блока пам ти соединен с выходом регис тра адреса, выходы блока пам ти соединен с первыми входами регистров верхнего и нижнего значоТгий, выходы которых подключены к соответ30 ствующим входам коммутатора, выход которого соединен с входами регистра адреса, выходного регистра и с первыми входами формировател сомножител и блока умножени , вторые вхо ды которых подключены соответственно к выходу сдвига выходного регистр и выходу формировател сомножител первый и второй входы шифратора соединены с выходами старших разр дов соответственно входного и выходного регистров, а выход шифратора подключей к второму входу регистра нижнего значени , выход блока умножени соединен с входом вычитаемого вычитател , вход уменьшаемого которого подключен к выходу входного регистра а выход - к входу сдвига входного регистра и к первому входу блока управлени , второй и третий входы кото рого соединены с выходами младших разр дов регистров нижнего и верхнего значений соответственно/ выходы блока управлени , с первого по седьмой , подключены к управл ющим входам входного и выходного регистров, формировател сомножител , регистров адреса, нижнего и верхнего значений коммутатора соответственно. Блок управлени содержит две матрицы пам ти, линию задержки, регистр дешифратор адреса микрокоманд, генератор тактовых сигналов, дешифратор условий, элементы ИЛИ-НЕ, ИСК:ЮЧАЮЩЕЕ ИЛИ, триггер, регистр сдвига, причем выход генератора тактов ых сигналов подключен к первому входу дешифратора адреса микрокоманд , выход которого соединен с первыми входами первой и второй матриц пам ти и с первым входом дешифратора условий, второй,и третий входы которого соединены с выходами элементов ИЛИ-НЕ и ИСКЛЮЧАЮЩЕЕ ИЛИ соответственно, вы ход дешифратора условий соединен с вторым входом второй матрицы пам ти, выход которой через линию задержки подключен к входу регистра, выход которого соединен со входом дешифратора адреса микрокоманд, входы элемента ИЛИ-НЕ вл ютс первым входом блока управлени , входы элемента ИСКЛЮЧАЮЩЕЕ ИЛИ ЯВЛЯЮТСЯ соответственно вторым и третьим входами блока управлени , четвертый вход дешифрато ра условий соединен с выходом младшего разр да регистра сдвига, выход котброго соединен с вторым и третьим выходами блока управлени , первый, второй, четвертый, п тый и шестой выходы первой матрицы пам ти вл ютс соответственно первым, вторьп, четвертым , п тым и шестым выходами блока управлени , седьмой выход которог соединен с выходом триггера, инверсный вход крторргр подключен к первому входу элемента ИЛИ-НЕ, входы ре гистра сдвига и триггера соединены с третьим и ceдьмы выходами первой матрицы пам ти соответственно. На фиг. 1 приведена структурна схема устройства дл вычислени квадратного корн ; на фиг. 2 - функциональна схема блока пам ти и шифратора; на фиг. 3 - диаграмма осуществлени подбора четырех цифр результата; на фиг. 4 - функциональна схема формировател сомножител ; на фиг.5 функциональна схема блока умножени ; на фиг. 6 - функциональна схема блока управлени ; на фиг. 1 - граф-схема алгоритма (ГСА) работы предлагаемого устройства. Устройство дл вычислени квадратного корн (фиг. 1) содержит входной 1 и выходной 2 регистры, блок 3 управлени , блок 4 пам ти, регистр 5 адреса, регистры нижнего 6 и верхнего 7 значений, коммутатор 8, блоки 4-8 объединены в блок подбора цифр результата, шифратор 9, формирователь 10 сомножител , блокИ умножени , вычитатель 12, выходы 13 и 14 старших разр дов регистров 1 и 2 соответственно , выход и вход сдвига 15 и 16 регистров 2 и 1 соответственно , выходы 17 и 18 младших разр дов регистров б и 1 соответственно, выходы 19-25 блока 3 управлени . Блок 4 пам ти и шифратор 9 (фиг.2) содержат элементы пам ти, включающие дешифратор 26 адреса и матрицу 27 запоминающих элементов. Формирователь сомножител 10 (фиг. 4) содержит группы элементов И 28 и группу элементов ИЛИ 29. Блок 11 умножени (фиг. 5) содержит сумматоры 30, первый и второй входы которого 31 и 32, управл ющий вход 33, а выход младшего разр да .34. Блок 3 управлени (фиг. б) содержит первую 35 и вторую 36 матрицу пам ти, линии 37 задержки, регистр 38, дешифратор 39 адреса микрокоманд , генератор 40 тактовых сигналов , дешифратор 41 условий, элемент ИЛИ-НЕ 42, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 43, триггер 44 регистр 45 сдвига. ГСА (фиг. 7) содержит вершины 46-54. На ГСА информаци на выходах комбинационных узлов обозначена буквой А с соответствующей позицией, присвоенной комбинационному узлу. В предлагаемом устройстве дл вычислени квадратного корн входной 1 и выходной 2 регистры, регистр 5 адреса и регистры б и 7 могут быть реализованы на D-триггерах. Предполагаетс , что блок 4 пам ти, KOMMVтатор 8, шифратор 9, формирователь 10, блок 11 умножени и вычитатель 12 реализованы в виде комбинационных схем, В этом случае синтез блока 4 пам ти и шифратора 9-может быть произведен известныгли методами по соот-. ветствующим таблицам истинности. Блок 4 пам ти и шифратор 9 могут быть также реализованы на элементах пам ти, имеющих дешифратор адреса. При этом сокращаетс количество оборудовани и обеспечиваетс регул рность их структур. Элемент пам ти (фиг. 2) содержит дешифратор 26 адреса и матрицу 27 .запоминающих элементов, причем выход дешифратора 26 адреса соединен со входом матрицы 27 запоминающих элементов ,выход которой вл етс входом элемента пам ти, вход которого есть вход дешифратора 26 адреса. Коммутатор 8 содержит в каждом разр де два элемента И, выходы которых соединены со входами элемента ИЛИ. . Блок 4 пам ти, регистр 5 адреса регистры нижнег® 6 и верхнего 7 значений и коммутатор 8 предназначены дл осуществлени подбора К цифр ре зультата (К принимает целочисленные значени в пределах 3 К ,п разр дность подкоренного выражени ) Регистры 5 - 7 имеют К разр дов, а блок 4 пам ти содержит 2К(2 - 1) запоминающих элементов. Диаграмма, изображенна на фиг. 3 иллюстрирует последовательность осуществлени подбора четырех цифр результата . В вершине диаграммы находитс величина (при К 4 она равна 8). Значени двух последующих величин, формируемых из предыдущей, отличаютс от нее на t 2 , где i - номер уровн расположени последующих величин (1 i К). Вершина диаграммы соответствует первому уровню. Значение предыдущей величины помещаетс в регист р 5 адреса, которое определ ет адрес обращени и по которому из блока 4 пам ти в регистр нижнего значени 6 считываетс последукнда величина, меньша пpeдьадyщe а в регистр верхнего значени 7 последующа величина, больша предыдущей . Нужное значение выбираетс блоком 3 управлени через коммутатор 8 из регистра б или регистра 7. С помощью шифратора 9 формируетс начальное приближенное значение (xi очередных К цифр результата на осно-вании содержимого старших разр дов входного регистра 1 (d)и выходного регистра 2 (х). Дл этого стро тс таблицы значений х гплг и х д при всех возможных комбинаци х значений d и X . По диаграмме осуществлени подбора К цифр результата фиг. 3) определ етс приближенное значение х так, чтобы его уточнением можно было бы получить все значени х в диапазоне от х до х д . Например , пусть К 4, X mA Ю, х ц 14, Тогда, чтобы получить все зна чени в диапазоне от 10 до 14, необ ходимо по диаграмме на фиг. 3 прин риближенное значение х 12.Веичины X „,,.„ и X д определ ютс , сход из представлени подкорен- . ого выражени D в виде D , (р х. ) то эквивалентно М 1-1 D , S (2 S X,- + х,)х- , 1Г-1 де х- - величина К цифр результата, определенных в i-ом такте п учетом их весовой позиции - количество тактов, необходимых дл определени п цифр результата. Дл определенности принимаем, то величина подкоренного выражени вл етс нормализованным числом: D 1. После окончани i-го. такта ормируетс остаток d /D-( с Х Г) то эквивалентно i , ,,,,. I -Vtii il / . ° -KtiM) iFvvX 1P(,4)(. Предположим, что первый вход шифратора 9 соединен с (К + 1) старшими разр дами входного регистра 1, а второй вход шифратора 9 соединен с К старшими разр дами выходного регистра 2. С учетом этого неравенство {) преобразуетс в эквивалентное; - 2(х + 2-м Покажем, что при i 1 Xmin Дл этого запишем ле 2 (X -ь 2-) вую часть неравенства в виде; l{va-4 , , откуда следует, что ве .1 точно равна х,- + 1 личина или меньше его. Поэтому принимаем . d 2(х + 2- ) Из неравенства (2) при 1 1 следует , что d ч- 2 tnO 1 2х, ,. V3 , X При i 1 имеем: х, Yd + 21 С учетом весовых позиций величин х- и d и обеспечени значени величины х в пределах О х - 2 , что определ ет сомножитель 2, формулы соединен с выходом коммутатора 8, а второй вход группы элементов И 28 с выходом 21 блока 3 управлени и вл етс управл ющим входом формировател 10, а выход каждой группы эле ментов И 28 соединен с первым входом группы элементов ИЛИ 29 с учетом их весовой позиции, второй вход группы элементов 29 цепью сдвига 15 соединен с выходом выходного регистра 2 а выход группы элементов ИЛИ 29 вл етс выходом формировател 10 С помощью последнего в 1-ом такте формируетс значение (2Сх |+ х), равное удвоенному содержимому регист ра 2 (111х-) поступающему на второй вход группы элементов ИЛИ 29, увеличенное на величину (х-), поступающую с выхода коммутатора 8 с учетом весовой позиции t руппы из К цифр результата, которые определ ютс в данном такте, путем выдачи блоков 3 соответствующего управл ющего сигнал на второй вход нужной группы элементов И 28. Блок 11 умножени может быть peaлизован по матричному принципу, как это показано на фиг. 5. Он содержит К (п + 1) разр дных комбинационных сумматоров 30, сдвинутых друг относительно друга на один разр д, пер-. вый вход 31 каждого из которых соеди нен с выходом формировател 10, а второй вх,од 32 всех сумматоров, кром первого, - с выходом значений п стар ших разр дов предыдущего сумматора 30(дл первого сумматора 30 на его вход 32 подаетс нуль), управл ющий вход 33 каждого,сумматора 30 соединен с соответствующим разр дом, поступающим на первый вход блока 11 умножени с выхода коммутатора 8, выход последнего сумматора 30, а также выходы 34 младшего разр да всех остальных сумматоров 30 вл ютс выходом блока 11 умножени , в котором ре ашизован способ умножени с младших разр дов. Если значение на управл ющем входе 33 сумматора 30 единица, т на вход сумматора 30 передаетс число , поступающее на его первый вход 31, если нуль, то передаютс нули. С помощью блока 11 умножени формируетс произведение ,. . Блок 3 управлени может быть реализован по микропрограммному принципу по схеме Уилкса с запоминающим устройством микрокоманд в виде двух запоминающих элементов 27, как это показано на фиг. 6. Перва 35 и втора 36 матрицы пам ти представл ют собой посто нные запоминающие устройства (ПЗУ), выбор ка из которых осуществл етс путем возбуждени соответствующей шины. Перва матрица 35 представл ет собой накопитель определенных наборов управл ющих сигналов. Выборка необходимого набора управл ющих сигналов осуществл етс путем возбуждени соответствующей шины матрицы 35 сигналами с выходов дешифратора адреса микрокоманд 39. Образующиес на выходах матрицы 35 сигналы, как сигналы микроопераций поступают в необходимые узлы устройства. Блок 3 управлени формирует четыре микрокоманды, соответствующие вершинам 47, 51, 52 и 53 ГСА. Втора матрица 36 предназначена дл управлени последовательностьго выполнени микрокоманд. Выборка необходимого адреса следующей микрокоманды производитс путем возбуждени соответствующей шины-матрицы 36 сигналами с выхода дешифратора 39 при выполнении тех микрокоманд, посла которых не провер ютс услови перехода, и сигналами с выхода дешифратора 41 условий при выполнении тех микрокоманд, после которых име-ютс услови перехода. Так, после выполнени микрокоманд, соответствующих вершинам 52 и 53 ГСА, условий перехода нет, а после выполнени микрокоманд , соответствующих вершинам 47 и 51 ГСА, производитс проверка условий перехода.Сигналы дешифратора 41 возбуждают одну из трех шин матрицы 36,соответствующую переходу к выполнению одной из микрокоманд, действи в которых указаны вершинами 51 53 ГСА. Эти сигналы формируютс в соответствии со следующими логическими выражени ми: )) где В5 , Bjij и В5Э сигналы на выходе дешифратора 41 дл формировани перехода к вершинам 51, 52 и 53 ГСА соответственно; Y 48 услови перехода , соответствующие вершинам 48, 49 и 50 ГСА, сформированные при выполнении текущей микрокоманды. Условие , соответствующее вершине 48 ГСА и указывающее, что обнаружен нулевой результат вычитани , формируетс элементом ИЛИ-НЕ 42. Условие, соответствующее вершине 49 ГСА и указывающее , что значени в младших разр дах регистров 6 и 7 отличаютс , формируетс элементом ИСКЛЮЧАЮЩЕЕ ИЛИ 43. Дл управлени выходным регистром 2, формирователем 10 и в качестве счетчика тактов используетс - разр дный регистр 45 сдвига. В каждом такте работы устройства в сдвигающем регистре 45 производитс поразр дное продвижение логической ед ницы. Это позвол ет управл ть соответствующей группой элементов И 28 формировател 10 и производить запись информации в нужные К разр до регистра 2 (момент записи в регистр 2 определ етс сигналом с -соответст вующего выхода 20). Так как значе ние логической единицы по витс в младшем разр де сдвигающего регист ра 45 только в последнем.такте, то состо ние этого разр да и будет определ ть последний-такт (вершина 50 ГСА). Генератор тактовых сигналов пред назначав дл задани определенной частоты выборки наборов управл ющих сигналов при посто нной длительности тактов. Импульсы с его выхода по тупают на дешифратор 39 и в зависимости от кода адреса микрокоманды, наход щегос в регистре 38, возбуждают необходимые шины матриц 35 и 36. Так как код в регистре 38 должен измен тьс только после заверше ни всех процессов, св занных с вы полнением текущей микрокоманды, поэтому коды с выхода второй матрицы 36подаютс в регистр 38 через линии 37задержки, включаемые в каждую разр дную.цепь. Дл запоминани зна ка результата вычитани используетс iD-триггер 44, причем запись знака ;результата вычитани и обнуление последнего производитс по сигнгшам поступающим на его управл ющие входы с соответствующих выходов первой матрицы 35. При управлении регистром 6 на его управл ющий вход поступают сигналы с соответствующих выходов 23.,матри цы 35, определ ющие прием информации в регистр 6 с выходов блока 4 пам ти или шифратора 9. .При управлении регистром 7 на его управл ющий вход поступают сигналы с соответствующих выходов 24 матрицы 35, определ ющие прием информации в регистр 7 с выхода блока 4 пам ти или обнуление регистра 7. При работе блока 3 управлени по коду адреса микрокоманды, наход щему с регистре 38, дешифратором 39 выбираетс одна из шин матрицы 35. При/подаче тактовых сигналов от генератора 40 формируютс все необходимне управл ющие сигналы. Выборка адреса следующей микрокоманды из матрицы 36 производитс дешифратором 39, если после выполн емой микрокоманды не выполн етс условный переход . Если онвыполн етс , то по сигналу дешифратора 39 разрешаетс анализ условий перехода с помощью дешифратора. 41 условий. После формировани условий пере- . хода и их анализа дешифратором 41 производитс выборка адреса следующей микрокоманды из матрицы 36. Выбранный адрес записываетс в регистр 38 через эрем , определ емое величиной линий 37 задержки. Устройство дл вычислени квадратного корн работает следующим образом . В исходном состо нии входной регистр 1 содержит подкоренное выражение , выходной регистр 2, регистры 5-7, сдвигающий регистр 45 и триггер 44 блока 3 управлени содержат нули, в каждом такте работы устройства определ етс К цифр результата. Дл этого производитс следующее. По содержимому регист ра адреса микрокоманды 38 производитс считывание первой микрокоманды {верши за 47 ГСА) котора помещает в регистр б нижнего значени сформированное с помощью шифратора 9 приближенное значение очередных К цифр результата, обнул ет регистр 7 и продвигает единицу в сдвигающем регистре 45 .(в первом тйкте единицы вдвигаетс в старший разр д сдвигающего регистра 45).Так как содержимое триггера 44, управл ющего коммутатором 8, равно нулю, то на выход коммутатЪра 8 подаетс содержимое регистра б (х), которое также записываетс в jierHCTp 5 адреса . Это же значение (х.), поступаюг щее на первый,вхоЬ формировател 10, совместно ;.с содержимым выходного реX )i , поступающее на втогистра .рой вход формировател 10 по цепи 15.сдвига на один разр д в сторону старших разр дов, используетс дл формировани величины 1 fa X. + х С помощью блока 11 умножени формируетс величина .Х;(5.р,х.|4У;) X,), котора в вычитателе 12 вычитаетс из содержимого входного регистра 1. Далее провер ютс услови перехода. Если получен не нулевой результат вычитани , то будет выполн тьс втора микрокоманда (вершина 51 ГСА) до тех пор, пока содержимое младших разр дов 17 и 18 регистров 6 и 7 не будет Отличатьс между собой или же не получитс нулевой результат вычитани . Втора микрокоманда записывает знак результата вычитани в TpjHrrep 44 и по содержимому регистра 5 адреса из блока 4 пам ти выбирает значени в регистры б и 7. Далее, в зависимости от состо ни триггера 44, управлйющего коммутатором 8, на выход коммутатора поступает содержимое регистра 6 или 7. Если в триггере 44 записан нуль (знак минус), то поступает содержимое регистра б, если записана единицы (знак плюс) то поступает содержимое регистра 7. После этого величина х с выхода коммутатора 8 записываетс в регистр 5 адреса и используетс дл формировани величины .л.х,), ), ана . R логично описанному выше. Если после очередной проверки условий перехода получен не нулевой результат вычитани , но содержимое младших разр дов 17 и 18 регистров 6 и 7 отли-чаютс , что соответствует точному определению очередных К цифр результата , и этот такт не последний, то выполн етс треть микрокоманда (вер шина 52 ГСА), в которой значение, поступающее с выхода коммутатора 8 записываетс в соответствующие К разр дов выходного-регистра 2, а ре зультат вычитани с выхода вычитател 12 по цепи сдвига 16 на К разр дов в сторону старших разр дов записываетс во входной регистр 1. Триггер 44 обнул етс , после чего осуществл етс безусловный йереход К выполнению первой микрокоманды. Если после очередной проверки условий перехода получен нулевой результат , вычитани .или в последнем :такте содержимое младших разр дов 17 и 18 регистров б и 7 отличаютс , что соответствует точному определению К цифр результата, то выполн ютс действи (вершина 53 ГСА), аналогичные выполн емым в третьей микрокоманде, но после этого процессвычислени квадратного корн звканчиваетс . В выходном регистре 2 находитс резуль тат вычислени квадратного корн . Таким образом, предлагаемое убтройство дл вычислени квадратного корн позвол ет сформировать резуль тат на тактов, в то врем как известное за п тактов, причем длительность такта составл ет величину t гс5,ц{1 н-- ), врем вычитани (п + К) раз р дных чисел 8 - величина, определ юща среД нее количество шагов, которое необходимо выполнить в каждом такте дл определе ни К цифр результата с уче том предсказани приближенного значени К цифр. Величина определ етс Cmvtotfl m-1 Тй Г2. где m -число шагов, которое необходимо выполнить (2 m .К+1) ; т- число : случаев, когда дл получени К цифр результата требуетс выполнить m шагов. Поэтому быстродействие устройства возрастает в т. ,. - раз. W, Преимущества предлагаемого устройства дл вычислени квадратного корн состо т в том, что оно позвол ет сократить врем вычислени квадратного корн примерно в 3,87 раза,расчет производитс , в предположении, что п 64, К 4, тогда Е 2,75, а вычитатель и сумматоры блока умножени реализованы по схеме со сквозный распространением переноса, первый вход шифратора соединен с (К+1) старшими разр дами входного регистра, второй вход шифратора соединен с К старшими разр дами выходного ре- , гистра. Формула изобретени 1, Устройство дл вычислени квадратного корн ., содержсодее входной и выходной регистры, блок подбора цифр результата, блок управлени , о тличающеес тем, что, с целью повышени быстродействи ,в него введены формирователь сомножител , блок умножени , вычитатель и шифратор, а блок подбора цифр результата содержит регистр адреса, регистры верхнего и нижнего значений, блок пам ти и коммутатор, причем вход блока пам ти соединен с выходом регистра адреса, выходы блока пам ти соединены с первыми входами регистров верхнего и нижнего значений, выходы которого подключены к соответ-. ствующим входам коммутатора, выход которого соединен с входами регистра адреса, выходного регистра и с первыми входами формировател сомножител и блока умножени , вторые Bko- ды которых подключены соответственно к выходу сдвига выходного регистра и выходу формировател сомножител , первой и второй входы шифратоspa соединены с выходами старших разр дов соответственно входного и выходного регистров, а ввисод шифратора подключен к второму входу регистра нижнего значени , выход блока умножени соединен с входом вычитаемого вычитател , вход уменьшаемого которого подключен к выходу входного регистра , а выход - к входу сдвига входного регистра к первому входу блока управлени , второй и третий входы которого соединены с выходами млс1дших разр дов регистров нижнего и верхнего значений соответственно/ выходы блока управлени , с первого по седьмой, .подключены к управл ющим входам входного и выходного регистров, формировател сомножител , регистров адреса, нижнего и верхнего значений, коммутатора соответственно.25 of the memory unit is connected to the output of the address register, the outputs of the memory unit are connected to the first inputs of the upper and lower register registers, the outputs of which are connected to the corresponding inputs of the switch, the output of which is connected to the inputs of the address register, the output register and the first inputs of the factor multiplier and the multiplication unit, the second inputs of which are connected respectively to the output of the output register shift and the output of the multiplier generator, the first and second inputs of the encoder are connected to the outputs of the higher bits corresponding to input and output registers, and the output of the sub-encoder to the second input of the lower register, the output of the multiplication unit is connected to the input of the subtracted subtractor, the input of which is decremented is connected to the output of the input register and the output to the input input of the input register and the first input of the control unit, the second and the third inputs of which are connected to the outputs of the lower bits of the lower and upper values registers / outputs of the control unit, from the first to the seventh, are connected to the control inputs of the input and output of registers, multipliers shaper, address registers, the lower and upper values of the switch, respectively. The control unit contains two memory arrays, a delay line, a micro-command address decoder register, a clock signal generator, a condition decoder, OR NOT elements, a CLAIM: NEAR OR, a trigger, a shift register, and the clock generator output is connected to the first address of the address decoder microinstructions, the output of which is connected to the first inputs of the first and second memory matrices and to the first input of the condition decoder, the second and third inputs of which are connected to the outputs of the OR-NOT elements and EXCLUSIVE OR, respectively, output decryption This condition is connected to the second input of the second memory matrix, the output of which is connected via a delay line to the input of the register, the output of which is connected to the address decoder of the microinstructions, the inputs of the OR-NOT element are the first input of the control unit, the inputs of the EXCLUSIVE OR are respectively the second and the third input of the control unit, the fourth input of the condition decoder is connected to the low-order output of the shift register, the output of the second one is connected to the second and third outputs of the control unit, first, second, fourth, five The first and second outputs of the first matrix of memory are the first, second, fourth, fifth and sixth outputs of the control unit, the seventh output of which is connected to the trigger output, the inverse input krtorrr connected to the first input of the element OR NOT, the shift register inputs and the trigger is connected to the third and seventh outputs of the first memory matrix, respectively. FIG. 1 shows a block diagram of a device for calculating a square root; in fig. 2 - the functional diagram of the memory block and encoder; in fig. 3 is a diagram of the implementation of the selection of four-digit result; in fig. 4 is a functional diagram of a factor multiplier; in fig. 5 is a functional block multiplication circuit; in fig. 6 is a functional block diagram of the control unit; in fig. 1 is a flowchart of the algorithm of the proposed device. A device for calculating the square root (FIG. 1) contains input 1 and output 2 registers, control block 3, memory block 4, address register 5, lower 6 registers and upper 7 values, switch 8, blocks 4-8 are combined into the result digits block, encoder 9, driver 10 multiplier, multiplier I, multiplier 12, outputs 13 and 14 of the higher bits of registers 1 and 2, respectively, output and shift input 15 and 16 of registers 2 and 1, respectively, outputs 17 and 18 of the lower bits of registers b and 1, respectively, outputs 19 25 control unit 3. Memory block 4 and encoder 9 (FIG. 2) contain memory elements including an address decoder 26 and a memory array 27. The shaper factor 10 (FIG. 4) contains groups of elements AND 28 and a group of elements OR 29. The multiplication unit 11 (FIG. 5) contains adders 30, the first and second inputs of which are 31 and 32, the control input 33, and the low-order output. 34 Control unit 3 (FIG. b) contains the first 35 and second 36 memory matrix, delay line 37, register 38, decoder 39 addresses of micro-instructions, 40 clock signal generator, condition decoder 41, OR-NOT 42 element, EXCLUSIVE OR 43 element, trigger 44 switch 44 shift register. GSA (FIG. 7) contains vertices 46-54. At the GSA, the information at the outputs of the combinational nodes is indicated by the letter A with the corresponding position assigned to the combinational node. In the proposed device for calculating the square root of the input 1 and output 2 registers, the register 5 addresses and registers b and 7 can be implemented on D-triggers. It is assumed that memory block 4, KOMMVtator 8, encoder 9, shaper 10, multiplier 11 and subtractor 12 are implemented in the form of combinational circuits. In this case, the synthesis of memory block 4 and encoder 9-can be produced by known methods. truth tables. The memory block 4 and the encoder 9 can also be implemented on the memory elements having an address decoder. This reduces the amount of equipment and ensures the regularity of their structures. Memory element (FIG. 2) contains the address decoder 26 and the matrix 27. memory elements, the output of address decoder 26 being connected to the input of memory array 27, the output of which is the input of the memory element whose input is the input of address decoder 26. Switch 8 contains in each category two AND elements, the outputs of which are connected to the inputs of the OR element. . The memory block 4, the address register 5, the registers of the lower 6 and the upper 7 values, and the switch 8 are designed to select the K result numbers (K takes integer values within 3 K, n the width of the root expression) Registers 5 - 7 have K bit Dov, and memory block 4 contains 2K (2 - 1) storage elements. The diagram shown in FIG. 3 illustrates the sequence in which the four-digit result is selected. At the top of the diagram is the value (for K 4 it is equal to 8). The values of the two subsequent quantities formed from the previous one differ from it by t 2, where i is the level number of the location of the subsequent quantities (1 i K). The top of the diagram corresponds to the first level. The value of the previous value is placed in the address register 5, which determines the address of the address and by which from the memory block 4 in the lower value register 6 the subsequent value is read less than the lower value and the next value greater than the previous value in the upper value register 7. The desired value is selected by control unit 3 via switch 8 from register b or register 7. Using the encoder 9, an initial approximate value is formed (xi successive K digits of the result based on the contents of the upper bits of the input register 1 (d) and output register 2 (x). For this purpose, tables of values of xgplg and xd are constructed for all possible combinations of the values of d and x. According to the chart for the selection of K figures for the result of FIG. 3) an approximate value of x is determined so that by specifying it all the values in the range from x to x d can be obtained. For example, let K 4, X mA Y, x c 14, Then, to obtain all values in the range from 10 to 14, it is necessary according to the diagram in FIG. 3 is the approximate value of x 12. Vechychiny X „,,. &Apos; and X d are determined, a descent from the subquired representation. D expression in the form of D, (p x. ) is equivalent to M 1-1 D, S (2 SX, - + x,) x-, 1Г-1 de х- - the value of K of the result figures determined in the i-th cycle and taking into account their weight position - the number of cycles required to determine n digits of the result. For definiteness, we assume that the value of the radicand is the normalized number: D 1. After the end of the i-th. the cycle is formed by the remainder d / D- (with X D) then equivalent to i ,, ,,,,. I -Vtii il /. ° -KtiM) iFvvX 1P (, 4) (. Suppose that the first input of the encoder 9 is connected to (K + 1) high bits of input register 1, and the second input of the encoder 9 is connected to K high bits of output register 2. In view of this, the inequality {) is transformed into an equivalent one; - 2 (x + 2-m) We show that for i 1 Xmin To do this, we write down 2 (X-2-) main part of the inequality in the form; l {va-4, which implies that ve. 1 is exactly x, - + 1 bit or less. Therefore, we accept. d 2 (x + 2-) From inequality (2) with 1 1 it follows that d × 2 tnO 1 2x,,. V3, X For i 1 we have: x, Yd + 21 Taking into account the weight positions of x- and d-values and ensuring the value of x in the range of O x-2, which determines the factor 2, the formulas are connected to the output of switch 8, and the second input The group of elements AND 28 with the output 21 of the control unit 3 is the control input of the generator 10, and the output of each group of elements AND 28 is connected to the first input of the group of elements OR 29 according to their weight position, the second input of the group of elements 29 is shifted by the shift circuit 15 with the output of the output register 2 and the output of the group of elements OR 29 is the output shaper 10 With the help of the last one in the 1st cycle, the value (2Сх | + x) is formed, which is equal to twice the contents of register 2 (111х-) incoming to the second input of the group of elements OR 29, increased by the value (x-), coming from the switch output 8, taking into account the weight position t of the group of K numbers of the result, which are determined in this cycle, by issuing blocks 3 of the corresponding control signal to the second input of the desired group of elements 28. The multiplication unit 11 can be implemented according to the matrix principle, as shown in FIG. five. It contains K (n + 1) bit combinational adders 30, shifted relative to each other by one bit, first. The input input 31 of each of which is connected to the output of the imaging unit 10, and the second input, one 32 all adders, the edge of the first, to the output values of the first bits of the previous adder 30 (for the first adder 30, its input 32 is zero) the control input 33 of each, the adder 30 is connected to the corresponding bit supplied to the first input of the multiplication unit 11 from the output of the switch 8, the output of the last adder 30, as well as the outputs 34 of the lower order of all other adders 30 are the output of the multiplication unit 11, which is a modified way of multiplying with minor bits If the value at the control input 33 of the adder 30 is one, a number arriving at its first input 31 is transferred to the input of the adder 30, if zero, then zeros are transmitted. Using multiplication unit 11, the product is formed,. . The control unit 3 can be implemented according to the microprogram principle according to the Wilks scheme with the memory of micro-instructions in the form of two storage elements 27, as shown in FIG. 6 The first 35 and second 36 memory arrays are permanent storage devices (ROM), the selection of which is performed by driving the corresponding bus. The first matrix 35 is an accumulator of specific sets of control signals. The selection of the necessary set of control signals is carried out by exciting the corresponding bus of the matrix 35 with signals from the outputs of the decoder of the micro-instructions 39. The signals formed at the outputs of the matrix 35, as signals of micro-operations, go to the necessary nodes of the device. The control unit 3 forms four microcommands corresponding to vertices 47, 51, 52 and 53 GSA. The second matrix 36 is designed to control the sequence of execution of micro-instructions. The selection of the required address of the next micro-command is made by exciting the corresponding bus-matrix 36 with signals from the output of the decoder 39 when executing those micro-commands that are not checked for transition conditions, and signals from the output of the decoder 41 conditions when executing the micro-commands that have transitions . Thus, after the execution of microcommands corresponding to vertices 52 and 53 of GSA, the conditions of transition are absent, and after the execution of microcommands corresponding to vertices 47 and 51 of GSA, verification of the conditions of transition is performed. The signals of the decoder 41 excite one of the three tires of the matrix 36, corresponding to the transition to the execution of one of the microcommands, the actions of which are indicated by the vertices 51 53 GSA. These signals are formed in accordance with the following logical expressions:)) where B5, Bjij and B5E are signals at the output of the decoder 41 to form a transition to the vertices 51, 52 and 53 of the GSA, respectively; Y 48 transition conditions corresponding to vertices 48, 49 and 50 GSA, formed during the execution of the current microcommand. The condition corresponding to the GSA vertex 48 and indicating that a zero subtraction result was detected is formed by the OR-NOT 42 element. The condition corresponding to vertex 49 of the GSA and indicating that the values in the lower bits of registers 6 and 7 are different, is formed by the element EXCLUSIVE OR 43. To control the output register 2, the driver 10, and the bit register 45 is used as the clock counter. In each operation cycle of the device in the shift register 45, a one-by-one advancement of the logical unit is performed. This allows you to control the corresponding group of elements And 28 of the generator 10 and record information in the required K bit to register 2 (the moment of recording in register 2 is determined by the signal from the corresponding output 20). Since the value of the logical unit is in accordance with the lowest bit of the shift register 45 only in the latter. then the state of this bit will determine the last beat (vertex 50 gsa). A clock signal generator is predetermined for setting a specific sampling rate of control signal sets at a constant clock duration. The pulses from its output go to the decoder 39 and, depending on the address code of the micro-command in register 38, excite the necessary busses of the matrices 35 and 36. Since the code in register 38 should change only after all the processes associated with the execution of the current microcommand have been completed, the codes from the output of the second matrix 36 are supplied to register 38 through the delay lines 37 included in each bit. chain. To memorize the sign of the result of the subtraction, an iD-trigger 44 is used, the sign is written, the result of the subtraction and zeroing of the last is performed on the signals received at its control inputs from the corresponding outputs of the first matrix 35. When controlling the register 6, signals from the corresponding outputs 23 are received at its control input. , matrices 35, which determine the reception of information into register 6 from the outputs of memory block 4 or encoder 9. . When controlling the register 7, signals from the corresponding outputs 24 of the matrix 35 are sent to its control input, which determine the reception of information into the register 7 from the output of memory block 4 or the reset of the register 7. When the control unit 3 is operated, the decoder 39 selects one of the busbars of the matrix 35 using the address code of the micro-command located with the register 38, the decoder 39. When / the clock signals from the generator 40 are generated, all the necessary control signals are generated. A sample of the address of the next microcommand from the matrix 36 is made by the decoder 39 if no conditional transition is performed after the microcommand that is executed. If it is executed, then the signal from the decoder 39 allows the analysis of the conditions of the transition using the decoder. 41 conditions. After the formation of conditions pere-. the course and their analysis, the decoder 41 selects the address of the next microcommand from the matrix 36. The selected address is written to register 38 through the Erem, determined by the magnitude of the delay lines 37. The device for calculating the square root works as follows. In the initial state, the input register 1 contains the radic expression, the output register 2, registers 5-7, the shift register 45 and the trigger 44 of the control unit 3 contain zeros, each digit of the device is determined by the digits of the result. The following is done for this. The contents of the micro-command address register 38 reads the first micro-command {top-end 47 GSA) which places in the lower value register b formed by the encoder 9 an approximate value of the next K result numbers, zeroes the register 7 and advances the unit in the shift register 45. (in the first unit, the unit is pushed into the high bit of the shift register 45). Since the contents of the flip-flop 44, which controls the switch 8, is zero, the output of the switch b (x), which is also recorded in jierHCTp 5 of the address, is output to the switch 8 output. Same value (x. ), arriving at first, entering shaper 10, jointly;. with the contents of the output PeX) i, arriving at the vuhistra. Swarm the entrance of the former 10 through the chain 15. a shift by one bit towards the higher bits, is used to form a value of 1 fa X. + x With the help of block 11 multiplication the value is formed. X; (5. r, x 4U;) X,), which in subtractor 12 is subtracted from the contents of input register 1. Next, the transition conditions are checked. If a non-zero subtraction result is obtained, then the second micro-instruction (vertex 51 GSA) will be executed until the contents of the low-order bits 17 and 18 of registers 6 and 7 will not differ between themselves or the zero subtraction result will be obtained. The second microinstruction writes the sign of the result of the subtraction into TpjHrrep 44 and, based on the contents of register 5, addresses from block 4 of memory selects the values in registers b and 7. Further, depending on the state of the trigger 44 controlling the switch 8, the contents of register 6 or 7 arrive at the switch output. If the trigger 44 is recorded zero (minus sign), then the contents of register b are received, if units are written (plus sign), then the contents of register 7 are entered. Thereafter, the value x from the output of the switch 8 is written to the address register 5 and is used to generate the value. l x,),), ana. R is logically described above. If, after the next verification of the transition conditions, a non-zero subtraction result is obtained, but the contents of the low-order bits 17 and 18 of registers 6 and 7 are different, which corresponds to the exact definition of the next K numbers of the result, and this is not the last step, then one third of the microinstruction (ver The GSA bus 52), in which the value coming from the output of the switch 8 is written to the corresponding K bits of the output-register 2, and the result of subtraction from the output of the subtractor 12 along the 16-K shift circuit to the bits towards the higher bits is written to the input p Trunk 1. The trigger 44 is zeroed, after which an unconditional return to the execution of the first micro-instruction is performed. If after the next verification of the transition conditions, a zero result is obtained, subtract. or in the last step: the contents of the low-order bits 17 and 18 of registers b and 7 are different, which corresponds to the exact definition of the K digits of the result, then the actions (vertex 53 GSA), similar to those performed in the third micro-command, are performed, but after this the square root calculation process . Output register 2 contains the result of the square root calculation. Thus, the proposed unit for calculating the square root makes it possible to generate a result for cycles, while it is known for steps, and the duration of a cycle is t gc5, c {1 n--), subtraction time (n + k) 8 consecutive numbers is the value that determines the average number of steps that must be performed in each step to determine the K digits of the result, taking into account the predicted value of K digits. The value is determined by Cmvtotfl m-1 Ty G2. where m is the number of steps that must be performed (2 m. K + 1); m is the number of: cases in which, in order to get K figures of the result, m steps are required. Therefore, the speed of the device increases in t. , - time. W, The advantages of the proposed device for calculating the square root is that it reduces the calculation time of the square root by about 3.87 times, the calculation is made under the assumption that n 64, K 4, then E 2.75, and the subtractor and the multiplier block adders are implemented according to the scheme with through transfer propagation, the first input of the encoder is connected to (K + 1) high-order bits of the input register, the second input of the encoder is connected to K high-resolution bits of the output register. Claim 1, A device for calculating the square root. The input and output registers, the result selection block, the control block, are different in that, in order to increase speed, a multiplier generator, multiplier unit, subtractor and encoder are entered into it, and the result selection block contains the address register, upper registers and the lower values, the memory unit and the switch, the memory unit input is connected to the output of the address register, the memory unit outputs are connected to the first inputs of the upper and lower value registers, the outputs of which are connected to the corresponding. the switch inputs whose output is connected to the inputs of the address register, the output register and the first inputs of the multiplier and multiplication unit, the second Bkoes of which are connected respectively to the output register shift output and the output of the multiplier generator, and the first and second cryptographic inputs are connected to the higher outputs bits, respectively, of the input and output registers, and the encoder input code is connected to the second input of the lower value register, the output of the multiplication unit is connected to the input of the subtracted subtractor, the stroke of which is decremented is connected to the input register output, and the output to the input register shift input to the first input of the control unit, the second and third inputs of which are connected to the output bits of the lower and upper values registers / outputs of the control unit, from the first to the seventh, . connected to the control inputs of the input and output registers, the driver of the multiplier, address registers, lower and upper values, the switch, respectively.
2. Устройство по п. 1, отличающеес тем, что блок управлени содержит две матрицы пам ти линию задержки, регистр, дешифратор с1дреса микрокоманд, генератор тактовых сигналов, дешифратор условий, элементы ИЛИ-НЕ, ИСКЛЮЧАЩЕЕ ИЛИ, триггер, регистр сдвига, причем выход генератора тактовых сигналов подключен к первому входу дешифратора адреса микрокоманд, выход которого соединен G первыми входами первой и второй матриц пам ти и с первым входом дешифратора условий, второй и третий входы которого соединены с выходами элементов ИЛИ-НЕ и ИСКЛЮЧАЮЩЕЕ ИЛИ соответственно, выход дешифратора условий соединен с вторым входом второй матрицы пам ти, выход которой через линию задержки подключен к входу регистра, выход которого соединен с входом дешифратора адреса микрокоманд, входы.элемента вл ютс первым входом блока управлени , входы элемента ИСКЛЮЧАЮЩЕЕ ИЛИ вл ютс соответственно вторым и третьим входами блока управлени , четвертый вход дешифратора условий соединен с выходом младшего разр да регистра сдвига, выход которого соединен с вторым и третьим выходами блока управлени , первый, второй, четвертый, п тый и шестой выходы первой матрицы пам ти вл ютс соответственно первым, вторым, четвертым, п тым и шестым выходами блока управлени , седьмой выход которого соединен с выходом триггера, инверсный вход которого подклк)чен к первому входу элемента ИЛИ-НЕ, входы регистра сдвига и триггера соединены с третьим и седьмым выходами первой матрицы пам ти соответственно2. The device according to claim 1, wherein the control unit contains two memory matrices a delay line, a register, a micro-instruction decoder, a clock signal generator, a condition decoder, OR NOT elements, an EXCLUSIVE OR, a trigger, a shift register, and the output clock generator is connected to the first input of the decoder of micro-instructions addresses, the output of which is connected to G by the first inputs of the first and second memory matrices and to the first input of the condition decoder, the second and third inputs of which are connected to the outputs of the elements OR NOT and EXCLUSIVE E OR, respectively, the output of the condition decoder is connected to the second input of the second memory matrix, the output of which is connected via a delay line to the input of the register, the output of which is connected to the input of the microinstruction address decoder, the inputs of the element are the first input of the control unit, the inputs of the EXCLUSIVE OR is The second and third inputs of the control unit, respectively; the fourth input of the condition decoder is connected to the low-order output of the shift register, the output of which is connected to the second and third outputs of the control unit The first, second, fourth, fifth and sixth outputs of the first memory matrix are respectively the first, second, fourth, fifth and sixth outputs of the control unit, the seventh output of which is connected to the trigger output, the inverse input of which is connected to the first input of the OR-NOT element, the inputs of the shift register and the trigger are connected to the third and seventh outputs of the first memory matrix, respectively
Источники информации, прин тые во внимание при экспертизеSources of information taken into account in the examination
1.Авторское свидетельство СССР № 394781, кл. G Об F 7/38, 1971.1. USSR author's certificate number 394781, cl. G About F 7/38, 1971.
2.Авторское свидетельство СССР 611208, кл. G 08 F 7/38, 1978 (прототип).2. Authors certificate of the USSR 611208, cl. G 08 F 7/38, 1978 (prototype).
2727
Фиг.ЗFig.Z
2i2i
-0-0
3131
Ж.G.
31Азг31zg
3535
30thirty
К1йK1y
30thirty
33
JZJz
3333
19 20 21. 22 23 2519 20 21. 22 23 25
40 Ш40 W
3838
3S3S
ff
4/four/
4242
J5J5
7743 feРе г. / подкорен кое 7743 feRe
Рег.Reg.
Начало f(6 ВыражениеStart f (6 Expression
нетnot
ТрМ- зиикВшчитан. Рег.TrM-ziVVchitan. Reg.
РК.7««/74 RK.7 "" / 74
.6лТр)у.6ltr) y
у(Рее.7лГр4) Рк.y (Ree.7lGr4) Rk.