Процессор для мультипроцессорной системы
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 1295410
Авторы: Белицкий, Зайончковский, Палагин
Текст
(594 С 15 ОСУДА О ДЕЛ ЕКНЫЙ КОМИТЕТ СССРЗОБРЕТЕНИЙ И ОТКРЫТИЙ ПИСАНИЕ ИЗОБРЕТЕНИ и ъ ТЕЛЬСТВУ ВТОРСКОМУ 217/78 Бюл. В 9кибернетикиовацкий,А.И. Зайончков скин нции 1 Ф 2500659,опублик. 1982.Мультипроцессорныеллельные вычисленияс,55, рис.2.12.идетельство СССРС 06 Р 15/16, 1983(54) ПРОЦЕССОР ДЛЯ МУЛЬТИПРНОЙ СИСТЕМЫ(57) Изобретение относится к областивычислительной техники и может бытьиспользовано при построении универсальных и специализированных мультипроцессорных систем из микропроцессоров. Целью изобретения являетсяповышение производительности процессора. С этой целью в процессор, содержащий блок обработки данных (микропроцессор), блок памяти .характеристик, регистр данных, мультиплексорадреса, дешифратор, двунаправленныйкоммутатор, коммутатор данных, коммутатор адреса, коммутатор признаковрежима, два элемента И, первый мультиплексор синхросигналов и блок памяти программ, введены два триггеравыправления, схема сравнения, второймультиплексор синхросигналов, трерий и четвертый элементы И. 8 ил.17 12954При выполнении микрокоманды сиг:- нал вырабатывается на восьмом выходе дешифратора 72, не подключенном ни к одному из регистров 68 Выдачей информации управляет дешифратор 73. Код, находящийся на второй группе линий 62, инициализируя дешифратор 73, открывает соответствующую ему группу элементов И 70; которая пропускает содержимое выбранного реги стра 68 на выход блока. Выходы групп элементов И 70 образуют "проводное ИЛИ". Если в текущей микрокоманде информация из блока 42.выдаваться не должна, то в разрядах регистра микро команд 50, формирующих состояния второй группы линий 62, записывается код числа "7" и ни одна из групп элементов И 70 не открывается.Функции регистров 68, входящих 20в состав блока 42, распределены следующим образом: РО - РЗ (т.е, регистры, управляющие входы которых связаны с 0 - 3 выходами дешифратора 72) - регистры общего назначения, Р 4 - регистр текущих данных, Р 5 - счетчик команд, Рб - указатель стека.В таблице приведены некоторые микропрограммы работы блока 1. В граАе 1 приведен адрес микрокоманды в микропрограммной памяти 55; в графе 2 - мнемоники микроопераций, управляющих Аормированием адреса следующей микрокоманды; в графе 3 " мнемоники микроопераций, выполняемых 35 арифметико-логическим устройством 39, блоком 42, рабочим регистром 44, регистром 45, а также выходными регистрами 40 и 41 адреса и данных, входным регистром 43 данных и управ ляющих состоянием триггера 51; в графе 4 - мнемоники микроопераций управляющих состояниями выходов 23, 24 и 25 блока 1.45При записи микропрограмм использованы следующие условные обозначения; РР - рабочий регистр 44; РО-Рб - регистры, входящие в состав блока 42; РПР - установка триггера 88;, ЗПР - 50 сброс триггера 88;. РАВых - выходной регистр 40 адреса; РДВых - выходной регистр 4 1 данных; РДВх - входной регистр 43 данных; РК - регистр 45 команд РАМ - регистр-счетчик 74; 55 +1 РАМ - увеличение на единицу содержимого регистра-счетчика 74 БПЯ-РАМ- запись в регистр-счетчик 74 константы И; УПЫ .ФРАМзапись в регистр 10 18счетчик 74 числа; старшие 8 разрядов которого совпадают с соответствующими разрядами константы Я,а младшие четыре образованы конъюнкцией соответствующих разрядов константы М с состоянием нулевого плеча триггера 51 и выходов регистра признаков 49; М 1 - условие для установки триггера 51,; РП - регистр 49 признаков Чт -сигнал уровня логической "1" на выходе 24; Зп - сигнал уровня логической"1" на выходе 25 ЗУ - сигнал уровня логической "1" на выходе 26.Задача микропрограммы инициализа"ции - установка в Р 5 кода "0", Микро"команда из нулевой ячейки (фН) памяти 55 выполняет пересылку содержимого регистра 44.через устройство 39(с инвертированием кода) и группу элементов И 47 в регистр Р 4.Следующая микрокоманда, адрес которой Аормируется добавлением "1" к содержимому регистра-счетчика 74, выполняет логическое умножение кодов,. хранящихся в регистре 44 и в регистре Р 4. Результат - код "0" - заносится в регистр Р 5. Кроме того, устанавливается в "О" триггер 88 маски, прерывания,.Микропрограмма выборки командьг начинается микрокомандой, расположеннойв ячейке 2 Н Мнемоника 7 ЕЕ расшифровывается как занесение в регистр-счетчик 74 информации с вторых информационных входов мультиплексора 75 а код "11 является шестнадцатиричным обозначением константы, записанной в адресном поле. В результате выполнения микрокоманды в регистре-счетчике 74 оказывается код "10", если триггер 51 прерывания установлен в "1" (запрос прерывания отсутствует) или триггер 88 находится в состоянии "1", либо код "11" при совпадении запроса и разрешения прерывания.Нарастание Аронта сигнала, поступающего с входа 27. на синхронизирующий вход триггера 51 вызывает переключение последнего в состояние "О", так как на информационный вход его заведена константа нуля,В случае несовпадения запроса и разрешения прерывания следующей выполняется микрокоманда, хранимая в ячейке 1 фН, В ней реализуется занесение в регистр-счетчик 74 константы 3. Далее содержимое Р 5 (счетчика команд) одновременно заносится в регистры 40 и 44, а также устанавлива1912954ется в состояние "1" триггер 51, чтообуславливается наличием микроприказа М 1, и триггер 57. Последним указывается сигнал " 1" на выходе 26, Наличие микроприказа РАВых также уста 5навливается в точке нарастания сигнала линии Ф 2 второго синхронизирующего входа блока 1 активность синехронизирующего входа триггера 53,чтов случае присутствия на тактовом входе низкого уровня сигнала переключа;ет указанный триггер в состояние "0".Это состояние запрещает прохождениечерез элемент И 56 сигнала на синхронизирующий вход регистра 50. Последующее занесение информации (т,е,прием содержимого ячейки 4 Н) происходит после изменения уровня сигналана тактовом входе блока 1 и, какрезультат, восстановления состояния 20"1" в триггере 53,Следующая микрокоманда устанавли-.вает сигналы логической "1" на выходах 23 (" Чтение" ) и 25 (" Выбор памяти") Слово, поступившее на информационный вход-выход 21 регистра 41,заносится в регистр 45. В завершениитакта ниспадающий фронт. сигнала"Чтение" на первом выходе операционной части регистра 50 через элемент 30ИЛИ 57 вызывает активность синхронизирующего входа триггера 58 для возврата его в состояние "0" (т.е, снятие уровня логической "1" с выхода 26),35 Микрокоманда по адресу 5 Н увеличивает на единицу хранящееся в счетчике команд число и переписывает код из регистра 45 в регистр-счетчик 74, 40 формируя тем самым адрес первой микрокоманды микропрограммы принятой команды.В качестве такой микропрограммы рассмотрим выполнение команды сложе ния чисел, расположенных в, регистре 44 и,в регистре общего назначения (Р 2). Микропрограмма начинается с ячейки 2 ФН. Первая микрокоманда выполняет сложение соответствующих чисел, располагая результат в регистре текущих данных (Р 4). Код признаков заносится в регистр 49 Следующая микрокоманда перемещает результат из Р 4 в регистр 44 и производит переход к микропрограмме выборки команды.В случае одновременности нахождения в состоянии "0" триггеров 51 и 88 10 20после выполнения микрокоманды, расположенной в ячейке 2 Н памяти 55, происходит переХод к выполнению микрокоманды, размещенной в ячейке 11 Н. При этом устанавливается триггер 88 и в регистр-счетчик 74 оказывается записанным код числа 6 Н. Далее содержимое указателя стека (Р 6) в блоке 42 заносится в регистры 84 и 40, а в следующей микрокоманде (7 Н) информация со счетчика команд через регистр 41 передается на информационный вход-выход 21 для записи в стек (ячейку блока 2, адрес которой задается указателем стека Р 6), Укаэанное действие осуществляет запоминание адреса возврата из прерывающей програмПродолжая процедуру линейной выборки микрокоманд, микропрограмма уменьшает содержимое указателя стека на единицу, Микрокомандами, расположенными в ячейках 9 Н и АН, в счетчике команд формируется код, состоящий из единиц - в соответствующей ячейке блока 2 хранится адрес входа в подпрограмму перехода к программе реакции на прерывание, Микрокомандами ВН и СА адрес входа переписывается в счетчик команд Р 5, после чего осуществляется переход к микропрограмме выборки команды.Блок 2 памяти программ работает следующим образом.Один из двух возможных режимов обращения к нему инициируется появлением низкого уровня сигнала на первом инверсном однОвременно с високим уровнем на втором входах разрешения, При чтении информации.сопровождающий указанные сигналы высокий уровень на первом управляющем входе блока вызывает срабатывание элемента И 91 и, следовательно, появление "1" на первых входах записи/чтения накопителей 89 и на объединенном входе группы элементов И 90. В качестве последних используются элементы с тремя состояниями выхода. При активном состоянии объединенного входа выходы группы элементов И 90 (они же линии входа-выхода блока 2) повторяют состояния ("0" или "1") выходов какопителей 89, установившихся в результате операции "Чтение" в них, Адрес ячейки в накопителе 89 задается кодовой комбинацией на адресном входе 22, В противном случае выходам группы эле21 129541 ментов И 90 указывается третье (высокоимпедансное) состояние, чем определяется состояние инФормационных входов накопителей 89 задающими уровнями с линий входа-выхода 21.При записи информации высокий уровень на втором входе 24 записи/чтения блока вызывает срабатывание элемента И 92 и появление высокого уровня сиг" нала на вторых входах записи/чтения 10 накопителей 89 устанавливает соответствующую операцию в них. Блок 3 памяти характеристик работает следующим образом.Если на первом либо на втором входах записи/чтения блока установлен высокий уровень сигнала (что служит признаком одного из режимов обращения, то активным становится соответ ствующий вход записи/чтения накопителей 94 для задания в них операций записи либо чтения (номер ячеек,в накопителях 94-указывается кодовой комбинацией на адресных .входах 95, по ступающей с линий адресного входа блока). При чтении характеристики вызываемое из накопителей 94 слово по линиям 99 передается на выход блока при записи запоминаемый код поступа ет с информационного входа 21.В случае одновременного присутствия высоких уровней на первом и втором входах записи/чтения блока 3, сигнал на первом инверсном входе 9 запрещает срабатывание элемента И 96 и устанавливает тем самым определен- ность в задании операций.для накопи" телей 94. 40Формула изобретения Процессор рпя мультипроцессорной системы, содержащий блок обработки данных, блок памяти характеристик, регистр данных, мультиплексор адреса, дешифратор, двунаправленный коммутатор, коммутатор данных, коммутатор.адреса, коммутатор признаков режима, два элемента И, элемент И-ИЛИ 50 и блок памяти программ, информационный вход-выход которого соединен с первым информационным входом-выходом двунаправленного коммутатора и информационным входом-выходом блока обра ботки данных, информационный вход- выход младших разрядов блока обработки данных подключен к первому инфор" мационному входу мультиплексора адреО22са и выходу коммутатора данных, а информационный вход-выход старших разрядов блока обработки данных соединен с информационным входом блока памяти характеристик, выход первого мультиплексора синхросигналов подключен к тактовому входу блока обработки данных, выход мультиплексора адреса соединен с адресным входом блока памяти характеристик, адресный выход младших разрядов блока обработки данных подключен к информационному входу младших разрядов дешифратора, адресному входу блока памяти программ и информационному входу младших разрядов коммутатора адреса, а адресный выход старших разрядов блока обработки данных соединен с входами первого элемента И и ифнормационным входом старших разрядов коммутатора адреса, выход первого элемента И подключен к первому входу второго элемента И, информационному входу старшего разряда дешифратора и инверсному входу разрешения обращения блока памяти программ, первый выход признака режима блока обработки данных соединен с первым управляющим входом двунаправленного коммутатора, первым информационным входом коммутатора признаков режима, первым входом записи/чтения блока памяти программ и стробирующим входом дешифратора,второй выход признака режима блока обработки данных подключен к второму информационному входу коммутатора признаков режима и второму входу записи/чтения блока памяти программ, третий выход признака режима блока обработки данных соединен с третьим информационным входом коммутатора признаков режима, прямым входом разрешения обращения блока памяти программ и инверсным управляющим входом дешифратора, четвертый выход признака режима блока и обработки данных подключен к прямому управляющему входу дешифратора и второму входу второго элемента И, первый выход дешифра" тора соединен с четвертым информацион ным входом коммутатора признаков режима, второй выход дешифратора подключен к управляющему входу коммутатора данных, информационный вход которого соединен с выходом регистра данных, выход второго элемента И подключен к первому входу элемента И-ИЛИ и является выходом запроса про. цессора, выход коммутатора адреса+1 РАМ 2 Р 5:РАВых,Р 4; М 1 РДВх РК Р 4+1- Р 5 3 Чт ЗУ Н РК-фР является адресным выходом процессора, вход разрешения обращения процессора соединен с управляющими входами коммутатора адреса и коммутатора признаков режима, инверсным третьим входом второго элемента И, вторым управляющим входом двунаправленного коммутатора и вторым входом элемента И-ИЛИ, третий вход которого подключен к входу готовности процессора, второй ин формационный вход-выход двунаправленного коммутатора является информаци" онным входом-выходом процессора, а группа младших разрядов второго информационного входа-выхода двунаправ ленного коммутатора соединена с вторым информационным входом мультиплексора адреса, первый, второй и третий выходы коммутатора признаков режима являются соответственно первым, вторым и третьим выходами признака ре,жима процессора, а четвертый выход коммутатора признаков режима подключен к входу-выходу прерываний процес 25 сора, первый и второй синхронизирующие входы блока обработки данных соединены соответственно с первым и вторым синхронизирующими входами процессора, о т л и ч а ю щ и й с я тем, что, с целью повышения производительности, он содержит два триггера управления, схему сравнения, третий, четвертый и пятый элементы И, первый и второй входы и выход пятого элемента И подключены соответст венно к прямому выходу первого триггера управления, третьему выходу дешифратора и четвертому входу элемен 1 О 24та И-ИЛИ, инверсный выход и информационный вход первого триггера управления соединены с первым входом тре 1тьего элемента И, вход установки в"О" первого триггера управления подключен к второму синхронизирующемувходу процессора, вход-выход прерывания процессора соединен с синхронизирующим входом первого триггерауправления и вторым входом третьегоэлемента И, выход которого подключен к управляющему входу мультиплексора адреса и синхронизирующнм входом регистра данных и второго триггера управления, вход установки в"О", вход установки в "1" и выходкоторого соединены соответственнос вторым выходом дешифратора, выходом схемы сравнения и входои прерывания блока обработки данных, первый и второй входы и выход схемысравнения подключены соответственнок выходу блока памяти характеристик,выходу регистра данных и входу записи регистра данных, вход установки в "О" которого соединен с четвер"тым выходом дешифратора, первый ивторой входы четвертого элемента Иподключены соответственно к второмувыходу признака режима блока обработки данных.и третьему выходу дешифра-,тора, первый и второй входы записи/чтения блока памяти характеристиксоединены с выходами соответственночетвертого и третьего элементов И,а информационный вход регистра данных - с выходом блока памяти характеристик,1295410 26 2 Зп ЗУ СН БП 4-РАМ РДВх-Р 5 Чт ЗУ 11 Н БП 6-+РАМ РПР 2 фН +1 РАМ Р 2+РР Р 4; РП 21 Н ВП 2-ф РАМ Р 4-РР 6 Н, +1 РАМ 7 Н +1 РАИ 8 Н +1 РАМ 9 Н +1 РАМ, АН Ф 1 РАИ ВН +1 РАМ МН ВПЗ-РАМ Микропрограммы,М (Рг фиг. Составитель Г.Виталиеор И.Николайчук Техред И.Попович орректор 0 уговая зводственно-полиграфическое предприятие, г.ужгород, у . рл П оектная 4Э Заказ 619/56 ВНИИПИ Го по дел 113035, МЛ 30 Л Подписноемитета СССРткрытийкая наб д.4/51 129541Изобретение относится к вычислительной технике и может быть использовано при построении универсальных.и специализированных мультипроцессорных систем (МпС) и микропроцессоров, каналом связи для группы которых и, в частности, для системы в целом служит общая информационная вина.Целью изобретения является повышение производительности процессОра и 10 расширение его функциональных возможностей путем динамического назначения свободных сегментов программы и представления ими.последовательно вложенных ветвей задачи. 15 На фиг.1 представлена Функциональ(,ная схема процессора для мультипроцессорной системы; на фиг.2 - пример выполнения блока обработки данных 20 (микропроцессора); на фиг.З - пример выполнения блока регистров блока обработки данных; на фиг.4 - пример выполнения регистра адреса блока обработки данных; на фиг.5 - пример выполнения блока памяти программ; на фиг.б - пример выполнения блока памяти характеристик; на фиг.7 и 8 - временные диаграммы Работы процессора,Процессор для мультипроцессорной 30 системы (Фиг.1) содержит блок обработки данных (микропроцессор) 1,блок 2 памяти программы, блок 3 памяти характеристик, регистр 4 данных, схему 5 сравнения, дешифратор 6, два триг гера 7 и 8 управления, мультиплексор 9 адреса, элемент И-ИЛИ 10, пять элементов И 11 - 15, двунаправленный коммутатор 16, коммутаторы 17 - 19 данных, адреса и признаков режима и име ет тактовую шину 20, Кроме того, блок 1 имеет информационный вход-выход 21, адресный выход 22 четыре выхода 23 - 26 признака режима, вход 27 прерывания, а процессор имеет первый 45 и второй синхронизирующие входы 28 и 29, вход 30 разрешения обращения, вход 31 готовности, выход 32 запроса, информационный вход-выход 33, адресный выход 34, первый 35, вто рой 36 и третий 37 выходы признака режима и вход-выход 38 прерывания.Блок 1 содержит (Фиг.2) арифметико-логическое устройство 39, многоразрядный первый инФоРмационный вход 55 которого связан с информационными входами выходного регистра 40 адреса и выходного регистра 41 данных и с выходом блока 42 регистров,. инфор 0 2мационный вход которого подключен к выходу входного регистра 43, информационным входам рабочего регистра 44 и регистра. 45 команд, выходы которых соединены соответственно с вторьп. информационным входом арифметикологического устройства 39 и с первым информационным входом регистра 46 адреса, и через группу элементов И 47 совместно с входами элемента И 48 к информационному выходу арифметико-логического устройства 39, старший разряд которого, выход переноса, а также выход элемента И 48 соединены с первым, вторым и третьим информационными входами регистра 49 признаков, Выход последнего связан с группой старших разрядов второго информацион" ного входа регистра 46 адреса, третий информационный вход которого подключен к выходу позиций адресного поля регистра 50 микрокоманд. Младшая пориция второго информационного входаегистра 46 адреса связана с нулевым выходом триггера 51,синхронизирующий вход которого подключен к входу 27 прерывания, единичный вход - к выходу элемента И 52, первый вход которого связан с синхронизирующим входом триггера 53 и выходом элемента И 54, Выход регистра 46 адреса подключен к входу микропрограммной памяти 55; выход которой связан с информационным входом регистра 50 микрокоманд, соединенного синхронизирующим входом с выходом элемента И 56, первым и вторым выходами операционных полей . - с входами элемента ИЛИ 57,. с первым 23 и вторым 24 выходами признака режима. Выход элемента ИЛИ 57 подключен к синхронизирующему входу триггера 58. Третий выход операционных полей регистра 50 соединен с третьим выходом 25 признака режима, четвертый выход операционих полей регистра 50 - с управляющим входом выходного регистра 40 адреса, первым входом элемента И 54 и единичным входом триггера 58, а пятый выход операционных полей регистра 50 - с вторым входом элемента И 52. Остальные выходы операционных полей регистра 50 микрокоманд подключены .к управляющим входам 59 (арифметико-логического устройства 39), 60 и 61 (выходного 41 и входного 43 регистров), 62 (блока 42), 63 (рабочего регистра 44), 64 (регистра 45), 65 (регистра 46), 66 (регистра 49), а также к объединенному входу3 12954 67 группы элементов И 47 (эти связи на фиг.2 условно не показаны). К синхронизирующим входам выходных регистров 40 адреса, входного регистра 43 данных, блока 42 регистров, рабочего регистра 44, регистра 45 команд и регистра 49 признаков, а также к первому входу элемента И 56 подключен первый синхронизирующий вход 28 (Ф 1), второй синхронизирующий вход 29 (Ф 2) О объединен с вторым входом элемента И 54, а тактовый вход (обозначенный как сигнальная линия тактовой шины 20) блока 1 - с информационным входом триггера 53, единичный выход которого 15 подключен к второму входу элемента И 56. При этом информационные входы триггеров 51 и 58 подключены к шине нулевого потенциала блока 1. Одноименные позиции выхода выходного ре гистра 41 данных и информационного входа входного регистра данных связаны между собой и подключены к соответствующим линиям информационного входа-выхода 21, а выход выходного регистра 40 адреса подключен к адресному выходу блока 1. Арифметико-логическое устройство 39 представляет собой комбинацион ный логический узел, выполняющий в соответствии с задающей кодовои комбинацией на управляющем входе 59 операции сложения, вычитания, логического умножения, сложения по модулю два, 35 . увеличения на единицу, уменьшения на единицу и инверсии над поступающими на его входы операндами. Кроме того, им могут быть заполнены передача без модификации и сдвиг влево или вправо 40 на один разряд кодов, поступающих соответственно с первого и второго информационных входов. Код числа, полученного в результате операции, поступает на информационный выход ариф метико-логического устройства 39,Блок 42 регистров (фиг.3) состоит из семи регистров 68,.информационные входы 69 которых объединены в информационный вход, а выходы подключены 50 к входам соответствующих групп элементов И 70, выходы 71 которых объединены в выход блока. Управляющие входы регистров 68 связаны с выходами дешифратора 72, общие входы групп 55 элементов И 70 соединены с выходами дешифратора 73. Управляющий вход дешифратора 72 подключен к синхронизирующему входу блока, а информационные 10 4входы дешифраторов 72 и 73 соединеныс управляющим входом 62,Регистр 46 (фиг.4) состоит из регистра-счетчика 74, синхронизирующийвход которого сопряжен с линией Ф 2второго синхронизирующего входа блока 1, информационный вход подключенк выходу трехканального мультиплексора 75, а выход 76 является выходомузла, Входы младших четырех разрядовпервого информационного входа 77мультиплексора 75 соединены с шинойнулевого потенциала, а старших восьми - соединены с первым информационным входом узла. Входы младших четырех разрядов второго информационноговхода мультиплексора 75 соединеныс выходами элементов И 78 - 81, первые входы 82 - 85 которых соединенысоответственно с нулевым, первым,вторым и третьим разрядами второгоинформационного входа, а вторые входы указанных элементов И и старшиевосемь разрядов второго информационного входа мультиплексора 75 связаны с разрядами его третьего информационного входа 86 и третьим информационным входом узла, Управляющие входы мультиплексора 75 подключены к входамэлемента И 87, выход которого соединен с управляющим входом регистра- счетчика 74, и к первой группе линий управляющего входа 65, Третийвход элемента И 78 соединен с нулевым выходом триггера 88, единичныйи нулевой входы которого подключенык второй группе линий управляющеговхода 65,Микропрограммная память 55 хранит микропрограммы исполнения .системы команд блока 1, а также микропрограммы инициализации, выборки команд и перехода по запросу прерывания.Блок 2 памяти программ (фиг.5) состоит из накопителей 89, в качестве которых используются, например, микросхемы полупроводникового ЗУ, связанных между собой адресными, а также первыми и вторыми входами записи/чтения, Точка объединения адресных входов накопителей 89 подключена к адресному входу 22 (обозначенному цифрой сигнальной линии внешней связи) блока 2, а точки объединения первого и второго входов записи/чтения - соответственно к объединенному входу группы элементов И 90, выходу элемента И 91, первый вход которо 5 12954 го связан с входом 23, и выходу элемента И 92, первый вход которого связан с входом 24 блока 2. Оставшиеся. одноименные входы элементов И 91 и 92 объединены и вторые инверсные вхо ды 93 подключены к инверсному входу разрешения, а третьи входы - к прямому входу 25 разрешения. Выходы накбпителей 89 через группу элементов И 90 подключены к одноименный линиям 10 входа-выхода 21, г которыми также связываются информационные входы соответствующих накопителей 89.Блок 3 памяти характеристик (Фиг.б) состоит из накопителей 94,связанных 15 между собой адресными входами 95, а также первыми управляющими входами записи/чтения. Точка объединения вторых входов записи/чтения накопителей 94 подключена к выходу элемента И 96, 20 первьпЪ инверсный вход 97 которого, включенный в точку объединения первых входов записи/чтения накопителей 94, связан с первым входом записи/чтения, а второй вход 98 - с вторым входом записи/чтения блока 3. Точка объединения адресных входов 95 связана с адресным входом, а информационные входы и выходы 99 накопителей 94 являются линиями соответственно инфор- З 0 мационного входа 21 и выхода блока 3,Схема 5 сравнения может быть выполнена на основе сумматора, в котором в качестве первых входов задействованы информационные инверсные вхо ды, в качестве вторых входов - инфор" мационные прямые входы сумматора, а на входную линию переноса заведен сигнал логического "О". Выходная линия переноса сумматора в таком слу чае является выходом узла. Коммутатор 17 (аналогично коммута", торы 18 и 19) может быть включен ввиде группы элементов И, способных устанавливать на выходе "О", "1"., а также высокоимпедансное состояние.При этом входы элементов И, от активности которых зависит, будет ли на выходе повторение состояния вто рого входа, либо ему задается, третье состояние, объединяются,в пределах группы и являются управляющим входом узла.Двунаправленный коммутатор 16 может быть выполнен в виде двух групп элементов И, способных устанавливать на выходе уровни логического "О", логической "1" и третье (высокоим 10опедансное) состояние, с подключенным к управляющим входам групп выходом соответственно первого и второго элементов И; первый инверсный вход перного элемента И совместно с первый вхсдом второго элемента И связаны с первым управляющим входом, а объединенные вторые входы первого и второго элементов И. - с вторым управляющим входом узла, Свободные входы первой группы элементов И подключены к соответствующим выходам второй группы элементов И и представляют со бой линии первого входа-выхода, а свободные входы второй группы элементов И, связанные с выходами первой группы .элементов И, - линии второго входа-:выхода двунаправленного коммутатора 16, При этом, если одновременно с.сигналом активизации на втором управляющем входе на первом управляющем входе установлен уровень "О", передача информации происходит с первого входа-выхода на второй вход-выход узла, для уровня "1" - в противоположном направлении,На Фиг.7 представлена временная диаграмма Функционирования узлов процессора в цикле инициации им име нованного сообщения, а на фиг.8- при восприятии именованного сообщения; проводимого по внешним цепям (для случая наложения цикла последнего на цикл записи характеристики в процессоре). Значением времени й обозначена исходная точка цикла обращения к внешнему устройству (цикла, используемого для передачи процессорам МпС именованного сообщения). В начале его блоком 1 Формируется сигнал на выходе 26С окончанием действия синхронизирующего сигнала Ф 1 на адресном выходе 22 устанавливается задающая кодовая комбинация которая че,рез элемент И 12 вызывает активное состояние. на внешнем выходе 32 за" проса и одновременно является условием для инициирования первого выхода (диаграмма 6 ) дешифратора 6,Значением ,. обозначена точка анализа готовности внешних цепей процессора к приему передаваемых, в данном цикле информационного слова (имени ветви) и указателя типа обмена,зна. чением 1 - точка захвата внешних цепей.7 129541Интервал времени-по состо 1янию тактовой шины 20 устанавливаетпериод ожидания (Т, ) блока 1.Снятие блокирующего (единичного)состояния триггера 7 определяет начало цикла обращения - операция "Чтение" - в блоке 3Приведенная временная диаграмма соответствует случаю, когда содержимое регистра 4 вначале цикла обращения меньше считы Оваемой из блока 3 характеристики.Значением с обозначена точка завершения блоком 1 исполнительной фазы, т.,е. снятие задающих сигналовна выходах 24 и 26, цикла обращения 15к внешнему устройству. В этой точкес учетом значений тестируемых состояний указывается изменение содержимого регистра 4 и установление активного состояния входу 27 блока 1. 20Значениемобозначена точка отключения, в соответствии со снятиемзадающего сигнала на выходе 36,внешних цепей от внутренних цепей процессора,25Значением "С (фиг, 9) обоз наченаисходная точка цикла. обращения кустройству ввода-вывода (цикла, назначенного для записи процессоромв собственный блок 3 характеристики 30локального процессора). В начале егоблоком 1 формируется сигнал на выходе 26. С окончанием действия синхрониэирующего сигнала Ф 1 на адресномвыходе 22 устанавливается задающаякодовая комбинация, которая черезэлемент И 12 блокирует формированиесигнала на выходе 32 и одновременноявляется условием для инициированиязтретьего выхода (диаграмма 6 ) дешифратора 6.Значениемобозначена точка на 9чала приема с внешних цепей процессора именованного сообщения, Значением- точка анализа готовности 45Вблока 3 выполнить установленныйблоком 1 цикл обращения (операциязаписи),Интервал времени- с по состо 8 3янию тактовой шины 20 устанавливает 50период ожидания блока 1. Снятие блокирующего (единичного) ,состояния триггера 7 определяет начало цикла обращения - операЦия,"Чте ние" - в блоке 3, инициация которого вызывается состоянием внешних цепей процессора, установление которого производится внешним устройством. О 8Значением С обозначена точка за 1 Овершения передачи по внешним цепямименованногосообщения - снятия указателя типа обмена с входа-выхода 38.Приведенная на фиг,8 временная диаграмма соответствует случаю, когдасодержимое регистра 4 больше считываемой из блока 3 характеристики,Значениемобозначена точка от 1ключения внешних цепей процессора отисточника передаваемого именованногосообщения.С завершением цикла обращенияоперация "Чтение" - в блоке 3 в соответствии с задающими сигналами микропроцессора устанавливается инициируемый цикл обращения - операция "Запись",Значением , обозначена завершающая точка рассмотренного цикла обращения к устройству ввода-вывода.В блоке. 2 памяти программ хранятся частичные копии системной управляющей информации (ядра операционнойсистемы МпС), назначенный к исполнению сегмент параллельной программыи промежуточные результаты.Основными функциями ядра операционной системы МпС являются поискочередной работы, формирование связанной с назначенным к исполнениюсегментом параллельной программы динамической управляющей информации иобработка системных прерываний,Процесс поиска осуществляется следующим образомЛокальный процесс свободного процессора обращается к списку доступных вершин, представляющему собой часть управляющих таблиц системы, в котором имеется информация обо всех вершинах параллельной программы, активизированных к данному моменту времени, Выбрав очередную вершину, локальный процесс начинает обработку связанной с ней управляющей информации, в частности формируются значения верхних и нижних границ для параллельных циклов, подчиненных вершине, анализирует возможность выполнения программы этой ветви (ветвей) и в случае разрешения производит загрузку соответствующего сегмента параллельной программы и т.п,Такты в процессорах МпС осуществляются синхронно эа счет использования единых серий сигналов Ф 1 и Ф 2 ,поступающих на синхронизпрующие вхо 9 129ды 28 и 29, и начало текущего тактасвязывается с нарастающим фронтомпервого из них. Процессор работает следующим образом.При всяком обращении, производимом с целью приема очередной инструкции (части инструкции) или приема (выдачи) слова данных от источника (к приемнику) информации а также в случае формирования специального сигнала установки либо признака режима, блок 1 задает на адресном выходе 22 код адреса, на выходе 23 или выходе 24 - сигнал, определяющий направление передачи слова на информационном входе-выходе 21 (в блок 1 - при инициировании первого, из блока 1 - второго из них), а на выходе 25 - сигнал, интерпретирующий код адресав качестве положения ячейки памяти или номера устройства ввода-вывода.В течение интервала активности выходов блока 1 определенная группа кодовых комбинаций, выставляемых на старших позициях адресного выхода 22, воздействует на элемент И 12 и вызывает на выходе его сигнал низкого уровня, что является условием для разрешения доступа к блоку 2, а также, совместно с кодом группы младших позиций адресного выхода 22, к активизации одного из выходов (за исключением первого) дешифратора б. Состояние выхода 25 на прямом входе разрешения и на инверсном управляющем входе названных блоков определяет обращение к одному из них (высокий уровень сигнала уКазывает доступ к блоку 2) запрещая работу другого. Режим работы "Чтение" или "Запись" инициированного блока 2 (в первом случае для задания теКущего содержимого по информационному входу-выходу 21, во втором " при приеме выставленного последнего слона) указывается сигналами на его первом и втором входах записи/чтения, повторяющих управляющие уровни одноименных выхоцов 23 и 24. Выбор (в обоих случаях) ячейки, с которой коммутируется вход-выход блока 2, определяет младшая часть указанного слова адреса.В режиме "Хранение" блок 2, а дву" направленный коммутатор 16 и коммутатор 17 в положении "Отключение" 541010переводят свои вход-выход, первый вход-выход и выход в высокоимпедансное состояние, так что в каждом обращении блоку 1 обеспечивается связь 5 . с источником/приемником по типу "Один,за многих", при которой передача слова к информационному входу-выходу 21 ,либо от него происходит без "маскирования" информации.Для записи информации в блок 3 на выходе 25 задается низкий уровень сигнала, на адресном выходе 22 - код, определяющий собой активность третьего выхода дешифратора б. Сигнал на выходе 2 б, формирование которого производится блоком 1 на такт ранее, нежели сигнала "Запись" (в другом режиме - "Чтение" ) сигнальной линии 24(23), а снятие - одновременно с окончанием последнего, своим появлением при заданных условиях устанавливает "1" на втором входе мультиплексора 9 и на первом входе элемента И 15, что при наличии высокого уровня на сигнальной линии 24 вызывает сигнал на первом входе записи/ чтения блока 3. Код, выставляемый блоком 1 на информационном входе-выходе 21, определяет адрес ячейки и записываемую в эту ячейку характеристику, поскольку содержимое группы младших разрядов его через нормально коммутируемый первый. информационный вход мультиплексора 9 задает состояние адресного входа, а содержимое старших разрядов - состояние информационного входа блока 3.Записываемая характеристика указывается как двоично-кодированное число, абсолютная величина которого связыва.ется обратной зависимостью с глубиной вложения представляемой ею ветви в цепочке их, в назначенном процессору сегменте параллельной программы и, в частности, может быть задана обратным кодом номера уровня вложения. Таким образом, число разрядов в слове данных, которыми представляется характеристика, выбирается из условия покрытия группой старших разрядов возможного числа уровней вложения ветвей на максимальном пути.в блок-схеме, программы, начинающемся некоторым узлом вхождения., оканчивающемся. завершающим узлом (узлом слияния) и не включающем в себя локальных ветвей с одинаковыми уровнями вложения Число ячеек. в блоке 31 с 12954должно позволять идентифицироватькаждую ветвь параллельной программы,помеченную в задаче определеннымадресом (именем).5При ограниченных возможностях инФормационного входа-выхода 21, препятствующих заданию блоком 1 единого слова данных, способного одновременно указать значение записываемой 10 характеристики и адрес произвольной ячейки в полном объеме поля хранения, используется один из известных механизмов и соответствующее ему. схемное дополнение (на Фиг,2.не показано) для 15 "расширения" линии 21 связи путем, на.пример, подключения к информационному входу блока 3 буферного регистра. Занесение характеристики в введенный буферный регистр производится на от дельном такте (предварительно), как обращение к некоторому внутреннему блоку ввода.Занесение характеристики в блок 3 производится блоком 1 при прохожде нии в локальном процессе вычисления очередного узла вхождения в ветвь задачи, а обнуление ее - при прохождении соответствующего завершающего узла либо при отсечении отмеченной 30 ветви в общем процессе как неудовлетворительной. Следовательно, в текущем такте обработки блок 3 хранит нисходящий рад чисел по адресам, представляющим собой номера незавершенных ветвей, реализация которых производится данным процессором, и нули по остальному полю хранения.В цикле обращения к внешнему источнику (приемнику) информации, вы ставляемой блоком 1 на адресном выходе 22, код устанавливает через эле- мент И 12 высокий уровень на первом входе элемента И 13, что совместно с логической "1" с выхода 26 форми- д рует высокий уровень сигнала на пер-. вом входе мультиплексора 9 и на выходе 32, Для установления связи процессор ожидает появление ответного высокого уровня на входе 30. Этот сигнал, воздействуя на управляющие входы коммутаторов 18 и 19 и на второй управляющий вход коммутатора 16, устанавливает на адресном выходе 34, на выходах 35, 36 и 37 копии состоя ний соответственно адресного выхода .22, выходов 23, 24 и 25 и, в случае, когда указанные состояния одновременно вьсзывают активность первого выхо 10 12да дешифратора 6 - сигнал на входе- выходе 38 с передачей содержимого при наличии сигнала на выходе 23 информационного входа-выхода 21. на линии входа-выхода 33 и в обратном направлении в отсутствие него, Двунаправленный коммутатор 16 и коммутаторы 18 и 19 открыты до тех пор, пока блок 1 не закончит цикл обращения к системной памяти, к обобществленному устройству ввода-вывода или к другим процессорам. Время цикла в этом случае регулируется интервалом наличия низкого уровня сигнала на входе 31.Логическая "1" на первом входе элемента И-ИЛИ 10, как и воздействие высокого уровня на втором, одновременно с низким на третьем входе (состояния входа 30 и входа 3 1), устанав,ливают результирующий низкий уровень ,на его выходе, который независимо от состояния выхода мультиплексора 9 передается тактовой шиной 20 на тактовый вход блока 1. Это состояние тактового входа в момент действия сигнала Ф 2 на втором синхронизирующем входе, воспринятое в такте перед реализацией чтения или записи информационного слова, запрещает изменение внутреннего состояния блоку 1, сохранив неизменными значения сигналов на его выходах 22 - 25, Изменение уровня сигнала с низкого на высокий на третьем (инверсном) входе элемента И 13 определяет собой прекращение действия сигнала на первом входе элемента И-ИЛИ 10 и на выходе 32. Момент окончания цикла обращения определяется блоком 1, который, снимая сигнал на выходе 23(24), устанавливает ниспадающий фронт сигнала на выходе 35(36), вследствие чего системный блок общей шины задает на входе 30 логический "0" и закрывает коммутаторы 16, 18 и 19.В результате обработки данных локальным процессом могут быть получены значения переменных, свидетельствующие, что определенная ветвь задачи заведомо неудовлетворительна, и с целью отсечения соответствующих вычислений в параллельной программе. процессором выставляется именованное сообщение. При выставлении именованного сообщения блок 1 выполняет цикл записи, вызывающий передачу слова - номера ветви задачи на вход-выход 33 и "1" на вход-выход 38.1295410 13В цикле обращения, используемомдля передачи именованного сообщения,оказавшаяся на адресном выходе 34 кодовая комбинация не способна инициировать ни одно из реально подключен" 5ных обобществленных устройств вводавывода, поэтому на входе 31 не устанавливается низкий уровень сигнала;Таким образом, наличие и число тактовожидания для блока 1, выставляющего 10именованное сообщение, определяетсявременем задержки установления ответного сигнала на входе .30, а длительность действия логической "1" на входе"выходе 38 соответствует минимальной для внешнего обмена - около двухтактов,Нарастание фронта сигнала на входе- выходе 38 в каждом процессоре, воз О действуя на синхронизирующий вход триггера 7; вызывает переключение его в ециничное состояние, так как на информационном входе в это время при" сутствует "1" с нулевого выхода, 25 ,В дальнейшем первый пришедший сигнал ,на синхронизирующий вход 29 возвращает триггер 7 в нулевое состояние, задавая тем самым, интервал действия " 1" на. первом входе элемента И 11 на- ЗО чальной частью, а на первом входе элемента И 14 - заключительной частью длительности инициирующего сигнала, В соответствии с этим условием элемент И 14 формирует сигнал, вызывающий переключение входов в мультиплексоре 9 и режим "Чтение" в блоке 3.Адресный вход блока 3 в режиме "Чтение" оказывается задействованным на группу младших позиций входа-выхода 40 33. Ниспадающий фронт выходного сигнала элемента И 14, воздействующий на синхронизирующие входы регистра 4 и триггера 8, указывает гочку .возможного изменения их состояний. 45Содержимое ячейки, считываемое на, выход блока 3, сравнивается с текущим состоянием регистра 4 и при превышении первого над вторым на выходе схемы 5 устанавливается уровень "1". Результат сравнения поступает на вход разрешения синхронизации регистра 4 и на единичный вход триггера 8, своим значением в завершении цикла передачи именованного сообщения определяя либо занесение кодасчитанной характеристики в регистр 4 с одновременным установлением(подтверждением) единичного состояния в триггере 8, либо сохранениеих содержимого неизменным.Нарастающий фронт уровня на входе27 воспринимается блоком 1 как запрос прерывания. Реагируя на запроспрерывания, блок 1 выполняет многошаговую процедуру перехода на обслуживающую программу, на одном из шаговкоторой принимает информацию из регистра 4, В цикле обращения, используемом для приема. информации из регистра 4, при активном сигнале "Чтение" на стробирующем входе дешифратора 6 оказывается в состоянии логической "1" второй его выход, управляющий коммутатором 17 и одновременно сбрасывающий в нулевое состояниетриггер 8.Приняв содержимое регистра 4, блок1 выполняет безусловный переход науказанную метку, удаляет из внутренних своих регистров и из блока .3 информацию о данной ветви, а такжео подчиненных ей ветвях и проверяетвозможность продолжения программынеоконченных ветвей, Если в назначенном сегменте параллельной программытаких ветвей нет, то процессор переходит к поиску работы,Работа регистра 4 и триггера 8при чтении содержимого ячейки блока3 отражает возможные ситуации, в которых оказывается процессор приприеме именованного сообщения,Первая ситуация " считанная информация заносится в регистр 4, а триггер 8 переключается в единичное состояние, Этим фиксируется положение, когда именованная в сообщении ветвь реализуется данным процессором, а блоком 1 производится вычисление по задаче, либо выполняются действия предусмотренные программой реализа". ции на прерывание, и устанавливается прерывание с целью удаления про" граммы ветви по которой производятся вычисления (при вторичном прерывании - ветви, заключающей в себя ту, для которой выполнялось прерываниа).Вторая ситуация - считанная информация заносится в регистр 4, а триггер 8 остается в единичном состоянии. Этим фиксируется положение, когда именованная в сообщении ветвь реализуется данным процессором, а блоку 1, выполняющему многошаговую процедуру перехода к программе реакции на прерывание, выставляется5 12954новая информация о номере ветви, поскольку принятое именованное сообщение относится к ветви, заключающей всебя ту, для которой выполняется переход. 5Третья ситуация - считанная информация не заносится в регистр 4, атриггер 8 остается в прежнем (нулевом либо единичном) состоянии. Дляненулевой считанной информации этим 10фиксируется положение, когда для рвализуемой блоком 1 процедуры вторичное прерывание не имеет реальногосмысла, так как сообщение, его вызывающее, дублирует ранее принятое либо относится к ветви, вложенной вту, для которой выполняется программа либо переход к программе реакциина прерывание.В нулевое (исходное) состояние 20регистр 4 сбрасывается на подготовительном этапе после поиска процессором работы в результаты выполненияблоком 1 цикла обращения, при котором элементом И 12 Формируется низкий уровень сигнала, а на дешифраторе 6 устанавливается .активным четвертый выход,В случае совпадения интервала действия сигнала на входе-выходе 38 с 30временем активности выхода 26 вцикле записи блоком 1 информации вблок 3 одновременно на первом и втором входах элемента И 11 устанавливаются уровни логической "1", которые 31вызывают Формирование последним низкого уровня сигнала на тактовой шине120. Такой уровень сигнала при описанных условиях задает в цикле обращения блока 1 такт ожидания, смещая 40тем самым исполнительный такт записии исключая конфликт двух обращений,10 16Адрес очередной микрокоманды можетформироваться регистром 46 следующимобразом,1. Добавлением "1" к адресу выполняемой микрокоманды. Для этого вдвух разрядах микрокоманды иэ группы,управляющих состоянием линий 65, записан код "11". Эти сигналы через элемент И 87 воздействуют на управляющий вход регистра-счетчика 74. Еслисигнал на указанном управляющем входе имеет высокий уровень, то по заданному Фронту сигнала Ф 2 код в регистре-счетчике 74 увеличивается наединицу. В противном случае в регистр-счетчик 74 заносится код с выхода мультиплексора 75,2. Записью содержимого регистра 45в регистр-счетчик 74. Это достигается подачей на первую группу линий 65кода "00", В таком случае на выходмультиплексора 75 поступает код сего первых информационных входов 77.3. Условный переход. На первуюгруппу линий 65 поступает код "01".При этом старшие восемь разрядов заносимого в регистр-счетчик 74 кодазадаются состоянием соответствующихразрядов поля адреса текущей микрокоманды, а каждый иэ четырех младшихразрядов устанавливается равным ну в ,лю, если в соответствующем разрядеполя адреса микрокоманды записан "0"(замаскирован), в противном случае -повторяет разряд регистра 49 или коньюнкцию состояний нулевых плеч триггеров 51 и 88.4. Безусловный переход. На первую группу линий 64 поступает кодБлок 1 работает следующим образом.По сигналам, поступающим с выхода 45элемента И 56, информация с выходапамяти 55 заносится в регистр 50. Последний разбит на поля. Часть из нихявляется управляющими и Формируетуровни сигналов и кодовые комбинациина втором входе элемента И 52, первом входе элемента И 54, единичномвходе триггера 58, управляющем входерегистра 40, входах элемента ИЛИ 57,на входах 59 - 67, а также на выходах 5523 - 25; адресное поле содержит кодадреса следующей микрокоманды или базового адреса группы следующих микрокоманд,Поле регистра 50, управляющее блоком 42, включает шесть разрядов, разбитых на две равные группы. Первая группа управляет занесением информации в регистры 68, а вторая - выдачей содержимого этих регистров через группы элементов И 70, Выходы первой группы управляют дешифратором 72, который выдает импульс на один из своих выходов при поступлении сиг" нала на синхронизирующий вход блока 42, Если в некоторой микрокоманде не должно производиться занесение инФормации в блок 42, на соответствующих линиях 62 записывается двоичный код числа "7".
СмотретьЗаявка
3923217, 08.07.1985
ИНСТИТУТ КИБЕРНЕТИКИ ИМ. В. М. ГЛУШКОВА
БЕЛИЦКИЙ РОБЕРТ ИЗРАИЛЕВИЧ, ЗАЙОНЧКОВСКИЙ АНАТОЛИЙ ИОСИФОВИЧ, ПАЛАГИН АЛЕКСАНДР ВАСИЛЬЕВИЧ
МПК / Метки
МПК: G06F 15/16
Метки: мультипроцессорной, процессор, системы
Опубликовано: 07.03.1987
Код ссылки
<a href="https://patents.su/17-1295410-processor-dlya-multiprocessornojj-sistemy.html" target="_blank" rel="follow" title="База патентов СССР">Процессор для мультипроцессорной системы</a>
Предыдущий патент: Устройство для организации мультипроцессорной иерархической системы
Следующий патент: Устройство для моделирования дискретных систем
Случайный патент: Крановый крюк-самоотцеп