Понятие об уровнях программного управления и представлении данных в микропроцессоре

Материал из РадиоВики - энциклопедии радио и электроники
Перейти к: навигация, поиск
Выкупить рекламный блок

Различают два уровня программного управления: командный и микропрограммный. В зависимости от реализации того или дру­гого уровня программного управления МП делят на два класса. Кратко рассмотрим основные особенности каждого из них.

Микропроцессоры с управлением на уровне команд требуют, чтобы программа была составлена с использованием строго опре­деленного набора (списка) команд. Эта особенность МП обусловле­на принципом «жесткой логики» для реализации УУ. В соответствии с этим принципом логические связи в УУ закреплены таким обра­зом, что каждому поступившему на вход коду команды соответст­вует своя система управляющих сигналов. Изменение и наращива­ние списка команд не допускается. Поэтому при необходимости вы­полнить операции, для которых нет соответствующих команд в спис­ке, требуется подпрограммы. Каждая подпрограмма составляется из группы разрешенных для данного МП команд.

Решение задач с использованием подпрограмм значительно сни­жает скорость обработки и, следовательно, эффективность примене­ния МП. Поэтому стремятся к тому, чтобы микропроцессоры с управлением на командном уровне имели гибкую и развитую си­стему команд. Примером МП рассмотренного класса может служить К580ИК80.

Рис. 5.6. Структура микропро­цессора с микропрограммным управлением

Микропроцессоры с микропрограммным управлением существен­но отличаются от рассмотренных прежде всего по принципу по строения УУ. В составе УУ такого МП находится ЗУ с за­писанными в нем микрокоманда­ми (ЗУМК). По микрокомандам (МК), как правило, выполняют­ся простейшие операции: сложе­ние вычитание, сдвиг и тому по­добные. Каждой МК соответ­ствуют одно или несколько эле­ментарных машинных действ гй, выполняемых за один такт и на­зываемых микрооперациями.

В ЗУМК микрокоманды рас­положены в определенной после­довательности и составляют ми­кропрограмму; ЗУМК содержит несколько микропрограмм. Функ­ции ЗУМК обычно выполняет ПЗУ. Структура МП с микропро­граммным управлением (рис. 5.6) включает АЛУ с регистром-нако­пителем (аккумулятооом) РИ, РОИ и УУ, которое состоит из ЗУМК, блока формирования ад­реса МК (БАМК) и регистра микрокоманд (РМК), предназна-ценного для кратковременного запоминания той МК, которая подлежит исполнению.

Код МК имеет одноадресную структуру [КОп. Адрес]. В нем содержится адрес только того чис­ла, которое будет выбрано из. ЗУ. Другое число, участвующее в операции, предварительно засылается в РН. В качестве сверхопе­ративного внутреннего ЗУ чисел используются РОН Арифметико-логическое устройство может через свои мультиплексоры получить числа и из внешнего ЗУ. Инструкция об адресах выбираемых чисел содержится в коде МК. После выполнения в АЛУ операции, задан­ной КОп, результат помещается в РН. Затем выбирается из ЗУМК следующая по порядку МК, исполняется и т. д.

Существует принудительный способ формирования адреса сле­дующей МК, при котором этот адрес указывается в предыдущей МК- код МК включает два адреса и имеет структуру (КОп. Адрес числа. Адрес МК]. Адрес следующей МК передается в БАМК по цепиГ показанной на рис. 5.6 пунктиром.

Существует принципиальная возможность организации процесса ранения задач только на уровне микропрограммы. Однако из-за громоздкости программ и трудностей по их составлению и контро­лю вводят для таких МП второй уровень программного управле­ния — командный.

Разрабатывается система команд, каждой из которых соответ­ствует своя микропрограмма. Можно использовать систему команд какой-нибудь большой ЭВМ с хорошо развитым математическим обеспечением и приспособить ее для данного МП. Для этого необ­ходимо составить микропрограмму для каждой команды. Такой спо­соб использования МП называется эмулированием другой ЭВМ.

Таблица 5.2

Микропрограммы различных операций хранятся в ПЗУ. Адрес ячейки ПЗУ, с которой начинается микропрограмма данной опера­ции, служит кодом операции в составе команды. Система команд, т. е. программа, заносится во внешнее ЗУ. Процесс вычислений начинается с выборки первой команды из ЗУ команд. Она записы­вается в регистр команд УУ и присутствует в УУ все время, пока идет процесс выполнения одной операции программы.

Взаимодействие узлов МП вычислительного средства на рис. 5.6 можно представить через последовательность микроопераций:

1-я микрооперация: формирование адреса в БАМК->ЗУМК [адрес МК формируется в БАМК и поступает в ЗУМК];

2-я микрооперация: выборка из ЗУМК кода МК->РМК [в ЗУМК из ЯП с номером, указанным адресом в коде МК, выбирается эта МК и пересылается в РМК];

3-я микрооперация: выборка из ЗУ чисел [в ЗУ из ячейки, номер которой указан в адресной части команды, выбирается чис­ло D];

4-я микрооперация: формирование результата [в АЛУ выпол­няется микрооперация, заданная КОп, и формируется результат, который заносится в РН: (РН) *D->РН].

Последовательность микроопераций, при выполнении которых выбирается из ЗУ и исполняется одна микрокоманда, образует ми­кропрограмму цикла работы МП вычислительного средства (табл. 5.2).

Стремление повысить быстродействие МП вычислительных средств привело к совмещению во времени независимых микроопераций. Например, пока выполняется третья и четвертая микроопе­рации (ЗМО и 4МО), проводится подготовка следующего цикла, т. е. выполняются первая и вторая микрооперации (рис. 5.7). Спо­соб выполнения микропрограмм, при котором осуществляется ча­стичное наложение нового цикла на предыдущий, называется кон­вейерным. Длительность цикла указывается в качестве одной из ха­рактеристик МП. Например, для МП К589 серии оно составляет 150 нc.

Рис. 5.7. Конвейерный способ выполнения микропро­грамм

Естественный порядок выполнения МК может быть нарушен при использовании признака полученного результата. Таким обра­зом, МП с микропрограммным управлением допускает изменение и наращивание списка команд, что обеспечивает гибкость в исполь­зовании МП для решения разнообразных задач. Микропрограммный уровень управления характерен для многих выпускаемых промыш­ленностью МП.

Микропроцессор работает с числами конечной и вполне опре­деленной длины (разрядности), выражаемой в битах или байтах (один байт равен 8 битам).

По способу формирования разрядности обрабатываемых чисел МП подразделяют на МП с фиксированной и МП с наращиваемой разрядностью чисел. Микропроцессор с фиксированной разрядно­стью, например восьмиразрядный К580ИК80, может непосредствен­но обрабатывать числа в 1 байт. Увеличить разрядность можно толь­ко программным путем. Программа составляется таким образом, чтобы была обеспечена обработка числа по частям. Скорость обра­ботки при этом существенно снижается. Такие МП имеют однокри­стальное исполнение.

Микропроцессоры с наращиваемой разрядностью обрабатывае­мых чисел составляются из нескольких функциональных узлов, каж­дый из которых выполняется в виде БИС. Основным функциональ­ным узлом такого МП является центральный процессорный элемент (ЦПЭ) предназначенный для обработки нескольких (2, 4, 8, 16) разрядов чисел и допускающий объединение с другими ЦПЭ для формирования процессора с требуемой разрядностью.

Центральный процессорный элемент в своей структуре содер­жит А.ЛУ, регистры, мультиплексоры, дешифраторы микрокоманд.

Наряду с ЦПЭ для формирования МП рассматриваемого класса используются БИС блока микропрограммного управления (на мое часто «управляющей памятью», различные сопрягающие БИС. Соединяя ЦПЭ и другие микросхемы комплекта, можно получить микро-ЭВМ с нужной разрядностью обрабатываемых чисел.