Устройство для управления памятью
Иллюстрации
Показать всеРеферат
ОП ИСАНИ Е
ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ 748414
Союз Советсккв
Соцмалиетнчеекик
Республик (6! ) Дополмительмое к авт, свид-ву (22) Заявлено 08. 12.77 (21)2553040/18-24 с присоединением заявки.%(23) Приоритет(5! )М. Кл.
Q 06 F 13/06
Воуаврстввнный комитет
СССР
Опубликовано 15.07.80. Бюллетень М 26
Ф ао аепам изобретений н открытий (53) УДК681-325 (088.8) Дата опубликования описания 17.07.80 (72) Авторы изобретения
Н. Я. Полонская и E. И. Ручка (7() Заявитель (54) УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ПАМЯТЬЮ
Изобретение относится к области вычислительной техники и технической кибернетики и предназначено для управления многомодульной памятью обмена и распределения заданий по процессорам в
5 цифровой вычислительной системе.
Известно устройство для управления памятью (1j содержащее матрицу ячеек памяти, шифратор, регистры, счетчики, генератор, триггеры, элементы И, ИЛИ.
Недостатками этого устройства являются его ограниченные возможности при распределении заданий по блокам памяти, ориентации на узкий класс специальных задач. т5
Наиболее близким техническим реше нием к предлагаемому изобретению является устройство {2) содержащее матрицу ячеек памяти, коммутаторы, дешифраторы, шифраторы, блок управления выборкой из памяти, блоки ассоциативной памяти, перекрестные коммутаторы, операционный блок, буферные блоки памяти, регистр, счетчик неудовлетворенных запросов.
Однако это устройство недостаточно эффективно распределяет .задания по блокам памяти, допускает простои оборудования.
Белью изобретения является повышение коэффициента использования оборудования.
Поставленная цель достигается тем, что в устройство для управления блоковой основной памятью (2), содержащее матрицу ячеек памяти, первая и вторая группы входов которой соединены с выходами первых коммутатора и дешифратора, группа выходов матрицы ячеек памяти соединена через первый шифратор с первой группой входов второго коммутатора, блок управления выборкой из памяти, первая группа выходов которого через второй шифратор соединена с первыми входами .первой ассоциативной памяти и первого перекрестного коммутатора, операционный блок, вторую и третью ассоциативные памяти, три буферных блока памяти, ре,гистр, второй, третий, четвертый, пятый
3 . 7 М перекрестные коммутаторы, третий, чет» вертый коммутаторы и счетчик неудовлетворенных запросов, введены блок управления распределением заданий, счетчик и три дешифратора; причем первая груйпа выходов первой ассоциативной памяти соединена с группой входов первого коммутатора, первый вход которого соединен с вйходом счетчика и первым ьходом матрицы ячеек памяти, второй вход которой 10 соединен с выходом блока управления рас.пределением заданий и первыми входами второй и третьей ассоциативнйх памятей и первой буферной памятй, выходы которой
I соединены с входами второго дешифратора, 15 группой входов третьего коммутатора и второй группой входов второго коммутатора, выходы которого через вторую буферную память соединены с входами третьего дешифратора и первой группой вхо- 20 дов четвертого коммутатора, выходы которого соединены с входами второго перекрестного коммутатора, входами первого дешифратора, вторыми входами первой буферной памяти и перекрестного коммутатора и первым входоь. третьего перекрестйого коммутатора, выходы которого через третью буферную память соединены с чет» вертым перекрыстным коммутатором, выходы второй группы первой ассоциативной памяти соединены с первым входом счетчика, третьей группой входов второго коммутатора и второй группой входов четвер-. того, коммутатора и первым входом операционного блока, выход первой ассоцла- з5 тивной памяти соединен со вторым входом счетчика, первым входом счетчика неудовлетворенных запросов, вторым входом операционного блока, третьим входом первой буферной памяти и первым входом бло-40 ка управления распределением заданий, второй и третий входы которого соединены с выходами соответственно второй и третьей ассоциативных памятей, выходы второй ассоциативной памяти соединены с 45 вторыми входами счетчика неудовлетворенных запросов, третьего перекрестного
" коммутатора, первой и третьей асСоциа тивных памятей, третьими входами первого перекрестного коМмутаторе, счетчика, 50 операционного блока, четвертым входом блока управления распределением заданий и через пятый перекрестный коммутатор с первой группой выходов устройства, выходы третьего коммутатора соединены с третьим входом первой ассоциативной памяти, выходы второго перекрестного ком мутатора соединены со входами блока уп4. равления выборкой из памяти, выходы первого шифратора соединены со входами четвертого дешифратора, выходы операционн го блока, второго, третьего и четвертого дешифраторов соединены соответственно с пятым, шестым, седьмым и восьмым вхс дами блока управления распределением заданий, выход которого соединен с управляюпами входами первого, второго, третьего и четвертого коммутаторов, второй буферной памяти и первой ассоциативной памяти, вйходы первого шифратора соединены с третьей группой входов четвертого коммутатора, выходы регистра, блока управления выборкой .иэ памяти, пятого перекрестного коммутатора соединены с второй, третьей и четвертой группой выходов устройства соответственно, а блок управления распределением заданий содержит генератор, коммутаторы, триггеры, элементы ИЛИ, И, причем первый вход блока соединен с первыми входами первого и второго триггеров, первого элемента ИЛИ, группой входов первого коммутатора, первым входом второго и третьего коммутаторов и через второй элемент
ИЛИ - с выходом блока, второй вход блока соединен с первыми входами третьего триггера, первого и второго элементов И, третий вход блока соединен с первым входом четвертого элемента И и вторым входом первого элемента ИЛИ, четвертый вход блока через первый и второй элементы И соединен с первыми входами соответственно пятого и шестого триггеров, пятый вход блока соединен с первым входом седьмого триггера, шестой вход блока соединен с первым входом третьего элемента И, седьмой вход блока соединен с первыми входами восьмого триггера, четвертого и пятого элементов И, восьмой .вход блока соединен с первым входом девятого триггера и через пятый элемент
И - с выходом блока, третьим входом первого элемента ИЛИ и вторыми входами пятого и шестого триггеров, первый выход первого коммутатора соединен со вторыми входами второго и четвертого триггеров, второй, третий и четвертый выходы первого коммутатора соединены со вторыми входами соответственно первого, седьмого и восьмого триггеров, пятый выход первого коммутатора соединен с первым входом шестого элемента И, первый выход первого триггера соединен с выходом блока, второй выход первого триггера соединен с выходом блока и первым входом второго коммутатора, первый
748414 выход второго триггера соединен с выхо1 дом блока и вторым входом третьего элемента И, выход которого соединен с первым входом первого коммутатора, второй и третий входы которого. соединены с вы- S ходами третьего и седьмого элементов И соответственно, второй выход второго триггера соединен с первым входом вось-мого элемент,-та И, первый выход третьего триггера соединен с первым входом де- >0 вятого элемента И, второй выход третьего триггера соединен с выходом блока, первый выход четвертого триггера соединен с выходом блока, второй выход четвертого триггера соединен с выходом бло-1 ка и вторым входом четвертого элемента
И, первый выход пятого триггера соединен с выходом блока, вторыми входами второго и третьего коммутаторов, четвертого элемента И и первым входом десятого 20 . элемента И, второй выход пятого триггера соединен с выходом блока и вторым входом девятого элемента И, первый выход шестого триггера соединен с выходом блока, третьим входом третьего коммутатора, первым входом седьмого элемента И и через восьмой элемент И вЂ” с выходом блока, второй выход шестого триггера соединен с выходом блока непосредственно и через девятый элемент И, первый выход ЗО седьмого триггера соединен с выходом блока, второй выход седьмого триггера соединен с выходом блока и вторым входом десятого элемента И, первый выход восьмого триггера соединен с выходом 35 блока, третьим входом второго коммутатора и вторым входом седьмого элемента
И, второй выход восьмого триггера соединен с третьими входами восьмого и десятого элементов И, первым входом третье- 40 го элемента ИЛИ и через шестой элемент
И вЂ” со вторым входом девятого триггера, первый выход которого соединен с первым входом одиннадцатого элемента И и через третий элемент ИЛИ вЂ” с первым входом 45 десятого триггера, первый выход которого соединен с выходом блока, второй выход десятого триггера соединен с выходом блока и четвертым входом десятого элемента И, второй выход девятого триггера через десятый элемент И соединен с выходом блока, выходы второго и третьего коммутаторов соединены соответственно с выходом блока и вторым входом десятого триггера. Первый выход шестого триггера 55 через восьмой элемент и соединен с выходом блока, выход первого элемента ИЛИ соединен со вторым входом третьего триг6 гера, выход генератора через одиннадца:тый элемент И соединен с выходом блок
На фиг. 1 показана Rioz-схема устройства; на фиг. 2 — структура блока уп равления распределением задания, где
1 — матрица ячеек памяти, 2 - первая ассоциативная память (АП); 3 — вторая ассоциативная память (АП); 4 - третья ассоциативная память (АП); 5 - операционный блок; 6 — первый буферный блок памяти (БП).; 7 - второй буферный блок памяти (БП); 8 — третий буферный блок памяти (БП); 9 — первый шифратор, 10второй шифратор; 11 — блок управления выборкой из памяти, 12 — первый коммутатор; 13 — второй коммутатор, 14 — третий коммутатор, 15 — четвертый комму- татор, 16 - первый перекрестный коммутатор; 17 — второй перекрестный коммутатор, 18 - третий перекрестный коммутатор; 1 9 - четвертый перекрестный коммутатор, 20 - пятый перекрестный коммутатор; 21 - первый дешифратор; 22 - второй дешифратор; 23 — третий дешифратор;
24 — четвертый дешифратор; 25 - регистр, 26 — счетчик неудовлетворенных запросов;
27 — счетчик, 28 — блок управления распределением заданий; 29 — первый вход блока управления распределением заданий;
30 — второй вход блока управления распределением заданий; 3 1 — третий вход блока управления распределением заданий;
32 — четвертый вход блока управления распределением заданий; 33 — пятый вход блока управления распределением заданий;
34 — шестой вход блока управления распределением заданий; 35 — седьмой вход блока управления распределением заданий;
36 — восьмой вход блока управления распределением заданий; 37 - первая группа выходов устройства, 38 — вторая группа выходов устройства; 39 — третья группа выходов устройства, 40 — четвертая группа выходов устройства; 4 1 — группа входов устройства, 42 вЂ,группа числовых шин, 43 — генератор, 44 — первый коммутатор, 45 — второй коммутатор; 46— третий коммутатор, 47» первый триггер, 48 второй триггер; 49 — третий триггер, 50 — четвертый триггер, 51. — пятый триггер; 5 2 — шестой триггер; 5 3 — с едьмой триггер, 54 — восьмой триггер, 55девятый триггер, 56 — десятый триггер, 57 — первый элемент ИЛИ; 58 - второй элемент ИЛИ; 59 — третий элемент ИЛИ;
60 — первый элемент И; 61 —. второй. элемент И; 62 — третий элемент И; 637 748414
8 ,четвертый элемент И; 64 — пятый элемент второй каждая строка закреплена за отдельИ; 65 -; 66 — седьмой ным процессором. В запросе на запись ин:элемент И; 67 - восьмой элемент И,68- формации, кроме типа запроса (чтениефзадевятый элемент И, 69 — десятый элемент лись), указывается также номер абонента
И; 70 - одиннадцатый элемент И., и его приоритет, номер задачи, к которой
Устройство работает следующим обра- относится передаваемая информация и к(юзом. личество передаваемой информации (в
Запросы на выделение памяти для чте страницах). ния и записи от центральных процессоров ,и процессоров обмена поступают в устрой- 10 - Распределение информации по строке ство на группу входов 41 в MI 3, в, ко- в АП -3 следующее:
% поля строки АЛ 3 на поиск максимального кода (по числу неудовлетворенных запросов); если выделенных строк нет, то восстанавливается индикация по предыдущему опросу (по шагу 1); если имеются выделенные строки, то по ним производится опрос по полю 5 на поиск минимального кода (высший при- оритет), выделяется верхняя строка и ее содержимое выводится на выходной регистр АП.З и выделяется сигнал, поступающий на вход 30 блока 28. Далее следует шаг 4.
При наличии сигнала с выхода блока
25 управления 28 производится опрос АП 3 по командам от постоянного запоминаю щего устройства, входящего в его состав; в следующей последовательности, содержащей 4 этапа алгоритма работы устройства.
Этап 1. В первую очередь производится определение наличия запросов от процессоров обмена (ПО) на чтение (Чт)., еспи таковых нет то переходят на этап 2
Этап 2.: Производится определение наличия запросов от ПО на запись (Зп), если таковых нет, то переходят на этап 3.
Этап 3. Производится определение нали- чия запросов от центральных процессоров (UH) на Чт, если таковых нет, то пере ходят на этап 4.
Э ап 4. Производится определение на. личия запросов от ЦП на Зп.
Обслуживание запросов на выделение памяти производится в следующем порядке, содержащем 16 шагов:
Шаг 1. Опрос АП 3 по полю 2 (вид процессора: 10 - UH; 01 - ПО) и по полю 3 (тип запроса: "10" - За; "01"—
Чт); если тип запроса Зп, то переходят на шаг 2, если тип запроса Чт, то переходят на шаг 3.
Если выделенных строк нет, то переходят к шагу 1 на опредепение наличия
SS запросов другого типа согласно програм ме, если имеются выделенные строки, то среди них производится опрос по полю 6
Шаг 3. Если выдэпенных строк нет, то переходят к шагу 1 на определение наличия зайрос;ов другого типа согласно прот рамме, если имеются выделенные строки, то из ннх вйделяется верхняя и ее содержимое выводится на выходной регистр
АПЗ и выдается сигнал на вход 30 блока
28. Далее следует переход на шаг 5.
Шаг 4. Сигнал с входа 30 блока 28 проходит через элемент И 60, так как на втором входе этого элемента имеется единичный потенциал с входа 32, пришедший от первого разряда поля 3 выходного регистра АПЗ (Зп), и устанавливает в 1 триггер 51, сигнал с единичного выхода которого чер.ез выход блока 28 поступает в АП 2. По этому сигнапу в All 2 принимается код из цопя 8 выходного регистра АП 3 о количестве требуемых страниц памяти обмена для Зп и начинается ее опрос по командам от постоянного за-9 7 48414 10 поминаюшего устройства, входяшего в ее на, всего,5 строк - по числу блосостав. ков памяти.
Каждая строка, АП 2 закрепле- Распределение информации по строке в на за одним блоком памяти обме АП 2 следующее:
"т
М поля строки АП 2
N поля строки ассоциативной памяти 4
Далее переходят на шаг 7.
Шаг 7. Сигнал с входа 31 блока 28 устанавливает в 1 триггер 50, сигнал с единичного выхода которого через выход блока 28 поступает на вход АП 2 и раз- решает прием в нее кода с поля 1 выходного регистра БП 6. Производится опрос
АП 2 по полю 1 и полю 3 0 блокировки).
Если есть вьщеленная строка, то вырабатывается сигнал, который поступает на вход 29 блока 28, и переход на шаг 9.
Если вьщеленных строк нет, то вырабатывается сигнал, который поступает на вход 29 блока 28 и в БП 6, переходят. на шаг 8.
Шаг 8. Сигнал с входа 29 блока 28 устанавливает в 1" триггер 48, сигнал с единичного выхода которого поступает
55 на коммутатор 13, разрешая прием кодов. из БП 6 в БП 7, а сигнал с выхода АП 2 (при наличии сигнала с единичного выхо. да триггера 48 поступает иа БП 6), которая выставляет затем на свой выходДалее следует переход на шаг 10.
Шаг 5. Сигнал с входа 30 блока 28 проходит через элемент И 61, так как
--на втором ьходе этого элемента имеется единйчный потенциал с входа 32, пришедший от 2-го разряда поля 3 выходного регистра АП 3 (Чт), и устанавливает в
1 триггер 52, сигнал с единичного выхода которого через выход блока 28 поступает в АП 4, в которой по нему принимается код из поля 2 abrx.îäíoãî регистра АП 3 о виде процессора и начинаетПереходят на шаг 6, Шаг 6. Производится опрос АП 4 по полю 1 (вид процессора по запросу).
Если выделенных строк нет то вырабатывается сигнал, который поступает на вход 31 блока 28, устанавливает в "1 триггер 49, сигнал с единичного выхода которого проходит элемент И" 68, так как на два других его входа также поступает 1" с нулевых выходов триггеров
51 и 52, а далее, через выход блока 28 сигнал поступает в АП 3 и переходят на шаг 1.
Если имеются выделенные строки, то среди них производится опрос по полю 4 на поиск минимального кода (высший прйоритет абонента). Затем выделяется верхняя строка, содержимое которой выдается на выходной регистр АП 4 и вырабатывается сигнал, который поступает на вход
31 блока 28, а из БП 6 начинается последовательный вывод адресов из бпока регистров выделенной строки на его выходной регистр. ся опрос АП 4 по командам от постоянно- го запоминаюшего устройства, входяшего
:в ее состав, Каждая строка АП 4 содержит инфор- .
20 мацию по одной задаче,. кроме того, каждой строке соответствует блок регистров в БП 6, в этом блоке записаны коды но- меров блоков памяти (по полю 1) и страниц (по полю 2), содержаших данные по
25 этой задаче.
Распределение информации по строке в АП 4 следуюшее:
3.1 7484 ной регистр следующий код иэ блока регистров вьщеленной строки, переход к шагу 7, если вся информация из блока регистров выделенной строки БП 6 выведе на„то дешифратор 22 вырабатывает сит нал, который поступает через вход 34 блока 28,на элемент И 65, проходит чеpBG него так КаК на Второй его Вход ПО стуйает единичный потенциж с триггера
48, проходит через коммутатор 44, ус-, 1о танавливает в "0" триггеры 48, 50 и в 1 триггер 54. Сигйал:с единичного вы-, хода триггера 54 поступает в БП 7 и коммутатор 15. Затем проижоднтся обнуление содержимого вьщеленной строки И
АП 4 и соответствующего ей блока реги стров и БП 6. Переходят на шаг 14.
Шаг 9. Сигнал с входа 29 блока 28 проходит через коммутатор 44, устанавливает в 0" триггеры 48 и 50, посту- щ пает в БП 7 и обнуляет ее.
Переход к шагу 6 для опроса АП 4 на поиск другой задачи.
Шаг 10. Код о количестве страниц, требуемых запросу на Зп, принятый с по- 25 ля 8 выходного регистра АП 3, вводится в поле 4 его регистра опроса. Пусть зна.чение эт-.>го кода К (страниц). Затем производится опрос АП 2 по полю 2 (0 резервирования) и полю 3 (0 блокиров- Зо ки), по которому вьщеляются те строки, блоки памяти которых не блокированы по обмену с процессорами и не зарезервироBaHb4 !
Среди выделенных строк производит сн опрос по полю 4 на "равенство коду К.
Если вьщеленных строк нет, то переходят на шаг 11, если имеются выделен- 40 ные строки, то оставляется из них верхняя, в ней попе 3 (блокировка) устанавливается в "1, а затем ее содержимое выводится на выходной регистр, вырабатывается сигнал, который передается в 45 счетчик и на вход 29 блока 28, по нему устанавливается в "0 триггер 47 а счетчик 27 принимает код иэ поля 4 выходного регистра АП 2. Затем вырабатывается сигнал начапа выдачи из БП 7, 56 который из АП 2 поступает на вход 29 блока 28 и переходят на шаг 14, а если
БП 7 пуст (есть сигнал с дешифратора
23), то вырабатывается сигнал начала выдачи из выходного регистра АП 2 и, 55 регистра шифратора 9, который поступает ,из АП 2 на вход 29 блока 28. Переходят
Isa шаг 13.
12
Шаг 1 1. Производится опрос АП 2 по полям 2 и 3 на 0", «О", по которому вьщеаяются строки, блоки памяти которых не блокированы по обмену с процессорами и не зареэервированы.
Среди выделенных строк производится опрос по полю 4 на больше, чем К.
- Если вьщеленных строк нет, то переходят к шагу 12, если имеются вьщеленные строки, то среди них производится поиск строк с минимальным кодом по пс лю 4, потом оставляется среди них верхняя строка, в которой поле 3 (блокировка} устанавливается в 0", а ее содержимое вйводится на выходной регистр АП 2, вырабатывается сигнал, который поступает. в операционное устройство 5 и на вход
29 блока 28. В блоке 28 этот сигнал, пройдя через коммутатор 44, устанавливает в 0 триггер 47, а операционный блок 5 по нему принимает код из поля 4 выходного регистра АП 2 и вычитает из
1 него код К, принятый из поля 8 выходного регистра АП 3; результат вычитания передается в АП 2 и записывается в поле 4 выделенной строки, затем код К из поля 8 вводится в счетчик 27, так как его пропускает единичный сигнал с трит гера 53, передаваемый через выход блока 28, а затем вырабатывается сигнал начала выдачи из БП 7, который из АП 2 поступает на вход 29 блока 28 и далее переходят на шаг 14, а если магазин пуст (есть сигнал с дешифратора 23), то вырабатывается сигнал начала выдачи из выходного регистра АП 2 и регистра ши ьpampa 9, который поступает на вход 29 блока 28. Далее переходят на шаг 13.
Шаг 12. Производится опрос АП 2 по полям 2 и 3 и "О", 0 по которому выделяются строки, блоки памяти которых не блокированы по обмену с процессорами и не зарезервированы.
Среди выделенных строк производится поиск максимального кода по полю 4.
Если не выделено ни одной строки, то вырабатывается сигнал об отсутствии свободной памяти, который поступает на счетный, вход счетчика неудовлетворенных запросов 26 и на вход 29 блока 28, далее переходят к шагу 16.
Если имеются вьщеленные строки, то из них оставляется верхняя, в ней поле 2 (резервирование) устанавливается в 1", а затем ее содержимое выводится на выходной регистр АП 2, вырабатывается сигнал о наличии резерва, который поступает на вход 29 блока 28, а также
7484 14
13 ,в счетчик 27 и в операционный блок 5.
В блок.е 28 по этому сигналу устанавли вается в 1 триггер 47, в операционный блок 5 вводится код из поля 4 выходного регистра АП 2, его вычитают из кода К, принятого из поля 8 выходного регистра
АП 3, а результат вычитания - число дополнительно требуемых для процессора страниц памяти «вводится из операцион» ного блока 5 в АП 2. о
В счетчик 27 принимается код из
4 выходного регистра АП 2 и вырабатывается сигнал о вводе в БП 7, который поступает на вход 29 блока 28, проходит в нем через элемент ИЛИ 58 и поступает 15 в БП 7. Переходят на шаг 13.
Шаг 13. По коду из поля 1 (№ блока памяти выходного регистра АП 2) производится опрос АП 2 и выделение соответствующей строки, затем счетчик 27 начи20 нает выдавать на вход матрицы 1 памяти импульсы, поступающие в него из генератора импульссов 43. Общее число импуш сов, посылаемых в матрицу 1 памяти определяется кодом, введенным в счетчик
27 - либо кодом К с поля 8 выходного
f регистра АП 3, либо — с поля 4 выходного регистра АП 2 (количество имеющих.ся свободных страниц).
В матрице 1 импульсы проходят толь30 ко в ту ее строку, которая выделена стрькой АП 2, и поступают на вход первой в строке ячейки памяти.
Логическая схема ячейки памяти матрицы 1 обеспечивает прохождение импульса опроса с входа ю выход только в том случае, если данная ячейка еще не опрашивапась и если в ней основной триггер 40 находится в 1, причем тогда этот же импульс устанавливает в "1" дополнительньй триггер, если имеется сигнал с . триггера 47 (при вводе М блоков памяти и страниц в БП 7), или обнуляет ос- 45 новной триггер, если триггер 47 находится в 0 (при вводе № блоков памяти и страниц непосредственно в перекрестные коммутаторы), что позволяет следующему импульсу опроса проходить беспрепитст- 50 венно через эту уже опрошенную ячейку и опрашивать следующую по строке ячейку.
После прохождения всех импульсов счетчик 27 выдает сигнал, по которому все дополнительные триггеры ячеек матрицы
1 устанавливаются в 0".
Если триггер 47 находится в 1, то код № блока памяти из поля 1 выходного регистра АП 2 и код ¹ страницы из ре14 гистра шифратора 9 записываются в пос ледовательные ячейки памяти БП 7.
Если триггер 47 находится в О, то коды с поля выходного регистра АП 2 и шифратора 9 поступают непосредственно в выходные перекрестные коммутаторы
16-17 через открытый коммутатор 15, Кроме того, если триггер 47 находится в О, то выделяемые процессору блоки памяти и страницы отображаются в
АП 4, при этом в свободную строку АП 4 записываются коды из полей 2, 4, 5, 7 выходного регистра АП 3 — о виде процессора (через инвертор), № абонента, его приоритете и № задачи — соответственно в поля 1,3,4,2 выделенной свободЬ ной строки, а в блок регистров БП 6 этой. строки последовательно записываются № блока памяти (в поле 1) из поля 1 выходного регистра АП 2 и № страницы (в
2-е поле 2) из регистра шифратора 9.
Когда регистр шифратора 9 пуст— имеется сигнал с дешифратора 24 или если триггер 47 в "0", то вырабатывается сигнал начала обмена на выходе блока 28 и переходят к шагу 15, если триггер 47 в "1", то переходят к шагу 10.
Шаг 14. Сигналы с входа 29 блока 28, а также сигнал с входа 34 (от дешифратс ра 22 при пустом выходном регистре
БП 6) устанавливают в 1" триггер 54, сигнал с единичного выхода которого разрешает выдачу кодов ¹ блока памяти и № страницы из БП 7 через коммутатор
15 на выходные перекрестные коммутаторы 16-18, кроме того, при этом производится отображение в АП 2 и матрице
1 памяти освобождения или занятия страниц блоков пВМНТН Для этого с коммута» тора 15 код № блока памяти поступает в
АП 2, а код ¹ страницы — на дешифратор
21. В АП 2 производится опрос по полю 1 и выделяется строка, соответствующая заданному блоку памяти. В ней устанавливается в О поле 2 (резервирование) и в 1 - поле 3 (блокировка по обмену с процессором) . А в матрице 1 рамяти, в вьщсленной строке по столбцу, указанному дешийеатовом 21 по коду ¹ страницы, основной триггер устанавливается в 0, если обслуживается запрос на
Зп (это показывает что данная страница ю занята) или в "1", если обслуживается запрос на Чт, что показывает, что данная страница свободна.
Кроме того, если обслуживается запрос на Зп, в выделенной строке АП 2 поле 4 обнуляется, а если обслуживается запрос, на Чт, то код из поля 4 выделенной стро7484
1ки выводится на выходной регистр, пере дается в операциойный блок, где к нему прибавляется единица, а затем результируюший код иэ операционного блока 5 вновь вводится в поле 4 выделенной стро- ки АП2, Выделенные блоки памяти отображаются также в АП 4. При этом, если триггер 54 находится в 1 и сигнал с его единичного выхода проходит через коммутатор 45 на АП 4 и БП 6, в АП 4 выделяется свободная строка и соответствующий ей блок регистров в БП 6. Затем в поля 1,2,3,4 выделенной строки заносится коды соответственно иэ полей 2,7,4, д
5 выходного регистра АП 3, а в регистры выделенного блока БП 6 последовательно записываются Ио блока памяти и страницы из БП 7.
После вывода последнего адреса из
БП 7 сигнал с дешифратора 23 поступает на вход 35 блока 28 и устанавливает в
О» триггер 54, затем переходят к шагу 13
Шаг 1 5. Коды с коммутатора 1 5 поступают на перекрестны. 1 коммутатор 17, а также код % блока памяти с коммутатсра 15 поступает на перекрестные коммутаторы 16 и 18.
Перекрестный коммутатор 17 распределяет М страниц по блокам 11 управления выборкой, соответствующим коду % блока памяти.
Перекрестный коммутатор 16 устанавливает в "0 (если обслуживается загрос З на Чт) или в "1" (если обслуживается запрос на Зп), триггер в регистре 25, соответствующий блоку памяти, указанному в коде М блока памяти - таким образом задается направление обмена информацией.
Перекрестный коммутатор 18 передает код % блока памяти в свободный регистр того блоха БП 8, который соответствует
М процессора, подавшего запрос на обслуживание, код его М передается в перекрестный коммутатор 18 из поля 1 выходного регистра АП 3.
Сигнал о начале обмена с выхода блока 28 поступает на перекрестный комму- у татор 20 и направляется иэ него к процессору, код которого подается на коммутатор 20 с поля 1 выходного регистра
АП 3 и инициирует начало обмена информацией. На этом обслуживание запроса заканчивается, устанавливаются в 0" триггеры блока 28 и происходит переход х шагу 1 на обслуживание следующего заиро
t са.
Н процессе обмена информацией между блоками памяти обмена и процессорами освобождаются от обмена отдельные блоки памяти, сигналы об этом иэ блоков 11 управления выборкой поступают на шифратор 10 и передаются в АП 2, в которой опросом по полю 1 выделяются соответствующие этим блокам памяти строки и обнуляется в них поле 3 (блокировка по обмену) .
Шаг 16. По сигналу отсутствия свободной памяти происходит обнуление поля
2 по всему АП 2, а также этот сигнал. поступает на счетчик неудовлетворенных запросов 26, где к имеющемуся числу неудовлетворенных запросов - код иэ поля
6 выходного регистра АП 3, прибавляется единица в результирующее число заносится в поле 6 строки АП З,.выделенной по коду с поля 1 выходного регистра
АП 3 процессора, кроме того, сигнал п ступает в БП 7 и обнуляет его.
Затем переходят в шаг 1;
Использование изобретения позволит повысить производительность работы многопроцессорной вычислительной системы за счет аппаратного решения функций распределения заданий по центральным про-.
veccopaM, процессорам обмена, а также эа счет предотврашения взаимных помех и бпокировок при обращении процессоров к йамяти.
Формула изобретения
1. Устройство для управления памятью, содержащее матрицу ячеек памяти, первая и вторая группы входов которой соединены с выходами первых коммутатора и дешифратора, группа выходов матрицы ячеек памяти соедийена через первый шифратор с первой группой входов второго коммутатора, блок управления выборкой из памяти, первая группа выходов которого через второй шифратор соединена с первыми входами первой ассоциативной памяти и первого перекрестного коммутатора, операционный блок, вторую и третью ассоциативные памяти, три буферных блока памяти, регистр, второй, третий, четвертый, пятый перекрестные коммутаторы, третий, четвертый коммутаторы, счетчик неудовлетворенных запросов, о т л и ч а ю ш е е с я тем, что, с целью повышения коэффици ента испопьзования оборудования, в него введены блок управления респреде лением заданий, счетчик и три дешифратора, причем первая группа выходов пер17 748414 вой ассоциативной памяти соединена с ответственно с пятым, шестым, седьмым группой входов первого коммутатора, пер- и восьмым входами блока управления расвый вход которого соединен с выходом предвпением заданий, выход которого сосчетчика и первым входом матрицы яче- единен с управляюшими входами первого, ек памяти, второй вход которой соединен g второго, третьего и четвертого коммутас выходом блока управ"..ения распределе-,торов, второй буферной памяти и первой нием заданий и первыми входами второй ассоциативной памяти, выходы первого и третьей ассоциативных памятей и пер- шифратора соединены с третьей группой вой буферной памяти, выходы которой со- входов четвертого коммутатора, выходы едннены с входами второго дешифратора, 16 регистра, блока управления выборкой из группой входов третьего коммутатора и памяти, пятого перекрестного коммутатовторой группой входов второго коммута- а соединены с второй, третьей и четвертора, выходы которого через вторую бу, ой группой выходов устройства соответферную память соединены свходами тре- ственно. тьего дешифратора и первой группой вхо- !% 2. Устройство по п. 1, о т л и ч а дов четвертого коммутатора, выходы ко- ю ш е е с я тем, что блок управления торого соединены с входами второго пь- распределением заданий содержит генерарекрестного коммутатора входами перво- тор, коммутаторы, триггеры, элементы го дешифратора, вторыми. входами первой ИЛИ, И, причем первый вход блока соебуферной памяти и перекрестного комму- 20 дюпен с первыми входами первого и втотатора и первым входом третьего перек- .рого триггеров, первого элемента ИЛИ, рестного коммутатора, выходы которого, группой входов первого коммутатора
Э через третью буферную память соединены первым входом второго и третьего коммус четвертым перекрестным коммутатором, таторов и через второй элемент ИЛИ - с выходы второй группы первой ассоциа- 2> выходом блока, второй вход блока соедитивной памяти соединены с первым входом иен с первыми входами третьего тригге счетчика, третьей группой входов второго ра, первого и второго элементов Й, тре коммутатора и второй группой входов тий вход блока соединен с первым входом четвертого коммутатора и первым входом четвертого элемента И и вторым входом операционного блока, выход первой ассо- 30 первого элемента ИЛИ четвертый вход циативной памяти соединен со вторым блока через первый и второй элементы И входом счетчика, первым входом счетчи- соединен с первыми входами соответстка неудовлетворенных запросов, вторым венно пятого и шестого триггеров, пятый входом операционного блока, третьим вхо- вход блока соединен с первым входом дом первой буферной памяти и первым 3S седьмого триггера, шестой вход блока входом бпока управления распределением соединен с первым входом третьего.элезаданий, второй и третий входы которого мента И, седьмой вход блока соединен с соединены с выходами соответственно . первыми входами восьмого триггера, второй и третьей ассоциативных памятей, четвертого и пятого элементов И, восьвыходы второй ассоциативной памяти сое- 4О мой вход блока соединен с первым входом динены с вторыми входами счетчика не девятого триггера и через пятый элемент удовлетворенных запросов, третьего пере-,И с выходом блока, третьим входом пер. крестного коммутатора, первой и третьей вого элемента ИЛИ и вторыми входами .: ассоциативных памятей, третьими входами, пятого и шестого триггеров, первый вы-. первого перекрестного коммутатора, счет .- 5 !ход первого коммутатора соединен со чика, операционного блока, четвертым вхо- . вторыми входами второго и четвертого дом блока управления распределением за-:триггеров, второй, третий и четвертый даний и через пятый перекрестный комму- выходы первого коммутатора соединены татор - с первой группой выходов устрой- со вторыми входами соответственно перства, выходы третьего коммутатора сое- о вого, седьмого и восьмого триггеров, динены с третьим входом первой ассоциа- пятый выход первого коммутатора соедн-! тивной памяти, выходы второго перекрест анен с первым входом шестого элемента ного коммутатора соединены. со входами И, первый выход первого триггера соедиблока управленя выборкой из памяти, вы, анен с выходом блока второй выход первоходы первого шифратора соединены со > . го триггера соединен с выходом блока входами четвертого дешифратора, выходы, и первым входом второго коммутатора, операционного блока, второго, третьего . первый выход второго триггера соединен и четвертого дешифраторов соединены со-,с выходом блока и вторым входом третье19 74841 го элемента И, выход которого соединен с первым входом первого коммутатора, второй и третий входы которого соединены с выходами третьего и седьмого элементов И соответственно, второй выход второго триггера соединен с первым входом восьмого элемента И, первый выход третьего триггера соединен с первым
Входом девятого элемента И, второй выход третьего триггера соединен с выхо- 30 дом блока, первый выход четвертого триггера соединен с выходом блока, второй выход четвертого триггера соединен с выходом блока и вторым входом четвертого элемента И, первый выход пятого 1$ триггера соединен с выходом блока, вторыми входами второго и третьего коммутаторов, четвертого элемента И и первым входом десятого элемента И, второй выход пятого триггера соединен с выходом блсь- 2о ка и вторым входом девятого элемента И, первый выход шестого триггера соединен с выходом блока, третьим входом третье»
ro коммутатора и первым входом седьмого элемента И и.через восьмой элемент 25
И с ВыхОДОМ блока, Второй ВыхОД швсто
ro триггера соединен с выходом блока непосредственно и через девятый элемент
И, первый выход седьмого триггера соединен с выходом, блока, второй выход седь-30 мого триггера соединен с вйходбм блока и вторым входом десятого элемента И, первый выход восьмого триггера соединен с выходом блока, тре4
20 тьим входом второго коммутатора и вторым входом седьмого элемента И, второй выход восьмого триггера соединен с третьими Входами ВосьмОГО и десятОГО зле» ментов И, первым входом третьего элемента ИЛИ и через шестой элемент Исо вторым входом девятого триггера, первый вых