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

 

МИКРОПРОЦЕССОР, содержащий блок микропрограммного управления, блок памяти микрокоманд и операционный блок, причем выход переноса операционного блока соединен с входом признаков блока микропрограммного управления, выход признаков которого соединен с входом переноса операционного блока, вход кода операции которого соединен с выходом кода микроопераций блока памяти микрокоманд, выход кода маскирования которого соединен с входом маски операционного блока, выход адреса обращения к памяти данных которого является адресным выходом микропроцессора, информационный выход микропроцессора соединен с информационным выходом операционного блока, первый и второй информационные входы которого являются соответственно первым и вторым информационными входами микропроцессора , выходы кода управленияформированием адреса следующей микрокоманды и кода управления флажками блока памяти микрокоманд соединены соответственно с входами управления адресом и управления занесением и хранением флажков блока микропрог граммного управления, адресный выход которого соединен с адресным входом блока памяти микрокоманд, вход кода команды блока микропрограммного управления является входом кода команды микропроцессора, отличающийся тем, что, с целью повы;Шения быстродействия, ок содержит управляемый синхронизатор, содержащий три формирователя ийпульсов, элемент НЕ, элемент 2И-ИЛИ-НЕ и ге (П нератор тактовых импульсов, причем выход признака перехода блока памяти микрокоманд соединен с первым входом элемента 2И-ИЛИ-НЕ и с управляющим входом генераторатактовых импульсов, первый, второй и третий выходы которого соединены соответственно с входами первого, второго и третьего формирователей импульсов, выходы которых соединены соответствш но с вторым и третьим входами элемента 2И-Ш1И-НЕ и с вхЪдом элемента НЕ, выход которого соединен с входом синхронизации операционного блока, выход элемента 2И-ИЛИ-НЕ соединен с входом синхронизации блока микропрограммного управления.

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

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

РЕСПУБЛИК (19) (11) 2 А

4(51) G Об F 15/00 т l

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

Н ABTOPCHOMY СВИДЕТЕЛЬСТВУ

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3544720/24-24 (22) 26.01.83 (46) 15.02. 85. Бюл. У 6 (72) Л.Д. Минутин (53) 681.325(088.8) (56) 1. Березенко А.И., Корягин Л.И., Назарьян A.P. Микропроцессорные комплекты повышенного быстродействия.

M., "Радио и связь", 1981, с. 84-86.

2. Там же, с. 122-126 (прототип). (54) (57) МИКРОПРОЦЕССОР, содержащий блок микропрограммного управления, блок памяти микрокоманд и операционный блок, причем выход переноса операционного блока соединен с входом признаков блока микропрограммного управления, выход признаков которого соединен с входом переноса операционного блока, вход кода операции которого соединен с выходом кода микроопераций блока памяти микрокоманд, выход кода маскирования которого соединен с входом маски операционного блока, выход адреса обращения к памя-. ти данных которого является адресным выходом микропроцессора, информационный выход микропроцессора соединен с информационным выходом опе рационного блока, первый и второй информационные входы которого являются соответственно первым и вторым информационными входами микропроцессора, выходы кода управления формированием адреса следующей микрокоманды и кода управления флажками блока памяти микрокоманд соединены соответственно с входами управления адресом и управления занесением и хранением флажков блока микропро» граммного управления, адресный выход которого соединен с адресным входом блока памяти микрокоманд, вход кода команды блока микропрограммного управления является входом кода команды микропроцессора, о т л и ч а юшийся тем, что, с целью повы,шения быстродействия, он содержит управляемый синхронизатор, содержащий три формирователя иМпульсов, элемент НЕ, элемент 2И-ИЛИ-НЕ и генератор тактовых импульсов, причем выход признака перехода блока памяти микрокоманд соединен с первым входом элемента 2И-ИЛИ-НЕ и с управляющим входом генератора тактовых импульсов, первый, второй и третий выходы которого соединены соответственно с входами первого, второго и вй; третьего формирователей импульсов,,«ф» выходы которых соединены соответствев но с вторым и третьим входами элемен- .та 2И-ИЛИ-НЕ и с входом элемента HR выход которого соединен с входом сии- ) хронизации операционного блока, выход элемента 2И-HJ1H-НЕ соединен с входом синхронизации блока микропрограммного управления. . Ь! 114012

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

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

Наиболее близким к предлагаемому является микропроцессор, содержащий блок микропрограммного управления; блок памяти микрокоманд и операционный блок, причем выход переноса опе рационного блока соединен с входом признаков блока микропрограммного управления, выход признаков которого соединен с входом переноса операционного блока, вход кода операции которого соединен с выходом кода микро операций блока памяти микрокоманд, 30 выход кода маскирования которого соединен с входом маски операционного блока, выход адреса обращения и памяти данных которого является адресным выходом микропроцессора, инфор.— мационный выход микропроцессора соединен с информационным выходом операционного блока, первый и вто-. рой информационные входы которого являются соответственно первым и. вторым информационными входами микропроцессора, выходы кода управления флажками и кода управления формированием адреса следующей микрокоманды блока памяти микрокоманд соединены соответственно с входами управ- 45 ления занесением и хранением флажков и управления адресом блока микропрограммного управления, адрес.ный выход которого соединен с адресным входом блока памяти микрокоманд, 5О вход кода команды блока микропрограммного управления является входом кода команды микропроцессором.

В этом микропроцессоре конвейерный регистр задерживает выбранную в текущем такте из блока памяти микрокоманд микрокоманду до начала

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

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

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

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

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

НЕ, выход которого соединен с входом синхронизации операционного блока, выход элемента 2И-ИЛИ-НЕ соединен с входом синхронизации блока микропрограммного управления.

На фиг. 1 представлена функциональная схема микропроцессора; на фиг. 2 — временные диаграммы работы микропроцессора, на фиг. 3 — блоксхема алгоритма функционирования микропроцессора.

Микропроцессор содержит блок 1 памяти микрокоманд, блок 2 микропрограммного управления, операционный блок 3, генератор 4 тактовых импульсов, элемент 2И-ИЛИ-НЕ-5, формирователь импульсов 6, 7 и 8 и элемент НЕ 9.

Рассмотрим работу микропроцессора (фиг. 1). Микропрограмма хранится в блоке памяти микрокоманд 1.

Блок микропрограммного управления 2 управляет выборкой микрокоманд из блока 1 по сигналу управления формированием адреса следующей микрокоманды (УА), поступающего с выхода блока 1 на соответствующий вход блока 2. Кроме того, выборкой микроко.манд может управлять сигнал с входа команды микропроцессора (КОМ), поступающий на соответствующий вход блока 2. На основе кода команды КОМ блок 2 формирует адрес первой микро10

t5

50 команды из последовательности микрокоманд, реализующих эту команду. Следовательно, начало работы микропроцессора, т.е. выборка первой микрокоманды первой команды осуществляется на основе состояния на входе KOM блока 2, В процессе выполнения команды переход к следующей микрокоманде осуществляется по состоянию на входе УА блока 2. Блок 2 выполняет флаговые операции, т.е. занесение и хранение состояний на входе признаков (F1), и также управляет состоянием на выходе признаков (FO) по сигналу управления флагом (УФ), поступающего с соответствующего выхода блока 1. Выборка очередной микрокоманды осуществляется формированием блоком 2 адреса (А) очередной микрокоманды; этот адрес поступает на адресный вход (А) блока 1. Выходы микроинструкций (F) и код маски (К) блока 1 соединены с соответствующими входами операционного блока 3. Сигналы на этих входах определяют тип микроинструкции„ предписываемый блоку 3, выбор одного из информационных входов (В) или (») в качестве источника входной информации.

Операционный блок 3 имеет .вход переноса (СО), соединенный с выходом блока 2, и выход переноса (С1), который используется в качестве признака при выполнении условных переходов. Выход G1 блока 3 соединен с входом признака блока 2. Выход при- . знака перехода (ПП).блока памяти микрокоманд 1 соединен с управляющими входом генератора тактовых импульсов

4 и с первым входом элемента

2И-ИЛИ-НЕ 5. Для формирования синхроимпульсов необходимой длительности для блоков 2 и 3 используются три формирователя импульсов 6, 7 и 8 °

Элемент 2И-ИЛИ-НЕ 5 по сигналу на первом выходе выдает на выход, соединенный с синхровходом (С „) блока 1, или два синхроимпульса или один (за такт работы микропроцессора). Элемент 9 используется для согласования логики синхроимпульса с логикой синхровхода (С<>) операционного блока 3. В динамике работа микропроцессора происходит следующим образом (фиг. 2 и 3). По коду на входе КОМ блок микропрограммного управления 2 формирует адрес А начальной микрокоманды, эта михрокоманда выбирает1140126 ся из блока памяти микрокомакд 1 и оказывается на его выходах. С этого момента начинается первый такт рабо-:, ты микропроцессора. Такты с безусловным и условным переходами отличаются друг от друга.

Рассмотрим такт с безусловным переходом. Признак перехода ПП в микрокоманде программируется в этом случае в состояние лог. "1". Сигнал 10 с выхода ПП блока 1 поступает на управляющий вход генератора 4, который выдает на свои выходы сигналы с периодом Т1. Импульсы на первом, втором и третьем выходах генерато- 15 ра 4 имеют фазовый сдвиг(,, ь и ь 3, и Л

По передним фронтам этих импульсов формирователи 6, 7 и 8 формируют импульсы с длительностью соответстВРННо tg (4) q (:ц e((() H t((gg e HM 20 пульсы с формирователей 6 и 7 поступают на второй и третий входы элемента 2И-И(И-НЕ 5. Так как на первом входе этого элемента находится сигнал признака перехода ПП, равный лог."1",25 то оба импульса проходят через элемент 2И-ИЛИ-НЕ 5 и поступают на синхровход С ьмч блока микропрограммного управления Я. По первому синхроимпульсу блок 2 формирует безусловный 30 адрес следующей микрокоманды. Для этого синхроимпульс должен начаться через время предустановки ау(, сигнала управления формированием адреса УА.

Через некоторую задержку t < после окончания синхроимпульса код следующего адреса А появится ча выходе блока 2 ° С этого момента начинается процедура выборки следующей микрокоманды из блока памяти микрокоманд 1, 40 которая завершится через время

С другой стороны,.параллельно с формированием адреса А и блоком 2 происходит дешифрация микроинструкции F в операционном блоке 3. После дешиф- 45 рации микроинструкции F на основании кода маски К операционный блок 3 ,вырабатывает внутренние сигналы переноса из младших разрядов в старшие . и самый старший перенос, являющийся 50 выходом переноса С1. Суммарное время формирования достоверного сигнала на выходе С1 от начала такта обозначим 1. < . После формирования сигналов переноса через время t(1g операционный блок 3 может начинать выполнение микроинструкции F. Для этого на его сикхровход СОБ подается синхроимпульс, начало которого задержано от начала такта на время tc(+ С gC

После окончания сикхроимпульса ка

СОБ состояние ка шинах F и К блока

3 должно быть сохранено в течение времени t до завершения всех переходных процессов внутри операционного блока 3. После выработки операционным блоком 3 сигнала на выход С1 появляется возможность достоверного выполнения операций занесения и хранения флажков в блоке микропрограммного управления. Эти операции достоверно выполняются по второму синхроимпульсу на С(,,„. Начало этого синхроимпульса должно быть задержано на время t(1(p предустановки сигнала на входе признака Р1 блока 2.

После окончания этого синхроимпульса состояние ка входах управления флагом УФ блока 2 должно быть сохранено на время tz<, до окончания переходных процессов в этом блоке. Та(ким образом можно выделить три пути распространения сигналов в микропроцессоре, определяющих длительность такта Тбе ус при безусловном пере— ходе: (Твеъуси, уу + u s@q + и + д 0 > !

Т бе у" — Ес(+ сур+ цбмЧ + Ес у (И 9

Тье усд, с + "ус + "((Об+ см

Длительность такта Т „„ будет ! равна наибольшей из величин Т 1у „ ((((!

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

Длительность такта Т1 генератора 4 должна быть равной Т, фазовые задержки (,, (и с генератора 4 должны обеспечить временные задержки всех сикхроимпульсов относительно начала такта на вышеупомянутые времена предустановки t. у, tс(+

+ tq, tC1 + цс . Формирователи импульсов 6, 7 и 8 обеспечивают необходимую длительность синхроимпульсов.

Рассмотрим такт с условным переходом,. Признак перехода ПП в микрокоманде программируется в этом случае в состояние лог. "0". По сигналу выхода ПП блока 1 генератор 4 переходит в режим формирования импульсов с периодом Т2. Фазовые сдвиги выходных импульсов генератора 4 ке изменяются: они равны (,, (, и („ .

Так как на первом входе элемента

2И-ИЛИ-НЕ 5 находится состояние лог. "0", поступающее с блока 1, то

114() 126 через этот элемент 5 не проходит импульс с первого формирователя 6 а проходит только импульс с второго . формирователя 7. В результате на блок микропрограммного управления 2 поступает один синхроимпульс. Этот синхроимпульс имеет точно такую же задержку tc< + t,р относительно начала такта, что и второй синхроимпульс в тактах с безусловными пере- 10 ходами. Следовательно, по рассматриваемому синхроимпульсу блок микропрограммного управления может достоверно выполнить операции занесения и хранения флажков, так как сигнал переноса уже сформирован операционным блоком 3. Благодаря наличию достоверного сигнала переноса и моменту синхроимпульса на С Бд микропрограммного управления 2 получают возможность по этому синхроимпульсу сформировать условный, т.е. зависящий от сигнала переноса, адрес следующей микрокоманды. После окончания синхроимпульса С Б»» этот условный адрес Л с задержкой t выдается блоком 2 и через время выборки блок памяти микрокоманд 1 выдаст по этому адресу микрокоманду, являющуюся первой микрокомандой одной из двух веток программы. В следующем такте начнется выполнение этой микрокоманды. Таким образом, условный переход произошел за один такт.

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

45 задержкой t<< + t c, что и в тактах с безусловными переходами, т.е. микроинструкции выполняются в обоих случаях одинаково. В рассматриваемом такте также можно выделить три пути распространения сигналов, влияющих на длительность такта Т „при условном переходе:

1

" 1(» = с + Чр + ьм c1 °

"-чс». t«+ t)c tu 6 tc»n > ф

Т!сл сл Чр 46м 4 Q

Длительность такта Ч », будет Рая на наибольшей из этих величин. Длительность такта генератора 4 при условных переходах (т.е. по сигналу лог. "0" на управляющем входе) должна быть равной ТЧ „ . Остальные параметры управляемого синхронизатора такие же, как и в тактах с безусловными переходами.

В качестве блока 2 в предлагаемом микропроцессоре можно, например, использовать блок микропрограммного управления из микропроцессорных комплектов К586, К589 серий. Для построения операционного блока 3 можно . исполЬзовать центральные процессорные элементы и схемы ускоренного переноса из любого микропрограммируемого микропроцессорного комплекта, например из тех жв К586 К589 серий.

Проведем численную оценку быстродействия микропроцессора в сравнении с прототипом. Пусть время выборки информации из блока памяти микрокоманд tA Q = 40 нс. В качестве элементной базы примемкомплект К589 серии, разрядность операционных блоков прототипа и предлагаемого микропроцессора примем равной 16.

Временные параметры в рассматриваемом случае

10 нс, t((«< 30 нс, tA = 44 нс, tqg = 40 нс, tc< = 72 нс (эта задержка складывается из задержки формирования сигналов предварительного просмотра переноса центральными элементами, равной 52 нс, и времени срабатывания схемы усКоренного переноса, равного 20 нс), tqy = 15 нс, с = 20 нс, с = 27 нс, (»(» = 33 нс, „ = 5 нс. В результате получим:

Т, !, = 137 нс ° Т(1е»! = 201 нс., Минимально возможная длительность такта прототипа равна 162 нс. Таким образом при безусловных переходах длительность такта сократилась на 15Х при условных (по сравнению с двумя тактами прототипа длительностью

162 нсх2 = 324 нс) — на 38Х.

1140126

1140126

1140126 ды5рана ииальиая //ирако//ан0а

g83gCJ1, РердуоУ

/7/7-" 1

Дюзна

pl8p8xoda Р

Фвр /иро5ание сигнапа переноса О

Форииробание а3реса

A спед, иикро/аианды бзабисииосаа тп сигнипа переноса С1, 8ьвопнение рпагоЬи операции

aw

4N юг

Формирование сигнапа переноса Cf

Выпоянение микроинсарукции

ЮЕ нхю

H/фФ

8ыпопненце рпаго5ы on/.pagus

Наиапо Рь/Горки стдунщей //акроюжмй/ аюять инрюми

И ию оп, бипапнение ткроинсш,О /кций

Забераение быдоРки спебуащей иикрожжаноь/

ЯбЩ

И)Ююв

И1

Фаллал ШШ teat, t.tateaeä, ул.Ироажтллл, 4

ЯМУ

f""b/È

СИЯУ

ИЖУ

ЬЧУ„

2-ой сию ичп.

На ат щачироЮиния м 4лолвлг .д nnnkiztttubl) а ел.и, П игсащгцщс н

//икрою/ианды

Нацаво оы/орки с//ед ющей юакрагоРЮШЕЙ/ а5ершение Ы)орки сиедующеи иикроФ РЫ2нЛу.арч7&д/й

/I4Ðãxоо

БР=О

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

 

Похожие патенты:

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

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

Изобретение относится к вычислительной технике и может быть использовано в электронной цифровой вычислительной машине

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

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

Изобретение относится к электронным играм

Микроэвм // 2108619
Изобретение относится к области микропроцессорной техники, в частности, может применяться для реализации обмена информацией

Изобретение относится к системам передачи стоимости товара при безналичных операциях
Наверх