Устройство управления буферной памятью

 

Изобретение относится к вычислительной технике и обеспечивает при передаче пакетов данных между двумя устройствами через буферную память фильтрацию пакетов данных, длина которых меньше требуемого значения, на уровне буферной памяти. Устройство управления буферной памятью содержит Формирователь адреса ппси формирователь адреса счи ывашы, блок сравнения и блок коррекции адреса. В процессе ввода пакета данных в буферную память блок коррекции адреса ведет подсчет слов данных, записанных в буферную память , начиная от начала пакета данных. Если число слов пакета данных меньше требуемого значения, пакет данных в буферной памяти уничтожается (фильтруется) путем уменьшения значения адреса формирователя адоеса записи на число введенных слов пакета данных. Считывание этого пакета данных из буферной памяти не осущесг вляется. 2 з.п. ф-лы, 7 ил,

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСГ1УБЛИК

«SU, 1778758 А1 (sI)s 6 06 F 12 08

ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ

ВЕДОМСТВО СССР (ГОСПАТЕ)-IT CCi Р) ОПИСАНИЕ ИЗОБРЕТЕНИ

K АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4858815/24 (22) 13.08.90 (46) 30.11.92. Бюл. № 44 (71) Н ауч но-исследовател ьский институт средств вычислительной техники (72) А.Н. Тетенькин (56) Т. Мотоока и др. Компьютеры на СБИС.

Книга 2, M.: Мир, 1988, с. 321 — 323.

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

¹ 1401471, кл. 6 06 F 13/00 1987. (54) УСТРОЙСТВО УПРАВЛЕНИЯ БУФЕРНОЙ ПАУЯТЫО (57) Изобретение относится к вычислительной технике и обеспечивает при передаче пакетов данных между двумя устройствами через буферную память фильтрацию пакетов данных, длина которых меньше требуеИзобретен 1е относится к области ВТ и может быть использовано в устройстве управления буферной памятью при обмене информацией между двумя устройствами, Известно построение контроллера, содержащего память с произвольной выборкой, регистр сдвига, формирователь контрольного циклического кода, последовательно-параллельный преобразователь, приемопередатчик, логику управления и т,д, Память с произвольным доступом контроллера логически разделена на несколько буферов, в каждый из которых может быть помещен пакез данных либо предназначенный для перецачи через приемопередатчик в сеть передачи данных, либо принятый через приемопередатчик из сети, Так как данный контроллер не обладает функцией анализа адрес» пакета данных, то в память мого значения, на уровне буферной памяти.

Устройство управления буферной памятью содержит формирователь адреса з=.писи, формирователь адреса считывания, блок сравнения и блок коррекц,и адреса. В процессе ввода пакета данных в буферную память блок коррекции адреса ведет подсчет слов данных, записанных в буферную память, начиная от начала пакета данных. Если число слов пакета даннь:х меньше требуемого зна,ения. пакет данных в буферной памяти уничтожается (фильтруется) путем уменьшения значения адреса формирователя адреса записи на число введенных слов пакета данных. Считывание этого пакета данных из буферной памяти не осущест вляется, 2 з,п. ф-лы, 7 ил, с произвольной выборкой из сети передачи данных вводятся все принимаемые пакеты данных N процессор системы, анализируя адресную часть пакета данных, отбрасывает пакеты не имеющие нужного адреса. Эти постоянные отвлечения процессора на фильтрацию пакетов данных снижают производительность системы и являются недостатком данного контроллера.

Известно построение контроллера, содержащего котроллер канала передачи данных, буфер F(F0 приема, буфер Г! РО передачи, регистры контроллера канала передачи данных и т.д. Новый контроллер канала передачи данных обеспечивает в процессе приема кадра данных анализ и отбрасывание 64-бит начального поля (преамбулы) пакета данных, циклический контроль по избыточному коду, последова1

1 4

ОО

I Q.

1О(Р

1778758

20

50

55 тельно-параллельное преобразование данных, распознавание адресов. После опознания собственного адреса в преамбуле данные пакета данных без преамбулы передаются из контроллера канала передачи данных в буфер FIFO приема, а затем в основную память системы. Таким образом фильтрация поступающих из сети пакетов данных, не имеющих нужного адреса, осуществляется на уровне контроллера канала передачи данных и процессор системы не отвлекается для выполнения этой процедуры. Недостатком данного контроллера является то, что пакет данных копируется в буфер FIFO приема, а затем — в основную память системы без преамбулы, В некоторых протоколах передачи данных она содержит сведения, необходимые процессору системы для обработки пакета данных, Наиболее близким по функциональному назначению к предлагаемому изобретению является устройство для сопряжения источника и приемника информации, содержащее блок памяти, входной информацион-. ный регистр. выходной информационный регистр, .счетчик записи, счетчик считывания, реверсивный счетчик, дешифратор нуля, дешифратор заполнения, группу элементов И, группу элементов ИЛИ, распределитель импульсов, группу элементов задержки. Данное устройство осуществляет ввод данных в блок памяти и вывод данных из него в режиме FIFO ("первый вошел— первый вышел") и может быть использовано в качестве буферной памяти для обмена информацией между двумя разноскоростными устройствами. Недостатком устройства управления буферной памяти данного устройства является то, что она не позволяет осуществлять коррекцию текущего адреса записи в блок памяти с целью предотвращения считывания приемником информации из блока памяти избыточных данных (например, преамбул пакетов данных, не имеющих нужного адреса).

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

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

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

Формирователь адреса считывания содержит двоичный счетчик, причем вход счета и выход счетчика являются соответственно входом и выходом формирователя адреса.

1778758

50

Блок сравнения содержит дешифратор признаков, причем входы и выходдешифратора признаков являются соответственно входами выходами блока сравнения. Дешифратор признаков представляет собой

ППЗУ, комбинация сигналов на выходах которого определяется комбинацией сигналов на его входах и внутренним содержимым ППЗУ.

Блок коррекции адреса содержит триггер, элемент И, элемент ИЛИ, счетчик и дешифратор, причем вход синхронизации триггера и вход счета счетчика соединены с входом разрешения работы блока коррекции адреса, информационный входтриггера и первый вход элемента ИЛИ соединены с информационным входом блока коррекции адреса, выход триггера соединен с вторым входом элемента ИЛИ, выход которого соединен .с входом сброса счетчика и первым входом элемента И, выход счетчика является информационным выходом блока коррекции адреса и входом дешифратора, выход которого соединен с входом разрешения счета счетчика и вторым входом элемента И, выход которого является выходом признака начала кадра блока коррекции адреса.

Сущность предлагаемого изобретения состоит в том, что оно позволяет осуществлять фильтрацию вводимых в буферную память пакетов данных, имеющих длину меньше некоторого требуемого значения, путем коррекции адреса записи, В процессе ввода пакета в буферную память формирователь адреса записи, после ввода очередного слова данных, увеличивает значение адреса записи. Одновременно блок коррекции адреса подсчитывает число введенных слов пакета данных до тех пор, пока длина пакета данных не станет больше требуемого значения, после чего подсчет числа введенных слов пакета данных прекращается, После ввода последнего слова пакета данных формирователь адреса записи либо увеличивает значение адреса записи, если длина пакета данных больше требуемого значения (пакет данных принимается), либо уменьшает значение адреса записи на число введенных слов пакета данных, если длина пакета меньше требуемого значения (пакет данных уничтожается), B процессе ввода начала пакета данных, пока блок коррекции адреса ведет подсчет числа введенных слов, блок сравнения не формирует признак наличия данных в блоке памяти, если число находящихся в нем данных не превышает требуемого значения. После ввода начала пакета данных блок сравнения формирует признак наличия данных в блоке памяти, если значение адреса записи не

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

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

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

Введение блока коррекции адреса в устройство управления буферной памяти, работающей по принципу FIFO, по сравнению с устройством управления буферной памятью по à.c. ¹ 1401471, кл. 6 06 F 13/00, 1987, позволяет расширить функциональные возможности буферной памяти функцией фильтрации пакетов данных, имеющих длину меньше требуемого значения, путем коррекции адреса записи.

Таким образом, введение блока коррекции адреса в устройство управления буферной памяти, работающей по принципу FIFO, расширяет функциональные возможности устройства управления буферной памяти, что соответствует критерию "существенные отличия", На фиг. 1 представлена структурная схема буферной памяти; на фиг. 2 — функциональная схема формирователя адреса записи; на фиг. 3 — функциональная схема формирователя адреса считывания; на фиг.

4 — функциональная схема блока сравнения; на фиг. 5 — функциональная схема блока коррекции адреса: на фиг. 6 — временная диаграмма работы устройства управления буферной памятью при вводе пакета данных; на фиг. 7 — временная диаграмма рабо1778758

25

50 ты устройства управления буферной памятью в процессе фильтрации пакета данныхх.

Буферная память содержит (см. фиг. 1) блок памяти 1, формирователь адреса записи 2, формирователь адреса считывания 3, блок сравнения 4, блок коррекции адреса 5, информационный вход 6, информационный выход 7, вход 8 записи,.вход 9 считывания, вход 10 управления вводом данных, выход

11 адреса записи, выход 12 адреса считывания, выход 13 коррекции адреса записи, выход 14 признака начала пакета данных, выход 15 гризнака наличия данных в блоке памяти, выход 16 признака заполнения буферной памяти до максимума.

Формирователь адреса записи 2 обеспечивает генерацию адреса записи в процессе ввода данных в блок памяти 1.

Формирователь адреса записи содержит (см, фиг. 2) дешифратор адреса коррекции

17, регистр 18, вход 8 разрешения выдачи адреса, вход 10 разрешения ввода адреса, вход 13 коррекции адреса записи, выход 11 адреса записи, Дешифратор адреса коррекции 17 является элементом ППЗУ, и комбинации сигналов, формируемые на его выходе, связаны с комбинациями сигналов на его входах следующими выражениями:

6=8+1, (1) если с+ с (b = Х) (2) принимает значение "истина";

d-а — Ь. (3) если с (Ь < X) (4) принимает значение "истина";

d= a, (5) если выражения (2) и (4) принимают значения "ложь", где а — значение кода на выходе 11;

Ь вЂ” значение кода на входе 13: с — логическое значение сигнала на входе 10;

d — значение кода на выходе дешифратора 17;

Х- значение константы запрета коррекции адреса записи, Формирователь адреса считывания 3 обеспечивает генерацию адреса считывания в процессе вывода данных из блока памяти 1 и содержит (см, фиг, 3) двоичный счетчик, вход 9 счета, выход 12 адреса считывания.

Блок сравнения 4 предназначен для формирования признака наличия данных в блоке памяти I и признака заполнения блока памяти 1 данными до максимума, Блок сравнения 4 содержит (см. фиг. 4) дешифратор признаков 19, вход 11 адреса записи, вход 12 адреса считывания, вход 14 признака начала пакета данных. выход 15 признака наличия данных в блоке памяти 1, выход 16 признака заполнения блока памяти 1 данными до максимума, Дешифратор признаков 19 является элементом ППЗУ, и значения сигналов на выходах 15, 16 ППЗУ определяются комбинациями сигналов на его входах. Сигнал "1" на выходе 15 формируется тогда, когда выражение

f(a > (в + Х)) + f (а = е) (6) принимает значение "истина", где а — значение кода на входе 11, е — значение кода на входе 12;

f — логическое значение признака на входе 14;

Х вЂ” значение константы запрета коррекции адреса записи.

Сигнал "1" на выходе 16 формируется тогда, когда имеет место соотношение а=- е — 1 (7).

Блок коррекции адреса 5 предназначен для формирования кода коррекции при вводе в блок памяти 1 пакета данных, имеющеro длину меньше требуемого значения. Блок коррекции адреса 5 содержит (см. фиг. 5) триггер 20, элемент ИЛИ 21, счетчик 22, дешифратор 23, элемент И 24. вход 8 разрешения работы, вход 10 управления вводом данных, выход 13 коррекции адреса записи, выход 14 признака начала пакета данных.

Устройство работает следующим образом, В исходном состоянии на входе 10 присутствует сигнал "0", блок памяти 1 не содержит данных для считывания, значение адреса на выходе 11 формирователя адреса записи 2 равно значению адреса на выходе

12 формирователя адреса считывания, на выходах 15, 16 блока сравнения формируются сигналы "О", триггер 20 блока коррекции адреса 5 имеет состояние "О", код коррекции адреса на выходе 13 имеет значение "О", на выходе 14 формируется сигнал "О", Данные для записи в блок памяти 1 поступают по входам 6 и сопровождаются сигналом "О" по входу 8 записи. Считывание данных из блока памяти 1 осуществляется по входу 9 считывания, при этом данные поступают на выходы 7, Ввод данных в блок памяти 1 (см. фиг, 6) управляется сигналом "1" на входе 10, при этом на выходе элемента ИЛИ 21 и выходе

14 блока коррекции адреса 5 формируются сигналы "1". В процессе ввода данных, после окончания очередного сигнала записи на входе 8, значение кода адреса на выходах

11 формирователя адреса записи 2 увеличивается в соответствии с выражением (1). Одновременно в диапазоне "0" — "X" увеличиваются состояние счетчика 22 и значение кода коррекции адреса на выходе 13

1778758

50 блока коррекции адреса 5. Когда состояние счетчика 22 достигнет значения "X", дальнейшее увеличение его состояния блокируется сигналом "0" с выхода дешифратора 23 до конца ввода в блок памяти 1 текущего пакета данных, при этом на выходе 13 блока коррекции адреса фиксируется значение константы запрета коррекции адреса — "X", а на выходе 14 блока коррекции адреса формируется сигнал "0", При наличии сигнала

"1" на входе 14 блока сравнения 4 (число введенных слов пакета данных меньше значения константы — "Х"), если значение адреса записи на входе 11 не превышает значение адреса считывания на входе 12 на величину константы "Х", выражение (6) имеет значение "ложь", при этом на выходе 15 блока сравнения 4 формируется сигнал "0" (нет данных в блоке памяти 1), но, если в блоке памяти 1 находятся несчитанные данные предыдущего пакета данных, выражение (6) имеет значение "истина", то нэ выходе 15 формируется сигнал "1 "(есть данные в блоке памяти 1). При наличии сигнала

"0" на входе 14 блока сравнения выражение (6) имеет значение "истина" тогда, когда значение адреса считывания на входе 11 блока сравнения не равно значению адреса записи на входе 12, при этом на выходе 15 формируется сигнал "1". В процессе считывания данных из блока памяти 1, после окончания очередного сигнала счл. ывания на входе 9 формирователя адреса считывания 3, значение адреса считывания на выходе 12 увеличивается. Ввод в блок памяти.1 последнего слова текущего пакета данных осуществляется при наличии на входе 10 сигнала "0", при этом формирователь адреса записи 2 либо осуществляет уничтожение (фильтрацию) текущего пакета данных (см, фиг. 7) в блоке памяти 1 путем уменьшения значения адреса на выходе 11 в соответствии с выражением (3), если значение кода коррекции адреса на входе 13 не равно значению "Х" (выражение (4) имеет значение "истина"), либо увеличивает значение адреса на выходе

11 в соответствии с выражением (1), После, окончания записи последнего слова пакета данных триггер 20 и счетчик 22 устанавливаются в состояние "0". Если в процессе ввода данных блок памяти 1 заполняется до максимума (значения адреса на входах 11 и

12 блока сравнения 4 удовлетворяют соотношению(7)), на выходе 16 блока сравнения

4 формируется сигнал "1".

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

40 ющей по принципу Р!ГО, функцией фильтрации пакетов данных. длина которых меньше требуемого значения

Формула изобретения

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

3. Устройство по п.1, о т л и ч а ю щ е ес я тем, что блок коррекции адреса содер1778758 жит.триггера, элемент И, элемент ИЛИ, счетчик и дешифратор, причем вход синхронизации триггера и счетный вход счетчика соединены входом разрешения работы блока коррекции адреса, информационный вход триггера и первый вход элемента ИЛИ соединены с информационным входом блока коррекции адреса, выход триггера соединен с вторым входом элемента ИЛИ, выход которого соединен с входом сброса счетчика и первым входом элемента И, выход счетчика является информационным выходом блока коррекции адреса и соединен с вхо5 дом дешифратора, выход которого соединен с входом разрешения счета счетчика и вторым входом элемента И, выход которого является выходом признака начала пакета данных блока коррекции адреса.

1778758

1778758

Н вЂ”вЂ”

I Н вЂ”вЂ” — Il е=0

Составитель A,Tåòåìüêèí

Техред МЛоргентал Корректор Н,Кешеля

Редактор А.Бер

Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина, 101

Заказ 4194 Тираж Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., 4/5

Устройство управления буферной памятью Устройство управления буферной памятью Устройство управления буферной памятью Устройство управления буферной памятью Устройство управления буферной памятью Устройство управления буферной памятью Устройство управления буферной памятью Устройство управления буферной памятью 

 

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

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к системам обработки данных

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

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