Принцип программного управления
1. Обрабатываемая информация кодируется двоичными цифрами (0, 1) и разделяется на единицы, называемые словами. Слово обрабатывается в виртуальной машине как единое целое (машинная единица информации).
Алгоритм вычислений представляется в виртуальной машине в машинной форме — в форме программы, состоящей из последовательности команд. Команды тоже записываются в двоичном виде. Каждая команда предписывает некоторую операцию (из набора операций вычислительной машины) и указывает слова данных (числа), над которыми ее нужно выполнить.
Операция задается значением кода операции КОП, а числа — адресами ячеек памяти А , в которых они хранятся.
Адрес Ач является машинным именем числа Ч. Адрес — единственное средство, с помощью которого можно найти нужное число в памяти. В типовой команде (рис. 2.1) А , Ач2 обозначают адреса аргументов, а Ач3 — адрес результата операции.
КОП | АЧ1 | Ач2 | Ачз |
Рис. 2.1. Структура типовой команды |
44 |
Глава 2. Виртуальные машины и трансляция языков |
2. Команды программы хранятся в последовательности смежных ячеек памяти вычислительной машины и выполняются в естественном порядке, то есть в порядке их расположения в программе. При необходимости, с помощью специальных команд, естественный порядок выполнения может быть изменен. Решение об изменении порядка выполнения команд принимается самой программой, либо на основании анализа результатов предшествующих вычислений, либо безусловно. Важно уяснить, что вычисления в виртуальной машине определяются программой. Именно программа настраивает виртуальную машину на получение требуемых результатов. Замена программы приводит к изменению функций, реализуемых виртуальной машиной. 3. Команды и данные хранятся в одной и той же памяти, и внешне в памяти они неразличимы. Распознать их можно только по способу использования. Отыскиваются команды по адресам: чтобы найти команду К, надо знать адрес ячейки Ак, где она находится. Вводят программу в память так же, как и исходные данные. |