Процессор для мультипроцессорной системы
Иллюстрации
Показать всеРеферат
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК
ОГ ИОАНИЕ ИЗОБРЕТЕНИЯ
Н А BTGPCHOMY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГННТ СССР (21) 4751307/24 (22) 19. 10.89 (46) 30. 10. 91. Бюл. № 40 (71) Ленинградское объединение электронного приборостроения "Светлана" (72) А.Ф. Дряпак, Е.Н.Носова, P.È.Áåлицкий, А.В.Палагин, А.И.Зайончковский и В.В.Городецкий (53) 681.3 (088.8) (56) Клингман Э. Проектирование микропроцессорных систем. М.: Мир, 1980, с. 458-483.
Европейский патент В 0032182, кл. С 06 F 13/00, 1981. (54) ПРОЦЕССОР ДЛЯ МУЛЬТИПРОЦЕССОРНОИ
СИСТЕМЫ (57) Изобретение относится к вычислительной технике и предназначено для работы в мультипроцессорной системе обработки данных, использующей общую
Изобретение относится к вычислительной технике и предназначено для работы в мультипроцессорной системе обработки данных, использующей общую магистраль для. доступа к общим ресурсам системы, или в однопроцессорных системах, работающих в мультипрограммном режиме °
Целью изобретения является повышение быстродействия процессора (путем исключения повторных опросов при освобождении семафоров, управляющих другими частями общих ресурсов системы и уменьшение внешних управляющих сигналов процессора).
На фиг ° 1 изображена схема предлагаемого устройства; на фиг.2 — графÄÄSUÄÄ 1688252 A 1 (!) С 06 F 15/00, 15/78, !3/36 магистраль для доступа к общим ресурсам системы, или в однопроцессорных системах, работающих в мультипрограммном режиме. Цель изобретения — повышение быстродействия. Для этого процессор содержит блок микропрограммного управления, арифметико-логическое устройство, регистр команд, магистральный транслятор, буферные регистры, регистр системного адреса, схему сравнения, два шинных формирователя, группу шинных формирователей, три формирователя импульсов, четыре триггера, элемент ИЛИ-НЕ и элемент И. Это позволяет процессору реализовать возможность выполнения текущей задачи и одновременно аппаратно следить за освобождением только своего семафора, не занимая при этом системную шину и не расходуя программные вставки.
3 ил. схема алгоритма функционирования, на фиг.3 — временная диаграмма работы устройства.
Устройство (фиг.!) содержит блок 1 микропрограммного управления, который может состоять из регистра 2 адреса микрокоманд, памяти микрокоманд (П ) 3, регистра микрокоманд (РМК) 4, элемента HE 5, арифметико-логическое устройство (АЛУ) 6, которое может состоять из первого 7, второго 8, третьего 9 регистров (Р), сумматора (См) IO группы шинных формирователей (ШФ) 11, блок регистров общего назначения (РОН) 12, регистр команд (РК) 13, магистральный транслятор (МТ) !4, который может состоять из
1688252 первой 15 и второй 16 групп шинных усилителей (ШУ), первый 17 и второй 18 буферные регистры (ВР), регистр системного адреса (РСА) 19, схему 2
Сравнения, второй шинный формирователь 21 и первый шинный формироваТель 22, первый, второй и третий шинные формирователи 23-25 группы, первый 26 формирователь импульсов (ФИ), который может состоять из элемента
11Е 27, элемента 28 задержки, элемента ИЛИ-НЕ 29, второй 30 и третий 31 формирователи импульсов, первый 32, второй 33, третий 34 и четвертый 35 триггеры (Т1-Т4), элемент ИЛИ-НЕ 36, элемент И 37, внутреннюю общую шину
38, информационно-адресную системную шину 39 (АД), вход 40 разрешения на захват магистрали (РЗМ), шину 41 синхронизации обмена (бЕМ), шину 42 записи данных (ДЗп), вход 43 ответа (OTB), вход 44 сброса (Сбр), вход 45 синхронизации (СИ), выход 46 запроса
"магистрали (ЗМ) и выход 47 чтения данных (ДЧТ).
Процессор (фиг.1) при выполнении команды опроса и захвата семафор работает в соответствии с граф-схемой алгоритма (ГСА) функционирования, приведенной на фиг.2, и временной диаграммой, изображенной на фиг.3. На временной диаграмме логическая единица изображается высоким уровнем, следовательно, активные уровни инверсных сигналов — низким уровням.
Рабочая программа может храниться как в системном ЗУ, подключенном к системным шинам 39, 41, 42, 43, 47, так и в местном ЗУ, подключенном к внутренней шине 38. Цикл выполнения всех команд (системы команд) в ГСА (фиг.2) изображен для случая хранения программы в местном ЗУ. Б случае хранения программы в системном ЗУ в цикл выполнения команд необходимо включить этап захвата системной магистрали. Семафоры всегда хранятся в системном ЗУ.
По сигналу "Сброс" на входе 44
I первый 32 и четвертый 35 триггеры ус танавливаются в нулевое состояние, а регистр адреса микрокоманд (PAM) 2 — в начальное состояние.
При нулевом состоянии первого тригге ра 32 сигнал с его инверсного плеча, поступая на S-вход второго триггера
33 устанавливает последний в ецинич ное состояние, которое не изменяется до тех пор, пока триггер 32 находится в нулевом состоянии.
В процессе выполнения команды ОЗС (см. ГСА, фиг.3) производится чтение семафора из системного ЗУ по шине 39, анализ его состояния с помощью третьего триггера 34 и захват семафора, если он оказался свободным. Если семафор оказался занятым, то в команде
ОЗС установкой первого триггера 32 в единичное состояние включается механизм аппаратного слежения за освобождением требуемого семафора. В режиме слежения момент освобождения требуемого семафора фиксируется ! нулевым состоянием триггера 33.
Чтение и захват семафора осуществляются следующим образом.
По сигналам из блока 1 адрес требуемого семафора, например„ предварительно занесенный в блок 12, переписывается из блока 12 в регистры 17 и
18 по внутренней шине 38. Затем блок
25 1 формирует сигнал запроса магистрали (ЗМ) на выходе 46 и сигнал разрешения передачи на первых управляющих входах шинных усилителей 16. Однако шинные усилители 15 и 16 продолжают сохранять на своих выходах высокоимпедансное состояние вследствие того, что на их вторые управляющие входы поступает запрещающий включение уровень с выхо.да четвертого триггера 35. Высокоимпедансное состояние сохраняют также выходы формирователей 23-25, так как на их управляющие входы сигнал, запрещающий включение, тоже поступает с четвертого триггера 35.
По переднему фронту сигнала разрешения захвата магистрали (РЗМ), поступающему по входу 40, триггер 35 устанавливается в единичное состояние, что переводит усилители 15, 16 и формирователи 23-25 из высокоимпедансно- го во включенное состояние.
Вследствие этого на шинах 41,42 и . выходе 47 устанавливается высокий уровень, соответствующий отсутствию выдачи сигналов из процессора по этим нинам. В то же время вследствие того, что на первых управляющих входах усилителя 16 с помощью блока 1 установлен сигнал разрешения передачи, происходит передача содержимого регистра
55 17 (адреса семафора) на системную информационно-адресную шину 39. Затем блок 1, не прекращая выдачи адреса, формирует сигнал ОБМ (низким уровнем).
1688252
На шине 41 по
1 и< цени: первый разряд две- .ванного семафора на прежнее место в наццатого управляющего выхода блока 1, системном ЗУ. Блок 1 засылает маску информационный вход формирователя 23. в регистр 8, возбуждая второй разряд
В следующем такте блок 1 прекращает десятого управляющего выхода. Маска передачу адреса снятием сигнала с . может быть предварительно например !
У У первых управляющих входов усилителя в начальном пуске сформирована и за16 и формирует сигнал ДЧТ низким " несена в блок 12. Тогда, одновременуровнем »а выходе 47 по цепи: третий но с сигналом записи, в регистре 8 разряд двенадцатого управляющего вы- 10 возбуждаются соответствующие сигналы хода блока 1, информационный вход на соответствующих управляющих выхоформирователя 25, Системное ЗУ при дах блока 1, определяющих режим чтеналичии низких уровней на шине 41 ния соответствующего регистра блока (ОБ !) и выходе 47 (,ЧТ) выставляет 12 на шину 38. Кодом на девятом упна шину 39 (дд) содержимое ячейки по 1 Равляющем выходе блока 1 сумматоР адресу семафора и сопровождает его 10 настраивается например на пораэсигналом низкого уровня на входе 43 Рядную диэъюнкцию ° Сигналом с треTbе(тВ) (ОтВ го разряда десятого управляющего выОдновременно с сигналом ДЧТ блок хода блока 1 результат диэъюнкции
1 возбуждает свой шестой управляющий 20 маски и семафора фиксируется в регивыход, который, поступая на вторые стре 9. В дальнейшем замаскированный управляющие входы усилителей 15, от- семафор передается из регистра 9 чекрывает их для передачи семафора с 1 реа Формирователь 11 — шину 38 — решины 39 на шину 38. Одновременно блок гистр 17 — усилитель, 16 на шину 39.
1 возбуждает первый разряд десятого 25 Одновременно возбуждается второй разуправляющего выхода, который соединен ряд двенадцатого управляющего выхода с управляющим входом записи в регистр .блока 1, в результате чего через фор7, Семафор по цепи: шина 39 — усили- мирователь 24 эанулится шина 42 чт что тель 15 — шина 38 — регистр 7. записы- соответствует выдаче сигнала ДЗП. вается в регистр 7 для возможного по- gp Этой записью в системное ЗУ эавершаследующего маскирования. По переднему ется режим Чтение — модификация— фронту сигнала ОТВ на входе 43 (при запись" и захват семафора. наличии низкого уровня на шине 41) на Возможн озможно два режима слежения, что выходе формирователя 30 импульсов отражено в отражено в А на фиг.2. Первый реформируется импульс, который поступа- жим слежени — н " В жим слежения — непрерывный. В этом ет на управляющий вход триггера 34. режиме блок 1 в каж в каждом такте анализиЭтим импульсом фиксируется в триггере Рует состояние триггера 33. При обну34 состояние семафора, поступающего с лении триггера 33 процессор осуществшины 39 на информационный вход триг- ляет чтение семафора и его анализ с гера 33. помощью триггера 34. Если семафор на
В триггере 34 фиксируется состояние момент чтения оказался уже занятым соответствующего разряда шины 39 по (триггер 34 находится в единичном переднему фронту сигнала ОТВ на вхо- состоянии), происходит возврат к неде 43 при любом (своем/чужом чтении прерывному слежению эа состоянием или записи) обращении к системному 45 триггера 33, который предварительно
ЗУ. Процессор в команде ОЗС или в ре- устанавливается в "1" путем обнуления жиме слежения производит чтение сема- триггера 32, Затем триггер 32 должен фора в режиме чтение-модификация быть установлен в единицу для разре(пауза) — запись. Поэтому после чте- шения аппаратного слежения. Если сения семафора процессор, приступая к 50 мафор при чтении оказался свободным, его анализу, не освобождает системную то процессор захватывает его и вышину, а удерживает ее низким уровнем ключает механизм слежения обнулением на шине 41. триггера 32.
Состояние семафора при его Te- 8 opoH pe o e eHH — MHKporpaMнии определяется с помощью анализа мный. Процессор, прочитав в команде в локе 1 состояния триггера 34. Ес- ОЗС занятый семафор, анализирует поле б
55 ли триггер 34 в нулевом состоянии в Формате команды ОЗС, предписывающее (семафор свободен), то захват семафо- непрерывный или микропрограммный рера осуществляется записью замаскиро- жим. В случае второго ремлма микро1688252 процессор завершает «зь«ггоз«нение команды ОЗС микропрограммой ухода на фоновую задачу, не требующую общих ресурсов. В начале вьп«олнения каждой «<о манды фоновой задачи всегда анализи5 руется (микропрограммно) состояние триггера 33, который устанавливается ноль при освобождении семафора.
Цикл выполнения команд фоновой за-, Дачи в этом случае прервется и процессор перейдет к выполнению микропрограммы попытки захвата семафора.
При неудачной попытке процессор возВращается к продолжению выполнения фоновой задачи, предварительно установив триггеры 33 и 32 в единицу. В случае захвата семафора, процессор выключает режим слех<ения установкой триггера 32 в "О". Затем выполняется микропрограмма выхода из фоновой и возврат в основную программу.
Меха««иэм обнаружения освоб.-,кдения семафора работает следующим образом.
В регистре 18 размещен адрес сема- 25 с)ора, а по переднему фронту сигнала
ОБИ на шине 41 в регистре 19 фиксируется адрес, передаваемьп« по шине 39 °
На выходе схемы 20 сравнения появится единица в случае равенства содерУ
30 жимого регистров 18 и 19, которая г..оступает на первьпз «зход элемента И 37.
На второй вход элемента И 37 единица поступает с прямого плеча первого триггера 32 (рех<им слежения установлен) . На. третий вход элемента И 37 единица по- 35 ступает с выхода формирователя 26 импульса, когда на входе формирователя
««роисходит изменение уровня сигнала
ДЗП с низкого на высокий, т.е. от40 слеживается окончание импульса ДЗП на шине 42. По совпадению трех единиц на входе элемента И 37, на его выходе появляется единичный уровень, длительностью равньпг длительности импульса на его третьем входе, Импуль45 сом с И 37, поступающим на управляю-щий вход второго триггера 33, в триггер записывается информация, поступающая Hà его информационньпг вход с прямого плеча триггера 34. 50
Состояние триггера 34 устанавливается по началу сигнала ОТВ на шине 43 (см. фиг,3) и к моменту окончания
ДЗП его,состояние соответствует сос55 тоянию соответствующего разряда записываемой информации. При записи семафора состояние триггера 34 соответствует состоянию семафора.
Таким образом, процессор и<«еле неудачной попытки захвата семафора в команде ОЗС при любом режиме слежения аппаратно следит за освобождением своего семафора и только после этого производит повторную попытку его захвата с занятием системной шины.
Специальной шины для слежения в системном интерфейсе не требуется, Формула изобретения
Процессор для мультипроцессорной системы, содержащий блок микропрограммного управления, арифметико-логическое устройство, блок регистров общего назначения, магистральньпг транс— лятор, первый и второй буферные ре- . гнстры, первьпг и второй шинные форми— рователи, группу шинных формирователей, регистр команд„ выход которого соединен с входом кода команды блока микропрограммного управления, первый выход которого соединен с входом записи регистра команд, информационный вход которого через внутреннюю шину подключен к информационным входам первого и второго буферных регистров, блока регистров общего назначения, арифметико-логического устройства, выходам арифметико-логического устройства, информационным выходам магистрального транслятора, информационным выходам первого и второго шинных формирователей, информационные входы первого и второго шинньгх формирователей соединены с информационными выходами соответственно блока регистров общего назначения и второго буферного регистра, адресный вход блока регистров общего назначения соединен с вторым управляющим выходом блока микропрограммного управления, третий управляющий выход которого соединен с управляющим входом первого шинного формирователя и входом чтения блока регистров общего назначения, вход записи которого соединен с четвертым управляющим выходом блока микропрограммного уг«равления, пятый и шестой управляющие выходы которого соединены соответственно с первым и вторым управляющими входами магистрального транслятора, информационный вход магистрального трансля гора соединен с выходом первого буферного регистра, а информационньгй вход-выход магистрального транслятора соединен с инфор— мационно-адресной с«:сте«гной ««|иной
1688252
l0 процессора, управляющий вход первого буферного регистра соединен с седьмым управляющим выходом блока микропрограммнбго управления, восьмой управляющий выход которого соединен с управляющим входом второго шинного формирователя, девятый и десятый управляющие выходы блока микропрограммного управления соединены соответственно . с входами кода операции и управления передачей информации арифметико-логи=. ческого устройства, одиннадцатый управляющий выход блока микропрограммного управления соединен с выходом запроса магистрали процессора, двенадцатый управляющий выход блока микропрограммного управления соединен с информационными входами шинных формирователей группы, информационные вы20 ходы первого, второго и третьего шинных формирователей группы соединены соответственно с шинами синхронизации обмена, записи данных и выходом чтения данных процессора, первый вход условий блока микропрограммного управления соединен с входом ответа процессора, тактовый вход синхронизации процессора соединен с тактовым входом блока микропрограммного управления, вход сброса которого соединен с входом сброса процессора, о т л ич а ю шийся .тем, что, с целью повышения быстродействия, в него введены регистр системно о адреса, схема сравнения, с первого по четвертый З5 триггеры, с первого по третий формирователи импульсов, элемент И, элемент ИЛИ-НЕ, первый вход которого подключен к шине синхронизации обмена процессора, а второй вход соединен 40 с входом ответа устройства, выход элемента ИЛИ-НЕ через второй формирователь импульсов соединен с тактовым входом третьего триггера, информационный вход которого соединен с одним 4 из разрядов информационно-адресной системной шины процессора, прямой выход третьего триггера соединен с информационным входом vòoðîão триггера и с вторым входом условий блока микропрограммного управления, третий вход условий которого соединен с прямым выходом второго триггера, вход установки в "1" которого соединен с инверсным выходом первого триггера, первый вход установки в "0" первого триггера соединен с входом сброса процессора, второй вход установки в
"0" и вход установки в " 1н первого триггера соединены соответственно с тринадцатым и четырнадцатым управляющими выходами блока микропрограммного управления, прямой выход первого триггера соединен с первым входом элемента И, второй и третий входы которого соединены соответственно с выходом схемы сравнения и выходом первого формирователя импульсов, выход элемента И соединен с тактовым входом второго триггера, вход первого формирователя импульсов подключен к шине записи данных процессора, шина синхронизации обмена которого подключена к входу третьего формирователя импульсов и входу записи регистра системного адреса, информационный вход которого соединен с информационно-адресной системной шиной процессора, выход регистра системного адреса соединен с первым входом схемы сравнения. второй вход которой соединен с выходом второго буферного регистра, выход третьего формирователя импульсов соединен с первым входом установки в "0" четвертого триггера, второй вход установки в "0" и вход установки в "1" четвертого триггера соединены соответственно с входом сброса и входом разрешения на захват магистрали процессора, прямой выход четвертого триггера соединен с третьим управляющим входом магистрального транслятора с управляющими входами шинных формирователей группы и четвертым входом условий блока микропрограммного, управления.
1 б88252
АП РЗМ
Й! Вп
1688252
havana
Сдр
Т4, т2
И 078 и
ЙлФрация камонды
ЛЭманда
0Л
И:=1
Л Е-Б
Фикропрогммареализаиий остальных команд системы команд.
n:= О(тг:=1 микролрограмма начального и ска
Чтение команды Рормирабание с помощью ллуи Рййаареса имоски семеро а.,Занесение а Рпеса
В БР и РАЕ, о маски
В Р1(ЛЛУ) за 8ат шины
Чтение(Врежиме
ЧМ4семац ора из системнага 03у и занесение ееаВР2 ая тЗ
Поразрядная оизьюнкция Р1 иР2 В Ем и занесение резульщато через PJ8 бК
Запись(Врежиме tk3
ВОЗусоде киного бр РодчироАъние моски семафора и занесение его
ВР1 агбат ыины Т1 =0
Чтение(Врежиие 3 семафора и занесение его Врг
По азрядная дизьюнкция Р1и Р25 Ем узанесение результата через Р76БР пись ВРикиме Чьа
ВОЗУсай имаго Ю арм лаограумп юяВизфаногаи заоачи
Иикроподпрогромма умВа но ронооую задачу
hem ь а Фут ляг &
Ли алыины т =0(т2:= ) Чтение(Времиме
ЧМЗ)семафора и занесюие его юг ою
1688252 к
/
ДЫБА 0 д pwuvox с ежемие
Рог.З
Составитель А.Сошкин
Редактор С.Лисина Техред М.Дидык Корректор С.Шекмар
Заказ 3710 1 раж Подписное
3Н1ПШИ Го ударе гнс нн, го комитета по изобретениям и открытиям при ГКНТ СССР
11303 i, Ыосква, Ж-35, Раушская наб., д. 4/5
1рс и.) водо тисни > — и знато чье кии комбинат "Пате HT", г. Ужгород, ул. Гагарина, 1Q1