RU2816836C1 - Coprocessor in cryptography processing systems - Google Patents
Coprocessor in cryptography processing systems Download PDFInfo
- Publication number
- RU2816836C1 RU2816836C1 RU2023129119A RU2023129119A RU2816836C1 RU 2816836 C1 RU2816836 C1 RU 2816836C1 RU 2023129119 A RU2023129119 A RU 2023129119A RU 2023129119 A RU2023129119 A RU 2023129119A RU 2816836 C1 RU2816836 C1 RU 2816836C1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- multiplexer
- arithmetic
- inputs
- Prior art date
Links
- 239000000126 substance Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
Images
Abstract
Description
Область техники, к которой относится изобретение.The technical field to which the invention relates.
Изобретение относится к вычислительной технике и может использоваться в интегральных устройствах, а именно в цифро-сигнальных процессорах с системой команд VLIW (Very Long Instruction Word), то есть в формате команд с большим числом бит в слове.The invention relates to computer technology and can be used in integrated devices, namely in digital signal processors with the VLIW (Very Long Instruction Word) command system, that is, in the command format with a large number of bits per word.
Уровень техники.State of the art.
В известных специализированных процессорах, например, согласно патенту США US4991169, блоки и узлы спроектированы исключительно для узкого применения. В другом цифро-сигнальном процессоре, известном из патента США US8543635, для реализации трансфер-функции (Z-трансформ) используется последовательность сумматоров-вычитателей, задержек (регистров) для реализации функций фильтров. В устройстве, описанном в патенте США US4821294, используется кодовый коррелятор, понижающий (down) конвертор, отдельный процессор для трекинга.In known specialty processors, for example, according to US patent US4991169, blocks and assemblies are designed exclusively for a specific application. In another digital signal processor, known from US patent US8543635, to implement the transfer function (Z-transform), a sequence of adder-subtractors, delays (registers) is used to implement filter functions. The device, described in US patent US4821294, uses a code correlator, a down converter, and a separate tracking processor.
Наиболее близким к предлагаемому устройству является процессор, описанный в патенте РФ №2694743 от 08.02.2019 по классификации G06F 5/01 (2019.05); G06F 9/38 (2019.05); G06F 15/00 (2019.05).The closest to the proposed device is the processor described in RF patent No. 2694743 dated 02/08/2019 according to classification G06F 5/01 (2019.05); G06F 9/38 (2019.05);
Это устройство (описанное в патенте РФ №2694743) - цифро-сигнальный процессор, включает: аналого-цифровой преобразователь, десимэйшн фильтр, тестовый регистр перед операционной частью процессора, блок арифметических и логических операций, соединенные первыми входамии выходами последовательно, причем вход аналого-цифрового преобразователя служит входом цифро-сигнального процессора, перепрограммируемую память, блок памяти коэффициентов, блок инструкций, причем первый выход перепрограммируемой памяти соединен с первым входом блока памяти коэффициентов, второй выход перепрограммируемой памяти соединен со вторым входом аналого-цифрового преобразователя, третий выход перепрограммируемой памяти соединен с первым входом блока инструкций, а первый вход-выход перепрограммируемой памяти служит для записи и контроля записанной информации в память.This device (described in RF patent No. 2694743) is a digital-signal processor, includes: an analog-to-digital converter, a desimation filter, a test register in front of the operating part of the processor, a block of arithmetic and logical operations connected by the first inputs and outputs in series, and the input of the analog-to-digital The converter serves as the input of a digital signal processor, a reprogrammable memory, a coefficient memory block, a block of instructions, wherein the first output of the reprogrammable memory is connected to the first input of the coefficient memory block, the second output of the reprogrammable memory is connected to the second input of the analog-to-digital converter, the third output of the reprogrammable memory is connected to the first input of the block of instructions, and the first input-output of the reprogrammable memory is used to record and control the recorded information in the memory.
Решаемой изобретением задачей является расширение функциональных возможностей цифро-сигнального процессора.The problem solved by the invention is to expand the functionality of the digital signal processor.
Раскрытие сущности изобретения.Disclosure of the invention.
Техническим результатом является обеспечение универсальности цифро-сигнального процессора для его быстрого перепрограммирования при реализации конкретных задач.The technical result is to ensure the universality of the digital signal processor for its rapid reprogramming when implementing specific tasks.
Для решения поставленной задачи с достижением технического результата заявленный сопроцессор в системах обработки криптографии, включает в себя, два арифметических и логических устройства (АЛУ) блок памяти, генератор микрокода, блок контроля, интерфейс, мультиплексоры. Выход генератора микрокода (VLIW) соединен со входом (АЛУ1), со входом (АЛУ2), со входом блока памяти, со входом интерфейса, а выход которого подключен ко входу генератора микрокода. Входы генератора микрокода подключены к выходам АЛУ1 и АЛУ2 соответственно. Выходы АЛУ1 и АЛУ2 соединены со входами мультиплексоров. Вход мультиплексора соединен со входом мультиплексора, вход которого подключен ко входу мультиплексора. Входы мультиплексоров соединены. Вход мультиплексора подключен к выходу блока памяти. Входы мультиплексоров объединены, а также входы этих мультиплексоров соединены между собой. Входы мультиплексоров подключены к выходу АЛУ2. Выход блока памяти соединен со входом мультиплексора, со входом мультиплексора, со входом мультиплексора и со входом интерфейса, вход которого подключен к выходу блока памяти. Выход интерфейса соединен со входами мультиплексоров и со входами мультиплексоров соответственно. Входы/выходы соединяют генератор микрокода и блок контроля. Вход/выход интерфейса обеспечивает соединение с внешними устройствами. Выходы мультиплексоров подключены ко входам АЛУ 1 соответственно, а выходы мультиплексоров соединены со входами АЛУ 2 соответственно.To solve the problem and achieve a technical result, the claimed coprocessor in cryptography processing systems includes two arithmetic and logical units (ALU), a memory unit, a microcode generator, a control unit, an interface, and multiplexers. The output of the microcode generator (VLIW) is connected to the input (ALU1), to the input (ALU2), to the input of the memory unit, to the input of the interface, and the output of which is connected to the input of the microcode generator. The microcode generator inputs are connected to the outputs of ALU1 and ALU2, respectively. The outputs of ALU1 and ALU2 are connected to the inputs of the multiplexers. The input of the multiplexer is connected to the input of the multiplexer, the input of which is connected to the input of the multiplexer. The inputs of the multiplexers are connected. The multiplexer input is connected to the output of the memory block. The inputs of the multiplexers are combined, and the inputs of these multiplexers are interconnected. The inputs of the multiplexers are connected to the output of ALU2. The output of the memory block is connected to the input of the multiplexer, to the input of the multiplexer, to the input of the multiplexer and to the input of the interface, the input of which is connected to the output of the memory block. The output of the interface is connected to the inputs of the multiplexers and to the inputs of the multiplexers, respectively. Inputs/outputs connect the microcode generator and the control unit. The interface input/output provides connection to external devices. The outputs of the multiplexers are connected to the inputs of ALU 1, respectively, and the outputs of the multiplexers are connected to the inputs of ALU 2, respectively.
Преимущества, а также особенности настоящего изобретения поясняются с помощью варианта его выполнения со ссылками на фигуры.The advantages and features of the present invention are explained using an embodiment with reference to the figures.
Краткое описание графических материалов.Brief description of graphic materials.
Заявленное устройство поясняется фиг. (1 и 2), на которых:The claimed device is illustrated in Fig. (1 and 2), on which:
- фиг. 1 - Функциональная схема сопроцессора;- fig. 1 - Functional diagram of the coprocessor;
- фиг. 2 - Алгоритм записи данных из АЛУ в RAM Функциональная схема сопроцессора (фиг.1) содержит два арифметических и логических устройства (АЛУ) 1 и 2, блок памяти 3, генератор микрокода 4, блок контроля 5, интерфейс 6, мультиплексоры 7, 8, 9, 10, И и 12. Выход генератора микрокода 13 (VLIW) соединен со входом 14 (АЛУ1), со входом 15 (АЛУ2), со входом 16 блока памяти 3, со входом 17 интерфейса 6, а выход 18 которого подключен ко входу 19 генератора микрокода 4. Входы 20 и 21 генератора микрокода 4 подключены к 22 и 23 выходам АЛУ1 1 и АЛУ2 2 соответственно. Выходы 24 и 25 АЛУ1 1 и АЛУ2 2 соединены со входами 26 и 27 мультиплексоров 11 и 12 соответственно. Вход 28 мультиплексора 11 соединен со входом 27 мультиплексора 12, вход 29 которого подключен ко входу 26 мультиплексора 11. Входы 30 и 31 мультиплексоров 11 и 12 соединены. Вход 32 мультиплексора 11 подключен к выходу 33 блока памяти 3. Входы 34 и 35 мультиплексоров 8 и 10 объединены, а также входы 36 и 37 этих мультиплексоров соединены между собой. Входы 38 и 39 мультиплексоров 7 и 9 подключены к выходу 25 АЛУ 2. Выход 40 блока памяти 3 соединен со входом 4 Мультиплексора 12, со входом 42 мультиплексора 7, со входом 43 мультиплексора 9 и со входом 44 интерфейса 6, вход 45 которого подключен к выходу 33 блока памяти 3. Выход 46 интерфейса 6 соединен со входами 30 и 31 мультиплексоров 11 и 12 и со входами 36 и 37 мультиплексоров 8 и 10 соответственно. Входы/выходы 47 и 48 соединяют генератор микрокода 4 и блок контроля 5. Вход/выход 49 интерфейса 6 обеспечивает соединение с внешними устройствами. Выходы мультиплексоров 7 и 8 подключены ко входам 50 и 51 АЛУ 1 соответственно, а выходы мультиплексоров 9 и 10 соединены со входами 52 и 53 АЛУ 2 соответственно.- fig. 2 - Algorithm for writing data from the ALU to RAM The functional diagram of the coprocessor (Fig. 1) contains two arithmetic and logical units (ALUs) 1 and 2, memory unit 3, microcode generator 4, control unit 5, interface 6, multiplexers 7, 8, 9, 10, AND and 12. The output of the microcode generator 13 (VLIW) is connected to input 14 (ALU1), to input 15 (ALU2), to input 16 of memory block 3, to input 17 of interface 6, and output 18 of which is connected to the
Осуществление изобретения.Implementation of the invention.
Работает цифро-сигнальный процессор (фиг. 1) следующим образом.The digital signal processor (Fig. 1) operates as follows.
На вход/выход 49 с внешнего устройства поступает команда, которая соответствующим образом формирует управляющие сигналы с выхода 18 интерфейса 6 на вход 19 генератора микрокода 4. Каждая команда преобразуется в последовательность многоразрядных микрокоманд (VLIW) в соответствие с алгоритмом команды, при этом микрокоманда разделена по полям для каждого блока сопроцессора, что позволяет одновременному функционированию блоков и памяти. Эти управляющие сигналы из микрокода поступают на входы 14, 15, 16 и на вход 17 АЛУ1, АЛУ2, блока памяти 3, на вход 48 блока контроля 5 и вход 17 интерфейса 6 соответственно. В АЛУ1 и АЛУ2 выполняются операции в соответствие с таблицей операций. Например, как представлено в Табл. 1. Операции сдвигов также выполняются в АЛУ1 и АЛУ2 (в описании не представлены). При этом операнды могут быть выбраны из разных источников. Операнд А для АЛУ 1 определяется через мультиплексор 7 - это может быть или считываемый операнд из блока памяти 3 с выхода 40 на вход 42 мультиплексора 7, или на вход 38 с выхода 25 АЛУ2 соответственно. Операнд В для АЛУ1 определяется через мультиплексор 8 -в данном случае это или с выхода 33 блока памяти 3 на вход 34, или на вход 36 с выхода 46 интерфейса 6. Аналогично для АЛУ2 - операнд А определяется через мультиплексор 9 или с выхода 40 блока памяти 3 на вход 43 мультиплексора 9, или с выхода 25 этого АЛУ2 на вход 39 и соответственно на вход 52 операционной части АЛУ2. Операнд В через мультиплексор 10 с выхода интерфейса 6 (выход 46) на вход 37 или с выхода 33 блока памяти 3 поступает на вход 33 АЛУ2. Операции в АЛУ1 и АЛУ2 выполняются параллельно (при необходимости и соответствующей микрокоманды). С выходов 22 (АЛУ1) и 23 (АЛУ2) состояния статус регистров (на рисунке не показаны) поступают на входы 20 и 21 генератора микрокода 4 соответственно. В зависимости от состояния этих статусов регистров происходит переход по условию в подпрограммах. При этом в блоке контроля 5 через входы/выходы 47 и 48 контролируется условный переход в подпрограммах. Блок памяти является двух портовый - информация может поступать на входы 54 и 55, поступающие с мультиплексоров 11 и 12, при этом через мультиплексор 11 информация поступает с интерфейса 6 на вход 30, или с выхода 33 этого же блока памяти, или с выхода 24 АЛУ1 на вход 26, или с выхода 25 АЛУ2 на вход 28 мультиплексора 11. На входы мультиплексора 12 - 27, 29, 31 и 41 поступают данные при соответствующей микрокоманде - с выхода 24 АЛУ1, с выхода 25 АЛУ2, с выхода 46 интерфейса бис выхода 40 блока памяти соответственно.A command is received at input/
На рисунке 2 показан алгоритм управления записью данных в блок памяти 3 (RAM) при помощи шины инструкций (микрокоманд):Figure 2 shows the algorithm for controlling data writing to memory block 3 (RAM) using the instruction bus (micro-instructions):
- Сначала выставляется сигнал разрешения работы и первая инструкция, содержащая операцию для АЛУ1(2) (кружок номер 1);- First, the operation permission signal and the first instruction containing the operation for ALU1(2) are set (circle number 1);
- Потом, результат первой инструкции записывается в аккумулятор АЛУ1 и/или АЛУ2 и формируется вторая инструкция с сигналом на запись в блок памяти 3 (RAM) (кружок номер 2);- Then, the result of the first instruction is written to the accumulator ALU1 and/or ALU2 and the second instruction is generated with a signal to write to memory block 3 (RAM) (circle number 2);
- Потом, формируется какая-либо другая инструкция, результатом второй инструкции является запись данных с аккумулятора АЛУ 1(2) в ячейку блока памяти 3 (RAM) и появление их же на выходе блока памяти 3 (RAM) (кружок номер 3).- Then, some other instruction is generated, the result of the second instruction is the recording of data from the ALU 1(2) battery into a cell of memory block 3 (RAM) and their appearance at the output of memory block 3 (RAM) (circle number 3).
Claims (8)
Publications (1)
Publication Number | Publication Date |
---|---|
RU2816836C1 true RU2816836C1 (en) | 2024-04-05 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030084309A1 (en) * | 2001-10-22 | 2003-05-01 | Sun Microsystems, Inc. | Stream processor with cryptographic co-processor |
US20040230813A1 (en) * | 2003-05-12 | 2004-11-18 | International Business Machines Corporation | Cryptographic coprocessor on a general purpose microprocessor |
US20050036617A1 (en) * | 2003-08-15 | 2005-02-17 | Cheng Lee Ming | Crypto-engine for cryptographic processing of data |
RU2411575C1 (en) * | 2009-09-08 | 2011-02-10 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Connected portable coprocessor with varied system of commands and method of its application |
US20200012495A1 (en) * | 2018-07-03 | 2020-01-09 | The Board Of Trustees Of The University Of Illinois | Reconfigurable Crypto-Processor |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030084309A1 (en) * | 2001-10-22 | 2003-05-01 | Sun Microsystems, Inc. | Stream processor with cryptographic co-processor |
US20040230813A1 (en) * | 2003-05-12 | 2004-11-18 | International Business Machines Corporation | Cryptographic coprocessor on a general purpose microprocessor |
US20050036617A1 (en) * | 2003-08-15 | 2005-02-17 | Cheng Lee Ming | Crypto-engine for cryptographic processing of data |
RU2411575C1 (en) * | 2009-09-08 | 2011-02-10 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Connected portable coprocessor with varied system of commands and method of its application |
US20200012495A1 (en) * | 2018-07-03 | 2020-01-09 | The Board Of Trustees Of The University Of Illinois | Reconfigurable Crypto-Processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5442579A (en) | Combined multiplier and accumulator | |
US5421021A (en) | Circuit including a latching unit for holding instructions during execution for re-execution following exception handling | |
US5815680A (en) | SIMD multiprocessor with an interconnection network to allow a datapath element to access local memories | |
US8612726B2 (en) | Multi-cycle programmable processor with FSM implemented controller selectively altering functional units datapaths based on instruction type | |
US4999802A (en) | Floating point arithmetic two cycle data flow | |
JPH10134036A (en) | Single-instruction multiple data processing for multimedia signal processor | |
KR100227277B1 (en) | Computer methods for writing a sclar value to a vector | |
JPS6351287B2 (en) | ||
US5119324A (en) | Apparatus and method for performing arithmetic functions in a computer system | |
JPS6254359A (en) | Computer apparatus | |
EP0588341A2 (en) | Data processor | |
US11847455B2 (en) | Clearing register data using a write enable signal | |
GB2284690A (en) | Computer system and method for evaluating predicates and boolean expressions | |
US4847802A (en) | Method and apparatus for identifying the precision of an operand in a multiprecision floating-point processor | |
RU2816836C1 (en) | Coprocessor in cryptography processing systems | |
JP2567134B2 (en) | Bit field logical operation processing device and monolithic microprocessor having the same | |
EP2531927B1 (en) | Efficient processor apparatus and associated methods | |
JP2557629B2 (en) | Interrupt method | |
JPS60134957A (en) | Parallel operation processing device | |
SU742942A1 (en) | Information handling device | |
Biedermann | Design Concepts for a Virtualizable Embedded MPSoC Architecture: Enabling Virtualization in Embedded Multi-Processor Systems | |
JP3658879B2 (en) | Pipeline calculator | |
SU1532949A1 (en) | Image treating processor | |
JPH03245223A (en) | Arithmetic unit | |
RU1797108C (en) | Arithmetic device with microprogrammed control |