Устройство для обращения двух процессоров к общему блоку памяти

Иллюстрации

Показать все

Реферат

 

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

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

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

РЕСПУБЛИК (19) (11) (s1)s G 06 F 13/00.

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

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ адреса. 2 ил.

1 (21) 4840025 24 (22) 18.06;90, (46) 30.12.92. Бюл. М 48 (71) Научйо-производственное объединение

"Агат" ., P2) Д.И.Клейнер. АЛ ..Кицис и В.И.Латышев (56) Авторское свидетельство СССР

hL 1241.246; кл. 6 06 F 13/00, 1984.

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

М 1444794, кл, G 06 F 13/00, 1987. (54) УСТРОЙСТВО ДЛЯ ОБРАЩЕНИЯ ДВУХ

ПРОЦЕССОР08 К ОБЩЕМУ БЛОКУ ПАМЯ-

ТИ, \

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

Известны устройства для еопряжения процессоров.c общим. блоком памяти, содержащее четйре триггера, генератор импульсов и элементы И, Эти устройства . обеспечивают обслуживание асинхронно поступающих от первого и второго процессоров запросов на обращение к общему бло. ку памяти по очередности поступления без назначения приоритета одному из процессоров. При совпадении во времейи запросов от двух процессоров устройства обеспечивают их последовательно обращение к общей памяти на время одного цикла записи или чтения, Наиболее близким к изобретению по технической сущности и достигаемому ре.зультату является устройство для сопряжения двух процессоров с общей памятью, которое содержит два дешифратора адреса, 2 (57) Изобретение относится к области вычислительной техники и может быть использовано при построении многопроцессорных систем с асинхронным обращением нескольких йроцессоров к общей памяти.

Целью изобретейия является расширение области использования. Устройство содержит с первого по десятый триггеры, с первого по шестой элементы И-НЕ, двухфазный генератор импульсов, первый и второй элементы И, первый и второй дешифраторы м два дешифратара сегмента, два регистра номера массива, два: коммутатора, четыре приемопередатчйка; шифратор, мульти- р плексор. генератор импульсов,"восемь тритгерое, шесть элементов Й,„:. ф„р элемента

И-НЕ, пять элементов HE.;àëåìåíò ИЛИ.

При совпадении во времени запросов от двух процессоров устройство обеспечивает

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

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

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

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

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

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

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

И-НЕ, прйчем прямые выходы пятого и шестого триггеров соединены соответственно со входами данййх третьего и четвертого триггеров и с первыми входами третьего и четвертого. элементов И-НЕ, вторые входы

ЗО которых соединены соответственно с первой и второй шинами запроса устройства и первыми входами первого, второго и йятого, шестого элементов И-НЕ, вторые входы которых соединены соответственно с первым и вторым выходами генератора импульсов и прямыми выходами седьмого и восьмого триггеров, установочные входы которых соединены.соответственно с первой и второй шинами установки исходного состояния ус40 тройства, а инверсные выходы которых соединены соответственно с третьими входами второго и первого элементов И-НЕ, четвертые входы которых соединены соответст-, венно с инверсными выходами пятого и шестого триггеров и с первой и второй ши45 нами запрета доступа устройства, синхровходы пятого и шестого триггеров, объединенные со входами сброса соответственно третьего и четвертого триггеров, соединены с первой и второй шинами синхронизации обмена устройства соответственно, синхровходы третьего и четвертого триггеров соединены .. соответственно с первой и "второй тактовыми шинами устройства, входы данных пятого и шестого триггеров соединены с шиной нулевого потенциала устройства, выходы третьего и четвертого элементов И-НЕ соединены соответственно с синхровходами седьмого и восьмого триггеров, входы даннйх которых

20 устройства. выходы первого и второго эле1784986 соединены соответственно с прямыми выходами девятого и десятого триггеров, входы данных, синхровходы и входы сброса которых соединены соответственно с разрядом первой и второй шин адреса устройст- 5 ва, выходами первого и второго элементов

И, выходами пятого и шестого элементов

И-НЕ.

Совокупность в устройстве известных элементов с вновь введенными двумя триг- 10 герами, четырьмя элементами И-НЕ с указанными связями при организации работы двух процессоров на общий блок памяти со стандартной совмещенной магистралью адрес/данные (типа МПИ) позволяет каждому 15 из процессоров "захватить" общий блок па- мяти не на одно, а на два последовательных обращения, что обеспечивает надежную работу при обмене массивами информации с асинхронным поступлением запросов на 20 обращение к памяти от обеих процессоров, т.е, расширить область использования устройства.

На фиг. 1 приведена схема устройства; нэ фиг. 2 — схема использования устройства 25 совместно с двумя процессорами, Устройство для обращения двух процес- . соров к общему блоку памяти (фиг. 1) содержит триггеры 1, 2, элементы И-НЕ 3, 4, генератор импульсов 5, триггеры 6 — 9, эле- 30 менты И-НЕ 10, 11, триггеры 12, 13, элементы И 14, 15, триггеры 16, 17, дешифраторы .18, 19, элементы И-I-tE 20, 21.

На фиг. 2 приведены устройство 22 для обращения двух процессоров 23 и 24 к об- 35 щему блоку- памяти 25; мультиплексор 26, регистр адреса 27, элемент ИЛИ 38. Первый и второй процессоры 23, 24 содержат соответсТвенно процессорный элемент 28, 29, элементы НЕ 30, 31, элементы ИЛИ 32, 33 и 40

ИЛИ 34, 35, шинные формирователи 36, 37.

8 качестве процессорных элементов 28, 29 можно использовать однокристальные микропроцессоры Н1806 ВМ2 (бКО, 347,456

ТУ) с системной магистралью МПИ., 45

Блок памяти 25 может быть выполнен на микросхемах 537 РУ9А, шинные формиро. ватели 36, 37 — на микросхемах 530 АП2, мультиплексор 26 — на основе микросхем

533 КП11. 50

Устройство работает следующим образом. При включении питания процессорные: элементы 28, 29 формируют сигналы УСТ 1, УСТ 2, которые, поступая на соответствующие шины установки исходного состояния 55 устройства 22, устанавливают триггеры 8, 9 в состояние "0", так как на шинах запроса .ЗП1, ЗП2 устройства установлен "нулевой" потенциал, выходы И-НЕ 3, 4 находятся в состоянии "1".

Первый же сигнал синхронизации обмена 06М1, ОБМ2, поступивший соответственно по первой или второй шикам синхронизации устройства 22, установит в состояние "0" триггеры 1, 2 и 6, 7 соответственно. Установкой потенциала "1" на шинах запрета доступа устройства 22 (сигналы

БД1, БД2) доступ процессоров 23, 24 к блоку памяти 25 блокирован. Устройство 22 обеспечивает каждому процессору 23, 24 два режима работы-с общим блоком памяти 25(независимо от режима работы другого процессора) — первый или.второй режим. При необходимости обмена массивами один из процессоров задает первый режим работы с устройством 22, благодаря чему организуется возможность

"захвата" этим процессором общей памяти

25 на два последовательных обращения. Во втором режиме устройство 22 обеспечивает процессорам 23, 24 "захват" магистрали общей памяти 25 только на одно обращение.

При этом, как в первом, так и во втором режимах осуществляется времейное разделение запросов на обращение к блоку общей памяти 25, Вид режима работы устройства определяется соответственно состоянием триггеров 12, 13, Для работы в первом режиме процессор ,(например, 23), выставляет на первой шине адреса АД1 устройства 22 адрес триггера

12, который представляет собой для процессора 23 однобитовый программнодоступный (по записи) регистр, подключенный к магистрали адрес/данные.

Дешифратор адреса 18 дешифрирует адрес, установленный на его входах, и выдает на выходе сигнал уровня "1", После этого на первую шину сийхронизации обмена устройства 22 процессор выдает сигнал

ОБМ1, который устанавливает триггер 16 в состояйие "1". Затем процессор 23 снимает с магистрали АД1 адрес и устанавливает на подключенном к 0-входу триггера 12 разряде магистрали АД1 потенциал "1". Вслед за этим процессор выставляет сигнал ДЗП1, который по первой шине записи данных через элемент И14 устанавливает триггер 12 в состояние "1", При необходимости синхронизации обмена массивами. второй процессор 24 аналогично первому формирует соответствующуто последовательность сигналов и устанавливает триггер 13 в состояние "1".

Выставленный первым процессором 23 сигнал запроса (ЗП1) по первой шине запроса устройства 22 позволяет импульсу частоTbI F1 двухфазного генератора импульсов 5 через элемент И-НЕ 3 установить триггер 1

1784986

25

7 в состояние "1". При установке потенциала

"О" на йервой шине запрета доступа (БД1) блокировка доступа к памяти-снимается и устройство 22 обеспечивает монопольное использование блока памяти 25 первым 5 процессором 23. Мультиплексор 26 при этом разрешает прохождение на,регистр адреса 27 и блок памяти 25 сигйалов управления с выходов процессора 23.

Элемент И-НЕ 4 будет при этом закрыт 10 . потейциалом с инверсного выхода триггера

1. Передний фронт тактового импульса ТИ1 процессорного элемента 28 по первой тактовой шине устройства 22 устанавливает триггер 2 в состояние "1", благодаря чему на первой шине разрешения обмена устройства 22 появляется сигнал Р01, уровень "О" которого позволяет процессору 23 продолжить процедуру обмена. Процессорный элемент 28 снимает сигнал запроса ЗП1 и одновременно выставляет на магистраль адрес/данные АД1 адрес, который по заднему фронту (переход от потенциала "1" к потенциалу "О") сигнала синхронизации обмена ОБМ1 фиксируется в адресном регистре 27; Этим же сигналом триггер 2 возвращается в исходное состояние."0". Ранее при снятии сигнала запроса ЗП1 первого процессора 23 (переход от потенциала

"1" к потенциалу "0") триггер 8 через элемент И-НЕ 20 установится в состояние " 1", йри этом с его инверсного выхода блокирующий уровень "О" поступит на четвертый вход элемента И-НЕ 4.

Если процессор 23 осуществляет процедуру чтения даннйх из блока памяти 25, он выставляет сигнал ДЧТ1, который через weмент HE 30 и элементы ИЛИ 32, 33 открывает шинный формирователь 36 для передачи информации от блока памяти 25 на шины 40 адрес/даннйе АД процессорного элемента

28. Этот же сигнал, поступая через мультиплексор 26 и элемент ИЛИ 38 на вход разрешения блока памяти 25, переводит его выходы из высокоимпедансного состояния 45 в акт ивное.

Если процессор 23 осуществляет процедуру записи данных в блок памяти 25, процессорный элемент 28 выставляет на шинах

АД информацию и затем формирует сигнал 50

ДЗП1, который через открытый мультиплексор 26 устанавливает потенциал "О" (режим записи) на управляющем входе блока памяти 25, Этот же сигнал через элемент ИЛИ 38 поступает на вход разрешения блока памя- 55 ти 25, По окончании процедуры обмена первого процессора 23 с блоком памяти 25 (конец первого обращения) уровень сигнала ОБМ1 изменяется с "О" на "1", и триггер 1 переходит в исходное состояние "О". При этом элемент И-НЕ 4 продолжает оставаться закрытым потенциалом "О" с инверсного выхода триггера 8. Поэтому при поступлении от второго процессора 24 сигнал запроса ЗП2 до окончания второго обращения первого процессора 23 к общему блоку памяти

25, второй процессор 24 доступ к блоку 25 не получит. Возможность такого доступа сохранится только для первого процессора 23.

При его втором обращении к блоку памяти 25 процессорный элемент 28 выставит сигнал ЗП1 уровня "1", который через открытый элемент И-HE 10 установит триггер . 12 в исходное состояние ".О", переводя устройство 22 во второй режим работы, Импульс частоты 1 двухфазного генера- тора импульсов 5 через элемент И-Н Е 3 устанавливает триггер 1 в состояние "1", разрешая доступ в блок памяти 25 первому процессору 23; По переднему фронту тактового импульса ТИ1 триггер 2 установится в состояние "1". Получив сигнал разрешения обмена Р01, процессорный элемент 28 снимает сигйал запроса ЗП1 и выставляет на магистрали адрес/данные адрес, а затем и сигнал синхронизации обмена ОБМ1, который вернет триггер 2 в исходное соетояние

"О". Т.к. триггеры 1 и 12 находятся соответственно в состоянии "1" и "О", то при снятии сигнала ЗП1 (переход от потенциала "1" к потенциалу "О") триггер 8 установится в исходное состояние "О". При завершении процедуры обращения к блоку 25 процессор 23 снимет сигнал ОБМ1 (переход от потенциала "0" к потенциалу "1") иустановиттриг- . гер 1 в исходное состояние "О". Тем самым, если к этому моменту времени был установлен сигнал запроса ЗП2 второго процессора

24., он получит доступ к общему блоку памяти 25. Первый же импульс частоты F2, сдвинутой на половину периода о носительно. частоты F1, установит триггер 6 в состояние

"1", закрывая тем самым элемент И-НЕ 3, а также доступ процессора 23 к блоку 25; При получении процессорным элементом 29 сигнала разрешения обмена РО2, он начинаег аналогично процессорному элементу 28 выполнять процедуру обмена с блоком памяти

25. При этом, в зависимости от состояния триггера 13 обмен будет выполняться либо в первом режиме (два последовательных обращения), либо во втором режиме (одно обращение).

При необходимости начать работу сразу со второго режима процессоры 23, 24 должны установить соответственно триггеры 12, .

13 аналогично описанному ранее в состояние "О". После этого пооцедура захвата.об1784986

10 щего блока памяти 25 будет осуществляться массив второму процессору. При этом втоаналогично изложенному выше с тем отли- рой процессор выполняет еще одно обращечием, что послезавершения обмена сбло- ние к общей памяти, например чтение ком 25 одного из процессоров другой произвольной ячейки памяти, необходимое получает возможность тут же выполнить 5 для сброса через открытый элемент И-НЕ 11. обращейие к общему блоку памяти 25, триггера 13 в.состояние "0". Указанная поТриггеры 8, 9 в этом режиме вследствие следовательностьдействий второго процесналичия на их D-входах потенциалов "0" бу- сора будет выполняться до тех пор, пока дут постоянно находиться в исходном состо-: квитанция не будет указывать на разрешеянии "0". 10 ние доступа к массиву, т .е. на завершение

В связи с тем, что процессоры незави- обновления информаций массива первым симо друг от друга задают свой режим раба- процессором, ты с устройством 22, возможны следующие Если первый процессор завершйл обслучаи . устройство работает одновременно новление массива, то анализ квйтанции при с обеими процессорами либо в первом, либо 15 первом обращении второго к общей памяти — во втором режиме; устройство работает с укажет йа разрешение дмтупа к массиву, В первым процессором в первом режиме, а с этом случае при снующем обращении втовторым процессором — во втором, либо, на- рой процессор установит квитанцию, запреоборот. Сочетание режимов может варьиро- щающую первому процессору доступ к ваться в зависимости от задач, решаемых 20 массиву. При этом же обращении триггер 13 конкретной управляющей системой, в кото- установится в состояние "0", переведя дальрую включено устройство 22, нейшую работу устройства 22 с вторым проНапример, пусть в общем блоке памяти цессором во второй режим. выделена определенная область под массив Представленный пример одной из возинформации, который подготавливается 25 можных организаций функционирования первым процессором и по мере его полйого заявляемого устройства в системе показыобновления обрабатывается вторым про- веет его способность работать независимо цессором. Перед обновлением массива ин- с каждым из процессоров в одном из опиформации первый процессор 23 санных ранее режимов. устанавливает триггер 12 в состояние " 1", 30 . Такимобразом,захватобщегоблокапазадавая тем самым первый режим работы мяти на два последовательных обращения устройства 22 с этим процессором. Со вто- независимо друг от друга каждым из двух рым.процессором 24 устройство 22 в это процессоров позволяет синхронизировать время работает, например, во втором режи- доступ процессоров к общему блоку памяти ме (триггер 13 — в состоянии "0"). Первый 35 при обмене массивами. процессор, обратившись к общему блоку памяти, "захватывает" магистраль общей па- Ф о р м у л а и з о б р е т е н и я мяти на два обращения. При первом из них Устройстводля обращения двух процесон анализирует квитанцию в "почтовом саров к общему блоку памяти, содержащее ящикесостояний" указанногомассиваипри 40 восемь триггеров, два элемента И-НЕ, два разрешении доступа в него устанавливает дешифратора адреса, два элемента И, генеквитанцию, запрещающую второму процес- ратор импульсов, причем входы первого и сору доступ к массиву информации. При второго дешифраторов подключены к перэтом же обращении появление сигнала вой и второй шинам адреса устройства соЗП1 вызывает установку триггера 12 в со- 45 ответственно, выходы первого и второго стояние ".1". Т.е, устройство 22 переходит дешифраторов адреса соединены соответк работе с первым процессором во второМ ственно с входами данных первого и второрежиме. . ro триггеров, выходы которых соединены

При необходимости считывания указан- соответственно с первыми входами первого ного массива вторым процессором он уста- 50 и второго элементов И, вторые входы котонавливает триггер 13 в состояние "1", pbtx соединены соответственно с первой и переводя тем самым работу устройства 22 с: второй шинами записи устройства, инверсним в первый режим. Далее при обращении ные входы третьего и четвертого триггеров к общей памяти второй процессор осущест- подключены соответственно к первой и втовляет ее "захват на два обращения, в пер- 55 рой шинам разрешения обмена устройства, вом из которых он анализирует квитанцию синхровходы первого и второго триггеров в "почтовом. ящике сообщений" указанного соединены соответственно с с первой и массива. Если первый процессор не завер- второй шинами синхронизации обмена устшил еще обновление информации, то кви- ройства, выходы первого и второго элементанция указывает на запрет доступа в TQB И-НЕ соединены соответственно с

1784986

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

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

5 обмена устройства соответственно, синхронходы третьего и четвертого триггеров соединены соответственно с первым и вторым тактовыми шинами устройства, входы сброса седьмого и восьмого трмггеров соедине10 ны с первой и второй шинами установки устройства, входы данных пятого и шестого триггеров соединены с шиной нулевого потенциала устройства, выходы третьего и четвертого элементов И-НЕ соединены

15 соответственно с синхровходами седьмого и восьмого триггеров, входы данных которых соединены соответственно с прямыми выходами девятого и десятого триггеров, входы данных синхровходы и входы сбро20 са которых соединены соответственно с разрядом первой и второй шин адреса уст-, ройства, выходами первого и второго элементов И, выходами пятого и шестого элементов И+Е.

1784986

Составитель А, Кицис

Техред М.Моргентал

Редактор,Н. Коляда

Корректор M. Керецман

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

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

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

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