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

Иллюстрации

Показать все

Реферат

 

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Союз Советских

Соцналнстнческнх

Реслублнк (11947868 в д ф,,.

\ г/

C.. -т (6)) Дополнительное к авт. свид-ву51)М Кл з (22) Заявлено 241080 (21) 3210059/18-24 с, с присоединением заявки ¹â€”

I г (23) Приоритет

G 06 F 15/00

Госуларственный комитет

СССР но лелам изобретений и открытий (53)УДК 681.3 (088. 8) Опубликовано 300782 . Бюллетень ¹ 28

Дата опубликования описания 3007.82

E,À. Бурова, С. В. Горбачев, В.Д., -И- .Á Игнатье в, A..A. Кочкин, В.М. Малышка, В.A. Мя ников, В.А..Торга+в и И. A. Харитонова т кт

Г

Ленинградский институт авиационно о приборрстроения (72) Авторы изобретения (71)Заявители н Ленинградский научно-исследоват „-1сий вычислительный центр АН СССР (54 ) МИ КРОПРОГРАММНЫИ ПРОЦЕССОР

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

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

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

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

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

947868

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

Процессор содержит операционный блок 1, оперативную память 2, стековую память 3, блок 4 микропрограммного управления, постоянную память

5, дешифратор 6 микрокоманд, первый коммутатор 7, триггер 8, приоритетный шифратор 9, второй коммутатор

10, первый регистр 11, второй регистр

12, дешифратор 13, третий коммутатор 14, четвертый коммутатор 15, счетчик 16, третий регистр 17, четвертый регистр 18.

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

1 . Кроме того, выход регистра результата блока 1 связан с информационным входом стековой памяти 3 (не показана), которая обеспечивает хранение данных, а также состояния регистров блока 1 при обработке прерывания. С другого выхода блока 1 признак результата микрооперации поступает на третий вход блока 4 микропрограммного управления и первый вход четвертого регистра 18 для запоминания в качестве условий для выполнения условных переходов в микропрограмме, На первый вход блоЦель изобретения — повышение быстродействия микропрограммного процессора эа счет уменьшения вре° Ю мени перехода в режим прерывания и возврата из него.

Поставленная цель достигается тем, что в микропрограммный процессор, содержащий операционный блок, .соединенный двусторонней связью с оперативной памятью, выходы которой и стековой памяти соединены с ггервым входом блока микропрограммного управления, выход которого соединен с входом постоянной памяти, выход которой соединен с первым входом дешифратора микрокоманд, первый выход которого соединен с входом оперативной памяти и первым входом стековой памяти, второй выход дешифратора микрокоманд соединен с вторым входом блока микропрограммного управления, третий выход дешифратора микрокоманд соединен с входом операционного блока, выход которого соединен с третьим входом блока микропрограммного управления, четвертый вход которого соединен с первым выходом первого коммутатора, первый вход которого соединен с первым выходом триггера, первый вход которого соединен с четвертым выходом дешифратора микрокоманд, приоритетный шифратор, второй коммутатор, два регистра, дешифратор, введены третий коммутатор, четвертый коммутатор, счетчик, третий и чет- 35 вертый регистры, причем первый выход дешифратора микрокоманд соединен с входом счетчика и с первыми входами первого регистра, дешифратора и второго коммутатора, выход которого . 4p соединен с вторым входом первого регистра, выход которого соединен с входом четвертого коммутатора, через который вход процессора соединен с первым входом второго регистра, выход которого соединен с первым входом приоритетного шифратора, второй вход которого соединен с пятым выходом дешифратора микрокоманд, второй выход которого соединен с первым входом третьего регистра, соединенного двусторонней связью с третьим коммутатором, выход которого соединен с вторым входом триггера, первый выход которого соединен с вторым входом дешифратора микрокоманд и пятым вхо-! дом блока микропрограммнorо управления; выходы второго коммутатора, стековой памяти и оперативной памяти соединены с первым входом третьего коммутатора и вторым входом опера- 60 ционного блока, выход которого соединен с первым входом четвертого регистра, выход которого соединен с вторым входом третьего коммутатора, второй выход первого коммутатора соединен вторыми входами третьего и четвертого регистров, второй выход триггера соединен с вторыми входами первого коммутатора и второго регистра и с третьим входом третьего регистра, выход которого соединен с входом постоянной памяти,выход счетчика соединен с вторыми входами стековой памяти и дешифратора, выход которого соединен с третьим входом второго регистра, выходы приоритетного. шифратора соединены соответственно с вторым входом второго коммутатора и с третьим входом триггера .

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

65,ка 1 с третьего выхода дешифратора

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

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

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

На первый вход блока 4 с выходов стековой и оперативной памяти 3 и 2 подается начальный адрес микропрограммы. Вход постоянной памяти 5, предназначенной для хранения микропрограмм, является адресным и соединен с выходами блока 4 и третьего регистра 17. Считываемая микрокоманда с выхода памяти 5 поступает на первый вход дешифратора б микрокоманд, который предназначен для декодирования отдельных полей микрокоманды и выработки управляющих микроолераций, поступающих с выходов дешифратора 6 на остальные элементы процессора. С первого выхода дешифратора б управляющие сигналы поступают на первые входы стековой памяти 3, первого регистра 11, второго коммутатора 10, дешифратора 13, на входы оперативной памяти 2 и счетчика 16, обеспечивая управле ние этими элементами процессора. С пятого выхода дешифратора б микрокоманд управляющий сигнал поступает на второй вход приоритетного шифратора 9, разрешая выдачу управляющего сигнала на его второй выход. Первый коммутатор 7 обеспечивает выдачу синхронизирующих тактовых импульсов либо на четвертый вход блока 4 со своего первого .выхода в основном режиме, либо на вторые входы третьего и четвертого регистров со своего второго выхода в режиме прерывания. Тактовые синхроимпульсы поступают на вход первого коммутатора, также как и на синхронизирующие входы других элементов процессора с выхода генератора синхросигналов (не показан) . Состояние триггера 8 определяет режим работы процессора.

Управлякщий сигнал поступает либо с первого выхода триггера 8 на, первый вход первого коммутатора 7, на второй вход дешифратора 6 микрокоманд и пятый вход блока 4 микропрограммного управления в основном режиме работы, либо с второго выхода. триггера 8 на вторые входы первого коммутатора 7 и второго регистра 12 и третий вход -третьего регистра в режиме прерывания. Приоритетный шифратор 9 предназначен для выделения самого приоритетного запроса на прерывание и формирование его кода, который с первого выхода поступает на второй вход второго коммутатора

10. управляющий сигнал с второго выхода приоритетного шифратора 9 подается на третий вход триггера 8 обеспечивающего фиксацию режима прерывани я. Второй коммут атор 10 обеспечивает выдачу кода выделенного запроса на прерывание на первый вход третьего коммутатора 14. Первый регистр 11 предназначен для хранения статуса прерывания, разрешенного к обработке. Код статуса прерывания поступает на второй вход первого регистра 11 с выхода оперативной памяти 2. Второй регистр 12 обеспечивает фиксацию запросов на прерывание, поступающих на первый вход с выхода четвертого коммутатора 15 и на третий вход с выхода дешифратора

13. Выход второго регистра 12 соединен с первым входом приоритетного шифратора 9. Дешифратор 13 обеспечивает формирование запроса на прерывание при частично.заполненном стеке.

На второй вход дешифратора 13 и второй вход .стековой памяти 3 подается адрес с выхода счетчика 16, предназначенного для формирования

40 указателя свободной ячейки стековой памяти 3. Четвертый коммутатор 15 обеспечивает выделение тех запросов на прерывание, поступающих с входа процессора, статус которых выше статуса, поступающего с выхода первого регистра ll на управляющий вход четвертого коммутатора 15. Третий коммутатор 14 обеспечивает выбор кода адреса с учетом или без учета условий, поступающих с выхода четвертого регистра 16, обеспечивающего запоминание признаков результатов микроопераций, выполняемых операционным блоком 1. Третий коммутатор

14 связан двусторонней связью с третьим регистром 17. Управляющий сигнал конца обработки прерывания с выхода третьего коммутатора 14 поступает на второй вход триггера 8.Третий регистр 17 обеспечивает формирование адреса следующей микрокоманды в режиме прерывания. Следует отметить, что структура предлагаемого процессора ориентирована на использование микропроцессорных БИС, например элементы 9-12 и 15, входят в

947868

Формула изобретения

65 состав серийной БИС обработки прерываний, а элементы 14, 17 и 18 входят в состав БИС блока микропрограммного управления.

Работа процессора осуществляется следующим образом. 5

При выявлении запроса на прерывание управляющий сигнал с второго приоритетного шифратора 9, поступая на третий вход триггера 6, переводит последний в режим фиксации прерывания.10

На его первом выходе вырабатывается запрещающий сигнал, по которому первый коммутатор перестает выдавать синхроимпульсы на четвертый вход блока 4 микропрограммного управления, )5 а выход внутреннего регистра микропрограммного адреса блока 4 закрывается (переводится в третье состояние) . Одновременно с этим появляется разрешающий сигнал на втором выходе триггера 8, по которому первый коммутатор 7 начинает передавать синхроимпульсы на вторые входы третьего и четвертого регистров 17 и 18, обеспечивая возможность для их функционирования при микропрограммной обработке прерывания, а выход третьего регистра 17 открывается и адрес с его выхода поступает на адресный вход памяти 5, обеспечивая считывание микрокоманд в режиме прерывания . Одновременно с этим производится фиксация кода запроса на прерывание во втором регистре 12 до окончания режима прерывания. Таким образом, микропрограммный адрес и фла- 35 ги (признаки результатов микрооперации, используемые для условных переходов) прерванной микропрограммы сохраняются неизменными до окончания обработки прерывания в блоке-4 40 микропрограммного управле ни я, в связи с чем отпадает необходимость их запоминания в начале обработки прерывания и восстановления после ее окончания. Код выделенного прио— ритетного запроса на прерывание с первого выхода приоритетного шифратора 9 через второй коммутатор 10 подается на первый вход третьего коммутатора 14, который использует 50

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

Хотя при заполнении состояния регистров операционного блока 1 в зарезервированной области стековой памяти 3 запрос на прерывание на выходе дешифратора 13 и вырабатывается, но он игнорируется заблокированным вторым регистром 12 эа счет управляющего сигнала, поступающего в ре— жиме прерывания на второй вход регистра 12 с второго выхода триггера 8 . По окончании обработки прерывания управляющий сигнал с выхода третьего коммутатора 14 поступает на второй вход триггера 8 и сбрасывает режим прерывания, в результате чего снова в работу включается блок 4 микропрограммного управления, продолжая выполнение прерванной микропрограммы с нужного адреса. Таким образом, применение предлагаемого процессора позволяет уменьшить временные затраты на сохранение микропрограммного адреса и флагов прерванной микропрограммы при входе в прерывание и на восстановление состояния микропрограммы при возврате иэ режима прерывания при одновременном уменьшении потребного объема микропрограммной памяти за счет исключения иэ алгоритмов обработки прерываний, блоков, связанных с упрятыванием и восстановлением элементов памяти блока микропрограммного управления.

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

947868

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

Источники информации, принятые во внимание при экспертизе

1. Авторское свидетельство СССР

Р 696466, кл. G 06 F. 11/04, G 06 F 9/16, 1977.

2 . Авторское свидетельство СССР

9 520592, кл. G 06 F 3/04, G 06 F 9/46, 1974 (прототип).

ВНИИПИ Заказ 5653/73 тираж 731 . Подписное

Филиал ППП "Патент", r.Óæãîðîä,óë.Ïðîåêòíàÿ,4