logo
стр 103-113

Базовые команды

Процессор выполняет каждую команду (инструкцию) за несколько шагов (тактов):

  1. Выборка очередной команды (ЦП вызывает команду из ОП и переносит ее в регистр команд);

  2. Формирование адреса следующей команды (меняется значение счетчика команд);

  3. Дешифрация команды (определяется тип вызванной, текущей команды);

  4. Выборка операндов (если команда использует «слово» из памяти, определяет где находится это слово и вызывает его; переносит слово из ОП в один из регистров (регистр данных));

  5. Выполнение операции (выполняет команду (АЛУ));

  6. Запись результата (заносит результат в промежуточный буфер, регистр – аккумулятор);

  7. Переходит к шагу 1 или заканчивает выполнение программы «ОСТАНОВ».

Такая последовательность шагов: выборка – декодирование – исполнение является основой работы всех компьютеров. Описание работы ЦП можно представить, или имитировать, в виде программы-интерпретатора на языке Java. Сама возможность имитировать работу ЦП с помощью программы, показывает, что программа вычислений не обязательно должна выполняться аппаратным процессором. Напротив, вызывать из памяти, определять тип команды и выполнять команду может другая программа (интерпретатор). Другими словами, применение трансляторов с ЯВУ не только способ перейти к машинному языку, языку понятному машине, но и мощный метод эмуляции работы ЦП.

Программа на ЯВУ

Компилятор

Перевод исходной программы на эквивалентный набор команд машинного кода

Виртуальная машина Java Компилятор Псевдокод Интерпретатор

Интерпретатор Последовательный перевод команды за командой в эквивалентный машинный код с немедленным исполнением готовой команды

Рис.5.4 Структура трансляторов