SU1401518A1 - Associative memory - Google Patents
Associative memory Download PDFInfo
- Publication number
- SU1401518A1 SU1401518A1 SU864143539A SU4143539A SU1401518A1 SU 1401518 A1 SU1401518 A1 SU 1401518A1 SU 864143539 A SU864143539 A SU 864143539A SU 4143539 A SU4143539 A SU 4143539A SU 1401518 A1 SU1401518 A1 SU 1401518A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- search
- block
- register
- outputs
- Prior art date
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Изобретение относитс к вычислительной технике, в частности к устройствам хранени информации, и предназначено дл высокопроизводительных систем с возможностью параллельной ассоциативной обработки информации. Цель изобретени - повышение быстродействи устройства при выполнении ассоциативного поиска по критерию «ближайшее большее (меньшее) к заданному. Устройство содержит блок ассоциативной пам ти, регистр признака поиска, регистр маски, элемент ИЛИ, коммутатор, блок модификации признака поиска, состо щий из п преобразователей кодов (п - разр дность обрабатываемых чисел), блок уп- равлени . 4 ил.The invention relates to computing, in particular, to information storage devices, and is intended for high-performance systems with the possibility of parallel associative information processing. The purpose of the invention is to increase the speed of the device when performing an associative search on the criterion "the nearest greater (smaller) to the given. The device contains an associative memory block, a search flag register, a mask register, an OR element, a switch, a search sign modification block consisting of n code converters (n is the number of processed numbers), a control block. 4 il.
Description
елate
0000
Изобретение относитс к вычислительной технике, в частности к устройствам хранени информации, и предназначено дл высокопроизводительных вычислительных систем с возможностью параллельной ассо- циативной обработки информации.The invention relates to computing technology, in particular, to information storage devices, and is intended for high-performance computing systems with the possibility of parallel associative information processing.
Цель изобретени - повышение быстродействи устройства при выполнении ассоциативного поиска по критерию «ближайшее большее (меньшее) к заданному.The purpose of the invention is to increase the speed of the device when performing an associative search on the criterion "the nearest greater (smaller) to the given.
На фиг. 1 изображена структурна схема ассоциативного запоминаюшего устройства; на фиг. 2 - структурна схема преобразовател кодов; на фиг. 3 - структурна схема блока управлени ; на фиг. 4 - временные диаграммы работы устройства.FIG. 1 shows a schematic diagram of an associative memory device; in fig. 2 is a block diagram of a code converter; in fig. 3 is a block diagram of the control unit; in fig. 4 - timing charts of the device.
Ассоциативное запоминающее устройство (фиг. 1) содержит блок 1 ассоциативной пам ти, регистр 2 признака поиска , регистр 3 маски, элемент ИЛИ 4.The associative memory device (Fig. 1) contains an associative memory block 1, a search characteristic register 2, a mask register 3, an OR element 4.
Блок 1 имеет адресный вход 5, первую группу информационных входов 6, первую группу информационных выходов 7.Unit 1 has address input 5, the first group of information inputs 6, the first group of information outputs 7.
Втора группа информационных входов 8 устройства и втора группа информационных выходов 9 устройства соединены соответственно с одними из информационных уходов коммутатора 10 и выходами регистра 2. Выходы регистра 2 соединены с информационными входами lli -11„ блока 12 модификации признака поиска (п - разр дность обрабатываемых данных). Входы 13i-13„ промежуточных значений признака блока 12 подключены к информационным выходам буферного регистра 14, информационные выходы которого соединены с выходами 15i -15„ промежуточных значений признака блока 12. Информационные выходы 16i - 16л блока 12 соединены с информационными входами коммутатора 10.The second group of information inputs 8 of the device and the second group of information outputs 9 of the device are connected respectively to one of the information outputs of the switch 10 and the outputs of register 2. The outputs of register 2 are connected to information inputs lli-11 "of the search attribute modification block 12 (n is the width of the data being processed ). Inputs 13i-13 "intermediate values of the characteristic of the block 12 are connected to the information outputs of the buffer register 14, the information outputs of which are connected to the outputs 15i -15" of the intermediate values of the characteristic of the block 12. Information outputs 16i - 16l of the block 12 are connected to the information inputs of the switch 10.
Блок 12 содержит п преобразователей 17| - 7п кодов, причем выход 18,- переноса (, п-1) преобразовател 17/ подключен к задающему входу (j + l)-ro преобразовател 17/+I. Вход 19| подключен к ис- точнику 20 потенциала логического нул .Block 12 contains n converters 17 | - 7p codes, and the output 18, - transfer (, n-1) of the converter 17 / is connected to the master input (j + l) -ro of the converter 17 / + I. Log 19 | connected to logical potential source 20.
Устройство также содержит блок 21 управлени , имеющий вход «Результат поиска 22, вход «Конец модификации 23 вход «Конец поиска 24 и вход «Начало работы 25. Блок 21 имеет выходы 26-28. Выход 28 блока 21 подключен к входам 29i - 29„ управлени приемом блока 12. Блок 21 имеет также выходы 30-33. Выходы 32 и 33 вл ютс соответственно выходами «Слово найдено и «Слово не найдено устройства .The device also contains a control block 21 having an entry Search result 22, an input End of modification 23 an entry End of search 24, and an input Start getting 25. Block 21 has exits 26-28. The output 28 of the block 21 is connected to the inputs 29i - 29 of the control of the reception of the block 12. The block 21 also has the outputs 30-33. Outputs 32 and 33 are, respectively, outputs "Word found and" Word not found device.
Вход 34 режима поиска устройства соединен с входами 35i-35 управлени видом поиска блока 12. Входы 36 и 37 блока 1 вл ютс соответственно входом записи и входом чтени устройства.The device search mode input 34 is connected to the search type control input inputs 35i-35 of block 12. Inputs 36 and 37 of block 1 are a write input and a read input of the device, respectively.
Каждый преобразователь 17 (фиг. 2) содержит элемент НЕРАВНОЗНАЧНОСТБ 38, выходом св занный непосредственно сEach transducer 17 (FIG. 2) contains the element UNEQUAL DIFFERENCE 38, the output connected directly to
5five
0 0
0 0
5five
00
5five
5five
00
входом элемента И 39 и через элемент НЕ 40 - с входом элемента И 41, элемент ИЛИ 42, элементНЕРАВНОЗНАЧНОСТЬ 43.the input element AND 39 and through the element NOT 40 - with the input element AND 41, the element OR 42, the element UNACTIMATE 43.
Блок 21 управлени может быть реализован в виде микропрограммного устройства управлени либо в виде управл ющего автомата с жесткой логикой. Один из возможных вариантов реализации блока 21 в виде управл ющего автомата (фиг. 3) содержит триггер 44, элементы И 45 и 46, элемент ИЛИ 47, триггер 48, элементы И 49 и 50, триггер 51, элементы И 52 и 53, элемент ИЛИ 54, триггер 55, элемент И 56, триггер 57, элемент И 58, триггер 59, элементы И 60 и 61, элементы НЕ 62-64, элементы ИЛИ 65-67, вход 68 синхронизации .The control unit 21 may be implemented as a firmware control device or as a control machine with rigid logic. One of the possible options for the implementation of block 21 in the form of a control automaton (Fig. 3) contains a trigger 44, elements AND 45 and 46, an element OR 47, a trigger 48, elements And 49 and 50, a trigger 51, elements And 52 and 53, an element OR 54, trigger 55, element And 56, trigger 57, element And 58, trigger 59, elements AND 60 and 61, elements NOT 62-64, elements OR 65-67, synchronization input 68.
Устройство работает следующим образом.The device works as follows.
В исходном состо нии в блоке 1 хранитс п разр дных двоичных чисел.In the initial state, in block 1, n binary binary numbers are stored.
Процесс ассоциативного поиска числа, ближайшего к заданному, начинаетс подачей единичного сигнала на вход 25 блокаThe process of associative search for the number closest to the given one begins with a single signal to the input 25 of the block
21управлени , подачей сигнала на вход 34 устройства (единичного сигнала - при поиске ближайшего большего к заданному и нулевого сигнала - при поиске ближайшего меньшего к заданному), подачей заданного числа на входы 8 устройства. Единичный сигнал на входе 25 блока 21 управлени инициирует формирование блоком 21 единичных сигналов на выходах 26 и 27 (фиг. 4, такт 1), которые осуществл ют управление прохождением двоичного кода заданного числа с входов 8 через коммутатор 10 на входы регистра 2, прием упом нутого кода на регистр 2, установку регистров 3 и 14 ,в исходное.состо ние (в исходном состо нии регистра 3 все его разр ды установлены в единицу, а в исходном состо нии регистра 14 все его разр ды, кроме младшего, обнулены, а младший установлен в единицу). Таким образом, на регистре 2 зафиксируетс заданное слово, а все разр ды регистра 3 будут установлены в единицу, что соответствует отсутствию маскировани .21, by applying a signal to the device input 34 (a single signal — when searching for the nearest larger signal to the specified and zero signal — when searching for the nearest smaller signal to the specified signal), feeding the specified number to the device inputs 8. A single signal at input 25 of control unit 21 initiates the formation by unit 21 of single signals at outputs 26 and 27 (Fig. 4, cycle 1), which control the passage of a binary code of a given number from inputs 8 through switch 10 to inputs of register 2, receiving of the new code to register 2, installation of registers 3 and 14 to the initial state (in the initial state of register 3 all its bits are set to one, and in the initial state of register 14 all its bits, except the youngest, are set to zero, and the youngest is set to one). Thus, on register 2, the given word is fixed, and all bits of register 3 will be set to one, which corresponds to the absence of masking.
В следующем такте блок 21 управлени формирует единичный сигнал на выходе 30, которым инициируетс опрос всех чеек блока 1 кодом заданного числа. Если среди хран щихс в блоке 1 чисел имеетс хот бы одно, совпадающее с заданным, то, естественно , оно и будет ближайшим и на соответствующем выходе блока 1 будет сформирован сигнал единичного уровн , который через элемент ИЛИ 4 поступает на входIn the next cycle, the control unit 21 generates a single signal at the output 30, which initiates a poll of all the cells of block 1 with a given number code. If among the numbers stored in block 1 there is at least one that matches the given one, then, naturally, it will be the closest one and at the corresponding output of block 1 a single level signal will be generated, which through the OR 4 element goes to the input
22блока 21 управлени , который формирует на своем выходе 33 сигнал успешного конца операции поиска. Код числа, ближайшего к заданному, при этом снимаетс с информационных выходов 9 устройства .22 of the control unit 21, which generates at its output 33 a signal of the successful end of the search operation. The code of the number closest to the given one is removed from the information outputs 9 of the device.
Если среди хран щихс в блоке 1 чисел не имеетс совпадающих с заданным, то дальнейший ход процедуры поиска зависит от того, какое ближайшее большее или ближайшее меньшее ищетс .If among the numbers stored in the block 1 there are no coinciding with the given one, then the further course of the search procedure depends on what the nearest larger or nearest smaller one looks for.
Поиск ближайшего большего к заданному осуществл етс следующим образом.The search for the closest one to the specified is carried out as follows.
В следующем за опросом блока 1 такте блок 21 управлени формирует единичные сигналы на выходах 27 и 28. По первому из указанных сигналов осуществл етс прием кода с выходов 16 блока 12 через открытый нулевым сигналом с выхода 26 коммутатор 10 на регистр 2, Второй из них разрешает установку в «О разр дов регистра 3 маски, отмеченных единицами кода, снимаемого с выходов 18 блока 12, и инициирует прием кода с выходов 15 блока 12 на регистр 14.In the next cycle following polling of block 1, control block 21 generates single signals at outputs 27 and 28. The first of these signals receives a code from outputs 16 of block 12 through switch 0 open to zero from output 26 of switch 2 to register 2, the second of which permits setting in “About the bits of the register 3 masks marked with units of code taken from the outputs 18 of block 12, and initiates the reception of the code from the outputs 15 of block 12 to the register 14.
Код, снимаемый с выходов 16i -16„ блока 12 формируетс следующим образом. Сигнал на выходе 16( (i 1, п) соответствует сигналу на входе И,-, если , где d - номер разр да (начина с младших) в котором код на входах 111 -11„ содержит первый (начина с младщих разр дов) нуль, в противном случае () сигнал на выходе 16/ вл етс инверсией сигнала, подаваемого на вход 11,. Например, если на входы 11 подаетс код 01101011 (в приведенной записи младший разр д находитс справа, , ), то на выходах 16i - 16л формируетс код 01101100 (отмечены инвертируемые разр ды).The code taken from the outputs 16i -16 ' of block 12 is generated as follows. The signal at output 16 ((i 1, p) corresponds to the signal at the input I, -, if, where d is the number of the bit (starting with the lower ones) in which the code at the inputs 111 -11 "contains the first (starting with the lower order bits) zero, otherwise () the signal at output 16 / is the inverse of the signal applied to input 11. For example, if code 111101011 is inputted to input 11 (in the above record, the least significant bit is to the right,,), then output 16i is 16l, code 01101100 is formed (inverted bits are marked).
Рассмотренное преобразование осуществл етс следующим образом. Сигнал на входе 11, преобразовател 17,- инвертируетс элементом НЕРАВНОЗНАЧНОСТЬ 43/, если имеютс единичные сигналы на входах 13,- или 19,. В частности, поскольку на вход I3i поступает единичный сигнал с младщего разр да регистра 14, то на выходе 16i формируетс сигнал, инверсный поданному на вход Пь На выходе элемента НЕРАВНО- ЗНАЧНОСТЬ 38, сигнал единичного уровн формируетс в том случае, если на вход 11; подаетс нуль при поиске ближайщего больщего (на вход 35t при этом подаетс единица), и в противном случае при поиске ближайшего меньшего (на вход 35/ при этом подаетс нуль). Соответственно, если на вход 111 подан сигнал единичного потенциала , то сформируетс сигнал единичного уровн на выходе 18i, который поступает на вход установки в «О младшего разр да регистра 3 маски и на вход 102 следующего преобразовател 172.The conversion considered is as follows. The signal at input 11, converter 17, is inverted by the EQUIDITY element 43 / if there are single signals at inputs 13, - or 19 ,. In particular, since the input signal I3i receives a single signal from the lower bit of register 14, a signal is generated at the output 16i that is inverse to that supplied to the input P At the output of the element EQUAL VALUE 38, the signal of the unit level is generated if it is input 11; Zero is applied when searching for the nearest major (one is fed to the input 35t), and otherwise, when searching for the nearest smaller one (zero is input to the input 35 /). Accordingly, if a single potential signal is applied to the input 111, a single level signal will be generated at the output 18i, which is fed to the input of the setting in the “O” low bit of the mask register 3 and to the input 102 of the next converter 172.
Преобразовани , аналогичные имевшим место в преобразователе 17i, происход т последовательно во втором, третьем и т.д. преобразовател х 17 вплоть до d-ro, на вход 7d которого поступает нуль, закрывающий момент 41rf, так что сигнал на выходе 18d имеет нулевой потенциал и не инициирует работу последующих преобразователейConversions similar to those in converter 17i occur sequentially in the second, third, and so on. converters x17 up to d-ro, to which input 7d is zero, the closing moment is 41rf, so that the signal at output 18d has zero potential and does not initiate the work of subsequent converters
5five
00
0 0
0 0
5 five
5five
5five
00
17. На выходе 15 преобразовател формируетс единичный сигнал, который записывает единицу в d-й разр д регистра 14. Таким образом, в рамках приведенного примера на регистре 3 и регистре 14 зафиксируютс соответственно коды 11111100 и 00000100.17. At the output 15 of the converter, a single signal is formed, which writes the unit to the d-th bit of the register 14. Thus, in the framework of the given example, the codes 11111100 and 00000100 are fixed on the register 3 and the register 14.
В следующем такте сигналом с выхода 30 блока 21 управлени инициируетс опрос блока 1. В случае, если в блоке 1 не содержитс ни одного слова, совпадающего с содержимым регистра 2, на выходе элемента ИЛИ 4 и на входе 22 блока 21 сохран етс потенциал нулевого уровн . Блок 21 формирует сигналы на выходах 27 и 28.In the next cycle, the signal from the output 30 of the control block 21 initiates polling of the block 1. In block 1, there is not a single word that matches the contents of register 2, the output of the OR element 4 and the input 22 of block 21 retains the potential of zero level . Block 21 generates signals at outputs 27 and 28.
На регистры 2, 3 и 14 с соответствующих выходов блока 12 кода опроса занос тс коды, формируемые по описанному способу, причем роль d при втором цикле преобразований играет величина dg - номер позиции второго нул в заданном слове. Так, в услови х приведенного примера d2 5, а коды, подаваемые на регистры 2, 3 и 14, имеют соответственно вид: 01110000, 11110000, 0010000. Если в текущем цикле преобразовани кода сформируетс сигнал на выходе 18 старщего преобразовател 17„, что соответствует отсутствию в коде заданного числа непреобразованных на предыдущих циклах нулей, то блоком 21 управлени формируетс еиничный сигнал на выходе 32, который свидетельствует о том, что среди чисел, хран щихс в накопителе , отсутствуют числа, большие заданного.Registers 2, 3 and 14 from the corresponding outputs of block 12 of the polling code are assigned codes generated by the described method, and the value dg, the position number of the second zero in a given word, plays the role d. So, under the conditions of the above example, d2 5, and the codes fed to registers 2, 3 and 14 are respectively: 01110000, 11110000, 0010000. If in the current code conversion cycle a signal is generated at the output 18 of the high converter 17, which corresponds to If the code does not contain the specified number of zeros that were not transformed in the previous cycles, then the control unit 21 generates a single signal at output 32, which indicates that among the numbers stored in the accumulator there are no numbers greater than the specified one.
После каждого цикла преобразовани содержимого регистров 2, 3 и 14 производитс опрос блока 1. Указанна процедура продолжаетс до по влени сигнала на выходе 32 или входе 22 блока 21 управлени . Во втором случае блок 21 управлени сформирует сигнал сдвига вправо содержимого регистров 3 и 14 (фиг. 4, такт 7) на своем выходе 31, а затем сформирует сигнал опроса на своем выходе 30. Если результат опроса блока 1 отрицателен (т.е. на входе 22 блока 21 управлени сохран етс нулевой сигнал), то содержимое регистра 2 корректируетс путем прин ти на регистр 2 кода с выходов 16 блока 12 (при этом блок 21 управлени формирует сигналы на своих выходах 27). Указанный код отличаетс от кода на входах 11 инверсным значением одного разр да, позици которого определ етс единицей в регистре 14.After each cycle of converting the contents of registers 2, 3 and 14, block 1 is interrogated. This procedure continues until a signal appears at output 32 or input 22 of control block 21. In the second case, the control unit 21 will generate a shift signal to the right of the contents of registers 3 and 14 (FIG. 4, cycle 7) at its output 31, and then generate a polling signal at its output 30. If the result of polling of block 1 is negative (i.e. the input 22 of the control unit 21 is saved a zero signal), the contents of the register 2 is corrected by receiving the register 2 from the outputs 16 of the unit 12 (the control unit 21 generates signals on its outputs 27). The code indicated is different from the code on the inputs 11 by the inverse value of one bit, the position of which is determined by the unit in register 14.
После коррекции вновь повтор етс рассмотренный цикл, включающий сдвиг вправо содержимого регистров 3 и 14, опрос блока 1 и, при необходимости, коррекцию содержимого регистра 2. Последним циклом вл етс цикл, в котором в младшем разр де регистра 14 по вл етс единица, котора , поступа на вход 24 блока 21 управлени , инициирует по вление сигнала успешного конца операции на выходе 33.After correction, the considered cycle repeats again, including shifting the contents of registers 3 and 14 to the right, polling block 1 and, if necessary, correcting the contents of register 2. The last cycle is a cycle in which, in the low-order bit of register 14, a unit appears Arriving at the input 24 of the control unit 21, initiates the appearance of a signal of a successful end of the operation at the output 33.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU864143539A SU1401518A1 (en) | 1986-11-10 | 1986-11-10 | Associative memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU864143539A SU1401518A1 (en) | 1986-11-10 | 1986-11-10 | Associative memory |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1401518A1 true SU1401518A1 (en) | 1988-06-07 |
Family
ID=21266150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU864143539A SU1401518A1 (en) | 1986-11-10 | 1986-11-10 | Associative memory |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1401518A1 (en) |
-
1986
- 1986-11-10 SU SU864143539A patent/SU1401518A1/en active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР № 720510, кл. G 11 С 15/00, 1978. Авторское свидетельство СССР № 1256098, кл. G 11 С 15/00, 1984. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3675211A (en) | Data compaction using modified variable-length coding | |
US4095283A (en) | First in-first out memory array containing special bits for replacement addressing | |
SU1401518A1 (en) | Associative memory | |
SU1046932A1 (en) | Threshold element | |
SU561966A1 (en) | Computing system for processing numbers and multidimensional vectors | |
SU1298764A1 (en) | Device for calculating values of simple functions | |
SU663113A1 (en) | Binary counter | |
SU1424005A1 (en) | Device for computing boolean function systems | |
SU1256098A1 (en) | Associative storage | |
SU1267429A1 (en) | Adaptive data processing system | |
SU1633457A1 (en) | Device for searching marker in domain memory | |
SU1532965A1 (en) | Electronic dictionary for study of foreign language | |
SU947910A2 (en) | Logic storing device | |
SU1387004A2 (en) | N-sensors-to-computer interface | |
SU1667155A1 (en) | Associative working memory | |
SU734669A1 (en) | Converter of proper binary fraction into binary-decimal fraction and integer binary-decimal numbers into binary numbers | |
SU976477A1 (en) | Associative storage device and associative information accumulator for it | |
SU1278976A1 (en) | Content-addressable storage | |
SU1191908A1 (en) | Device for calculating square root function | |
SU1640709A1 (en) | Device for fast fourier transforms | |
SU1417007A1 (en) | Squaring device | |
SU1277211A1 (en) | Associative storage | |
SU1270900A1 (en) | Device for converting serial code to parallel code | |
SU1274159A1 (en) | Parallel code-to-serial code converter | |
SU1228115A1 (en) | Device for restricting relations among data and concepts |