Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОргЭВМ 2 курс 1 сем / comput_org_2018 / Теория / Уч_пос_АрхКомп_2017.docx
Скачиваний:
53
Добавлен:
01.09.2020
Размер:
626.15 Кб
Скачать

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

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

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

  2. Декодирование команды (Instruction Decoding).

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

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

  5. Сохранение результата (Store).

Большинство этапов для выполнения требуют как минимум один цикл памяти.

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

Б1 Б2 Б3 Б4 Б5

Выборка команды

Декодирование команды

Выборка операндов

Исполнение операции

Сохранение результата

Б1

1

6

5

4

3

2

7

Б2

5

4

3

2

1

6

Б3

4

3

2

1

5

Б4

3

2

1

4

Б5

2

1

3

Время

Рис.3.2.

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

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

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

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

3.3. Организация процессора и памяти в архитекуре Intel x86.

В процессоре Intel 8086 длина слова составляет 16 бит или 2 байта. Минимально адресуемой и обрабатываемой единицей информации является байт, при этом адрес слова совпадает с адресом младшего байта и является четным. При разрядности адреса 16 бит максимальная емкость прямо адресуемой памяти составляет 216 = 64 Кбайт. Для расширения адресуемого пространства памяти используется ее разбиение на блоки – сегменты, называемое сегментированием памяти. Каждый сегмент имеет произвольную длину, не превышающую 64 Кбайт. Адрес байта в сегментированной памяти задается двумя составляющими: сегментная часть (16 бит), определяющая адрес начала сегмента, и смещение (16 бит) байта в пределах сегмента. Обычно адрес представляется в виде пары Сегмент (Segment) : Смещение (Offset). Начало размещения сегмента выравнивается на границу блока памяти из 16 байт, называемого «параграфом». Соответственно, физический адрес памяти получается путем суммирования сегмента, сдвинутого на 4 бита влево, со значением смещения. Результатом такого суммирования является 20-битный физический адрес, чем обеспечивается адресация 1 Мбайт памяти.

Пример. Пусть Segment = DCBA, Offset = 5678.

Физический адрес Adr будет определяться суммой: DCBA0 + 5678 = E2218.