Программная модель арифметического процессора
В ариметическом процессоре можно выделить арифметические регистры и регистры окружения. Арифметические регистры играют роль регистров общего назначения и состоят из восьми 80-разрядных регистров (рис. 2.3), организованных в стек. Со стеком связан трехразрядный указатель стека ST, значение которого указывает на один из восьми арифметических регистров (элементов стека), который является текущей вершиной стека. На рис. 2.3 показано, как нумеруются элементы стека при заданном значении (ST = 100). При выполнении операции PUSH - занесения в стек, значение ST предварительно уменьшается ST = ST - 1 и указывает номер регистра, куда заносится данное. При извлечении данных из стека по команде POP значение ST автоматически увеличивается на единицу ST = ST + 1 после извлечения. Следует отметить, что при исходном значении ST = 000 по команде PUSH будет получено значение ST = 111, а при иходном значении ST = 111 по команде POP - значение SТ = 000, т. е. регистры «закольцованы».

Рис. 2.3. Арифметические регистры и указатель стека
Регистры окружения. Включают три 16-разрядных регистра: SR - регистр состояния; CR - регистр управления; TR - регистр-этикетка и 64-разрядный регистр EP - указатель исключительных ситуаций.
Регистр состояния SR. Содержит различные поля и флаги (рис. 2.4), которые при функционировании процессора автоматически устанавливаются в соответствии с выполняемыми действиями или результатами действий.
Рис. 2.4. Регистр состояния SR и управления CR
Флаг В (от BUSY) устанавливается в «1», когда АП выполняет команду (центральный процессор при этом находится в состоянии ожидания). Поле ST принимает значение, равное текущему значению указателя стека арифметических регистров.
предыдущаяследующая© Copyright, 2009.
Для связи: info@dgs-srl.com.