Высокоуровневое проектирование встраиваемых систем. Платунов А.Е - 135 стр.

UptoLike

2.3.5 Средства прикладного пользовательского программирования
вычислителей NL1 и NL2
2.3.5.1 Виртуальная машина NL1
На основе 3-уровневой архитектурной модели [14, 15, 16] разработана
виртуальная машина 2-го уровня NL1. Действия, выполняемые в каждом ее
состоянии, описывают соответствующий список инструкций. В автомате может
быть до 16 списков, но должен присутствовать хотя бы один. Списки
индексируются с нуля. NL1 всегда начинает исполнение с нулевого списка.
Особенностью реализации NL1 является то, что селектор списка инструкций
хранится в памяти ввода/вывода, т.е. является обычной ячейкой памяти.
Система команд NL1 состоит из 19 инструкций. Все инструкции в списках
инструкций интерпретируются последовательно без пропусков. Инструкций,
управляющих порядком исполнения, нет. Инструкции оперируют константами
и ячейками памяти. В памяти ввода/вывода представлены ячейки следующих
типов:
ячейки для управления процессом исполнения списков;
ячейки для хранения временных результатов;
ячейки, представляющие периферийные устройства (Peripheral).
Драйверы всех вычислительных ресурсов контроллера реализованы на
системном уровне и предоставляют интерфейс контроля и управления через
ячейки ввода/вывода.
Инструкции виртуальной машины NL1 (см. табл. 2.14) имеют
фиксированное количество операндов и их типы тоже зафиксированы.
Операндами инструкций могут быть числовые константы и адреса ячеек
памяти. При описании будут использованы следующие обозначения:
A значение A (числовая константа);
[A] значение ячейки с адресом A.
Таблица 2.14. Инструкции виртуальной машины NL1
Символьная
мнемоника
Функция Описание
MOVE(S,R)
[R] = [S]
Копирование значения ячейки S в ячейку
R.
IMOVE(V,R)
[R] = V
Помещение константы V в ячейку R.
GE(A,B,R)
[R] = [A] [B]
Сохранение в ячейке R признака того, что
значение ячейки A больше или равно
значению ячейки B.
134