МИКРОПРОЦЕССОРЫ
МП называется программное устройство обработки данных, выполняемое средствами микроэлектронных технологий в корпусе одной или нескольких больших интегральных схем.
Общая структура МП может быть представлена:
В состав МП входит:
– операционное устройство в виде АЛУ и регистра общего назначения;
– устройство управления (УУ), включающие регистры общего назначения;
– регистр команд (РГ);
– счетчик команд (СК);
СК хранит адрес команды, которую подлежит выполнению. По этому адресу из оперативной памяти извлекается соответствующая команда, занимающая от 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 – запрос на прерывание. Воспринимается МП после выполнения текущей команды.
После этого, содержащаяся программа счетчика и регистра команд записывается в стек. Записанный адрес первой команды обрабатывает прерывание.
INTE – сигнал разрешения прерывания. Может быть установлен программой.
WAIT – сигнал режима ожидания МП, в котором находится МП при подготовке внешних устройств к процессу обмена информации.
READY – сигнал готовности от внешних устройств.
F1 и F2 – сигнал, поступающий от тактового генератора.
Команды МП могут быть 1-, 2-, 3-х байтными.
Для извлечения операндов (обработанных данных) используют следующие методы адресации:
1. непосредственная адресация. При этом обработка данных размещается непосредственно в теле команды – во 2-м или 2-м и 3-м байтах.
2. прямая адресация. Адрес операнда размещается во 2-м и 3-м байтах. Во 2-м размещается младший байт адреса.
3. косвенная адресация. В составе 2-го или 2-го и 3-го байтах указывается регистр, содержащий адрес памяти, по которому размещаются обратные операнды.
4. регистровая. Применяется в однобайтных командах, в котором используется регистр, определяемый кодом команды.
Все команды делятся на следующие группы:
1. команды пересылки;
2. арифметические, включающие алгоритмы сложения, вычитания, инкремента, декремента. Умножение и деление выполняемой команды отрицательного числа, представляются дополнительным кодом.
3. логические: «и», «или», сдвиговые.
4. команды управления и команды вводавывода с внешних устройств.
5. команды перехода и вызова подпрограмм условного и безусловного перехода.
Примером 16-ти разрядного процессора является Intel-8086.
Он имеет
Имеется 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. Собраны модели IBMPCAT, работающие под управлением операционной системы MSDOS, и в защищённом режиме Windows 3.11.
32-разрядные процессоры Intel 80386 - как и предыдущие модели, дополнялись сопроцессором для обработки чисел с плавающей точкой: Intel 80287, Intel 80387. К особенностям архитектуры надо отнести 32-разрядный адрес, обеспечивающий адресацию до 4Гб оперативной памяти, использующий следующие режимы адресации:
1. Сегментная страничная виртуальная память со стр. 4Гб, сегментами 64Тб.
2. Бесстраничная сегментная виртуальная память с сегментами по 4Гб и общим объёмом 64Тб.
3. Страничная сегментная организация памяти со страницами 4Кб и сегментами до 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-разрядные процессоры.