Многопроцессорная вычислительная система
Иллюстрации
Показать всеРеферат
Изобретение относится к области вычислительной техники и позволяет предотвратить выборку одной и той же ветви программы из общей памяти при использовании распределенной операционной системы в одноуровневой многопроцессорной системе. Для этого многопроцессорная система включает, наряду с процессорами обработки, оперативным запоминающим устройством, группой устройств ввода-вьшода и арбитром общей шины системы, блок памяти состояний процессоров и блок управления памятью состояний, который содержит регистры данных, адреса, сумматор , дешифратор, мультиплексор, регистр кода операции, одновибратор и два элемента И. 5 ил. S
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН
09 (И) А1 (я) 4 G 06 F 15/16
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А ВТОРСКОМЪ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТЖ (21) 3890484/24-24 (22) 24.04.85 (46) 15.12.86. Бюл. У 46 (71) Ордена Ленина институт кибернетики имени. В.М.Глушкова (72) А.В.Андрющенко, P.È.Áåëèöêèé, В.Л.Леонтьев, А.В.Палагин и В.И.Сигалов (53) 68 1.325 (088.8) (56) Авторское свидетельство СССР
N - 943736, кл. G 06 F 15/16, 1977.
Adams G., Во1йпдет Т. Design motivations for multiple processer microcomputer systems. Computer Design, 1978, March, р. 81. (54) МНОГОПРОЦЕССОРНАЯ ВЫЧИСЛИТКЛЬЙАЯ
СИСТЕМА (57) Изобретение относится к области вычислительной техники и позволяет предотвратить выборку одной и той же ветви программы из общей памяти при использовании распределенной операционной системы в одноуровневой многопроцессорной системе. Для этого многопроцессорная система включает, наряду с процессорами обработки, оперативным запоминающим устройством, группой устройств ввода-вывода и арбитром общей шины системы, блок памяти состояний процессоров и блок управления памятью состояний, который содержит регистры данных, адреса, сумматор, дешифратор, мультиплексор, ре- Ру гистр кода операции, одновибратор и два элемента И. 5 ил.
12771 цессоров 1 обработки, оперативное за70
Процессор 1 обработки (фиг. 2) мо- 35, 50
Изобретение относится к вычислительной технике и может быть использовано при построении многопроцессорных систем.
Целью изобретения является повышение производительности обработки за счет возможноСти применения распределенной операционной системы, На фиг. 1 приведена структурная схема многопроцессорной вычислительной системы; на фиг. 2 — пример реализации процессора обработки, на
t фиг. 3 — функциональная схема блока управления памятью состояний; на фиг. 4 — структура кода адреса обращения к блоку управления памятью состояний на фиг, 5 — цикл управления блоком памяти состояний процессоров.
Система содержит (фиг. 1) п пропоминающее устройство 2, группу устройств 3 ввода-вывода, блок 4 управления памятью состояний, блок 5 памяти состояний процессоров 1 обработки, арбитр 6 общей шины системы.Каждый процессор 1 может состоять из микропроцессора 7, внутреннего бло. ка 8 оперативной памяти и блока 9 ввода-вывода. Все элементы системы
Г соединены посредством общих шин 10 и 11 адреса и данных и общих шин управления (не показаны). Блоки 4 и 5 связаны шинами 12 и 13 адреса и данных соответственно жет содержать микропроцессор 7, внут ренний блок 8 оперативной памяти, блок 9 ввода-вывода, элементы И 14, 15, элемент ИЛИ-НЕ 16, выход 17 которого подключен к входу синхронизации микропроцессора 7. Блок 9 формирует управляющие сигналы Hа обших шинах 18 и 19 записи и считывания системы. Блок 9 в данном случае выполнен на ключах 20-22 данных, адреса и управления соответственно. Микропроцессор 7 формирует на выходах 23 и 24 записи и считывания соответствующие управляющие сигналы. Сигнал готовности блока 4 поступает по об-щей шине готовности на входы 25 признака готовности всех процессоров 1.
Совокупность элемента ИЛИ 26, элементов И 27 и 28 процессора 1 формирует сигнал запроса общей шины системы на одноименном выходе 29 процессора 1. На элемент И 30 поступает сигнал разрешения доступа к общей
tO
29 2 шине системы с одноименного входа 31 системы. Позициями 32 и 33 обозначены информационный вход †вых и адресный выход микропроцессора 7 соответственно.
Блок 4 управления памятью состояний (фиг. 3) содержит регистр 34 адреса, регистр 35 данных, сумматор 36, первый элемент И 37, регистр 38 кода операции, одновибратор 39, второй элемент И 40, дешифратор 41 и мультиплексор 42. На выходах 43 и 44 формируются сигналы записи, считывания для блока 5, формируемые в соответствии с фиг. 5, Система работает следующим образом.
Обмен информацией внутри каждого процессора 1 между микропроцессором
7 и внутренним блоком 8 выполняется традиционным способом. Если микропроцессор 7 выставляет адрес ячейки, расположенной в устройстве 2, или обращается к устройствам 3, из блока 9 выдается на арбитр 6 запрос на использование общей шины, в ответ на который, в соответствии с Приоритетом данного процессора 1, арбитр
6 выдает в этот блок 9 сигнал разрешения испольэовать внешние магистрали. Получив этот сигнал, блок 9 подключает внутренние шины соответствую= щего процессора 1 к общим шинам 10 и
11„ чем обеспечивается обращение процессора 1 к устройствам 2 и 3.
При выполнении операций с состоя ниями процессор 1 производит операции чтения информации, не отличающиеся от операций считывания информации из устройства 2, но выставляет при этом код адреса, соответствующий ячейке блока 5. Этот адрес инициирует работу блока 4, который при этом выставляет на своих адресных выходах
12 адрес соответствующей ячейки блока 5 и инициирует цикл обращения в последнем. Содержимое ячейки блока
5 передается в общую шину данных и одновременно поступает на информационный вход блока 4., который модифи— цирует эту информацию и передает ее на информационный вход блока 5, обеспечивая запись нового состояния процессоров в ту же ячейку блока 5. После этого блок 4 готов к выполнению следующей операции с состояниями.
Процессор 1 работает следующим образом. Микропроцессор 7 взаимодейст1277129
15
I вует с внешними схемами только при обращениях к внутреннему блоку 8, к устройству 2 или к устройствам 3 ввода-вывода. При всяком обращении на адресных выходах 33 микропроцессор выставляет код адреса; при чтении информации из внутреннего блока 8 оперативного запоминающего устройства 2, а также при приеме информации из устройств 3 ввода-вывода на выходе 24 устанавливается сигнал, инициирующий операцию чтения в запоминающих устройствах или ввода в устройствах ввода-вывода. При записи микропроцессор 7 выставляет информацию на своих информационных выходах и на выходе 23 устанавливает сигнал, инициирующий цикл записи в блоке 8 и устройстве 2 или вывода информации в устройствах 3 вводавывода.
В каждом цикле обращения микропроцессора 7 старшие разряды кода, выставленного на его адресных выходах, определяют режим обращения. Если на этих разрядах выставлен код, устанавливающий уровень "Лог. 1" на выходе элемента И 28, производится обращение к ячейке внутреннего блока 8 30 оперативной памяти. В противном случае обращение производится через внешние магистрали.
При обращении к блоку 8 сигнал с выхода элемента И 28 совместно с сигналом с соответствующего выхода микропроцессора (24 при чтении, 23 при записи) инициирует цикл обращения во внутреннем блоке 8. Адрес ячейки в 40 блоке 8 определяется кодом на младших выходах адреса. Информационный обмен между микропроцессором 7 и блоком 8 производится через их информационные входы-выходы. Дпя синхрони- 45 зации микропроцессора 7 и блока 8. последний устанавливает на выходе синхронизации сигнал "Лог. 0" в начале обращения и оставляет его до тех пор, пока не закончит внутренний
I цикл обращения, после чего устанавливает на выходе синхронизации сигнал
tt тт
Лог. 1 . Сигнал с выхода синхронизации блока 8 через элемент ИЛИ-НЕ
16 воздействует на вход 17 синхронизации микропроцессора 7, который приостанавливает обращение к блоку 8 до тех пор, пока íà его входе синхронизации не появится сигнал "Лог. 1".
При обращении микропроцессора 7 к устройствам 2 и 3 сигнал с выхода элемента И 28 блокирует блок 8 ипропускает через элемент И 27 сигнал элемента ИЛИ 26 ° На входы элемента ИЛИ
26 поступают сигналы чтения и записи с управляющих выходов 23 и 24 микропроцессора 7, на выходе элементаИЛИ
26 формируется обобщенный сигнал обращения, который, пройдя через элемент И 27, поступает на вход 29 процессора. Этот же сигнал поступает на вход элемента И 14 ° До тех пор, пока на вход 31 не поступит уровень "Лог.
1", элемент И 30 будет удерживать на выходе уровень "Лог. 0", и на выходе элемента И 14 будет сигнал "Лог. 1", блокирующий через элемент ИЛИ 16 синхронизирующий вход микропроцессора
7. При поступлении сигнала разрешения по входу 31 на выходе элемента И
30 появляется сигнал "JIor. 1 . Этот сигнал открывает ключи 20, 21 и 22, пропуская сигналы с информационных, адресных и управляющих выходов микропроцессора 7 на соответствующие общие шины. В зависимости от уровня логического сигнала на выходе 24 микропроцессора 7 ключ 20 передает информацию с общей шины 11 на внутреннюю информационную шину 13 или в противоположном направлении. В то же время сигнал с выхода элемента И 27 блокирует элемент И 14 и готовит элемент
И 15, на другой вход которого через ключ 22 поступает сигнал готовности с входа 25. В начале обращения адресованные в данном цикле устройства 2 и 3 устанавливают на шине 25 сигнал уровня "Лог. О и переводят его в состояние "Лог. 1" тогда, когда устройство, к которому производится обращение, оказывается готовым к завершению цикла обмена информацией. До тех пор, пока по шине 25 поступает сигнал "Лог. 0", на выходе элемента И 15 сохраняется сигнал
1! tt
Лог. 1 и вход синхронизации микропроцессора 7 блокирован. При поступлении по шине 25 сигнала "Лог. блокировка входа синхронизации прекращается.
Пусть блок 5 содержит 4к ячеек с разрядностью 2 (соответствует числу состояний процессора: "0" — процесс не готов к исполнению, "1" — процесс готов к исполнению, но не исполняет ся, "2" — процесс исполняется, "3"—
12771 (Я:=Я+1 при Я=О, (S:=S при Я О, (S:=Я+1 при S=1 Я: =S при ЯФ1, процесс выполнен). Тогда формат адреса выставляемого процессором 1 на шине 10 адреса при обращении к блоку
4, может иметь вид, представленный на фиг. 4. Младшие 12 разрядов задают 5 номер ячейки в блоке 5, средние 2 разряда — код операции, старшие 2 разряда — признак обращения к блоку 5.
Пусть блок 4 выполняет операции. Коду i соответствует операция,,добав- 10 ляющая "1" к значению состояния S если S = i, и не изменяющая значения состояния, если S 4 i, т.е.
S S+1 при S 2
10 20
S:=S при Яф2, S
:=S+1 при Я=З, S:=S при Я З.
Блок 4 работает следующим образом. 25
При обращении к нему процессор 1, получивший доступ к общей шине, выставляет на магистрали адреса информацию, закодированную согласно фиг. 4, и управляющий сигнал "Чтение" на, входе 19.30
Названный сигнал, совместно с кодом признака обращения к блоку 5 (старшие разряды адреса), инициирует блок 4.
Поскольку в исходном состоянии на выходе одновибратора 39 — уровень "Лог, О", на выходе элемента И 37 появляется сигнал высокого уровня, разрешающий занесение кода адреса ячейки в блоке 5 в регистр 34 адреса, кода операции — в регистр 38, информации с щ шины 11 данных — в регистр 35. Тот же сигнал поступает на блок 5 по выне 44, инициируя в последнем операцию чтения, Кроме того, сигнал с выхода элемента И 37 поступает на одновибра- 45 тор 39 и элемент И 40, который вырабатывает сигнал уровня "Лог.О" длительностью, определяемой настройкой одновибратора 39. Этот сигнал передается на шину 25 готовности для син 50 хронизации процессора 1, инициировавшего обращение, с блоками 4 и 5. Настройка одновибратора 39 (фиг. 5) выполняется таким образом, чтобы на шине 25 появился уровень "Лог. 1" не ранее, чем блок 5 выставит информацию на шине 11 данных, и оставался столько времени, сколько продолжается цикл записи в блок 5.
29 6
Адрес ячейки в блоке 5 задается кодом, хранимым в регистре 34 адреса. Информация, выставленная блоком
5 на шине 11 данных, поступает на информационные входы регистра 35 дан= ных.
При появлении на выходе одновибра рора 39 сигнала "Лог. 1" на инверсном входе элемента И 37 устанавливается запрещающий сигнал, из-за чего на выходе этого элемента появляется сигнал "Лог. О", блокирующий занесе- ние информации в регистры 35, 34 и
38. В то же время на выходе 43, управляющем записью информации в блок
5, появляется сигнал "Лог. 1", Информация, записываемая в блок 5, формируется следующим образом. Старое значение состояния, хранящееся в регистре 35 данных, поступает на входы сумматора 36, вход переноса которого возбуждается выходом мультиплексора
42. Мультиплексор 42 управляется кодом, хранимым в регистре 38 кода операции, и его выход повторяет состояние того выхода дешифратора 41, номер которого задан кодом операции.
Пусть в регистре 38 хранится код
01. Тогда высокий уровень появляется на выходе мультиплексора, только если в регистре 35 данных записан такой же код. При этом на выходе сумматора 36 появляется код, на единицу превышающий код, который хранится в регистре 35 данных, и значение состояния увеличивается на единицу.
Если в регистре 35 данных хранится код, отличный от 01 (хранимого в регистре 38 кода операции), на вход переноса сумматора 36 с мультиплексора 42 поступает уровень "Лог. 0" и код на выходе сумматора 36 повторяет код в регистре 35, т,е. значе" ние состояния не изменяется.
Из сказанного видно, что между считыванием информации из блока 5 процессором 1 и записью в соответствующую ячейку этого блока 5 нового состояния к блоку 5 обращения производится не могут, из-за чего в предлагаемой системе исключена конфликтная ситуация, когда два процессора выбирают из общей памяти для исполнения одну и ту же ветвь программы.
Формула из обретения
Многопроцессорная вычислительная система, содержащая п процессоров
7 1277 обработки, оперативное запоминающее устройство, арбитр общей шины системы и группу устройств ввода-вывода, информационный вход-выход и вход адреса оперативного запоминающего устройства соединены соответственно через общие шины данных и адреса с информационными входами-выходами и выходами адреса всех процессоров обработки и с информационными входами- 10 выходами и входами адреса всех устройств ввода-вывода соответственно, выход запроса общей шины и вход разрешения доступа к общей шине i-го процессора обработки (i=1 и) под- 15 ключены к входу i-го разряда входа запросов и выходу i-го разряда выхода арбитра общей шины системы со,ответственно, входы записи считывания оперативного запоминающего устрой-20 ства соединены соответственно через общие шины записи, считывания с входами записи, считывания всех устройств ввода-вывода и с выходами записи, считывания всех процессоров об- 25 работки соответственно, о т л и ч аю щ а я с я тем, что, с целью повышения производительности обработки за счет воэможности применения распределенной операционной системы, в З0 нее введены блок памяти состояний процессоров обработки и блок управления памятью состояний, выходы данных, адреса, записи и считывания коTOPOI О ПОДКЛЮЧЕНЫ К ОДНОИМЕННЫМ ВХОдам блока памяти состояний процессоров обработки, выход которого соединен через общую шину данных с информационными входами-выходами всех процессоров обработки, выходы считывания 40 адреса и соответствующих разрядов информационных входов-выходов которых соединены через общие шины считывания, адреса и данных с входами
129 8 считывания, адреса и признака состояния блока управления памятью состояний соответственно, выход готовности которого подключен через общую ши ну готовности к входам признака готовности всех процессоров обработки, причем блок управления памятью состояний содержит регистр данных, регистр адреса, регистр кода операции, сумматор, дешифратор, мультиплексор, элемент И, элемент И-НЕ и одновибратор, информационные входы регистра адреса, регистра кода операции и первый и второй входы первого элемента
И образуют вход адреса блока управления памятью состояний, входы считывания и признака состояния которого соединены с третьим входом элемента И и информационным входом регистра данных соответственно, выход регистра данных соединен с информационными входами дешифратора и сумматора, выход которого является выходом данных блока управления памятью состояний, выход элемента И является выходом считывания блока управления памятью состояний и соединен с входами синхронизации регистров адреса, данных и кода операции и с первым входом элемента И-НЕ, а через одновибратор — с четвертым инверсным входом элемента И, с вторым инверсным входом элемента И-НЕ и с выходом записи блока управления памятью состояний, выход готовности которого соединен с выходом элемента И-НЕ, выходы дешифратора и регистра кода операции подключены к информационным и адресным входам мультиплексора соответственно, выход которого подключен к входу переноса сумматора, выход регистра адреса является выходом адреса блока управления памятью состояний.
1277129
I277)29
15 14 И 12 11 10 З а V Е 5 O З 2 1 П
Адрес ячейни Р ЗУ ееморар
Я оо огтера ции признан .ифищгсмею л ЗУ cr peP фиР 4
Лов. уродлив ю Уюмя Ь
ЗУ
Составитель А,Ушаков
Редактор И.Рыбченко Техред И.Попович Корректор С,Шекмар
Заказ 6668/43 Тираж 671 Подписное
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4!5
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4