192
рукцию, загруженную в регистр-защелку, и вырабатывает все сигна-
лы, необходимые для управления конвейером. Копия регистра-
защелки инструкций оптимизирует выполнение инструкций повторе-
ния и перехода.
Генератор адресов программ. PAG содержит: регистры PC, SP,
SS (системный стек), OMR (регистр операционного режима), SR, LC
и LA. Циклы, являющиеся основной конструкцией алгоритмов циф-
ровой обработки сигналов, поддерживаются аппаратно.
При выполнении инструкции цикла DO в регистр счетчика цик-
ла загружается количество повторений цикла, а в регистр адреса цик-
ла - адрес последней инструкции цикла, и устанавливается флаг цик-
ла в регистре статуса. Перед выполнением инструкции DO содержи-
мое регистров LA, LC и SR сохраняется в стеке. Под управлением
механизма выполнения циклов адрес первой инструкции цикла по-
мещается в стек. Пока флаг цикла в регистре статуса не сброшен, ме-
ханизм выполнения циклов сравнивает содержимое PC с содержи-
мым LA для определения последней инструкции цикла. Когда по-
следняя инструкция выбрана, содержимое LC сравнивается с едини-
цей. Если равенство не выполняется, содержимое LC декрементиру-
ется и из SS читается адрес первой инструкции цикла. Если равенство
выполняется, то значения LA, LC и флага цикла в SR восстанавлива-
ются из стека, а выборка инструкций продолжается с адреса LA + 1.
Пересылка массива данных может быть выполнена с использо-
ванием механизма повторений. Инструкция REP загружает в LC ко-
личество повторений следующей за ней инструкции. Так как команда,
которая будет повторяться, выбрана только один раз, это увеличивает
производительность за счет уменьшения обращений к внешней шине.
Однако инструкция RЕР не может быть прервана, поскольку выбира-
ется только один раз.
Контроллер прерываний. PIC принимает все запросы прерыва-
ний, осуществляет арбитраж в каждом цикле и генерирует адрес век-
тора прерывания. Прерывания могут вызывать четыре внешних и 16
внутренних источников прерываний.
Используется структура гибкого приоритета прерываний. Каж-
дое прерывание получает свой уровень приоритета (IPL) - от 0 до 3.
Уровень 0 - самый низкий, а уровни 1 и 2 маскируются. Уровень 3
является высшим и не маскируется. Биты маски прерываний в реги-
стре статуса (SR) показывают текущий уровень приоритета прерыва-
ний в процессоре. Прерывания, имеющие уровень приоритета меньше