Устройство вызова подпрограмм

Иллюстрации

Показать все

Реферат

 

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

К ПАТЕНТУ

Комитет Российской Федерации по патентам и товарным знакам (21) 4921582/24 (22) 28.1 290 (46) 30.1193 Бюл. Мя 43-44 (71) Институт точной механики и вычислительной техники им.САЛебедева PAH (72) Волин В.С.; Лизоркина ГФ.; Лизоркин Ап.; Груздов ФА; Артемов АИ (73) Институт точной механики и вычислитетъной техники имСАЛебедева РАН (54) УСТРОЙСТВО ВЫЗОВА ПОДПРОГРАММ

{57) Изобретение относится к вычислительной тех= нике и предназначено для использования в центральных процессорах вычислительных машин высокой производительности. Цель изобретения— (В) RRU U(11) 2004012 С1 (51) 5 G 06 F 9 40 расширение области применения устройства за счет обеспечения одновременной подготовки нескольких процессорных переходов и уменьшения количества обращений к оперативной памяти устройства Устройство для выполнения подпрограмм содержит блок памяти, блок памяти параметров, три элемента сравнения, два сумматора, семь входных регистров, одиннадцать регистров, четыре выходных регистра, двенадцать коммутаторов, блок управления, дополнительный блок памяти, дополни-.. тельный элемент сравнения, шестнадцать дополни- тельных регистров, одиннадцать дополнительных коммутаторов, блок выработки модификации значения адреса 10 ип.

2004012

Изобретение относится к вычислительной технике и предназначено для использования в центральных процессорах(ЦП) ЭВМ высокой производительности.

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

На фиг.1 — 5 представлена блок-схема устройства вызова подпрограмм; на фиг,б— структура информации, приходящей по шине управляющей информации из устройства управления ЦП; на фиг.7 — структура адресации к коду процедуры и данным, на фиг,8 — структура стека активации процедуры и управляющего слова возврата; на фиг.9 и 10 — алгоритм работы блока управления.

Устройство содержит первый входной регистр 1, второй входной регистр 2, третий входной регистр 3, четвертый входной регистр 4, блок 5 управления, первый регистр

6, первый коммутатор 7; второй коммутатор

8, второй регистр 9, третий регистр 10, до- 25 полнительный блок 11 памяти, третий коммутатор 12, блок 13 памяти, четвертый коммутатор 14, первый выходной регистр

15, четвертый регистр 16, пятый регистр 17, первый элемент 18 сравнения, второй эле- 30 мент 19 сравнения, первый дополнительный коммутатор 20, первый дополнительный регистр 21, второй дополнительный регистр 22, третий дополнительный регистр 23, четвертый дополнительный 35 регистр 24, пятый коммутатор 25, дополнительный элемент 26 сравнения, шестой регистр 27. шестой коммутатор 28, первый сумматор 29, пятый дополнительный регистр 30, шестой дополнительный регистр

31, седьмой дополнительный регистр 32, восьмой дополнительный регистр 33, вторпй дополнительный коммутатор 34, третий дополнительный коммутатор 35, четвертый дополнительный коммутатор 36, пятый до- 45 полнительный коммутатор 37, шестой дополнительный коммутатор 38, седьмой дополнительный коммутатор 39, девятый дополнительный регистр 40, десятый дополнительный регистр 41, одиннадцатый дополнительный регистр 42, двенадцатый дополнительный регистр 43, тринадцатый дополнительный регистр 44, четырнадцатый дополнительный регистр 45, пятнадцатый дополнительный регистр 46, восьмой 55 дополнительный коммутатор 47, девятый дополнительный коммутатор 48, десятый дополнительный коммутатор 49, седьмой регистр 50, восьмой регистр 51,одиннадцатый дополнительный коммутатор 52. девятый регистр 53, шестнадцатый дополнительный регистр 54, седьмой коммутатор 55, десятый регистр 56, блок 57 памяти параметров, восьмой коммутатор 58, девятый коммутатор 59, второй выходной регистр 60, блок 61 выработки модифицированного значения адреса, десятый коммутатор 62, третий выходной регистр 63, пятый входной регистр 64, шестой входной регистр 65, третий элемент 66 сравнения, одиннадцатый коммутатор 67, седьмой входной регистр 68, одиннадцатый регистр 69, второй сумматор 70, двенадцатый коммутатор 71, четвертый выходной регистр 72, входную информационную нулевую шину 73 числа из буфера стека, входную информационную первую шину 74 числа из буфера стека, входную информационную шину 75 числа из ассоциативного ЗУ глобалов, входную информационную шину

76 числа из локальной памяти, входную шину 77 управляющей информации из блока управления ЦП, выходную информационную шину 78 числа в буфер стека, выходную информационную шину 79 числа в буферную память (БП), выходную шину 80 числа в устройство преобразования чисел, выходную шину 81 математического адреса в ассоциативное ЗУ страниц, выходную информационную шину 82 индекса команды в буфер команд (БК), первую информационную шину 83, вторую информационную шину 84, третью информационную шину 85.

Блок 5 управления имеет с первого по седьмой информационные входы 86-1 — 86-7, первый регистр 6 — информационный вход

87-1, управляющий вход 87-2, первый коммутатор 7 — с первого по третий информационные входы 88-1-88-3, управляющий вход

88-4, второй коммутатор 8 — первый и второй информационные входы 89-1 и 89-2, управляющий вход 89-3, дополнительный блок 11 памяти — первый и второй информационные входы 90-1 и 90-2, управляющий вход 90-3, третий коммутатор 12 — первый и второй информационные входы 91-1 и 91-2, управляющий вход 91-3, блок 13 памяти — информационный Bxog 92-1, управляющий Bxog

92-2, с первого по третий выходы 93-1 — 93-3, четвертый коммутатор 14 — с первого по четвертый информационные входы94-1-94-4. управляющий вход 94-5, Четвертый регистр 16 имеет информационный вход 95-1, управляющий вход 95-2, пятый регистр 17— информационный вход 96-1, управляющий вход 96-2, первый элемент 18 сравнения— первый и второй информационные входы

97-1 и 97-2, второй элемент 19 сравнения— первый и второй информационные входы

98-1 и 98-2, первый дополнительный комму2004012

35

50 татор 20 — первый и второй информационные входы 99-1 и 99-2, управлящий вход

99-3, первый дополнительный регистр 21— информационный вход 100-1, управляющий вход 100-2, второй дополнительный регистр

22 — информационный вход 101-1, управляющий вход 101-2, третий дополнительный регистр 23 — информационный вход 102-1, управляющий вход 102-2, пятый коммутатор

25 — с первого по третий информационный входы 103-1 — 103-3, управляющий вход 1034, дополнительный элемент 26 сравнения— первый и второй информационные входы

104-1, 104-2, шестой регистр 27 — информационный вход 105-1, управляющий вход

105-2, шестой коммутатор 28 — первый и второй информационный входы 106-1 и 1062, управляющий вход 106-3, первый сумматор 29 — первый и второй информационные входы 107-1 и 107-2, Пятый дополнительный регистр 30 имеет информационный вход

108-1, управляющий вход 108-2, шестой дополнительный регистр 31 — информационный вход 109-1, управляющий вход 109-2, седьмой дополнительный регистр 32 — информационный вход 110-1, управляющий вход 110-2, второй дополнительный коммутатор 34 — с первого по третий информационные входы 111-1-117-3, управляющий вход 111-4, третий дополнительный коммутатор 35 — первый, второй и третий информационные входы 112-1, 112-2 и 112-3, управляющий вход 112-4, четвертый дополнительный коммутатор 36 — с первого по третий информационные входы 113-1-1133, управляющий вход 113-4, пятый дополнительный коммутатор 37 — первый и второй информационные входы 114-1 и 114-.2, управляющий вход 114-3, шестой дополнительный коммутатор 38 — первый и второй информационные входы 115-1 и 115-2, управляющий вход 115-3, седьмой дополнительный коммутатор 39 — первый и второй информационные входы 116-1 и 116-2, управляющий вход 116-3, девятый дополнительный регистр 40 — информационный вход 1 t7-1, управляющий вход 117-2, десятый дополнительный регистр 41 — информационный вход 118-1, управляющий вход

118-2, одиннадцатый дополнительный регистр 42 — информационный вход 119-1, управляющий вход 119-2, тринадцатый дополнительный регистр 44 — информационный вход 120-1, управляющий вход 120-2, четырнадцатый дополнительный регистр 45 — информационный вход 121-1, управляющий вход 121-2, пятнадцатый дополнительный регистр 46 -- информационный вход

122-1, управляющий вход 122-2, восьмой дополнительный коммутатор 47 — с первого по третий информационные входы 123-1 — 1233, управляющий вход 123-4, девятый дополнительный коммутатор 48 — первый и второй

vHôoðìàöèoHíûå входы 124-1 и 124-2, управляющий вход 124-3, десятый дополнительный коммутатор 49 — с первого по третий информационные входы 125-1 — 1253, управляющий вход 125-4, седьмой регистр 50 — информационный вход 126-1, управляющий вход 126-2, восьмой регистр

51 — информационный вход 127-1, управляющий вход 127-2. Одиннадцатый дополнительный коммутатор 52 имеет с первого по третий информационные входы 128-1 — 1283, управляющий вход 128-4, девятый регистр 53 — информационный вход 129-1, управляющий вход ";29-2, шестнадцатый дополнительный регистр 54 — информационный вход 130-1. управляющий вход 130-2, седьмой коммутатор 55 — первый и второй информационные входы 131-1 и 131-2, управляющий вход 131-3, десятый регистр 56 — информационный вход 132-1. управляющий вход 132-2, блок 57 памяти параметров — первый и второй информационные входы

133-1 и 133-2, управляющий вход 133-3, восьмой коммутатор 58 — п=рзый. второй и третий информационные входы 134-1, 134-2 и 134-3, управляющий вход l34-4, девятый коммутатор 59 — с первого по четвертый информационные входы 135-1-135-4, управляющий вход 135-5, второй выходной регистр 60, — ичформацио ный вход 136-1, управляющий вход 136-2, десятый коммутатор 62 — с первого по пятый информационные входы 137-1 — 137-5, управляющий вход

137-6, третий выходной регистр 63 — информационный вход 138-1, управляющий вход

138-2. Шестой регистр 65 имеет информационнь:й вход 139-1, управляющий вход 139-2, третий зл мент 66 сравнения — первый и второй информационные входы 140-1 и (402, одиннадцатый коммутатор 67 — первый и второй информационные входы 141-1 и 412, управляющий вход 141-3, седьмой входной регистр 68 — информационный вход

142-1, управля:ощий вход 142-2, второй сумматор 70 — первый и второй информационные входы 143-1 и 143-2, двенадцатый коммутатор 7 — с первого по третий информационные входы 144-1 — 144-3, управляющий вход 144-4.

Входная информационная нулевая шина 73 соединена с входом первого входного регистра 1 и с первым информационным входом 86-1 блока 5 управления, Входная информационная первая шина 74 подключена к входу второго входного регистра 2 и к второму информационному входу 86-2 блока управления, Входная информацион 7

2004012 ная шина 75 соединена с входам третьего входного регистра 3 и с третьим входом 86-3 блока управления. Входная информационная шина 76 подключена к четвертому входному регистру 4 и к четвертому информационному входу 86-4 блока управления. Входная шина 77 соединена с пятым информационным входом 86-5 блока 5 управления, с информационными входами

108-1, 109-1, 110-1, 139-1, 142-1, регистров

30, 31, 32, 65, 68, информационным входом

133-1 блока 57 памяти параметров, с входом регистра 33. Шина логического "0" соединена с вторым информационным входом 144-2 коммутатора 71, Выход регистра 1 соединен с информационным входом 87-1 регистра 6 и вторым информационным входом 88-2 коммутатора 7, первый вход 88-1 которого подключен к выходу регистра 6. Третий вход

88-3 коммутатора 7 соединен с выходом регистра 3. Выходы регистров 2 и 4 соединены с первым и вторым информационными входами 89-1 и 89-2 коммутатора 8, Вь1ход коммутатора 7 соединен с входом регистра 9, выход которого подключен к первому информационному входу 90-1 блока 11 памяти, к информационным входам 95-1, 96-1, 129-1 регистров 16, 17, 53, к входам регистров 24, 64, к вторым информационным входом 99-2, 114-2, 115-2, 116-2, 128-2 коммутаторов 20, 37, 38, 39, 52, к третьим информационным входам 112-3, 113-3 коммутаторов 35, 36, к первому информационному входу 144-1 коммутатора 71, к второму информационному входу 133-2 блока 57 памяти параметров, к третьему и четвертому информационным входам 137-3 и 137-4 коммутатора 62. Выход коммутатора & через регистр 10 соединен с вторым информационным входом 90-2 первого дополнительного блока 11 памяти, с вторым информационным входом 113-2, коммутатора 36, первыми информационными входами 114-1, 115-1, 116-1 коммутаторов 37, 38, 39, третьим информационным входом 128-3 коммутатора 52, Выход блока

1 подключен к второму информационному входу 91-2 коммутатора 12, первый вход 911 которого соединен с выходом регистра 27.

Выход коммутатора.12 соединен с первым информационным входом 92-1 блока 13 памяти, первый выход 93-1 которого подключен к выходной информационной шине 78, второй и третий выходы 93-2 и 93-3 — к первому и второму информационным входам

94-1 и 94-2 коммутатора 14 соответственно.

Третий информационный вход 94-3 комму татора 14 соединен с выходом регистра 56, четвертый информационный вход 94-4 — с второй информационной шиной 84, Выходы коммутатора 14 через регистр 15 соединен

40 с выхщ ной шиной 79. Выходы регистров 16, .17 подключены соответственно к первым информационным входам 97-1, 98-1 элементов 18, 19 сравнения, выходы которых соединены с первой информационной шиной

83, которая подключена к шестому входу

86-6 блока 5 управления, Выходы регистров

21, 22, 23 соединены соответственно с первым, вторым, третьими информационными входами 103-1, 103-2, 103-3 коммутатора 25, выход которого подключен к информационному входу 105- 1 регистра 27 и к пятому информационному входу 137-5 коммутатора

62, Выход регистра 27 соединен с первым информацион lblM входом 106-1 коммутатора 28, к второму информационному входу

106-2 которого подключен выход регистра

23. Выход коммутатора 28 соединен с первым информационным входом 107-1 первого сумматора 29, выход которого подключен к информационным входам 100-1, 101-1 регистров 21; 22 первому информационному входу 99-1 коммутатора 20, к вторым информационным входам 97-20 98-2 элементов 18, 19 сравнения, к первому информационному входу 104-1 элемента 26 сравнения, выход которого соединен с седьмым информационным входом 86-7 блока 5 управления. Выходы регистров 30, 31, 32 подключены соответственно к первому, второму, третьему информационным входам 111-1, 111-2, 111-3 коммутатора 34, выход которого соединен с информационной шиной 84, Регистр 32 подключен также к первому информационному входу 112-1 коммутатора

35, второй информационный вход 112-2 которого соединен с выходом регистра 33. Выход коммутатора 35 соединен с вторым информационным входом 107-2 первого сумматора 29. Выходы регистров 40, 41, 42 соединены соответственно с информационными входами 123-1, 123-2, 123-3 коммутатора 47, выход которого подключен к информационному входу 126-1 регистра 50.

45 Выход регистра 42 соединен также с первым информационным входом 124-1 коммутатора 48, второй информационный вход

124-2 которого подключен к выходу регистра 43. Выход коммутатора 48 подключен к

50 третьей информационной шине 85, Выход коммутатора 37 соединен с информационным входом 120-1 регистра 44, выход коммутатора 38 подключен к информационному входу регистра 45, выход коммутатора 39 соединен с информационным входом регистра 46, выходы регистров 44, 45, 46 подключаны к первому, второму, третьему информационным входам 125-1, 125-2, 1253 коммутатора 49. Выход коммутатора 52 соединен с информационным входом 130-1

2004012

55 регистра 54, выход которого подключен к второму информационному входу 131-2 коммутатора 55 и к третьему информационному входу 134-3 коммутатора 58, Выход регистра 53 соединен с первыми информационными входами 131-1, 134-1 коммутатора 55, 58 и с первым информационным входом 128-1 регистра 52. Выход коммутатора 55 подключен к информационному входу 132-1 регистра 56, выход которого соединен с вторым информационным входом 134-2 коммутатора 58 и с четвертым информационным входом 135-4 коммутатора 59, к третьему информационному входу

135-3 которого подключен выход блока 57 памяти параметров, Выход коммутатора 59 соединен с информационным входом 136-1 регистра 60, выход которого подключен к выходной шине 80. Выход коммутатора 62 соединен с информационным входом 138-1 регистра 63, выход которого подключен к выходной шине 81 и через блок 61 выработки модифицированного значения адреса к второму информационному входу 137-2 коммутатора 62. Выход регистра 64 соединен с первыми информационными входами

140-1, 141-1 третьего элемента 66 сравнения и коммутатора 67, вторые информационные входы 140-2, 141-2 которых подключены к выходу регистра 65. Выход третьего элемента бб сравнения соединен с третьим входом 141-3 коммутатора 67. Выход коммутатора 67 соединен с входом регистра 69, выход которого подключен к второму информационному входу 143-2 второго сумматора 70, к первому информационному входу 143-1 которого подключен выход регистра 68, Выход второго сумматора 70 соединен с третьим информационным входом коммутатора 71, выход которого подключен через выходной регистр 72 к выходной шине 82.

В устройстве единая система синхронизации, Все входящие в устройство блоки, элементы, сумматоры, коммутаторы, регистры могут быть выполнены на элементах серии ИЗООБ.

Алгоритм работы блока управления приведен на фиг,9, 10, и подробно раскрыт в описании функционирования устройства.

Исходно управляющие регистры — (6aзовые регистры (БР) блока 13, регистр 27 базы текущей активации (БТА), регистр 16 нижней границы буфера стека, регистр 17 верхней границы буфера стека, регистр 60 лексикографического уровня и номера сегмента, регистр 51 систсмных триггеров (ТГ), регистр 53 базы словаря системы, регистр

56 базы словаря пользователя (БСП) — прописываются по команде записи, поступаю5

35 щей из блока 5 управления по шине 77, информацией, поступающей из регистрового файла ЦП по шине 73. При этом блок 5 декодирует команду ЗПРЕГ и номер прописываемого регистра, обеспечивает коммутацию операнда с выходного регистра t на регистр 9 записи через коммутатор 7 и выработку соответствующего строба записи;

БР блока 13 прописываются через рабочие

БР блока 11 и коммутатор 12 (последовательно вырабатываются управляющие сигналы на входах 90-3 91-3 и 92-2), регистры

17, 16, 54, 50 прописываются непосредственно с выхода регистра 9 (вырабатываются соответственно стробы записи на входах 962. 95-2, 130-2 или 126-2}, регистр 27 прописывается через коммутатор 20, регистр третьего дополнительного регистра 23 дешифрируемой команды (РДК) и коммутатор

25 (последовательно вырабатываются управляющие сигналы на входах 99-3, 102-2, 103-4 и 105-2), регистр 50 прописывается через коммутатор 36. регистр 42 и коммутатор 47 (посл едовател ь но вы рабаты в а ются управляющие сигналы на входах 113-4, I192, 123-4 и 126-2), регистр 51 прописывается через коммута;ор 49 (вырабатываются управляющие сигналы на входах ".25-4 и 127-2), регистр 56 прописывается через коммутатор 52, регистр 54 и коммутатор 55 (вырабатываются управля;ощие сигналы на входах 128-4, 130-2, 131-3 и 132-2), БР 6 операционной системы прописывается непосредственно с выхода 1 регистра(вырабатывается строб записи на входе 87-2).

Значения регистров блока 13 и регистра

27 могут быть считаны в регистровый файл

ЦП по шине 78, значения регистров 50, 51, 56 и значения остальных регистров, имею.цих копии в блоке 57, могут быть считаны в устройство преобразования чисел по шине

80 через коммутатор 59 и регистр 60, В устройстве реализованы следующие виды процедурных переходов; вхо.; = статически известную (открытую) процедуру (ОВХ), вход в формальную процедуру(ВХФ), вход в систему процедуры (ВХС), возврат в запустившую процедуру (выход из процедуры. В ЫХ), безусловный динамический переход под метке (ПРХМ). Каждый из них реализуется двумя командами — подготовки и выполнения процедурного перехода, Подготовка процедурного перехода включает следующие действия: формирование указателя БТА)РДК на регистрах 21, 22 или 23, формирование нового контекста на блок 11 (в случае 0ВХ не производится, формирование нового регистра состояния на регистре 40, 41 или 42 и на регистре 44, 45 или 46, формирование связующей информа2004012

10

20

35

55 ции для сохранения в БП ЦП при входе в процедуру или считывание информации из

БП ЦП при выходе из процедуры и

ПРХМ,выход дескриптора программного сегмента (ДПС) (инициализация БП ЦП по шине 81). Выполнение процедурного перехода сводится к переписи регистров)РДК на соответствующие основные регистры.

Все команды подготовки процедурных переходов инициализируются блоком 5 по шине 77, Блок 5 декодирует код операции и формирует на регистрах сдвига соответствующую последовательность тактовых импульсов 01КОП вЂ” Q!КОП, Длина последовательности зависит от типа операции (некаторые вложенные подпоследавательности могут повторяться).

Г!ри получении команды ОВХ литеральная информация о процедуре (фиг.б) запоминается на соответствующих регистрах: номер уровня HYP и номер сегмента НС— на регистре 40, 31 или 42, HC поступает также на регистр 43, индекс команды возврата ИКВ, смещение по буферу стека ДЦС. тип возврата Т — на регистре 30, 31 или 32, ДЦС поступает также на регистр 33.

По команде ОВХ формируется последовательность из двух импульсов: 010BXj и

Q20BXj, где j — номер РДК, По сигналу

Q10BXj коммутатор 28 настраивается на регистр 27, коммутатор 35 — на регистр 33 и в следующем такте на выходном регистре сумматора 29 появляется новое значение

БТА. По сигналу 020BXj вырабатывается строб приема на регистр 21, 22 или 23 (для последнего па сигналу 020ВХ3 коммутатор

20 настраивается на вход 99-1), На этом формирование новой БТА завершается.

Одновременно формируется запрос с

БП ЦП о ДПС вызываемой процедуры. По сигналу 01OBXj коммутатор 62 настраивается на вход 137-1, коммутатор 58 — на вход

134-2, коммутатор 48 — на вход 124-2 и на регистре 63 математического адреса в следующем такте появляется адрес ДПС вызываемой процедуры (фиг.7), При появлении ДПС на шине 75 коммутатор 7 настраивается на вход 88-3 и в следующем такте ДПС появляется на выходе регистра 9 и поле ТГ из ДПС через коммутатор 37, 38 или 39 принимается на регистр 44, 45 или 46. Одновременно этот ДПС поступает в БК ЦП и используется для подкачки кода вызываемой процедуры. По приему ДПС подготовка OBX заканчивается.

При выполнении ОВХ по шине в блок 5 поступает поле ПРХ (фиг,б). В блоке 5 оно декодируется, и по признаку OBX на соответствующем РДК формируется последовательность из двух управляющих импульсов: .01flPXOBXj и 02ПРХОВХ). Па сигналу

01ПРХОВХ) коммутатор 14 настраивается на вход 94-4, коммутатор. 34к- на вход 108-), коммутатор 62 — на вход 137-5, Таким образом в следующем такте на выходе регистра

15 (шине 79) появляется значение УСВ (паля

ИКВ, ДЦС, TB — с регистра 30 31 или 32, поле

НУНС вЂ” с регистра 50, поле Тà — с регистра

51), которое записывается по адресу, появившемуся на выходе регистра 63 (шине 81) и равное значению БТА)РДК, по шине 92-2 в регистр блока 13 подается адрес считывания, равный старому значению номера уровня. По сигналу 02ПРХОВХ) коммутатор

14 настралвается на вход 94-2, коммутатор

62 — на вход 137-2. Таким образом в буфер стека ЦП записывается сохраняемый БП по адресу, на единицу большему значения

БТА)РДК. Кроме того, па сигналу

Q1HPXOBXj коммутатор 12 настраивается на вход 91-1 |л в регистр блока 13 записывается старое значение регистра 27, Также по сигналу 01ПРХОВХ) производятся следующие действия: коммутатор 25 настраивается на вход 103-j и новое значение БТА с регистра 21, 22 или 23 переписывается на регистр 27, коммутатор 47 настраивается на вход !23-j и на регистр 50 принимается новое значение с регистра 40, 41 или 42, коммутатор 49 настраивается на вход 125-) и на регистр 51 принимается значение ТГ с регистра 44, 45 или 46, Все действия по переключению регистров происходят в течение одного такта, заплсь в буфер стека ЦП вЂ” в течение двух тактов (последняя работа является фоновой и не влияет на г!роизводительнасть ЦП).

Команда входа в формальную процедуру выполняется только на третьем РДК. Па коду

ВХФ формируется последовательность из трех управляющих импульсов: 01ВХФ—

С!ЗВХФ. Прием литеральной информации с шины 77 {кроме поля НУН С) и формирование нового значения БТАЗРДК соответствуют команде OBX на третьем РДК, Одновременна па шине 73 из регистрового файла ЦП поступает метка процедуры

50 (фиг.7), в которой указаны ее лексикографический уровень {поле НУР). адрес ее ДПС (пале АДГ!С) и адрес контекстной пачки (поле АКП), определя ощий доступные ей области памяти, Па сигналу 01ÂÕÔ коммутатор

7 настраивается на вход 88-2 и в следующем такте метка появляется на выходе регистра

9. По сигналу 02ВХФ коммутатор 36 настраивается на вход 112-3 и регистр НУНСЗРДК

42 прописывается соответствующими полями из метки, коммутатор 52 настраивается

2004012 на вход 128-2 и регистр БСПЗРДК 54 прописывается полем АДПС.БСП из метки. Одновременно коммутатор 62 настраивается на вход 137-3 и в следующем такте на регистре

63 появляется адрес ДПС вызываемой про- 5 цедуры (фиг.8). По сигналу ОЗВХФ коммутатор 62 настраивается на вход 137-4 и на регистре 63 в следующем такте появляется адрес контекстной пачки. Одновременно в блоке 5 устанавливаются счетчик запросов за контекстной пачкой, равный нулю, и его предельное значение, равное номеру уровня из метки, и триггер значимости этого счетчика — ТЗАПАЧ. По этому триггеру коммутатор 62 настраивается на вход 137-2 и на 15 выходе регистра 63 формируется модифицированное значение адреса. с каждым тактом на единицу большее предыдущего, одновременно значение счетчика запросов за контекстной пачкой увеличивается. При его 20 значении, равном пределу, триггер ТЗАПАЧ сбрасывается и выдача запросов в БП ЦП прекращается, Так как при ВХФ формируется новый контекст на регистрах блока 13, их содержи- 25 мое предварительно переписывается в БП

ЦП.

По сигналу ОЗВХФ в блоке 5 устанавливается значение счетчика упрятывания контекста, на единицу меньшее номера уровня 30 из метки, и по условию сброса триггера ТЗАПАЧ вырабатывается последовательность из двух управляющих импульсов: 01УПКО и

02УПКО. По сигналу 01УПКО коммутатор 25 настраивается на вход 103-3, коммутатор 62 35 — на вход 137-3, по сигналу 02УПКО коммутатор 62 настраивается на вход 137-2 и устанавливается триггер ТУПКО. По значению

ТУПКО коммутатор 14 настраивается на вход 94-2, в регистр блока 13 по шине 92-2 40 подается адрес считывания БР, равный значению СЧУПКО. коммутатор 62 настраи аегся на вход 137-2, из значения СЧУПКО ежетактно вычитается единица.

Таким образом, s буфер стека ЦП по 45 последовательным адресам. начиная с адреса, равного БТАЗРДК+2. переписываются сохраняемые БП из блока 13. При нулевом значении счетчика сохранение старого контекста прекращается. 50

Подготовка ВХФ заканчивается после прихода ДПС, который обрабатывается аналогично команде ОВХ на третьем РДК и всех элементах контекстной пачки из ассоциативного ЗУ глоба loB ЦП по шине 75 или из 55 локальной памяти ЦП по шине 76. При приеме каждого дескриптора данных значение счетчика запросов убывает на единицу, и при его значении. равном нулю. подготовка

ВХФ прекращается.

Все время подготовки ВХФ (с ОЗВХФ и до конца операции) коммутаторы 7 и 8 настроены на входы 88-3 и 89-2 соответственно, через них и регистры 9 и 10 приходящие дескрипторы данных записываются в рабочие БР блока 11.

При выполнении ВХФ в блоке 5 формируется последовательность из двух сигналов 01ПРХВХФ и 02ПРХВХФ, действия по которым аналогичны действиям по сигналам 01ПРХОВХЗ и 02ПРХОВХЗ за следующими отличиями. По сигналу 02ПРХВХФ коммутатор 14 настраивается на вход 94-3 и в буфер стека ЦП через регистр 15 записывается информация с регистра 56 (фиг.9).

Коммутатор 12 настра;вается на вход 91-2 и в регистр блока 13 переписывается новый контекст из блока 11. Регис р 5-1 настраивается на вход l30-2 и на регистр 56 записывается новое зна ение БСП с регистра 54.

Команда OBXC является оптимизацией команды ВХФ для часто используемых процедур операционной системы. Необходимая для коррекции контекста информация хранится не в памяти, как в случае ВХФ, а на регистрах устройства -- новое значение базы словаря — на ре .;стре 53, БР нулевого уровня — на БР 6 операоиснной cv .t..òàìû, поэтому запрос о них в память не производится.

По коду 0ВХС формируется последовательность из трех упоавляющих импульсов:

01ОВХС вЂ” 030HXC, Прием лигеральной информации с шинн 77 и формирование нового значения БТАЗРДК полностью соответствуют команде ОБХ на третьем

РДК, номер уровня вызываемой процедуры при этом всегда равен единице. Формирование запроса в БК ЦП о коде вызываемой процедуры также аналогично команде 3BX за тем исключением, что по сигналу

Q10BXC коммутатор 58 настраива "ся на вход 134-1. По сигналу 02ОВХС ком .утатор

7 настраивается на вход 88-1 и в с "дующем такте содержиMое регистра 6 появляется íа выходе регистра 9 и записывается в блок 11 по сигналу 03ОНХС. По сигналу 02ОВХС коммутатор 52 настраивается на вход 128-1 и содержимое регистра 53 переписывается в регистр 54. На этом формирование нового контекста завершается, Выполнение ОВХС полностью аналогично выполнению ВХФ.

По коду ВЫХ формируется последовательность из трех управляющих импульсов;

Q1BblX — ОЗВЫХ, По сигналу 01ВЫХ коммутатор 25 настраивается на вход 103-3, коммутатор 62 — на вход 137-5 и в следующем такте на выходе регистра 63 появляется адрес УСВ. равный значению БТАЗРДК, В следующем такте формируется запрос о втором

2004012

15 (56) Техническое описание МВК "Эльбрус 1"

Техническое описание МВК "Эльбрус 2". информационный вход блока управления подключены к входной информационной

УСТРОЙСТВО ВЫЗОВА ПОДПРОГ- первой шине числа из буфера стека, инРАММ, содержащее блок памяти, блок 8- 50 формационный вход третьего входного ремяти параметров, три элемента сравнения. гистра и третий информационный вход .два сумматора, семь входных регистров блока управления соединены с входной одиннадцать регистров, четыре выходных информационной шиной числа из ассоциарегистра, двенадцать коммутаторов, блок тивного запоминающего устройства глобауправления, информационнь|й вход ер - 55 лов, информационный вход четвертого го входного регистра и первый информаци- входного регистра и четвертый информаонный вход блока управления соединены с ционный вход блока управления подключе.входной информационной нулевой U3l4Ho0 ны к входной информационной шине числа числа из буфера стека, информационный из локальной памяти, пятый информационвход второго входного регистра и второй ный вход блока управления, первый инсохраненном слове связующей информации (бП или БСП в зависимости от типа возврата), для чего по сигналу Q2BblX коммутатор 62 настраивается на вход137-2 и на регистре 63 появляется адрес, равный 5

БТАЗ РД К+1, Считанное УСВ появляется на входной шине 75. По приему УСВ коммутатор 7 настраивается на вход 88-3 и в следующем такте значение УСВ появляется на регистре 10

9, коммутатор 36 настраивается на вход 1133 и поля HYP и НС записываются на регистр

42, коммутатор 39 настраивается на вход

116-2 и поле ТГ принимается на регистр 46, коммутатор 71 настраивается на вход 144-3 15 и поле ИКВ принимается на регистр 72 и выдается в БК ЦП по шине 82 для подкачки кода процедуры, в которую происходит возврат, по приему ДПС, коммутатор 35 настраивается на вход 112-1, коммутатор 28 20 настраивается на вход 106-.1 и на сумматоре

29 вычисляется новое значение БТА. В следующем такте коммутатор 20 настраивается на вход 99-1 и новое значение БТВ поступает на регистр 23. 25

Поле УСВ.НУР поступает также вместе с полем УСВ.ТВ в блок 5 для определения дальнейшего алгоритма исполнения команды, Если УСВ,ТВ=1, то второе считанное слово — БР, Когда оно поступает по шине 75к 30 (или 76), коммутатор 7 (8) настраивается на вход 88-3 (89-2), В следующем такте значение БР появляется на регистре 9 (10) и записывается в блок 11 по адресу, равному номеру уровня из УСВ, на этом коррекция 35 контекста заканчивается. Если YC8,TB-2, то второе считанное из слово — бСП. Когда оно поступает по шине 75 (или 76), коммутатор

52 настраивается на вход 128-2 (128-3) и значение БСП записывается на регистр 54. 40

В следующем такте коммутатор 62 настраивается на вход 137-2 и формируются СЧЗАПАЧ, равный номеру уровня из УСВ, и его значимость — ТЗАПАЧ. Действия по нему полностью аналогичны действиям при под- 45 готовке ВХФ, По завершении запросов коммутатор 58 настраивается на вход 134-3, коммутатор 48 — на вход 124-1, коммутатор

62 — на вход 137-1 и на регистре 63 формируется адрес ДПС процедуры, в которую происходит возврат. По окончании коррекции (прихода всех упрятанных БП) подготовка выхода завершается.

При выполнении Bblx в блоке 5 формируются сигналы 01ПРХВЫХ и 02ПРХВЫХ, действия по которым аналогичны действиям по сигналам Q1 и 02ПРХВХФ за исключением того, что запись в ЦП не производится.

Цель команды ПРХМ вЂ” поиск в стеке активации с БТА, равной эталону, указанному в метке перехода. Команда выполняется только на третьем РДК. По коду ПРХМ формируется последовательность из трех управляющих импульсов: 01ПРХМ вЂ” ОЗПРХМ, по шине 73 из регистрового файла ЦП поступает метка перехода, в которой указаны индекс команды перехода и ассоциативный адрес (эталон) для поиска активации, в которую необходимо перейти, По сигналу

01ПРХМ коммутатор 7 настраивается на вход 88-2 и в следующем такте метка появляется на выходе регистра 9 и по сигналу

О2ПРХМ принимается на регистр 24 эталона перехода по метке. Дальнейшее выполнение подготовки аналогично последовательному выполнению подготовки команды выхода из процедуры. Полученное при вычислении БТА на сумматоре 29 значение поступает на вход 104-1 элемента

26 сравнения и сравнивается со значением регистра 24. При сравнении выполнение подготовки после проведения коррекции прекращается при несравнении — считывается следующее УСВ, Выполнение ПРХМ полностью аналогично выполнению выхода из процедуры.

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

10 информационному входу первого коммутатора, второй и третий информационные входы которого соединены с выходами первого и третьего входных регистров соответственно, выход первого коммутатора подключен к информационному входу второго регистра, выходы второго и четвертого входных регистров соединены с первым и вторым информационными входами второго коммутатора, выход которого подклю- gp чен к информационному входу третьего регистра, первый информационный вход третьего коммутатора соединен с выходом шестого регистра, выход третьего коммута-. тора подключен к информационному входу 25 блока памяти, первый информационный выход которой соединен с выходной информационной шиной числа в буфер стека, второй и третий информационные выходы блока памяти подключены соответственно gp к первым и вторым информационным входам четвертого коммутатора, третий информационный вход которого соединен с выходом десятого регистра, вторая информационная шина подключена к четвертому 35 информационному входу четвертого коммутатора, выход которого соединен с информационным входом выходного регистра, выход которого соединен с выходной информационной шиной числа в <0 буферную память, выход второго регистра подключен к информационным входам четвертого, пятого, девятого входных регистров, второму информационному входу блока памяти параметров, первому инфор- "5 мационному входу двенадцатого коммутатора, выход которого соединен с третьим информационным входом девятого коммутатора, выходы четвертого и пятого регистров соединены с первыми 50 информационными входами соответственно первого и второго элементов сравнения, выходы которых образуют первую информационную ши"у, KOTopBsl соедине-5б на с седьмым входом блока управления, выход пятого коммутатора соединен с информационным входом шестого регистра, выход которого подключен к первому информационному входу шестого коммутатора и второму информационному входу девятого коммутатора, выход шестого коммутатора соединен с первым входом первого сумматора, выход которого соединен с вторыми информационными входами первого и второго элементов сравнения, первый информационный вход девятого коммутатора подключен к второй информационной шине, которая образована соединением выходов седьмого и восьмого регистров, выход девятого регистра подключен к первым ин