Микропрограммный процессор

Иллюстрации

Показать все

Реферат

 

МИКРОПРОГРАММНЫЙ ПРОЦЕССОР, содержащий блок памяти микрокоманд, конвейерный регистр, операционный блок, информационные вход и выход которого являются соответственно информационными входом и выходом устройства , генератор последовательности адресов, мультиплексор.логических условий и блок управления полярностью , выход которого соединен с входом признаков генератора последовательности адресов, выход которого соединен с .адресным входом блока. памяти микрокоманд, выход которого соединен с информационным входом конвейерного регистра, первый, второй, третий и четвертый выходы которого соединены соответственно с входом управления адресом генератора последовательности адресов, с управляющим входом блока управления полярностью , с управляющим входом мультиплексора логических условий и с входом кода микрокоманд операционного блока, выход признаков которого соединен с информационным входом мультиплексора логических условий, выход которого соединен с информационным входом блока управления полярностью, вход синхронизации генератора последовательности адоесов является входом синхронизации устройства и соеди (Л С нен с входом занесения конвейерного регистра, отли чающийся тем, что, с целью повышения производительности , он содержит триггер, элемент И и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, входы которого соединены с выходом блока управления полярностью и пятым выходом конвейерного регистра, 00 выход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ сое-. ьо динен с информационным входом триггера , выход которого соединен с первым Од входом элемента И,выход которого сое-, :4 динен с входом синхронизации операционного блока, вход занесения триггера и второй вход элемента И соединены с входом синхронизации устройства .

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

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

РЕСПУ БЛИН

09) (11) д(ср 6 06 F 15/00

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЬ1ТИЙ

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 3425037/18-24 (22) 19.04.82 (46) 23.08.83. Бюл. И 31 (72) Д. В. Полонский и 10, Я. Пушкарев (53) 681. 325 (088. 8)

: (56) 1.Hank BrineenVariable microcycles improve speed of bipolar bitsl ice processors. "Computer 0esign", 1979, 18, N 10, р, 168-174.

2 . 1Ь rahim Dogan Оез1gn of à miс»

roprogrammable conputer uith bitslice dev1ces "Microprocessors and

microsystems". 1980, 4, 11 2, р 57-62 (прототип). (54)(57) МИКРОПРОГРАММНЫЙ ПРОЦЕССОР, содержащий блок памяти микрокоманд, конвейерный регистр, операционный блок, информационные вход и выход которого являются соответственно информационными входом и выходом устрой ства, генератор последовательности адресов, мультиплексор. логических условий и блок управления полярностью, выход которого соединен с входом признаков генератора последовательности адресов, выход которого соединен с адресным входом блока, памяти микрокоманд, выход которого соединен с информационным входом конвейерного регистра, первый, второй, третий и четвертый выходы которого соединены соответственно с входом управления адресом генератора последовательности адресов, с управляющим входом блока управления полярностью, с управляющим входом мультиплексора логических условий и с входом кода микрокоманд операционного блока, выход признаков которого соединен с информационным входом мультиплексора логических условий, выход которого соединен с информационным входом блока управления полярностью, вход синхронизации генератора последовательности адресов является вхо- © е дом синхронизации устройства и соединен с входом занесения конвейерного регистра, о т л и ч а ю щ.и и с я тем, что, с целью повышения производительности, он содержит триггер, элемент И и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, входы которого соединены с выходом а ы, блока управления полярностью и пятым выходом конвейерного регистра, © выход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ сое-. динен с информационным входом триггера, выход которого соединен с первым ©, входом элемента И,выход которого сое-. динен с входом синхронизации операционного блока, вход занесения триггера и второй вход элемента И соединены с входом синхронизации устройст ва, :В»

1 1037

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

Недостатком данного процессора является низкая производительность вследствие того, что при выполнении каждого условного перехода непроизводительно расходуется микрокомандный цикл.

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

В известном микропрограммном процессоре совмещены в одном микропрограммном цикле выполнение текущей микрокоманды, хранимой на конвейерном регистре, с выборкой следующей микрокоманды из блока памяти микроко- 30 манд. Однако при выполнении условных переходов следующая после условного перехода микрокоманда выбирается раньше, чем формируется логическое условие, определяющее направление перехода. Поэтому для каждого условного перехода в микропрограммные предусматривается "холостая" микрокоманда, выполняющая функцию задержки на один цикл ° 40

tt

Наличие холостых" циклов при выполнении микропрограммы снижает производительность известного микропрограммного процессора °

Кроме того, этот микропрограммный 4S процессор имеет большой объем микропрограммной памяти за счет наличия в микропрограмме "холостых" микрокоманд.

Целью изобретения является повышение производительности.

Поставленная цель достигается тем, что микропрограммный процессор, содержащий блок памяти микрокоманд, конвейерный регистр, операционный блок, информационные вход и выход которого являются соответственно информационными входом и выходом уст264 ) ройства, генератор последовательности адресов, мультиплексор логических условий и блок управления полярностью, выход которого соединен с входом признаков генератора последовательности адресов, выход которого соединен с адресным входом блока памяти микрокоманд, выход которого соединен с информационным входом конвейерного регистра, первый, второй, третий и четвертый выходы которого со единены соответственно с входом управления адресом генератора последовательности адресов, с управляющим входом блока управления полярностью, с управляющим входом мультиплексора логических условий и с входом кода микрокоманд операционного блока, выход признаков которого соединен с информационным входом мультиплексора логических условий, выход которого соединен с информационным входом блока управления полярностью, вход синхронизации генератора последовательности адресов является входом синхронизации устройства и соединен с входом занесения конвейерного регистра, содержит триггер, элемент

И и элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, входы которого соединены с выходом блока управления полярностью и пятым выходом конвейерного регистра, выход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ соединен с информационным входом триггера,выход которого соединен с первым входом элемента И, выход которого соединен с входом синхронизации операционного блока, вход занесения триггера и второй вход элемента И соединены с входом синхронизации устройства.

При таком решении значение условия предсказывается наперед. Если реальное значение условия совпадает с предполагаемым, то условный переход выполняется без "холостого" цикла. Если же реальное значение условий отличается ат предполагаемого - при выполнении условного перехода присутствует "холостой" цикл .

Сокращение "холостых" циклов при работе устройства повышает его производительность.

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

264 . 4

6 последовательности адресов и с

3 1037

На фиг. 1 представлена схема предлагаемого процессора; на фиг. 2схема операционного блока; на фиг.3схема генератора последовательностей адресов; на.фиг. 4 - схема мультиплексора логических условий; на

5 .фиг . 5.- схема блока управления полярностью; на фиг. б- алгоритмы микропрограммы; на фиг. 7- временная диаграмма работы устройства.

Иикропрограммный процессор содержит. блок 1 памяти микрокоманд,конвейеРный регистр 2, операционный блок

3, информационные вход 4 и выход 5 которого являются соответственно информационными входом и выходом устройства, генератор 6 последовательности адресов, мультиплексор 7 логических условий, блок 8 управления полярностью, триггер 9,элемент

ИСКЛЮЧАЮЩЕЕ ИЛИ 10, элемент И 11, а также входы 12 синхронизации и 13 начальной установки устройства.

Выход блока l памяти микрокоманд соединен с информационным входом кон-

25 вейерного регистра 2, первый вход которого соединен с входом 14 управления адресом генератора 6 последовательности .адресов, Второй выход конвейерного регист30 ра 2 соединен с управляющим входом

15 блока 8 управления полярностью, выход которого соединен с входом 16 признаков генератора 6 йоследовательности адресов и с входом элемента

ИСКЛЮЧАЮЩЕЕ ИЛИ 10. Третий выход конвейерного регистра 2 соединен с управляющим входом 17 мультиплексора 7 логических условий, выход которого соединен с информационным входом 18 блока управления полярностью. Четвер40

-тый выход конвейерного регистра 2 соединен с .входом 19 кода микрокоманд операционного блока 3,. выход 20 признаков которого соединен с информационным входом 21, мультиплексора

7 логических условий. Пятый выход конвейерного регистра 2 соединен с входом элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 10, выход которого соединен с информационным входом триггера 9.

Выход генератора 6 последовательности адресов соединен с адресным входом блока 1 памяти микрокоманд. Выход триггера 9 соединен с.первым входом элемента И 11, второй вход ко- 55 торого соединен с входами занесения конвейерного регистра 2 и - .1ггера 9, с входом синхронизации генератора входом 12 синхронизации устройства, Выход элемента И 11 соединен с входом 22 синхронизации операционного блока 3. Установочные входы конвейерного регистра 2, генератора 6 последовательности адресов и тригге ра 9 соединены с входом 13 начальной установки устройства.

Операционный блок 3 (фиг.2) содержит дешифратор 23 операций, сумма" тор 24, группы операционных элементов

И 25, ИЛИ 26, и HE 27, группы коммутирующих элементов И 28, И 29, И 30, И 31, И 32, группу элементов ЙПИ 33, накапливающий регистр 34 и элемент

И 35.

Вход деыифратора 23 операций и вход переноса сумматора 24 соедине" ны с входом 19 кода микрокоманд операционного блока 3. Выходы дешифратора 23 операций соединены с входами групп комчутирующих элементов

И 28, И 29, И 30, И 31, И 32, выходы которых ..соединены с,входами группы эле»

Ю ментов ИЛИ 33, Выход группы элементов ИЛИ 33 соединен с информационным входом накапливающего регистра .

34 и с входом элемента И 35. Вход занесения накапливающего регистра

34 является входом 22 синхронизации операционного блока 3. Выход накапливающего регистра 34 является информационным выходом 5 устройства и соединен с первыми входами сумматора 24, групп операционных элементов

И 25, ИЛИ 26 и с входом группы операционных элементов НЕ 27.

Вторые входы сумматора 24, групп операционных элементов, И 25, ИЛИ 26 и вход группы коммутирующих элементов

И "31 соединены с информационным входом 4 устройства. Выходы сумматора 24,групп операционных элементов

И 25, ИЛИ 26, HE 27 соединены с входами коммутирующих элементов И 28, И 29, И 30, И 32 соответственно, Выход переноса сумматора 24, выход старшего разряда группы элементов

ИЛИ 33 и выход элемента И 35 являются выходом 20 признаков операционно» го блока 3.

Генератор 6 последовательности адресов (фиг.3 ) содержит регистр 36 адреса, сумматор 37, дешифратор 38, группы элементов И 39, И 40. и ИЛИ 41, элементы И 42, И 43, ИЛИ 44, ИЛИ 45 и НЕ 46, Выход регистра 36 адреса соединен с входом группы элементов И 39, выход которой соединен с входом груп" пы элементов ИЛИ 41, Выход группы элементов ИЛИ 41 является выходом генератора-6 последовательности адpecos и соединен с первым входом сумматора 37, второй вход которого соединен с входом элемента HE 46 и общим проводом устройства. Выход we" "!p мента НЕ 46 соединен с входом переноса сумматора 37, первый и второй

1 выходы которого соединены соответст« венно с первым информационныи входом регистра 36 адреса и входом элемента И 42. Вход дешифратора 38 и вход группы элементов И 40 являются входом

14 управления адресом генератора 6 последовательности адресов, 20

Первый выход дешифратора 38 соединен с входами элементов И 43, ИЛИ 45 и с инверсным входом элемента

И 42, выход которого соединен с входом элемента ИЛИ 44. Второй выход дешифратора 38 соединен с входом we" мента ИЛИ 45, выход которого соединен с входом группы элементов И 39.

Третий выход дешифратора 38 соединен с входом группы элементов И 40, выход которой соединен с входом группы элементов ИЛИ 41, Вход элемента

И 43 является входом 16 признаков генератора 6 последовательности адpecos, Выход элемента И .43 соединен. через элемент ИЛИ 44 с вторым ин35 формационным входом регистра 36 адреса, входы занесения и адреса которого являются, соответственно входом 12 синхронизации и входом 13 на40 чальной установки устройства. . Мультиплексор 7 логических условий (фиг.4) содержит дешифратор 47, группу элементов И 48 и элемент ИЛИ 49.

Вход дешифратора 47 является вхо- 4 дом 17 мультиплексора 7 логических условий. Выходы дешифратора 47-. соединены с первыми входами элементов И группы элементов И 48, выходы которых через элемент ИЛИ 49 соединены с 0 выходом мультиплексора 7 логических условий,. Второй вход первого элемента

И группы элементов И 48.соединен с общим проводом устройства, Вторые входы остальных элементов И группы элемен-: 5 тов И 48 являются информационным вхо- дом 21 мультиплексора 7 логических условий.

В 1037264 Ь

Блок 8 управления полярностью (фиг.5} содержит элементы НЕ 50,И. 51, И 52, и ИЛИ 53.

Входы элементов НЕ 50 и И 5,1 соединены с информационным входом 16 блока

8 управления полярностью. Выход элемента HE 50 соединен с входом эле мента И 52, инверсный вход которого соединен с входом элемента И 51 и с управляющим входом 15 блока 8 управления полярностью. Выходы элементов

И 51 и И 52 соединены с входами элемента ИЛИ 53, выход которого является выходом блока 8 управления поляр алостью, На фиг, 6 показан алгоритм микропрограммы, где символами И;, L„.,N, F- (i= 1,2,3,...,п...k... ) обозначе йы последовательности микрокоманд,а символом А - проверяемое логическое условие.

На фиг. 7 показана временная диаграмма работы устройства, где: 54сигнал начальной установки на входе 13; 55- импульсы на входе !2 синх,ронизации; 56 - коды микрокоманд на выходе блока 1 памяти микрокоманд; 57 - коды микрокоманд на выходе конвейерного регистра 2; 58- сиг.нал на выходе элемента ИСКЛЮЧАЮЩЕЕ

ИЛИ 10 ;59 -сигнал условия на выходе

20 признаков генератора 6 последовательности адресов; 60- сигнал на выходе триггера 9; 61 - импулвс на выходе элемента И 11.

Для более четкого понимания работы устройства рассмотрим выполнение

I E им примера микропрограммы, алгоритм которой показан на фиг.6.

Работа устройства производится в соответствии с временной диаграммой (фиг.7 ).

На вход 13 устройства подается сигнал 54, по которому конвейерный регистр 2, триггер 9 и регистр 36 адреса устанавливаются в нуль.

По нулевому коду на входе 14 генератора 6 последовательности адресов дешифратор 38 вырабатывает единичный сигнал на своем втором выходе. Этим сигналом через элемент

ИЛИ 45 выбирается группа элементов

И 39, в результате чего нулевой адрес с выхода регистра 36 адреса передается на выход генератора

6 последовательности адресов, йо нулевому адресу из блока 1 памяти микрокоманд выбирается первая микрокоманда И! (позиция 56 ) и пос40

7 1О372 тупает на вход конвейерного регистра 2. Адрес микрокоманды И2 подготавливается следующим образом. Так как на втором входе сумматора 37 постоянно присутствует уровень логичес5 кого нуля (за счет Соединения с общим проводом устройства ), а на входе переноса сумматора 37 постоянно присутствует уровень логической единицы, то на выходах сумматора 37 формируется адрес на единицу больше адреса на его первом входе. С первого выхода сумматора 37 на вход регистра 36 адреса поступает адрес следующей микрокоманды (И2 ) без старшего разряда. Старший разряд адреса микрокоманды И2 поступает через элемент И 42, открытый нулевым сигналом с первого выхода дешифратора 38, и элемент ИЛИ 44 на вход регистра

36 адреса.

При нулевом значении кода на уп1равляющем входе, 17 мультиплексора

7 логических условий дешифратор 47 вырабатывает единичный сигнал на первом выходе. Этим сигналом выбирается первый элемент И 48, в результате чего нулевой сигнал с второго входа элемента И 48 (за счет соединения с общим проводом устройства )

30 поступает на выход мультиплексора 7 логических условий. Так как значения битов управления, поступающих .с выходов конвейерного регистра 2 на вход 15 блока .8 управления полярностью и вход элемента ИСКЛЮЧАЮЩЕЕ

ИЛИ 10, равны нулю, то сигнал 58 принимает единичное значение.

При поступлении первого импульса

55 по его заднему фронту микрокоманда И1 заносится в конвейерный регистр 2 (позиция 57 ), адрес микрокоманды М2 заносится в регистр 36 адреса, а в триггер 9 заносится единица. С первого выхода конвейерного регистра 2 на вход 14 управления адресом генератора 6 последовательности адресов поступает адресная часть микрокоманды И1. Адресная часть. каждой микрокоманды состоит из двух полей - адресного и управляющего.8 адресном поле указывается адрес перехода при безусловной передаче управления, а в управляющем - тип перехода.

Значение кода в управляющем поле адресной части микрокоманды М1 равно нулю, в результате чего, единичным сигналом со второго выхода

64 8 дешифратора 36 выбирается группа элементов И 39 и адрес микрокоманды

М2 поступает на выход генератора 6 последовательности адресов. По адресу микрокоманды И2 (аналогично описанному) на выходе сумматора 37 формируется адрес микрокоманды М3, а из блока 1 памяти микрокоманд через время i, апределяемое временем выборки из памяти, считывается микрокоманда М2 (позиция 56) и поступает . на вход конвейерного регистра 2, Значения управляющих полей микрокоманды М1, поступающих на вход 15 блока 8 управления полярностью, на вход 17 мультиплексора 7 логи ческих условий и на вход элемента

ИСКЛЮЧАЮЩЕЕ ИЛИ 10, также равны нулю, в результате чего сигнал 58 сохраняет единичное значение, Одновременно с выборкой микрокоманды М2 из блока 1 памяти микрокоманд .. операционный блок 3 выполня:ет операцию, задаваемую в операционной части микрокоманды М1 ° Операционная часть микрокоманды поступает с четвертого выхода конвейерного регистра 2 на вход 19 кода микрокоманд операционного блока 3.

Операционный блок 3 оперирует с двумя операндами, один из кото рых находится в накапливающем регистре 34, а другой поступает на информационный вход 4 устройства. На выходе сумматора 24 формируется значение арифметической суммы слагаемых с учетом сигнала входного переноса, значение которого задается в поле микрокоманды. На выходах групп операционных элементов И 25 и

ИЛИ 26 формируется значение конъюнк- ции и дизьюнкции операндов. На выходе группы операционных .элементов

НЕ 27 формируется инверсия содержимого в накапливающем регистре 34.Дешифратор 23 декодирует-мод операции на входе 19 операционого блока 3 и вырабатывает на одном из своих выходов единичный сигнал. Этим сигналом открывается одна из групп коммутирующих элементов И 28, И 29, И 30, И 31, И 32, и результат соответствующей операции поступает на информационный вход накапливающего регистра 34, Если результат операции равен нулю, то на выходе. элемента И 35 вырабатывается единичный сигнал .

Сигналы с выхода элемента И 35, с выхода переноса сумматора 24 и с вы-, 1037264 10 хода старшего разряда (знак результата) группы элементов ИЛИ 33 поступают Hs выход 20 признаков операционного блока 3.

При поступлении второго импульса

5. >, и,<рокоманда М2 заносится в кон- вейерный регистр 2, а на выходе эле" мента И. 11> открытого единичным сиг" налом 60, вырабатывается импульс 61.

По импульсу 61 результат операции заноси- гся в накапливающий регистр 34.

Далее работа устройства при выполнении всех микрокоманд последовательности М, аналогична описанной аплот=. до занесения микрокоманды М1, в конв=é åðíûé регистр 2 (позиция 57) °

0 адре :,ном поле адресной части микрокоманды М задается адрес микi".o,:o>: —.-.,:, -, а в управляющем по">> ле — коц безусловного перехода.

Единичный сигналом с третьего вы" хода дешифратора 38 открывается группа элементов И 40, в.результате чего адрес мнкрокоманды „поступает на выход генератора 6 последовательности адресов. По адресу микрокоманды L, на выходе сумматора 37 Формируется адрес микрокоманды 2, а из блока 1 памяти микрокоманд выбираетл ся микрокоманда-1, (позиция 56).

Выполнение последовательности L

1 л-. апоги ->но выполнению последователь-!

- носи М ° вплоть до занесения микро1

1команды L, в конвейерный регистр 2 (позиция 57 ). При этом в регистр

36 адреса заносится адрес микрокоманды М „„ сформированный на выходе сумматора 37 по адресу микрокоманде --1.,...

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

38. По этому сигналу элемент И 42 закрывается, а элемент И 43 открывается, Адрес микрокоманды и rlocTynaет на выход генератора б последовательности адресов, в результате чего микрокоманда и выбирается из блока 1 памяти микрокоманд. Адрес следующей микрокоманды (N > или F < ) формируется в зависимости от значения сигнала на входе 16,признаков генератора 6 последовательности адресов. Сигнал на входе 16 признаков генератора 6 последовательности адресов формируется следующим образом. В результате выполнения микрокоманды 1 Формируется сигнал 59.По номеру условия, поступающего на вход

17 мультиплексора 7 логических условий, последний подключает на свой выход сигнал условия с входа 21 °

Битом управления, поступающим на вход 15 блока 8 управления полярностью,задается требуемое значение (прямое или инверсное) сигнала усло1Î . виЯб

С выхода блока 8 управления полярностью сигнал условия поступает на вход 16 признаков генератора 6 последовательности адресов и на вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 10, При этом значение бита управления, поступающего с выхода конвейерного рвгистра 2 на вход элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 10, указывает на предполагаемое значение сигнала условия (если условие предсказывается равным единице,- то бит управления равен нулю, если же условие предсказывается равным нулю, то бит управления равен единице). При соответствии реального .значения сигнала условия ожидаемому сиг.нал 58 равен единице, а а случае, когда такого соответствия нет (как показано на временной диаграмме), сигнал 58 принимает нулевое, значение. ilo непредполагаемому значению условия на входе ! регистра 36 формируется адрес мик35

55 ро ко м анды Г

При поступлении очередного импульса.55 а конвейерный регистр 2 заносится микрокоманда М„, в регистр

36 адреса заносится адрес микрокоманды F а в триггер 9 заносится нуль. Сигналом 60 закрывается элемент И 11, По импульсу 61 результат . операции микрокоманды L+ заносится в накапливающий регистр 34.

При поступлении следующего импульса 55 s конвейерный регистр 2 заносится микрокоманда Г „, в регистр

36 адреса заносится адрес микрокоманды F2, а в триггер 9 - единица.

Импульс 61 s этом случае не вырабатывается, чем предупреждается неправомерное выполнение микрокоманды М„-.

В этом случае при проведении условного перехода присутствует холостой цикл в выполнении микропрограммы.

Если бы реальное значение условия соответствовало ожидаемому, сиг". нал, 58 не изменил бы единичного значения, на входе регистра 36 адреса сформировался бы адрес микрокоманды

Р =

R+ 1

1-р—

R+ 1

Т = K i+ с = (K+1 ) V, Т =(К+1 ) RY.

Т = KRC

Величина

Т-Т 1

Т К+1

11 l 0372 и . В этом случае после выполнения микрокоманды „без пропуска цикла выполнялись бы микрокоманды N,N

1 2 и т.д.

Таким образом, в предлагаемом микропрограммном процессоре потеря производительности за счет "холостых" циклов при проведении условных переходов происходит только в случаях непредполагаемого значения условия, в отличие от известного, где "холостой" цикл присутствует при выполнении каждого условного перехода. Исключение из микропрограммы "холостых" команд позволяет сократить объем микропрограммной памяти.

В качестве базового объекта принят микропрограммный процессор, встроенный в сопроцессор обработки каналов связи для ЭВИ СИ-4.

В предлагаемом микропрограммном процессоре потери производительности за счет "холостых" циклов при выполнении условных переходов происходят только в случае перехода по не- 5

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

Даже при равной вероятности обоих наъ равлений перехода в среднем предлагаемый микропрограммный процессор дает выигрыш в. 504 случае выполнения переходов в микропрограмме. Однако в большинстве случае вероятности переходов не одинаковы и их несложно..определить.Например, при необходимос«ти повторения циклической программы R раз, значение вероятности возврата в цикл в R раэ выше, чем значение ве

40 роятности выхода из цикла. В реальных микропрограммных процессорах экономия времени будет присутствовать в среднем при выполнении 50-954 условных переходов. В связи с этим в пред45 лагаемом устройстве потери производительности будут как минимум в 2 раза ниже, чем в базовом объекте.

Для каче ст венной оцен ки зффе кти вности предлагаемого микропрограммно.го процессора проанализируем время

64 12 . выполнения микропрограмм, имеющих различную конфигурацию. Любую микропрограмму можно представить в виде дерева, имеющего линейные участки и узловые точки, в которых осуществля.ются условные переходы в микропрограмме. Например, необходимо выполнить циклический участок микропрограммы, содержащей линейный участок и узловую точку из которой осуществляется вовврат в цикл или выход иэ него.

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

Тогда вероятности возврата в цикл (р ) и выхода из неге (1-Р ) распределятся следующим образом:

Время вы полнения микропрограммы

Т без использования предлагаемого устройства определяются иэ выражения так как при выполнении перехода не" обходимо каждый раз выполнить "холостой ци кл .

При выполнении цикла R раз получим

При использовании предлагаемого устройства имеем; показывает относительное сокращение

jвремени выполнения микропрограммы.Иэ выражения видно, что при небольших линейных участках s цикле (K<20) мы получим существенное сокращение времени выполнения микропрограммы, 1037264

1037264

ВНИИПИ Заказ 6012/51 Тираж 706 Подписное

Филиал ППП "Патент", г. Ужгород, ул. Проектная, 4