Устройство для поиска информации

 

Изобретение относится к вычислительной технике и может быть исг пользовано в системах управления базами данных или в программно-аппаратных средствах, осуществляющих «« перевод с языков программирования высокого уровня на машииньа язык Целью изобретения является повышение производительности за счет динамического включения и ввода данных в реальном времени работы. Устройство содержит группу 1 элементов ЮИ, регистр 2 адреса, регистр 3 информации, имеющий поле 4 ключа, поле 5 данных и поле 6 ссылки, блок 7 памяти, дешифратор 8, регистр 9 ключа, 10 сравнения, генератор 11 тактовых импульсов, злемент 12 задержки, элемент 1 ШИ 13, группы 14-20 элементов И, элe ieнты И 21-23, регистр 24 данных, блок 25 сложения по модулю два, сумматор 26. регистр 27 базы, регистр 28 адреса, блок 29 управления . 1 з.п. ф-лы, 6 iin, S3 07./

союз советских социАлистичесник

Респувлин (5D 4 0 06 1 "-5/40 госудАРственчый ноыитет

ПО изсБРетеииям и ОТКРытиям при гкнт ссС (21) 4178576/24-24 (22) 08,01.87 (46) 15.01.89. Бюл. Р 2 (71) Ленинградский электротехнический институт им.В.И.Ульянова (Ленина) (72) В.С.Фомичев, Г.В.Разумовский (SU) и Уве Пютчлер (DD) (53) 681.3.016(088.8) (56) Авторское свидетельство СССР

1208563ь кл. С. 06 F 15/38, 1984.

Авторское свидетельство СССР

Р 1206810, кл. С 06 P 15/40, 1984. (54) УСТРОЙСТВО ДЛЯ ПОИСКА ИНФОРМАЦИИ (57) Изобретение относится к вычислительной технике и может быть ис пользовано в системах управления базами данных нли в программно-аппаратных средствах, осуществляющих

„„SU„„f45 l 725 .А 1 перевод с языков программирования высокого уровня на маши ;.:-и язык.

Целью изобретения является повышение производительности за счет д1п-:;-.мического включения и ввода данных в реальном времени работы. Устройство содержит группу 1 элементов IHH, регистр 2 адреса, регистр 3 r:H4 ñрмации, имеющий поле 4 клкча, поле 5 ",анных и поле 6 ссылк.<, блок 7 памят, дешифратор 8, регистр 9 ключа, =.åë 10 сравнения, генератор 11 так-.оных импульсов, элемент 12 задержки, элемент ИЛИ 13 группы 14-20 элементов И, элементы И 21-23, регистр 24 данных, .блок 25 сложения Ji0 мо вЂ,,:i два, сумматор 26. регистр 27 базы, регистр 28 адреса, блок 29 упр;.влення, 1 з.i i. д>-лы, 6

145 t725

Изобретение относится к вычислительной технике и может быть использовано в системах управления базами данных, системах автоматического проектирования или в специализированных программно-аппаратных средствах, осуществляющих перевод с языков программирования высокого уровня на промежуточный или машинный язык.

Целью изобретения является повышение производительности за счет динамического включения и ввода данных в реальном времени работы. 15

На фиг. 1 представлена схема предлагаемого устройства; на фиг. 2— применяемое в устройстве представление данных," на фиг. З.и 4 — временные диаграммы работы устройства 20 в режимах поиска и включения; на фиг. 5 — схема блока управления; на фиг. 6 — пример определения адреса входа в хештаблицу.

Устройство содержит группу 1 элементов ИЛИ, регистр 2 адреса, регистр

3 информации, имеющий поле 4 ключа, поле 5 данных и поле 6 ссылки, блок 7 памяти, дешифратор 8, регистр 9 ключа, узел 10 сравнения, генератор 11 тактовых импульсов, элемент 12 задержки, элемент ИЛИ 13, группы 1420 .элементов И, элементы И 21-23, регистр 24 данных, блок 25 сложения по модулю два, сумматор 26, регистр 35

27 базы, регистр 28 адреса, блок 29 управления с входами 30-34 и выходами

35-42, входы 43-50 устройства, выходы 51-53 устройства, регистр 54 сдвига, триггеры 55 и 56, элементы 40

57 и 58 задержки, элементы ИЛИ 59-61 и элементы И 62-70.

Для работы устройства используется следующее представление данных. Память разделена на две области: в 45 первой области хранится хештаблица, а во второй области хранятся данные.

Хештаблица содержит адреса данных.

Местоположение адреса данных в хештаблице вычисляется с помощью хешфункции. Среди хешфункций можно .С выделить класс функций, которые могут быть реализованы с помощью логической схемы и не требует больших аппаратных затрат. Такой способ определения 55 хешфункции называется методом свертывания. Например, можно реализовать такую хешфункцию, которая вычисляется путем сложения по модулю два опредеи ленных последовательностей разрядов, выделенных в поле ключа.

Данные хранятся в памяти в виде записей. Каждая запись состоит из поля ключа, поля значения данных, поля ссылки и считывается за одно обращение к памяти. Поиск записи в области данных осуществляется по ключу, значение которого должно быть отличным от нуля. Все записи, ключи которых имеют одинаковые значения хешфункции, в области данных связываются в цепочку при помощи поля ссылки. Конец цепочки записей определяется уникальным значением поля ссылки. В устройстве таким уникальHbIM значением являются нули во всех разрядах поля ссылки.

Хештаблица представляет собой последовательность записей, в полях ссылки которых содержатся адреса. первых элементов цепочек записей, имеющих одинаковое значение хешфункции, а другие поля этих записей содержат нули, Устройство работает следующим образом.

В исходном состоянии все записи хештаблицы обнулены. По входу 46 поступает базовый адрес хештаблицы в регистр 27 базы, По входам 48 и 49 устанавливается режим работы устройства. Устройство может работать в режиме включения и в режиме поиска, устанавливаемых соответственно сигналами на входах 48 и 49. В исходном состоянии перед каждым рабочим циклом устройства генератор 11 за-. торможен и блок 29 управления установлен в начальное состояние сигналом, подаваемым на вход 50 установки.

В режиме поиска устройство работает следующим образом.

По входу 44 в регистр 9 ключа заносится ключ искомой записи. Поиск инициируется подачей импульса на вход 45, в результате запускается генератор 11, Первый импульс поступает с выхода генератора 11 на вход

30 блока 29 управления. Последний выдает импульс по выходу 35 на вход сумматора 26, вызывающий сложение содержимого регистра 27 базы с выходом блока 25, представляющим собой значение хешфункции ключа, находящегося в регистре 9 ключа. По второму импульсу блок 29 управления вы1451725 дает сигнал по выходу 37. Содержимое сумматора 26 через группу 20 элементов И и группу 1 элементов ИЛИ передается на регистр 2 адреса. По третьему импульсу, переданному блоком 29 управления на выход 39, осуществляется прием записи из блока 7 памяти на регистр 3 информации ° В дельнейшем работа устройства может продолжаться двумя путями, Ключ считанной записи не совпадает с ключом искомой записи. Такая ситуация будет всегда возникать при чте-. нии записи из хештаблицы, в поле ключа которой записаны нули. В этом случае появляется сигнал на выходе неравенства узла 10 сравнения, подготавливающий к открытию элемент

И 22. Если в поле 6 ссылки прочитанной записи coäåðæèòñÿ отличное от нуля значение, то на выходе дешифратора 8 отсутствует сигнал, и выход элемента И 22 подготавливает к открытию группу 14 элементов И. По импульсу с выхода элемента 12 задержки открывается группа 14 элементов И и адрес из поля 6 ссыпки регистра информации переписывается в регистр 2 адреса. По следующему импульсу, поступающему с выхода 39 блока управления в регистр 3, будет прочитана из блока 7 памяти следующая запись, которая анализируется аналогичным образом. Если в поле 6 ссылки содержатся нули, то ча выходе дешифратора 8 появляется сигнал, запрещающий передачу поля 6 ссылки через группу 14 элементов И на регистр 2 и подготавливающий элемент

И 23 к открытию. По импульсу с выхода элемента 12 задержки поступает сигнал на вход 31 блока управления, который вырабатывает на выходе 40 сигнал, останавливающий генератор 11 и одновременно вырабатывает на выходе

41 сигнал, указывающий на отсутствие в таблице искомой записи.

Если ключ считанной записи совпадает с ключом искомой записи, то появляется сигнал на выходе равенства узла 10 сравнения, подготавливающий к срабатыванию элемент

И 21. При появлении импульса на выходе элемента 12 задержки срабатывает элемент И 21, в результате чего поле 5 данных искомой записи через группу 16 элементов И поступает на выход 51 устройства, а генератор 11

45 лаются данные этой записи по выходу

55

40 останавливается. Одновременно на выходе 53 появляется импульс, указывающий, что запись с заданным ключом найдено в таблице.

В режиме включения устройство работает следующим образом.

По входу 44 в регистр 9 ключа заносится ключ, по входу 43 в регистр 24 данных загружаются данные вносимой записи и по входу 47 записывается адрес свободной ячейки па-. мяти в регистр 28 адреса. Включение инициируется подачей импульса на вход 45, в результате чего запускается генератор 11 ° По первому импульсу аналогично режиму поиска выполняется сложение в сумматоре 26.

Одновременно блок управления выдает на выход 36 сигнал, открывающий группы 15, .17 и 18 элементов И. По этому же сигналу в регистр 2 адреса записывается адрес свободной ячейки памяти с регистра 28 адреса, в разряды поля 4 ключа регистра информации передается ключ с регистра

9 ключа, в разряды поля 5 данных регистра информации загружаются данчые из регистра 24 данных, а разряды поля 6 ссылки регистра информации сбрасываются в нуль. Тот же импульс, появляющийся с задержкой на выходе 42 блока 29 управления, записывает сформированную на регистре

3 информации запись в блок 7 памяти.

Начиная с второго импульса выполняются те же действия, что и в режиме поиска, т.е ° осуществляется поиск записи, имеющей заданный в регистре

9 ключ. Дальнейшая работа в зависимости от результата поиска может происходить двумя путями.

В таблице уже существует запись с заданным ключом, В этом случае вы51 и признак по выходу 53. Новая запись в область данных не включается, и генератор 11 останавливается.

В таблице отсутствует запись с заданным ключом. В этом случае появление сигнала на выходе 31 блока управления вызывает следующие действия.

В отличие от режима поиска сигнал останова по выходу 40 не выдается блоком управления. Следующий импульс передается блоком управления на внход 38, в результате чего содержимое второго регистра 28 адреса (адрес новой записи) записывается черЕз

5 145 элементы И группы 19 в разряды поля

6 ссылки регистра информации. Следующий импульс, выдаваемый на выходы

40 и 41 блока управления, останавливает генератор 11 и является признаком конца операции включения, который передается на выход 52 устройства. Этот же импульс с задержкой поступает с выхода 42 блока управле- 1 ния и записывает содержимое регистра

3 информации в блок 7 памяти. Таким

I о бра зом, в поле ссылки обновленной записи будет содержаться адрес вклю. чаемой записи, продолжая цепочку записей имеющих одинаковую хешфункцию.

Операция определения адреса входа в хештаблицу выполняется как в режиме поиска, так и в режиме включения.

Базовый адрес хештаблицы БА (фиг. 6) установлен в регистре 27 базы, а в регистр 9 ключа занесен ключ. В режиме поиска первый импульс, выдаваемый блоком управления, вызывает сложение содержимого регистра 27 базы с выходом блока 25, представляющим собой значение хешфункции ключа, на ходящегося в регистре 9 ключа. В выбранном примере блок 25 выполняет сложение по модулю два двух байтов слова ключа, содержащегося в регистре 9 (16 разрядов). Результат выполнения этой логической операции (8 разрядов) складывается в сумматоре 26 с базовым адресом 0010,6 хештаблицы, хранящимся в регистре 27 базы, Следовательно, значение хешфункции может изменяться в диапазоне от 00, до FF u хештаблица имеет соответственно 256 элементов, расположенных в блоке 7 памяти, начиная с адреса 0010 включая адрес 010F, . Ha выходе сумматора 26 формируется адрес элемента хештабли; цы, с которого начинается поиск.

Представленный пример раскрывает лишь одну из последовательностей нулей и единиц в ключе и показывает назначение выполнения операции сложения по модулю два и как этот рЕзультат используется при работе устройства.

Исходное состояние блока управления устанавливается по сигналу на входе 34, а в регистр 54 записывается код 1000. Триггер 55 этим же сигналом переводится в единичное состояние. Режим работы устройства устанавливается подачей сигнала на вход 32 блока управления, устанавли1725 6 вающий триггер 56 в единичное состояние (режим включения), или на вход

33, устанавливающий триггер 56 в нулевое состояние (режим поиска).

После запуска устройства тактовые импульсы поступают на вход 30 блока управления, Дальнейшая работа блока

29 управления в зависимости от установленного режима может происходить двумя путями.

Режим поиска.

Первый импульс тактовой последовательности проходит через элементы

5 И 66 и 62 на выход 35. Элемент И 70 закрыт. Этот же импульс, проходя через элемент 57 задержки, сдвигает содержимое регистра 54 на один разряд. Второй импульс проходит через

20 элементы И 66 и 63 на выход 37 и поступает на нулевой вход триггера

55, устанавливая его в нулевое состояние. После этого происходит сдвиг единицы в третий разряд регистра 54. Третий и последующие импульсы проходят через элемент И 67 на выход 39. Если на входе 31 появился сигнал, означающий, что в поле ссыл ки прочитанной записи содержится

Зр нуль, то он передается через эле-, мент И 68 и элемент ИЛИ 60 на выходы

40 и 4 1. С выхода 40 импульс поступает на вход генератора 11 и останавливает его, а с выхода 41 он передается на признаковый выход 52 устроиства.

Режим включения.

Первый импульс аналогично режиму поиска передается на выход 35. Кроме

4р того, он проходит через элемент

И 70 на выход 36 и через элемент

58 задержки на выход 42, с которого импульс поступает на вхер; записи блока 7 памяти и второй синхрони45 зирующий вход регистра. 3 информации.

Второй, третий и последующие импульсы проходят через блок управления аналогично режиму поиска. После чтения из блока памяти записи с

5р нулевой ccbUIKGH появляется сигнал на входе 31, который передается через элементы И 69 и ИЛИ 59 на единичный вход триггера 55, переведя его в единичное состояние. После установки триггера 55 в единичное состояние импульс тактовой последовательности бупет передаваться через элемент

57 задержки, сдвигать содержимое регистра 54 на один разряд. Следую725

7 1451 щий импульс проходит через элементы

И 66 и 65 и элемент ИЛИ 60 на выходы

40 и 41, а через элементы И 66 и 65, элемент ИЛИ 61 и элемент 58 задерж"

5 ки — на выход 42. формула изобретения

1. Устройство для поиска информа- 10 ции, содержащее группу элементов ИЛИ, первый регистр адреса, регистр информации, блок памяти, дешифратор, регистр ключа, узел сравнения, генератор тактовых импульсов, элемент за- 15 держки, элемент ИЛИ, три группы элементов И и первый элемент И, причем вход запуска устройства соединен с входом запуска генератора тактовых импульсов, вход останова которого 20 соединен -с выходом элемента ИЛИ, выходы элементов И первой и второй. групп соединены соответственно с первыми и вторыми входами элементов

ИЛИ группы, выходы которых соединены с входом первого регистра адреса, выход которого соединен-с адресным входом блока памяти, вход признака поиска устройства является входом регистра ключа, выход которого под- З0 ключен к первому входу узла сравнения, второй вход которого соединен с выходами разрядов поля ключа регистра информации, выходы разрядов поля данных которого соединены с первыми входами элементов И третьей группы, вторые входы которых и первый вход элемента ИЛИ соединены с выходом первого элемента И, первый вход которого подключен к выходу равенства узла сравнения, выход элементы задержки соединен с вторым входом первого элемента И и с первыми входами элементов И первой группы, вторые входы которых подклю- 45 чены к выходам разрядов поля ссыпки регистра информации, выходы элементов И третьей группы являются выходом данных устройства, о т л ич а ю щ е е с я тем, что, с целью 50 повышения производительности за счет динамического включения и ввода данных в реальном времени работы, в него введены регистр данных, блок сложения по модулю два, сумматоР, 55 регистр базы, второй регистр адреса, блок управления, четыре группы элементов И, два элемента И, причем вход данных устройства подключен к входу регистра данных, выход которого соединен с первыми входами элементов И четвертой группы, выходы которых соединены с входами разрядов поля данных регистра информации соответственно, информационные вход и выход которого соединены с инАормационными выходом и входом блока памяти, соответственно, выход регистра ключа соединен с первыми входами элементов И пятой группы и с выходом блока сложения по модулю два, выход которого подключен к входу первого слагаемого сумматора, вход второго слагаемого которого соединен с выходом регистра базы, вход которого является первым адресным входом устройства, управляющий вход сумматора соединен с первым выходом блока управления, синхронизирующий вход которого подключен к выходу генератора тактовых импульсов, второй адресный вход устройства подключен к входу второго регистра адреса, выход которого соединен с первыми вхоами элементов И второй и шестой групп, выходы элементов И шестой группы соединены с входами разрядов поля ссылки регистра информации соответственно, входы разрядов поля ключа которого соединены с выходами элементов И пятой группы соответственно, второй выход блока управления соединен с вторыми входами элементов

И второй, четвертой, пятой групп и с входом установки в "Он разрядов поля ссылки регистра информации, третий выход блока управления соединен с первыми входами элементов И седьмой группы, выходы которых соединены с третьими входами элементов ИЛИ группы соответственно, вторые входы элементов И шестой группы соединены с четвертым выходом блока управления, пятый выход которого подключен к входу элемента задержки, к входу чтения блока памяти и к первому синхронизирующему входу регистра информации, выходы разрядов поля ссылки которого соединены с входом дешифратора, выход которого соединен с инвертирующим входом второго элемента И и с первым входом третьего элемента И, выход которого соединен с входом признака поля ссылки блока управления, шестой вход которого подключен к второму входу элемента ИЛИ, установочные входы режи1451725 мов включения и поиска соединены соответственно с входами включения и поиска блока управления, установочный вход которого соединен с входом установки устройства, выход неравенства узла сравнения соединен с вторым входом второго элемента И, выход которого соединен с третьими входами элементов И первой группы, явыход сумматора соединен с вторыми входами элементов И седьмой группы, седьмой выход блока управления соединен с выходом окончания операции включения устройства, признаковый выход устI ройства соединен с выходом первого элемента И, второй вход третьего элемента И соединен с выходом элемента задержки, восьмой выход блока управления соединен с входом записи блока памяти и с вторым синхронизирующим входом регистра информации.

2. Устройство по п. 1, о т л ич а ю щ е е с я тем, что блок управления содержит регистр сдвига, два триггера, два элемента задержки, три элемента ИЛИ и девять элементов

И, причем синхронизирующий вход блока соединен с первыми входами первого и второго элементов И, вторые входы которых подключены к единичному и нулевому выходам первого триггера соответственно, единичный вход которого соединен с выходом первого элемента ИЛИ, первый вход которого соединен с выходом третьего элемента И, установочный вход блока соединен с вторым входом первого элемента ИЛИ и с установочным входом регистра сдвига, вход сдвига которого соединен с выходом первого элемента

Регисщо МР задержки, выход первого элемента И соединен с входом первого элемента задержки и с первыми входами четвертого, пятого, шестого и седьмого элементов И, вторые входы которых соединены с выходами первого, второго, третьего и четвертого разрядов регистра сдвига соответственно, вы10 ход четвертого элемента И соединен с первым входом восьмого элемента И и с первым выходом блока, выход восьмого элемента И соединен с первым входом второго элемента ИЛИ и с вто1I5 рым выходом блока, выход пятого элемента И соединен с третьим выходом блока и с нулевым входом первого триггера, выход второго элемента ИЛИ через второй элемент задержки соеди20 нен с восьмым выходом блока, выход шестого элемента И является четвертым выходом блока, выход седьмого элемента И соединен с вторым входом второго элемента ИЛИ и с первым

2 входом третьего элемента ИЛИ, вы ход которого является первым и седьмым выходами блока, единичный и нулевой входы второго триггера являются входами включения и поиска

30 блока соответственно, единичный выход второго триггера соединен с вторым входом восьмого элемента И и с первым входом третьего элемента И, нулевой выход второго триггера подЗ5 ключен к первому входу девятого элемента И, выход которого соединен с вторым входом третьего элемента ИЛИ, вход признака поля ссылки блока соединен с вторыми входами третьего и

10 девятого элементов И, выход второго элемента И является пятым выходом блока.

1451725 йФФ

ВыаО дылда

ЖмЮzi/а

Йюд 6/У

ЬгмУЯ

1451725

11 I Ф

Выход длока О

1(5t41I 3 1! 3 1IÝÔ

Сумматор N

8ыхо8 сумкапюра 26 (андрес 3яа8а Ю хаишадлицу)

Составитель А. Жеренов

Редактор А. Лежнина Техред A. KpaB yK Корректор Л.Патай

Заказ 7082/48 Тираж 667 Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР, 113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно — полиграфическое предприятие, г. Ужгород, ул. Проектная, 4

Устройство для поиска информации Устройство для поиска информации Устройство для поиска информации Устройство для поиска информации Устройство для поиска информации Устройство для поиска информации Устройство для поиска информации Устройство для поиска информации Устройство для поиска информации 

 

Похожие патенты:

Изобретение относится к автоматике и-вычислительной технике и может быть использовано в системах обработки информации

Изобретение относится к вычислительной технике и может быть использрвано в информационно-поисковых системах

Изобретение относится к вычислительной технике и может использоваться для управления данными в автоматизированных системах управления водоснабжением

Изобретение относится к вычислительной технике и может использоваться в автоматизированных информационно-справочных системах

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных и информационно-поисковых системах, выполненных на узлах с большой степенью интеграции

Изобретение относится к вычислительной технике и может быть использовано в ин4)Ормационно-присковых системах

Изобретение относится к вычислительной технике и может быть использовано в системах управления базами данных

Изобретение относится к вычислительной технике

Изобретение относится к автоматике и вычислительной технике и может быть использовано в информационнопоисковых системах на микрофильме

Изобретение относится к электросвязи и может быть использовано для поиска информации и идентификации применяемых в цифровых системах связи кадров коммуникационных протоколов, относящихся к подмножеству процедур HDLC

Изобретение относится к вычислительной технике и может быть использовано в системе управления базами данных

Изобретение относится к вычислительным средствам специального назначения и предназначено для использования в автоматизированных системах информации о движении транспорта, преимущественно о движении железнодорожного транспорта

Изобретение относится к цифровой интеграционной системе для интеграции диагностических аппаратов формирования изображений и обработки данных в компьютерные системы, при помощи которой можно производить принятие и передачу видеоданных, аудиоданных и текстовых данных и печатать, архивировать и анализировать эти данные

Изобретение относится к способу установления адреса объекта по поисковому тематическому признаку

Изобретение относится к электросвязи и может быть использовано для поиска информации и идентификации применяемого в цифровых системах связи коммуникационного протокола DDCMP

Изобретение относится к области вычислительной техники и может быть использовано в качестве устройства для поиска детерминированных комбинаций в информационном массиве

Изобретение относится к области вычислительной техники и может быть использовано в качестве устройства для поиска участков информации, имеющих заданный закон распределения

Изобретение относится к электросвязи и может быть использовано для поиска информации, идентификации и контроля корректности применяемого в цифровых системах связи коммуникационного протокола

Изобретение относится к автоматизированным информационным системам и может найти применение в качестве средств хранения и обмена информацией в различных сферах человеческой деятельности
Наверх