Микропроцессор

Иллюстрации

Показать все

Реферат

 

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

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

РЕСПУБЛИК

Э(я) G 06 F 15/00

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

Н. ABTOPCHOMY СВИДЕТЕЛЬСТВУ (2 1.) 3399267/18-.24 (22) 22. 02. 82 (46) 15.08.83. Бюл. N 30 (53) 681.325(088.8) ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (72) О.IÎ.Èàêàðåíêî, д.В.Полонский. 1.Г.Степанцов и Ю.Я.Пушкарев (56) 1. Авторское свидетельство СССР 746532, кл. G 06 F 15/00, 1980.

2. Ратнер, Корнет, Гофф. Вычислительные модули в виде биполярных ИС вЂ” новая эра в проектировании цифровой аппаратуры. Перев. с англ.—

"Электроника", 1974, Н 18, с.25-36 (прототип). (5 I)(57) 1. МИКРОПРОЦЕССОР, содержащий блок обработки данных, блок мищюпрограммного управления, блок памяти и конвейерный регистр, синхровход, первый, второй и третий выходы которого соединены соответственно с синхровходом и управляющим выходом микропроцессора, входом кода микрокоманды блока обработки данных и входом дешифрации флагов блока микропрограммного управления, вход начальной установки, адресный выход вход управления переходами, вход

) признаков и выход признаков блока микропрограммного управления подключены соответственно к входу начальной установки микропроцессора, адресному входу и первому выходу блока памяти, выходу переноса и входу переноса блока обработки данных, синхровход, информационный вход,ин„„SU„„1035610 А формационный выход и адресный выход которого соединены соответственно с синхровходом, информационным входом, информационным выходом и адресным выходом микропроцессора, о тл и ч а ю шийся тем, что,с целью повышения производительности, он содержит коммутатор, два элемента И и элемент ИЛИ, первый, второй и третий входы и выход которого подключены соответственно к выходам первого и второго элементов И, управляющему выходу блока микропрограм-. много управления и управляющему входу коммутатора, первые и вторые входы элементов И соединены соответственно с вторым выходом блока памя-. 3 ти и выходом переноса блока обработки данных, при этом первый и второй информационные входы и выход коммутатора подключены соответственно к третьему выходу блока памяти,ynpas- g ляющему входу микропроцессора и информационному входу конвейерного регистра.

2. Микропроцессор по п.1, о тл и ч а ю шийся тем, что блок микропрограммного управления содержит регистр адреса, дешифратор функций, две группы элементов И, группу Ю триггеров, элемент ИЛИ, элемент НЕ, Ж дешифратор переходов и группу селекторов, первые и вторые информационные входы, управляющие входы и выходы которых соединены соответственно с входом управления пере- :В ходами блока, выходами. регистра адреса, выходами дешифратора переходов и информационными входами регистра адреса, синхровход, установочный .ход и выходы регистра адреса подключены соответственно к синхровхо1035610 ду, входу начальной установки и адресному выходу блока, один из выходов дешифратора переходов соединен с входом элемента НЕ, выход которого подключен к управляющему выходу блока, вход дешифратора переходов соединен с входом управления переходами блока, информационные входы, синхровходы и выходы триггеров грфчпы подключены соответственно к входу признаков блока, выходам соответствующих элементов

И первом группы и первым входам соответствующих элементов И первой

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

Известен микропроцессор, содержащий 5 центральный блок обработки данных, блок микропрограммного управления, блок микропрограммной памяти, конвейерный регистр, два регистра и. элемент HE t 1). !

О

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

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

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

i c одним из выходов дешифратора функций и выходами элементов И второй группы, а выход элемента ИЛИ подключен к выходу признаков блока. условия, определяющие направление перехода. Поэтому при каждом условном переходе в микропрограмме предусматривается "холостая" микрокоманда, выполняющая функцию задержки на один цикл. Наличие "холостых" циклов при выполнении микропрограмм снижает производительность данного микропроцессора ° Если учесть,что в реальных микропрограммах один условный переход приходится в среднеи на 5-7 выполняемых микрокоманд,то

15-204 времени работы микропроцессора тра ится непроизйодительно.

Цель изобретения - повышение производительности микропроцессора.

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

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

1035

610

3 переноса блока обработки данных, синхровход, информационный вход,информационный выход и адресный выход которого соединены соответственно с синхровходом, информационным Вхо дом, информационным выходом и адресным выходом микропроцессора, введены коммутатор, два элемента И и элемент

ИЛИ, первый, второй и третий входы и выход которого подключены соответ- >0 ственно к выходам nepsoro и второго элементов И, управляющему выходу блока микропрограммного управления и управляющему входу коммут тора, .первые и вторые входы элементов И 15 соединены соответственно с вторым выходом блока памяти и выходом переноса блока обработки данных, при этом первый и второ " . информационные входы и выход коммутатора подключе- 20 ны соответственно к третьему выходу блока памяти, управляющему входу микропроцессора и информационному входу конвейерного регистра.

При этом блок микропрограммного управления содержит регистр адреса, дешифратор функций,две группы элементов И, группу триггеров, элемент

ИЛИ, элемент НЕ, дешифратор переходов и группу селекторов, первые и вторые информационные входы,. управляющие входы и выходы которых соединены соответственно с входом управления переходами блока, выходами регистра адреса, выходами дешиф- ратора переходов и информационными входами регистра адреса, синхровход, установочный вход и выходы регистра

apgeca подключены соответственно к синхровходу, входу начальной установ- 40 ки и адресному выходу блока, один из выходов дешифратора переходов соединен с входом элемента НЕ, выход которого подключен к управляющему выходу блока, вход дешифратора переходов соединен с входом управления переходами блока, информационные вхо. ды, синхровходы и выходы триггеров группы подключены соответственно к входу признаков блока, выходам со-. ответствующих элементов И первой группы и первым входам соответствующих элементов И второй группы, первые входы элементов И первой группы соединены с синхровходом блока, вход и выходы дешифратора функций подключены соответственно к входу дешифрации флагов блока и вторым входам соответствующих элементов И первой и второй группы. входы элемента ИЛИ соединены с одним из выходов дешифратора функций и выходами элементов И второй группы, а выход элемента ИЛИ подключен к выходу признаков блока.

При таком решении микрокоманда содержит признак условия, в котором указывается наиболее вероятное значение логического условия, по которому выполняется условный переход. Если реальное значение условия совпадает с указанным в призна-. ке условия, условный переход выполняется без "холостого" цикла. В случае несовпадения при выполнении условного перехода "холостой" цикл присутствует. Это позволяет большинехро условных переходов выполнять без потери производительности микропроцессора., На фиг. l представлена структурная, схема микропроцессора; на фиг.2функциональная схема блока обработки данных; на фиг.3 - функциональная схема блока микропрограммного управления; на фиг.4 — функциональ" ная схема коммутатора; йа фиг.5 - алгоритм конкретной микропрограммы; на фиг.6 — временные диаграммы выполнения микропрограммы.

Микропроцессор содержит (фиг.1) блок 1 обработки данных, информационный вход 2 которого является информационным входом микропроцессора а выходы 3 и 4 — соответственно адресным и информационным выходами микропроцессора, блок 5 микропрограммного управления, вход 6. начальной установки которого является одноименным входом микропроцессора, конвейерный регистр 7, выход 8 которого является управляющим выходом устройства, блок 9 памяти, коммутатор 10, первый информационный вход 11 которого является входом микропроцессора, элементы И 12 и 13, элемент

ИЛИ 14.Вход 15 является синхровходом микропроцессора. Выход 16 переноса блока 1 соединен с входом 17 признаков блока 5, с входом элемента 12 и инверсным входом элемента 13. Выход 18 признаков лака 5 соединен с входом 19 переноса блока 1, управляющий выход 20 блока 5 - с входом элемента 14, адресный выход 21 блока

5 - с адресным входом блока 9. Пер1035

На фиг.ág, б даны временные диаграммы выполнения алгоритма этой микропрограммы, где показаны синхроимпульсы 68 на входе 15 микропроцессора, коды 69 микрокоманд на выходе блока 9, коды 70 микрокоманд на выходе регистра 7, сигнал 71 условия на входе 17 признаков блока 5, сигнал 72 на выходе 20 блока 5, сигнал 73 начальной установки на входе 6 микропроцессора, коД . НОР холостой" микрокоманды. 45

Для оолее четкого понимания ра6оты микропроцессора рассмотрим выполнение им микропрограммы, алгоритм ко" торой показан на фиг.5. Работа устройства производится в соответствии с временными диаграммами, приведенными на фиг.ба,б. Для установки микропроцессора в исходное состояние на вход б подается сигнал 73. По этому сигнал регистр 53 блока 5 устанавливается в "0", По нулевому адресу, установленному на выходе 21 блока 5, из этого блока выбирается микрокоман35

7 дами занесения группы триггеров 55, выходы которых соединены с входами группы элементов 57. Выходы группы элементов 57 соединены с вхо дами элемента 62. Выходы регистра 53 являются адресными выходами 21 блока

5 и соединены с входами элементов 61.

Коммутатор 10 (фиг.4) содержит элемент HE 6», группы элементов И 65, 66 и элементов ИЛИ 67. Первые входы группы элементов бб представляют собой первую информационную группу входов 11 коммутатора 10. Вторые входы группы элементов бб соединены между собой и с выходом элемента 64.

Первые входы группы элементов 65 являются второй группой информационных входов 23 коммутатора 10. Вторые входы группы элементов 65 соединены между собой, а также с входом элемента 64 и управляющим входом 26 коммутатора 10. Входы каждого. элемента

67 соединены поразрядно с выходами элементов 65 и 66. Выходы группы элементов 67 являются выходами коммутатора 10.

На фиг.5 приведен алгоритм микропрограммы, на примере выполнения которого поясняется принцип работы микропроцессора. Символами M обозна- 30 чены отдельные микрокоманды, а символом А - проверяемое условие. да И1 Каждая микрокоманда содержит операционную и адресную части, а также одноразрядный признак условия.

Признак условия поступает на входы элементов 12 и 13. Операционная часть микрокоманды поступает на вход 23 коммутатора 1О,а адресная часть - на вход 22 блока 5. Адресная часть микрокоманды состоит из двух полейадресного поля и поля управления переходами. Сигналы, соответствующие адресному полю, поступают на входы групп элементов 60. Сйгналы,соответствующие полю управления переходами, поступают на вход дешифратора 58.

В поле управления переходами адресной части микрокоманды И! задается безусловный переход к микрокоманде

И2. Поэтому единичный сигнал вырабатывается на одном из выходов, кро; ме первого, дешифратора 5S. Этим сигналом разрешается прохождение кода адресного поля через одну из групп элементов 60 и 59 на информационные входы регистра 53. Так как на остальных выходах дегифратора 58 присутствуют нулевые сигналы, то элементы 60 остальных групп оказываются закрытыми. На информационные входы регистра

53 через группы элементов 61 и 59 передается код с выхода регистра 53.

Таким образом на информационных вхо= дах регистра 53 формируетея .адрес микрокоманды И2. Единичный сигнал 72 с выхода 20 блока 5 поступает через элемент 14 на вход 26 коммутаора 10, в результате чего на вторых входах группы элементов 65 присутствует разрешающий потенциал,а на вторых входах группы элементов 66 устанавливается запрещающий нулевой потенциал. Тогда на выход коммутора 1О пе редается через элементы 65 и 67 операционная часть микрокоманды М1 с выхода блока 9.

При поступлении первого синхроимупльса 68 на вход 15 производятся следующие действия. !

По переднему Фронту синхроимпульса 68 блок 1 начинает выполнение микрокоманды М 1 позицич 70), хранимой на регистре 7. Одновременно микрокоманла И1 начинает заноситься. в регистр 7, однако код этой микрокоманды появляется йа выходе регистра

7 через время Г, определяемое задержкой занесения инФормации в регистр 7. 1 начальный момент времени

1035610

10 в регистре 7 хранится микрокоманда

М0, код которой сформировался неопределенным образом после включения устройст ва. Поэтому выполнение этой микрокоманды не производит никаких полезных действий. Это связано с

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

В зависимости от кода микроко" манды блок 1 выполняет арифметикологические и сдвиговые функции. Дешифратор 27 декодирует код микрокоманды и вырабатывает на одном из своих выходов сигнал соответствующего микроприкаэа. Арифметико-логические операции в блоке 1 выполняются над двумя операндами, один иэ которых находится в регистре 39, а другой поступает на вход 2 микропроцессора. При этом на выходе .сумматора 28 формируется значение арифметической суммы слагаемых с учетом значения входоного переноса, сигнал которого поступает на вход 19 блока 1. Если при этом происходит переполнение разрядной сетки сумматора

28, то на выходе переноса этого сужматора вырабатывается единичный сигнал и поступает на информационный вход триггера 5 1. На выходах группы элементов 29 формируются конъюнкции, а на выходах группы элементов

30 - дизъюнкции операндов. Кроме того, на выходах группы элементов

31 формируется инверсное значение кода, содержащегося в регистре 39.

По единичному сигналу с одного из выходов деаифратора 27 значение результата операции поступает че,рез одну из групп элементов 32-36 и группу элементов 37 на информационные входы счетчика 38 и регистра

39. По переднему фронту импульса с выхода одного из элементов

40-45 производятся различные операции со счетчиком 38 и регистром

39 (установка в 0", занесение, сдвиг, прибавление единицы к содержимому) °

По заднему фронту синхроимпульса 68 адрес микрокоманды М2 заносится в регистр 53. Микрокоманда М2 появляется на выходе блока 9 (позиция 69

ЗО

55 через время 7. - определяемое време= нем занесения в регистр 53 и временем выборки иэ блока 9. 8 адресной части микрокоманды М2 задается безусловный переход в микрокоманду М3.

Поэтому на управляющем выходе 20 блока 5 сохраняется единичный сигнал

72, по которому операционная часть микрокоманды М2 через коммутатор 10 передается на информационный вход регистра 7. При поступлении второго синхроимпульса 68 блок 1 выполняет микрокоманду М1 (позиция 70 ), микрокоманда М2 заносится в регистр 7, а по ее адресной части блок 5 Форми-. рует адрес . микрокоманды М3. По этому адресу выбирается микрокоманда М3 из .блока 9 (позиция 69 ).

6 зависимости от выполняемой задачи одна иэ ветвей продолжения микропрограммы после условного перехода является более вероятной. Например, в рассматриваемом случае более вероятным является переход из микро" команды М3 в микрокоманду М4, т,е, равенству условия нулю. Тогда в адресной части микрокоманды М3 программируется безусловный переход в микрокоманду И4. С приходом третьего синхроимяульса 68 блок 1 аналогично выполйяет микрокоманду М2 позиция 70, ) а микрокоманда М3 заносится в регистр 7. Блок 5 Формирует адрес микрокоманды М4, которая выбирается иэ блока 9 (позиция 69 ).

Признак условия в микрокоманде М4 равен нулю,а в адресной части микрокоманды М4 задается выполнение условного перехода. При этом единичный сигнал вырабатывается на первом выходе дешифратора 58 в блоке

5. Этим сигналом открывается первая группа элементов 60, в результате чего адрес следующей микрокоманды формируется с учетом значения сигнала 71. сигнал 72 на выходе

20 блока 9 принимает нулевое значение. При поступлении четвертого синхроимпульса 68 в блок 1 выполняет микрокоманду М3 (позиция 70 1, в результате чего формируется значение сигнала 71. Если сигнал 71, поступающий одновременно на вход

17 блока 5 и входы элементов 12 и 13 действительно оказывается равным нулю (фиг.60), срабатывает элемент 13. Единичный сигнал с его выхода поступает через элемент 14!

0356!0

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

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

55 на вход 26 коммутатора 10, вследствие чего последний обеспечивает поступление на вход регистра 7 микрокоманды М4, Мик>5окоманда N4 заносится в регистр 7.1По адресной части микрокоманды М4. и значению условия, равному нулю, блок 5 Формирует адрес микрокоманды М5, которая затем, выбирается из блока g (позиция 69).

При поступлении пятого синхроимпуль— са 68 блок 1 выполняет микрокоманду Ц4 (г>озиция 70j микрокоманда М5 заносится а регистр 7,а по ее адресной части блок 5 формирует адрес следующей микрокоманды этой ветви и т.п. Если сигнал 71 в результате выполнения микрокоманды М3 по четвертому синхроимпульсу 68 принимает все же маловероятное значение, равное "1" (фиг.бб ),ни один иэ элементов 12 или 13 не срабатывает. При этом на входе 26 коммутатора 10 при— сутствует нулевой сигнал, вследствие чего коммутатор 10 передает на информационный вход регистра 7 код

"холостой" микрокоманды NOP с входа .11 микропроцессора. Код "холостой" микрокоманды задается на входе 11 с помощью перемычек или диодных венти— лей. 8 регистр 7 заносится "холостая"0 микрокоманда. Одновременно rio адресной части микрокоманды М4 и значению условия, равному "1", блок 5 Формирует адрес микрокоманды Мб. При пос! уплении пятого синхроимпульса 68 35 блок 1 выполняет "холостую" микрокоманду NOP, микрокоманда Мб заносится а регистр 7, а по ее адресной части выбирается микрокоманда М7 и т.д. устройства на выход 8 поступает сиг нал чтения, а считываемые данные

\ передаются в блок с входа 2 микропроцессора. . Код, поступающий с первого выхода, регистра 7 на вход 24 блока 5, определяет Функцию управления логикой

Флагов. которая заключается либо в установлении выбранного флага в соответствии со значением сигнала на входе !7 блока 5, либо в выдаче содержимого выбранного флага или значений "0" или "1" на выход 18 блока 5.

Работа блока 5 заключается в сле-. дующем.

В соответствии с кодом, поступающим на вход 24 блока 5, на одном из выходов дешифратора 54 вырабатывается управляющий сигнал. Если происходит установка одного из группы триггеров 55, по единичному сигналу с выхода дешифратора открывается один из группы элементов 56. При поступлении синхроимпульса 68 на вход 15 на выходе элемента 56 вырабатывается импульс, по заднему Фронту которого в соответствующий триггер 55 зано-. сится значение сигнала на входе 17 блока 5. Если значение одного из группы триггеров 55 выдается на вы ход 18 блока 5, по единичному сигналу с соответствующего выхода дешифратора 54 открывается один из группы элементов 57 и содержимое триггера

55 через элементы 57 и 62 и поступает на выход 18 блока 5.

Для оценки преимуществ данного микропроцессора в качестве базового объекта выбран микропроцессор,встроенный в быстродействующий арифмети-ческий процессор, который входит в состав системы обработки экспериментальных данных, построенйой на базе ЭВМ ЕС1022. Базовый микропроцессор построен аналогично прототипу. В предлагаемом микропро-. цессоре потеря производительности за счет "холостого цикла происходит только в случае перехода по маловероятному значению условия, в отличие от базового объекта,где

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

1035610

1Ц выигрыш в 50k случаев выполнения переходов в программе. Однако в большинстве случаев вероятности переходов не одинаковы и их несложно определить. Например, при необходимости повторения циклической программы П раз, значение вероятности возврата э цикл R раз выше, чем значение вероятности выхода из цикла. 8 реальных микропрограммах зкономия времени выполнения имеет место в среднем при выполнении

50-953 условных переходов. Поэтому в предлагаемом микропроцессоре потери производи(ельности в два раза иие, чем в базовом объекте.

1035610

Составитель Г. Виталиев

Редактор JI.Àëåêñååíêî Техред К,Мыцьо

Заказ 583Я/50 Тираж 706

ВНИИПИ Государственного комитета CCCP по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д. ч/5

Корректор И.Ватруакина

Подписное

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