Устройство вызова подпрограмм
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
(51) 5 ОПИСАНИЕ ИЗОБРЕ ычислительной зоркин Ап.; Грузычи слит ельной ОДПРОГРАММ числительной техьзования в центльных машин выь изобретения -Комитет Российской Федерации по патентам и товарным знакам(71) Институт точной механики и втехники им.САЛебедева РАН(73) Институт точной механики и втехники имСАЛебедева РАН(57) Изобретение относится к вынике и предназначено для исполральных процессорах вычислитесокой производительности. Цел расширение области применения устройства за счет обеспечения одновременной подготовки нескольких процессорных переходов и уменьшения количества обращений к оперативной памяти упройства Устройство для выполнения подпрограмм содержит блок памяти, блок памяти параметров, три элемента сравнения, два сумматора, семь входных регистров, одиннадцать регистров, четыре выходных регистра, двенадцать коммутаторов, блок управления, дополнительный блок памяти, дополни- тельный элемент сравнения, шестнадцать дополни- тельных регистров, одиннадцать дополнительных коммутаторов, блок выработки модификации значения адреса 10 ип.четвертого по десятый регистров, с перво- та сравнения подключены к выходу го по двенадцатый коммутаторы подключе- первого сумматора, второй информационны к выходам блока управления с первого ный вход дополнительного элемента сравпо двадцать второй, входы записи и адрес- нения соединен с выходом четвертого ные блоки памяти и блока памяти парамет дополнительного регистра, выход дополниров подключены к выходам блока тельного элемента сравнения подключен к управления с двадцать третьего по двад- шестому информационному входу блока цать шестой, двадцать седьмой и двадцать управления, выход первого дополнитель. восьмой выходы которого соединены с вхо- ного коммутатора соединен с информацидами записи второго и третьего выходных 10 онным входом третьего дополнительного регистров, синхровход устройства для вы- регистра, выходы первого, второго, третье- полнения подпрограмм соединен с синх- го дополнительных регистров соединены ровходами блока управления, шестого и сбответственно с первым, вторым, третьим седьмого входных регистров, первого, с информационными входами пятого комму- четвертого по десятый. Регистров, блока 15 татора, выход третьего дополнительного памяти и блока памяти параметров, второ- регистра подключен к второму информациго и третьего выходных регистров и входа- онному входу шестого коммутатора, инми записи входных регистров с первого формационные входы с пятого по десятый, по пятый, второго, третьего, одиннадцато- двенадцатого дополнительных регистров и го регистров, первого и четвертого выходпервый информационный вход четвертого ных регистров, отличающееся тем, что, с дополнительного коммутатора подключены целью расширения области применения к входной шине управляющей информации устройства путем обеспечения одновре- из устройства управления центрального менной подготовки нескольких процедур- процессора, выходы пятого и шестого доных переходов и уменьшения количества 25 полнительных регистров соединены соотобращений к оперативной памяти, введе- ветственно с первым и вторым ны дополнительный блок памяти, дополни- информационными входами второго дательный элемент сравнения, шестнадцать полнительного коммутатора, третий индополнительных регистров, одиннадцать формационный вход которого и первый дополнительных коммутаторов, блок выра- информационный вход третьего дополниботки модификации значения адреса, при- тельного коммутатора подключены к выхочем первый и второй информационные ду седьмого дополнительного регистра, входы первого дополнительного блока па- выход восьмого дополнительного регистра мяти соединены с выходами второго и соединен с вторым информационным вхотретьего регистров соответственно, выход дом третьего дополнительного коммутатовторого регистра соединен с информаци- Ра выход второго дополнительного онным входом четвертого дополнительного коммутатора соединен с второй информарегистра, вторыми информационными вхо- ционной шиной, выходы девятого и десядами первого, пятого, шестого, седьмого и 40 того дополнительных регистров подключеодиннадцатого дополнительных коммута- ны соответственно к первому и второму торов, третьими информационными входа- информационным входам восьмого дополми третьего и четвертого дополнительных нительного коммутатора, выход четвертого коммутаторов, третьим и четвертым ин- дополнительного коммутатора соединен с формационными входами десятого ком информационным входом одиннадцатого мутатора, выход третьего регистра подклю- дополнительного регистра. выход которого чен. к второму информационному входу подключен к третьему информационному .четвертого дополнительного коммутатора, входу восьмого дополнительного коммутак первым информационным входам пятого, тора и первому информационному входу шестого и седьмого дополнительных комдевятого дополнительного коммутатора, мутаторов, третьему информационному второй информационный вход которого совходу одиннадцатого дополнительного единен с выходом двенадцатого дополни- коммутатора, выход первого дополнитель- тельного регистра, выход восьмого ного блока памяти подключен к второму дополнительного коммутатора подключен .информационному входу третьего коммук информационному входу седьмого регитатора, первый информационный вход пер- стра, выход девятого дополнительного вого дополнительного коммутатора, коммутатора соединен с третьей информаинформационные входы первого и второго ционной шиной, выход пятого дополни- дополнительных регистров, первый инфор- тельного коммутатора соединен смационный вход дополнительного элемен-информационным входом тринадцатогодополнительного регистра, выход шестого дополнительного коммутатора подключен к информационному входу четырнадцатого дополнительного регистра, выход седьмого дополнительного регистра соединен с информационным входом пятнадцатого дополнительного регистра, выходы тринадцатого, четырнадцатого и пятнадцатого дополнительных регистров подключены соответственно к первому, второму и третьему информационным входам десятого дополнительного коммутатора, выход которого подключен к информационному входу восьмого регистра, выход одиннадцатого дополнительного коммутатора подключен к информационному входу шестнадцатого дополнительного регистра, выход которого соединен с вторым информационным входом седьмого коммутатора, выход третьего выходного регистра подключен через блок выработки модифицированного значения адреса к второму входу десятого коммутатора, управляющие входы дополнительного блока памяти с :первого входа адреса : записи дополнительного блока памяти соединены с двадцать девятым и тридцатым выходами блока 5 управления, входы записи дополнительныхрегистров с первого по третий, пятого, шестого, седьмого, с девятого по одиннадцатый, с тринадцатого по шестнадцатый соединены с выходами блока управления с тридцать первого по сорок третий, выходы с сорок четвертого по пятьдесят пятый которого соединены с управляющими входами дополнительных коммутаторов с пер вого до одиннадцатого, синхровходустройства соединен с синхровходами дополнительного блока памяти, с первого по третий, пятого, шестого, седьмого с девятого по одиннадцатый, с тринадцатого по 20 шестнадцатый дополнительных регистров,входами записи четвертого, восьмого, с двенадцатого по шестнадцатый дополнительных регистров.2004012 од едактор аказ 332 Составитель Техред М.Мо ТиражНПО "П3035, Москва,Производственно-издательский ком Корректор О. Густи Подписнк" Роспатента35, Раушская наб 4/5Изобретение относится к вычислительной технике и предназначено для использования в центральных процессорах(ЦП) ЭВМ высокой производительности.Цель изобретения - расширение обла сти применения за счет обеспечения одновременной подготовки нескольких процедурных переходов и уменьшения количества обращений к оперативной памяти,10На фиг.1 - 5 представлена блок-схема устройства вызова подпрограмм; на фиг,б - структура информации, приходящей по шине управляющей информации из устройства управления ЦП; на фиг,7 - структура адре сации к коду процедуры и данным, на фиг,8 - структура стека активации процедуры и управляющего слова возврата; на фиг.9 и 10 - алгоритм работы блока управления.Устройство содержит первый входной 20 регистр 1, второй входной регистр 2, третий входной регистр 3, четвертый входной регистр 4, блок 5 управления, первый регистр 6, первый коммутатор 7; второй коммутатор 8, второй регистр 9, третий регистр 10, до полнительный блок 11 памяти, третий коммутатор 12, блок 13 памяти, четвертый коммутатор 14, первый выходной регистр 15, четвертый регистр 16, пятый регистр 17, первый элемент 18 сравнения, второй эле мент 19 сравнения, первый дополнительный коммутатор 20, первый дополнительный регистр 21, второй дополнительный регистр 22, третий дополнительный регистр 23, четвертый дополнительный 35 регистр 24, пятый коммутатор 25, дополнительный элемент 26 сравнения, шестой регистр 27, шестой коммутатор 28, первый сумматор 29, пятый дополнительный регистр 30, шестой дополнительный регистр 40 31, седьмой дополнительный регистр 32, восьмой дополнительный регистр 33, второй дополнительный коммутатор 34, третий дополнительный коммутатор 35, четвертый дополнительный коммутатор 36, пятый до полнительный коммутатор 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 памяти - инфорационнй вход 92-1, упраяющий вход 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, первый дополнительный комму 200401225 30 35 40 45 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, управляющий вход 103- 4, дополнительный элемент 26 сравнения - первый и второй информационные входы 104-1, 104-2, шестой регистр 27 - информационный вход 105-1, управляющий вход 105-2, шестой коммутатор 28 - первый и второй информационный входы 106-1 и 106- 2, управляющий вход 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-111-3, управляющий вход 111-4, третий дополнительный коммутатор 35 - первый, втооой и третий информационные входы 1.12-1, 112-2 и 112-3, управляющий вход 112-4, четвертый дополнительный коммутатор 36 - с первого по третий информационные входы 113-1-113- 3, управляющий вход 113-4, пятый дополнительный коммутатор 37 - первый и второй информационные входы 114-1 и 114-.2, управляющий вход 114-3, шестой дополнительный коммутатор 38 - первый и второй информационные входы 115-1 и 115-2, управляющий вход 115-3, седьмой дополнительный коммутатор 39 - первый и второй информационные входы 116-1 и 116-2, управляющий вход 116-3, девятый дополнительный регистр 40 - информационный вход 117-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 - 123- 3, управляющий вход 123-4, девятый дополнительный коммутатор 48 - первый и второй информационные входы 124-1 и 124-2, управляющий вход 124-3, десятый дополнительный коммутатор 49 - с первого по третий информационные входы 125-1 - 125- 3, управляющий вход 125-4, седьмой регистр 50 - информационный вход 126-1, управляющий вход 126-2, восьмой регистр 51 - информационный вход 127-1, управляющий вход 127-2. Одиннадцатый дополнительный коммутатор 52 имеет с первого по третий информационные входы 128-1 - 128- 3, управляющий вход 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, восьмой коммутатор БВ - первый,. второй и третий информационные входы 134-1, 134-2 и 134-3, управляюц 1 ий вход 134-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 и 140- 2, одиннадцатый коммутатор 67 - первый и второй информационные входы 141-1 и 41- 2, управляющий вход 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 блока управления, Входная информацион 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. В ыход коммутатора 8 через регистр 10 соединен с вторым информационным входом 90-2 первого дополнительного блока 11 памяти, с вторым информационным входом 113-2, коммутатора 36, первыми информационными входами 114-1, 115-1, 116-1 коммутаторов 37, 38, 39, третьим информационным входом 128-3 коммутатора 52, Выход блока 1 подключен к второму информационному входу 91-2 коммутатора 12, первый вход 91- 1 которого соединен с выходом регистра 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 соединен2025 303540 с выхщной шиной 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 соединен с первым информационным входом 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, 125- 3 коммутатора 49. Выход коммутатора 52соединен с информационным входом 130-150 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, Выход третьего элемента 66 сравнения соединен с третьим входом 141-3 коммутатора 67. Выход коммутатора 67 соединен с входом регистра 69, выход которого подключен к второму информационному входу 143-2 второго сумматора 70, к первому информационному входу 143-1 которого подключен выход регистра 68, Выход второго сумматора 70 соединен с третьим информационным входом коммутатора 71, выход которого подключен через выходной регистр 72 к выходнойй ш и не 82.В устройстве единая система синхронизации, Все входящие в устройство блоки, элементы, сумматоры, коммутаторы, регистры могут быть выполнены на элементах серии ИЗООБ,Алгоритм работы блока управления приведен на фиг,9, 10, и подробно раскрыт в описании функционирования устройства.Исходно управляющие регистры - (базовые регистры (БР) блока 13, регистр 27 базы текущей активации (БТА), регистр 16 нижней границы буфера стека, регистр 17 верхней границы буфера стека, регистр 60 лексикографического уровня и номера сегмента, регистр 51 систсмных триггеров (ТГ), регистр 53 базы словаря системы, регистр 56 базы словаря пользователя (БСП) - прописываются по команде записи, поступаю 5 10 15 20 25 30 35 щей из блока 5 управления по шине 77, информацией, поступающей из регистрового файла ЦП по шине 73. При этом блок 5 декодирует команду ЗПРЕГ и номер прописываемого регистра, обеспечивает коммутацию операнда с выходного регистра 1 на регистр 9 записи через коммутатор 7 и выработку соответствующего строба записи: БР блока 13 прописываются через рабочие БР блока 11 и коммутатор 12 (последовательно вырабатываются управляющие сигналы на входах 90-3 91-3 и 92-2), регистры 17, 16, 54, 50 прописываются непосредственно с выхода регистра 9 (вырабатываются соответственно стробы записи на входах 96- 2, 95-2, 130-2 или 126-2), регистр 27 прописывается через коммутатор 20, регистр третьего дополнительного регистра 23 дешифрируемой команды (РДК) и коммутатор 25 (последовательно вырабатываются управляющие сигналы на входах 99-3, 102-2, 103-4 и 105-2), регистр 50 прописывается через комлутатор 36. регистр 42 и комл 1 утатор 47 (посл едовател ь но вы рабаты в а ются управляющие сигналы на входах 113-4, 119- 2, 123-4 и 126-2), регистр 51 прописывается через коммута;ор 49 (вырабатываются управляющие сигналы на входах 125-4 и 127 2), регистр 56 прописывается через коммутатор 52, регистр 54 и коммутатор 55 (вырабатываются управля;ощие сигналы на входах 128-4, 130-2, 131-3 и 132-2), БР б операционной системы прописывается непосредственно с выхода 1 регистра (вырабатывается строб записи на входе 87-2).Значения регистров блока 13 и регистра 27 могут быть считаны в регистровый файл ЦП по шине 78, значения регистров 50, 51,56 и значения остальных регистров, имеющих копии в блоке 57, могут быть считаны в устройство преобразования чисел по шине 80 через коммутатор 59 и регистр 60,В устройстве реализованы следующие виды процедурных переходов; вхо,;статически известную (открытую) процедуру(ОВХ), вход в формальную процедуру(ВХФ), вход в систему процедуры (ВХС), возврат в запустившую процедуру (выход из процедуры. ВЫХ), безусловный динамический переход под метке (ПРХМ). Каждый из них реализуется двумя командами - подготовки и выполнения процедурного перехода,Подготовка процедурного перехода включает следующие действия: формирование указателя БТА)РДК на регистрах 21, 22 или 23, формирование нового контекста на блок 11 (в случае ОВХ не производится, формирование нового регистра состояния на регистре 40, 41 или 42 и на регистре 44, 45 или 46, формирование связующей информа2004012 12 10 15 20 30 35 55 ции для сохранения в БП ЦП при входе в процедуру или считывание информации из БП ЦП при выходе из процедуры и ПРХМ,выход дескриптора программного сегмента (ДПС) (инициализация БП ЦП по шине 81). Выполнение процедурного перехода сводится к переписи регистров) РДК на соответствующие основные регистры,Все команды подготовки процедурных переходов инициализируются блоком 5 по шине 77, Блок 5 декодирует код операции и формирует на регистрах сдвига соответствующую последовательность тактовых импульсов 01 КОП - 0 КОП, Длина последовательности зависит от типа операции (некоторые вложенные подпоследовательности могут повторяться).При получении команды ОВХ литеральная информация о процедуре (фиг.б) запоминается на соответствующих регистрах; номер уровня НУР и номер сегмента НС - на регистре 40, 31 или 42, НС поступает также на регистр 43, индекс команды возврата ИКВ, смещение по буферу стека ДЦС, тип возврата ТВ - на регистре 30, 31 или 32, ДЦС поступает также на регистр 33,По команде ОВХ формируется последовательность из двух импульсов: 01 ОВХ) и 020 ВХ), где ) - номер РДК, По сигналу 01 ОВХ) коммутатор 28 настраивается на регистр 27, коммутатор 35 - на регистр 33 и в следующем такте на выходном регистре сумматора 29 появляется новое значение БТА. По сигналу 020 ВХ) вырабатывается строб приема на регистр 21, 22 или 23 (для последнего по сигналу 020 ВХЗ коммутатор 20 настраивается на вход 99-1), На этом формирование новой БТА завершается,Одновременно формируется запрос с БП ЦП о ДПС вызываемой процедуры. По сигналу 01 ОВХ) коммутатор 62 настраивается на вход 137-1, коммутатор 58 - на вход 134-2, коммутатор 48 - на вход 124-2 и на регистре 63 математического адреса в следующем такте появляется адрес ДПС вызываемой процедуры (фиг.7),При появлении ДПС на шине 75 коммутатор 7 настраивается на вход 88-3 и в следующем такте ДПС появляется на выходе регистра 9 и поле ТГ из ДПС через коммутатор 37, 38 или 39 принимается на регистр 44, 45 или 46. Одновременно этот ДПС поступает в БК ЦП и используется для подкачки кода вызываемой процедуры. По приему ДПС подготовка ОВХ заканчивается,При выполнении ОВХ по шине в блок 5 поступает поле ПРХ (фиг,б). В блоке 5 оно декодируется, и по признаку ОВХ на соответствующем РДК формируется последовательность из двух управляющих импульсов: 01 ПРХОВХ) и 02 ПРХОВХ). По сигналу 01 ПРХОВХ) коммутатор 14 настраивается на вход 94-4, коммутатор.34 к- на вход 108-), коммутатор 62 - на вход 137-5, Таким образом в следующем такте на выходе регистра 15(шине 79) появляется значение УСВ (поля ИКВ, ДЦС, ТВ - с регистра 3031 или 32, поле НУНС - с регистра 50, поле ТГ - с регистра 51), которое записывается по адресу, появившемуся на выходе регистра 63 (шине 81) и равное значению БТА)РДК, по шине 92-2 в регистр блока 13 подается адрес считыва" ния, равный старому значению номера уровня. По сигналу 02 ПРХОВХ) коммутатор 14 настраивается на вход 94-2, коммутатор 62 - на вход 137-2, Таким образом в буфер стека ЦП записывается сохраняемый БП по адресу, на единицу большему значения БТА) РДК. Кроме того, по сигналу 01 ПРХОВХ) коммутатор 12 настраивается на вход 91-1 л в регистр блока 13 записывается старое значение регистра 27, Также по сигналу 01 ПРХОВХ) производятся следующие действия: коммутатор 25 настраивается на вход 103-) и новое значение БТА с регистра 21, 22 или 23 переписывается на регистр 27, коммутатор 47 настраивается на вход 123-) и на регистр 50 принимается новое значение с регистра 40, 41 или 42, коммутатор 49 настраивается на вход 125-) и на регистр 51 принимается значение ТГ с регистра 44, 45 или 46,Все действия по переключению регистров происходят в течение одного такта, запись в буфер стека ЦП - в течение двух тактов (последняя работа является фоновой и не влияет на производительность ЦП).Команда входа в формальную процедуру выполняется только на третьем РДК, По коду ВХФ формируется последовательность из трех управляющих импульсов: 01 ВХФ - 03 ВХФ, Прием литеральной информации с шины 77 (кроме поля НУН С) и формиоование нового значения БТАЗРДК соответствуют команде ОВХ на третьем РДК,Одновременно по шине 73 из регистрового файла ЦП поступает метка процедуры 50 (фиг.7), в которой указаны ее лексикографический уровень (поле НУР), адрес ее ДПС(поле АДПС) и адрес контекстной пачки (поле АКП), определяющий доступные ей области памяти, По сигналу 01 ВХФ коммутатор 7 настраивается на вход 88-2 и в следующем такте метка появляется на выходе регистра 9, По сигналу 02 ВХЭ коммутатор 36 настраивается на вход 112-3 и регистр НУНСЗРДК 42 прописывается соответствующими полями из метки, коммутатор 52 настраиваетсяна вход 128-2 и регистр БСПЗ РДК 54 прописывается полем АДПС.БСП из метки, Одновременно коммутатор 62 настраивается на вход 137-3 и в следующем такте на регистре 63 появляется адрес ДПС вызываемой про цедуры (фиг.8), По сигналу 03 ВХФ коммутатор 62 настраивается на вход 137-4 и на регистре 63 в следующем такте появляется адрес контекстной пачки. Одновременно в блоке 5 устанавливаются счетчик запросов 10 за контекстной пачкой, равный нулю, и его предельное значение, равное номеру уровня из метки, и триггер значимости этого счетчика - ТЗАПАЧ, По этому триггеру коммутатор 62 настраивается на вход 137-2 и на 15 выходе регистра 63 формируется модифицированное значение адреса. с каждым тактом на единицу большее предыдущего, одновременно значение счетчика запросов за контекстной пачкой увеличивается, При его 20 значении, равном пределу, триггер ТЗАПАЧ сбрасывается и выдача запросов в БП ЦП прекращается,Так как при ВХФ формируется новый контекст на регистрах блока 13, их содержи мое предварительно переписывается в БП ЦП.По сигналу 03 ВХФ в блоке 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, из значения СЧУПКО ежетактно вычитается единица.Таким образом, в буфер стека ЦП по 45 последовательным адресам, начиная с адреса, равного БТАЗРДК+2. переписываются сохраняемые БП из блока 13. При нулевом значении счетчика сохранение старого контекста прекращается. 50Подготовка ВХФ заканчивается после прихода ДПС, который обрабатывается аналогично команде ОВХ на третьем РДК и всех элементах контекстной пачки из ассоциативного ЗУ глобалов ЦП по шине 75 или из 55 локальной памяти ЦП по шине 76. При приеме каждого дескриптора данных значение счетчика запросов убывает на единицу, и при его значении, равном нулю. подготовка ВХФ прекращается. Все время подготовки ВХФ с 03 ВХФ и до конца операции) коммутаторы 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, Регис 1 р 5-1 настраивается на вход 130-2 и на регистр 56 записывается новое зна ение БСП с регистра 54,Команда ОВХС является оптимизацией команды ВХФ для часто используемых процедур операционной системы. Необходимая для коррекции контекста информация хранится не в памяти, как в случае ВХФ, а на регистрах устройства - новое значение базы словаря - на ре .,стре 53, БР нулевого уровня - на БР б операоиснной системы, поэтому запрос о них в память не производится.По коду ОВХС формируется последовательность из трех упоавляющих импульсов: 01 ОВХС - 03 ОВХС, Прием лигеральной информации с шинн 77 и формирование ново го значения БТАЗРДК полностью соответствуют команде ОБХ на третьем РДК, номер уровня вызываемой процедуры при этом всегда равен единице, Формирование запроса в БК ЦП о коде вызываемой процедуры также аналогично команде ОВХ за тем исключением, что по сигналу 010 ВХС коммутатор 58 настраива: "ся на вход 134-1, По сигналу 02 ОВХС ком утатор 7 настраивается на вход 88-1 и в с; дующем такте содержимое регистра б появляется на выходе регистра 9 и записывается в блок 11 по сигналу 03 ОВХС, По сигналу 02 ОВХС коммутатор 52 настраивается на вход 128-1 и содержимое регистра 53 переписывается в регистр 54. На этом формирование нового контекста завершается, Выполнение ОВХС полностью аналогично выполнению ВХФ.По коду ВЫХ формируется последовательность из трех управляющих импульсов;01 ВЫХ - 0 ЗВЫХ, По сигналу 01 ВЫХ коммутатор 25 настраивается на вход 103-3, коммутатор 62 - на вход 137-5 и в следующем такте на выходе регистра 63 появляется адрес УСВ. равный значению БТАЗРДК, В следующем такте формируется запрос о втором(56) Техническое описание МВК "Эльбрус 1"Техническое описание МВК "Эльбрус 2",информационный вход блока управления подключены к входной информационнойУСТРОЙСТВО ВЫЗОВА ПОДПРОГ- первой шине числа из буфера стека, ин- РАММ, содержащее блок памяти, блок па формационный вход третьего входного ремяти параметров, три элемента сравнения. гистра и третий информационный вход .два сумматора, семь входных регистров блока управления соединены с входной одиннадцать регистров, четыре выходных информационной шиной числа из ассоциарегистра, двенадцать коммутаторов, блок тивного запоминающего устройства глоба- управления, информационный вход пер лов, информационный вход четвертого го входного регистра и пеРвый информаци- входного регистра и четвертый информаонный вход блока управления соединены с ционный вход блока управления подключе.входной информационной нулевой шинои ны к входной информационной шине числа числа из буфера стека, информационный из локальной памяти, пятый информационвход второго входного регистра и второй ный вход блока управления, первый инсохраненном слове связующей информации (бП или БСП в зависимости от типавозврата), для чего по сигналу 02 ВЫХ коммутатор 62 настраивается на вход 137-2 и нарегистре 63 появляется адрес, равный 5БТАЗ РД К+1,Считанное УСВ появляется на входнойшине 75. По приему УСВ коммутатор 7 настраивается на вход 88-3 и в следующемтакте значение УСВ появляется на регистре 109, коммутатор 36 настраивается на вход 1133 и поля НУР и НС записываются на регистр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контекста заканчивается. Если УСВ,ТВ, товторое считанное из слово - бСП, Когда онопоступает по шине 75 (или 76), коммутатор52 настраивается на вход 128-2 (128-3) изначение БСП записывается на регистр 54. 40В следующем такте коммутатор 62 настраивается на вход 137-2 и формируются СЧЗАПАЧ, равный номеру уровня из УСВ, и егозначимость - ТЗАПАЧ, Действия по немуполностью аналогичны действиям при под готовке ВХФ, По завершении запросов коммутатор 58 настраивается на вход 134-3, коммутатор 48 - на вход 124-1, коммутатор 62 - на вход 137-1 и на регистре 63 формируется адрес ДПС процедуры, в которую происходит возврат. По окончании коррекции (прихода всех упрятанных БП) подготовка вь 1 хода завершается,При выполнении ВЫХ в блоке 5 формируются сигналы 01 ПРХВЫХ и 02 ПРХВЫХ, действия по которым аналогичны действиям по сигналам 01 и 02 ПРХВХФ за исключением того, что запись в ЦП не производится.Цель команды ПРХМ - поиск в стеке активации с БТА, равной эталону, указанному в метке перехода. Команда выполняется только на третьем РДК, По коду ПРХМ формируется последовательность из трех управляющих импульсов: 01 ПРХМ - 03 ПРХМ, по шине 73 из регистрового файла ЦП поступает метка перехода, в которой указаны индекс команды перехода и ассоциативный адрес (эталон) для поиска активации, в которую необходимо перейти, По сигналу 01 ПРХМ коммутатор 7 настраивается на вход 88-2 и в следующем такте метка появляется на выходе регистра 9 и по сигналу 02 ПРХМ принимается на регистр 24 эталона перехода по метке. Дальнейшее выполнение подготовки аналогично последовательному выполнению подготовки команды выхода из процедуры. Полученное при вычислении БТА на сумматоре 29 значение поступает на вход 104-1 элемента 26 сравнения и сравнивается со значением регистра 24, При сравнении выполнение подготовки после проведения коррекции прекращается при несравнении - считывается следующее УСВ, Выполнение ПРХМ полностью аналогично выполнению выхода из процедуры, 2004012формационный вход. блока памяти" параметров, информационные входы шестого и седьмого входных регистров соединены с входной шиной управляющей информации из устройства управления центрального процессора, выход первого входного регистра соединен с информационным входом первого регистра, выход которого подключен к первому10 информационному входу первого коммутатора, второй и третий информационные входы которого соединены с выходами первого и третьего входных регистров соответственно, выход первого коммутатора подключен к информационному входу второго регистра, выходы второго и четвертого входных регистров соединены с первым и вторым информационными входами второго коммутатора, выход которого подклю чен к информационному входу третьего регистра, первый информационный вход третьего коммутатора соединен с выходом шестого регистра, выход третьего коммута-. тора подключен к информационному входу 25 блока памяти, первый информационный выход которой соединен с выходной информационной шиной числа в буфер стека, второй и третий информационные выходы блока памяти подключены соответственно 30 к первым и вторым информационным входам четвертого коммутатора, третий информационный вход которого соединен с выходом десятого регистра, вторая информационная шина подключена к четвертому 35 информационному входу четвертого коммутатора, выход которого соединен с информационным входом выходного регистра, выход которого соединен с выходной информационной шиной числа в 40 буферную память, выход второго регистра подключен к информационным входам четвертого, пятого, девятого входных регистров, второму информационному входу блока памяти параметров, первому инфор- "5 мационному входу двенадцатого коммутатора, выход которого соединен с третьим информационным входом девятого коммутатора, выходы четвертого и пятого регистров соединены с первыми 50 информационными входами соответственно первого и второго элементов сравнения, выходы которых образуют первую информационную шину, которая соединена с седьмым входом блока управления, выход пятого коммутатора соединен с информационным входом шестого регистра, выход которого подключен к первому информационному входу шестого коммутатора и второму информационному входу девятого коммутатора, выход шестого коммутатора соединен с первым входом первого сумматора, выход которого соединен с вторыми информационными входами первого и второго элементов сравнения, первый информационный вход девятого коммутатора подключен к второй информационной шине, которая образована соединением выходов седьмого и восьмого регистров, выход девятого регистра подключен к первым информационным входам седьмого и восьмого коммутаторов, выход седьмого коммута 1 ора подключен к информационному входу девятого регистра, выход которого соединен с вторым информационным входом восьмого коммутатора и четвертым информационным входом девятого коммутатора, выход которого подключен к информационному входу второго выходно о регистра, выход которого соединен с выходной информационной шиной числа в устройство преобразованиячисел, выход восьмого коммутатора образует третью информационную шину, которая соединена с первым информационным входом цесятого коммутатора. выход которого соединен с информационныл 1 входом третьего выходного регистра, выход которого подключен к выходной шине мате; этического адреса в ассоциативное запоминающее устройство страниц, выход пятого входного регистра соединен с первым информационным входом одиннадцатого коммутатора и первым входом третьего элемента сравнения, к второму входу которого и второму информационному входу одиннадцатого коммутатора подключен выход шестого входного регистра, выход седьмого входного регистра подключен к первому входу второго сумматора, выход третьего элемента срав, ения соединен с третьил: информационным входом одиннадцатого коммутатора, выход клторого соединен с информационны;1 входом одиннадцатого регистра и выход которого подключен к второму входу второго сумматора, выход которого соединен с третьим информационным входом двенадцатого коммутатора, к второму информационному входу которого подключена шина логического нуля устройства, выход двенадцатого коммутатора соединен с информационным входом четвертого выходного регистра, выход которого подключен к выходной шине индекса команды в буфер команд, входы записи шестого, седьмого входных регистров, первого, с
СмотретьЗаявка
04921582, 28.12.1990
Институт точной механики и вычислительной техники им. С. А. Лебедева РАН
Волин Владимир Сергеевич, Лизоркина Галина Федоровна, Лизоркин Алексей Петрович, Груздов Федор Анатольевич, Артемов Александр Михайлович
МПК / Метки
МПК: G06F 9/40
Метки: вызова, подпрограмм
Опубликовано: 30.11.1993
Код ссылки
<a href="https://patents.su/16-2004012-ustrojjstvo-vyzova-podprogramm.html" target="_blank" rel="follow" title="База патентов СССР">Устройство вызова подпрограмм</a>
Предыдущий патент: Таймер
Следующий патент: Способ подготовки летчика к выходу из гипоксической ситуации
Случайный патент: Устройство для питания гидравлического пресса