Устройство управления оперативной памятью
Реферат
Использование: в вычислительной технике, в частности устройствах управления оперативной памятью (ОП), выполненной в составе независимой общей и локальной ОП в многопроцессорных вычислительных комплексах. Сущность изобретения: устройство управления оперативной памятью содержит блок управления прохождением запросов, два входных коммутатора, блок управления первым блоком оперативной памяти, три выходных коммутатора, блок буферных регистров, блок обнаружения и исправления ошибок и коммутатор ввода-вывода. Технический результат заключается в повышении быстродействия, расширении функциональных возможностей за счет оптимальной организации запросов к оперативной памяти, разделенной на локальную и общую ОП, и повышении информационной надежности. 2 з. п. ф-лы, 2 ил.
Изобретение относится к вычислительной технике, в частности к устройствам управления оперативной памятью (ОП), выполненной в составе независимых общей и локальной ОП, и может быть использовано в многопроцессорных вычислительных комплексах.
Известно устройство управления оперативной памятью в составе вычислительной системы, которое содержит блок управления, память, входной и выходной коммутаторы. Однако в устройстве отсутствует возможность наращивания производительности за счет организации непрерывного процесса обработки запросов к памяти [1] Наиболее близким по технической сущности к изобретению является устройство управления оперативной памятью, содержащее блок управления прохождением запросов, первый входной коммутатор, блок управления первым блоком оперативной памяти и первый выходной коммутатор, причем первые информационные входы и первый вход блокировки блока управления прохождением запросов соединены с соответствующими одноименными входами устройства, второй вход блокировки блока управления прохождением запросов соединен с одноименным выходом блока управления первым блоком оперативной памяти, информационные входы первого входного коммутатора и входы первой группы входов блока управления общей памятью подключены к первым выходам блока управления прохождением запросов, вторые выходы которого подключены к управляющим входам первого входного коммутатора, первые выходы которого соединены с входами первого блока оперативной памяти, первые выходы которой подключены к входам второй группы входов блока управления первым блоком оперативной памяти, первый выход группы управляющих выходов которого соединен с управляющим входом первого выходного коммутатора, синхровходы блока управления прохождением запросов первого коммутатора, блока управления первым блоком оперативной памяти и первого выходного коммутатора подключены к синхровходу устройства. Однако в известном устройстве происходит накопление не более двух заявок, а прием на рассмотрение последующих возможен только после подтверждения запуска очередной в работу, а так как габариты вычислительного комплекса велики и оперативная память в нем сильно удалена от процессора, цикл срабатывания памяти должен быть достаточно большим. Быстродействие комплекса при этом получается низким [2] Целью изобретения является повышение быстродействия, расширение функциональных возможностей за счет оптимальной организации запросов к оперативной памяти, разделенной на локальную и общую ОП, и повышение информационной надежности. Для этого в устройство управления оперативной памятью, содержащее блок управления прохожением запросов, первый входной коммутатор, блок управления оперативной памятью и первый выходной коммутатор, первые информационные входы и первый вход блокировки блока управления прохождением запросов являются одноименными входами устройства, второй вход блокировки блока управления прохождением запросов соединен с одноименным выходом блока управления оперативной памятью, информационные входы первого входного коммутатора и входы первой группы входов блока управления оперативной памятью подключены к первым выводам блока управления прохождением запросов, вторые выходы которого подключены к управляющим входам первого входного коммутатора, первые выходы которого соединены с входами первого блока управляемой памяти, первые выходы которого подключены к входам второй группы входов блока управления оперативной памятью, первый выход группы управляющих выходов которого соединен с управляющим входом первого выходного коммутатора, синхровходы блока управления прохождением запросов, основного коммутатора, блока управления оперативной памятью и первого выходного коммутатора подключены к синхровходу устройства, введены блок буферных регистров, второй выходной коммутатор, второй и третий выходные коммутаторы, блок обнаружения и исправления ошибок и коммутатор ввода-вывода, информационные входы-выходы которого являются одноименными входами-выходами устройства, блок блокировки запросов коммутатора ввода-вывода является вторым входом блокировки устройства, первые, вторые, третьи и четвертые выходы коммутатора ввода-вывода подключены к соответствующим входам группы вторых информационных входов блока управления прохождением запросов, выход блокировки блока управления прохождением запросов является выходом блокировки устройства, первые и вторые выходы блока управления прохождением запросов подключены соответственно к информационным и управляющим входам второго входного коммутатора, выходы которого соединены с входами второго блока управляемой памяти, выходы которого соединены с информационными входами второго выходного коммутатора, выходы которого подключены к соответствующим первым информационным входам третьего выходного коммутатора, вторые информационные входы которого соединены с соответствующими выходами первого выходного коммутатора, управляющие входы блока буферных регистров второго и третьего коммутаторов соединены соответственно с вторым, третьим и четвертым выходами группы управляющих выходов блока управления оперативной памяти, третья группа входов которого соединены с вторыми выходами первого входного коммутатора, вторые выходы оперативной памятью подключены к информационным входам блока буферных регистров, выходы которого подключены к информационным входам первого выходного коммутатора, выходы третьего выходного коммутатора соединены с входами блока обнаружения и исправления ошибок, выходы которого и выходы группы информационных выходов блока управления оперативной памяти являются соответственно первыми и вторыми информационными выходами устройства, первый и второй выходы группы информационных выходов блока управления оперативной памятью подключены соответственно к первым и вторым входам группы информационных входов коммутатора ввода-вывода, синхровходы второго входного коммутатора, второго блока управляемой памяти, блока буферных регистров, второго и третьего выходных коммутаторов и блока обнаружения и исправления ошибок объединены и являются синхроводом устройства, кроме того, блок управления прохождением запросов содержит с первого по четвертый входные мультиплексоры, с первого по N-й входные регистры, с первого по N-й дешифраторы, N узлов формирования канальной очереди запросов, каждый i-й из которых содержит узел канальной памяти, L канальных буферных регистров, канальный узел приоритета и канальный узел управления, М узлов формирования модульной очереди запросов, каждый j-й из которых содержит узел модульной памяти, первый регистр и модульный узел управления. К узлов формирования секционной очереди запросов, каждый f-й из которых содержит узел секционной памяти, второй регистр и секционный узел управления, с первого по N-й выходные регистры, первые и вторые информационные входы входных мультиплексоров являются соответственно с первого по четвертый входы второй группы информационных входов блока. Выходы входных мультиплексоров подключены к соответствующим информационным входам первой группы соответствующих входных регистров, информационные входы вторых групп которых являются информационными входами с пятого по N-й второй группы информационных входов блока, управляющие входы входных регистров и входных мультиплексоров объединены и являются входом блокировки блока, выходы входных регистров соединены с входами соответствующих дешифраторов и первыми входами соответствующих узлов формирования канальной очереди запросов, j-е выходы первой группы выходов дешифраторов подключены к первым входам j-го узла формирования модульной очереди запросов, f-е выходы второй группы выходов дешифраторов соединены с первыми входами f-го узла формирования секционной очереди запросов, второй вход блокировки блока подключен к вторым входам узлов формирования секционных запросов, (N+1)-й из первых информационных входов и выход блокировки блока соединены соответственно с вторыми входами и четвертыми выходами узлов формирования канальной очереди запросов, первые выходы которых соединены с вторыми входами узлов формирования модульной очереди запросов и с третьими входами узлов формирования секционной очереди запросов, i-е выходы двух последних соединены с четвертыми входами i-го узла формирования канальной очереди запросов, второй выход которого поступает на информационный вход i-го выходного регистра, управляющий вход которого подключен к (N+1)-му из первых информационных входов блока, а первый и второй выходы являются i-ми из соответственно первых и вторых выходов блока, в i-м узле формирования канальной очереди запросов первый вход узла соединен с информационным входом канальной памяти и первым информационным входом первого из L канальных буферных регистров, выход t-го из которых, кроме L-го соединен и с t-м входом канального узла приоритета и информационным входом (t+1)-го канального буферного регистра, а выход L-го с L-м входом узла приоритета. Выход узла канальной памяти подключен к второму информационному входу первого буферного регистра, второй вход и четвертый выход i-го узла формирования канальной очереди запросов соединены соответственно с первыми управляющими входом и выходом узла приоритета, второй управляющий вход которого и первые управляющие входы буферных регистров подключены к выходу канального узла управления, вход которого является четвертым входом i-го узла формирования канальной очереди запросов, первый и второй выходы которого соединены с одноименными выходами узла приоритета, третий выход которого подключен к вторым управляющим входам буферных регистров. В j-м узле формирования модульной очереди запросов первый вход подключен к информационному входу узла модульной памяти, выход которого через первый регистр соединен с первым информационным входом модульного узла управления, второй информационный вход которого подключен к второму входу узла, а управляющий выход к одноименным входам узла модульной памяти и первого регистра, i-й выход узла управления является i-м выходом J-го узла, в f-м узле формирования секционной очереди запросов первый вход является информационным входом узла секционной памяти, выход которого через второй регистр подключен к первому входу секционного узла управления, второй и третий входы и i-й выход которого являются одноименными входами и выходом f-го узла, управляющий выход подключен к одноименным входам второго регистра и узла секционной памяти. Также блок управления оперативной памятью содержит первый и второй буферные регистры, узел приоритета, коммутатор, узел задержки и мультиплексор, входы узла задержки являются входами первой группы блока, первый выход узла задержки является третьим выходом блока, второй соединен с вторым входом мультиплексора, третий соединен с первым входом узла приоритета и является четвертым выходом блока, управляющие и информационные входы первого буферного регистра являются соответственно входами второй и третьей групп блока, первый выход первого буферного регистра является выходом блокировки блока, а второй выход подключен к входу второго буферного регистра, первый и второй выходы которого подключены к второму и третьему входам узла приоритета соответственно, первый, второй и пятый выходы которого являются соответственно первым и вторым управляющими выходами блока и входом коммутатора, выход которого соединен с первым входом мультиплексора, выходы которого являются информационными выходами блока. Сущность изобретения заключается в том, что введение этих блоков в указанной связи с остальными блоками устройствами управления оперативной памятью обеспечивает оптимальную по приоритетам и сравнительно длинную очередь запросов как в первый блок оперативной памяти общую оперативную память (ООП), так и во второй блок оперативной памяти локальную оперативную память (ЛОП), контроль и в случае необходимости исправление ошибок в передаваемой устройством информации. Это позволяет организовать непрерывную обработку запросов, повысить быстродействие и информационную надежность вычислительного комплекса. На фиг. 1 представлена структурная схема предлагаемого устройства; на фиг.2 структурная схема блока управления прохождением запросов. Устройство управления оперативной памятью (см. фиг.1) содержит блок 1 управления прохождением запросов, первый входной коммутатор 2, блок 3 управления ОП, оперативную память 4 (в состав устройства не входит), первый блок 5 управляемой памяти (ООП, в состав устройства не входит), блок 6 буферных регистров, первый выходной коммутатор 7, второй входной коммутатор 8, второй блок управляемой памяти 9 (ЛОП, в состав устройства не входит), второй выходной коммутатор 10, третий выходной коммутатор 11, блок 12 обнаружения и исправления ошибок, коммутатор 13 ввода-вывода. Блок 3 содержит первый набор 14 буферных регистров, второй набор 15 буферных регистров, узел приоритета 16, коммутатор 17, узел 18 задержки и мультиплексор 19. Кроме того, устройство имеет информационные входы-выходы 20-1.20-N, информационные входы 21-1.21-N, первые вход 22-1 и выход 22-2 блокировки, синхровход 23, второй вход 24 блокировки, первые и вторые информационные выходы 25-1.25-N и 26-1.26-N. Коммутатор 13 ввода-вывода имеет первый и второй информационные входы 27-1 и 27-2, информационные входы-выходы 28-1.28-N, вход 29 блокировки, синхровход 30 и с первого по четвертый выходы 31-1.31-4. Блок 1 управления прохождением запросов имеет первые и вторые 32-1.32-(N+1) и 33-1.33-4 информационные входы, первые вход 34-1, выход 34-2 и второй вход 34-3 блокировки, синхровход 35, первые и вторые выходы 36-1.36-N и 37-1. 37-N. Первый входной коммутатор 2 имеет информационные 38-1.38-N, управляющие 39-1. 39-N входы, синхровход 40, первые и вторые выходы 41-1.41-К и 42-1. 42-К. Первый блок оперативной памяти 5 имеет первые и вторые 43-1.43-К и 44-1. 44-К выходы. Блок 6 буферных регистров имеет информационные входы 45-1.45-К, управляющий вход 46, синхровход 47 и выходы 48-1.48-N. Первый выходной коммутатор 7 имеет управляющий вход 49, синхровход 50 и выходы 51-1.51-N. Второй входной коммутатор 8 имеет информационные входы 52-1.52-N, управляющие входы 53-1.53-N, синхровход 54 и выходы 55-1.55-М. Второй выходной коммутатор 10 имеет информационные выходы 56-1.56-М, управляющий вход 57, синхровход 58 и выходы 59-1.59-N. Третий выходной коммутатор 11 имеет первые и вторые информационные входы 60-1. 60-N и 61-1.61-N, управляющий вход 62, синхровход 63 и выходы 64-1. 64-N. Блок 12 обнаружения и исправления ошибок имеет входы 65-1.65-N, синхровход 66 и выходы 67-1.67-N. Блок 3 управления оперативной памятью (см. фиг.1) имеет первую, вторую и третью группы входов 68-1.68-N, 69-1.69-К и 70, синхровход 71, вход 72 блокировки, управляющие выходы 73-1.73-4 с первого по четвертый, информационные выходы 74-1.74-N, информационные входы 75-1.75-К и управляющие входы 76-1. 76-К набора регистров 14 и 15, первый и второй входы 77, 78 узел приоритета 16, вход 79 и выход 80 коммутатора 17, входы 81-1.81-N и выходы 82-1.82-3 узла 18 задержки, первый и второй входы 83, 84 и выходы 85-1.85-N мультиплексора 19. Блок 1 управления прохождением запросов (см. фиг.2) содержит входные мультиплексоры (с первого по четвертый) 86-1.86-4, входные регистры (с первого по N-й) 87-1.87-N, дешифраторы (с первого по N-й) 88-1.88-N, узлы (с первого по N-й) 89-1.89-N формирования канальной очереди запросов, каждый i-й из которых содержит: канальную память 90, с первого по L-й канальные буферные регистры 91-1. 91-L, канальный узел 92 приоритета и канальный узел 93 управления, с первого по М-й узлы 94-1.94-М формирования модульной очереди запросов, каждый j-й из которых содержит: модульную память 95, первый регистр 96 и модульный узел 97 управления, с первого по К-й узлы 98-1.98-К формирования секционной очереди запросов, каждый f-й из которых содержит: секционную память 99, второй регистр 100 и секционный узел 101 управления, с первого по N-й 102-1.102-N выходные регистры, первые и вторые выходы 103-1-1.103-N-M и 104-1-1.104-N-K дешифраторов 88-1.88-N. Устройство управления оперативной памятью (см. фиг.1) содержит узел 105 управления прохождением запросов, основной входной коммутатор 106, узел 107 управления первым блоком 108 оперативной памяти, основной выходной коммутатор 109. Устройство управления оперативной памятью обеспечивает обмен данного центрального процессора (ЦП) с его локальной оперативной памятью (ЛОП) и общей оперативной памятью (ООП) многопроцессорного вычислительного комплекса (МВК), а также обеспечивает обмен процессора ввода-вывода (ПВВ) МВК с ЛОП данного ЦП, так и с ООП МВК. В состав МВК входят, например, ЦП, N ПВВ, М модулей ЛОП, попарно объединенных в М/2 секций ЛОП и К секций ООП, центральный генератор синхронизации и предлагаемое устройство управления оперативной памятью. Работа устройства начинается с подачи на вход 23 начальной установки устройства, по которому все цепи управления приходят в исходное состояние, а все памяти и буферные регистры в состояние эквивалентное их пустоте. На вход 22-1 устройства от ЦП поступает значение интерливинга, конфигурация и нумерация секций ООП 5. На каждом из информационных входов 21-1.21-N от ЦП выставляются запросы либо к ЛОП, либо к ООП со скоростью один запрос за один такт синхроимпульса (СИ), причем на входах 21-1, 21-2 запросы могут быть как по записи, так и по считыванию, тогда как на входах 21-3.21-N только по считыванию. На вход 21-(N+1) от ЦП поступают запросы только по считыванию и только из ЛОП пакетами не менее восьми слов в каждом. Потоки запросов, поступающие на входы 21-1.21-N устройства, совершенно независимы. На каждом i-м 20-1 из информационных входов-выходов 20-1.20-N устройства выставляются запросы от или к i-му ПВВ со скоростью поступления/выдачи один запрос за четыре такта СИ. Коммутатор ввода-вывода (КВВ) 13 осуществляет преобразование потока запросов от или к N ПВВ в поток запросов только по записи в ООП на своих выходах 31-1.31-2 и в поток запросов только по считыванию из ООП на выходах 31-3 и 31-4 со скоростью один запрос за один такт СИ на каждом из выходов 31-1.31-4. Прохождение запросов от ЦП и от ПВВ регулируется сигналами блокировки на входах 22-1 и 24 устройства. В результате на выходах мультиплексоров 86-1.86-4 блока 1 каждый такт возникает следующая информация: признак значимости (ЗН), признак ЛОП/ООП, номер модуля (НМ) ЛОП/номер секции (НС) ООП, адрес в памяти (АД), информация (при обращении по записи)/адрес назначения (АН) с признаком запросчика (при обращении по считыванию), которая через регистры 87-1.87-4 поступает на первые входы узлов 89-1.89-4 формирования канальной очереди запросов. Аналогичная информация из ЦП через регистры 87-5.87-N поступает на первые входы узлов 89-5.89-N, а в каждом i-м узле 89-i далее на вход канальной памяти 90-i и одновременно на первый информационный вход первого канального буферного регистра 91-1-i. Если свободен регистр 91-1-i, то он принимает поступившую информацию, если занят, то она записывается в память 90-i, при этом указатель свободной ячейки памяти увеличивается на единицу. Таким образом в i-м узле 89-i формируется очередь запросов по i-му каналу, причем фиксирование запросов происходит каждый такт, L ранее поступивших запросов всегда хранятся в регистрах 91-1-i.91-L-i и старший запрос всегда находится в регистре с большим номером. Если по i-му каналу выставляется запрос в ЛОП 9, то НМ ЛОП с выхода регистра 87-i поступает на вход i-го дешифратора, и на j-м 103-i-j из М его первых выходов 103-i-1.103-i-M, позиционно соответствующем номеру j-го модуля ЛОП, возникает единица. Если запрос по i-му каналу выставляется в ООП 5, то на регистре 87-i сначала происходит перекодировка разрядов НС ООП в соответствии со значением интерливинга, поступающего с входа 34-1 блока 1, а затем НС ООП поступает на входы i-го дешифратора 88-i. Последний преобразует код и на f-м выходе 104-i-f из К его вторых выходов 104-i-1.104-i-K, позиционно соответствующем номеру f-й секции ООП возникает единица. На первом входе f-го блока формирования модульной очереди (f-го блока формирования секционной очереди) каждый такт появляется N-разрядный код с выходов дешифраторов 88-1.88-N, который записывается в модульную память 95 (секционную память 96), при этом, если код содержит хотя бы одну единицу, указатель номера свободной ячейки памяти увеличивается на единицу. Таким образом, в памяти 95 (99) формируется очередь каналов к отдельным модулям ЛОП (секциям ООП). Канальная память 90 представляет собой двухпортовое запоминающее устройство (ЗУ), в котором одновременно и независимо могут осуществляться две операции: запись в очередную ячейку и считывание из любой ячейки, за исключением той, в которую в данный такт производится запись. Адресное управление двухпортовым ЗУ осуществляется двумя счетчиками, которые формируют адреса записи и считывания. После начальной установки эти адреса совпадают. При каждом поступлении запроса по записи счетчик адреса считывания всегда указывает на ячейку памяти, из которой еще не происходило считывания, и после очередного считывания увеличивает свои показания на единицу. Все заявки, находящиеся на регистрах 91-1-i.91-L-i, претендуют на обслуживание в данном такте, но реальные шансы имеют только те из них, которые в модульных и секционных очередях стоят первыми. Сигналы, разрешающие обрабатывать ту или иную заявку, поступают на второй управляющий вход канального узла 92-i приоритета через канальный узел 93-i управления с модульных узлов 97-1. 97-М и секционных узлов 101-1.101-К управления. Канальный узел 92-i приоритета определяет тот 91-t-i из регистров 91-1-i.91-L-i, на котором хранится самая ранняя заявка, имеющая разрешение от одной из модульных узлов 97-1.97-М или секционных узлов 101-1.101-К управления, передает информацию с него на выходной регистр 102-i, а в следующем такте заполняет освободившийся регистр, сдвигая информацию из младших по номеру регистров 91-1.91-(t-1)-i. Таким образом, блоки 89-1.89-N формирования канальной очереди запросов каждый такт могут выдавать заявку в соответствующий модуль ЛОП (секцию ООП). Модульные и секционные памяти 95 и 99 представляют собой также двухпортовые ЗУ с таким же, как у модульной памяти 90 алгоритмом работы, хранящие N-разрядный битовый набор с единицей не менее, чем в одном бите. Номер ненулевого бита соответствует номеру канала, по которому есть запрос в данном такте. Этот битовый набор через регистр 96 (100) передается в узел 97 (101) приоритета, которая наделяет наивысшим приоритетом активный канал с меньшим номером, в частности каналы 1 и 2, на которые поступают запросы и по записи, и по чтению. Когда заявка выбрана и ушла на обработку, канальный узел 92 приоритета передает сигнал сброса в блоки 94-1.94-М (98-1.98-К) формирования модульной (секционной) очереди запросов, по этому сигналу узел 97 (101) вычеркивает единицу, соответствующую запросу по данному каналу в данном такте, в соответствующем разряде регистра 96 (100). Это происходит до тех пор, пока не останется ни одной единицы в рассматриваемом битовом наборе, после чего происходит считывание очередного битового набора. Темп выдачи запросов к одному и тому же модулю ЛОП определяется величиной задержки в цепи обмена сигналами между модульным узлом 97 приоритета (секционной схемой 101) и модульным узлом 90 приоритета. В предложенном устройстве эта величина равна трем тактам синхронизации. Для уменьшения объема оборудования второго входного коммутатора 8 и второго выходного коммутатора 10 модули ЛОП 9 попарно объединены в секции. Конфликтные ситуации при попытке запустить одновременно два модуля ЛОП одной секции исключаются, так как узлы 97-(2Х-1), где Х 1,2,3,4. формируют свои разрешения в нечетные такты, а узлы 97-(2Х) в четные. Темп выдачи запросов к одной и той же секции ООП определяется величиной задержки в цепи обмена сигналами между первым входным коммутатором 2 и ООП 5. В предложенном устройстве она равна двум тактам СИ. Работа секционных узлов приоритета может блокироваться сигналами, вырабатываемыми на выходах первого набора 14 регистров блока 3, которые с выхода 72 последнего поступают на вход 34-2 блока 1 и далее на входы секционных узлов 101 приоритета. При переполнении хотя бы одной из канальных памятей 90 в ЦП с выхода 22-2 устройства поступает сигнал блокировки, по которому прекращается выдача запросов от ЦП и ПВВ. Выдача запросов по i-му каналу производится через i-й выходной регистр 102-i. Если запрос выдается в ООП 5, то разряды адреса, соответствующие номеру секции ООП перекодируются в физический номер. Это позволяет располагать имеющиеся в МВК секции ООП в произвольном порядке. Каждый i-й из регистров 102-1.102-N имеет два выхода: первый выход 36-i, по которому передается адрес оперативной памяти и собственно информация, и второй выход 37-i, на котором формируются управляющие сигналы на входы соответственно 38-i, 52-i и 39-i, 53-i ООП и ЛОП. Выход 36-i регистра 102-i соединен также с входом 68 блока 3 управления общей памятью, на который поступает АН. Блок 1 управления прохождением запросов имеет специальный вход 32-(N+1), по которому ЦП может обращаться в ЛОП с пакетом из восьми запросов, отличающимися друг от друга тремя младшими разрядами адреса памяти. В виду того, что в предлагаемом устройстве используется интерливинг равный М, то операция группового считывания по (N+1)-му каналу представляет собой обращение в каждом такте к группе модулей, адреса которых были недоступны более четырех тактов назад. При данной операции ЦП выставляет на входе 32-(N+1) сначала сигнал блокировки запуска запросов канальными узлами 92 приоритета, одновременно на первые выходы 36-1.36-N регистров 102-1.102-N выдаются адрес обращения в память и АН без трех младших разрядов. Последним на вторых выходах 37-1.37-N присваиваются постоянные значения соответственно "000"."111". Сигнал блокировки и очередные адреса выдаются ЦП до тех пор, пока не будет закончено считывание массива данных из ЛОП. По снятию этой блокировки вновь начинается обслуживание потока запросов по каждому каналу. Адрес назначения передается с выходов 36-1.36-N блока 1 на входы 68-1. 68-N блока 3 и далее на входы 81-1.81-N узла 18 задержки, который осуществляет управление первым дополнительным выходным коммутатором 10 из M/2 в N сигналами, поступающими с выхода 82-1 на вход 57. Считанная из ОП 4 и скорректированная в блоке 12 информация возвращается на вход блока 1 по тому же i-му каналу, по которому был выставлен запрос. Одновременно с выхода 85-i мультиплексора 19 в канал выдается АН, который был получен с выхода 82-2 узла 18 задержки. Первый входной коммутатор 2 предлагаемого устройства представляет собой коммутатор, через него в ООП 5 передается адрес и дополнительная информация при операции записи. Остальная информация управляющая и АН, с выходов 42-1. 42-К поступает на входы первого набора регистров 14 блока 3. С целью снижения объема входного оборудования секций ООП 5 используется такое расслоение очереди, равное К1, что к рассмотрению узлом 16 приоритета допускается только 1/K-я часть запросов, претендующих на обслуживание и имеющих одинаковые значения трех младших разрядов адреса. Эти последние содержат код, соответствующий номеру "кармана", который и записывается в набор регистров 14 наряду с АН. Наборы буферных регистров 14 и 15 в предлагаемом устройстве представляют собой двухпортовое ЗУ, имеющее К независимых областей, в каждую из которых заносится заявка, относящаяся к данному карману. При реализации запроса секцией ООП 5 на входы 69-1.69-К передаются сигналы занятости и номер кармана, и по указанию на считывание из данного кармана выбирается вся информация по данному запросу и передается во второй набор регистров 15. Одновременно считанная информация, полученная из секции, хранится в блоке 6 буферных регистров. С выхода второго набора регистров 15 управляющая информация (значимость, номер канала) поступает на входы узла 16, который определяет очередность передачи из разных секций считанной информации и осуществляет управление блоком 6 по входу 46, а основным выходным коммутатором 7 по входу 49. Разрешение на работу узла 16 поступает на его вход с выхода 82-3 узла 18 задержки, который также управляет коммутатором 10 сигналами с выхода 82-1. Устройство управления оперативной памятью позволяет обеспечить высокий темп обмена и минимизировать время доступа к памяти за счет многоканальной структуры с механизмом поточного обслуживания запросов и введения дополнительного уровня иерархии памяти локальной оперативной памяти. Предложенное решение является эффективнее более чем в восемь раз, по сравнению с прототипом увеличивает пропускную способность подсистемы оперативной памяти. Применение устройства в составе МВК позволяет существенно увеличить производительность вычислительной системы в целом.Формула изобретения
1. Устройство управления оперативной памятью, содержащее блок управления прохождением запросов, первый входной коммутатор, блок управления оперативной памятью и первый выходной коммутатор, первые информационные входы и первый вход блокировки блока управления прохождением запросов являются одноименными входами устройства, второй вход блокировки блока управления прохождением запросов соединен с одноименным выходом блока управления оперативной памятью, информационные входы первого входного коммутатора и входы первой группы входов блока управления оперативной памятью подключены к первым выходам блока управления прохождением запросов, вторые выходы которого подключены к управляющим входам первого входного коммутатора, первые выходы которого соединены с входами первого блока управления памяти, первые выходы которого подключены к входам второй группы входов блока управления оперативной памятью, первый выход группы управляющих выходов которого соединен с управляющим входом первого выходного коммутатора, синхровходы блока управления прохождением запросов, первого входного коммутатора, блока управления оперативной памятью и первого выходного коммутатора подключены к синхровходу устройства, отличающееся тем, что в него введены блок буферных регистров, второй входной коммутатор, второй и третий выходные коммутаторы, блок обнаружения и исправления ошибок и коммутатор ввода-вывода, информационные входы-выходы которого являются одноименными входами-выходами устройства, вход блокировки запросов коммутатора ввода-вывода является вторым входом блокировки устройства, первые четвертые выходы коммутатора ввода-вывода подключены к соответствующим входам группы вторых информационных входов блока управления прохождением запросов, выход блокировки блока управления прохождением запросов является выходом блокировки устройства, первые и вторые выходы блока управления прохождением запросов подключены соответственно к информационным и управляющим входам второго входного коммутатора, выходы которого соединены с входами второго блока управляемой памяти, выходы которого соединены с информационными входами второго выходного коммутатора, выходы которого подключены к соответствующим первым информационным входам третьего выходного коммутатора, вторые информационные входы которого соединены с соответствующими выходами первого выходного коммутатора, управляющие входы блока буферных регистров, второго и третьего выходных коммутаторов соединены соответственно с вторым, третьим и четвертым выходами группы управляющих выходов блока управления оперативной памятью, третья группа входов которого соединена с вторыми выходами первого входного коммутатора, вторые выходы первого блока управляемой памяти подключены к информационным входам блока буферных регистров, выходы которого подключены к информационным входам первого выходного коммутатора, выходы третьего выходного коммутатора соединены с входами блока обнаружения и исправления ошибок, выходы которого и выходы группы информационных выходов блока управления оперативной памятью являются соответственно первыми и вторыми информационными выходами устройства, первый и второй выходы группы информационных выходов блока управления оперативной памятью подключены соответственно к первым и вторым входам группы информационных входов коммутатора ввода-вывода, синхровходы второго входного коммутатора, коммутаторы ввода-вывода, блока буферных регистров, второго и третьего выходных коммутаторов и блока обнаружения и исправления ошибок объединены и являются синхровходом устройства. 2. Устройство по п.1, отличающееся тем, что блок управления прохождением запросов содержит с первого по четвертый входные мультиплексоры, с первого по N-й входные регистры, с первого по N-й дешифраторы, N-узлов формирования канальной очереди запросов, каждый i-й из которых содержит элемент канальной памяти, L канальных буферных регистров, канальный элемент приоритета и канальный элемент управления, M узлов формирования модульной очереди запросов, каждый j-й из которых содержит элемент модульной памяти, первый регистр и модульный элемент управления, K узлов формирования секционной очереди запросов, каждый f-й из которых содержит элемент секционной памяти, второй регистр и секционный элемент управления, с первого по N-й выходные регистры, первые и вторые информационные входы входных мультиплексоров являются соответственно информационными входами первой и второй групп блока, с первого по четвертый входами второй группы информационных входов блока, выходы входных мультиплексоров подключены к соответствующим информационным входам первой группы соответствующих входных регистров, информационные входы вторых групп которых являются информационными входами с пятого по N-й второй группы информационных входов блока, управляющие входы входных регистров и входных мультиплексоров объединены и являются входом блокировки блока, выходы входных регистров соединены с входами соответствующих дешифраторов и первыми входами соответствующих узлов формирования канальной очереди запросов, j-е выходы первой группы выходов дешифраторов подключены к первым входам j-го узла формирования модульной очереди запросов, f-е выходы второй группы выходов дешифраторов соединены с первыми входами f-го узла формирования секционной очереди запросов, второй вход блокировки блока подключен к вторым входам узлов формирования секционных запросов, (N+1)-й из первых информационных входов и выход блокировки блока соединены соответственно с вторыми входами и четвертыми выходами узлов формирования канальной очереди запросов, первые выходы которых соединены с вторыми входами узлов формирования модульной очереди запросов и с третьими входами узлов формирования секционной очереди запросов, i-е выходы двух последних соединены с четвертыми входами i-го узла формирования канальной очереди запросов, второй выход которого подключен к информационному входу i-го выходного регистра, управляющий вход которого подключен к (N+1)-му из первых информационных входов блока, а первый и второй выходы являются i-ми из соответственно первых и вторых выходов блока, в i-м узле формирования канальной очереди запросов первый вход узла соединен с информационным входом элемента канальной памяти и первым информационным входом первого из L канальных буферных регистров, выход t-го из которых, кроме L-го, соединен с t-м входом канального элемента приоритета и информационным входом (t+1)-го канального буферного регистра, а выход L-го с L-м входом канального элемента приоритета, выход элемента канальной памяти подключен к второму информационному входу первого канального буферного регистра, второй вход и четвертый выход i-го узла формирования канальной очереди запросов соединены соответственно с первыми управляющ