Структура коммуникационного процессорного модуля, страница 2

СРМ функционирует под управлением собственного ядра, выполненного в виде RISC- процессора. Основная задача RISC-ядра – обеспечение функционирования каналов SCC, SMC, SPI (SCP) без постоянного вмешательства центрального процессора CPU.

Работа RISC-процессора прозрачна для пользователя. RISC- ядро выполняет задачи для нижних уровней управления и контроля над DMA- передачами, освобождая центральный процессор для решения задач более высоких уровней управления. Все передачи между RISC-ядром и модулем коммуникационного процессора производятся по внутренней периферийной шине и не оказывают влияния на работу центрального процессора. RISC- процессор управляет работой коммуникационных каналов ввода/вывода, реализуя выбранные пользователем протоколы, координирует работу каналов SDMAпри передачи информации между FIFO SCC и памятью, следит за правильностью выполнения буферных дескрипторов и их слов состояния. При реализации коммуникационных протоколов, в зависимости от выбранного типа протокола, RISC-контроллер осуществляет вставку служебной информации (флаги, символы синхронизации) при передаче и ее удаление при приеме, контролирует правильность появления и корректность формата служебных символов и символов синхронизации, формирует при передаче и проверяет при приеме контрольную сумму целого кадра или частей пакета.

В контроллерах МРС860 RISC-ядро имеет полностью 32-разрядную архитектуру и выполняет одну микрокоманду за период тактового сигнала. В МРС860 RISC-ядро настроено и оптимизировано для решения коммуникационных задач. Благодаря введению DSP –составляющей, RISC-процессор поддерживает встроенные команды МАС-арифметики (операции умножения и сложения над 16-битными операндами и 40-битным результатом), обработки контрольной суммы и вычисление специальных режимов адресации. Особенности архитектуры RISC-ядра, использование 4 Кбитных кэш-памяти команд и данных позволили увеличить производительность ядра до 53 MIPS при 40 МГц. DSP- составляющая же обеспечивает выполнение МАС-команд за один период тактовой частоты.

Работу RISC-контроллера определяет микропрограмма, расположенная во внутреннем масочном ПЗУ микрокода. Пользователь не может изменить содержимое ПЗУ микрокода. Но в МРС860 предусмотрена возможность загрузки микрокода новых протоколов (например, SS#7,Profibus), для этого во внутренней двухпортовой памяти выделена специальная область для загрузки микрокода.

СРМ может выполнять прием/передачу данных без минимального вмешательства центрального процессора. Основные способы взаимодействия центрального процессора и RISC-ядра:

·  Пользователь из своей программы может передать СРМ команду управления каналом связи (табл. 2.2-2.4).

·  СРМ после выполнения приема/передачи кадра или в случае возникновения ошибки при передаче извещает CPU прерыванием.

·  Ядра могут обмениваться информацией о текущем состоянии каналов ввода/вывода через регистр статуса буферов дескрипторов и протокол- ориентированную область  внутренней двухпортовой памяти.

CPU может передавать команды управления работой каналов для RISC-контроллера через регистр команд CR (рис.2). Обычно эти команды используются, если необходимо провести инициализацию канала или изменить его режим работы. CPU записывает код выполняемой команды в биты OPCODE, определяет канал, для которого должна быть выполнена команда в битах CHNUM, и устанавливает флагFLG. Выполнив команду, RISC-процессор сбрасывает флаг FLG, сообщая центральному процессору, что он готов выполнить новую команду. Бит программного сброса RST=1, установленный CPU, сбрасывает в исходное состояние регистры и параметры всех коммуникационных каналов приблизительно за 60 периодов тактовой частоты.

При установленном бите GCI=1в режиме мультиплексированного интерфейса указанные команды воздействуют также на SMC-канал. В контроллерах МРС860 номера каналов распределены так, как показано в таблице 2.1. Команды управления каналом связи рассмотрены в табл. 2.2-2.4.