Принципы управления микропроцессорами.

Классификация современных микропроцессоров и их характеристики.

По числу БИС в микропроцессорном комплекте все МП принято делить на три больших класса: однокристальные, многокристальные и секционированные. Вся структура однокристальных МП реализована на одном кристалле микросхемы и конструктивно выполнена в одном корпусе. Такие МП имеют фиксированную разрядность и, как правило, фиксированный набор команд. Аппаратура, построенная на однокристальных МП, имеет более высокую надежность по сравнению с аппаратурой, использующей иную элементную базу в следствии малого числа внешних соединений. Многокристальные МП представляют собой набор из нескольких микросхем, причем функционально каждый тип устройства структуры МП или их набор реализованы в отдельном корпусе БИС. Многокристальные МП в понимании разбиения их структуры на ряд микросхем имеют также фиксированную разрядность и, как правило, фиксированную систему команд. Секционированные МП конструктивно также реализованы в виде набора микросхем. Но отличие от многокристальных МП в данном случае состоит в том, что у первых разбиение происходит на структурном уровне, а у секционированных - по группам разрядов. Секционированные МП имеют наращиваемую разрядность и, как правило, изменяемую систему команд.

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

По виду обрабатываемых входных сигналов различают МП цифровые и аналоговые. Цифровые МП оперируют с информацией, представленной в дискретной двоичной форме в виде комбинации двух цифр - нуля и единицы. Аналоговые МП оперируют с информацией в аналоговой форме, т.е. в форме непрерывных функций времени. Однако по сути аналоговые МП все равно остаются цифровыми устройствами, т.к. вся обработка осуществляется в цифровой форме цифровыми методами. Аналоговые же сигналы вводятся в МП через аналого-цифровые преобразователи и выводятся через цифро-аналоговые преобразователи, включенные в структуру самого МП.

По числу команд в системе команд МП делятся на МП с CISC-архитектурой и МП с RISC-архитектурой. CISC-процессоры – это процессоры с полным набором команд. Как правило, CISC-процессорами являются универсальные МП. Объясняется это тем, что универсальные МП используются для решения широкого круга задач. А значит необходимо, чтобы как можно большее количество операций поддерживались на аппаратном уровне соответствующими командами системами команд. RISC-процессоры – это процессоры с сокращенным набором команд. Большинство программ-трансляторов в процессе трансляции исходной программы в объектную (исполняемую) используют весьма ограниченный набор команд. Кроме того, для многих специализированных МП нет необходимости разрабатывать полную систему команд. Достаточно иметь только те команды, которые нужны для решения данной задачи. Характерно это, например, для МП серверов Internet-провайдеров, в задачу которых не входит обработка графики или выполнение каких-либо сложных математических расчетов. Между тем, для них важна скорость обработки запросов от пользователей сети и скорость пересылки больших потоков данных, т.е. выполнение достаточно простых команд пересылки с максимальным быстродействием. Поэтому было предложено создать класс МП, имеющих ограниченный набор простых команд, но выполняемых в течение одного периода сигнала тактового генератора. Для CISC-процессоров, таким образом, характерно наличие большого количества команд, Причем, для выполнения различных команд требуется различное время. Для RISC-процессоров характерно наличие небольшого количества команд, но для их выполнения требуется одинаковое время, сведенное до минимума (одного такта).

По способу организации памяти МП-системы различают МП с Фон-Неймановской архитектурой и МП с Гарвардской архитектурой. В МП первого типа область памяти не разделяется на сегменты и является общей и для программы и для данных. Это существенно сокращает возможности адресации к данным. В МП второго типа для хранения программы используется область памяти, называемая памятью программ, а для хранения данных – область памяти, называемая памятью данных. Такая организация позволяет использовать эффективные способы адресации данных, такие как относительная, автоинкрементная, автодикреиментная и пр. (способы адресации данных будут рассмотрены дальше).

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

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

По технологии изготовления различают МП, изготовленные по МОП-технологии и МП, изготовленные по биполярной технологии. МОП МП построены на основе МОП транзисторов с р-каналом (p-МОП БИС), на основе МОП транзисторов с n-каналом (n-МОП БИС) и на основе комплементарных МОП транзисторов (КМОП БИС). Биполярные МП построены на основе элементов транзисторно-транзисторной логики с диодами Шоттки (ТТЛШ БИС), на основе элементов интегральной инжекционной логики (И2Л БИС) и на основе элементов эмиттерно-связанной логики (ЭСЛ БИС). Наибольшим быстродействием обладает ЭСЛ-технодогия, наименьшим - p-МОП-технология. Минимальным энергопотреблением при среднем быстродействии обладает КМОП-технология. Наибольшую степень интеграции при среднем быстродействии обеспечивает n-МОП-технология.

Следует отметить, что в первые годы развития МП в литературе различали их поколения. Однако в настоящее время такая классификация не имеет смысла, поскольку понятие "поколения МП" носит более условный характер, чем для ЭМВ, где каждое следующее поколение имело более высокие технико-экономические характеристики по сравнению с предыдущим и поэтому вытесняло его. МП всех поколений сосуществуют длительное время и взаимно дополняют, а не вытесняют друг друга. Есть примеры, когда в одном устройстве работают МП, принадлежащие к разным поколениям.

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

Команды, определяющие выполнение микроопераций, называются микрокомандами. Таким образом, для каждой команды можно составить последовательность микрокоманд, определяющих ее реализацию. Для реализации команды требуется в среднем 5-10 микрокоманд.

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

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

В МП с управлением на уровне микропрограмм преобразование команд в соответствующую последовательность микрокоманд отсутствует и программа работы МП задается в микропрограммном виде, т.е. непосредственно в микрокомандах. Поскольку, как уже говорилось, для реализации одной команды в среднем требуется выполнение 5-10 микрокоманд, то объем микропрограмм значительно превышает объем соответствующих программ. Поэтому составление и отладка микропрограмм требуют больших затрат времени. Из-за громоздкости микропрограмм и трудностей по их составлению и контролю для таких МП обычно вводят второй уровень программного управления - командный. Для этого разрабатывается система команд. Можно, например, использовать систему команд какой-нибудь большой ЭВМ с хорошо развитым программным обеспечением и приспособить ее для данного МП. С этой целью для каждой команды составляется микропрограмма, т.е. каждая команда представляется последовательностью микрокоманд. При работе МП преобразование команды в соответствующую последовательность микрокоманд происходит с помощью микропрограммного устройства управления, которое реализуется в виде отдельной специализированной БИС.

Микропрограммное устройство управления содержит ПЗУ микрокоманд, в котором хранятся коды всех микрокоманд и ПЗУ управления адресом, в котором хранятся коды, предназначенные для формирования адресов микрокоманд. В процессе работы с помощью ПЗУ управления адресом происходит формирование последовательности адресов, по которым из ПЗУ микрокоманд извлекается последовательность микрокоманд, соответствующая коду поступившей команды. Для построения микропрограммного устройства управления требуется ПЗУ большого объема. Поэтому обычно используются ПЗУ, выпускаемые в виде отдельных БИС, а остальные узлы, входящие в состав устройства управления изготавливаются в виде специализированной БИС.

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

МП с управлением на уровне команд имеют в списке обычно 45 - 150 команд. МП с управлением на уровне микропрограмм имеют обычно 256 - 512 микрокоманд. Рассмотрим основные принципы организации работы с точки зрения разбиения команд МП на последовательности микрокоманд.

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

· выборка команды (прием кода операции в регистр команд);

· считывание из памяти;

· запись в память;

· ввод из порта ввода;

· вывод в порт вывода;

· прерывание;

· останов;

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

1. вывод на шину адреса кода адреса вызываемого порта или ячейки памяти;

2. анализ управляющих сигналов, выставление на шину данных пересылаемой информации;

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

4. расшифровка команды и выполнение внутренних операций МП.