RU2682399C2 - Method and device for finding largest and smallest elements of array by method of data decoding - Google Patents
Method and device for finding largest and smallest elements of array by method of data decoding Download PDFInfo
- Publication number
- RU2682399C2 RU2682399C2 RU2016148069A RU2016148069A RU2682399C2 RU 2682399 C2 RU2682399 C2 RU 2682399C2 RU 2016148069 A RU2016148069 A RU 2016148069A RU 2016148069 A RU2016148069 A RU 2016148069A RU 2682399 C2 RU2682399 C2 RU 2682399C2
- Authority
- RU
- Russia
- Prior art keywords
- input
- block
- elements
- data
- inputs
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
Abstract
Description
Изобретение относится к техническим способам и средствам информатики и вычислительной техники и может быть использовано для создания быстродействующих специализированных цифровых устройств по упорядочению двоичной информации, в том числе выполняющих «мягкие» расчеты. Техническим результатом является снижение количества аппаратных средств, что ведет к упрощению алгоритма работы блока управления устройства, и повышение надежности работы.The invention relates to technical methods and means of computer science and computer technology and can be used to create high-speed specialized digital devices for ordering binary information, including those performing “soft” calculations. The technical result is to reduce the number of hardware, which leads to a simplification of the algorithm of the control unit of the device, and increased reliability.
Указанный результат достигается за счет того, что способ нахождения наибольшего и наименьшего элементов массива методом дешифрации данных предполагает представление всех элементов массива в унарном коде, их объединение на едином поле, например, на единой шине унарных данных, нахождение наибольшего/наименьшего значения и восстановление двоичного представления этих значений, а устройство нахождения наибольшего и наименьшего элементов массива методом дешифрации данных содержит: блок данных, блоки дешифрации, блок формирования результата, блок управления и логические элементы. Новым в устройстве является то, что нахождение наибольшего/наименьшего элементов массива методом дешифрации выполняется параллельно над всеми элементами массива данных, хранящихся в блоке данных, а результат - наибольшее или наименьшее значение элементов массива считывается из памяти в блоке формирования результата.This result is achieved due to the fact that the method of finding the largest and smallest elements of an array by decrypting data involves representing all the elements of the array in a unary code, combining them on a single field, for example, on a single unary data bus, finding the largest / smallest value and restoring the binary representation of these values, and the device for finding the largest and smallest elements of the array by the method of decrypting data contains: a data block, decryption blocks, a result generation block one control unit and logical elements. What's new in the device is that the largest / smallest elements of the array are decrypted in parallel with all the elements of the data array stored in the data block, and the result is the largest or smallest value of the array elements is read from memory in the result generation block.
Изобретение относится к техническим средствам информатики и вычислительной техники и может быть использовано для создания быстродействующих специализированных цифровых устройств по упорядочению двоичной информации, в том числе, выполняющих «мягкие» расчеты и осуществлению основных операций над нечеткой информацией.The invention relates to technical means of computer science and computer technology and can be used to create high-speed specialized digital devices for ordering binary information, including those performing “soft” calculations and performing basic operations on fuzzy information.
Известные способы сравнения двоичных чисел (см., например, Справочник по цифровой вычислительной технике. Малиновский Б.Н., Александров В.Я., Боюн В.П. и др. / Под ред. Б.Н. Малиновского. Киев: Техника, 1974 г.), Шевкопляс Б.В. Микропроцессорные структуры. Инженерные решения: Справочник. М.: Радио и связь, 1990 г., патент RU 2300134) ориентированы только на однозначные двоичные числа, что препятствует достижению заявляемого технического результата.Known methods for comparing binary numbers (see, for example, Handbook of Digital Computing. Malinovsky B.N., Aleksandrov V.Ya., Boyun V.P. et al. / Edited by B.N. Malinovsky. Kiev: Technique , 1974), Shevkoplyas B.V. Microprocessor structures. Engineering Solutions: Reference. M .: Radio and communications, 1990, patent RU 2300134) are oriented only to single-digit binary numbers, which impedes the achievement of the claimed technical result.
Известны также способы сравнения и нахождения наибольших и наименьших чисел и устройства для их реализации (Патенты RU 2298219, 2300133, 2361266, 2363034, 2365975, 2389063). К причине, препятствующей достижению заявляемого технического результата, при использовании этих известных селекторов двоичных чисел, относятся ограниченные функциональные возможности, обусловленные тем, что выполняется селекция только большего или только меньшего из указанных двоичных чисел.There are also known methods of comparing and finding the largest and smallest numbers and devices for their implementation (Patents RU 2298219, 2300133, 2361266, 2363034, 2365975, 2389063). The reason that impedes the achievement of the claimed technical result when using these known binary number selectors is limited functionality, due to the fact that only the largest or only the smallest of these binary numbers is selected.
В качестве прототипа нами выбран способ, реализованный в "Устройство сортировки информации методом дешифрации данных" (патент RU 2319197), который позволяет упорядочить информацию по возрастанию / убыванию.As a prototype, we have chosen a method implemented in "A device for sorting information by data decryption method" (patent RU 2319197), which allows you to sort information in ascending / descending order.
В прототипе по сортировке информации методом дешифрации данных выполняется задача упорядочения входной числовой и символьной информации по возрастанию и убыванию. В устройстве осуществляются поисковые операции по указанному интервалу или по конкретному заданному символу или числу. К причине, препятствующей достижению заявляемого технического результата при использовании данного способа и устройства относятся сложный алгоритм реализации, большие аппаратные затраты на техническое исполнение и, как следствие, низкое быстродействие.In the prototype for sorting information by decrypting data, the task of ordering the input numeric and symbolic information in ascending and descending order is performed. The device performs search operations on a specified interval or on a specific character or number. The reason that impedes the achievement of the claimed technical result when using this method and device includes a complex implementation algorithm, high hardware costs for technical performance and, as a result, low speed.
Заявленное изобретение направлено на быстрое нахождение экстремальных (максимального и минимального) значений среди предъявляемых данных за счет использования унарных кодов в процессе сортировки этих данных. Поставленная задача возникает при разработке систем и средств контроля и управления на основе нечеткой (качественной) информации для реализации «мягких» вычислений.The claimed invention is aimed at quickly finding extreme (maximum and minimum) values among the presented data through the use of unary codes in the process of sorting this data. The problem arises when developing systems and means of control and management based on fuzzy (quality) information for the implementation of "soft" calculations.
Задачи предлагаемого способа и устройства заключаются в следующем:The objectives of the proposed method and device are as follows:
1) уменьшить аппаратные затраты устройства;1) reduce the hardware costs of the device;
2) упростить алгоритм блока управления;2) simplify the control unit algorithm;
3) повысить скорость нахождения наибольшего/наименьшего данного в массиве;3) increase the speed of finding the largest / smallest given in the array;
4) распараллелить основную операцию по сортировке информации,4) to parallelize the main operation for sorting information,
5) повысить надежность работы узла сортировки информации.5) to increase the reliability of the node sorting information.
Способ заключается в следующем: исходные данные - целые числа разрядности m, среди которых необходимо найти набольшее или наименьшее, хранят в памяти вычислительного устройства в виде массива ячеек информации. Для реализации заявленного способа необходимо совершить следующие действия.The method is as follows: the source data is integers of bit m, among which it is necessary to find the largest or smallest, stored in the memory of the computing device in the form of an array of information cells. To implement the claimed method, you must perform the following steps.
Над группой из n ячеек двоичной информации разрядности m, находящихся в блоке исходных данных, реализуется одновременная дешифрация этих данных и их представление в унарных кодах, объединение этих кодов на одном носителе, и нахождение наибольшего/наименьшего номеров разрядов с ненулевым значением, с последующим преобразованием этих номеров в двоичный код, являющийся наибольшим/наименьшим значением среди элементов исходного массива.Above a group of n cells of binary information of bit m located in the source data block, these data are simultaneously decrypted and presented in unary codes, these codes are combined on one medium, and the largest / smallest bit numbers with a non-zero value are found, followed by conversion of these numbers in binary code, which is the largest / smallest value among the elements of the original array.
Для реализации заявленного способа может быть применено устройство (фиг. 1), включающее блок ввода данных (БВД) 3, блок дешифрации (БД) 4, блок хранения результата (БХ) 7 и блок управления (БУ) 2, отличающееся тем, что с целью нахождения наибольшего/наименьшего значения элементов массива из блока ввода данных 3 дополнительно введены шина унарных данных (ШУД) 1, блок нахождения максимального элемента (БМХ) 5 и блок нахождения минимального элемента (БМН) 6, причем выходы регистров блока входных данных 9i (i-1,…,n) соединены со входами отдельных дешифраторов 4i (i=1,…,n), выходы которых 10i (i=1,…,n) соединены с соответствующими разрядами шины унарных данных, образующих входы данных блока нахождения максимального 5 и блока нахождения минимального 6 значений, выходы которых 14, 15 образуют адресные входы блока хранения результата 7, а выходы блока управления осуществляют синхронизацию 19 блоков дешифрации 4i (i=1,…,n), нахождения 17 максимума и 18 минимума, а также 16 блока хранения результата 7. При этом для обеспечения электрической развязки в блоке дешифрации по каждому из n каналов вводится блок вентилей, по числу выходов отдельного дешифратора. В свою очередь, блок хранения включает постоянное запоминающее устройство, адресный вход которого формируется первым и вторым входом данных, объединенных между собой одноименных разрядных линий, с учетом электрической диодной развязки.To implement the claimed method, a device can be applied (Fig. 1), including a data input unit (BVD) 3, a decryption unit (DB) 4, a result storage unit (BX) 7, and a control unit (BU) 2, characterized in that in order to find the largest / lowest value of array elements from the block input bus
Шина унарных данных 1 (фиг. 2) образована объединением, с соответствующей электрической развязкой, выходов 8i (i=1,…,n) дешифраторов отдельных ячеек исходных данных. После формирования данных на этой шине, находят «самый старший» (ненулевой из 2m-1) / «самый младший» (ненулевой) ее разряды, которые и будут соответствовать наибольшему/наименьшему значениям элементов исходного массива.The unary data bus 1 (Fig. 2) is formed by combining, with the corresponding electrical isolation, the outputs 8 i (i = 1, ..., n) of the decoders of the individual cells of the source data. After generating data on this bus, the “oldest” (nonzero of 2 m -1) / “least significant” (nonzero) bits are found, which will correspond to the largest / smallest values of the elements of the original array.
Реализация блоков наибольшего (фиг. 3) и наименьшего (фиг. 4) значений, для обеспечения универсальности технической реализации различается только очередностью подключения разрядов линий, причем блок наибольшего значения (фиг. 3) включает 2m-1 элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, 2m-1 элементов ИЛИ, элемент И на два входа, 2m-1 элементов И на два прямых и один инверсный вход, причем нулевой вход блока является первым входом двухвходового элемента И, второй вход которого является входом управления данного блока, а выход образует нулевой разряд выходной шины данных блока, каждый 1-й элемент ИСКЛЮЧАЮЩЕЕ ИЛИ первым входом подключен i-1-му, а вторым к i-му разрядам входной для блока шины данных, выход которого образует первый прямой вход трехвходового элемента И, второй вход которого является входом управления данного блока, а инверсный вход первого трехвходового элемента И подключен к нулевому разряду выходной шины данных блока, инверсные входы остальных j=2…2m-1 трехвходовых элементов И подключены к элементам ИЛИ с номерами j-1, входы которых подключены к j-2 и j-1 разрядам выходной шины данных блока, выходы элементов И образуют соответствующие разряды выходной шины данных блока.The implementation of the blocks of the greatest (Fig. 3) and smallest (Fig. 4) values, to ensure the universality of the technical implementation, differs only in the order of connection of the bits of lines, and the block of the highest value (Fig. 3) includes 2 m -1 elements EXCLUSIVE OR, 2 m - 1 OR element, AND element for two inputs, 2 m -1 AND elements for two direct and one inverse inputs, and the zero input of the block is the first input of the two-input element And, the second input of which is the control input of this block, and the output forms a zero discharge output tire block data, each 1st element EXCLUSIVE OR the first input is connected to the i-1st, and the second to the i-th bits of the input for the data bus block, the output of which forms the first direct input of the three-input element And, the second input of which is the control input of this block, and the inverse input of the first three-input element AND is connected to the zero bit of the output data bus of the block, the inverse inputs of the remaining j = 2 ... 2 m -1 three-input elements AND are connected to OR elements with numbers j-1, the inputs of which are connected to j-2 and j-1 bits of the output data bus of the block, the outputs of the elements AND form the corresponding bits of the output data bus of the block.
Блок наименьшего значения (фиг. 4) включает 2m-1 элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, 2m-1 элементов ИЛИ, элемент И на два входа, 2m-1 элементов И на два прямых и один инверсный вход, причем нулевой вход блока является первым входом двухвходового элемента И, второй вход которого является 2m-1 входом управления данного блока, а выход образует нулевой разряд выходной шины данных блока, каждый i-й элемент ИСКЛЮЧАЮЩЕЕ ИЛИ первым входом подключен i-1-му, а вторым к i-му разрядам входной для блока шины данных, выход которого образует первый прямой вход трехвходового элемента И, второй вход которого является входом управления данного блока, а инверсный вход первого трехвходового элемента И подключен к нулевому разряду выходной шины данных блока, инверсные входы остальных j=2m-1…3 трехвходовых элементов И подключены к элементам ИЛИ с номерами j-1, входы которых подключены к j-2 и j-1 разрядам выходной шины данных блока, выходы элементов И образуют соответствующие разряды выходной шины данных блока.The smallest value block (Fig. 4) includes 2 m -1 EXCLUSIVE OR elements, 2 m -1 OR elements, AND element for two inputs, 2 m -1 AND elements for two direct and one inverse input, and the zero input of the block is the first the input of the two-input element AND, the second input of which is 2 m -1 the control input of this block, and the output forms the zero bit of the output data bus of the block, each i-th element is EXCLUSIVE OR the first input is connected to the i-1th, and the second to the i-th the input bits for the data bus block, the output of which forms the first direct input of the three-input about the AND element, the second input of which is the control input of this block, and the inverse input of the first three-input element And is connected to the zero bit of the output data bus of the block, the inverse inputs of the remaining j = 2 m -1 ... 3 three-input elements AND are connected to the OR elements with numbers j -1, the inputs of which are connected to j-2 and j-1 bits of the output data bus of the block, the outputs of the elements AND form the corresponding bits of the output data bus of the block.
В данном случае, совокупность блока нахождения максимального элемента и блока нахождения минимального элемента - это два блока поиска экстремальных значений, отличающихся между собой только очередностью разрядов линий.In this case, the totality of the block for finding the maximum element and the block for finding the minimum element are two blocks for finding extreme values that differ only in the order of the bits of the lines.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016148069A RU2682399C2 (en) | 2016-12-08 | 2016-12-08 | Method and device for finding largest and smallest elements of array by method of data decoding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2016148069A RU2682399C2 (en) | 2016-12-08 | 2016-12-08 | Method and device for finding largest and smallest elements of array by method of data decoding |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2016148069A3 RU2016148069A3 (en) | 2018-06-08 |
RU2016148069A RU2016148069A (en) | 2018-06-08 |
RU2682399C2 true RU2682399C2 (en) | 2019-03-19 |
Family
ID=62557514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016148069A RU2682399C2 (en) | 2016-12-08 | 2016-12-08 | Method and device for finding largest and smallest elements of array by method of data decoding |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2682399C2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4539549A (en) * | 1982-12-30 | 1985-09-03 | International Business Machines Corporation | Method and apparatus for determining minimum/maximum of multiple data words |
US20010013048A1 (en) * | 2000-01-06 | 2001-08-09 | Imbert De Tremiolles Ghislain | Method and circuits for performing the quick search of the minimum/maximum value among a set of numbers |
RU2298219C1 (en) * | 2005-12-02 | 2007-04-27 | Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Device for selecting maximal one out of two binary numbers |
RU2300133C1 (en) * | 2005-12-02 | 2007-05-27 | Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Device for picking minimal one of two binary numbers |
RU2319197C1 (en) * | 2006-11-08 | 2008-03-10 | Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" | Device for sorting information using data decoding method |
-
2016
- 2016-12-08 RU RU2016148069A patent/RU2682399C2/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4539549A (en) * | 1982-12-30 | 1985-09-03 | International Business Machines Corporation | Method and apparatus for determining minimum/maximum of multiple data words |
US20010013048A1 (en) * | 2000-01-06 | 2001-08-09 | Imbert De Tremiolles Ghislain | Method and circuits for performing the quick search of the minimum/maximum value among a set of numbers |
RU2298219C1 (en) * | 2005-12-02 | 2007-04-27 | Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Device for selecting maximal one out of two binary numbers |
RU2300133C1 (en) * | 2005-12-02 | 2007-05-27 | Государственное образовательное учреждение высшего профессионального образования "Ульяновский государственный технический университет" | Device for picking minimal one of two binary numbers |
RU2319197C1 (en) * | 2006-11-08 | 2008-03-10 | Государственное образовательное учреждение высшего профессионального образования "Курский государственный технический университет" | Device for sorting information using data decoding method |
Also Published As
Publication number | Publication date |
---|---|
RU2016148069A3 (en) | 2018-06-08 |
RU2016148069A (en) | 2018-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7907722B2 (en) | Protection against power analysis attacks | |
EP3557407A1 (en) | Puf-based true random number generation system | |
KR20160132943A (en) | Solving digital logic constraint problems via adiabatic quantum computation | |
US11301213B2 (en) | Reduced latency multiplier circuitry for very large numbers | |
US20080294710A1 (en) | Extending a Repetition Period of a Random Sequence | |
Xie et al. | Special session: The recent advance in hardware implementation of post-quantum cryptography | |
US10763890B2 (en) | Computational devices using thermometer coding and scaling networks on unary encoded data | |
Rožić et al. | Iterating von Neumann's post-processing under hardware constraints | |
CN112015366B (en) | Data sorting method, data sorting device and database system | |
Shashidhar et al. | Design of high speed AES system for efficient data encryption and decryption system using FPGA | |
Rožić et al. | Hardware-efficient post-processing architectures for true random number generators | |
Paul et al. | A resource efficient software-hardware co-design of lattice-based homomorphic encryption scheme on the FPGA | |
RU2682399C2 (en) | Method and device for finding largest and smallest elements of array by method of data decoding | |
JP2005100085A (en) | Arithmetic unit and encryption/decoding arithmetic unit | |
Gorbenko et al. | Construction method and features of one class of cryptographic discrete signals | |
Collinsworth et al. | Stochastic number generators with minimum probability conversion circuits | |
CN108988873B (en) | Polar code processing method, decoder and terminal | |
Roy et al. | High-speed architecture for successive cancellation decoder with split-g node block | |
KR100913467B1 (en) | System And Method For Generating Parallel Cyclic Redundancy Codes | |
US20180011691A1 (en) | Random number generation apparatus, random number generation method and program | |
CN112202548A (en) | Stream encryption key stream generation method, device, circuit and encryption method | |
Wang et al. | An Efficient Fully Homomorphic Encryption Sorting Algorithm Using Addition Over TFHE | |
Singh et al. | XCRYPT: Accelerating Lattice Based Cryptography with Memristor Crossbar Arrays | |
US11237800B2 (en) | Time-shifted seed for random number generator | |
CN112487448B (en) | Encryption information processing device, method and computer equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20190312 |