Выполнение программы персональным компьютером

Все программы, исполняемые персональным компьютером, хранятся в его внешней памяти. При запуске программы пользова­тель организует запрос на ее исполнение в операционную систему, установленную на компьютере (например, Microsoft Windows). Запрос пользователя – ввод имени исполняемой прог­раммы в командную строку Windows или эквивалентная ему операция (например, двойной щелчок кнопкой мыши на ярлыке исполняемого файла). Обработчик команд Windows – файл cmd.exe обеспечивает перезапись исполняемой программы из внешней памя­ти в оперативную и устанавливает в счетчике команд IP процессорной памяти адрес ячейки оперативной памяти, в которой находится первая команда этой программы.

После этого автоматически начинается выполнение команд программы друг за дру­гом. Каждая команда требует для своего исполнения нескольких тактов работы компьютера. За первые два такта выполнения любой команды проводится считывание кода команды из оперативной памяти по адресу, установленному в счетчике команд, и запись этого кода в регистр команд устройства управления. Содержание последующих тактов определяется результатами анализа команды, т. е. зависит уже от ее типа.

Пример 3.3. Выполнение машинной команды

 

адрес команды код операции адрес 1-го операнда адрес 2-го операнда адрес результата

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

1. В счетчик команд IP передается адрес выполняемой команды (0170);

2. Из счетчика команд адрес передается в оперативную память, из которой по данному адресу извлекается вся команда (0170 0001 1300 1301 1320) и передается в регистр команд устройства управления;

3. Из регистра команд извлекается адрес первого операнда (1300), передается в оперативную память, из которой по этому адресу извлекается сам первый операнд и передается в регистр 1 арифметико-логического устройства;

4. Аналогичным образом второй операнд по своему адресу (1301) извлекается из оперативной памяти и передается в регистр 2 арифметико-логического устройства; одновременно с этим код операции (0001) передается из регистра команд в дешифратор операций, который этот код расшифровывает и посредством ПЗУ микропрограмм формирует двоичные управляющие сигналы для арифметико-логического устройства;

5. Сформированные управляющие сигналы передаются в сумматор арифметико-логического устройства, в котором и выполняется сложение; результат выполнения возвращается в регистр 1 арифметико-логического устройства;

6. Адрес результата (1320) передается в оперативную память и по этому адресу проводится запись самого результата;

7. К счетчику команд IP автоматически прибавляется число байтов (10), занимаемое выполненной командой, для формирования адреса следующей команды программы, поскольку все команды размещаются в оперативной памяти последовательно друг за другом.