Структурная организация вычислительной системы на базе процессора ADSP-2181. Программно-логическая модель сигнального процессора ADSP-2181, страница 3

MV – переполнение 32-разрядной сетки (MR1,MR0);

и в регистре состояний MSTAT:

MSTAT.4 – бит-признак формата числа в регистре результата MR (MSTAT.4=0/1 – формат дробного/целого числа).

Исходное состояние регистров в результате сброса или перезапуска процессора АSTAT = 0х00; MSTAT = 0х00.

1.5. Регистровая модель устройства сдвига (SHIFTER)

Устройство сдвига выполняет набор функций сдвига для 16-разрядных входных чисел, в результате на выходе в общем случае получается 32-разрядное число.

Функции устройства сдвига: арифметический сдвиг (ASHIFT), логический сдвиг (LSHIFT), нормализация (NORM), определение порядка (EXP), определение порядка самого большого по абсолютной величине числа (блочного порядка) в массиве чисел (EXPADJ). Эти базовые функции могут комбинироваться для эффективного преобразования форматов чисел, включая представление чисел с плавающей точкой.

Операнды-источники ввода данных в устройстве сдвига:

SI                          – регистр ввода устройства сдвига;

AR                        – регистр результатов АЛУ;

MR0, MR1, MR2  – регистры результатов MAC;

SR0, SR1             – регистры вывода устройства сдвига.

Регистр SE (порядок устройства сдвига) 8-разрядный содержит значение порядка при проведении операций нормализации и денормализации.

Регистр SB (блочный порядок устройства сдвига) 5-разрядный содержит значение блочного порядка, то есть величину сдвига для нормализации самого большого числа в массиве чисел.

1.6. Организация, функционирование и регистровая

      модель устройства микропрограммного

      управления (PROGRAM SEQENCER)

Устройство микропрограммного управления (микропрограммный автомат) управляет последовательностью выборки команд, то есть задаёт адрес в каждом машинном цикле процессора на основе анализа данных из регистра команд (INSTRUCTION REGISTER), из внутренних регистров состояния (ASTAT, MSTAT, SSTAT и других), компаратора циклов (при выполнении команды DO UNTIL) и контроллера прерываний. При выполнении текущей команды устройство управления осуществляет формирование адреса и предварительное чтение кода следующей команды.

Адрес следующей команды читается из одного из следующих источников адреса: инкрементор программного счётчика, один из встроенных аппаратных стеков, регистр команд, контроллер прерываний.

Микропрограммный автомат организует выполнение команд, которые задают последовательность выполнения программы в процессоре ADSP-2181. К ним относятся команды:

DO UNTIL            – организация цикла;

JUMP                   – переход;

CALL                    – вызов;

RTS                      – возврат из подпрограммы в главную

   программу;

RTI                        – возврат из подпрограммы обслуживания

   прерывания в главную программу;

IDLE                     – ожидание прерывания в состоянии

   пониженной мощности.

Функциональные узлы устройства микропрограммного

управления

PC – программный счётчик, 14-разрядный адресный регистр, в котором содержится адрес текущей исполняемой команды. Это значение адреса увеличивается на 1 в 14-разрядном инкременторе. Выходное значение инкрементора может выбираться в качестве адреса следующей команды.

PC STACK – аппаратный стек программного счётчика, в который при выполнении команды CALL загружается содержимое инкрементора. Стек программного счётчика заполняется также при выполнении команды DO UNTIL и при переходе к подпрограмме обслуживания прерывания. Однако в случае прерывания инкрементор игнорируется и в стек помещается текущее значение PC. Тогда можно возобновить выполнение преждевременно прерванной команды по окончании обслуживания прерывания.

CNTR – счётчик циклов. Обеспечивает программный автомат механизмом для организации циклов. В счётчик CNTR загружается беззнаковое число N, являющееся требуемым числом циклов. Заполненность счётчика проверяется в начале каждого программного цикла процессора, а уменьшение значения счётчика на 1 – в конце (пост-декремент). Таким образом, когда значение счётчика достигает 1, устанавливается, что счётчик пуст, а значит, цикл выполнен N раз.

OWRCNTR – вспомогательный регистр для перезаписи счётчика циклов.

COUNT STACK – стек счётчика циклов, позволяет организовать вложенные циклы путём временного сохранения номеров циклов.

LOOP STACK – стек циклов программного автомата. В 18-разрядном стеке циклов содержатся адреса последних команд (14 разрядов) и условия окончания временно задержанных циклов (4 разряда).

ASTAT – регистр арифметических состояний. Состав регистра и назначение бит-признаков определены при рассмотрении регистровой модели АЛУ.

MSTAT – регистр состояния режима. Определяет операционный режим процессора.

Управляющие биты регистра MSTAT.

MSTAT.0

– Выбор ряда регистров данных:

  0 – главный ряд регистров,

1 – теневой ряд регистров

MSTAT.1

– Разрешение режима бит-реверсивной

   адресации для DAG1

MSTAT.2

– Разрешение режима фиксации состояния

   переполнения АЛУ

MSTAT.3

– Разрешение режима насыщения

   регистра AR

MSTAT.4

– Выбор режима работы МАС:

             0 – режим умножения дробных чисел,

       1 – режим умножения целых чисел

MSTAT.5

– Разблокирование таймера

MSTAT.6

– Разрешение режима GO (выполнение команд

   из PM в то время, когда внешняя шина

   предоставлена другому устройству)

Исходное состояние регистра в результате сброса или перезапуска процессора MSTAT = 0х00.

IMASK – регистр маскирования прерываний.

ICNTL – регистр управления прерываниями.

IFC – регистр принудительной установки/сброса прерываний.

Назначение управляющих бит этих регистров рассмотрено ниже, в разделе "Управление прерываниями".