Мультипроцессорная система

Номер патента: 742943

Автор: Усов

ZIP архив

Текст

Союз Советских Социалистических Республик(22) Заявлено 240378 т 21) 2593797/18 - 24 (51)М. КЛ. С 06 Г 15/16 с присоединением заявки Йо(23) Приоритет Государственный комитет СССР по делам изобретений и открытий(54) МУЛЬТИПРОЦЕССОРНАЯ СИСТЕМА Изобретение относится к области вычислительной техники и предназначено для использования в управляющих комплексах. 5Известна мультипроцессорная система, содержащая процессоры, устройство памяти и устройство сопряжения 1 .Недостатком известной системы 1 О устройства является, во-первых, значительное время, необходимое для обработки программы диспетчера, обус. ловленное высокой частотой решения задач в управляющих комплексах и, во-вторых, усложнением математическо го обеспечения системы. Наиболее близким, по существу технического решения является мультипроцессорная система, содержащая 20 процессоры, соединенные двухсторонними связями через устройство сопряжения с устройством памяти 2.Недостаток известной системы состоит в том, что она не позволяет 25 одновременно с решением задачи известного обращения процессоров к блокам памяти за командами решать задачу загрузки процессоров, что приводит к потере производительности, 30 Цель изобретения - повышениепроизводительности системы,Поставленная цель достигается тем, что в систему введено устройство распределения ресурсов, содержащее четыре группы регистров, пять коммутаторов, блок синхронизации, дешифратор, блок приоритетов ввода, блок приоритетов вывода, блок нормализации чисел, блок постоянной памяти и сумматор, причем входы блока синхронизации подключены к выходам соответствующих процессоров, а выходы - к управляющим входам регистров первых трех групп, блоку постоянной памяти и блокам приоритетов ввода и вывода, выход блока приоритетов ввода соединен с первыми входами первого и второго коммутаторов, вторые входы которых подключены к первым выходам регистров первой и второй групп соответственно, вторые выходы регистров первой и второй групп подключены ко входам устройства памяти через устройство сопряжения, а информационные входы - к выходу устройства памяти, выход первого коьакутатора подключен ко входу дешифратора, выход которогоОпределение подпрограммы, готовойдля решения, осуществляется следующим образом,Все подпрограммы хранятся н устройстве 20 памяти. В каждой подпрограмме имеется команда Сч - считынание номера очередной разрешеннойдля выполнения подпрограммы,Рассмотрим функциональное назначение каждого из введенных устройстн.Первая группа 1 регистров предназначена для запоминания номеровподпрограмм и осуществляет запоминание в двоичном коде номеров подпрограмм, готовых к выполнению,В первом регистре записываютсяномера подпрограмм первым процессором, но втором - вторым процессороми т,д.Первый коммутатор 2 предназначендля коммутации регистров запоминания номеров подпрограмм и обеспечивает передачу содержимого одного иэрегистров 1 на дешифратор 3.Дешифратор 3 преобраэует двоичныйкод н позиционный,Блок 4 приоритетов ввода предназначен для обеспечения ввода номеровподпрограмм, готовых к выполнению,н порядке поступления заявок от процессорон на ввод.Второй коммутатор 5 обеспечиваетввод номеров подпрограмм с дешифратора 3 н четвертую группу 12 регистров - регистрон запоминания номеров подпрограмм, Если номер подпрограммы вводит процессор, решающий )-ю задачу, то выходы дешифратора 3 подключаются к 3-му регистру 12,Вторая группа б регистров производит распределение процессоров позадачам и обеспечинает привязкукаждого процессора к решаемой задаче.В эти регистры записываются относительные номера задач, которые должны решаться каждым процессором,Номер задачи не должен превышатьколичество регистров. Например,перный и нторой процессоры решают задачу М 1, третий, четвертый и пятый - задачу Р 2, шестой - Р 3 итфдеЧетвертая группа 12 регистроносуществляет запоминание номеровподпрограмм н позиционном коде ипредназначена для.запоминания н позиционном коде номеров подпрограмм,готовых к ныпрЛнению, В первом регистре записываются номера подпрограмм первой задачи, но втором -второй задачи и т.д.При готовности выполнения 1-ойподпрограммы З-ой задачи н 1-й разряд регистра Э записывается 1,Третий коммутатор 8 осуществляет коммутации регистров запоминанияномеров подпрограмм и позиционномкоде и обеспечивает передачу собО соединен с первыми входами регистров четвертой группы, вторые входыкоторьи подключены к выходу второгокоммутатора, первые выходы регистровчетвертой группы подключены ко входуустройства памяти через устройствосоЩяжения, а вторые выходы - к пер 5вым входам третьего коммутатора,вторые входы которого подключены к выходам четвертого коммутатора, авь 1 хОды - ко входам блока нормализации чисел, выход которого соединенс првьэе входом сумматора, второйвход сумматора подключен к выходупятого коммутатора, а выход к информацИонному входу блока постоянной памяти, выход которого соединен совходами процессоров, первый и второйвходы пятого коммутатора подключенык пЕрвым выходам регистров третьейгруппы и выходам четвертого коммутаторй соответственно, вторые ныходю регистров третьЕй группы соединены со входами устройства памятичерез устройство сопряжения, а информационные входы - с выходом устройства памяти, а перный и второй входычетвертого коммутатора подключенык выходу блока приоритетов вывода иперэым выходам регистров второй группы соответственно.йа чертеже приведена блок-схемаустройства. 30Устройство содержит перную группу1 регистров, первый коммутатор 2,дешнфратор 3, блок 4 приоритетов ввода, второй коммутатор 5, вторую группу 6 регистров, третью группу 7 регистров, третий коммутатор 8, блок 9нормализации чисел, сумматор 10,блок11 постоянной памяти четвертую группу 12 регистрон, четвертый коммутатор 13, блок 14 приоритетов вывода,пятый коммутатор 15, блок 16 синхронизации, процессоры 17 и 18, устройство19 сопряжения, устройство 20 памяти,Каждой подпрограмме задачи н соответствии с некоторым алгоритмом,обеспечивающим некоторое оптимальное 45решение задачи, присваивается порядковый номер. Решение подпрограмм задачи должно происходить н порядкевозрастания их номеров, Но, так,каккаждая задача может решаться раэличным числом процессоров, обеспечитьодну и ту же последовательность решения подпрограмм беэ потерь производительности в общем случае нельзя.Динамическое перераспределение подпрограмм в управляющих системах приводит к большим потерям производительности вследствие высокой частотырешеиия задач,Поэтому в процессе решения задачиопределяются номера подпрограмм,готовых для решения, и при освобождениц процессора на него должна передавагься подпроГрайма, имеющая средиготовых к выполнению наименьший номер,65держимого одного иэ регистров 12 в блок 9 нормализации чисел в соответствии с номером решаемой задачи. Если эа начальным адресом подпрограммы обращается процессор, решающий Э-ю задачу, то через коммутатор 8 будет передано содержимое 3-го регистра 12.Блок 9 нормализации чисел служит для определения порядка числа, который равен минимальному номеру подпрограммы -ой задачи, готовой к выполнению. Сумматор 10 предназначен для вычисления адреса, по которому в блоке 11 постоянной памяти хранится начальный адрес подпрограммы еБлок 11 постоянной памяти предО 5 назначен для хранения начальных адресов подпрограмм решаемых задач. Начальные адреса подпрограмм для каждой задачи группируются в массивы. Например, начальные адреса подпрограмм первой задачи хранятся в ячейках блока постоянной памяти с адресами 1-1 второй задачи - 1 +1 - 12и т.д.Третья группа 7 регистров предназначена для хранения смещения начальных адресов задач и обеспечивает хранение смещения начальных адресов подпрограмм для каждой задачи. В эти регистры записываются смещения начальных адресов подпрограмм задач, которые должны решаться и записываться в регистры распределения процессоров по задачам.6. При этом в первый регистр записывается смещение для первой задачи, во второй - для второй задачи и т,д.Пятый коммутатор 15 предназначен для коммутации регистров смещения начальных адресов задач и обеспечивает передачу содержимого одного иэ регистров 7, определяемого номером решаемой задачи, в сумматор 10. Если же начальным адресом подпрограммы обращается 1-й процессор, решающий 3-ю. задачу, то через коммутатор 15 в сумматор 10 будет передано содержимое З-го регистра 7. 20 25 30 35 40 50 Блок 14 приоритетов вывода предназначен для обеспечения вывода начальных адресов подпрограмм в порядке обращения процессоров. 55Четвертый коммутатор 13 вывода подпрограмм обеспечивает подключение ккоммутаторам 8 и 15 соответствующихрегистров 7 и 12. Если начальныйадрес подпрограммы выводит процессор,решающий З-ю задачу, то коммутатор13 вывода подключает к коммутаторам8 и 15 соответственно 3-е регистры12 и 7,Блок 16 синхронизации осуществляет синхронизацию приема информации 65 из устройства 20 памяти в регистры 1 запоминания номеров подпрограмм, в регистры 6 распределения процессоров по задачам, в регистры 7 смещения начальных адресов задач, работы блока 11 постоянной памяти работы блоков.4 приоритета ввода и вывода 14,В целом работа системы происходит следующим образом.Перед началом работы в регистры 6 распределения процессоров по задачам записываются относительные номера задач, которые должны решать каждый процессор, а в регистры 7 смещения начальных адресов задач со" ответствующие этим задачам смещения.При выполнении команды Сч З-м процессором, решающим 3-ю задачу, в блоке 16 синхронизации от этого процессора поступает сигнал ввода информации, а на 1-й регистр 1 запоминания номера подпрограммы сама информация, представляющая собой номер г: очередной разрешенной для выполнения подпрограммы.По сигналу ввода в блок 4 приоритетов ввода из блока 16 синхронизации ставится заявка от обратившегося процессора.Если окажется, что заявка от 1-го процессора в блоке приоритетов ввода 4 единственная, то информация иэ 1-го регистра 1 запоминания номеров подпрограмм через коммутатор регистров 2 запоминания номеров подпрограмм поступит на дешифратор 3, где преобразуется в позиционный код и запишется в 6-й разряд 3-го регистра 12 запоминания, номера подпрограммы в позиционном коде. После этого заявка в блоке 4 приоритетов ввода от 1-го процессора через блок 16 синхронизации стирается. Если же окажется, что в блоке 4 приоритетов ввода имеются еще не обслуженные заявки от других процессоров, то заявка от 1-го процессора станет в очередь и будет обслужена после выполнения ранее поступивших заявок.При завершении решения подпрограмьаю 3-ой задачи 1-м процессором от него в блок 16 синхронизации поступит сигнал вывода информации (начального адреса подпрограммы)По этому сигналу блок 16 синхронизации ставит заявку в блок 14 приоритетов вывода. Если эта заявка единственная, то коммутатор 13 вы-. вода подпрограмм разрешит передачу:содержимого 3-го регистра 12 эа" поминания подпрограмм в позиционном коде в блок 9 нормализации чисел;содержимого 3-го регистра 7 смещения начальных адресов задач в сумматор 10.системы, в нее введено устройствораспределения ресурсон, содержащеечетыре группы регистров, пять коммутаторон, блок синхронизации, дешифратор, блок приоритетов ввода, блокприоритетов вывода, блок нормализациичисел, блок постоянной памяти и сумматор, причем входы блока синхронизации подключены к выходам соответствующих процессоров, а выходы - к управляющим входам регистров первых трехгрупп, блоку постоянной памяти иблокам приоритетовввода и вывода,выход блока приоритетов ввода соединен с первыми входами первого и второго коммутаторов, вторые входы которых подключены к первым выходамрегистров перной и второй группсоответственно, вторые выходы регистров первой и второй групп подключены ко входам устройства памяти через устройство сопряжения, а информационные входы - к выходу устройствапамяти, выход первого коммутатораподключен ко входу дешифратора, выход которого соединен с первыми входами регистров четвертой группы,вторые входы которых подключены квыходу второго коммутатора, первыевыходы регистров четвертой группыподключены ко входу устройства памяти через устройство сопряжения, авторые входы - к первым входам третьего коммутатора, вторые входы которого подключены к выходам четвертого коммутатора, а выходы - ко входамблока нормализации чисел, выход которого соединен с первым входом сумматора, второй вход сумматора подключен к выходу пятого коммутатора,а выход к информационному входу блока постоянной памяти, выход которогосоединен со входами процессоров, первый и второй входы пятого коммутатора подключейы к первым выходам регистров третьей группы и выходамчетвертого коммутатора соответственно, вторые выходы регистрон третьейгруппы соединены со входами устройства памяти через устройство сопряжения, а информационные входы - с выходом устройства памяти, а первый ивторой входы четвертого коммутатораподключены к выходу блока приоритетов вывода и первым выходам регистров второй группы соответственно.Источники информации,принятые но внимание при экспертизе1, Мультипроцессорные системы ипараллельные вычисления. Под ред,Ф.Г. Энслоу, с. 34, рис. 1,11,1976,2, Авторское свидетельство СССР9 301705, кл, 6 Об Р 15/16, 1969(прототип),В блоке 9 нормализации чисел находится порядок нормализации числа, который равен минимальному номеру поДпрограммы, готовой к исполнению,Порядок числа из блока 9 поступаЕт на сумматор 10 и суммируется со смещением, поступившим из 3-го регистра 7 смещения начальных адресов задач.На выходе сумматора образуется адрес, по которому из блока 11 постоянной памяти в обратившийся процессор считывается начальный адрес поДпрограммы.Если же окажется, что в блоке 14 приоритетов вывода имеются еще на обслуживании заявки от других процессоров, то заявка ат 1-го процеСсора станет в очередь и будет обслужена после выполнения ранее поступивших заявок.Для обеспечения воэможности запоминания состояния устройства распределения ресурсов при прерываниях регистры 1 запоминания номеров подпрбграммы, регистры б распределения прОцессоров по задачам, регистры 12 эайоминания номеров подпрограмм н позиционном коде, регистры 7 смещения начальных адресов задач через устройство 19 сопряжения соединены с устройством 20 памяти.Предлагаемое устройство позволяет производить одновременное реше- ниЕ от одной до И независимых задач на Н процессорах. При этом процессоры жестко не привязаны к решаемым задачам. В процессе решения задач количество процессоров, отВодимых для решения той или иной задачи может изменяться, что важно, например, при появлении отказов в процессорах, при поступлении на решеиие задачи, имеющей более высокий приоритет и т.д.Распределение подпрограмм одной и той же задачи по процессорам производится с помощью аппаратуры, что позволяет упростить операцион- нуЮ систему и исключить потери времени на ее работу, которые являются бодьшими для управляющих задач, имеющих частоту решения, равную несколькими десяткам герц. 10 20 30 35 40 50 Формула изобретения 55Мультипроцессорная система, содержащая процессоры, соединенные двухсторонними связями через устройство сопряжения с устройством памяти, о т л и ч а ю щ а я с я тем, что, с 60 целью повышения производительности.Асталош Корректор В. Син остав ехред едактор П. Макареви ая Заказ 3619 Тираж 751осударственноам изобретенисква, Ж, Р е илиал ППП Патент, г, Ужгород, ул. Проектная,4 ЦНИИПИ по д 113035, Подпис о комитета ССС и открытий ушская наб., д

Смотреть

Заявка

2593797, 24.03.1978

ПРЕДПРИЯТИЕ ПЯ А-1845

УСОВ ЮРИЙ ЛЕОНИДОВИЧ

МПК / Метки

МПК: G06F 15/167

Метки: мультипроцессорная

Опубликовано: 25.06.1980

Код ссылки

<a href="https://patents.su/5-742943-multiprocessornaya-sistema.html" target="_blank" rel="follow" title="База патентов СССР">Мультипроцессорная система</a>

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