Процессор для мультипроцессорной системы

Иллюстрации

Показать все

Реферат

 

Изобретение относится к области вычислительной техники и может быть использовано при построении универсальных и специализированных мультипроцессорных систем из микропроцессоров . Целью изобретения является повьшение производительности процессора . С этой целью в процессор, содержащий блок обработки данных (микропроцессор ) , блок памяти -характеристик , регистр данных, мультиплексор адреса, дешифратор, двунаправленный коммутатор, коммутатор данных, коммутатор адреса, коммутатор признаков режима, два элемента И, первый мультиплексор синхросигналов и блок па- 14ЯТИ программ, введены два триггера |травления, схема сравнения, второй льтиплексор синхросигналов, трегий и четвертый элементы И. 8 ил. i СЛ rsD Х сд 4

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

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

РЕСПУБЛИК (594 С Г6 F 15 16

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

К ABTOPCHOMV СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕКНЫЙ КОМИТЕТ СССР пО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3923217/24-24 (22) 08. 07.85 (46) 07.03.87. Бюл. В 9 (71) Институт кибернетики им. В.M.Глушкова (72) P.È.Белицкий, А.И.Зайончковский и А.В.Палагин (53) 681.325(088..8) (56) Патент Франции N - 2500659, кл. G. 06 F 9/46, опублик. 1982.

Энслоу Ф.Г. Мультипроцессорные системы и параллельные вычисления.

-- M. Мир, 1976, с. 55, рис. 2. 12.

Авторское свидетельство СССР

59 1156088, кл. G 06 F 15/16, 1983. (54) ПРОЦЕССОР ДЛЯ ИУЛЬТИПРОЦЕССОРН0А СИСТЕМЫ

„.80„„1295410 А 1 (57) Изобретение относится к области вычислительной техники и может быть использовано при построении универсальных и специализированных мультипроцессорных систем из микропроцессоров. Целью изобретения является повышение производительности процессора. С этой целью в процессор, содержащий блок обработки данных (микропроцессор), блок памяти .характеристик, регистр данных, мультиплексор адреса, дешифратор, двунаправленный коммутатор, коммутатор данных, коммутатор адреса, коммутатор признаков режима, два элемента И, первый мультиплексор синхросигналов и блок памяти программ, введены два триггера правления, схема сравнения, второй мультиплексор синхросигналов, трерий и четвертый элементы И. 8 ил.

1 129541

Изобретение относится к вычислительной технике и может быть использовано при построении универсальных. и специализированных мультипроцессорных систем (МпС) и микропроцессоров, каналом связи для группы которых и, в частности, для системы в целом служит общая информационная шина.Целью изобретения является повышение производительности процессора H 10 расширение его функциональных возможностей путем динамического назначения свободных сегментов программы и представления ими.последовательно вложенных ветвей задачи. 15

На фиг.1 представлена функциональ(,ная схема процессора для мультипро1 ессорной системы; на фиг.2 — пример выполнения блока обработки данных 20 (микропроцессора); на фиг.3 — пример выполнения блока регистров блока об работки данных; на фиг.4 — пример выполнения регистра адреса блока обработки данных; на фиг.5 — пример выполнения блока памяти программ; на фиг.б — пример выполнения блока памяти характеристик; на фиг.7 и 8 — вре- . менные диаграммы фаботы процессора, Процессор для мультипроцессорной ЗО системы (фиг.1) содержит блок обработки данных (микропроцессор) 1,блок

2 памяти программы, блок 3 памяти характеристик, регистр 4 данных, схему

5 сравнения, дешифратор 6, два триг- 35 гера 7 и 8 управления, мультиплексор

9 адреса, элемент И-ИЛИ 10, пять элементов И 11 — 15, двунаправленный коммутатор 16, коммутаторы 17 — 19 данных, адреса и признаков режима и име- 49 ет тактовую шину 20. Кроме того, блок

1 имеет информационный вход-выход 21, адресный выход 22 четыре выхода

23 — 26 признака режима, вход 27 прерывания, а процессор имеет первый 45 и второй синхронизирующие входы 28 и

29, вход 30 разрешения обращения, вход 31 готовности, выход 32 запроса, информационный вход-выход 33, адресный выход 34, первый 35, вто- 50 рой 36 и третий 37 выходы признака режима и вход-выход 38 прерывания.

Блок 1 содержит (фиг.2) арифметико-логическое устройство 39, многоразРядный пеРвый информационный вход 55 которого связан с информационными входами выходного регистра 40 адреса и выходного регистра 41 данных и с выходом блока 42 регистров,. инфор0 2 мационный вход которого подключен к выходу входного регистра 43, информационным входам рабочего регистра

44 и регистра. 45 команд, выходы которых соединены соответственно с вторьп. информационным входом арифметикологического устройства 39 и с первым информационным входом регистра 46 адреса, и через группу элементов И 47 совместно с входами элемента И 48 к информационному выходу арифметико-логического устройства 39, старший разряд которого, выход переноса, а также выход элемента И 48 соединены с первым, вторым и третьим информационными входами регистра 49 признаков.

Выход последнего связан с группой старших разрядов второго информационного входа регистра 46 адреса, третий информационный вход которого подключен к выходу позиций адресного поля регистра 50 микрокоманд. Младшая пориция второго информационного входа

1 егиства 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. Одноименные позиции выхода выходного ре- 20 гистра 41 данных и информационного входа входного регистра данных связаны между собой и подключены к соответствующим линиям информационного входа-выхода 21, а выход выходного регистра 40 адреса подключен к адресному выходу блока 1.

Арифметико-логическое устройство

39 представляет собой комбинацион- 30 ный логический узел, выполняющий в соответствии с задающей кодовои комбинацией на управляющем входе 59 операции сложения, вычитания, логического умножения, сложения по модулю два, 35 . увеличения на единицу, уменьшения на единицу и инверсии над поступающими на его входы операндами. Кроме того, им могут быть заполнены передача без модификации и сдвиг влево или вправо 40 на один разряд кодов, поступающих соответственно с первого и второго информационных входов. Код числа, полученного в результате операции, поступает на информационный выход ариф- 45 метико-логического устройства 39, Блок 42 регистров (фиг.3) состоит из семи регистров 68,.информационные входы 69 которых объединены в информационный вход, а выходы подключены 50 к входам соответствующих групп элементов И 70, выходы 71 которых объединены в выход блока. Управляющие входы регистров 68 связаны с выходами дешифратора 72, общие входы групп элементов И 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

I o связан с входом 23, и выходу элемента И 92, первый вход которого связан с входом 24 блока 2. Оставшиеся. одноименные входы элементов И 91 и

92 объединены и вторые инверсные вхо- g ды 93 подключены к инверсному входу разрешения, а третьи входы — к прямому входу 25 разрешения. Выходы накбпителей 89 через группу элементов

И 90 подключены к одноименным линиям i0 входа-выхода 21, с которыми также связываются информационные входы соответствующих накопителей 89 °

Блок 3 памяти характеристик (фиг.6) состоит из накопителей 94,связанных 15 между собой адресными входами 95, а также первыми управляющими входами записи/чтения.. Точка объединения вторых входов записи/чтения накопителей

94 подключена к выходу элемента И 96, 20 первьп инверсный вход 97 которого, включенный в точку объединения первых входов записи/чтения накопителей 94, связан с первым входом записи/чтения, а второй вход 98 — с вторым входом записи/чтения блока 3. Точка объединения адресных входов 95 связана с адресным входом, а информационные входы и выходы 99 накопителей 94 являются линиями соответственно информационного входа 21 и выхода блока 3, Схема 5 сравнения может быть выполнена на основе сумматора, в котором в качестве первых входов задействованы информациьнные инверсные входы, в качестве вторых входов — инфор;, мационные прямые входы сумматора, а на входную линию переноса заведен сигнал логического "0". Выходная линия переноса сумматора в таком слу- 10 чае является выходом узла.

Коммутатор 17 (аналогично коммута-, торы 18 и 19) может быть включен в виде группы элементов И, способных устанавливать на выходе 0 р 1 . d. также высокаимпедансное состояние.

При этом входы элементов И, от активности которых зависит, будет ли на выходе повторение. состояния вто- g0 рого входа, либо ему задается. третье состояние, объединяются,в пределах группы и являются. управляющим входам узла.

Двунаправленный коммутатор 16 может быть выполнен в виде двух групп элементов И, способных устанавливать на выходе уровни. логического "0", логической "1" и третье (высокоим10 о педансное) состояние, с подключенным к управляющим входам групп выходомсоответственно первого и второго элементов И; первый инверсный вход перного элемента И совместно с первым. вхсдом второго элемента И связаны с первым управляющим входом, а объединенные вторые входы первого и второго элементов И. — с вторым управляющим входом узла. Свободные входы первой группы элементов И подключены к соответствующим выходам второй группы элементов И и представляют со» бой линии первого входа-выхода, а свободные входы второй группы элементов И, связанные с выходами первой группы .элементов И, — линии второго входа-:выхода двунаправленного коммутатора 16. При этом, если одно-. временно с.сигналом активизации на втором управляющем входе на первом управляющем входе установлен уровень

"0", передача информации происходит с первого входа-выхода-на второй вход-выход узла, для уровня "1"— в противоположном направлении.

На фиг.7 представлена временная диаграмма функционирования узлов процессора в цикле инициации им име», нованного сообщения, а на фиг.8при восприятии именованного сообщения; проводимого IIo внешним цепям (для случая наложения цикла последнего на цикл записи -характеристики в процессоре).

Значением времени и обозначена исходная тачка цикла обращения к внешнему устройству (цикла, используемога для передачи процессорам МпС именованного сообщения). В начале его блоком 1 формируется сигнал на выходе 26 ° С окончанием действия. синхронизирующего сигнала Ф1 на адресном выходе 22 устанавливается задающая кодовая комбинация которая че,рез элемент И 12 вызывает активное состояние. на внешнем выходе 32.запроса и одновременно является условием для инициирования первого выхода (диаг амма 6 ) дешифратора 6.

Значением,. обозначена точка анализа готовности внешних цепей процессора к приему передаваемых, в данном цикле информационнога слова (имени ветви) и указателя типа обмена,значением 1< - точка захвата внешних цепей..

7 129541

Интервал времени t — по состо-ю янию тактовой шины 20 устанавливает период ожидания (Т, ) блока 1.

Снятие блокирующего (единичного) состояния триггера 7 определяет начало цикла обращения — операция "Чтение" — в блоке 3 ° Приведенная временная диаграмма соответствует случаю, когда содержимое регистра 4 в начале цикла обращения меньше считы- 1О ваемой из блока 3 характеристики.

Значением t обозначена точка завершения блоком 1 исполнительной фазы, т..е. снятие задающих сигналов на выходах 24 и 26, цикла обращения 15 к внешнему устройству. В этой точке с учетом значений тестируемых состояний указывается изменение содержимого регистра 4 и установление активного состояния входу 27 блока 1. 20

Значением t обозначена точка отключения, в соответствии со снятием задающего сигнала на выходе 36,внешних цепей от внутренних цепей процессора.

Значением t (фиг.9) обозначена исходная точка цикла. обращения к устройству ввода-вывода (цикла, назначенного для записи процессором в собственный блок 3 характеристики 30 локального процессора). В начале его блоком 1 формируется сигнал на выходе 26. С окончанием действия синхрониэирующего сигнала Ф1 на адресном выходе 22 устанавливается задающая кодовая комбинация, которая через элемент И 12 блокирует формирование сигнала на выходе 32 и одновременно является условием для инициирования з третьего выхода (диаграмма 6 ) де- 40 шифратора 6.

Значением t обозначена точка на9 чала приема с внешних цепей процессора именованного сообщения. Значением с — точка анализа готовности 45

8 блока 3 выполнить установленный блоком 1 цикл обращения (операция записи) .

Интервал времени t — t по состо8 3 янию тактовой шины 20 устанавливает 50 период ожидания блока 1.

Снятие блокирующего (единичного) ,состояния триггера 7 определяет начало цикла обращения — операция ."Чте- 55 ние" — в блоке 3, инициация котороrо вызывается состоянием внешних цепей процессора, установление которого производится внешним устройством.

О 8

Значением t обозначена точка за î вершения передачи по внешним цепям именованного сообщения — снятия указателя типа обмена с входа-выхода 38.

Приведенная на фиг.8 временная диаграмма соответствует случаю, когда содержимое регистра 4 больше считываемой из блока 3 характеристики.

Значением t обозначена точка от!

1 ключения внешних цепей пропессора от источника передаваемого именованного сообщения.

С завершением цикла обращенияоперация "Чтение" — в блоке 3 в соответствии с задающими сигналами микропроцессора устанавливается инициируемый цикл обращения — операция "Запись .

Значением t, обозначена завершающая точка рассмотренного цикла обращения к устройству ввода-вывода.

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

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

Процесс поиска осуществляется следующим образом.

Локальный процесс свободного процессора обращается к списку доступных вершин, представляющему собой часть управляющих таблиц системы, в котором имеется информация обо всех вершинах параллельной программы, активизированных к данному моменту времени. Выбрав очередную вершину, локальный процесс начинает обработку связанной с ней управляющей информации, в частности формируются значения верхних и нижних границ для параллельных циклов, подчиненных вершине, анализирует возможность выполнения программы этой ветви (ветвей) и в случае разрешения производит загрузку соответствующего сегмента параллельной прîrpаммы и т.п, Такты в процессорах МпС осуществляются синхронно эа счет использования единых серий сигналов Ф1 и Ф2 ,поступающих на синхронизирующие вхо9 129 ды 28 и 29, и начало текущего такта связывается с нарастающим фронтом первого из них.

Процессор работает следующим образом.

При всяком обращении, производимом с целью приема очередной инструкции (части инструкции) или приема (выдачи) слова данных от источника (к приемнику) информации„ а также в случае формирования специального сигнала установки либо признака режима, блок 1 задает на адресном выходе 22 код адреса, на выходе 23 или выходе 24 — сигнал, определяющий направление передачи слова на информационном входе-выходе 21 (в блок

1 — при инициировании первого, из блока 1 — второго из них), а на выходе 25 — сигнал, интерпретирующий код адреса в качестве положения ячейки памяти или номера устройства ввода-вывода.

В течение интервала активности выходов блока 1 определенная группа кодовых комбинаций, выставляемых на старших позициях адресного выхода

22, воздействует на элемент И 12 и вызывает на выходе его сигнал низкого уровня, что является условием для разрешения доступа к блоку 2, а также, совместно с кодом группы младших позиций адресного выхода 22, к активизации одного из выходов (за исключением первого) дешифратора 6. Состояние выхода 25 на прямом входе разрешения и на инверсном управляющем входе названных блоков определяет обращение к одному из них (высокий уровень сигнала уКазывает доступ к блоку 2)., зanðещая работу другого. Режим работы "Чтение" или

"Запись" инициированного блока 2 (в первом случае для задания теКущего содержимого по информационному входу-выходу 21, во втором " при приеме выставленного последнего слона) указывается сигналами на его первом и втором входах записи/чтения, повторяющих управляющие уровни одноименных выхоцов 23 и 24. Выбор (в обоих случаях) ячейки, с которой коммутируется вход-выход блока 2, определяет младшая часть указанного слова адреса.

В режиме "Хранение" блок 2, а дву" направленный коммутатор 16 и коммутатор 17 в положении "Отключение"

54 19

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

5 . с источником/приемником по типу "Один ,за многих", при которой передача слода к информационному входу-выходу 2.1 дибо от него происходит без "маскирования" информации.

Для записи информации-в блок 3 на выходе 25 задается низкий уровень сигнала, на адресном выходе 22 — код, определяющий собой активность третьего выхода дешифратора 6. Сигнал на выходе 26, формирование которого производится блоком 1 на такт ранее, нежели сигнала "Запись" (в другом режиме — "Чтение" ) сигнальной линии

24(23), а снятие — одновременно с окончанием последнего, своим появлением при заданных условиях устанавливает "1" на втором входе мультиплексора 9 и на первом входе элемента И 15, что при наличии высокого уровня на сигнальной линии 24 вызывает сигнал на первом входе записи/ чтения блока 3. Код, выставляемый блоком 1 на информационном входе-выходе 21, определяет адрес ячейки и записываемую в эту ячейку характери« стику, поскольку содержимое группы младших разрядов его-через нормально коммутируемый первый. информационный вход мультиплексора 9 задает состояние адресного входа, а содержимое старших разрядов — состояние информационного входа блока 3.

Записываемая характеристика указывается как двоично-кодированное число, абсолютная величина которого связывается обратной зависимостью с глубиной вложения представляемой ею ветви в цепочке их в назначенном процессору сегменте параллельной программы и, в частности, может быть задана обратным кодом номера уровня вложения. Таким образом, число разрядов в слове данных, которыми представляется характеристика, выбирается из условия покрытия группой старших разрядов возможного числа уровней вложения ветвей на максимальном пути.в блок-схеме. программы, начинающемся некоторым узлом вхождения, оканчивающемся завершающим узлом (узлом слияния) и не включающем в себя локальных ветвей с одинаковыми уровнями вложения.. Число ячеек- в блоке 3

11 12954 должно позволять идентиф цировать каждую ветвь параллельной программы, помеченную в задаче определенным адресом (именем).

При ограниченных возможностях информационного входа-выхода 21, препятствующих заданию блоком 1 единого слова данных, способного одновременно указать значение записываемой 10 характеристики и адрес произвольной ячейки в полном объеме поля хранения, используется один из известных механизмов и соответствующее ему, схемное дополнение (на фиг.2 не показано) для 15

"расширения" линии 21 связи путем, на.пример, подключения к информационно му входу блока 3 буферного регистра.

Занесение характеристики в введенный буферный регистр производится на от- 20 дельном такте (предварительно), как обращение к некоторому внутреннему блоку ввода.

Занесение характеристики в блок

3 производится блоком 1 при прохожде- 25 нии в локальном процессе вычисления очередного узла вхождения в ветвь задачи, а обнуление ее — при прохождении соответствующего завершающего узла либо при отсечении отмеченной 3р ветви в общем процессе как неудовлетворительной. Следовательно, в текущем такте обработки блок 3 хранит нисходящий рад чисел по адресам, представляющим собой номера незавершенных ветвей, реализация которых производится данным процессором, и нули по остальному полю хранения.

В цикле обращения к внешнему источнику (приемнику) информации, вы- 10 ставляемой блоком 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.

b результате обработки данных локальным процессом могут быть получены значения переменных, свидетельствующие, что определенная ветвь задачи заведомо неудовлетворительна, и с целью отсечения соответствующих вычислений в параллельной программе. процессором выставляется именованное сообщение. При выставлении именованного сообщения блок 1 выполняет цикл записи, вызывающий передачу слова — номера ветви задачи на вход-выход 33 и "1" на вход-выход 38.

1295410

13

В цикле обращения, используемом для передачи именованного сообщения, оказавшаяся на адресном выходе 34 кодовая комбинация не способна инициировать ни одно из реально подключен- 5 ных обобществленных устройств вводавывода, поэтому на входе 31 не устанавливается низкий уровень сигнала .

Таким образом, наличие и число тактов ожидания для блока 1, выставляющего именованное сообщение, определяется временем задержки установления ответного сигнала на входе .30, а длительность действия логической "1" на входе-выходе 38 соответствует минимальной для внешнего обмена — около двух тактов.

Нарастание фронта сигнала на входевыходе 38 в каждом процессоре, воз- 2п действуя на синхронизирующий вход триггера 7; вызывает переключение его в ециничное состояние, так как на информационном входе в это время присутствует 1 с нулевого выхода, 25 ,В дальнейшем первый пришедший сигнал

,на синхронизирующий вход 29 возвра1

1цает триггер 7 в нулевое состояние, задавая тем самым, интервал действия

" 1" на первом входе элемента И 11 на- ЗО чальной частью, а на первом входе элемента И 14 — заключительной частью длительности инициирующего сигнала.

В соответствии с этим условием элемент И 14 формирует сигнал, вызывающий переключение входов в мультиплексоре 9 и режим "Чтение" в блоке 3.

Адресный вход блока 3 в режиме "Чтение" оказывается задействованным на группу младших позиций входа-выхода gg

33. Ниспадающий фронт выходного сигнала элемента И 14, воздействующий на синхронизирующие входы регистра

4 и триггера 8, указывает гочку .возможного изменения их состояний. 45

Содержимое ячейки, считываемое на, выход блока 3,- сравнивается с текущим состоянием регистра 4 и при превышении первого над вторым . на выходе схемы 5 устанавливается уровень

"i". Результат сравнения поступает на вход разрешения синхронизации регистра 4 и на единичный вход триггера 8, своим значением в завершении цикла передачи именованного сообщения определяя либо занесение кода считанной характеристики в регистр

4 с одновременным установлением (подтверждением) единичного состояния в триггере 8, либо сохранение их содержимого неизменным.

Нарастающий фронт уровня на входе

27 воспринимается блоком i как запрос прерывания. Реагируя на запрос прерывания, блок 1 выполняет многошаговую процедуру перехода на обслуживающую программу, на одном из шагов которой принимает информацию из регистра 4. В цикле обращения, используемом для приема. информации из регистра 4, при активном сигнале "Чтение" на стробирующем входе дешифратора 6 оказывается в состоянии логической "1" второй его выход, управляющий коммутатором 17 и одновременно сбрасывающий в нулевое состояние триггер 8.

Приняв содержимое регистра 4, блок

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

Работа регистра 4 и триггера 8 при чтении содержимого ячейки блока

3 отражает возможные ситуации, в которых оказывается процессор при приеме именованного сообщения.

Первая ситуация - считанная информация заносится в регистр 4, а триггер 8 переключается в единичное состояние. Этим фиксируется положение, когда именованная в сообщении ветвь реализуется данным процессором, а блоком 1 производится вычисление по задаче, либо выполняются действия предусмотренные программой реализации на прерывание, и устанавливается прерывание с целью удаления про" граммы ветви,, IIQ KoTopoH производятся вычисления (при вторичном прерывании — ветви, заключающей в себя ту, для которой выполнялось прерываниа).

Вторая ситуация — считанная информация заносится в регистр 4, а триггер 8 остается в единичном состоянии. Этим фиксируется положение когда именованная в сообщении ветвь реализуется данным процессором, а блоку J, выполняющему многошаговую процедуру перехода к программе реакции на прерывание, выставляется

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

Третья ситуация — считанная информация не заносится в регистр 4, а триггер 8 остается в прежнем (нулевом либо единичном) состоянии. Для ненулевой считанной информации этим фиксируется положение, когда для рвализуемой блоком 1 процедуры вторичное прерывание не имеет реального смысла, так как сообщение, его вызывающее py6smpyeT ранее принятое ли бо относится к ветви, вложенной в ту, для которой выполняется программа либо переход к программе реакции на прерывание.

В нулевое (исходное) состояние 20 регистр 4 сбрасывается на подготовительном этапе после поиска процессором работы в результаты выполнения блоком 1 цикла обращения, при котором элементом И 12 формируется низкий уровень сигнала, а на дешифраторе 6 устанавливается .активным четвертый выход.

В случае совпадения интервала действия сигнала на входе-выходе 38 с 30 временем активности выхода 26 в цикле записи блоком 1 информации в блок 3 одновременно на первом и втором входах элемента И 11 устанавливаются уровни логической "1", которые 35 вызывают формирование последним низкого уровня сигнала на тактовой шине 20, Такой уровень сигнала при опи санных условиях задает в цикле обращения блока 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 поступает код ,"10". В этом случае в регистр-счетчик 74 заносится код, заданный в адресном поле микрокоманды.

Блок 1 работает следующим образом.

По сигналам, поступающим с выхода 45 элемента И 56, информация с выхода памяти 55 заносится в регистр 50. Последний разбит на поля. Часть из них является управляющими и формирует уровни сигналов и кодовые комбинации на втором входе элемента И 52, первом входе элемента И 54, единичном входе триггера 58, управляющем входе регистра 40, входах элемента ИЛИ 57, на входах 59 — 67, а также на выходах 55

23 — 25; адресное поле содержит код адреса следующей микрокоманды или базового адреса группы следующих микрокоманд.

Поле регистра 50, управляющее блоком 42, включает шесть разрядов, разбитых на две равные группы. Первая группа управляет занесением информации в регистры 68, а вторая — выдачей содержимого этих регистров через группы элементов И 70. Выходы первой группы управляют дешифратором

72, который выдает импульс на один из своих выходов при поступлении сиг" нала на синхронизирующий вход блока

42. Если в некоторой микрокоманде не должно производиться занесение информации в блок 42, на соответствующих линиях 62 записывается двоичный код числа "7".

17 12954

При выполнении микрокоманды сиг:нал вырабатывается на восьмом выходе дешифратора 72, не подключенном ни к одному из регистров 68.. Выдачей информации управляет дешифратор 73.

Код, находящийся на второй группе линий 62, инициализируя дешифратор

73, открывает соответствующую ему .. группу элементов И 70; которая пропускает содержимое выбранного реги- fo стра 68 на выход блока. Выходы групп элементов И 70 образуют "проводное

ИЛИ". Если в текущей микрокоманде информация из блока 42.выдаваться не должна, то в разрядах регистра микро- 15 команд 50, формирующих состояния второй группы линий 62, записывается код числа "7" и ни одна из групп элементов И 70 не открывается.

Функции регистров 68, входящих 20

„ в состав блока 42, распределены следующим образом: PO — РЗ (т.е. регистры, управляющие входы которых связаны с 0 — 3 выходами дешифратора

72) — регистры общего назначения, Р4 — регистр текущих данных, P5— счетчик команд, Рб — указатель стека.

В таблице приведены некоторые микропрограммы работы блока 1. В

rpaAe 1 приведен адрес микрокоманды в микропрограммной памяти 55; в графе 2 — мнемоники микроопераций, управляющих формированием адреса следующей микрокоманды; в графе 3 — мнемоники микроопераций, выполняемых 35 арифметико-логическим устройством

39, блоком 42, рабочим регистром 44, регистром 45, а также выходными регистрами 40 и 41 адреса и данных, входным регистром 43 данных и управляющих состоянием триггера 51; в графе 4