RU2681702C1 - Arithmetic-logic apparatus and a method for converting data using such device - Google Patents
Arithmetic-logic apparatus and a method for converting data using such device Download PDFInfo
- Publication number
- RU2681702C1 RU2681702C1 RU2018121749A RU2018121749A RU2681702C1 RU 2681702 C1 RU2681702 C1 RU 2681702C1 RU 2018121749 A RU2018121749 A RU 2018121749A RU 2018121749 A RU2018121749 A RU 2018121749A RU 2681702 C1 RU2681702 C1 RU 2681702C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- operand
- alu
- logical
- Prior art date
Links
- 238000000034 method Methods 0.000 title description 5
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 17
- 230000000873 masking effect Effects 0.000 claims abstract description 4
- 238000013479 data entry Methods 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Область техникиTechnical field
Настоящее устройство относится к цифровым вычислительным устройствам, а именно к элементам вычислительных машин с запоминаемой программой.The present device relates to digital computing devices, namely, elements of computers with a memorized program.
Предшествующий уровень техникиState of the art
Наиболее близким устройством того же назначения к заявленному изобретению по совокупности признаков является, принятое за прототип, арифметико-логическое устройство высокопроизводительного криптографического процессора Cryptoraptor (Gokhan Sayilar, Derek Chiou. Cryptoraptor: High Throughput Reconfigurable Cryptographic Processor ISBN: 978-1-4799-6277-8), которое состоит из блока арифметики AU, блока логических операций LOU, блока вращения и сдвига SRU, блока опроса таблиц TLU и блока перемешивания PEU. Причем, блок арифметики AU имеет четыре входных порта для передачи данных шириной четыре байта, один выходной порт для передачи данных шириной один байт, сумматор Adder, вычитатель Subtracter, четыре блока для выполнения операции XOR, три мультиплексора, два модуля для сложения и вычитания по модулю 8 и 2 модуля для сложения и вычитания по модулю 16. Блок логических операций LOU имеет 6 входных портов для передачи данных, один выходной порт для передачи данных и восемь модулей логических преобразований CLB.The closest device of the same purpose to the claimed invention in terms of features is the arithmetic logic device of the high-performance cryptographic processor Cryptoraptor (Gokhan Sayilar, Derek Chiou. Cryptoraptor: High Throughput Reconfigurable Cryptographic Processor ISBN: 978-1-4799-6277- 8), which consists of the arithmetic unit AU, the logical operation unit LOU, the rotation and shift unit SRU, the polling unit of the TLU tables, and the mixing unit PEU. Moreover, the AU arithmetic unit has four input ports for transmitting data four bytes wide, one output port for transmitting data one byte wide, an Adder adder, a Subtracter subtracter, four blocks for performing the XOR operation, three multiplexers, two modules for adding and subtracting modulo 8 and 2 modules for addition and subtraction modulo 16. The LOU logical operation unit has 6 input ports for data transfer, one output port for data transfer and eight CLB logical conversion modules.
Арифметико-логическое устройство криптографического процессора Cryptoraptor имеет древовидную структуру и позволяет реализовать большую часть алгоритмов дискретной математики, причем стоит отметить, что блок арифметики AU позволяет реализовать за такт одну операцию сложения и одну операцию вычитания по модулю 8, 16 или 32 двух операндов. Отсутствие возможности провести суммирование более чем двух операндов за один такт в арифметико-логическом устройстве замедляет работу некоторых криптографических алгоритмов, например, MD5. Также, за счет широкого покрытия возможных операций арифметико-логическое устройство криптографического процессора Cryptoraptor содержит большое количество различных функциональных узлов, требующих большое количество аппаратных ресурсов для их реализации.The arithmetic-logic device of the Cryptoraptor cryptographic processor has a tree structure and allows you to implement most of the discrete mathematics algorithms, and it is worth noting that the AU arithmetic unit allows one addition and one subtraction operation modulo 8, 16 or 32 of two operands per cycle. The inability to sum more than two operands per cycle in an arithmetic logic device slows down the operation of some cryptographic algorithms, for example, MD5. Also, due to the wide coverage of possible operations, the arithmetic-logical device of the cryptographic processor Cryptoraptor contains a large number of different functional units that require a large amount of hardware resources for their implementation.
Причиной, препятствующей достижению технического результата, является структура блока арифметики AU, позволяющая реализовать за один такт работы сложение только двух операндов, а также большое количество функциональных узлов данного арифметико-логического устройств и их архитектурная сложность.The reason that impedes the achievement of the technical result is the structure of the AU arithmetic unit, which allows the addition of only two operands, as well as the large number of functional units of this arithmetic-logical device and their architectural complexity, in one clock cycle.
Задача изобретенияObject of the invention
Задача, на решение которой направлено предлагаемое техническое решение, заключается в создании высокопроизводительного арифметико-логического устройства для решения задач дискретной математики, требующего малое количество аппаратных ресурсов для ее реализации.The problem to which the proposed technical solution is directed is to create a high-performance arithmetic-logic device for solving discrete mathematics problems, requiring a small amount of hardware resources for its implementation.
Техническим результатом изобретения является увеличение производительности устройства при решении задач дискретной математики и уменьшение количества аппаратных ресурсов, требующихся для его реализации.The technical result of the invention is to increase the productivity of the device in solving discrete mathematics problems and reduce the amount of hardware resources required for its implementation.
Сущность изобретенияSUMMARY OF THE INVENTION
Поставленная задача решается, а заявленный технический результат достигается за счет того, что арифметико-логическое устройство (АЛУ) для решения задач дискретной математики, содержит:The problem is solved, and the claimed technical result is achieved due to the fact that the arithmetic logic device (ALU) for solving discrete mathematics problems contains:
- три внешние группы входа данных,- three external data entry groups,
- внешнюю группу входа кода операций и внешнюю группу выхода данных,- an external input code group of operations and an external data output group,
- блок циклического сдвига, вход данных которого соединен с входом данных №1, вход команды блока циклического сдвига соединен с входом кода операций, а выход данных со вторым входом блока инверсии, содержащий мультиплексор MX 1, входы данных которого соединены с входом данных №1, причем на второй вход мультиплексора подан операнд с входа данных №1 циклически сдвинутый на 8 бит вправо, на третий вход операнд с входа данных №1 циклически сдвинутый на 16 бит вправо, а на четвертый вход операнд с входа данных №1, циклически сдвинутый на 24 бита вправо, причем первый, управляющий, вход мультиплексора MX 1 соединен с входом команды блока циклического сдвига, а выход с выходом блока циклического сдвига,- a cyclic shift unit, the data input of which is connected to the data input No. 1, the command input of the cyclic shift unit is connected to the input of the operation code, and the data output with the second input of the inversion unit, containing the
- блок инверсии, первый вход которого соединен с входом кода операций, а выход со вторым входом данных блока маски, содержащий модуль сложения по модулю 2, первый вход которого соединен с первым входом блока инверсии, второй вход со вторым входом блока инверсии, а выход - с выходом блока инверсии,- an inversion unit, the first input of which is connected to the input of the operation code, and the output with the second data input of the mask unit, containing an addition module modulo 2, the first input of which is connected to the first input of the inversion unit, the second input with the second input of the inversion unit, and the output is with the output of the inversion block,
- блок маски, первый вход которого соединен с входом кода операций, а выход с входом А АЛУ 1 и с входом А АЛУ 2 №2, состоящий из элемента логического И, первый вход которого соединен с первым входом блока маски, второй вход со вторым входом блока маски, а выход - с выходом блока маски,- a mask unit, the first input of which is connected to the input of the operation code, and the output with
- АЛУ 1, вход Б которого соединен с входом данных №2, вход К с входом кода операций, а выход с входом А АЛУ 2 №1, которое содержит модуль сложения по модулю два, первый вход которого соединен с входом К, второй вход с входом Б, а выход со вторым входом сумматора ADD, сумматор ADD, первый вход которого соединен с входом А, а выход - с первым входом мультиплексора MX 2, модуль сложения по модулю два, первый вход которого соединен с входом А, второй вход соединен с входом Б, а выход - со вторым входом мультиплексора MX 2, модуль логического ИЛИ, первый вход которого соединен с входом А, второй вход соединен с входом Б, а выход с третьим входом мультиплексора MX 2, модуль логического И, первый вход которого соединен с входом А, второй вход соединен с входом Б, а выход с четвертым входом мультиплексора MX 2, мультиплексор MX 2, пятый, шестой, седьмой, восьмой, девятый, десятый, одиннадцатый входной порт которого соединен с входом А, причем на входы мультиплексора подается операнд с входа А циклически сдвинутый вправо на 1, 2, 3, 4, 5, 6, 7 бит соответственно, двенадцатый вход соединен с входом А, тринадцатый вход с входом Б, управляющий вход с входом К, а выход - с выходом АЛУ 1,- ALU 1, whose input B is connected to data input No. 2, input K to the operation code input, and output to input A ALU 2 No. 1, which contains an addition module modulo two, the first input of which is connected to input K, the second input to input B, and the output with the second input of the adder ADD, the adder ADD, the first input of which is connected to input A, and the output - with the first input of the multiplexer MX 2, the module is two modulo addition, the first input of which is connected to input A, the second input is connected to input B, and the output with the second input of the MX 2 multiplexer, a logical OR module, the first input of which connected to input A, the second input is connected to input B, and the output is to the third input of the MX 2 multiplexer, the logical module is AND, the first input of which is connected to input A, the second input is connected to input B, and the output to the fourth input of multiplexer MX 2, MX 2 multiplexer, fifth, sixth, seventh, eighth, ninth, tenth, eleventh input port of which is connected to input A, and the operand from input A is supplied with an operand from input A cyclically shifted to the right by 1, 2, 3, 4, 5, 6, 7 bits respectively, the twelfth input is connected to input A, the thirteenth input to input ohm B, the control input with input K, and the output with the output of ALU 1,
- АЛУ 2 №1, вход Б которого соединен с выходом АЛУ 2 №2, вход К с входом кода операций, а выход с выходом данных, которое содержит сумматор ADD, первый вход которого соединен с входом А, второй вход с входом Б, а выход с первым входом мультиплексора MX 3, модуль сложения по модулю два, первый вход которого соединен с входом А, второй вход с входом Б, а выход со вторым входом мультиплексора MX 3, модуль логического ИЛИ, первый вход которого соединен с входом А, второй вход с входом Б, а выход с третьим входом мультиплексора MX 3, модуль логического И, первый вход которого соединен с входом А, второй вход с входом Б, а выход с четвертым входом мультиплексора MX 3, мультиплексор MX 3, пятый вход которого соединен с входом А, управляющий вход с входом К, а выход с выходом АЛУ 2 №2,-
- АЛУ 2 №2, внутренняя структура которого совпадает с внутренней структурой АЛУ 2 №1, а вход Б которого соединен с входом данных №3 и вход К которого соединен с входом кода операций, внутренняя структура которого совпадает со структурой АЛУ 2 №1.-
Поставленная задача решается, а заявленный технический результат достигается также за счет того, что способ обработки с использованием описанного арифметико-логического устройства для решения задач дискретной математики включает следующие этапы, на которых:The problem is solved, and the claimed technical result is also achieved due to the fact that the processing method using the described arithmetic-logic device for solving discrete mathematics includes the following steps, in which:
- на входы данных описанного устройства подают операнды, а на вход поля команд подают требуемую команду,- operands are fed to the data inputs of the described device, and the required command is fed to the input of the command field,
- соответствующие разряды команды подают на мультиплексоры и элементы сложения по модулю два в блоках описанного устройства,- the corresponding bits of the command are fed to the multiplexers and addition elements modulo two in the blocks of the described device,
- блоки описанного арифметико-логического устройства выполняют требуемый набор арифметико-логических операций над операндами, в соответствии с кодом поданной команды.- blocks of the described arithmetic-logical device perform the required set of arithmetic-logical operations on operands, in accordance with the code of the command.
Также заявленный способ может характеризоваться тем, что набор выполняемых команд связан с набором арифметико-логических операций следующим образом:Also, the claimed method can be characterized in that the set of executed commands is associated with a set of arithmetic-logical operations as follows:
- если два младших бита требуемой команды равны '00', '01', '10', '11', блок циклического сдвига будет выполнять операцию циклического сдвига вправо операнда с входа данных №1 на 0, 8, 16, 24 бита соответственно;- if the two least significant bits of the required instruction are equal to '00', '01', '10', '11', the cyclic shift unit will perform the operation of cyclic right shift of the operand from data input No. 1 to 0, 8, 16, 24 bits, respectively;
- если третий бит требуемой команды равен '1', блок инверсии будет выполнять операцию логической инверсии операнда с выхода блока вращения, в противном случае, операнд изменяться не будет;- if the third bit of the required instruction is '1', the inversion unit will perform the operation of logical inversion of the operand from the output of the rotation unit, otherwise, the operand will not change;
- если биты требуемой команды от четвертого до тридцать пятого включительно принимают значения от '0×00000000' до '0×FFFFFFF', блок маски выполнит операцию маскирования операнда с значением в соответствующих битах команды, если бит команды равен '0', то соответствующий ему бит операнда на выходе блока маски будет равен '0', а если бит команды равен '1', то бит операнда будет равен значению соответствующего бита операнда на входе блока маски;- if the bits of the desired command from the fourth to thirty-fifth inclusive take values from '0 × 00000000' to '0 × FFFFFFF', the mask block will perform the operation of masking the operand with the value in the corresponding bits of the command, if the command bit is '0', then the corresponding the operand bit at the output of the mask block will be '0', and if the command bit is '1', then the operand bit will be equal to the value of the corresponding operand bit at the input of the mask block;
- если биты требуемой команды от тридцать шестого до тридцать девятого включительно принимают значения от '0000' до '1110', то соответственно АЛУ 1 будет выполнять операции - передача операнда А, передача операнда Б, логический сдвиг на 1-7 бит операнда А, операция сложения операндов по модулю 2, логическая операция ИЛИ над операндами, логическая операция И над операндами, вычитание из операнда А операнда Б, сложение операндов;- if the bits of the required command from the thirty-sixth to the thirty-ninth inclusive take values from '0000' to '1110', then accordingly ALU 1 will perform the operations - transfer of operand A, transfer of operand B, logical shift by 1-7 bits of operand A, operation addition of operands modulo 2, logical OR operation on operands, logical AND operation on operands, subtracting operand B from operand A, adding operands;
- если биты требуемой команды от сорокового до сорок второго включительно принимают значение от '000' до '101', соответственно малый АЛУ 2 №1 будет выполнять операции - передача операнда А на выход, операция сложения операндов по модулю два, логическая операция ИЛИ над операндами, логическая операция И над операндами, сложение операндов.- if the bits of the required command from the fortieth to forty-second inclusive take a value from '000' to '101', respectively, the
Сущность изобретения заключается в том, что арифметико-логическое устройство включает в себя три входа данных, вход кода операций, выход данных, блок циклического сдвига на 8,16, 24 бита, блок инверсии, блок наложения маски '0×FF', АЛУ 1, выполняющий операции сложения операндов, вычитания операндов, логические операции AND, OR, XOR, сдвиг на 1-7 битов первого операнда, передача одного из операндов на выход, АЛУ 2 №1 и АЛУ 2 №2, выполняющие операции сложения операндов, логические операции AND, OR, XOR, передача первого операнда на выход.The essence of the invention lies in the fact that the arithmetic logic device includes three data inputs, an operation code input, a data output, a 8.16, 24-bit cyclic shift block, an inversion block, a mask overlay block '0 × FF',
Способа преобразования данных с использованием такого устройства содержит этапы подачи команды и данных на входы устройства, передачи соответствующих разрядов команды на каждый из блоков устройства и выполнения блоками устройства соответствующей операции над операндами.A method of converting data using such a device comprises the steps of submitting a command and data to the inputs of the device, transmitting the corresponding bits of the command to each of the blocks of the device, and performing the corresponding blocks on the operands by the blocks of the device.
Краткое описание чертежейBrief Description of the Drawings
Устройство поясняется фиг. 1, на которой представлена структурная схема арифметико-логического устройства.The device is illustrated in FIG. 1, which shows a block diagram of an arithmetic logic device.
На фиг. 1 приняты следующие обозначения:In FIG. 1 adopted the following notation:
- элемент логического И, - an element of logical AND,
- модуль сложения по модулю 2, - addition module modulo 2,
- модуль логического ИЛИ, - logical OR module,
ADD - сумматор,ADD - adder,
>>N - циклический сдвиг на N бит вправо,>> N is a cyclic shift of N bits to the right,
MX 1, 2, 3 - мультиплексоры,
Арифметико-логическое устройство состоит из блока циклического сдвига, состоящего из мультиплексора MX 1, блока инверсии, состоящего из модуля сложения по модулю два, блока маски, состоящего из модуля логического И, АЛУ 1, состоящего из модуля сложения по модулю 2, сумматора ADD, модуля сложения по модулю 2 операндов, модуля логического ИЛИ, модуля логического И и мультиплексора MX 2, АЛУ 2 №1 и АЛУ 2 №2, состоящих из сумматора ADD, модуля сложения по модулю два операндов, модуля логического ИЛИ, модуля логического И и мультиплексора MX 3.The arithmetic logic device consists of a cyclic shift unit, consisting of an
Подробное описание сущности изобретенияDetailed Description of the Invention
Арифметико-логическое устройство работает следующим образом. Первый, второй и третий операнды подаются на соответствующие входы данных. При этом на вход кода операции подается команда, задающая операции над операндами, которые должны быть выполнены блоками арифметико-логического устройства. Соответствующие разряды команды подаются на управляющие входы мультиплексоров и на вход некоторых модулей логических преобразований.Arithmetic logic device operates as follows. The first, second and third operands are fed to the corresponding data inputs. At the same time, a command is given to the input of the operation code that defines operations on operands that must be performed by units of the arithmetic-logical device. Corresponding bits of the command are fed to the control inputs of the multiplexers and to the input of some modules of logical transformations.
Если два младших бита команды равны '00', '01', '10', '11', блок циклического сдвига будет выполнять операцию циклического сдвига вправо операнда с входа данных №1 на 0, 8, 16, 24 бита соответственно.If the two least significant bits of the instruction are equal to '00', '01', '10', '11', the cyclic shift unit will perform the operation of cyclic right shift of the operand from data input No. 1 to 0, 8, 16, 24 bits, respectively.
Если третий бит команды равен '1', блок инверсии будет выполнять операцию логической инверсии операнда с выхода блока вращения, в противном случае, операнд изменяться не будет.If the third bit of the instruction is '1', the inversion block will perform the operation of logical inversion of the operand from the output of the rotation block, otherwise, the operand will not change.
Если биты команды от четвертого до тридцать пятого включительно принимают значения от '0×00000000' до '0×FFFFFFF', блок маски выполнит операцию маскирования операнда с значением в соответствующих битах команды, если бит команды равен '0', то соответствующий ему бит операнда на выходе блока маски будет равен '0', а если бит команды равен '1', то бит операнда будет равен значению соответствующего бита операнда на входе блока маски.If the command bits from the fourth to thirty-fifth inclusive take values from '0 × 00000000' to '0 × FFFFFFF', the mask block will perform the operation of masking the operand with the value in the corresponding bits of the command, if the command bit is '0', then the corresponding operand bit at the output of the mask block will be equal to '0', and if the bit of the command is equal to '1', then the operand bit will be equal to the value of the corresponding bit of the operand at the input of the mask block.
Если биты команды от тридцать шестого до тридцать девятого включительно принимают значения от '0000' до '1110', то соответственно АЛУ 1 будет выполнять операции - передача операнда А, передача операнда Б, логический сдвиг на 1-7 бит операнда А, операция сложения операндов по модулю 2, логическая операция ИЛИ над операндами, логическая операция И над операндами, вычитание из операнда А операнда Б, сложение операндов.If the instruction bits from the thirty-sixth to the thirty-ninth inclusive take values from '0000' to '1110', then accordingly ALU 1 will perform operations - transfer of operand A, transfer of operand B, logical shift by 1-7 bits of operand A, operation of addition of operands modulo 2, logical OR operation on operands, logical AND operation on operands, subtracting operand B from operand A, adding operands.
Если биты команды от сорокового до сорок второго включительно принимают значение от '000' до '101', соответственно малый АЛУ 2 №1 будет выполнять операции - передача операнда А на выход, операция сложения операндов по модулю два, логическая операция ИЛИ над операндами, логическая операция И над операндами, сложение операндов.If the bits of the command from the fortieth to forty-second inclusive take a value from '000' to '101', respectively, the
Примеры осуществления изобретенияExamples of carrying out the invention
Предлагаемое арифметико-логическое устройство для решения задач дискретной математики может быть реализовано на базе ПЛИС Xilinx XC7V585 вычислительного устройства из 512-ти процессорных элементов. Ширина шины данных входов и выходов устройства составляет 4 байта, а частота работы тактового сигнала работы арифметико-логического устройства составляет 250 МГц.The proposed arithmetic logic device for solving discrete mathematics problems can be implemented on the basis of the FPGA Xilinx XC7V585 computing device of 512 processor elements. The width of the data bus of the inputs and outputs of the device is 4 bytes, and the frequency of the clock signal of the arithmetic logic device is 250 MHz.
Для оценки количества занимаемых ресурсов необходимых для реализации арифметико-логического устройства на СБИС была проведена оценка с использованием библиотечных элементов 28 нм технологического процесса в САПР Cadence RTL Compiler системы из 512-ти процессорных элементов. Одно арифметико-логическое устройство в данном устройстве занимает около 1250 кв. мкм, что в более чем 20 раз меньше, чем суммарная площадь блоков AU, LOU, SRU арифметико-логического устройства в рассмотренном прототипе около 28000 кв. мкм (Table III).To estimate the amount of resources required for the implementation of the arithmetic-logical device on the VLSI, an assessment was carried out using library elements of 28 nm technological process in CAD Cadence RTL Compiler systems of 512 processor elements. One arithmetic-logic device in this device occupies about 1250 square meters. microns, which is more than 20 times less than the total area of the blocks AU, LOU, SRU arithmetic logic device in the considered prototype of about 28,000 square meters. μm (Table III).
Одной из задач дискретной математики является алгоритм вычисления криптографической хэш-функции MD5. Графическая схема, в которой показаны этапы расчета одного раунда MD5 в прототипе представлена на Figure 7.17 диссертации (Gokhan Sayilar, Cryptoraptor: High Throughput Reconfigurable Cryptographic Processor for Symmetric Key Encryption and Cryptographic Hash Functions. PhD dissertation. The University of Texas. Austin. 2014). Из раздела 7.3.2 данной диссертации следует, что реализация одного раунда MD5 на двух процессорных элементах требует 4 такта, причем второй процессорный элемент используется для суммирования операндов A, Mi, Ki и позволяет сократить требуемое для реализации количество тактов на один. Таким образом, выполнение одного раунда MD5 на одном арифметико-логическом устройстве криптографического процессора Cryptoraptor (прототип) занимает 5 тактов.One of the tasks of discrete mathematics is the MD5 cryptographic hash function calculation algorithm. A graphic diagram showing the steps involved in calculating one round of MD5 in a prototype is presented in Figure 7.17 of the dissertation (Gokhan Sayilar, Cryptoraptor: High Throughput Reconfigurable Cryptographic Processor for Symmetric Key Encryption and Cryptographic Hash Functions. PhD dissertation. The University of Texas. Austin. 2014) . It follows from section 7.3.2 of this dissertation that the implementation of one MD5 round on two processor elements requires 4 clock cycles, and the second processor element is used to sum the operands A, Mi, Ki and can reduce the number of clock cycles required for implementation by one. Thus, the execution of one round of MD5 on one arithmetic-logical device of the cryptographic processor Cryptoraptor (prototype) takes 5 clock cycles.
Реализация раунда MD5 в предлагаемом устройстве занимает 4 такта, причем выигрыш в производительности обусловлен наличием в малом арифметико-логическом блоке №2 сумматора, что позволяет выполнять суммирование трех операндов A, Mi и Ki за один такт.The implementation of the MD5 round in the proposed device takes 4 cycles, and the performance gain is due to the presence of an adder in the small arithmetic-logic unit No. 2, which allows the summation of three operands A, Mi and Ki in one cycle.
Таким образом, в предлагаемом арифметико-логическом устройстве, в сравнении с прототипом - арифметико-логическим устройством криптографического процессора Cryptoraptor, при работе на одной тактовой частоте, достигается повышение производительности на задачах дискретной математики, в которых возможно ускорение работы за счет реализации суммирования трех операндов. Повышение производительности в предлагаемом арифметико-логическом устройстве достигается за счет наличия второго модуля сумматора в малом арифметико-логическом блоке №2.Thus, in the proposed arithmetic-logical device, in comparison with the prototype - the arithmetic-logical device of the Cryptoraptor cryptographic processor, when working at the same clock frequency, productivity is improved on discrete mathematics tasks in which it is possible to speed up the work by implementing the summation of three operands. The increase in performance in the proposed arithmetic-logical device is achieved due to the presence of the second adder module in the small arithmetic-logical unit No. 2.
Вышеизложенные сведения позволяют сделать вывод о том, что предлагаемое арифметико-логическое устройство и способ преобразования решают поставленную задачу - создание высокопроизводительного арифметико-логического устройства для решения задач дискретной математики, требующего малое количество аппаратных ресурсов для его реализации, и соответствует заявляемому техническому результату - повышению производительности устройства при решении задач дискретной математики и уменьшению количества аппаратных ресурсов, требующихся для его реализации.The above information allows us to conclude that the proposed arithmetic-logical device and the conversion method solve the problem - the creation of a high-performance arithmetic-logical device for solving discrete mathematics tasks that require a small amount of hardware resources for its implementation, and corresponds to the claimed technical result - increased productivity devices for solving discrete mathematics problems and reducing the amount of hardware resources required for it implementation.
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018121749A RU2681702C1 (en) | 2018-06-14 | 2018-06-14 | Arithmetic-logic apparatus and a method for converting data using such device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018121749A RU2681702C1 (en) | 2018-06-14 | 2018-06-14 | Arithmetic-logic apparatus and a method for converting data using such device |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2681702C1 true RU2681702C1 (en) | 2019-03-12 |
Family
ID=65806079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018121749A RU2681702C1 (en) | 2018-06-14 | 2018-06-14 | Arithmetic-logic apparatus and a method for converting data using such device |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2681702C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU203294U1 (en) * | 2020-08-04 | 2021-03-30 | Федеральное государственное автономное учреждение "Военный инновационный технополис "ЭРА" | BIT STREAM PROCESSING DEVICE IN COMPRESSION / RECOVERY SYSTEMS OF DIGITAL INFORMATION |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU868768A1 (en) * | 1979-03-21 | 1981-09-30 | Рижский Ордена Трудового Красного Знамени Политехнический Институт | System for solving mathematical physics problems |
RU148925U1 (en) * | 2014-03-20 | 2014-12-20 | Федеральное государственное бюджетное учреждение науки Институт проблем проектирования в микроэлектронике Российской академии наук (ИППМ РАН) | COMPUTING ELEMENT OF BIMODULAR MODULAR ARITHMETICS |
CN105335128A (en) * | 2015-10-29 | 2016-02-17 | 中国人民解放军国防科学技术大学 | 64-bit fixed-point ALU (arithmetic logical unit) circuit based on three-stage carry lookahead adder in GPDSP |
WO2016199157A1 (en) * | 2015-06-11 | 2016-12-15 | Ingole Vijay Tulshiram | Ternary arithmetic and logic unit (alu) and ternary logic circuits |
RU2639645C1 (en) * | 2017-02-21 | 2017-12-21 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Arithmetic-logical device for summing numbers by module |
-
2018
- 2018-06-14 RU RU2018121749A patent/RU2681702C1/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU868768A1 (en) * | 1979-03-21 | 1981-09-30 | Рижский Ордена Трудового Красного Знамени Политехнический Институт | System for solving mathematical physics problems |
RU148925U1 (en) * | 2014-03-20 | 2014-12-20 | Федеральное государственное бюджетное учреждение науки Институт проблем проектирования в микроэлектронике Российской академии наук (ИППМ РАН) | COMPUTING ELEMENT OF BIMODULAR MODULAR ARITHMETICS |
WO2016199157A1 (en) * | 2015-06-11 | 2016-12-15 | Ingole Vijay Tulshiram | Ternary arithmetic and logic unit (alu) and ternary logic circuits |
CN105335128A (en) * | 2015-10-29 | 2016-02-17 | 中国人民解放军国防科学技术大学 | 64-bit fixed-point ALU (arithmetic logical unit) circuit based on three-stage carry lookahead adder in GPDSP |
RU2639645C1 (en) * | 2017-02-21 | 2017-12-21 | федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" | Arithmetic-logical device for summing numbers by module |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU203294U1 (en) * | 2020-08-04 | 2021-03-30 | Федеральное государственное автономное учреждение "Военный инновационный технополис "ЭРА" | BIT STREAM PROCESSING DEVICE IN COMPRESSION / RECOVERY SYSTEMS OF DIGITAL INFORMATION |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180196698A1 (en) | Modular offloading for computationally intensive tasks | |
Sklyarov et al. | High-performance implementation of regular and easily scalable sorting networks on an FPGA | |
JP2022545414A (en) | Coprocessor for cryptographic operations | |
US11507531B2 (en) | Apparatus and method to switch configurable logic units | |
Heyse et al. | Efficient implementation of virtual coarse grained reconfigurable arrays on FPGAs | |
Shi et al. | Efficient FPGA implementation of digit parallel online arithmetic operators | |
RU2681702C1 (en) | Arithmetic-logic apparatus and a method for converting data using such device | |
Verdoscia et al. | A Data‐Flow Soft‐Core Processor for Accelerating Scientific Calculation on FPGAs | |
Surekha et al. | Design and Implementation of Arithmetic and Logic Unit (ALU) | |
EP2735963B1 (en) | Galois field inversion device | |
Maroufi et al. | A novel three-input approximate XOR gate design based on quantum-dot cellular automata | |
Nibouche et al. | Fast architectures for FPGA-based implementation of RSA encryption algorithm | |
Deepthi et al. | Design and Implementation of High-Speed Low-Power Carry Select Adder | |
Liang et al. | ALU Architecture with Dynamic Precision Support | |
Kumar et al. | Design and FPGA Implementation of Matrix Multiplier Using DEMUX-RCA-Based Vedic Multiplier | |
Puneeth et al. | Design and Implementation of High Frequency 16-bit full adder on FPGA Families | |
RU2792603C1 (en) | Device for implementing the operation "cubic exclusive or" | |
RU2819403C1 (en) | Vector computing core | |
Pandeeti et al. | Preliminary Implementation of Toeplitz Hashing on Processor, Co-Processor and SoC | |
RU2779754C1 (en) | Apparatus for implementing a cubic operation or | |
Poshtatska et al. | RECONFIGURABLE MATH COPROCESSOR ON FPGA | |
CN112380799B (en) | Micro bus type DSP circuit architecture based on SIOU | |
CN101685386A (en) | Arithmetic logic unit for processing data with any width and processing method thereof | |
Banerjee et al. | High Speed Reconfigurable ALU Design for Radix (2n±m) | |
Mondal et al. | A flexible-length-arithmetic processor using embedded dsp slices and block rams in fpgas |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PD4A | Correction of name of patent owner |