Системное программирование. Конспект лекций


Модель процессора - часть 2


Смысл CISC-модели состоит в том, что выполнение каждой команды представляется в виде последовательности выполнения простых процедур ("микрокоманд"). Список микрокоманд, составляющих выполнение каждой команды, может быть "зашит" в программу в виде последовательности вызовов или представлен в виде данных, например, в виде списка номеров процедур. В последнем случае алгоритм не требует ветвления, а сводится к циклу, в каждой итерации которого выбирается номер очередной процедуры и вызывается процедура с данным номером. В предельном случае выполнение каждой команды может быть представлено в виде исходного текста на языке макрокоманд, который интерпретируется Интерпретатором.

Пример

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

Микрокоманда Выполнение
GETR n,rx Выборка номера регистра, заданного в n-ом операнде в промежуточную переменную rx
GETA n,ax Выборка адреса, заданного в n-ом операнде в промежуточную переменную ax
LDR dx,rx Выборка данных из регистра, номер которого находится в промежуточной переменной rx в промежуточную переменную dx
LDM dx,ax Выборка данных из памяти по адресу, находящемуся в промежуточной переменной ax промежуточную переменную dx
SDR rx,dx Запись данных из промежуточной переменной dx в регистр, номер которого находится в промежуточной переменной rx
SDM dx,ax Запись данных из промежуточной переменной dx в память по адресу, находящемуся в промежуточной переменной ax промежуточную переменную dx
ADD dx1,dx2 Сложение данных из промежуточной переменной dx1 с данными из dx2; результат - в dx1
SIG dx Инверсия знака данных, содержащихся в промежуточной переменной dx
CC1 dx Установка признаков "больше", "меньше", "равно" по значению, содержащемуся в промежуточной переменной dx
CC2 dx Установка признака переполнения по значению, содержащемуся в промежуточной переменной dx
PC1 Увеличение регистра-счетчика адреса на длину команды
PC2 dx Запись данных из промежуточной переменной dx в регистр-счетчика адреса
END Окончание микропрограммы
<


- Начало -  - Назад -  - Вперед -