Многопроцессорная система

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

Авторы: Золотовский, Карпенко, Коробков, Степанян

Есть еще 2 страницы.

Смотреть все страницы или скачать ZIP архив

Текст

СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 03464 5/1 4 С 06 Р БР ОПИСА ЕЛЬСТВ изтакЖ Процессдержит про четвертый,ои комм мяти (прог 8 постоянн 94. многовх входящие в первого по одержит арифйство 10 елител 4 и вт орои 15 ов, ы, пер- арифме 1, четпамят ксор гист 8 регистндексныетретий истрь ьтипл ГОСУДАРСТВЕННЫЙ ИОМИТЕТПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯПРИ ГКНТ СССР Д ВТОРСКОМУ СВ(56) Авторское свидетельство СССРУ 438015, кл. С 06 Г 15/00, 1974Авторское свидетельство СССРВ 608160, кл. С 06 Р 15/00, 1978.Энелоу Ф.Г. Мультипроцессорныесистемы и параллельные вьиисления.М.: 1976, с, 261,Изобретение относится к вычисли тельной технике и может быть использовано при конструировании и разработке специализированных и универсальных вычислительных устройств, предназначенных для обработки цифровой информации.Цель изобретения " повышение быст родействия за счет параллельной обработки команд.На фиг. 1 изображена многопроцессорная система, для случая четырех процессоров (К = 4), на фиг, 2 - про цессор многопроцессорной системы на Фиг, 3 - блок многовходовых буферных регистров; на фиг. 4 - устройство управления; на фиг. 5 - узел оповеще ния первого типа; на фиг, б - узел оповещения второго типа; на фиг. 7 - временная диаграмма работы.(57) Изобретение относится к областивычислительной техники и может бытьиспользовано при построении цифровыхмногопроцессорных систем высокогобыстродействия. Целью изобретенияявляется повышение быстродействия.Многопроцессорная система содержитК процессоров, К блоков памяти, Ксчетчиков, первый и второй коммутаторы, блок постоянной памяти, Выполняемая программа разбивается на Кветвей, причем выполнение каждойветви производится параллельно. Выполнение каждой команды может проводиться как в одном процессоре,и во всех К процессорах системы. 7 ил 2орная система (фиг. 1) со цессоры 1-4 с первого по первый коммутатор 5 вт атор 5, блоки б, -64 .лвамм), счетчики 7, -74, бл ой памяти (ПЗУ), блоки 9, дового буферного регистр состав соответственно с четвертый процессоров. Процессор (фиг. 2)метико-логическое устг с РЖМУ 8 ссс Г/%7 ЩОО РХ О ч ю, 4 юкю Лароши 1В С , Р С,сС 1 вч СУ 1 . 11 О 1 . 1 С: сГ;1 4 4 сй С с4,Сс 1 1 ССЪ 1;,Ф йО 341 ЮМФ ОФВЭ МР 41 14 ФВ ЬЪ ФФэи ГК25, устройство 26 управления и второй демультиплексор 27.Блок многовходовых буферных ре"гистров (фиг. 3) содержит первыйэлемент И 28, первый многорежимныйрегистр 29, первый узел 30 оповещения первого типа, второй элементИ 31, второй многорежимный буферныйрегистр 32, второй узел 33 оповеще"ния первого типа, третий элементИ 34, третий многорежимный буферныйрегистр 35, третий узел 36 оповещения первого типа, дешифратор 37 иузел 38 оповещения второго типа. 15Устройство управления (фиг. 4)содержит регистр 39 команды, счетчик40, память 41 микрокоманд, регистр42 микрокоманд, узел 43 управленияи генератор 44 синхроимпульсов, 20Узел оповещения первого типа(фиг, 5) содержит первый элементИ 45, первый тристабильный ключ 46,первый 47 и второй 48 триггеры, второй элемент И 49, второй тристабильный ключ 50, третий элемент И 51 иэлемент 52 задержки.Узел оповещения второго типа(фиг, 6) содержит первый элементИ 53, первый тристабильный ключ 54, 30первый 55 и второй 56 триггеры, второй элемент И 57, элемент 58 задержки, второй тристабильный ключ 59 итретий элемент И 60.В работе многопроцессорной системы можно выделить два режима: занесение начальной информации, работа..В первом режиме из внешних устройств, в качестве которых могутбыть ЭВМ, устройство ввода (дисплей,ввод с перфоленты или перфокарты)или внешняя память (диски, магнитнаялента), заносятся программа и данные,подлежащие обработке. Программнаяинформация записывается в блоки па",мяти следующим. образом. По внешнейшине команд поступает команда. Форматпоступающей команды следующий: Кстарших бит, где К - число блоковпрограммной памяти, отводится подуправление записью (первый бит управляет записью в первый блок, второй -во второй и т,д,), остальные биты -собственно команда,Адрес поступает по адресной шинекоманд, По отношению к внешнему устройству шина команд и шина адресаявляются одной шиной. Разделение шины производится по пространственному принципу (разряды с 1-го К-й подключаются к внешней шине команд системы, а остальные - к адресной шине,как правило, равно нулю) .Коммутатор 5 работает следующим образом.Информация, поступающая на его вход, поступает на один из выходов во зависимости от кода, поступающего на его управляющие входы. При этом в качестве управляющих берутся значения четырех старших разрядов адресной шины. Наличие "1" в -м разряде подготавливает включение цепи вход - -й выход коммутатора 5, Окончательно цепь формируется тогда, когда на первом управляющем выходе -го процессора (1 .= 1,п) отсутствует сигнал, т.е. он равен нулю. Если сигнал равен единице на управляющем выходе -го процессора, то соответствующий канал коммутатора отключается. В режиме занесения начальной информации все процессоры.не работают и, следовательно, коммутатор образует каналы связи в соответствии с кодом, поступающим с адресной шины. В результате адрес с выхода коммутатора поступает на вход -го блока (программной) памяти.Допустим,. что х = 2, тогда адрес поступает на адресный вход второго блока 6 (программной) памяти. Одновременно по внешней шине команд поступает команда, которая должна быть записана в блок б памяти, Внешняя шина команд помимо разрядов, по которым передается само командное слово, содержит еще К разрядов, по которым передается управляющая информа.: ция. Каждый отдельный разряд связан только с одним входом записи соответствующего блока программной памяти. Например, первый разряд кодового сло- ва связан с первым блоком 6 (прог;т,., раммной) памяти, второй - с блоком 6 , третий - с блоком 6, и т,д, Это позволяет легко совместить управление записью и коммутацию, т.е. хотя данные поступают на все блоки одновременно, но запись происходит только в один блок, В то же время при необходимости информация может бьггь размножена, т.е. одна и та .же команда записана в несколько блоков (программной) памяти. Так как одновременная запись и считывание запрещены в блок памяти команд, то считывание1464 5обладает большим приоритетом. Приналичии сигнала считывания подачасигнала на вход записи запрещена.Это осуществляется подачей единицы5на соответствующий вход коммутатора,Аналогично осуществляется записьначальных данных в процессоры, Самиданные поступают по внешней шинеданных, а номера ячеек в памяти данных - по адресной шине данных. Такаяорганизация записи программ и данныхпозволяет осуществить виртуальныережимы работы памяти программ и памяти данных. Для организации виртуальных режимов любая память разбивается на несколько страниц (в минимальном случае - две). Запись информации ведется в отработанную страницуРежим "Работа", В этом режимеосуществляется выполнение программ,которое протекает следующим образом.Общая система команд разбивается на 25четыре группы: А 1, А 2, АЗ, А 4. Первая группа команд включает в себятолько те команды, которые требуютдля своего выполнения только одинпроцессор, вторая группа - два,третья - три и четвертая - четыре.Для выполнения программа разбивается на К ветвей (в нашем случае - четыре). Разбиение желательно проводить так, чтобы каждая ветвь по ко:мандам группы А 1 выполнялась парал 35лельно. Код группы А 1 (старшие двабита кода операции) равен 00. Команды из блоков памяти (программ) считываются одновременно по сигналу свыходов 1, 2, Зэ и 4 э процессоров1-4. Если это все команды группы А 1,то на выходе блока 8 постоянной памяти Формируется управляющий код,по которому коммутатор 5 настрайва 45ется." х-й вход на ь-й выход, т,е.выход первого блока программной памяти - на вход 1 первого процессоМра, второго - на вход 2 второго ит.д. Таким образом, каждый процессорвыполняет свою команду.Рассмотрим выполнение команды впервом процессоре, Команда поступаетс выхода 1 на вход устройства 26управления (фиг, 2). Код команды и55признаки адресации поступают на память микропрограмм как начальный адрес микропрограмм. Адреса данных через шины данных поступают в индексные 168 барифметические устройства 19 и 20, где Формируются физические адреса ячеек памяти данных. В процессоре имеется три памяти; регистровая 16, оперативная 24 и блока многавходавсго буферного регистра 9. Регистровая и оперативная являются внутренней па.мятью, поэтому обращение к ням не вызывает останова вычислительнагапроцессора по отсутствию данньа, та с как в указанной памяти хранятся на- чальные данные и промежуточные результаты предыдущих вычислений.В та же время работа с памятьюсвязи существенно отличается ат работы с внутренней памятью преждевсего тем, чта готовность данных,пня дальнейшего вычисления априори неизвестна, Поэтому блок многавхадавага буФерного регистра снабжается специальными семафорами, катсрые в;:адят в угль; оповещения (фиг. 3).Рассмотрим, как осуществляется передача данных между двумя процес=. сарами, например между вторым (источник) и первым (приемник). Для нередачи используется специальная ко" манда. Эта команда позволяет указать адрес передаваемого даннога. Пусть, например, необходимо произвести умножение двух чисел с последующей псредачей результата в другой процессор. Фрагмент программы имеет видУМНЗ, А 1; Р, А 2ПЕР-56 П) 01, А 2Здесь 3, Р, П - признаки адресации (3 - память 24 данных, Р - блок 16 регистров, П - блок мнагавхадавых буферных регистров, 01 - указатель номера процессора, в данном случае первого), А 1, А 2 - адреса.Прн выполнении команды умножения код операции и признаки адресации поступают в счетчик адреса (Фиг.4). Сформированный адрес поступает на ПЗУ микракоманд, и начинается выполнение микрОпрограммы. В первом такте осуществляется передача, первого адреса в память данных в регистр 21 адреса, а второго - в регистр 17 адреса блока 16 регистров. Кроме того, осуществляется наращивание адреса в программной памяти на единицу, Ва втором такте осуществляется считывание данных и запись их в регистры,бА 1 б 8 8число из ОЗУ, хранящегося по А 3, результат записать по АЗ),В первом такте адрес А 2 заноситсяв буферные регистры всех секций. Код01 поступает на дешифратор, где вырабатывается сигнал выбора кристалла(в данном случае - на .первом выходе). Бо втором такте осуществляетсясчитывание иэ операндов. Из ОЗУ пообычной схеме, а из блока многовходовых буферных регистров - черезузел оповещения второго типа. Еслисемафоры данной ячейки находятся всостоянии 10,либо 11, то сигнал считывания проходит на блок регистрови триггер устройства управления, Происходит считывание, и триггер сбрасывается в нуль, что разрешает даль нейшее выполнение микропрограммы.Если же триггеры находятся в состоянии 01, то и сигнал считывания невырабатывается, и вычислительный процесс блокируется по отсутствию дан ных. Указанные блокировки позволяютосуществить синхронизацию параллельно выполняемому процессору.Рассмотрим случай, когда в одном изблоков памяти (программ) считываетЗ 0 ся команда группы А 2, а из остальныхсчитываются команды группы А 1, Допустим, что такая команда считываетсяиз блока б, . В этом случае код(01000000) на входе блока 8 преобра 35зуется в такой код который подклюФчает вход 1 к выхоцам 1 и 2, а ос"тальные остаются без изменения, т.е.33, 4- 4 (1 в 1 - 2,3 3,4-.4)Вкачестве примера рассмотрим реалиэа- О цию Функции 1 = 8 Х цессора,При записи адреса Одновременно Формируется сигнал сч 11 тыва 1111 я значе- ния семафоров, которые хранятся по тому же адресу,что и данные, Считан ный семафор записывается в триггеры 47 и 48 (фиг. 5). Если г трит герах хранится код 01 - запись разрешена (код 00 ссответствует зяпрещению и залСИ И СЧИТЫВа 1 тия, блекирОВКа процессора; 01 - запись развешена счить 1 вание запре 1 цено10 - зс 1 пись запрещена, считывание р.эрешено.11 - запись и считывание. разрешены без Ограничения) ТО пр 11 подаче в следующем такте сигнала записи на вход 3 п Формируется сигнал записи, которыи поступает на вход записи блока реГистра, и триггер в ус грсЙ". стве управления сбрасывается в нуль, что возобновляет пода:.у на счетчик сигналов С . Если семафор сброшен в состояние 10, т, . 11 редыдулгие данные еще не с 1 итаны из че 15 к 11, ТО сигнал записи не Формируетстт,. триггер устройства управления не пребрасывается в нульи ус."рОЙст 1: О уттравления ,(процессор), а вместе с ним - источник, блокируются. При з сом семафор соответствующей ячейки будет считываться в каждом такте серии С постоянно до тех пор пок 11 считывание из соответствующей ячейси не произойдет.Считывание ингформаьп 1:1 осуществляется аналогично, Пустт необходимо выполнить команду АДД П, 01, А 2, 3, АЗ (сложить число из буферного реГистра первОЙ секггии адрес А 2. и ТС 11 Р,А 1,П 10,А 2 умножителя 11 и запуск его на выполнение Операции В трет 1 ем такте Осу" ществляется запись результата в блок 16 регистров и регистр 23 связи (э регистр связи записывается результат выполнения любой Опера 1 П 1 и) и, кроме того, в третьем такте Ос.ушествляется запись следующей команды в устройство 2 б, Этой командой в данном случае является команда передачи (ПЕР).В первом такте вьполнения команды ПЕР адрес из поля А 2 команды запи ь 1- вается в аг 1 ресные регистры всех блоков многовходовых буфе зьых внешних регистров, но суабатьгэ: - т только тот который соответствует ксду 01, т.е, блок внешних реГистров г.ервого п,зоАргумент х. находится в регистре общего назначения с номером А 1 про цессора 1 а в процессоре 2 аргумент Х находится в регистре буферного регистра с номером 10, А 2, т.е, всекции, связанной с,первым процессором и номером А 2. В процессоре 1 вычисляется величина 1/сос;Х. Эти функции вычисляются параллельно. Полученное значение функции епХ передается в первый процессор через сис, темный регистр (это регистры блокабуферных регистров, имеющие номер О).Как только вычисления заканчиваются,то любой процессор может запроситькоманду, так как нарашивание счетчи 14 б 4 1 б 8шаге содержимое, регистров считывается в первое устройство 19 и во второе устройство 20, где они запоминаются, Одновременно их значения запиСываются в адресные регистры 21 и 22 памяти данных. В третьем такте считываются элементы а , и Ь , (во втором процессоре а Ьп, в третьем - а н и т.д,). ЦиклогРамма опРеделе О ия одного элемента матрицы М = 4 оказана на фиг. 7, Для получения сех четырех элементов циклограмма повторяется четыре раза.Существует команда перемножения . 15 атриц с передачей элементов матрицыиз одного процессора в другой. В том случае матрица хранится следую" м образом. Первый столбец хранится блоке буферных регистров первого 20 процессора, секция второго процессора, второй столбец в блоке буферных регистров второго процессора, секция третьего процессора и т,д, Одновре,менно с умножением организуется пе редача элементов Ь" . Причем Ь , иэ1) первого процессора в четвертый, Ь, из второго процессора в первый, Ь из третьего, Ъ, из четвертого в третий. Затем все повторяется для 30 элементов Ь и так, пока ье будутф ;определены все элементь требуемои матрицы. Так как обмен осуществляет,ся в момент умножения, то по времени выполнения обе команды эквивалентны.Рассмотрим теперь выполнение команды перехода, т.е, изменение естественного хода программы. Пусть в первом процессоре выполняется команда "Условный переход". В зависимости от признака результата предыдущей команды, который хранится в АЛУ, содержимое адресного поля . А 1 передается в устройство 19, где формируется физический адрес перехода, Далее сформированный адрес по шине .числа, и сигнал записи по управляющей шине поступают в счетчик 7, . Таким образом, переход на. новый адрес программы осуществлен.5 ОВыполнение других команд осуществляется стандартно В устройствах 19 и 20 формируются адреса первого и второго операндов, которые .поступают в память 24 (блок 1 б регистров).55 Происходит считывание данных и запись их в один из арифметических блоков. После вь 1 полнения действия результат переносится в память, либоостается в арифметическом блоке, иуправление вновь передается в памятьпрограмм,Формула изобретенияМногопроцессорная система, содержащая К процессоров, К блоков памяти, первый коммутатор, причем с первого по К-й выходы первого коммутатора подключены соответственно квходам кода команды с первого по К-йпроцессоров, выходы с первого по К-й блоков памяти соединены соответственно с первого по К-й информационными входами первого коммутатора, вход данных системы подключен к первым информационным входам с перйого по К-й процессоров о т л и ч а ю щ а я с я тем, что, с целью повышения быстродействия за счет параллельной обработки команд, система дополнительно содержит К счетчиков, второй коммутатор, блок постоянной памяти, причем адресный вход данных системы соединен с адресными входами с первого по К-й процессоров, адресный выход -го процессора ( = 1, , К соединен с информационным входом х-го счетчика, выход которого соединен с -м выходом второго коммутатора и подключен к адресному входу -го блока памяти, первый разряд управляющего выхода -го процессора соединен с входом разрешения чтения 1-го блока памяти, счетным входом д-го счетчика, с -м входом управления, отключением а-го выхода второго коммутатора, вход команды системы подключен к информационным входам с первого по К-й блоков памяти и к (К+ 1) -му информационному входу первого коммутатора, старшие разряды адресного входа команды соединены с адресным входом второго коммутатора, информационные входы которого соединены с младшими разрядами адресного входа команды системы, второй разряд управляющего выхода -го процесСора соединен с входом управления режимом работы д-го счетчика, старший разряд выхода с первого по К-й блоков памяти соединены с соответствующими разрядами адресного входа блока постоянной памяти, выход которого соединен с адресным входом первого коммутатсра, инфор.1 Э 1464168 юю мационньп вьход х-го процессора соединен с-ми инФормационными входами остальных процессоров, где .1 2 (и+1),

Смотреть

Заявка

4235581, 23.04.1987

ТАГАНРОГСКИЙ РАДИОТЕХНИЧЕСКИЙ ИНСТИТУТ ИМ. В. Д. КАЛМЫКОВА

ЗОЛОТОВСКИЙ ВИКТОР ЕВДОКИМОВИЧ, КОРОБКОВ РОАЛЬД ВАЛЕНТИНОВИЧ, КАРПЕНКО ЛЕОНИД ФЕДОРОВИЧ, СТЕПАНЯН АЛЕКСАНДР КАРОВИЧ

МПК / Метки

МПК: G06F 15/163

Метки: многопроцессорная

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

Код ссылки

<a href="https://patents.su/10-1464168-mnogoprocessornaya-sistema.html" target="_blank" rel="follow" title="База патентов СССР">Многопроцессорная система</a>

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