Многопроцессорная вычислительная система

Иллюстрации

Показать все

Реферат

 

1. МНОГОПРОЦЕССОРНАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА, содержащая группу центральных процессоров, группу блоков оперативной памяти и группу периферийных процессоров, соединенных соответственно с группой периферийных устройств, причем каждый центральный процессор группы содержит коммутаторы ввода-вывода и коммутаторы памяти, первые вход и выход каждого коммутатора памяти соединены с первыми выходом и входом коммутатора ввода-вывода соответственно, первая группа входов и выходов каждого коммутатора ввода вывода соединена с группой выходов и входов периферийных процессоров группы, вторая группа входов и выходов i-ro коммутатора ввода-вывода соединена с второй группой выходов и входов К-го коммутатора ввода-вывода (i K, i, ,.. .., М), f-e вход и выход каждого коммутатора памяти (f 2,..., M+l; М - число блоков оперативной памяти) соединены с

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК

„„SU„„1168960

ОПИСАНИЕ ИЗОБРЕТ

К А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

IlO ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3520105/24-24 (22) 21. 12.82 (46) 23.07.85. Бюл. № 27 (72) И. В. Прангишвили, В. В. Игнатущенко, Э. А. Трахтенгерц, Л. В. Караванова, Л. Н. Горинович, Э. Г. Прохорова, В. М. Рабинович, В. В. Резанов, В. М. Костелянский, В. М. Борисенко, Г. М. Лехнова, В. Л. Жилиев, С. 3. Гантман, М. А. Лобак и Е. В. Щербаков (71) Ордена Ленина институт проблем управления и Ордена Трудового Красного

Знамени научно-производственное объединение «Импульс» им. XXV съезда КПСС (53) 681.32 (088.8) (56) Головня В. Н. Дадаева О. М. Вычислительная техника за рубежом в 1976 году. М., ИТМ и ВТ АН СССР, 1977, с.65-135.

Северин Д. П. и др. Опыт обеспечения отказоустойчивости в мультипроцессорных системах. — Труды ИИЭР, т. 66, 1978, № 10, с. 89 — 117. (54) (57) 1. МНОГОПРОЦЕССОРНАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА, содержащая группу центральных процессоров, группу блоков оперативной памяти и группу периферийных процессоров, соединенных соответственно с группой периферийных устройств, причем каждый центральный процессор группы содержит коммутаторы ввода — вывода и коммутаторы памяти, первые вход и выход каждого коммутатора памяти соединены с первыми выходом и входом коммутатора ввода — вывода соответственно, первая группа входов и выходов каждого коммутатора ввода вывода соединена с группой выходов и входов периферийных процессоров группы, вторая группа входов и выходов

i-го коммутатора ввода — вывода соединена с второй группой выходов и входов К-го коммутатора ввода — вывода (i = К, i, К=1,, М), f-e вход и выход каждого коммутатора памяти (1=2,..., М+1; M — число блоков оперативной памяти) соединены с (t — 1)-ми выходом и входом каждого блока оперативной памяти соответственно, отличающаяся тем, что, с целью повышения производительности и гибкости функционирования за счет перестраиваемости ее структуры, каждый центральный процессор содержит и скалярных процессоров и один векторный процессор, причем первые вход и выход каждого скалярного процессора соединены соответственно с вторым выходом и входом каждого коммутатора ввода — вывода, вторые вход и выход каждого скалярного процессора соединены соответственно с (М+2)-ми выходом и входом коммутатора памяти, третьи вход и выход i-го скалярного процессора (i = 1,...,n) соединены соответственно с i-ми выходом и входом векторного процессора, причем каждый скалярный процессор содержит две памяти команд, память скалярных данных, память векторных данных, блок управления памятями команд, блок обработки команд и адресов, блок распределения команд и данных, коммутатор, память заявок, блок обработки данных, память результатов, причем второй вход скалярного процессора подключен к адресным и информационным входам первой и второй памятей команд, памяти скалярных данных, памяти векторных данных и первому входу блока управления памятями, первый и второй выходы которого подключены соответственно к входам записи и чтения первой памяти команд, третий и четвертый выходы блока управления пам ятями подключены к входам записи и чтения второй памяти команд, выходы первой и второй памяти команд и пятый выход блока управления памятями подключены соответственно к первому, второму и третьему входам блока обработки команд и адресов, четвертый вход которого соединен с выходом памяти скалярных данных и с первым входом блока распределения команд и данных, второй вход которого соединен с выходом блока обработки данных, с первыми адрес1168960 ными и информационным входами памяти результата, с первым входом коммутатора и с пятым входом блока обработки команд и адресов, первый выход которого соединен с адресным и информационным входом памяти заявок, а второй выход — с третьим входом блока распределения команд и данных, четвертый вход которого и второй вход коммутатора соединены с третьим входом скалярного процессора, выход блока распределения команд и данных подключен к входу блока обработки данных и третьему входу коммутатора, четвертый и пятый входы которого соединены соответственно с выходом памяти векторных данных и первым входом скалярного процессора, первый, второй и третий выходы коммутатора подключены соответственно к первому и третьему выходам скалярного процессора и к вторым адресному и информационному входам памяти результата, выход которого объединен с выходом памяти заявок и подключен к второму выходу скалярного процессора, третий выход блока обработки команд и адресов соединен с вторым входом блока управления памятями, причем блок управления памятями содержит два счетчика записи, два счетчика считывания, два элемента И и узел формирования режимов, причем первый вход блока управления памятями соединен с управляющими входами первого и второго счетчиков записи, информационные выходы которых соответственно подключены к первому и третьему выходам блока управления памятями, выходы переполнения первого и второго счетчиков записи и первого и второго счетчиков считывания подключены соответственно к первому, второму, третьему и четвертому входам узла формирования режимов, первый и второй выходы которого объединены и подключены к пятому выходу блока управления памяти, второй вход которого соединен с первыми входами первого и второго элементов И, вторые входы которых подключены соответственно к первому и второму выходам узла формирования режимов, выходы первого и второго элементов И подключены соответственно к счетным входам первого и второго счетчиков считывания, информационные выходы которых соответственно подключены к второму и четвертому выходам блока управления памятями, первый и второй выходы узла формирования режимов подключены соответственно к счетным входам первого и второго счетчиков записи, блок обработки команд и адресов содержит коммутатор направлений, регистр команд, счетчик адреса команды, счетчик номера команды, дешифратор кода операций, регистр адреса микрокоманды, узел памяти микрокоманд, регистр микрокоманды, дешифратор управления, узел программных регистров, буферный регистр, регистр результата, счетчик номера операнда, накапливающий сумматор, причем первый и второй входы блока обработки команд и адресов соединены с первым и вторым информационным входами коммутатора направлений, управляющий вход которого соединен с третьим входом блока обработки команд и адресов, а выход — с информационным входом регистра команд, первые адресный и информационный входы узла программных регистров, информационный вход счетчика номера команды, вход сброса регистра команды объединены и подключены к пятому входу блока обработки команд и адресов, адресный выход регистра команды подключен к информационному входу счетчика адреса, счетный вход которого подключен к третьему выходу блока обработки команд и адресов, к счетному входу счетчика номера команды и к выходу признака наличия команды регистра команды, выход кода операций которого соединен с входом дешифратора кода операций, выход которого соединен с управляющим входом счетчика адреса команды, объединен с адресным выходом регистра микрокоманды и подключен к входу регистра адреса микрокоманды, выход которого соединен с адресным входом узла памяти микрокоманд, выход которого соединен с входом регистра микрокоманды, выход числа операндов в команде регистра команды объединен с выходом счетчика номера команды и подключен к информационному входу счетчика номера операнда, счетный вход которого соединен с выходом типа адресации регистра команды и с входом дешифратора управления, выход которого соединен с управляющими входами накапливающего сумматора и узла программных регистров, второй адресный вход которого подключен к выходу адреса операнда регистра команды и к первому информационному входу накапливающего сумматора, четвертый вход блока обработки команд и адресов соединен с вторым информационным входом узла программных регистров, выход которого соединен с вторым информационным входом накапливающего сумматора, третий информационный вход которого соединен с выходом буферного регистра, вход которого соединен с выходом накапливающего сумматора, выход счетчика номера операнда объединен с выходом накапливающего сумматора и подключен к входу регистра результата, выход операнда которого объединен с выходом кода микрокоманды регистра микрокоманды, с выходом счетчика номера команды и подключен к второму выходу блока обработки команд и адресов, выход счетчика адреса команды и выход адреса регистра результата объединены и подключены к первому выходу блока обработки команд и адресов, причем блок распределения ко1168960 манд и данных содержит память кодов операций и адресов результатов, первую и вторую памяти операндов, кольцевой регистр и узел анализа готовности команды, причем первые адресные и информационные входы памяти кодов операций и адресов результатов и первой и второй памяти операндов подключены к третьему входу блока распределения команд и данных, вторые адресные и информационные входы первой и второй памятей операндов соединены с первым входом блока распределения команд и данных, вторые адресные и информационные входы памяти кодов операций и адресов результатов соединены с четвертым входом блока распределения команд и данных, третий адресный вход памяти кодов операции и адресов результатов соединен с третьими адресными входами первой и второй памятей операндов и подключен к второму входу блока распределения команд и данных, вход сброса памяти кодов операций и адресов результатов соединен с входами сброса первой и второй памятей операндов и подключен к второму входу блока распределения команд и данных, выход кольцевого регистра соединен с управляющими входами памяти кода операций и адресов результатов и первой и второй памятей операндов, выходы готовности памяти кодов операций и адресов результатов и первой и второй памятей операндов подключены соответственно к первому, второму и третьему входам узла анализа готовности команды, четвертый вход которого соединен с выходом типа команды памяти кодов операций и адресов результатов, а выход — с управляющим входом кольцевого регистра, информационные выходы памяти кодов операций и адресов результатов, первой и второй памятей операндов объединены и подключены к выходу блока распределения команд и данных, причем -векторный процессор содержит группу и элементов И, блок элементов ИЛИ, коммутатор операндов,п памятей команд, узел анализа приоритета, информационный регистр, регистр векторной команды, К операционных блоков и и памятей результатов, E-й (1= 1,..., К) операционный блок содержит блок элементов, ИЛИ, память входных операндов, п узлов векторных регистров, дешифратор направления, п узлов анализа готовности векторных операндов, узел обработки векторных данных, регистр векторной операции, регистр векторного результата, выход которого соединен с первым информационным входом i-го (i=1,..., и) узла векторных регистров, второй информационный вход которого соединен с выходом памяти входных операндов, адресный и информационный входы которого соединены с выходом информационного регистра, вход которого соединен с выходом коммутатора операн,дов, i-e информационный и управляющий входы которого соединены соответственно с

1-м входом векторного процессора и 1-м выходом узла анализа приоритета, i-й вход которого объединен с информационным и адресным входом i-й памяти команд и подключен к i-му входу векторного процессора, i-й выход узла анализа приоритета подключен к управляющему входу i-й памяти команд, выход которой подключен к i-му входу. блока элементов ИЛИ, выход которого соединен с входом регистра векторной команды, выход кода операции которого подключен к входам регистров векторной операции К операционных блоков, выход регистра векторной операции 3-го операционного блока подключен к первому входу узла обработки векторных данных, выход которого соединен с входом регистра векторного результата, выход номера регистра векторной команды соединен с адресными входами и узлов векторных регистров E-го операционного блока, выход номера узла векторных регистров регистра векторной команды соединен с входом дешифратора направлений E-го операционного блока, выход которого подключен к управляющим входам и узлов анализа готовности векторных операндов, информационные входы которых подключены соответственно к выходам и узлов векторных регистров, выходы векторных операндов п узлов анализа roтовности векторных операндов подключены соответственно к входам блока элементов ИЛИ 1-го операционного блока, выход которого соединен с вторым входом узла обработки векторных данных, выход бита готовности i-го узла анализа готовности векторных операндов 1го операционного блока подключен соответственно к l-му входу i-го элемента И группы, выход которого подключен к (п+1)-му входу узла анализа приоритета, выходы i-x узлов векторных регистров К операционных блоков соединены соответственно с f-ми входами i-й памяти результатов, выход которой подключен к

i-му выходу векторного процессора.

2. Система по п. 1, отличающаяся тем, что узел анализа готовности команды содержит элемент ИЛИ и элемент И, причем первый, второй и третий входы элемента

И соединены соответственно с первым и вторым входами узла и выходом элемента

ИЛИ, первый и второй входы которого соединены с третьим и четвертым входами узла, выход элемента И подключен к выходу узла.

3. Система по п. 1, отличающаяся тем, что узел формирования режимов содержит два элемента И, два элемента НЕ и триггер, причем третий и четвертый входы узла соответственно через первый и второй элементы НЕ подключены к первым входам пер1168960 вого и второго элементов И, к вторым входам которых подключены соответственно второй и первый входы узла, выходы первого и второго элементов И подключены соответственно к единичному и нулевому входам триггера, прямой и инверсный выходы которого соединены соответственно с первым и вторым выходами узла.

4. Система по п. 1, отличающаяся тем, что i-й узел анализа готовности векторных операндов 1:-го операционного блока содержит триггер и элемент И, причем управляющий вход 1го узла соединен с первым входом элемента И, второй вход которого соединен с выходом триггера и подключен к выходу бита готовности i-го узла, третий вход элемента И объединен с единичным и нулевым входами триггера и подключен к информационному входу i-го узла анализа готовности векторных операндов.

Изобретение относится к вычислительной технике и может быть использовано в автоматизированных системах обработки, требующих высокой производительности как на векторных, так и на скалярных вычислениях, а также требующих высокой живучести.

Цель изобретения — повышение производительности и гибкости функционирования многопроцессорной вычислительной 10 системы за счет перестраиваемости структуры системы, т. е. за счет динамического перераспределения ее вычислительных ресурсов по требованиям выполняемых программ.

На фиг. 1 изображена блок-схема мно15 гопроцессорной вычислительной системы (МВС); на фиг. 2 — блок-схема скалярного процессора; на фиг. 3 — блок-схема векторного процессора; на фиг. 4 — схема блока управления буферами; на фиг. 5 — схе- 20 ма блока обработки команд и адресов; на фиг. 6 — схема блока распределения команд и данных; на фиг. 7 — схема узла анализа готовности команды; на фиг. 8— схема узла формирования режимов; на фиг. 9 — схема узла анализа готовности

25 векторных операндов; на фиг. 10 — схема узла анализа приоритета; на фиг. 11 схема коммутатора на и входов и m вы= ходов; на фиг. 12 — временная диаграмма совмешения выполнения команд в скалярных и векторных процессорах.

5. Система по п. 1, отличающаяся тем, что узел анализа приоритета векторного процессора содержит три группы элементов И, группу элементов НЕ, элемент ИЛИ, группу элементов ИЛИ, причем i-й вход узла подключен к первому входу i-ro элемента

И первой группы (i =1,..., и), второй вход которого соединен с (п+!)-м входом узла и с входом i-го элемента HE группы, выход которого соединен с р-м входом (рф1; р=1,...,n — 1) i-го элемента И второй группы, выход которого подключен к l-му входу элемента ИЛИ, выход которого подключен к первому входу i-го элемента И третьей группы, к второму входу которого подключен (n+i)-й вход узла, выход i-го элемента И третьей группы подключен к первому входу i-го элемента ИЛИ группы, второй вход которого соединен с выходом i-го элемента

И первой группы, выход элемента И. !И груп пы подключен к i-»y выходу узла.

МВС (фиг. 1) содержит однотипные центральные процессоры 1, однотипные блоки 2 оперативной памяти (каждый из которых, в свою очередь, может состоять из нескольких параллельных однотипных модулей памяти), периферийные процессоры 3, подключенные к периферийным устройствам 4 (диски, магнитные ленты, пульт оператора и пр.) через двунаправленные линии связи.

Каждый центральный процессор 1 содержит коммутаторы 5 ввода — вывода и коммутаторы 6 памяти, причем первые входы 7 и первые выходы 8 каждого коммутатора 5 ввода — вывода подключены к первым выходам и первым входам соответствующего коммутатора 6 памяти того же центрального процессора, вторые входы и выходы 9 каждого коммутатора 5 ввода †выво соединены двунаправленными линиями связи с вторыми выходами и входами всех остальных коммутаторов 5 ввода — вывода, вторые входы и выходы 10 каждого коммутатора 6 памяти соединены двунаправленными линиями связи с выходами и входами каждого блока 2 оперативной памяти, входы и выходы 11 каждого периферийного процессора 3 соединены двунаправленными линиями связи с третьими выходами и входами одного из коммутаторов 5 ввода — вывода каждого центрального процессора 1.

Каждый центральный процессор 1 содержит и «2 однотипных скалярных процессоров 12 (на фиг. 1 приведена конфигурация МВС

1168960

55 с числом скалярных процессоров и =2 в каждом центральном процессоре; дальнейшее описание МВС приводится именно для такой ее конфигурации), а также общий для них векторный процессор 13. Первые входы 14 и первые входы 15 каждого скалярного процессора 12 соединены с третьими выходами и входами соответствующего коммутатора 6 памяти, вторые входы 16 и вторые выходы 17 каждого скалярного процессора 12 подключены к четвертым выходам и входам соответствующего коммутатора 5 ввода — вывода, третьи входы 18 и третьи выходы 19 каждого скалярного процессора

12 соединены с соответствующими выходами и входами векторного процессора 13 того же центрального процессора 1.

Каждый скалярный процессор 12 (фиг. 2) содержит память 20 скларных данных, память 21 векторных данных, первую 22 и вторую 23 памяти команд с блоком 24 управления памятями команд. Входы указанных памяти и блока управления памятями команд объединены и являются первыми входами 14 скалярного процессора 12, выходы блока 24 управления памятями команд соединены с управляющими входами 25 — 28 первой 22 и второй 23 памятей команд и с управляющим входом 29 блока 30 обработки команд и адресов, первые информационные входы 31 этого блока соединены с выходами обеих памятей 22 и 23 команд, а вторые информационные входы подключены к выходам 32 памяти 20 скалярных данных, выход блока 30 обработки команд и адресов подключен к второму входу блока

24 управления памятями команд, выходы

33 и 34 блока 30 обработки команд и адресов подключены соответственно к входам памяти 35 заявок и к первым входам блока

36 распределения команд и данных, вторые входы последнего соединены с выходами

32 памяти 20 скалярных данных, выходы 37 блока 36 распределения команд и данных соединены с входами блока 38 обработки данных и с первыми входами коммутатора

39, вторые и третьи входы которого соединены, соответственно с выходами памяти

21 векторных данных, и с выходами 40 блока 38 обработки данных, четвертые и пятые входы коммутатора 39 являются соответственно вторыми входами 16 и третьими входами 18 скалярного процессора 12: выходы блока 38 обработки данных подключены также к третьим информационным входам блока 30 обработки команд и адресов, к третьим входам блока 36 распределения команд и данных и к первым входам памяти 41 результатов, с вторыми входами которого соединены первые выходы 42 коммутатора 39, выходы памяти 35 заявок и памяти 41 результатов объединены и яв10

50 ляются первыми выходами 15 скалярного процессора 12, вторые и третьи выходы коммутатора 39 являются, соответственно вторыми выходами 17 и третьими выходами !

9 скалярного процессора 12.

Каждый векторный процессор 13 (фиг.3) содержит п памятей 43 команд (по числу скалярных процессоров в центральном процессоре), п памятей 44 результатов, информационный регистр 45, регистр 46 векторной команды, узел 47 анализа приоритета, К операционных блоков 48. Каждый операционный блок 48 содержит память 49 входных операндов и узлов 50 векторных регистров, выходы которых соединены с информационными входами одноименных узлов 51 анализа готовности векторных операндов, а также с входами памяти 44 результатов, информационные выходы узлов

51 анализа готовности векторных операндов операционного блока 48 соединены с входами блока 52 элементов ИЛИ, выход которого подключен к информационному входу 53 обработки векторных данных, выход узла 53 подключен к входу регистра 54 векторного результата, выход которого соединен с первыми информационными входами узлов 50 векторных регистров, вторые информационные входы которых соединены с выходом памяти 49 входных операндов 49, управляющие входы узлов 51 анализа готовности векторных операндов, соединены с выходом дешифратора 55 направлений, вход которого объединен с адресными входами узлов 50 векторных регистров и соединен с выходом номера узла векторных регистров регистра 46 векторных команд, управляющий вход узла 53 обработки векторных данных соединен с выходом регистра 56 векторной операции, входы 57 и 58 являются входами узла 47: выходы битов готовности узлов 51 анализа готовности векторных операндов подключены к входам группы 59 элементов И, коммутатор 60 операндов, блок 61 элементов ИЛИ. входы 62 и 63 узла 47 анализа приоритета, выход 64 регистра 46, выход 65 регистра 46, выходы памятей 43 команд соединены с входами блока

61 элементов ИЛИ, выход которого соединен с входом регистра 46 векторной команды, выходы памятей 44 результатов соединены с выходами 18 векторного процессора 13.

Фиг. 4 иллюстрирует одну из возможных структурных реализаций блока 24 управления памятями команд и взаимодействие его с памятями 22 и 23 команд.

Блок 24 управления памятями команд содержит выходы 64 и 65, элементы И 66 и 67, счетчики 68 и 69 записи, счетчики

70 и 71 считывания, узел 72 формирования режимов.!

168960

На фиг. 5 приведена одна из возможных структурных схем блока 30 обработки команд и адресов скалярного процессора.

Блок 30 содержит коммутатора 73 направлений, регистр 74 команд, счетчик 75 адреса команды и счетчик 76 номера команды; дешифратор 77 кода операций, регистр 78 адреса микрокоманды, узел 79 памяти микрокоманд, регистр 80 микрокоманды дешифратор 81 управления, узел Я2 программных регистров, накапливающий сумматор

83, счетчик 84 номера операнда, буферный регистр 85 и регистр 86 результата, выходы

87 и 88 регистра 74, вход 89 счетчика 74, выходы 90 — 93 регистра 74.

Информационные входы коммутатора

73 направлений соединены с входами 31, управляющий вход коммутатора 73 — с входом 29 блока 30 обработки команд и адресов, выход коммутатора 73 направлений соединен с информационным входом регистра 74 команды, вход сброса регистра 74 команды объединен с информационным входом счетчика 76 номера команды, с адресным и информационным входом узла 82 программных регистров и подключен к входу 40 блока 30 обработки команд и адресов, адресный выход 88 регистра 74 команды соединен с входом счетчика 75 адреса команды, выход кода операций регистра 74 команды соединен с входом дешифратора кода 77 операций, выход которого соединен с входом регистра 78 адреса микрокоманды, с управляющим входом 89 счетчика адреса команды и с выходом регистра 80 микрокоманды, выход регистра 78 адреса микрокоманды соединен с входом узла 79 памяти микрокоманд, выход которого соединен с входом регистра 80 микрокоманды, выход

90 числа операндов в команде регистра команды соединен с информационным входом счетчика 84 номера операнда, выход 91 типа адресации регистра 74 команды соединен с счетчным входом счетчика 84 номера операнда и с входом дешифратора 81 управления, выход которого соединен с управляющими входами накапливающего сумматора 83 и узла 82 программных регистров, второй адресный вход которого подключен к выходу 92 адреса операнда регистра 74 команды и первому информационному входу накапливающего сумматора 83, вход 32 блока 30 обработки команд и адресов соединен с вторым информационным входом узла 82 программных регистров, выход которого соединен с вторым информационным входом накапливающего сумматора 83, третий информационный вход которого соединен с выходом буферного регистра 85, вход буферного регистра 85 соединен с выходом накапливающего сумматора 83 и подключен к входу регистра 86 результата, второй вход которого подключен к выходу счетчика 84 номера операнда, счетный вход счетчика адреса команды 75 соединен с выходом 27 блока 30 обработки команд и адресов и подключен к выходу 93 признака наличия команды регистра 74 команды и к счетному входу счетчика 76 номера команды, выход которого соединен с входом счетчика

84 номера операнда, объединен с выходом операнда регистра 86 результата и выходом кода микрокоманды регистра 80 микрокоманды и подключен к выходу 34 блока обработки команд и адресов, выход адреса регистра 86 результата объединен с выходом счетчика 75 адреса команды и подключен к выходу 33 блока обработки команд и адресов.

На фиг. 6 приведена одна из возможных структурных схем блока 36 распределения команд и данных.

Блок 36 содержит память 94 кодов операций и адресов результатов, памяти 95 и

96 операндов, кольцевой регистр 97 и узел

98 анализа готовности команды. Адресный и информационный входы памяти 94 кодов операций и адресов результатов объединены с соответствующими входами памяти 95 и

96 операндов, и подключены к входу 34 блока 36 распределения команд и данных, вход 32 блока 36 подключен к вторым адресным и информационным входам памятей 95 и 96 операндов; входы 18 и 40 блока распределения команд и данных объединены и подключены к входам сброса памятей

94 кодов операций и адресов результатов и памятей 95 и 96 операндов, выходы готовности памятей 94 — 96 и выход типа команды памяти 94 соединены с управляющими входами узла 98 анализа готовности команды, выход которого соединен с управляющим входом кольцевого регистра 97, выход которого подключен к управляющим входам памятей 94 — 96, информационные выходы памяти 94 кодов операций и адресов результатов и памятей 95 и 96 операндов объединены и подключены к выходу 37 блока 36 распределения команд и данных.

На фиг, 7 представлена возможная схема узла 98 анализа готовности команды.

Узел содержит элемент И 99 и элемент

ИЛИ 100. Входами элемента И 99 явля-, ются выходы готовности памяти 94 кодов операций и адресов результатов и памяти

95 операндов и выход элемента 100, входами которого являются выход готовности памяти 96 операндов и выход типа команды памяти 94 кодов операций и адресов результатов, выход элемента 99 подключен к выходу узла 98 анализа готовности команды.

На фиг. 8 приведена возможная схема узла 72 формирования режимов.

1168960

Узел содержит триггер 101, два элемента НЕ 102 и 105 и два элемента И 103 и 104. Входы элементов HE 102 и 105 и первые входы элементов И 103 и 104 подключены к входам узла 72 формирования режимов 72, вторые входы элементов И 103 и 104 соединены соответственно с выходами элементов 102 и 105, выходы элементов И

103 и 104 подключены соответственно к единичному и нулевому входам триггера 101, прямой и инверсный выходы которого подключены к выходам узла 72 формирования режимов.

На фиг. 9 приведена возможная схема узла 51 анализа готовности векторных операндов.

Узел содержит триггер 106 и элемент И

107. Первый управляющий и информационный входы узла 51 анализа готовности векторных операндов подключены-к единичному и нулевому входам триггера 106 и к информационному входу элемента И 107, первый управляющий вход которого подключен к второму управляющему входу узла 51, второй управляющий вход элемента И 107 соединен с выходом триггера 106 и с управляющим выходом узла 51 анализа готовности векторных операндов, информационный выход которого соединен с выходом элемента И 107.

На фиг. 10 представлена возможная схема узла 47 анализа приоритета векторного процессора 13.

Узел содержит три группы по п элементов И 108 — 110, группу п элементов НЕ 111, элемент ИЛИ 112 и группу и элементов

ИЛИ 113, Первые входы элементов И группы 108 подключены к входам 63 узла 47 анализа приоритета, вторые входы элементов И группы 108 объединены с входами 62 узла 47 анализа приоритета, входами элементов НЕ группы 109 и подключены к первым входам элементов И группы 112, вторые входы которых объединены и подключены к выходу элемента ИЛИ 111, входы которого соединены с выходами элементов И группы 110; входами каждого из и элементов И группы 110 являются выходы и — 1 элемента HE группы 109; выходы элементов И группы 108 подключены к первым входам элементов ИЛИ группы 113, вторые входы которых подключены к выходам элементов И группы 112, а выходы — к выходам узла 47 анализа приоритета.

На фиг. 11 приведен пример схемы коммутатора с и входами и m выходами, которая может быть использована для реализации любого из коммутаторов, входящих в систему.

Схема содержит и дешифраторов 114-, кольцевой распределитель 115, группу 116 элементов, элемент ИЛИ 117, группу 118 элементов ИЛИ и группу 119 элементов И, 5

10 !

Выходы дешифраторов 114 подключены к первым входам руппы 116 двухвходовых элементов И, вторыми входами которых являются выходы элементов 115 кольцевого распределителя. Информационные выходы дешифраторов 14 соединены с входами соответствующих элементов ИЛИ группы 118, выходы которых подключены к первым входам m элементов И группы 119. Вторые входы элементов И группы 19 соединены с выходом элемента ЙЛИ 117, входы которого подключены к выходам элементов И группы 116.

МВС функционируют следующим образом.

Скалярные процессоры 12 центральных процессоров 1 (фиг. 1) независимо и асинхронно по отношению один к другому считают и обрабатывают программы независимых задач (или программы параллельных фрагментов одной или нескольких задач). Для этого блок 30 обработки команд и адресов каждого скалярного процессора

12 формирует заявки (адреса) на считывание команд, которые поступают в память 35 заявок (фиг. 2), откуда эти заявки через выходы 15 скалярного процессора (фиг. 1 и 2) и через соответствующий коммутатор

6 памяти поступают по связям 10 на обслуживание в блоки 2 оперативной памяти.

Считанные из оперативной памяти команды поступают через тот же коммутатор 6 памяти и входы 14 скалярного процессора

12 в одну из его памятей 22 или 23 команд.

Эти памяти функционируют поочередно на запись и на считывание (режим «Пингпонг») по сигнала от блока управления памятями 24 команд 24: пока в одном из них накапливаются (записываются) команды считываемой программы, из другого накопленные команды считываются для обработки в блоке 30 обработки команд и адресов, а затем — наоборот. Пусть, например, узел

72 формирования режимов блока управления памятями 24 команд установлен в состояние, при котором разрешается счетчику

68 записи записывать команды в память 22 команд, а счетчику 71 считывания — считывать команды из памяти 23 команд. Сигнал поступления (из оперативной памяти) очередной команды по входам 14 увеличивает содержимое счетчика 68 записи на единицу, при этом указанный счетчик сигналом по входу 25 памяти 22 команд разрешает запись команды в указанную память. Запись команд в память 22 разрешается до переполнения счетчика 68 записи (это событие соответствует полному заполнению памяти

22 команд) .

В это же время счетчик 71 считывания подает сигналы на считывание команд из памяти 23 команд на его выходы 31 (в блок ЗО обработки команд и адресов), при

1168960

Значения разрядов адресной части команды, зафиксированной в регистре 74 команд, подаются (адресный выход 88) в счетчик 75 адреса команды, который формирует адрес последующей команды «с опережением» по отношению к адресу текущей команды (например, на целое число байтов, кратное степени числа «2»).

Значения разрядов адресной части операндов, соответствующих типам адресации, подаются из регистра 74 команд (выход 91) 50

55 считывании каждой команды содержимое счетчика считывания 71 уменьшается на единицуу.

Сигнал переполнения счетчика 68 записи поступает на вход узла 72 формирования режимов и при условии, что счетчик

71 считывания оказался к этому моменту обнуленным, узел 72 переводится в состояние, при котором разрешается счетчику 69 записи записывать команды в память 23 команд, а счетчику 70 считывания — считывать команды из памяти 22 команд. Узел

72 подает сигналы о текущем режиме обслуживания на выход 29 (в блок 30 обработки команд и адресов).

Возможны и иные структурные реализа- !Б ции блока 24 управления памятями, при которых обнуление счетчика считывания

70 или 71 приводит к изменению состояния узла 72, т. е. считыванию команд из еще не полностью заполненной памяти 22 или

23 команд.

Считываемые из памяти 22 или 23 команд команды поступают в блок 30 обработки команд и адресов, который декодирует команды и преобразует адреса команд и операндов в физические адреса в опера- 25 тивной памяти МВС. Команды поступают в блок 30 обработки команд и адресов через его коммутатор 73 направлений (фиг. 5), который управляется сигналами (о номере считываемой памяти 22 или 23 команд с блока 24 управления памятями. Пришедшая команда фиксируется в регистре 74 команд, содержащем разряды кода операции адресных частей команд и операндов. Значения тех разрядов регистра 74 команд, которые содержат код операций (выходы 87) поступают на дешифратор 77 кода операций который преобразует код операции в адрес соответствующей микрокоманды (или микропрограммы), поступающий через регистр

78 адреса микрокоманды и узел 79 памяти микрокоманд. Считанная из этого узла микрокоманда, соответствующая машинному коду выполняемой команды, фиксируется в регистре 80 микрокоманды. Адресная часть кода микрокоманды, зафиксированного в регистре 80, может использоваться для фор- 4g мирования адреса следующей микрокоманды в регистре 78 адреса микрокоманды. на дешифратор 81 управления, сигналы которого на узел 82 программных регистров

82 и накапливающий сумматор 83 задают соответствующую дисциплину обработки адресов операндов. Коды адресов операндов (выход 92 регистра команд 74) поступают либо в узел программных регистров 82 (если адрес соответствует номеру одного из программных регистров), либо на обработку в накапливающий сумматор 83.

Если операнд является векторным, то его адрес может описываться через адрес а первого элемента вектора, шаг h и число s элементов вектора. Если, например, h u s предварительно записаны в некоторые регистры блока 82, то в адресе векторного операнда указаны номера программных регистров и адрес а,, тогда дешифратор 81 задает циклическую процедуру расчета адресов элементов вектора: адрес