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

 

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

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

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

РЕСПУБЛИК (19) (И) зш G 06 F 15/00,у с ,1

/ с

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

К ABTOPCKOMV СВИДЕТЕЛЬСТВУ

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

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3514562/24-24 (22) 26.11.82 (46) 15.10.84. Бюл. Ф 38 (72) P.ß. Бронштейн, А.Я. Вайзман, Б.Н. Гущенсков и Д.A. Рачевский (53) 681.325(088.8) (56) 1. "Электроника" 1979, Р 3, с. 23-34.

2. Прангишвили И.В. Микропроцессоры и микро-ЭВМ. М., "Энергия", 1979, с. 69-81.

3. Березенко А.И.,Корягин А.Н., Назарьян А.P. Микропроцессорные комплекты повышенного быстродействия". H., "Радио и связь", 1981, с. 122-131 (прототип). (54)(57) МИКРОПРОЦЕССОР, содержащий операционный блок, блок микропрограммного управления, память микропрограмм и генератор тактовых импульсов, причем выход генератора тактовых импульсов соединен с входами синхронизации операционного блока и блока микропрограммного управления, выход признаков которого соединен с входом переноса операционного блока, информационный и адресный выходы которого являются соответственно информационным и адресным выходами микропроцессора, вход внешних данных операционного блока соединен с вхо.— дом кода команды блока микропрограммного управления и является входом внешних данных микропроцессора, выход переноса операционного блока соединен с входом признаков блока микропрограммного управления, выходы разрядов адреса колонки-микрокоманды и старших разрядов адреса строки микрокоманды которого соединены соответственно с входами разрядов адреса колонки и старших разрядов адреса строки памяти микропрограмм, выходы поля управления переходом, поля управления занесением и хранением флажков и поля управления выдачей флажков которой. соединены соответственно с входами управления перехо-. дами, управления занесением и хранением флажков и управления выдачей флажков блока микропрограммного,уп равления, выход поля управления внеш ним объектом памяти микрекоманд является управляющим выходом микропроцессора, отличающийся тем, что, с целью сокращения оборудования, он содержит два регистра, коммутатор, два дешифратора,блок формирования константы, содержащий груп- С в

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

11 коммутатора соединен с выходом поля операции памяти микропрограмм, выход поля управления константой которой соединен с первыми входами элементов И группы блока формирования константы .и с первым входом второго дешифратора, третий выход которого соединен с первыми входами элементов ИЛИ группы блока формирования константы, вторые входы которых соединены соответственно с выходами эле. ментов И группы блока управления константой, вторые входы которых соединены с выходами поля константы памяти микропрограмм и с вторым входом второго дешифратора, выходы элементов ИЛИ группы блока формирования константы соединены с входами кода маски операционного блока,,вход младшего разряда адреса строки памяти микропрограмм соединен с выходом второго элемента ИЛИ блока формирования адреса условного перехода, первый и второй входы которого соединены соответственно с выходом второго триггера и с выходом младшего разряДа адреса строки блока микро19021 программного управления, вход загрузки адреса микрокоманды которого соединен с первым выходом первого дешифратора, первая группа выходов которого соединена с входами установки-сброса второго регистра, выходы которого соединены соответственно с первыми входами и -элементов И группы блока формирования адреса условного перехода, первый вход (ь+1)-rо элемента И группы блока формирования адреса условного перехода соединен с выходом переноса операционного блока, вторая группа выходов первого дешифратора соединена с вторыми входами (и +1) элементов И группы блока формирования адреса условного перехода, выходы которых соединены с входами первого элемента ИЛИ блока формирования адреса условного перехода, выход которого соединен с информационным входом первого триггера, выход которого соединен с информационным . входом второго триггера, выход поля начальной установки памяти микропрограмм соединен с входом первого дешифратора.

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

Известно устройство, содержащее арифметико-логический блок, блок микропрограммного управления, синхронизирующий контроллер $1 ).

Недостатком этого устройства является большая потребляемая мощность и высокая стоимость, поэтому его использование для управления простыми низкоскоростными и среднескоростными периферийными устройствами неэффективно.

Известно устройство, содержащее арифметико-логический блок, блок управления, генератор синхросигналов (2 3.

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

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

1119621

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

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

Цель изобретения — сокращение оборудования путем снижения объема памяти микропрограмм.

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

ro триггера, выход первого регистра соединен с первым информационным входом коммутатора, выход которого соединен с входом кода операции операционного блока, управляющий 5 вход коммутатора соединен с первым выходом второго дешифратора, второй выход которого соединен с входом чтения- записи первого ре"истра, второй информационный вход коммутатора 10 соединен с выходом поля операции памяти микропрограмм, выход поля управления константой которой соединен с первыми входами элементов И группы блока формирования константы и 15 с первым входом второго дешифратора, третий выход которого соединен с первыми входами элементов ИЛИ группы блока формирования константы, вто рые входы которых соединены соот- 20 ветственно с выходами элементов И группы блока управления константой, вторые входы которых соединены с выходами поля константы памяти микропрограмм и с вторым входом второго дешифратора, выходы элементов ИЛИ груп пы блока Аормирования константы соединены с входами кода маски операцион ного блока, вход младшего разряда адреса строки памяти микропрограмм соединен с выходом второго элемеита

ИЛИ блока формирования адреса условного перехода, первый и второй входы которого соединены соответственно с выходом второго триггера и с выхо- 35 дом младшего разряда адреса строки блока микропрограммного управления, вход загрузки адреса микрокоманды которого соединен с первым выходом первого дешифратора, первая группа 40 выходов которого соединена с входами установки-сброса второго регистра, выходы которого соединены соответственно с первыми входами h -элементов И группы блока формирования адре-45 са условного перехода, первый вход (n +1)-ro элемента И группы блока формирования адреса условного перехода соединен с выходом переноса операционного блока, вторая 50 группа выходов первого дешифратора соединена с вторыми входами (и +1) элементов И группы блока формирования адреса условного перехода, выходы которых соединены с входами перво 55 го элемента ИЛИ блока формирования адреса условного перехода, выход которого соединен с информационным входом первого триггера, выход которого соединен с информационным входом второго триггера, выход поля начальной установки памяти микропрограмм соединен с входом первого дешифратора, На фиг. 1 изображен функциональная схема микропроцессора; на фиг. 2 — функциональная схема операционного блока; на фиг. 3 — функциональная схема блока микропрограммного управления; на фиг. 4 — функциональная схема второго дешифратора; на фиг. 5 — функциональная схема коммутатора; на фиг. 6 — функциональная схема блока формирования адреса условного перехода; на фиг. 7 функциональная схема блока формирования константы; на фиг. 8 — формат микрокоманды; на фиг. 9 — таблица логики работы схемы определения адреса следующей микрокоманды блока микропрограммного управления; на фиг. 10 — таблица функции управления входными и выходными сигналами схемы признаков блока микропрограммного управления; на фиг..11 — временная диаграмма синхросерии, вырабатываемой генератором синхроимпульсов.

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

10 формирования константы, блок 11 формирования адреса условного перехода, вход внешних данных,12, соответственно информационный, адресный и управляющий выходы микропроцессо" ра 13 — 15.

Операционный блок 3 (фиг. 2) предназначен для выполнения арифметических и логических операций и хранения промежуточных результатов. Он реализован путем соединения нескольких секционных БИС К589И1(02, каждая из которых содержит дешифратор 16, аккумулятор 17, арифметико-логическую секцию 18, первый 19 и второй 20 мультиплексоры, регистры 21 общего назначения, регистр 22 адреса памяти, первый 23 и второй 24 буферные регистры с тремя состояниями, соответственно входы синхронизации и переноса

25 и 26, соответственно входы кода

11190 маски и кода операции операционного .блока 27 и 28, выход переноса 29.

Блок 2 микропрограммного управления (фиг. 3) предназначен для фор.мирования адреса следующей микрокоман ды. Он реализован на БИС К589 ИК01 и содержит триггер 30, регистр 31 признаков, регистр 32 адреса микрокоманд, первый 33 и второй 34 буферные регистры с тремя состояния- 10 ми, схему 35 формирования адреса следующей микрокоманды, вход 36 загрузки, вход 37 синхронизации, выходы 38, 39 соответственно разрядов адреса строки и разрядов адреса ко» 15 лонки

Второй дешифратор 6 содержит элемент НЕ 40, первый 41, второй 42, третий 43, четвертый 44, пятый 45 элементы И, входы 46 и 47, выходы 20

48 †49, группу выходов 50.

Коммутатор 9 (фиг. 5) содержит первый 51 и второй 52 элементы ИЛИ, первую 53 и вторую 54 группы элементов И-ИЛИ информационные входы 55,56. 25

Блок 11 формирования адреса условного перехода (фиг. 6) и второй регистр 8 предназначены для формирования разрядов адреса памяти микропрограмм. Блок 11 формирования адре-30 .са условного перехода содержит элемент И 57, первый 58.и второй 59 элементы ИЛИ, первый 60 и второй 61 триггеры, элемент HE 62, группу элементов И 63, входы 64, 65, выход 66.

Блдк 10 формирования константы (фиг. 7) предназначен для формирования константы, поступающей на вход кода маски операционного блока 3. Он содержит группу элементов И 67 и 40

ИЛИ 68.

Первый дешифратор 5 предназначен для управления блоком 2 микропрограммного управления, вторым регистром 8 и блоком 11 формирования адреса

45 условного перехода.

Второй дешифратор 6 предназначен для управления блоком 10 формирования константы, коммутатором 9 и первым регистром 7.

Генератор 4 предназначен для выработки синхроимпульсов, синхронизирующих работу устройства.

Иикропроцессор работает следующим образом. 55

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

21 8 памятью периферийного устройства.

Состояние выбранных внешних объектов (регистра или ячейки памяти) периферийного устройства поступает в микропроцессор по входу 12. При этом адрес выбранного регистра периферийного устройства подается на выход 15 микропроцессора. Если выбранным объектом окажется память, то адрес ячейки памяти должен быть подан на выход 14 микропроцессора.

Обработав входную информацию в соответствии с заданным алгоритмом управления периферийным устройством, микропроцессор выдает на выход 13 измененное состояние выбранного объекта. Режим работы с объектом (считывание или запись) также задается с помощью выхода 15.

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

Иикропрограммы хранятся в памяти 1 микропрограмм. По фронту очередного синхроимпульса генератора 4 на первый и второй входы памяти t ìèêðoпрограмм поступает адрес очередной микрокоманды, который вырабатывается блоком 11 формирования адреса условного перехода и блоком 2 микропро= граммного управления. По данному адресу из памяти 1 микропрограмм считывается очередная микрокоманда, которая управляет работой микропроцессора в течение очередного. цикла синхросерии генератора 4.

Формат микрокоманды представлен на фиг. 8.

Обозначения полей микрокоманды расшифровываются следующим образом:

УК вЂ” управление константой, подаваемой на первую группу входов операционного блока 3;

К/M — разряд константы, подаваемой на первую группу входов блока 3, или маска (единица или ноль), по значению которой блок 10 формирует

,KîHñòàHòó, подаваемую на первую группу входов блока 3;

К/ВБ — разряд константы, подаваемой на первую группу входов блока 3, или выборка информации поступающей с входа 12 устройства;

К/УУ вЂ” часть разрядов константы, подаваемой на первую группу блока 3, или управление установкой кода, поступающего на вторую группу входов, ) l 19021

Кроме этого, при УК-1 второй дешифратор 6 на одном из выходов формирует нулевой сигнал, поступающий на вход записи-чтения первого регистра 7 и запрещающий прием ин55 °

УСТ вЂ” установка или сброс отдельных разрядов второго регистра .8;

УΠ— управление объектами, внеш. ними по отношению к микропроцессору.

Поля микрокоманды AC u FС, F, 5

УК, УСТ, УО подаются соответственно на третью группу выходов, вторую группу выходов, первый, второй и третий выход памяти 1 микропрограмм.

Поля К/M К/ВБ, К/УУ подаются на первую группу выходов памяти 1 микропрограмм. Одноразрядное поле УК определяет функциональное назначение полей К/М, К/ВБ и К/УУ.

Если УК=1, то поля К/М, К/ВБ и 15

К/УУ в совокупности представляют собой поле К константы, и единичный сигнал с первого выхода памяти микро программ (УК=1), поступая на второй вход блока 10 формирований константы, 20 разрешает передачу константы, поступающей с первой группы выходов памяти 1 микропрограмм на группу входов блока 10 формирования константы, на выходы блока 10 формирования констан-25. ты. Таким образом происходит задание константы любой конфигурации для использования в качестве операнда или операндов операционного блока 3.

Эта константа поступает на вход 30 кода маски операционного блока.

Информация полей К/М, К/ВБ и К/УУ поступает с первой группы выходов памяти 1 микропрограмм также на входы второго дешифратора 6. При УК-1 код этих полей (код константы) игнорируется вторым дешифратором 6. В этом режиме второй дешифратор 6 на свои выходы выдает нулевой код, поступающий на один из информационных входов коммутатора 9 и разрешающий выдачу на выход коммутатора 9 и далее на вход кода операции операционного блока 3 информации поля F микрокоман-. ды. Эта информация поступает с вто- 45 рой группы выходов памяти 1 микропрограммы на другой информационный вход коммутатора 9. Поле F микрокоманды комбинацией старших разрядов задает тип операции операционного блока 3, а комбинацией младших разрядов задает источники операндов для выполняемой операции. формации в первый регистр 7 с входа 12.

Первый регистр 7 состоит из

3 -триггеров типа "latch", íà D -входы которых поступают соответствующие разряды с входа 12, а на С-вход— выход элемента И, на входы которого поступают разрешающий сигнал с выхода второго дешифратора 6 и синхроимпульсы с выхода генератора 4.

При УК=О поля К/М, К/ВБ и К/УУ рассматриваются как три различных поля, несущих разную функциональнук нагрузку, В этом случае нулевой сигнал (УК=О), поступающий на вход блока 10 формирования константы с выхода памяти 1 микропрограмм, запрещает передачу на выход блока 10 формирования константы содержимого поля К. При этом второй дешифратор 6 выдает на свой выход единичный или нулевой сигнал (в зависимости от значения поля К/M микрокоманды), по тупающий на вход блока 10 формирования константы. Блок 10 формирования константы формирует константу единиц или константу нулей и подает ее на вход кода маски операционного блока. Если К/M=1, то в операционный блок 3 выдается константа из всех единиц, если К/М=Π— константа из всех нулей.

При УК=О вторым дешифратором 6 производится также дешифрация полей

К/ВБ и К/УУ микрокоманды. Если значение одноразрядного поля К/ВБ=1, то второй дешифратор 6 вырабатывает на своем выходе сигнал, поступающий на вход первого регистра 7 и разрешающий по синхроимпульсу с выхода генератора 4 прием информации в первый регистр 7, поступающей с входа 12.

В результате дешифрации содержимого поля К/УУ (при УК О) на одном из выходов второго дешифратора 6 формируется комбинация сигналов, поступающая на один из информационных входов коммутатора 9 и определяющая закон преобразования кода „ поля F, поступающего на другой информационный вход коммутатора 9. В зависимости от кода этой комбинаУ ции на вход кода операции операционного блока 3 поступает с выходов ком" мутатора 9 информация одного из следующих форматов: содержимое поля

F микрокоманды, старшие разряды—

1! 19021

20

Младший бит адреса строки поступает на вход памяти 1 микропрограмм10 с выхода блока 11 формирования адреса условного перехода.

По фронту синхроимпульса генератора 4, поступающему на вход синхро низации блока 2 микропрограммного управления, на выходах блока 2 микропрограммного управления формируется адрес следующей микрокоманды. Причем на один иэ выходов поступают разряды адреса строки, а на другой колонки (исключая младший разряд адреса строки). Младший разряд адреса строки формируется блоком 2 микропрограммного управления. Разряды адреса формируются блоком 2 микро- 55 программного управления в соответствии с информацией поля АС микрокоманды, которая совместно с информастаршие разряды. поля F микрокоманды, младшие разряды — младшие разряды первого регистра 7; старшие разрядыстаршие разряды первого регистра 7, младшие разряды — младшие разряды 5 поля Р микрокоманды, содержимое первого регистра 7.

Таким образом, на вход кода операции операционного блока 3 подается поле F микрокоманды с динамически измененной старшей или младшей частью. Это позволяет использовать одни и те же микропрограммы для обработки данных, содержащихся в различных регистрах (при динамическом из- 15 менении младшей части) или одни и те же микропрограммы, работающие .с одним регистром, но выполняющие различные функции (при динамическом изменении старшей части).

Блок 2 микропрограммного управления, второй регистр 8, блок 11 формирования адреса условного перехода, первый дешифратор 5, работающие под управлением полей микрокоманды АС, 25

FC и УСТ, служат для выработки адреса следующей микрокоманды.

Условно память 1 микропрограмм можно представить в виде матрицы, состоящей из колонок и строк так, . что местоположение каждой ячейки (ее адрес) определяется двумя компонентами: адресом строки и адресом колонки. Адрес колонки и строки (исключая младший бит адреса строки) поступают на второй вход памяти 1 микропрограмм с второго выхода блока 2 микропрограммного управления. цией поля FC поступает с выходов памяти 1 микропрограмм.

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

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

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

;поступлении на вход загрузки блока 2 микропрограммного управления разрешения с выхода первого дешифратора 5.

В этом случае информация поля АС микрокоманды игноруется и осуществляется переход по коду внешней команды, поступающему с входа 12, на микропрограмму ее выполнения.

Управление первым дешифратором 5 осуществляет поле УСТ микрокоманды, информация которого поступает на вход первого дешифратора 5 с выхода памяти 1 микропрограмм. При соответствую щих комбинациях поля УСТ первый дешифратор 5 формирует на выходах сигналы, поступающие на входы второго регистра 8, который является регистром перехода. Регистр 8 перехода состоит из R5-триггеров. Разряды регистра 8 сбрасываются и устанавливаются под управлением поля УСТ микрокоманды по синхроимпульсам с выхода генератора 4, поступающим на вход синхронизации регистра 8. То есть на S -и Р -входы каждого из триггеров регистра 8 подаются сигналы с выхода первого дешифратора 5 простробированные синхроимпульсом с выхода генератора 4. Сигналы с выходов регистра 8 триггеров перехода поступают на входы блока 11 формирования адреса перехода. Назначение данного блока - сформировать младший разряд адреса строки в соответствии с управляющими

1 l сигналами от первого дешифратора 5, (в соответствии с кодом поля УСТ).

Входная информация блока следующая: выходной перенос операционного блока

3, разряды второго регистра 8 перехода, младший разряд адреса строки, сформированного блоком 2 микропрограммного управления.

l4

13

111902!

Таким образом, по сигналам управления, поступающим с выходов первого дешифратора 5 на входы блока 11 формирования адреса условного перехода, блок 11 формирует выходной сигнал в соответствии со значением одного из перечисленных вьш е исгочников информации, что и является значением младшего разряда адреса строки, поступающего с выхода блока 11 фор- 10 мирования адреса условного перехода на вход памяти l микропрограмм.Информация на выход блока 11 выдается по фронту синхроимпульса, поступающему с выхода генератора 4 на первый !5 вход блока 11, т.е. одновременно с остальной частью адреса, формируемой блоком 2 микропрограммного управления.

Таким образом, можно осуществлять 20 переходы полностью по адресу, формируемому блоком 2 микропрограммного управления (блок 11 формирования

1 адреса условного перехода транслирует на выход младший разряд адреса строки, выработанный блоком 2 микро.программного управления), и осуществлять в любой микрокоманде условный переход по значению переноса иэ операционного .блока 3 либо по зна- З0 чению одного из микропрограммно управляемых триггеров перехода в лю. бой микрокоманде, которая задает адрес следующей микрокоманды с битом

ИАЧ равным нулю. Причем условный переход в смежные строки может быть задан соответствующей комбинацией в поле УСТ микрокоманды почти независимо от поля АС., которое управляет блоком 2 микропрограммного уп- 40 равления. Необходимо только, чтобы поле АС определяло адрес следующей микрокоманды с битом МАЧ равным нулю.

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

Для выполнения операции на него подается следующая информация: на вход кода операции — управление функцией с выходов коммутатора 9; на вход кода маски константа с выходов блока 10 формирования константы, на вход внешних данных — внешний 55 операнд с соответствующих разрядов входа 12 (данные с внешних объектов), на вход переноса входной перенос с выхода блока 2 микропрограммного управления; на вход синхронизации синхроимпульс с выхода генератора

4 для запоминания по спаду синхроимпульса результата операции в одном из регистров операционного блока 3.

Адрес внешнего объекта, в который заносится информация с выхода

13 микропроцессора, определяется полем УО микрокоманды и поступает на выход 15 микропроцессора с выхода памяти 1 микропрограмм.

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

25 дешифратор 16 преобразует в систему совместных микроприказов код микрооперации, поступающий на входы

28. С выхода дешифратора 16 сигналы микроприказов поступают на входы первого 19 и второго 20 мультиплексоров для выбора операндов, на вход арифметико-логической секции 18 для настройки ее на выполнение требуемой микрооперации, на вход регистров

21 общего назначения для выбора адреса операнда, на входы регистра 22 адреса памяти и аккумулятора 17 для разрешения записи результата микрооперации в регистр 22 адреса памяти или в аккумулятор 17.

На первый мультиплексор 19 подает ся следующая информация: на первый вход с входа 12; на второй вход с аккумулятора 17; на третий вход с регистров 21 общего назначения.

На второй мультиплексор 20 подается следующая информация: на первый вход с входа 12; на второй вход с аккумулятора 17; на третий вход с выхода блока формирования константы.

Информация с выходов первого мультиплексора 19 и второго мультиплексора 20 подается соответственно на третий и четвертый входы арифметико-логической секции 18.

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

16. При этом учитывается входной перенос, поступающий на вход секции со входа 26. Результат операции по спаду синхроимпульса, поступающего с входа 25, записывается в аккумулятор 17 или один из регист15

11190 ров 21 общего назначения. Кроме того, результаты некоторых операций записываются в регистр 22 адреса памяти.

По результату операции может сформироваться выходной перенос, кото- 5 рый с выхода арифметико †логическ секции 18 поступает на выход 29.

Содержимое регистра 22 адреса памяти и аккумулятора 17 соответственно через первый 23 и второй 24 буферные 10, регистры с тремя состояними выдается на выходы 13 и 14.

Блок 2 микропрограммного управления (фиг. 3) .работает следующим образом: каждая микрокоманда 15 содержит информацию о следующем адресе микропрограммы.

В микрокоманде указывается только

20 .способ определения адреса следующеи микрокоманды схемой 35 формирования адреса следующей микрокоманды. В общем случае адрес следующей микрокоманды представляет собой функцию от:

25 кода команды, поступающего с входа

12 блока на вход схемы 35; кода текущего адреса микрокоманды, поступающего с выхода регистра 32 адреса микрокоманды на вход схемы 35; кода управления переходом к следующему адресу, поступающему с соответствующих разрядов группы входов 37 бло ка на вход схемы 35, кода регистра 31 признаков, поступающего на вход схемы 35; наличия сигнала загрузки, пос-35 тупающего с входа 36 блока на вход схемы 35; наличия выходного переноса иэ операционного блока 3, поступающего с выхода триггера 30 на вход схемы 35. 40

Логика работы схемы 35 определения адреса следующей микрокоманды описана в таблице, представленной на фиг. 9. В таблице приняты следующие условные обозначения; и, — значе- 5

-45 ние -ro разряда кода команды, поступаюшего с входа 12, rn> — значение

i-го разряда текущего адреса микрокоманды, поступающего с выхода регистра 32; о ; — значение i -ro раэря- 50 да поля управления переходом, поступающего с соответствующих разрядов группы входов 37 блока; Х вЂ” значение выходного переноса иэ операционного блока 3, поступающего с выхода триг- 55 гера 30; с,2 — значения триггеров двухразрядного регистра 31 признаков, поступающие с выхода регист21 16 ра 31; x — безразличное состояние разряда.

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

По фронту синхроимпульса, поступающего с входа 25 блока на первый вход регистра 32 адреса микрокоманды, адрес следующей микрокоманды, сформированный схемой 35, заносится в регистр 32, а из него поступает на вход первого буферного регистра 33 с тремя состояними. С первого и второго выходов первого буферного регистра 33 выдается соответственно на 38 и 39 выходы блока адрес следующей микрокоманды (безрмладшего разряда адреса строки) и младший разряд адреса строки, Триггер 30 по спаду синхроимпульса, поступающему с первого входа 25 блока, защелкивает состояние выходного переноса из операционного блока 3, поступающего с выхода 29 блока

3. Этот перенос учитывается при формировании адреса следующей микро.команды (см. фиг. 9) либо может быть заполнен в одном из триггеров регист» ра 31 признаков по фронту синхроимпульса, поступающего с входа 25 блока. Состояние триггеров регистра 31, признаков может быть учтено при формировании адреса следующей микрокоманды (см. фиг. 9) либо через второй буферный регистр 34 с тремя состояними выдано на вход 26 блока

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

Управление занесением признаков в регистр 3 признаков осуществляется нулевым и первым разрядами поля FC микрокоманды, поступающими с входа

37 блока на вход регистра 31 признаков. Управление выдачей признаков на выход 26 блока осуществляется вторым и третьим разрядами поля FC микро» команды, поступающими с входов 37 блока на вход второго буферного регистра 34 с тремя состояними.

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

FC — значение i-го разряда поля

FC микрокоманды.

Второй дешифратор 6 (фиг. 4) работает следующим образом. При наличии единичного сигнала на входе 46

l7

111902 дешифратора (бит микрокоманды УК=1) на всех его выходах 48-50 имеются нулевые сигналы. Управляющие сигналы на выходах 48-50 дешифратора появляются при наличии нулевого сигнала на входе 46 дешифратора (бит микрокоманды УК=О). При этом наличие единичных сигналов на входах 47 дешифратора, поступающих из поля К микрокоманды, обуславливает появление уп- 1О равляющих сигналов на соответствующих выходах 48-50 дешифратора.

Коммутатор 9 (фиг. 5) работает следующим образом. При наличии поступающего из второго дешифратора 6 еди- 15 ничного сигнала на первом или втором информационных входах первой группы входов коммутатора, первый элемент

ИЛИ 51 разрешает передачу информации, поступающей с соответствующих входов 20

56 коммутатора на вторые входы элементов И-ИЛИ 53 первой группы элементов И-ИЛИ, на соответствующие вьгходы коммутатора.

При отсутствии единичного сигнала 25 на втором и третьем входах 50 коммутатора на соответствующие выходы 28 коммутатора передается информация, поступающая на четвертые входы эле.ментов И-ИЛИ 54 второй группы эле- щ ментов И-ИЛИ с соответствующих входов 55 второй группы входов коммутатора.

Блок 11 формирования адреса условного перехода (фиг. 6) работа- 35 ет следующим образом. На входы 65 блока поступают с налы с регистра 8 перехода. На вх 1 29 блока поступает сигнал выходного переноса из операционного блока 3. На входы 65 40 блока поступают сигналы с выхода первого дешифратора 5. В каждый . момент времени единичный сигнал присутствует не более чем на одном входе 65 блока. Единичный сигнал, поступающий с одного из входов 65 блока, опрашивает состояние соответствующего триггера регистра 8 перехода или выходной перенос операционного блока 3. Если соответствующий триггер регистра 8 или выходной перенос установлен (имеется!

8 условие перехода), то на выходе первого элемента ИЛИ 58 установится единичный потенциал, и по спаду синхросигнала, поступающего на вход

25 блока, установится (останется в единичном состоянии) первый триггер

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

ИЛИ 58 (отсутствует условие перехода или условие перехода не опрашивается) по спаду синхросигнала, поступающего на вход 25 блока, первый триггер 60 не установится (сбросится). По фронту синхросигнала состояние первого триггера 60 перепишется во второй триггер 61. На вход 39 блока с выхода блока 2 микропрограммного управления поступает младший бит адреса строки, вырабатываемый вторым элементом ИЛИ 59 и поступающий на выход

66 блока 11 формирования адреса перехода (установлен второй триггер 61).

Блок 10 формирования константы

К (фиг. 7) работает следующим образом. Константа К, поступающая на вход

29 операционного блока, может принимать следующие значения: все единицы; все нули; содержимое поля К микрокоманды.

При наличии на входе 46 блока единичного сигнала (бит микрокоманды УК-1) на вход 49 блока поступает нулевой сигнал, формируемый вторым дешифратором 6. В этом случае констан та, поступающая с выходов памяти 1 микропрограмм на входы 47 блока (содержимое поля К микрокоманды), через элементы И 67 и элементы ИЛИ 68 поступает на выходы 27 блока. При наличии на входе 46 блока нулевого сигнала (бит микрокоманды УК=О) на вход 49 блока поступает с второго дешифратора 6 единичный или нулевой сигнал (в зависимости от содержимого бита К/М микрокоманды) и элементы И 67 формируют на выходах

27 блока соответственно константу из всех единиц или из всех нулей.

Применение предлагаемого изобретения позволяет достичь существенной экономии памяти микропрограмм по срав« нению с прототипом.

1119021

11 !9021

1119U21

Ill902l

uz.7

1! И021

1119021

ФО2, 10

Составитель Ю. Ланцов

Редактор О. Колесникова Техред И.Асталош

Корректор В. Гирняк

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

Заказ 7455/37 Тираж 698 Подписное

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

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

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

 

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

Процессор // 1109757

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

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

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

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

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

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

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

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