RU2251144C1 - Device for multiplication of numbers in "1 of 4" code - Google Patents
Device for multiplication of numbers in "1 of 4" code Download PDFInfo
- Publication number
- RU2251144C1 RU2251144C1 RU2003131357/09A RU2003131357A RU2251144C1 RU 2251144 C1 RU2251144 C1 RU 2251144C1 RU 2003131357/09 A RU2003131357/09 A RU 2003131357/09A RU 2003131357 A RU2003131357 A RU 2003131357A RU 2251144 C1 RU2251144 C1 RU 2251144C1
- Authority
- RU
- Russia
- Prior art keywords
- code
- inputs
- outputs
- block
- bits
- Prior art date
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано для построения вычислительных систем с повышенной достоверностью выдаваемых данных.The invention relates to computer technology and can be used to build computer systems with increased reliability of the issued data.
Известно устройство для умножения (АС СССР №1024906, МКИ 6 G 06 F 7/49, заявлено 14.08.81, опубл. 23.06.83), содержащее регистры множителя и множимого, регистр результата, блок анализа знака, блок умножения, комбинационный сумматор и блок суммирования в избыточной системе счисления. Устройство обеспечивает выполнение операций в избыточной системе счисления.A device for multiplication is known (USSR AS No. 1024906, MKI 6 G 06 F 7/49, claimed 14.08.81, publ. 23.06.83) containing the registers of the multiplier and the multiplier, the result register, the sign analysis unit, the multiplication unit, the combinational adder and summing unit in a redundant number system. The device provides operations in a redundant number system.
Недостатком данного устройства является то, что в режиме функционирования не проводится проверка правильности выдаваемых данных, что, в свою очередь, не дает возможности повысить достоверность выдаваемых результатов.The disadvantage of this device is that in the operating mode does not check the correctness of the issued data, which, in turn, does not make it possible to increase the reliability of the issued results.
Причины, препятствующие достижению требуемого технического результата, заключаются в отсутствии средств, обеспечивающих возможность проверки правильности выдаваемого кода данных.The reasons that impede the achievement of the required technical result are the lack of tools that provide the ability to verify the correctness of the issued data code.
Известно устройство для умножения чисел по модулю (патент РФ №2143723, МКИ 7 G 06 F 7/52, заявлено 29.07.98, опубл. 27.12.99), содержащее первый и второй преобразователи двоичного кода по первому внутреннему модулю, первый и второй преобразователи двоичного кода по второму внутреннему модулю, с первого по шестой блоки элементов И, табличный вычислитель, преобразователи унитарного кода по первому и второму модулям и сумматор по модулю. Устройство обеспечивает умножение чисел в системе остаточных классов по двум модулям.A device for multiplying numbers modulo is known (RF patent No. 2143723, MKI 7 G 06 F 7/52, claimed July 29, 1998, publ. 12/27/99), containing the first and second binary code converters for the first internal module, the first and second converters binary code for the second internal module, from the first to sixth blocks of AND elements, a table computer, unitary code converters for the first and second modules, and an adder for the module. The device provides multiplication of numbers in the system of residual classes for two modules.
Недостаток данного устройства заключаются в том, что не проводится проверка правильности выдаваемых данных, что, в свою очередь, не дает возможности повысить достоверность выдаваемых результатов.The disadvantage of this device is that it does not check the correctness of the issued data, which, in turn, does not make it possible to increase the reliability of the issued results.
Причины, препятствующие достижению требуемого технического результата, заключаются в отсутствии средств, обеспечивающих возможность проверки правильности выдаваемого кода данных.The reasons that impede the achievement of the required technical result are the lack of tools that provide the ability to verify the correctness of the issued data code.
Известно устройство для сложения в коде “М из N”, наиболее близкое к заявляемому, позволяющее получить код произведения чисел в коде “М из N” в виде частичного произведения и значения переносов (АС СССР №1015372, МКИ 6 G 06 F 7/49, заявлено 17.07.81, опубл. 30.04.83), содержащее регистры первого и второго операндов, блок контроля, матрицу сложения и матрицу умножения, причем первые и вторые группы выходов регистров операндов подключены к входам матрицы сложения, третьи группы выходов регистров операндов соединены соответственно с первыми и вторыми входами блока контроля, первый и второй выходы которого соединены с выходами сигнала ошибки устройства, выходы матрицы сложения соединены с выходами суммы устройства и первыми входами матрицы умножения, вторые входы которой соединены с третьими выходами блока контроля, выходы частичных произведений и выходы сигналов переносов матрицы умножения соединены с соответствующими выходами устройства. В приведенном в описании варианте реализации устройства представлено техническое решение для умножения в шестеричном коде “2 из 4”.A device for adding in the code “M from N” is closest to the claimed one, which allows one to obtain the product code of numbers in the code “M from N” in the form of a partial product and hyphenation value (USSR AS No. 1015372, MKI 6 G 06 F 7/49 , claimed July 17, 81, published April 30, 83) containing the registers of the first and second operands, a control unit, an addition matrix and a multiplication matrix, the first and second groups of outputs of the operand registers connected to the inputs of the addition matrix, the third groups of outputs of the operand registers connected respectively with first and second entrances a control unit, the first and second outputs of which are connected to the outputs of the device error signal, the outputs of the addition matrix are connected to the outputs of the sum of the device and the first inputs of the multiplication matrix, the second inputs of which are connected to the third outputs of the control unit, the outputs of the partial products and the outputs of the transfer signals of the multiplication matrix corresponding device outputs. In the embodiment of the device described in the description, a technical solution for multiplication in the hexadecimal code “2 of 4” is presented.
Первый недостаток данного устройства заключаются в том, что для получения окончательного значения произведения необходимо преобразование частичных произведений и сигналов переносов на дополнительном оборудовании.The first disadvantage of this device is that in order to obtain the final value of the product, it is necessary to convert partial works and carry signals on additional equipment.
Причины, препятствующие достижению требуемого технического результата, заключаются в том, что на выход устройства выдаются только частичные произведения и сигналы переносов.The reasons that impede the achievement of the required technical result are that only partial works and hyphenation signals are outputted from the device.
Второй недостаток данного устройства заключается в том, что в нем проводится контроль кодов входных операндов, но отсутствует контроль полученного результата.The second disadvantage of this device is that it monitors the codes of the input operands, but there is no control of the result.
Причины, препятствующие достижению требуемого технического результата, заключаются в том, что в устройстве отсутствуют средства, обеспечивающие контроль результата операции умножения.The reasons that impede the achievement of the required technical result are that the device lacks means to control the result of the multiplication operation.
Задачей, на решение которой направлено предлагаемое техническое решение, является построение вычислительных систем с повышенной достоверностью получения результатов и равномерного распределения энергии в процессе работы, что особенно важно при реализации аппаратуры системы в виде СБИС.The task to which the proposed technical solution is directed is to build computing systems with increased reliability of obtaining results and even distribution of energy during operation, which is especially important when implementing system equipment in the form of VLSI.
Технический результат, достигаемый при осуществлении изобретения, заключается в повышении достоверности выдаваемого результата при обеспечении поразрядного контроля результата операции умножения чисел и равномерного распределения энергии по разрядам в процессе работы, что особенно важно при реализации аппаратуры системы в виде СБИС.The technical result achieved by the implementation of the invention is to increase the reliability of the output while providing bitwise control of the result of the operation of multiplying numbers and uniform distribution of energy over the discharges during operation, which is especially important when implementing system equipment in the form of VLSI.
Существенные признаки, совпадающие у прототипа и заявленного устройства, следующие: матрица сложения в прототипе выполняет функции блока сумматоров в заявленном устройстве, матрица умножения в прототипе выполняет функции, аналогичные блоку частичных произведений в заявленном устройстве, блок контроля в прототипе выполняет функции, аналогичные блоку контроля в заявленном устройстве.The essential features that match the prototype and the claimed device are as follows: the addition matrix in the prototype performs the functions of the adder block in the claimed device, the multiplication matrix in the prototype performs functions similar to the partial works block in the claimed device, the control block in the prototype performs functions similar to the control block in the claimed device.
Заявляемый технический результат достигается тем, что в устройство для умножения чисел в коде “1 из 4”, содержащее блок частичных произведений, блок сумматоров и блок контроля, причем выходы блока контроля соединены с выходами признака ошибки устройства, введены регистр тетрадного сдвига и регистр результата в коде “1 из 4”, причем входы четверичных разрядов в коде “1 из 4” первого сомножителя устройства соединены с информационными входами соответствующих тетрад регистра тетрадного сдвига, выходы младшей тетрады которого соединены со входами первой группы блока частичных произведений, входы второй группы которого соединены со входами четверичных разрядов в коде “1 из 4” второго сомножителя устройства, выходы блока частичных произведений соединены со входами первой группы блока сумматоров, входы второй группы которого соединены с выходами группы старших четверичных разрядов регистра результата в коде “1 из 4”, выходы групп младших и старших четверичных разрядов которого соединены со входами блока контроля, выходы блока сумматоров соединены с информационными входами четверичных разрядов регистра результата в коде “1 из 4”, вход установки которого соединен со входом записи устройства и входом записи регистра тетрадного сдвига, вход тетрадного сдвига которого соединен со входом записи регистра результата в коде “1 из 4” и входом синхроимпульсов сдвига устройства, вход константы 0 в коде “1 из 4” которого соединен со входами константы 0 блока частичных произведений и блока сумматоров, при этом блок частичных произведений содержит n+1 узел частичных произведений в коде “1 из 4”, где n - количество четверичных разрядов сомножителей, входы четверичных разрядов в коде “1 из 4” первого и второго сомножителей с первого по n-й узлов частичных произведений в коде “1 из 4” соединены со входами соответствующих разрядов соответственно первой и второй групп блока частичных произведений, выходы которого соединены с выходами с первого по (n+1)-й узлов частичных произведений в коде “1 из 4”, входы четверичных разрядов в коде “1 из 4” первого и второго сомножителей (n+1)-го узла частичных произведений в коде “1 из 4” соединены со входом константы 0 блока частичных произведений, выходы первого и второго переносов i-го узла частичных произведений в коде “1 из 4”, где i=1,2,... ,n, соединены со входами соответственно первого и второго переносов (i+1)-гo узла частичных произведений в коде “1 из 4” блока частичных произведений, причем блок сумматоров содержит n+1 сумматор в коде “1 из 4”, входы четверичных разрядов в коде “1 из 4” первого слагаемого с первого по (n+1)-й сумматоров в коде “1 из 4” соединены со входами соответствующих разрядов первой группы блока сумматоров, выходы которого соединены с выходами с первого по (n+1)-й сумматоров в коде “1 из 4”, вход четверичного разряда второго слагаемого (n+1)-го сумматора в коде “1 из 4” соединен со входом константы 0 блока сумматоров, выход переноса i-го сумматора в коде “1 из 4”, где i=1,2,... ,n, соединен со входом переноса (i+1)-гo сумматора в коде “1 из 4”, входы четверичных разрядов второго слагаемого с первого по n-й сумматоров в коде “1 из 4” соединены со входами соответствующих разрядов второй группы блока сумматоров, при этом регистр результата в коде “1 из 4” содержит 2n тетрад четверичных разрядов, выходы и информационные входы с n-й по 2n-ю тетрад четверичных разрядов регистра результата в коде “1 из 4” соединены соответственно с выходами старшей группы четверичных разрядов и соответственно с первого по (n+1)-й информационными входами четверичных разрядов регистра результата в коде “1 из 4”, информационные входы с первой по (n-1)-ю тетрад четверичных разрядов регистра результата в коде “1 из 4” соединены с выходами четверичных разрядов соответственно со второй по n-ю тетрад четверичных разрядов регистра результата в коде “1 из 4”, при этом блок контроля содержит 2n узлов контроля кода “1 из 4”, входы и выходы которых подключены соответственно к соответствующим четверичным разрядам входов и выходов блока контроля.The claimed technical result is achieved by the fact that in the device for multiplying numbers in the code “1 of 4”, containing a block of partial works, a block of adders and a control unit, the outputs of the control unit are connected to the outputs of the error indicator of the device, the notebook shift register and the result register are entered the code “1 of 4”, and the inputs of the four-digit bits in the code “1 of 4” of the first device factor are connected to the information inputs of the corresponding notebooks of the notebook shift register, the outputs of the lower notebook of which are connected to by the moves of the first group of the partial product block, the inputs of the second group of which are connected to the inputs of the quadruple bits in the code “1 of 4” of the second device factor, the outputs of the partial products block are connected to the inputs of the first group of the adder block, the inputs of the second group of which are connected to the outputs of the senior quadruple bits group the result register in the code “1 of 4”, the outputs of the groups of the lower and upper four-digit bits of which are connected to the inputs of the control unit, the outputs of the adder block are connected to the information inputs and four-digit bits of the result register in the “1 of 4” code, the installation input of which is connected to the device recording input and the notebook shift register entry, the tetrad shift input of which is connected to the result register record input in the “1 of 4” code and the device shift clock input , the input of the constant 0 in the “1 of 4” code is connected to the inputs of the constant 0 of the partial product block and the adder block, while the partial product block contains n + 1 partial product nodes in the “1 of 4” code, where n is the number of four of the total digits of the factors, the inputs of the quadruple digits in the code “1 of 4” of the first and second factors from the first to the n-th nodes of partial products in the code “1 of 4” are connected to the inputs of the corresponding digits of the first and second groups of the block of partial products, the outputs of which connected to the outputs from the first through the (n + 1) th nodes of partial products in the code “1 of 4”, the inputs of the four-digit bits in the code “1 of 4” of the first and second factors of the (n + 1) th node of the partial works in the code “1 of 4” is connected to the input of the constant 0 of the block part works, the outputs of the first and second transfers of the i-th node of partial works in the code “1 of 4”, where i = 1,2, ..., n, are connected to the inputs of the first and second transfers of (i + 1) -go, respectively of the partial product node in the “1 of 4” code of the partial product block, the adder block containing n + 1 adder in the “1 of 4” code, the inputs of the four-digit bits in the “1 of 4” code of the first term from the first to (n + 1) -th adders in the code “1 of 4” are connected to the inputs of the corresponding bits of the first group of the adder block, the outputs of which are connected to the outputs with first in the (n + 1) -th adders in the “1 of 4” code, the input of the four-digit discharge of the second term of the (n + 1) -th adder in the “1 of 4” code is connected to the input of the constant 0 of the adders block, the transfer output is i- adder in the code “1 of 4”, where i = 1,2, ..., n, is connected to the transfer input of the (i + 1) -th adder in the code “1 of 4”, the inputs of the four-digit bits of the second term from the first on the n-th adders in the code “1 of 4” are connected to the inputs of the corresponding bits of the second group of the block of adders, while the result register in the code “1 of 4” contains 2n tetrads of four-digit bits, outputs and naming inputs from the nth to the 2nth tetrad of quadruple digits of the result register in the code “1 of 4” are connected respectively to the outputs of the highest group of quadruple digits and, respectively, from the first to (n + 1) th information inputs of the quadruple digits of the result register in the code “1 out of 4”, information inputs from the first to (n-1) tetrads of four-digit bits of the result register in the code “1 of 4” are connected to the outputs of the four-digit bits, respectively, from the second to n-th tetrads of the four-digit bits of the result register in the code “ 1 out of 4 ”, with the block the role contains 2n nodes of the control code “1 of 4”, the inputs and outputs of which are connected respectively to the corresponding four-digit bits of the inputs and outputs of the control unit.
Возможность проведения контроля данных основана на том, что четверичный код “1 из 4” имеет в составе всегда только одну единицу (все возможные комбинации этого кода 0001=0; 0010=1; 0100=2 и 1000=3) и, таким образом, из общего числа возможных ошибочных комбинаций для 4-разрядного слова, равного 15, количество неопознанных ошибок составит только 3. Таким образом, заявляемое устройство обеспечивает распознавание 80% ошибок.The possibility of data control is based on the fact that the quaternary code “1 of 4” always contains only one unit (all possible combinations of this code 0001 = 0; 0010 = 1; 0100 = 2 and 1000 = 3) and, therefore, out of the total number of possible erroneous combinations for a 4-bit word equal to 15, the number of unidentified errors will be only 3. Thus, the claimed device provides recognition of 80% of errors.
Из возможных вариантов кодов “М из N” код “1 из 4” обладает наибольшей эффективностью. Во-первых, операция преобразования двоичного кода в код “М из N” и обратно, характерная для цифровых систем обработки, содержащих ряд подсистем, при М≠ 1 и N≠ 2m, где m=1, 2,... , требует анализа всей последовательности цифр двоичного кода, что приводит к очень большим затратам оборудования при реализации. Например, при построении такого преобразователя кода для 32-разрядного двоичного числа с использованием блока памяти потребуется от 5 до нескольких десятков мегабайт. Схемотехническая реализация таких преобразователей потребует оборудования, объем которого значительно превысит объем оборудования операционных устройств.Of the possible options for the codes “M of N”, the code “1 of 4” is most effective. First, the operation of converting a binary code to the code “M from N” and vice versa, characteristic of digital processing systems containing a number of subsystems, for M ≠ 1 and N ≠ 2 m , where m = 1, 2, ..., requires analysis of the entire sequence of binary code digits, which leads to very large equipment costs during implementation. For example, when constructing such a code converter for a 32-bit binary number using a memory block, it will take from 5 to several tens of megabytes. The circuitry implementation of such converters will require equipment, the volume of which will significantly exceed the volume of equipment of operating devices.
С другой стороны, для преобразования кода “1 из 2m” потребуется D/m (D - разрядность двоичного кода) дешифраторов для преобразования двоичного кода и столько же шифраторов для обратного преобразования. Это связано с тем, что преобразование осуществляется поразрядно. Например, для 32-разрядного двоичного кода преобразователь кода в “1 из 2”, “1 из 4”, “1 из 8” и т.д. потребует соответственно 32 одновходовых, 16 двухвходовых, 11 трехвходовых и т.д. дешифраторов и столько же шифраторов для обратного преобразования. Такое схемотехническое решение требует минимального количества оборудования и эффективно реализуется при построении систем на кристаллах СБИС или ПЛИС.On the other hand, to convert the “1 out of 2 m ” code, you need D / m (D is the bit depth of the binary code) decoders for the binary code conversion and the same number of encoders for the inverse transformation. This is due to the fact that the conversion is bitwise. For example, for a 32-bit binary, the code converter is “1 out of 2”, “1 out of 4”, “1 out of 8”, etc. will require respectively 32 single-input, 16 two-input, 11 three-input, etc. decoders and as many encoders for the inverse transform. Such a circuitry solution requires a minimum amount of equipment and is effectively implemented when building systems on VLSI or FPGA crystals.
Во-вторых, реализация схемотехнических решений для кодов “1 из 2”, “1 из 4”, “1 из 8” и т.д. также обладает различной эффективностью. Это связано, с одной стороны, с различным количеством распознаваемых ошибок и, с другой стороны, с различным превышением объема требуемого оборудования для обработки по сравнению с двоичным кодом. Поэтому для оценки эффективности использования того или иного кода “1 из 2m” целесообразно рассмотреть величину отношения процента обнаруживаемых ошибок к величине превышения требуемого оборудования по отношению к двоичному коду.Secondly, the implementation of circuitry solutions for codes “1 of 2”, “1 of 4”, “1 of 8”, etc. also has varying effectiveness. This is due, on the one hand, to a different number of recognized errors and, on the other hand, to a different excess of the amount of required equipment for processing compared to binary code. Therefore, to assess the effectiveness of using one or another “1 of 2 m ” code, it is advisable to consider the ratio of the percentage of detected errors to the excess of the required equipment with respect to the binary code.
В общем случае количество комбинаций для кода “М из N” равно величине , тогда количество необнаруживаемых ошибок составит -1 (одна верная комбинация). Количество всех возможных ошибочных кодов, очевидно, равно 2N-1. Тогда доля обнаруживаемых ошибок Q определяется соотношениемIn general, the number of combinations for the code “M of N” is equal to then the number of undetectable errors will be -1 (one valid combination). The number of all possible error codes is obviously 2 N -1. Then the proportion of detected errors Q is determined by the ratio
. .
Для кодов “1 из 2m” величина =2m, тогдаFor codes “1 of 2 m ”, the value = 2 m , then
. .
Величина превышения требуемого оборудования К для кодов “1 из 2m”, очевидно, равна .The excess of the required equipment K for the codes “1 of 2 m ” is obviously equal to .
Тогда эффективность использования кода “1 из 2m”Then the efficiency of using the code “1 of 2 m ”
В табл.1 приведены расчетные данные для кодов “1 из 2m” при различных значениях m.Table 1 shows the calculated data for the codes “1 of 2 m ” for various values of m.
Из данных, приведенных в табл.1, видно, что наибольшей эффективностью обладает код “1 из 4”, имеющий максимальное значение показателя эффективности Е=0,40.From the data given in table 1, it can be seen that the code “1 of 4” having the maximum value of the efficiency indicator E = 0.40 has the highest efficiency.
Кроме того, распределение энергии при вводе, хранении и выводе данных в коде “1 из 4” всегда одинаково по всем разрядам кода данных, т.к. структурно каждый четверичный разряд содержит строго один высокий и три низких потенциала. Это свойство особенно важно при создании устройств и систем на кристаллах СБИС.In addition, the energy distribution during data input, storage and output in the “1 of 4” code is always the same for all bits of the data code, because structurally, each quadruple discharge contains strictly one high and three low potentials. This property is especially important when creating devices and systems based on VLSI crystals.
На фиг.1 представлена функциональная схема устройства для умножения чисел в коде “1 из 4”; на фиг.2 представлен вариант реализации узла частичного произведения в коде “1 из 4”; на фиг.3 показан вариант реализации сумматора в коде “1 из 4”; на фиг.4 приведены временные диаграммы управляющих сигналов.Figure 1 presents a functional diagram of a device for multiplying numbers in the code “1 of 4”; figure 2 presents an embodiment of a partial work unit in the code “1 of 4”; figure 3 shows an implementation option of the adder in the code “1 of 4”; figure 4 shows the timing diagrams of the control signals.
Устройство для умножения чисел в коде “1 из 4” (фиг.1) содержит регистр тетрадного сдвига 1, блок частичных произведений 2, блок сумматоров 3, регистр результата в коде “1 из 4” 4, блок контроля 5, причем регистр тетрадного сдвига 1 осуществляет сдвиг в сторону младших разрядов потетрадно за один такт и содержит n тетрад четверичных разрядов в коде “1 из 4” 11-1n, где n - разрядность четверичного кода сомножителей, блок частичных произведений 2 содержит n+1 узел частичных произведений 21-2n+1, блок сумматоров 3 содержит n+1 сумматор в коде “1 из 4” 31-3n+1, регистр результата 4 в коде “1 из 4” содержит 2n тетрад четверичных разрядов в коде “1 из 4” 41-42n, блок контроля 5 содержит 2n узлов контроля кода “1 из 4” 51-52n.A device for multiplying numbers in the code “1 of 4” (Fig. 1) contains a
Возможный вариант узла частичных произведений в коде “1 из 4” 2i (фиг.2) содержит с первой по четвертую группы элементов И 6-9, первую группу элементов ИЛИ 10, пятую группу элементов И 11, вторую группу элементов ИЛИ 12, с первого по третий элементы НЕ 13-15, с первого по четвертый элементы ИЛИ 16-19, первый и второй элементы И 20 и 21.A possible variant of the partial works node in the code “1 of 4” 2 i (Fig. 2) contains from the first to the fourth group of elements AND 6-9, the first group of elements OR 10, the fifth group of elements AND 11, the second group of elements OR 12, s the first through third elements are NOT 13-15, the first through fourth elements OR 16-19, the first and second elements AND 20 and 21.
Возможный вариант сумматора в коде “1 из 4” 3i (фиг.3) содержит с первой по четвертую группы элементов И 22-25, первую группу элементов ИЛИ 26, пятую группу элементов И 27, вторую группу элементов ИЛИ 28, элемент НЕ 29 и элемент ИЛИ 30.A possible adder in the code “1 of 4” 3 i (Fig. 3) contains from the first to the fourth group of elements AND 22-25, the first group of elements OR 26, the fifth group of elements AND 27, the second group of elements OR 28, the
Устройство для умножения чисел в коде “1 из 4” работает следующим образом.A device for multiplying numbers in the code “1 of 4” works as follows.
Числа Х и Y представляются в четверичной системеThe numbers X and Y are represented in the quaternary system
n - количество четверичных разрядов.n is the number of quaternary digits.
Устройство работает по стандартному алгоритму:The device works according to the standard algorithm:
где хi и уi представляются в коде “1 из 4”, суммирование частичных произведений проводится по соответствующим весам четверичных разрядов. В табл.2 даны коды преобразования входных значений в выходные при перемножении четверичных разрядов сомножителей в коде “1 из 4” и условия возникновения одного переноса П и двух переносов ПП в следующий четверичный разряд.where x i and y i are represented in the code “1 of 4”, the summation of partial products is carried out according to the corresponding weights of the four-digit digits. Table 2 gives the codes for converting input values to output when multiplying the four-digit bits of the factors in the code “1 of 4” and the conditions for the occurrence of one transfer of P and two transfers of PP to the next four-digit discharge.
Очевидно, возникновение одного или двух переносов из предыдущего разряда не приводит к необходимости формирования дополнительного сигнала третьего переноса, т.к. максимальное значение кода частичного произведения при активном сигнале даже двух переносов из текущего разряда равно 0010 и, следовательно, даже два переноса из предыдущего разряда дадут результат 1000 без необходимости формирования дополнительного сигнала переноса.Obviously, the occurrence of one or two transfers from the previous discharge does not necessitate the formation of an additional signal of the third transfer, because the maximum value of the partial product code with an active signal even of two transfers from the current discharge is 0010 and, therefore, even two transfers from the previous discharge will give a result of 1000 without the need to generate an additional transfer signal.
В табл.3 даны коды преобразования входных значений в выходные при суммировании четверичных разрядов слагаемых в коде “1 из 4” и условия возникновения переноса П.Table 3 gives the codes for converting input values to output when summing the four-digit bits of the terms in the code “1 of 4” and the conditions for the occurrence of transfer P.
Очевидно, возникновение переноса из предыдущего разряда не приводит к необходимости формирования дополнительного сигнала переноса, т.к. максимальное значение кода суммы при активном сигнале переноса из текущего разряда 0100 и, следовательно, перенос из предыдущего разряда даст результат 1000 без переноса.Obviously, the occurrence of transfer from the previous discharge does not necessitate the formation of an additional transfer signal, since the maximum value of the sum code with the active transfer signal from the current bit is 0100 and, therefore, the transfer from the previous bit will give the result 1000 without transfer.
Устройство для умножения чисел в коде “1 из 4” работает следующим образом. Вначале на вход устройства подается импульс Запись (фиг.4), по заднему фронту которого обеспечивается запись операнда сомножителя Y в регистр 1 тетрадного сдвига и установка в ноль в коде “1 из 4” регистра 4 результата. Каждый из четверичных разрядов уi представлен кодом “1 из 4” y0iy1iy2iy3i и занимает i-ю тетраду регистра 1 тетрадного сдвига. Выход младшей тетрады регистра 1 соединен со входами всех узлов 2i частичных произведений в коде “1 из 4” блока 2 частичных произведений. На другие входы узлов 2i подаются четверичные разряды второго сомножителя в коде “1 из 4” x01X11Х21Х31 - X0nX1nX2nX3n, которые удерживаются в течение всего процесса вычислений. Для этой цели может быть использован внешний регистр (на фиг.1 не показан), запись в который может производиться тем же импульсом, что и в регистр 1 тетрадного сдвига. Узлы частичных произведений 2i блока 2 комбинационные, поэтому через время переходного процесса на выходе узлов частичных произведений 2i в соответствии с алгоритмом установится значение y1 × 40(x1 × 40 + x2 × 41 + ... + xn × 4n-1). Количество узлов частичных произведений 2i блока 2 на единицу больше, чем количество разрядов сомножителей n, т.к. возможна ситуация возникновения одного или двух переносов в (n+1)-й разряд. Аналогичная ситуация возникает с сумматорами 3i блока 3 сумматоров, которых также n+1.A device for multiplying numbers in the code “1 of 4” works as follows. First, a Write pulse is applied to the input of the device (Fig. 4), on the trailing edge of which the operand of the factor Y is recorded in
Сумматоры 3i в коде “1 из 4” блока 3 сумматоров также комбинационные, на входы которых подаются соответствующие весам четверичных разрядов коды частичных произведений с соответствующих узлов 2i и значения нулей с установленного в ноль регистра 4 результата. На выходах сумматоров блока 3 через время переходного процесса будет установлено значение частичной суммы произведений y1 × 40(x1 × 40 + x2 × 41 + ... + xn × 4n-1), которое по переднему фронту синхроимпульса СИ (фиг.4) будет занесено в соответствующие разряды регистра результата 4. По заднему фронту этого же импульса осуществляется сдвиг на один четверичный разряд в регистре тетрадного сдвига. Таким образом, на входах первой группы блока 2 частичных произведений появится значение у2, на выходе блока 2 образуется код частичного произведения у2 × 41(x1 × 40 + x2 × 41 + ... + xn × 4n-1), который поразрядно складывается на сумматорах 3i со сдвинутым на один четверичный разряд в сторону младших разрядов кодом накопленной частичной суммы в регистре результата 4. Таким образом, на выходе блока сумматоров 3 образуется код очередной частичной суммы у2 × 41(x1 × 40 + x2 × 41 + ... + xn × 4n-1) + y1 × 40(x1 × 40 + x2 × 41 + ... + xn × 4n-1), который заносится в регистр 4 результата вторым импульсом СИ. При этом младший разряд частичной суммы у1 × 40 × x1 × 40 без суммирования переписывается с выхода n-го четверичного разряда регистра 4 результата в (n-1)-й разряд. По заднему фронту второго импульса СИ осуществляется сдвиг на один четверичный разряд сомножителя Y в регистре 1 тетрадного сдвига.The adders 3 i in the code “1 of 4” of the adder block 3 are also combinational, the inputs of which are supplied the codes of partial products corresponding to the weights of the quadruple digits from the corresponding nodes 2 i and the values of zeros from the result set to zero in register 4. At the outputs of the adders of block 3, after the transition process, the value of the partial sum of products y 1 × 4 0 (x 1 × 4 0 + x 2 × 4 1 + ... + x n × 4 n-1 ), which is on the leading edge, will be set SI clock (Fig. 4) will be entered in the corresponding bits of the register of result 4. On the trailing edge of the same pulse, a shift is made by one quadruple digit in the tetrad shift register. Thus, the value of 2 appears at the inputs of the first group of block 2 of partial products, and the code of partial product of 2 × 4 1 (x 1 × 4 0 + x 2 × 4 1 + ... + x n × 4 n-1 ), which is added up bitwise at adders 3 i with the accumulated partial sum code shifted by one quadruple toward the lower digits in the result register 4. Thus, at the output of adder block 3, the next partial sum code is generated at 2 × 4 1 ( x 1 × 4 0 + x 2 × 4 1 + ... + x n × 4 n-1 ) + y 1 × 4 0 (x 1 × 4 0 + x 2 × 4 1 + ... + x n × 4 n-1 ), which is entered in the register 4 results second pulse of SI. In this case, the least significant bit of the partial sum of 1 × 4 0 × x 1 × 4 0 without summation is overwritten from the output of the n-th fourth digit of register 4 of the result to the (n-1) th digit. On the trailing edge of the second SI pulse, a shift is made by one four-digit discharge of the factor Y in
В дальнейшем процесс вычисления циклически повторяется и после подачи n-го импульса СИ в регистре 4 результата образуется полная сумма частичных произведений Х × Y = yn × 4n-1(x1 × 40 + x2 × 41 + ... + xn × 4n-1) + yn-1 × 4n-2(x1 × 40 + x2 × 41 + ... + xn × 4n-1) + ... + y2 × 41(x1 × 40 + x2 × 41 + ... + xn × 4n-1) + y1 × 40(xl × 40 + x2 × 41 + ... + xn × 4n-1), которая находится в 2n четверичных разрядах z1-z2n в коде “1 из 4”. Выходы четверичных разрядов z1-z2n поступают на входы соответствующих узлов контроля кода “1 из 4” блока 5 контроля, и в случае появления несоответствия этому коду хотя бы в одном разряде zi на выход устройства будет выдан сигнал признака ошибки Ошi. Конструкция узлов контроля кода “1 из 4” известна (см. “Устройство для контроля кода “1 из n” патенты SU 1195451, МКИ 6 Н 03 М 7/22; SU 1683178, МКИ 6 Н 03 М 7/22).In the future, the calculation process is cyclically repeated and after the supply of the nth SI pulse in the result register 4, the total sum of partial products X × Y = y n × 4 n-1 (x 1 × 4 0 + x 2 × 4 1 + ... + x n × 4 n-1 ) + y n-1 × 4 n-2 (x 1 × 4 0 + x 2 × 4 1 + ... + x n × 4 n-1 ) + ... + y 2 × 4 1 (x 1 × 4 0 + x 2 × 4 1 + ... + x n × 4 n-1 ) + y 1 × 4 0 (x l × 4 0 + x 2 × 4 1 + .. . + x n × 4 n-1 ), which is located in 2n quadruple digits z 1 -z 2n in the code “1 of 4”. The outputs of the quadruple discharges z 1 -z 2n go to the inputs of the corresponding control nodes of the code “1 of 4” of the control unit 5, and if there is a discrepancy to this code in at least one discharge z i, an error signal Osh i will be output to the device. The design of the “1 of 4” code control units is known (see “Device for code control“ 1 of n ”patents SU 1195451, MKI 6 N 03 M 7/22; SU 1683178, MKI 6 N 03 M 7/22).
Комбинационные узлы частичных произведений в коде “1 из 4” 3i (фиг.2) блока частичных произведений работают следующим образом. Каждая группа элементов И 6-9 содержит 4 элемента И, образуя матрицу 4× 4. На первые входы элементов И с первой по четвертую групп подаются бинарные составляющие четверичного разряда сомножителя у0iу1iу2iу3i, на вторые входы элементов И с первого по четвертый каждой группы подаются бинарные составляющие четверичного разряда сомножителя x0ix1ix2ix3i. На 16 выходах матрицы элементов И может, очевидно, возникнуть только одна “1”, остальные нули (любая другая комбинация, пройдя через логические элементы узла 2i и комбинационный сумматор 3i приведет к возникновению сигнала признака ошибки на одном из выходов блока контроля 5). Выходы элементов И групп 6-9 подключены ко входам четырех элементов ИЛИ первой группы 10 таким образом, что на их выходах реализуется необходимый результат частичного произведения в соответствии с табл.2. При этом на выходе элемента ИЛИ 16 и элемента ИЛИ 18 формируется сигнал признака первого переноса Р
Пятая группа элементов И 11 состоит из двенадцати элементов И и образует коммутатор, который управляется элементами НЕ 13 и 14, входы которых подключены ко входам первого и второго переносов из предыдущего четверичного разряда и . С помощью четырех элементов ИЛИ 12 второй группы формируется сдвиг кода с выходов элементов ИЛИ первой группы 10 в соответствии с уровнями сигналов и . При этом, если оба сигнала переноса и пассивны, то код с выходов элементов ИЛИ первой группы 10 поступит на входы элементов ИЛИ второй группы 12 без сдвига и будет выдан на выход узла частичного произведения. Если активен сигнал , то будет произведен один сдвиг, если активны оба сигнала и (комбинация, когда активен только сигнал второго переноса не формируется), то осуществляется сдвиг на два разряда. Сдвиги осуществляются в кольцевом режиме и, при необходимости, на элементе ИЛИ 17 формируется сигнал переноса. При пассивном сигнале первого переноса на выходе элемента ИЛИ 16 открывается элемент И 20, а элемент И 21 закрыт. В этом случае при возникновении активного сигнала переноса на выходе элемента ИЛИ 17, на выходе элемента И 20 и выходе элемента ИЛИ 18 появится активный сигнал первого переноса в следующий разряд . При активном сигнале первого переноса на выходе элемента ИЛИ 16 открывается элемент И 21, а элемент И 20 закрыт. Сигнал с выхода элемента ИЛИ 16, пройдя через элемент ИЛИ 18 сформирует сигнал первого переноса в следующий разряд . При возникновении активного сигнала переноса на выходе элемента ИЛИ 17, на выходе элемента И 21 и выходе элемента ИЛИ 19 появится активный сигнал второго переноса в следующий разряд . Наконец,, если в результате частичного произведения сформирован сигнал двух переносов, то активные сигналы поступают на входы элементов ИЛИ 18 и 19, формируя на выходе сигналы первого и второго переносов и , причем, как показано выше, на выходе элемента ИЛИ 17 не может возникнуть активного сигнала переноса при любых комбинациях сигналов переносов из предыдущего разряда и .The fifth group of AND 11 elements consists of twelve AND elements and forms a switchboard, which is controlled by NOT 13 and 14 elements, the inputs of which are connected to the inputs of the first and second transfers from the previous four-digit discharge and . Using four OR elements 12 of the second group, a code shift is generated from the outputs of the OR elements of the
Комбинационные сумматоры в коде “1 из 4” 3i блока сумматоров 3 работают аналогичным образом, но реализуют преобразование по табл.3. Каждая группа элементов И 22-25 содержит 4 элемента И, образуя матрицу 4× 4. На первые входы элементов И с первой по четвертую групп подаются бинарные составляющие четверичного разряда слагаемого а0i,а1iа2iа3i, на вторые входы элементов И с первого по четвертый каждой группы подаются бинарные составляющие четверичного разряда сомножителя b0ib1ib2ib3i. На 16 выходах матрицы элементов И может, очевидно, возникнуть только одна “1”, остальные нули (любая другая комбинация, пройдя через логические элементы сумматора 3i приведет к возникновению сигнала признака ошибки на одном из выходов блока контроля 5). Выходы элементов И групп 22-25 подключены ко входам четырех элементов ИЛИ первой группы 26 таким образом, что на их выходах реализуется необходимый результат частичного произведения в соответствии с табл.3. При этом на выходе элемента ИЛИ 30 формируется сигнал признака переноса Рi в следующий четверичный разряд.The combiners in the code “1 of 4” 3 i block adders 3 work in the same way, but implement the conversion according to table 3. Each group of elements And 22-25 contains 4 elements And, forming a 4 × 4 matrix. The binary components of the quadruple category of the term a 0i and 1i a 2i a 3i are fed to the first inputs of the elements And from the first to fourth groups, to the second inputs of the elements And with the first to fourth of each group are the binary components of the four-digit discharge of the factor b 0i b 1i b 2i b 3i . At 16 outputs of the matrix of AND elements, obviously, only one “1” can appear, the remaining zeros (any other combination, going through the logical elements of the adder 3 i, will lead to the appearance of an error sign signal at one of the outputs of the control unit 5). The outputs of the elements AND groups 22-25 are connected to the inputs of the four elements OR of the first group 26 in such a way that the necessary result of the partial product is realized at their outputs in accordance with Table 3. At the same time, at the output of the
Пятая группа элементов И 27 состоит из восьми элементов И и образует коммутатор, который управляется элементом НЕ 29, вход которого подключен ко входу переноса из предыдущего четверичного разряда Pi-1. С помощью четырех элементов ИЛИ 28 второй группы формируется сдвиг кода с выходов элементов ИЛИ первой группы 10 в соответствии с уровнем сигнала Pi-1. При этом, если сигнал переноса Pi-1 пассивен, то код с выходов элементов ИЛИ первой группы 26 поступит на входы элементов ИЛИ второй группы 28 без сдвига и будет выдан на выход сумматора. Если сигнал Pi-1 активен, то будет произведен один сдвиг. Сдвиг осуществляется в кольцевом режиме и, при необходимости, на элементе ИЛИ 30 формируется сигнал переноса.The fifth group of elements And 27 consists of eight And elements and forms a switch, which is controlled by the element NOT 29, the input of which is connected to the transfer input from the previous quaternary discharge P i-1 . Using four OR elements 28 of the second group, a code shift is generated from the outputs of the OR elements of the
Таким образом, предложенное устройство обеспечивает повышение достоверности результата умножения чисел за счет поразрядного контроля выполнения операции. При этом обеспечивается обнаружение 80% ошибок.Thus, the proposed device provides an increase in the reliability of the result of the multiplication of numbers due to bitwise control of the operation. This ensures the detection of 80% of errors.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2003131357/09A RU2251144C1 (en) | 2003-10-28 | 2003-10-28 | Device for multiplication of numbers in "1 of 4" code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2003131357/09A RU2251144C1 (en) | 2003-10-28 | 2003-10-28 | Device for multiplication of numbers in "1 of 4" code |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2251144C1 true RU2251144C1 (en) | 2005-04-27 |
Family
ID=35636001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2003131357/09A RU2251144C1 (en) | 2003-10-28 | 2003-10-28 | Device for multiplication of numbers in "1 of 4" code |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2251144C1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2467377C1 (en) * | 2011-04-19 | 2012-11-20 | ОАО "Концерн "Моринформсистема-Агат" | Method and device for multiplying numbers in "1 out of 4" code |
RU2475812C1 (en) * | 2011-12-28 | 2013-02-20 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет "МИФИ" (НИЯУ МИФИ) | Apparatus for multiplying numbers in "1 out of 4" code |
-
2003
- 2003-10-28 RU RU2003131357/09A patent/RU2251144C1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2467377C1 (en) * | 2011-04-19 | 2012-11-20 | ОАО "Концерн "Моринформсистема-Агат" | Method and device for multiplying numbers in "1 out of 4" code |
RU2475812C1 (en) * | 2011-12-28 | 2013-02-20 | Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет "МИФИ" (НИЯУ МИФИ) | Apparatus for multiplying numbers in "1 out of 4" code |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5122982A (en) | Carry generation method and apparatus | |
Bruguera et al. | Implementation of the FFT butterfly with redundant arithmetic | |
RU2251144C1 (en) | Device for multiplication of numbers in "1 of 4" code | |
US3311739A (en) | Accumulative multiplier | |
EP0344226B1 (en) | High-speed digital adding system | |
US4276608A (en) | Fibonacci p-code parallel adder | |
RU2672626C1 (en) | Zeros and ones number by groups in the binary number determining device | |
RU2251143C1 (en) | Method for adding numbers in "1 of 4" code and adder for this code | |
RU2475812C1 (en) | Apparatus for multiplying numbers in "1 out of 4" code | |
US5153849A (en) | Multiplier having an optimum arrangement of anding circuits and adding circuits | |
RU2642366C1 (en) | Adder accumulator | |
SU1667059A2 (en) | Device for multiplying two numbers | |
RU2755734C1 (en) | Apparatus for multiplying numbers by an arbitrary modulus | |
RU2022339C1 (en) | Multiplier | |
EP0067862B1 (en) | Prime or relatively prime radix data processing system | |
RU2149442C1 (en) | Device for modulo seven multiplication | |
RU2739338C1 (en) | Computing device | |
SU1649537A1 (en) | Multiplier | |
RU2022337C1 (en) | Parallel sign-digit code/additional binary code converter | |
SU1024906A1 (en) | Multiplication device | |
SU1615702A1 (en) | Device for numbering permutations | |
SU1119025A1 (en) | Device for implementing fast fourier transform of sequence with zero elements | |
SU1137479A1 (en) | Walsh function-based conversion device | |
SU974370A1 (en) | Device for multiplication | |
SU734683A1 (en) | Device for multiplying n-digit numbers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20101029 |