1
Изобретение относится к вычислительной технике и предназначено для использования в электронных вычислительных машинах последовательного действия и, в частности, в электронных клавишных вычислительных машинах, выполняющих операцию умножения и работаюш,их в десятичной системе счисления.
Известны устройства для извлечения квадратного корня, в которых используется способ, основанный на свойствах ряда нечетных чисел.
Однако в известных устройствах при вычислении квадратного корня используется только один сумматор и три оперативных регистра. В связи с этим количество элементарных циклов сложения, требуемых для определения очередного разряда результата равно, по меньшей мере, удвоенной цифре этого разряда.
Целью изобретения является повышение быстродействия устройства и сокращение объема оборудования.
Для этого устройство содержит дополнительный сумматор, входы которого соединены с выходом первого оперативного регистра и с блоком вычисления корня, а выход - соответственно со входами блока инверторов и блока циркуляции, выход которого соединен со входом первого оперативного регистра,
выход второго оперативного регистра через блок инверторов соединен со входом сумматора, второй вход которого соединен с выходом блока инверторов, выход сумматора соединен со входом второго оперативного регистра и входом блока вычисления корня, другие входы которого соединены соответственно с выходами блока знака, второго блока запятых, счетчика и дополнительного
сумматора, выход блока вычисления корня соединен со входом первого блока запятых, блока умножения, блоков инверторов и второго оперативного регистра.
Кроме того, блок вычисления корня содержит схему блокировки, выход которой соединен со схемой определения запятой, выход схемы определения запятой соединен со входом схемы управления сложения - вычитанием, выход которой соединен через схему
управления вспомогательным регистром со входами вспомогательного регистра, второй выход схемы управления сложением - вычитанием соединен со входом схемы формирования константы.
Изобретение пояснено чертежами.
На фиг. 1 приведена блок-схема устройства; на фиг. 2 - функциональная схема блока вычисления корня. Устройство для извлечения квадратного
корня содержит оперативный регистр 1, до3полнительный сумматор 2, блок циркуляции 3, оперативный регистр 4, блок инверторов 5, сумматор 6, блок инверторов 7, блоки занятых 8, 9, блок знака 10, блок вычисления , корня П, счетчик 12, блок умнож;ения 13.5 Устройство работает следующим образом. Будем считать, что числа представлены в двоично-десятичном коде с избытком три с естественной запятой, так что для хранения цифровой части числа используется оператив-Ю ный регистр, а для хранения положения запятой - блок занятой, выполненный в виде счетчика. Рассмотрим вначале цепи циркуляции ин-15 формации в предположени, что используются только два оперативных регистра. При циркуляции информации в оперативном регистре 1 очередной десятичный разряд с -выхода регистра поступает в дополнитель-20 ный сумматор 2. С выхода сумматора 2 информация поступает в блок циркуляции 3, откуда подается на вход регистра 1. При циркуляции информации в оперативном регистре 4 очередной десятичный разряд с выхода ре-25 гистра поступает в блок инверторов 5, откуда подается в сумматор 6. С выхода сумматора 6 информация поступает в регистр 4. При сложении или вычитании запускается циркуляция информации в обоих оперативных ре-30 гистрах 1 и 4, причем с выхода дополнительного сумматора 2 информация поступает в блок инверторов 7. В зависимости от того, производится сложение или вычитание с выхода блока 7 информация в прямом или об-35 ратном коде поступает на вход сумматора 6, причем для образования дополнительного кода к сумматору 6 добавляется «1. В результате в регистре 4 образуется сумма или разность.40 Пусть регистр 1 и соответствующий ему блок запятой 8 сброшены на нуль (не содержат информации), а исходное число (подкоренное выражение) хранится в регистре 4 и в соответствующем ему блоке запятой 9. Знак45 исходного числа хранится в блоке знака 10. Рассмотрим общее взаимодействие блоков устройства при извлечении квадратного корня. Вначале по положению запятой исходного -числа в блоке запятой 9 в блоке запятой 850 определяется положение запятой результата. Затем запускается вычитание, причем в соответствующий момент времени из блока вычисления корня 11 в дополнительный сумматор 2 поступает «1, в результате чего из55 старшего разряда или двух старших разрядов числа, находящегося в регистре 4, вычитается «1 и в регистр 1 заносится «1. При следующем цикле вычитания в сумматор 2 из блока вычисления корня 11 поступает «2,60 в результате чего из регистра 4 вычитается «3 и в регистре 1 образуется цифра «3. При дальнейших циклах вычитания, в сумматор 2 из блока И поступает «2 до тех пор, пока из сумматора 6 в блок вычисления кор-65 4 ни 11 не поступит сигнал отсутствия переноса. В этом случае запускается сложение, причем на вход дополнительного сумматора 2 из блока вычисления корня 11 информация не поступает. В результате этого производится восстановление остатка с одновременным сдвигом содержимого регистра 4 на один разряд влево. В то же время из блока И посылается «1 в счетчик 12, который определяет момент.времени выработки в блоке 11 соответствующего кода для подачи в сумматор 2. После этого вновь начинается процесс вычитания, причем в первом цикле при занесении «1 в разряд с номером k производится вычитание «1 из разряда с номером +1По окончании процесса в регистре 1 образуется удвоенное значение корня. Для получения окончательного результата в регистре 4 формируется константа 0,5 и запускается блок умножения 13. Очевидно, что это требует меньше времени, чем деление на «2. В результате в регистре 4 получается искомое значение квадратного корня. Существенным отличием данного устройства является то, что за один цикл вычитания в оперативном регистре 1 образуется сумма предыдущего числа с «2, а в регистре 4 - разность предыдущего содержимого регистра 4 и нового содержимого регистра,2. Рассмотрим подробнее процесс вычисления квадратного корня, считая, что в качестве дополнительного сумматора 2 используют четырехразрядный двоичный сумматор комбинационного типа. Сигнал «Корень по входу 14 (см. фиг. 2) запускает схему блокировки 15. Если по выходу 16 из блока знака 10 поступает сигнал о том, что число в регистре 4 меньше нуля. то по выходу 17 запускается вывод и дальнейшее выполнение операции блокируется, Если знак положителен, то по выходу 18 запускаются регистр 1 и блок 3 для циркуляции информации в регистре 1 и блоке 9, а по шине 19 запускается схема определения запятой 20. В схему 20 поступают по входу 21 сигнал из блока запятой 9 и по входу 22 - четные тактовые импульсы (разрядные) из тактового устройства (не показано). Схема 20 обеспечивает выработку импульсов, которые по выходу 23 поступают на счетный вход блока запятой 8, в результате чего в последнем формируется положение запятой удвоенного значения корня. Пусть, например, 16-разрядное число расположено в 19-разрядном регистре таким образом, что самый старший (19-ый) разряд и два самых младших (1-ый и 2-ой) разряды свободны. Тогда сигнал из схемы 20 по выходу-24 запускает счетчик 12 таким образом, что импульс с его выхода соответствует 17-му разряду. Если же количество цифр числа, расположенных слева от запятой, четное, то схема 20 посылает дополнительно по одному импульсу в блок запятой 8 по выходу 23 и в счетчик 12 по выходу 24, в результате чего импульс со счетчика 12 будет соответствовать 16-му разряду. После этого по шине 25 запускается схема 26 управления сложением - вычитанием. В дальнейшем блоки 8 и 9 в процессе определения удвоенного значения квадратного корня не участвуют, причем блок 9 сброшен на нуль, а блок 8 хранит положение запятой удвоенного значения корня.
Схема 26 по выходу 27 запускает регистр 4 и блок 5 для циркуляции информации в регистре 4 и по выходу 28 обратный код в блоке инверторов 7 для вычитания. Одновременно по шине 29 запускается схема 30 управления вспомогательным регистром. Сигнал со счетчика 12 по входу 31 поступает на схему 30, в результате чего последняя по шине 32 заносит во вспомогательный регистр 33 код 0100 (константа 1 в коде 8421-3). Вспомогательный регистр 33 состоит из четырех триггеров. Занесение кода 0100 производится по такту Т4, причем в устройстве используется восемь тактов Т: от Г1 до Т8. Так как в регистре 1 в первоначальный момент не содержится никакой информации, то на входы дополнительного сумматора 2 подаются из регистра 1 - код 0000 и из вспомогательного регистра 33 - код 0100 по выходу 34. В результате в блок 3 и в блок инверторов 7 по такту Т1 (клапанирование производится непосредственно в блоках 3 и 7) поступает код 0100 (цифра «1).
Пусть импульс со счетчика 12 вначале соответствовал 16-му разряду. Если 19-ти разрядам регистра соответствуют 19-ть тактовых импульсов А (от А1 до А19), то занесение кода 0100 во вспомогательный регистр 33 производится по такту 74Л16, а в блоки 3 и 7 код 0100 поступает по Г1Л17. В результате происходит занесение цифры «1 в 17-й разряд регистра 1 и вычитание «1 из содержимого регистра 4. Кроме того, по Г4Л17 схема 30 вырабатывает код ООП и по входу 31 заносит его во вспомогательный регистр 33. В результате этого в регистр 1 по TlAlS заносится код ООП (код нуля), что необходимо в связи с возможностью переноса при слет дующих циклах от 17-го в 18-й разряд регистра 1. Занесение кода ООП произойдет только.при использовании кода 8421-3 и только в 18-й или 19-й разряды регистра 1. В этом случае цикл работы длится от до Г8Л19
В дальнейшем к 17-му разряду регистра 1 необходимо прибавлять цифру «2, причем может иметь место перенос в следующий (18-ый) разряд.
Для осуществления сложения содержимого 17-го разряда с цифрой «2 схема ЗО работает следующим образом.
По Г4Л16 во вспомогательный регистр 33 заносится код 0100. Сброс вспомогательного регистра 33 производится постоянным тактовым импульсом Т2 и в младший разряд регистра (1-й разряд) код очередного разряда заносится также по 72, так как оперативные регистры 1 и 4 являются сдвиговыми регистрами. Тогда при сложении содержимого 17-го разряда регистра 1 и кода 0100 могут быть два случая в зависимости от наличия или отсутствия переноса из дополнительного сумматора 2. Пусть, например, в 17-ом разряде регистра
1 находится цифра «9 (код 1100). Тогда при сложении кодов 1100 и 0100 образуется перенос, который по шине 35 по Г5Л16 поступает в схему 30 управления вспомогательным регистром, где и запомипается на специальном
триггере. По Г6Л16 из схемы 30 производится дополнительный сброс вспомогательного регистра 33 по шине 36. По Г7Л16 схема-30 вырабатывает код 1000 и по щине 31 подает его во вспомогательный регистр 33. При сложении кодов 1100 и 1000 в дополнительном сумматоре 2 образуется код 0100 (цифра «1) и перенос в следующий разряд. Этот сигнал переноса нигде не используется, так как специальный триггер в схеме 30 уже хранит
перенос. Затем по схема 30 сбрасывает по шине 36 вспомогательный регистр 33 и по Т4А17 заносит по входу 31 во вспомогательный регистр код 0001. В результате этого в регистре 1 образуется число «11,
а из содержимого регистра 4 вычитается «11. Пусть, например, в 17-ом разряде регистра 1 находится цифра 5 (код 1000). Тогда при сложении кодов 1000 и 0100 перенос не образуется. По Г6Л16 вспомогательный регистр 33 сбрасывается, и по Т7Л16 схема 30 вырабатывает код 0010, который по входу 31 подается во вспомогательный регистр 33. При сложении кодов 1000 и 0010 в дополнительном сумматоре 2 образуется код 1010 (цифра 7).
Этот процесс продолжается до тех пор, пока- в результате очередного вычитания в регистре 4 не получится-отрицательное число.
Тогда из сумматора 6 в схему 26 управления сложением - вычитанием по шине 37 поступает сигнал отсутствия переноса; в следующем цикле схема 26 по выходу 28 гасит обр-атный код в блоке инверторов 7 и запускает
в нем прямой код. В цикле сложения производится сдвиг содержимого регистра 4 на один разря д влево, а в счетчик 12 но выходу 38 добавляется «1, в результате чего импульс с этого счетчика будет с этого момента
соответствовать 15-му разряду, а в регистре 4 восстанавливается положительный остаток. Тогда схема 30 по входу 31 заносит в регистр 33 код 0100 по такту 74Л15, в результате чего в 16-й разряд регистра 1 заносится «1.
Кроме того, по 74Л16 схема 30 по входу 31 заносит во вспомогательный регистр 33 код 1111, причем в дополнительном сумматоре 2 при сложении вырабатывается перенос в следующий разряд, который блокируется в схеме
30 управления вспомогательным регистром,
В результате этого из содержимого 17-го разряда регистра 1 вычитается «1.
После этого весь процесс повторяется до тех пор, пока вторично в схему 26 по шине 37 не придет сигнал отсутствия переноса из сумматора 6. Затем вновь произойдет восстановление остатка (цикл сложения), сдвиг счетчика 12 и т. д. При переходе счетчика 12 на 1-й разряд вычитание «1 из содержимого 2-го разряда регистра 1 производится одновременно с циклом сложения, так что в результате сложения восстановления остатка не происходит. На этом процесс определения удвоенного значения квадратпого корня заканчивается и схема 26 управления сложением - вычитанием по шине 39 запускает схему 40 формирования константы.
Схема 40 формирования константы прежде всего по выходу 41 сбрасывает регистр 4 и заносит в него константу «0,5. Кроме того, схема 40 проверяет наличие значащей цифры в 18-м разряде и при ее отсутствии производит сдвиг влево на один разряд числа в регистре I и его запятой в блоке 8 по выходу 42. Затем по выходу 43 запускается блок умножения 13. После выполнения операции умножения в регистре 4 оказывается искомое значение квадратного корня, а в блоке 9 - положение его запятой.
Таким образом, на получение удвоенного значения корня требуется максимально 10X16 160 циклов. (Все цифры корня равны «9). Умножение на «0,5 может требовать не более 50 циклов. Всего на извлечение квадратного корня требуется не. более 210 циклов.
Предмет изобретения
I. Устройство для извлечения квадратного корня, содержащее оперативные регистры.
блоки инверторов, сумматор, блок циркуляции, блок вычисления корня, блок умножения, блоки запятых, блок знака и счетчик, отличающееся тем, что, с целью повышения быстродействия, оно содержит дополнительный сумматор, входы которого соединены с выходом первого оперативного регистра и с блоком вычисления корня, а выход - соответственно со входами блока инверторов и блока циркуляции, выход которого соединен со входом первого оперативного регистра, выход второго оперативного регистра через блок инверторов соединен со входом сумматора, второй вход которого соединен с
выходом блока инверторов, выход сумматора соединен со входом второго оперативного регистра и входом блока вычисления корня, другие входы которого соединены соответственно с выходами блока знака, второго
блока запятых, счетчика и дополнительного сумматора, выход блока вычисления корня соединен со входом первого блока запятых, блока умножения, блоков инверторов и второго оперативного регистра.
2. Устройство по п. 1, отличающееся тем, что, с целью сокращения объема оборудования, блок вычисления корня содержит схему блокировки, выход которой соединен
со схемой определения запятой, выход схемы определения запятой соединен со входом схемы управления сложением - вычитанием, выход которой соединен через схему управления вспомогательным регистром со входами
вспомогательного регистра, второй выход схемы управления сложением - вычитанием соединен со входом схемы формирования константы.
0
/5
т
---Т
16П
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ И ДЕЛЕНИЯ | 1973 |
|
SU385273A1 |
ЭЛЕКТРОННАЯ КЛАВИШНАЯ ВЫЧИСЛИТЕЛЬНАЯ МАШИНА | 1973 |
|
SU395837A1 |
Устройство для извлечения квадратного корня | 1976 |
|
SU634270A1 |
АРИФМЕТИЧЕСКИЙ ВЫЧИСЛИТЕЛЬ | 2004 |
|
RU2292580C2 |
Арифметическое устройство | 1978 |
|
SU687982A1 |
Аналого-цифровой преобразователь | 1989 |
|
SU1690195A1 |
Устройство для сложения и вычитания чисел с плавающей запятой | 1985 |
|
SU1315969A1 |
Арифметическое устройство | 1971 |
|
SU522497A1 |
Устройство для деления | 1990 |
|
SU1783522A1 |
Устройство для сложения и вычитания чисел с плавающей запятой | 1980 |
|
SU959070A1 |
Авторы
Даты
1973-01-01—Публикация