logo
Полный текст учебника

Последовательность работы пк при выполнении программы

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

Каждая команда программы начинает исполняться сразу, как только ее адрес (смещение) поступит в регистр микропроцессора Instruction Pointer (IP). Для выполнения любой, даже самой короткой команды в МП типа CISC требуется несколько тактов.

Аабс = А'сегм · 16 + Асмещ;

Второй и последующие такты команды зависят от кода этой команды, и в первую очередь, от кода операции (КОП). Рассмотрим дальнейшую работу ПК применительно к выполнению ассемблерной команды ADD AX, Pole.

  1. В соответствии с данной командой на втором такте должен быть расшифрован код операции команды для определения набора управляющих сигналов, необходимых для выполнения команды, из регистра АХ считано первое число, участвующее в операции, и это число помещено в регистр Рег1 АЛУ. Для этого:

  1. На третьем такте выполнения команды ADD AX, Pole из инициированных ячеек ПЗУ микропрограмм будут считаны сигналы, которые выполнят следующие действия:

Аабс = А'сегм 16 + Асмещ

(составляющие Абаз и Аинд в команде не использованы);

  1. На четвертом такте все управляющие сигналы поступят в АЛУ, где:

  1. В пятом последнем такте выполнения команды ADD AX, Pole сумма чисел из АЛУ должна быть передана и записана в регистр АХ МПП, а в регистре IP — сформирован адрес смещения следующей команды программы. Для этого:

Поскольку в регистре IP сменился код адреса смещения, ПК приступит к выполнению следующей команды программы.

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