Устройство доступа к общей памяти
Изобретение относится к вычислительной технике и может быть применено для организации эффективного обмена между ЦВМ, процессорами, в мультипроцессорных системах и локальных сетях. Целью изобретени является повышение быстродействия путем обеспечения параллельного доступа к блокам памяти. Поставленная цель достигается тем, что устройство содержит две группы мультиплексоров, блок синхронизации, три группы двунаправленных коммутаторов, две группы блоков сравнения, две группы элементов ИЛИ, группа блоков управления коммутацией. 1 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (я)я G 06 F 12/00
ГОСУДАРСТВЕННОЕ ПАТЕНТНОЕ
ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К ПАТЕНТУ (21) 4828825/24 (22) 25.05.90 (46) 23.08.93, бюл. М 31 (71) Научно-исследовательский институт автоматических систем (72) Б.С.Алешин, И.И.Копошилко, Н.А,Николашин и В.M.Ñîëÿíèê (73) Государственный научно-исследовательский институт авиационных Систем (56) Дж. Фрир. Построение вычислительных систем на базе микропроцессоров, M., Мир, 1990. с.334, Генэенцин и перспективы развития портовых вычислительных систем {обзор по материалам иностранной печати) НИЦ 770, 1981, с.38-39.
Изобретение относится к вычислительной технике и может быть применено для организации эффективного обмена между
ЦВМ, процессорами, в мультипроцессорных системах и локальных сетях.
Целью настоящего изобретения является повышение быстродействия путем обеспечения параллельного доступа к блокам памяти.
На чертеже представлена функциональная схема устройства доступа к общей памяти.
Процессоры 1.1,..., 1.N шинным выходом, содержащим информационные, адрес ные и управляющие линии, соединены с шинными входами соответствующих блоков
2.1, ..., 2.N памяти, шинным выходом подключенных к шинным входам соответствующих двунаправленных шинных усилителей (ДШУ) 3.1, ...,.ЗМ Шинные выходы ДШУ 3.1, .... 3.N соединены с первыми шинными вхо„.,!Ы,,1836686 АЗ (54) УСТРОЙСТВО ДОСТУПА К ОБЩЕЙ ПАМЯТИ (57) Изобретение относится к вычислительной технике и может быть применено для организации эффективного обмена между
ЦВМ, процессорами, в мультипроцессорных системах и локальных сетях. Целью изобретения является повышение быстродействия путем обеспечения параллельного доступа к блокам памяти. Поставленная цель достигается тем, что устройство содержит две группы мультиплексоров, блок синхронизации, три группы двунаправленных коммутаторов, две группы блоков сравнения, две группы элементов ИЛИ, группа блоков управления коммутацией. 1 ил. дами блоков 4.1, ..., 4.N и 4.N + 1, 4,2N мультиплексоров, Вторые шинные входы блоков 4.1...„
4.N мультиплексоров, образуя первое кольцевое соединение, подключены шинами в 00 следующей последовательности: второй (ф) вход блока 4.4 мультиплексоров подключен (, с к выходу блока 4.И мультиплексоров, второй ( шинный вход которого подключен к шинно- Q() му выходу блока 4.N — 1 мультиплексоров и О т,д, вплоть до второго шинного входа блока
4.2 мультиплексоров, причем к выходу блока
4.1 мультиплексоров подключен второй шинный вход блока 4.2 мультиплексоров, Ы
Аналогично вторые шинные входы блоков
4М+1, ..., 4.2N мультиплексоров, образуя второе кольцевое соединение в следующей последовательности: второй шинный вход блока 4,N+1 мультиплексоров соединен с шинным выходом блока 4.N+2 мультиплексоров и т.д., вплоть до второго входа 4.2N, 1836686 причем выход блока 4,М+1 мультиплексоров соединен с вторым шинным входом блока
4,2N мультиплексоров. При этом шины, соединяющие указанные мультиплексоры, одновременно подключены к шинным входам соответственно, шина между блоками 4.1 и
4.2 мультиплексоравк шинным входам ДШУ
3,2N+2 и блока 5.2 сравнения, а ее линия
"Признак запись-чтение." к первым входам
ДШУ 3,2М+2 и логического элемента 6.2
ИЛИ, выходом подключенного к второму входу ДШУ 3.2N+2, шина между блоками 4,2 и 4.3 мультиплексоров подключена к шинным входам ДШУ 3.2M+2 и блока 5.3 сравнения, а ее линия "Признак запись-чтение" — к первым входам ДШУ 3,2N+2 и логического элемента 6.3 ИЛИ, выходом подключенного к второму входу ДШУ 3,2N+3, т,д.. вплоть до шины между блоками 4.N — 1 и 4.N мультиплексоров, соответственно одновременно подключенной к шинным входам ДШУ З.ÇN. и блока 5.N сравнения. а ее линия "Признак запись-чтение" — к первым входам ДШУ 3,3 и логического элемента 6.N ИЛИ, выходом подключенного к второму входу ДШУ З.ЗМ, причем шина между блоками 4,N и 4,1 мультиплексоров одновременно подключена к шинным входам ДШУ 3.2N+1 и блока 5,1 сравнения, а ее линия "Признак запись-чтение" — к первым входам ДШУ 3.2М+1 и логического элемента 6,1 ИЛИ, вь1ходом подключенного к второму входу ДШУ.
3,2N+1.
Аналогично шина:между блоками 4М+2 и 4.М+1 мультиплексоров одновременно подключена к шинным входам ДШУ З.N+1 и блока 5.М+1 сравнения, а ее линия "Признак запись-чтение" — к первым входам ДШУ
З,М+1 и логического элемента 6,М+1 ИЛИ, выходом подключенного к второму входу
ДШУ Ç.М+1 и т.д., причем шина между блоками 4.М+1 и 4.2N мультиплексоров одновременно подключена к шинным входам
ДШУ 3.2N и блока 5,2N сравнения, а ее линия "Признак запись-чтение" — к первым входам ДШУ 3.2 и логического элемента
6.2N ИЛИ, выходом подключенного к второму входу ДШУ 3,2N.
Блок 5 сравнения предназначен для селекции адреса блока памяти, поступающего по шинам, и выполнен на микросхемах
К531СП1 (1).
Шинные выходы ДШУ Ç.N+1, ..., 3.2N соединены с первыми входами соответственно блоков 7.1, ..., 7.N памяти, вторыми шинными входами подключенных соответственно к шинным выходам ДШУ 3,2N+1, ..., 3.3N. Блок 7 памяти предназначен для хранения информации обмена между процессорами в режиме "каждый с каждым" и выполнен по схеме микросхем двухпортовой памяти К1800РП6 (1).
Линии, предназначенные для передачи сигналов записи-чтения из состава управля5 ющих выходных шин процессоров 1.1, ..., 1.N, подключены к вторым входам соответствующих дополнительных блоков 8,1, ... 8,М управления, предназначенных для выработки сигналов коммутации входными потока10 ми блоков 4 мультиплексоров, и одновременно соединены с вторыми управляющими входами соответственно ДШУ3 1, ..., З,N. Линии старшего разряда адреса блока памяти из состава линий шинных выхо15 дов ДШУ 3.1, „., Ç.N подключены к третьим входам соответствующих дополнительных блоков 8.1...„8.N управления.
Первые выходы дополнительных блоков
8.1, .... 8.N управления соединены с управ20 ляющими входами соответствующих блоков
4,1...„4,Nмультиплексоров,,а вторые выходы дополнительных блоков 8.1, . „8,N управления подключены к управляющим входам соответствующих блоков 4.N+1, ..., 25 4.2М мультиплексоров.
Пятые входы дополнительных блоков
8;1,. „8.N управленияодновременносоедииены с вторыми входами соответствующих логических элементов 6.N+1, .... 6.2М ИЛИ и
30 с выходами соответствующих блоков 5М+1, ..., 5.2М сравнения, а четвертые входы дополнительных блоков 8.1, ..., 8.М управления одновременно подключены к вторым входам соответствующих логических злемен35 тов 6.6, ..., 6.N ИЛИ и к выходам блоков 5.1 ..„БМ, Дополнительные блоки 8.1, ..., 8.Й управления содержат логический элемент
9.1, ..., 9.N НЕ, выходом соединенный с пер. вым входом первого логического элемента
40 соответственно 10,1, ..., 10,N ИЛИ, выходами подключенного к первому входу первого логического элемента соответственно 11.1, .;„
11.N И. Выход первого логического элемента 11.1, „., 11,N И соединен с первым входой
45 второго логическога элемента 12,1, ..., 12.Й
ИЛ№ выходом подключенного к первому выходу дополнительного блока управления соответственно 8.1, ..., 8.N.
Второй выход дополнительного блуа
8.1, ..., 8.N управления соединен с выходб1и третьего логического элемента ИЛИ собтветственно 13.1, ..., 1З.N, первым входвм подключенного к выходу второго логического элемента И соответственно 14.1, ..., 14,N, Первый вход этого элемента И соединен с выходом четвертого логического элемента
ИЛИ соответственно 15,1, ..., 15.N, первйм входом подключенного к третьему входу соответствующего дополнительного блока 8.1, ..., 8,К управления, причем этот же вход
1836686 дополнительного блока 8.1, ..., 8,N управления соединен с входом соответствующего логического элемента 9,1,...,9.N НЕ. Второй вход дополнительного блоха 8.1, ..., 8.N управления одновременно подключен к вторым входам первого и четвертого логических элементов ИЛИ соответственно
10.1, ..., 10,N и 15.1, ..., 15.N, первый вход допалнительнога блока 8.1...„8,N управления соединен с вторыми входами первого и второго логических элементов И соответственно 11.1, ..., 11.N и 14.1, ..., 14 N, четвертый вход дополнительного блока 8.1, ..., 8.N управления подключен к второму входу второго логического элемента ИЛИ соответственно 12.1, ..., 12.N, а пятый вход дополнительного блока 8.1, ..., 8.N управления соединен с вторым входом третьего логического элемента ИЛИ соответственно
13,1, ..., 13.N. Первые входы дополнительных блоков 8.1, „,, 8.N управления и ДШУ
3.1, ..., З.N одновременно подключены к гоответствующим 1, ..., N выходам блока 16 управления, предназначенного для одновременного подключения на каждом такте четырех процессоров к блокам памяти и содержащего генератор 17, предназначенный для выработки тактовых сигналов и выполненный на микросхемах серии К531 (1), своим выходом соединенный с входом двоичного счетчика 18, предназначенного для выработки кода, используемого в качестве адреса ПЗУ, а выходом подключенного к входу ПЗУ 19, предназначеннога для хранения кодов соответствующих порядковым номерам процессоров (1), Выходы ПЗУ 19 соединены с соответствующими 1, ..., N выходами блока 16 управления., Общая память состоит из однотипных М блоков, каждый из которых имеет двухпортовое управление и одинаковый.па обьему, адресному полю и разрядности накопитель.
Адресное поле каждого блока однотипно поделено на N зан па числу подключенных процессоров, За каждым процессором закрепляется одна из зон памяти, В режиме обмена "каждый с каждым" процессоры осуществляют операцию запись в закрепленные за ними эоны, а чтение иэ любой зоны памяти, выставляя при этом лишь физический адрес ячейки зоны блока памяти, данные иэ признака записи-чтения, В обеспечение режима обмена между процессорами и блоками памяти устанавливают связь путем введения дополнительного адреса блока памяти, который хранят в
ПЗУ 2,1, ..., 2.N, и читаемые из него коды подключают к шинному входу соответствующих ДШУ 3.1, ..., 3.N для образования полного исполнительного адреса ячейки блока
ДШУ ЗЛ все сигналы интерфейса поступают
35 на первые шинные входы блоков 4.! и 4.N+i мультиплексоров для последующей переда40
45 тельного блока 8.l óïðýâëåíèÿ признака "За50
30 памяти. При выполнении операции "Запись" в ячейке ПЗУ хранят два адреса двух блоков памяти, расположенных по обеим кольцевым шинам, а при операции "Чтение" — адрес одного блока памяти. Установление двухкольцевого шинного соединения всех блоков памяти и использование мультиплексоров в качестве сегментаторов кольцевога соединения позволяет осуществить одновременный доступ к блокам памяти всем процессорам и для каждого из них сократить в два раза число блоков памяти при копировании информации в процессе записи.
Устройство доступа к общей памяти работает следующим образом, Каждый процессор, например 1.i, независимо от работы блока управления 16 при обращении к блоку памяти на шинном выходе активизирует все сигналы, присущие параллельному интерфейсу: адрес, данные, признак записи-чтения и сигналы, сопровождающие обмен, и посылает их на вход блока 2Л двунаправленных шинных усилителей и одновременно на вход постоянного запоминающего устройства 2Л, которое вырабатывает адрес того блока памяти, с которым заранее обусловлена связь процессора. С выхода постоянного запоминающего устройства 2.i адрес блока памяти поступает на вход ДШУ З.i u подстыковывается к адресу ячейки для образования полного исполнительного адреса ячейки блока памяти. С шинного выхода чи их на выходные шины под воздействием сигналов управления, вырабатываемых дополнительным блоком 8.i управления, Сигнал управления c l-го выхода блока 16 управления поступает на вторые входы
ДШУ 3Л и дополнительного блока 8 управления и служит для управления их работой, Появление на втором входе блока дополнипись" обеспечивает одновременное появление сигналов на первом и втором выходах дополнительного блока 8.! управления; а появление признака "Чтение" — лишь на первом, либо втором выходах в зависимости от присутствия сигнала старшего разряда адреса блока памяти на третьем входе дополнительного блока 8Л управления.
B режиме "Запись" происходит подключение процессора 1Л с помощью блоков 4.i и 4.N+1 мультиплексоров к двум кольцевым шиизм, благодаря выработанным сигналам управления на первом и втором выходах дополнительного блока 8,i управления. Появление этих сигналов обусловлено присутствием на первом входе дополнительного блока 8.! управления сигнала "Запись", который поступает на вторые входы первого и четвертога логических элементов соответственно 10.i и 15.! ИЛИ, откуда на первые входы логических элементов соответственно 11.l и 14,! И, Наличие сигнала с выхода i блока 16 управления на первом входе блока
8.1, откуда он поступает на вторые входы логических элементов 1 !.1 и 14.! И одновременно с сигналом "Запись" на первых входах этих же элементов 11.i и 14.i И, обеспечивает появление сигналов на выходе этих элементов и на первых входах логических элементов соответственно 12,1 и 13,1
ИЛИ, откуда они поступают соответственно на первый и второй выходы блока В.i. Сигналы управления с первого и второго выходов блока 8,1 соответственно поступают на вход управления блоков 4,1и 4,N+i мультиплексоров, производят одновременное подключение входных шин к выходным для передачи информации по обеим кольцевым шинам, С выхода блока 4.! мультиплексоров Ho первом кольце информация поступает на вторые шинные входы блока 4.!+I мультиплексоров и одновременно на шинные входы ДШУ 3.2N+i+1 и блока 5,1+1 сравнения, при этом одновременно сигнал признака "Запись" также поступает на первый вход ДШУ 3,2N+I+1 для управления потоком данных и на вход логического элемента G.i+1 ИЛИ, Информация с выхода блока 4.N+1 мультиплексоров на втором кольце поступает на вторые шинные входы блока 4,N+i-1 мультиплексоров и одновременна на шинные входы ДШУ 3,M+1+1 и блока 5,И+1+1 сравнения, при этом одновременно сигнал признака "Запись" также поступает на первый вход ДШУ
3.2М+!+1 для управления потокам данных и на вход логического элемента 6,!+1 ИЛИ, Сигналы с выхода логических элементов б,i+1 и G,N+i-1 ИЛИ поступают на управляющие вторые входы ДШУ 3.2К+!+1 и З,N+i 1 и вызывают передачу информации с шинного выхода ДШУ 3.2М+!+1 на второй шинный вход блока 7М+ памяти, а с шинного выхода ДШУ 3Я+1 — 1 на первый шинный вход блока 7.N-1 памяти, Таким образом, устанавливается связь между процессором 2 и блоками 7.1-1 и 7,!+1 памяти в режиме записи.
В блоках 5.1+1 и 5,N+i-1 сравнения происходит сравнение адреса блока памяти с порядковым номером для выработки сигнала на выходе этих блоков. В случае несравнения на выходе блоков 5.1+1 и 5М+1-E сравнения вырабатываются сигналы, которые поступают на соответствующие четвер5
50 тый и пятый входы дополнительного блока
В.i управления, оттуда проходят на соответствующие вторые входы второго и третьего логических элементов 12.1+1 и 13.i — 1 ИЛИ, а затем поступают на управляющие входы блоков 4.1+1 и 4,N+I 1 мультиплексоров, Эти сигналы обеспечивают прохождение информации на шинные выходы соответствующих мультиплексоров для продви>кения по кольцу; Продвижение информации продолжается до тех пар, пока не произойдетсравнение кодов адреса блоков памяти с порядковыми номерами в блоках 5 сравнения. В результате сравнения происходит появление на выходе блоков 5 сравнения сигналов противоположного знака, что вызывает прекращение продви>кения информации в обоих направлениях и переключение первого шинного входа на выход соответствующих мультиплексоров.
В процессе продвижения информации по обоим направлениям происходит запись во все блоки памяти одной и тай же информаций, т.е, выполняется oперация капиро вания, Операцию "Чтение" система выполняет аналогично операции "Запись". Отличие состоит в там, что выборка информации происходит из одного блока памяти, который подключается к процессору под действием дополнительного блока В,! управления.
Сигнал старшего разряда кода адреса блока памяти поступает на третий вход дополнительного блока В.l управления, откуда на первый вход логического элемента 15,I
ИЛИ и на вход логического элемента 9.! НЕ, выходом соединенного с входом логического элемента 10.1 ИЛИ. В зависимости от состояния старшего разряда кода адреса блока памяти происходит появление сигнала на выходе логического элемента 11 ИЛИ либо на выходе логического элемента 15.i
ИЛИ, которые выходами соединены с первыми входами соответствующих логических элементов 11,i и 14,i И. При наличии разрешающего сигнала на вторых входах этих элементов происходит выработка сигналов на выходе одного из соответствующих логических элементов 11 или 14.1 И, выходами соединенных с пе1>выми входами логических элементов 12.i и 13.i ИЛИ, которые выходами связаны соответственно с первым и вторым выходами дополнительного блока 8.! управления, что вызывает подключение вторых шинных входов к выходным шинам соответствующего блока 4,i либо
4,К+1 мультиплексоров. Далее информация продвигается по кольцу аналогично при выполнении операции "Запись"; достигает того блока 5 сравнения, в котором происходит
1836686 сравнение кода адреса блока памяти с его порядковым номером, открывает соответствующие ДШУ и подключает соответствующий процессор 1,i по входу соответствующего блока 7 памяти для чтения данных.
Блок 16 управления на каждом такте вырабатывает сигналы управления для одновременного доступа к блокам 7 памяти четырем процессорам 1 с соответствующими номерами К, K+M. K+2M, К+ЗМ {M вычисляется из наличия N подключенных процессоров М = N/4, К =- 1 — M). В течение отведенного такта времени каждый из четырех процессоров с номерами К, К+М; К+2М, K+3M йроизводит запись-чтение из соответствующих блоков памяти, которые заранее закреплены за каждым из них. Изменяя с каждым тактом порядковый номер К от 1 до
М, блок 16 управления обеспечивает за M тактов доступ к блокам 7 памяти N процессорам. Интервал времени, равный М тактов, совмещают с минимальным временем обращения каждого процессора к общей памяти, что позволяет осуществить доступ к общей памяти N процессорам на данном интервале времени.
Устройство устраняет последовательный процесс копирования данных в связанное с ним ограничение при использовании прототипа в системах реального времени, заменяя его одновременным копированием данных в блоки памяти при записи данных всеми процессорами. В предлагаемой системе расширение технологических возможностей достигается за счет одновременного доступа к памяти всех процессоров в режиме записи-чтения и одновременного выполнения операции копирования и операцией запись.
Формула изобретения
Устройство доступа к общей памяти, содержащее первую группу мультиплексоров и блок синхронизации, о т л и ч а ю щ е е с я тем, что, с целью повышения быстродействия путем обеспечения параллельного доступа к блокам памяти, в него введены три группы двунаправленных коммутаторов, две группы блоков сравнения, две группы элементов ИЛИ, группа блоков управления коммутацией и вторая группа мультиплексоров, причем i-й выход блока синхронизации (i = 1, ..., N, где N — количество блоков памяти), соединен с первым входом i-ro блока управления коммутацией группы и управляющим входом I-го двунаправленного коммутатора первой группы, входы переключения направления 1-го блока управления коммутацией группы и I-ro двунаправленного коммутатора первой группы подключены к i-му первого по третий информационные входы первого двунаправленного коммутатора
45 второй группы подключены к первому по
55
40 входу записи-чгения устройства, I-е вкоды записи-чтения, адреса. об ",щения к памяти усгройства и информационный вход-выход устройства соединены соответственно с информационными входами с первого по третий. вход-выход i-ro двунаправленного коммутатора первой группы. и с первого по третий выходы подключены к информационным входам с первого по третий и информационным . входам-выходам 1-х мультиплексоров первой и второй групп, причем третий вход i-rn блока управления коммутацией группы соединен с выходом
i-го двунаправленного коммутатора первой группы, четвертый вход i-го блока управления коммутацией группы подключен к выходу I-го блока сравнения первой группы, пятый вход i-го блока управления коммутацией соединен с выходом i-го блока сравнения второй группы, первый и второй выходы
i-го блока управления коммутацией группы подключены к управляющим входам i-ых мультиплексоров первой и второй групп, выходы i-x блоков сравнения первой и второй групп элементов ИЛИ, первые входы i-x блоков сравнения подключены к выходу i-ro мультиплексора, причем первый вход I-го блока сравнения первой группы соединен с выходом (! — Ц-го мультиплексора первой группы, первый вход I-го блока сравнения второй группы подключен к выходу (1+1)-ro мультиплексора второй группы, первый вход первого блока сравнения первой группы соединен с выходом )-ro блока сравнения второй группы и подключен к выходу первого мультиплексора второй группы, информационные входы с первого по третий I-x двунаправленных коммутаторов второй и третьей групп подключены соответственно к выходам с первого по третий и информационным входам-выходам (I — t)-x и (I+t}-x мультиплексоров первой и второй групп,с третий выходам 1-го мультиплексора первой группы. информационные входы с первого по третий I-го двунаправленного коммутатора третьей группы соединены с выходами с первого по третий nepeoro мультиплексора второй группы, выходы с первого по третий и информационные входы-выходы I õ двунаправленных коммутаторов второй и третьей групп подключены соответственно к I-м выходам записи-чтения, адресным выходам, выходу обращения к памяти и соответственно к I "м информационным входам-выходам устройства, причем вторые входы I-x элементов ИЛИ из первой и второй групп соединены с первыми выходами соот1836686
Составитель Г. Смирнова
Техред М. Моргентал Корректор М. Самборская
Редактор
Заказ 3021 . Тираж Подписное
8НИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж 35, Раушская наб., 4/5
Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина, 101 ветствующих (l-1)-х и (!+1)-x мультиплексоров соответственно первой и второй групп, второй вход первого элемента ИЛИ первой группы подключен к выходу Й-ro мультиплексора первой группы, второй вход N-го, элемента ИЛИ из второй группы элементов
ИЛИ соединен с выходом первого мультиплексора второй группы, выходы 1-х элементов ИЛИ первой и второй групп подключены к управляющим входам соответствующих 1-х двунаправленных коммутаторов соответственно второй и третьей групп, входы переключения направления которых соединены соответственно с первыми выходами соответствующих -(1-1).х и (1+1)-х мультиплексо ров первой и второй групп, вход первого двунаправленного коммутатора второй группы подключен к выходу N-ro мультиплексора первой группы, вход N-го двунаправленного коммутатора третьей группы двунаправленных коммутаторов соединены с выходом первого мультиплексора второй
5 группы, вторые входы с первого по третий
N-x мультиплексоров первой и второй групп подключены к выходам с первого по третий соответственно (t-1)-го и ((+1)-го мультиплексоров первой и второй групп, вторые
10 входы первого мультиплексора первой группы соединены с выходами N-ro мультиплексора первой группы, вторые входы N-ro мультиплексора второй группы подключены к соответствующим выходам первого муль15 типлексора второй группы мультиплексоров, вторые входы блоков сравнения первой и второй групп подключены к входам задания настроечных кодов устройства.





