home   contents  previous      next        up

Регистры транспьютера

Процессор транспьютера содержит следующие регистры:
Iprtуказатель исполняемой команды.
Wdescдескриптор исполняемого процесса.
Areg, Breg, Cregарифметический стек.
Oregрегистр операнда
Fptr0, Bptr0указатели начала, конца списков активных высокоприоритетных процессов.
Fptr1, Bptr1указатели начала, конца списков активных низкоприоритетных процессов.
Timer0, Timer1высоко, низко приоритетные таймеры.
TNextReg0, TNextReg1указывают время наступления следующего временного события.
TPtrLoc0, TPtrLoc1указатели начала, конца списков высоко, низкоприоритетных процессов, ожидающих таймер.

Слово состояния процессора Status включает следующие флаги:
Errorобнаружена ошибка.
HaltOnErrorостанавливать процессор при обнаружении ошибки.
TEnabled0, TEnabled1разрешено использование высоко, низкоприоритетных таймеров.

Арифметический стек

Регистры Areg, Breg, Creg составляют арифметический стек. Areg является верхушкой стека, а Creg - дном стека. Маленькая глубина арифметического стека заставляет выбирать такой порядок вычисления выражения, который использует наименьшее число временных переменных для хранения результатов промежуточных вычислений.

Загрузка значения X в стек заключается в том, что значения, располагающиеся в стеке, проталкиваются на одну позицию вниз по стеку, а на верхушку стека помещается значение X. Значение из Creg теряется.

При выгрузке значения X из стека выполняется обратная последовательность действий: из Areg извлекается значение X, значения в стеке перемещаются на одну позицию вверх. Значение Creg не определено.

Операции, использующие стек, обращаются к его элементам неявно. Операция размерности k использует k верхних элементов стека, выгружая их из стека, а затем загружает результат в стек. Операции, не использующие стек, (например, jump) оставляют его в неопределенном состоянии.

Команды, загружающие и сохраняющие нелокальные (глобальные) переменные, адресуют машинные слова относительно регистра Areg. Areg содержит базовый адрес, а смещение относительно него указывается в команде.


home   contents  previous      next        up