ПОНЯТИЕ ОБ УРОВНЯХ ПРОГРАММНОГО УПРАВЛЕНИЯ И ПРЕДСТАВЛЕНИИ ДАННЫХ В МИКРОПРОЦЕССОРЕ
Различают два уровня программного управления: командный и микропрограммный. В зависимости от реализации того или другого уровня программного управления МП делят на два класса. Кратко рассмотрим основные особенности каждого из них.
Микропроцессоры с управлением на уровне команд требуют, чтобы программа была составлена с использованием строго определенного набора (списка) команд. Эта особенность МП обусловлена принципом «жесткой логики» для реализации УУ. В соответствии с этим принципом логические связи в УУ закреплены таким образом, что каждому поступившему на вход коду команды соответствует своя система управляющих сигналов. Изменение и наращивание списка команд не допускается. Поэтому при необходимости выполнить операции, для которых нет соответствующих команд в списке, требуется подпрограммы. Каждая подпрограмма составляется из группы разрешенных для данного МП команд.
Решение задач с использованием подпрограмм значительно снижает скорость обработки и, следовательно, эффективность применения МП. Поэтому стремятся к тому, чтобы микропроцессоры с управлением на командном уровне имели гибкую и развитую систему команд. Примером МП рассмотренного класса может служить К580ИК80.
Рис. 5.6. Структура микропроцессора с микропрограммным управлением
Микропроцессоры с микропрограммным управлением существенно отличаются от рассмотренных прежде всего по принципу по строения УУ. В составе УУ такого МП находится ЗУ с записанными в нем микрокомандами (ЗУМК). По микрокомандам (МК), как правило, выполняются простейшие операции: сложение вычитание, сдвиг и тому подобные. Каждой МК соответствуют одно или несколько элементарных машинных действ гй, выполняемых за один такт и называемых микрооперациями.
В ЗУМК микрокоманды расположены в определенной последовательности и составляют микропрограмму; ЗУМК содержит несколько микропрограмм. Функции ЗУМК обычно выполняет ПЗУ.
Структура МП с микропрограммным управлением (рис. 5.6) включает АЛУ с регистром-накопителем (аккумулятооом) РИ, РОИ и УУ, которое состоит из ЗУМК, блока формирования адреса МК (БАМК) и регистра микрокоманд (РМК), предназна-ценного для кратковременного запоминания той МК, которая подлежит исполнению.
Код МК имеет одноадресную структуру [КОп. Адрес]. В нем содержится адрес только того числа, которое будет выбрано из. ЗУ. Другое число, участвующее в операции, предварительно засылается в РН. В качестве сверхоперативного внутреннего ЗУ чисел используются РОН Арифметико-логическое устройство может через свои мультиплексоры получить числа и из внешнего ЗУ. Инструкция об адресах выбираемых чисел содержится в коде МК. После выполнения в АЛУ операции, заданной КОп, результат помещается в РН. Затем выбирается из ЗУМК следующая по порядку МК, исполняется и т. д.
Существует принудительный способ формирования адреса следующей МК, при котором этот адрес указывается в предыдущей МК- код МК включает два адреса и имеет структуру (КОп. Адрес числа. Адрес МК]. Адрес следующей МК передается в БАМК по цепиГ показанной на рис. 5.6 пунктиром.
Существует принципиальная возможность организации процесса ранения задач только на уровне микропрограммы. Однако из-за громоздкости программ и трудностей по их составлению и контролю вводят для таких МП второй уровень программного управления — командный.
Разрабатывается система команд, каждой из которых соответствует своя микропрограмма. Можно использовать систему команд какой-нибудь большой ЭВМ с хорошо развитым математическим обеспечением и приспособить ее для данного МП. Для этого необходимо составить микропрограмму для каждой команды. Такой способ использования МП называется эмулированием другой ЭВМ.
Таблица 5.2
Номер микрооперации |
||||||||
1 |
2 |
3 |
4 |
1 |
2 |
з |
« |
|
Место выполнения микрооперации |
БАМК |
ЗУМК |
ЗУ чисел |
АЛУ |
БАМК |
ЗУМК |
ЗУ-чисел |
АЛУ |
Номер цикла |
n |
n+1 |
Микропрограммы различных операций хранятся в ПЗУ. Адрес ячейки ПЗУ, с которой начинается микропрограмма данной операции, служит кодом операции в составе команды. Система команд, т. е. программа, заносится во внешнее ЗУ. Процесс вычислений начинается с выборки первой команды из ЗУ команд. Она записывается в регистр команд УУ и присутствует в УУ все время, пока идет процесс выполнения одной операции программы.
Взаимодействие узлов МП вычислительного средства на рис. 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) разрядов чисел и допускающий объединение с другими ЦПЭ для формирования процессора с требуемой разрядностью.
Центральный процессорный элемент в своей структуре содержит А.ЛУ, регистры, мультиплексоры, дешифраторы микрокоманд.
Наряду с ЦПЭ для формирования МП рассматриваемого класса используются БИС блока микропрограммного управления (на мое часто «управляющей памятью», различные сопрягающие БИС. Соединяя ЦПЭ и другие микросхемы комплекта, можно получить микро-ЭВМ с нужной разрядностью обрабатываемых чисел.