Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по архитектуре.docx
Скачиваний:
10
Добавлен:
16.04.2019
Размер:
258.32 Кб
Скачать

46. Общие принципы работы мп Intel 8086.

Важнейшей характеристикой любого микропроцессора является разрядность его внутренних регистров, также внешних шин адресов и данных. МП 8086 имеет 16-разрядную внутреннюю архитектуру и такой же разрядности шину данных. Все регистры внутри процессора, в которых могут хранится данные, имеют длину 16 битов. Таким образом, максимальное целое число (данное или адрес), с которым может работать микропроцессор, составляет 216-1=65536 (64К-1). Однако адресная шина МП 8086 содержит 20 линий, что соответствует адресному пространству 220-1 Мбайт. Для того, чтобы с помощью 16-разрядных адресов можно было обращаться в любую точку 20-разрядного адресного пространства, в микропроцессоре предусмотрена сегментная адресация памяти, реализуемая с помощью четырех сегментных регистров.

47. Классификация команд микропроцессора.

Формат команды микропроцессора

Инструкция микропроцессора может содержать следующие поля:

префикс

OPC

Mod R/M

SIB

DISP

непосредственный операнд

0/1 байт

1/2 байта

0/1 байт

0/1 байт

0/1/2/4 байта

0/1/2/4 байта

Префикс - необязательная часть инструкции, позволяет изменить некоторые особенности ее выполнения. В команде может быть использовано сразу несколько префиксов разного типа. Типы префиксов:

  • командные префиксы (префиксы повторения) REP, REPE/REPZ, REPNE/REPNZ;

  • префикс блокировки шины LOCK;

  • префиксы размера (см. далее);

  • префиксы замены сегмента.

OPC (КОП) - код операции.

Байт "Mod R/M" определяет режим адресации, а также иногда дополнительный код операции. Необходимость байта "Mod R/M" зависит от типа инструкции.

Байт SIB (Scale-Index-Base) определяет способ адресации при обращении к памяти в 32-битном режиме. Необходимость байта SIB зависит от режима адресации, задаваемого полем "Mod R/M".

Кроме того, инструкция может содержать непосредственный операнд и/или смещение операнда в сегменте данных.

На размер инструкции накладывается ограничение в 15 байт. Инструкция большего размера может получиться при некорректном использовании большого количества префиксов.

Преобразование адресов в МП

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

Рассмотрим это на примере операции сложения. Так как в системе команд ЭВМ, базирующихся на микропроцессорах фирмы Intel, результат операции записывается на место первого операнда, то данная операция будет иметь вид: a=a+b.

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

[Метка:] Мнемоника_операцииОперанд,Операнд [; Комментарий]

Метка - это идентификатор, присваиваемый адресу первого байта команды. Наличие метки в команде необязательно. При отсутствии метки двоеточия быть не должно.

Во всех командах необходимо наличие мнемоники, обозначающей выполняемую команду.

Наличие и количество (один или два) операндов зависит от команды. В случае двух операндов они разделяются запятой, при этом первым указывается операнд-приемник, а вторым - операнд-источник. Примеры обозначения операндов при различных режимах адресации будут рассмотрены ниже.

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

Поле КОП содержит код выполняемой операции. Признак w указывает на длину операндов. При w = 1 операция проводится над словами, а при w = 0 - над байтами. Признак d указывает положение приемника результата. Признак d = 1, если результат записывается на место операнда, закодированного в поле reg, и d = 0, если результат записывается по адресу, закодированному полями (md, r/m).

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