Микропроцессоры: суть и назначение

МИКРОПРОЦЕССОРЫ

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

Общая структура МП может быть представлена:

В состав МП входит:

– операционное устройство в виде АЛУ и регистра общего назначения;

– устройство управления (УУ), включающие регистры общего назначения;

– регистр команд (РГ);

– счетчик команд (СК);

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

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

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

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

Типичным представителем 8-разрядного МП есть Intel 8080, КР 580.

МП имеет 8-разрядную шину данных и 8-разрядное операционное устройство, 16-разрядную шину адреса. МП, выполненный на основе n-МОП технологий. Питание имеют уровни 12В, ±5В.

Общая структура МП имеет следующий вид:

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

2 буферных регистра БР>1 >и БР>2>.

Помимо этого в составе регистра общего назначения имеются 8-разрядные регистры B-L, доступ к которым происходит через мультиплексор МПП. Регистры W и Z программно не доступны. Регистры B-L могут использоваться парами как 16-разрядные.

ПС – программный счетчик, хранящий адрес текущей выполняемой команды, а после ее выборки из памяти увеличивается в соответствии с длиной выполняемой команды в байтах.

УС – указатель стека. Хранит адрес верхушки стека, который размещается в оперативной памяти.

СП – схема приращений. Используется для изменения содержимого программного счетчика и содержимого стека.

РА – регистр адреса.

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

При сигнале управления = 1 будут открыты логические элементы 1 и 4. В результате значение с внутренней шины данных передается на внешнюю. Если = 0, то значения с внешней шины данных будут поступать на внутреннюю.

Устройство управления и синхронизации собрано по схеме с «жесткой» логикой и формирует сигнал управления подаваемый на все элементы МП. Распределение их во времени обеспечивает сигнал синхронизации.

Помимо этого устройство формирует сигнал при записи информации в память или на внешнее устройство. При передачи информации в МП по шинам данных формируется сигнал DB.

HOLD – сигнал захвата. Формируется после окончания выполнения текущей команды до начала выполнения следующей команды.

HDLA – сигнал подтверждения сигнала захвата.

INT – запрос на прерывание. Воспринимается МП после выполнения текущей команды.

После этого, содержащаяся программа счетчика и регистра команд записывается в стек. Записанный адрес первой команды обрабатывает прерывание.

INT E – сигнал разрешения прерывания. Может быть установлен программой.

WAIT – сигнал режима ожидания МП, в котором находится МП при подготовке внешних устройств к процессу обмена информации.

READY – сигнал готовности от внешних устройств.

F1 и F2 – сигнал, поступающий от тактового генератора.

Команды МП могут быть 1-, 2-, 3-х байтными.

Для извлечения операндов (обработанных данных) используют следующие методы адресации:

    непосредственная адресация. При этом обработка данных размещается непосредственно в теле команды – во 2-м или 2-м и 3-м байтах.

    прямая адресация. Адрес операнда размещается во 2-м и 3-м байтах. Во 2-м размещается младший байт адреса.

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

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

Все команды делятся на следующие группы:

    команды пересылки;

    арифметические, включающие алгоритмы сложения, вычитания, инкремента, декремента. Умножение и деление выполняемой команды отрицательного числа, представляются дополнительным кодом.

    логические: «и», «или», сдвиговые.

    команды управления и команды ввода\вывода с внешних устройств.

    команды перехода и вызова подпрограмм условного и безусловного перехода.

Примером 16-ти разрядного процессора является Intel-8086.

Он имеет 16-разрядную шину данных, которая мультиплексируется 16-разрядной шиной адреса. Мультиплексирование – временное разделение использования шины.

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

Схема микропроцессора.

Микропроцессор содержит 16-ти разрядные сегментные регистры.

CS – для кодового сегмента

DS – регистр дополнительного сегмента

SS – сегментный регистр сегмента стека

IP – указатель на инструкцию

16-ти разрядные регистры общего назначения (AX,BX,CX,DX) , регистры указатели и индексные регистры.

SP – Stek pointer

BP – Base pointer

DI – destination index

SI – source index

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

По мере освобождения очереди команд она заполняется новыми командами в соответствии с выполнением хода программы. Это дает время при выборки команд из памяти, используя команды и регистров очередных команд.

Микропроцессор имеет 20-ти разрядную шину адреса, что дает возможность адресовать 1Мб ячейке памяти.

Для доступа к этим ячейкам используется сегментация памяти с выделением сегментов по 64 Кб.(соответственно 16 разрядов. Содержимое сегмента регистра дополняется справа 16-тиричным нулем и к полученному результату добавляется 16-тиричное смещение.

Сегментные регистры

Для сегмента кода смещение хранится в регистре IP. Сумма этих значений определяет адрес байта в составе сегмента.

Регистры общего назначения могут быть разбиты на 8-ми разрядные регистры на старшую и младшую часть. AH,AL;BH,BL;CH,CL;DH,DL. – эти регистры используются в составе специальных команд.

Для доступа к сегменту стека используются специальные регистры SP и BP. Индексные регистры D1 и S1 используются при обработке операндов, занимающих последовательные байты памяти (при обработке строк символов). Значения этих регистров в определенных инструкциях добавляется к содержимому сегментного регистра и смещения.

Флаговый регистр дополнен битами по отношению к 8-миразрядной модели имеются флаги:

CF – флаг переноса из старшего разряда

OF – флаг переполнения

AF – флаг дополн. переноса (для десятичного переноса).

SF – флаг знака.

ZF – флаг нуля.

PF – флаг четности.

PF=1, если количество единиц бит четное, флаги IF,DF,TF – флаги управления.

IF – флаг разрешения прерывания (может устанавливаться программно)

DF – флаг направления при обработке строковых операндов.

TF – флаг трассировки (микропроцессор выполняет 1-у команду и останавливается).

Микропроцессор использует микропрограммное устройство управления. Тактовая частота составляет 5-8 МГц.

Intel 80286 имеет 16-разрядную шину данных, 24 – разрядную шину адреса. Содержит те же наборы регистров, 16 Мб ОЗУ. Повышена тактовая частота 12-20 MHz. Собраны модели IBM PC\AT, работающие под управлением операционной системы MSDOS, и в защищённом режиме Windows 3.11.

32-разрядные процессоры Intel 80386 - как и предыдущие модели, дополнялись сопроцессором для обработки чисел с плавающей точкой: Intel 80287, Intel 80387. К особенностям архитектуры надо отнести 32-разрядный адрес, обеспечивающий адресацию до 4Гб оперативной памяти, использующий следующие режимы адресации:

    Сегментная страничная виртуальная память со стр. 4Гб, сегментами 64Тб.

    Бесстраничная сегментная виртуальная память с сегментами по 4Гб и общим объёмом 64Тб.

    Страничная сегментная организация памяти со страницами 4Кб и сегментами до 4Гб.

    Бесстраничная сегментная организация памяти с сегментами до 4Гб.

Линейный адрес содержит 3 поля. Индексы по 10 бит и смещение 11 бит. 1-й индекс определяет строку в справочнике таблиц, задающую адрес таблицы адресов хранящей последнюю страницу памяти.

Элемент этой таблицы определяется 2-м индексом задаёт адрес начала страницы. Смещение определяет байт или последний байт в этой странице.

Intel 80486

Особенность – включение сопроцессора в общую структуру.

Микроконтроллер обладает суперскалярной архитектурой, означающей то, что в каждый момент времени может выполнятся более 1-й команды за счёт наличия в составе 2-х АЛУ и устройства обработки чисел в формате с плавающей точкой (FPU), которые могут работать параллельно.

В состав входят 2 устройства внутренней кэш памяти для размещения команд и данных.

Блок прогнозирования ветвлений, позволяющий выполнить предварительную загрузку части программы, выполнение которой наиболее вероятно, что увеличивает производительность в целом на 25% .

В целочисленных АЛУ и FPU применяются конвейеры в АЛУ – 5 ступенчатые, в FPU – 8 ступенчатые, что повышает производительность, т.к. на конвейере различные компоненты выполняют свою обработку отдельных частей потоков команд.

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

Последние модели микропроцессоров отличаются введением кэш-памяти 2-го и 3-го уровня для моделей, которые размещались отдельно на микропроцессорной плате, однако, есть и другие архитектуры: AMD, которые не используют кэш-память 2,3 – уровней, но показывают хорошие результаты. Также существуют 64-разрядные процессоры.