Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация и функционирование вычислительных машин1.doc
Скачиваний:
37
Добавлен:
01.05.2014
Размер:
1.13 Mб
Скачать

Основной цикл работы процессора

Этапы:

  1. Выборка команды(IF)

  2. Формирование исполнительных адресов операндов, если требуется (AM).

  3. Выборка операндов из памяти (OF).

  4. Исполнение операции (EX).

  5. Запоминание результата (ST).

  6. Проверка запроса программного прерывания (IRQ).

Каждый этап выполняется за один цикл памяти.

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

IF

AM

OF

EX

ST

IRQ

IF

AM

OF

EX

ST

IRQ

IF

AM

OF

EX

ST

IRQ

Возможны два вида прерываний:

  • программное прерывание, которое обрабатывается путем выполнения процессором специальной программы - обработчика прерываний;

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

Подробнее о прерываниях будет рассказано позже.

Организация процессора и памяти в микропроцессоре Intel 8086

В данном процессоре длина слова составляет 16 бит, что равно 2 байтам. Минимально адресуемой и обрабатываемой единицей информации является байт, при этом адрес слова совпадает с адресом младшего байта и является четным. Максимальная емкость памяти 216=64 Кб. Для расширения адресного пространства, используется сегментирование памяти. Максимальная длина каждого сегмента равна 64Кб. Адрес образуется парой сегмент (16 бит) и смещение (16 бит) в пределах сегмента

Segment:Offset

Смещение сдвигается на 4 бита влево и суммируется со значением сегментом, результатом является 20-битный физический адрес, чем обеспечивается алресация 1 Мб памяти.

Программно доступные регистры процессора

Начиная с 80386, процессоры Intelпредоставляют 16 основных регист­ров для пользовательских программ плюс еще 11 регистров для работы с числами с плавающей запятой (FPU/NPX) и мультимедийными при­ложениями (ММХ). Все команды так или иначе изменяют значения ре­гистров, и всегда быстрее и удобнее обращаться к регистру, чем к памяти.

Регистры общего назначения

16-битные регистры АХ (аккумулятор), ВХ (база), СХ (счетчик), DX(регистр данных) могут использоваться без ограничений для любых це­лей - временного хранения данных, аргументов или результатов различ­ных операций. На самом деле, начиная с процессора 80386, все эти регистры имеют размер 32 бита и называ­ются они ЕАХ,EВХ,EСХ, EDX. Кроме этого, отдельные байты в 16-бит­ных регистрах АХ - DX тоже имеют свои имена и могут использоваться как 8-битные регистры. Старшие байты этих регистров называются АН, ВН, СН, DH, а младшие -AL,DL,CL,DL.

Другие четыре регистра общего назначения - SI (индекс источни­ка), DI (индекс приемника), BP (указатель базы), SP (указатель сте­ка) - имеют более конкретное назначение и могут применяться для хра­нения всевозможных временных переменных, только когда они не используются по назначению. Регистры SIиDIиспользуются в стро­ковых операциях, ВР иSPиспользуются при работе со стеком. Так же как и с регистрами АХ -DX, начиная с процессора 80386, эти четыре регистра являются 32 битными и называютсяESI,EDI,EВР иESPсоответственно.

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

При использовании памяти для формирования любого адреса применяются два числа - адрес начала сегмента и смещение искомого байта относительно этого начала. В процессорах Intelпредусмотрены следующие сегментные регистры –CS(сегмент кода),DS(сегмент данных),ES(дополнительный сегмент),SS(сегмент стека). Начиная с 80286 появились регистрыFSи GS.

Смещение следующей выполняемой команды всегда хранится в специальном регистре- IP(указатель инструкции), запись в кото­рый приведет к тому, что следующей будет исполнена какая-ни­будь другая команда, а не команда, расположенная сразу за данной.. На самом деле все команды передачи управления -перехода, условного перехода, цикла, вызова подпрограммы и т. п. осуществляют запись в CSи EIP.

Регистр флагов

OF

DF

IF

TF

SF

ZF

0

AF

0

PF

1

CF

15

8

7

0

CF-флаг переноса (CARRY);

PF- флаг четности (PARITY);

AF-дополнительный флаг переноса (AUXILARY);

ZF-флаг нуля (ZERO);

SF-знаковый флаг (SIGN);

TF-флаг слежения, ловушка(TRAP);

IF-флаг прерываний (INTERRUPTION);

DF-флаг направления (DIRECTION);

OF-флаг переполнения (OVERFLOW).