Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
К1-12М_Агеева_1892ВМ10Я.docx
Скачиваний:
28
Добавлен:
25.11.2019
Размер:
249.39 Кб
Скачать

Взаимодействие процессоров

CPU является ведущим. Он имеет свою операционную систему (планировщик или монитор) и выполняет основную программу. CPU управляет работой DSP посредством передачи ему задания (макрокоманды) и его запуска.

CPU имеет доступ к следующим ресурсам DSP:

  • памяти данных;

  • регистру управления и состояния DCSR;

  • программному счетчику PC;

  • регистру адреса останова SAR;

  • памяти программ;

  • архитектурным регистрам.

При штатной работе доступ к архитектурным регистрам DSP, как правило, не используется, а применяется только для его диагностики или для отладки программного обеспечения.

DSP является ведомым. Он работает под управлением CPU и выполняет его макрокоманды (задания). Однако DSP имеет доступ ко всем программно доступным регистрам и памяти микросхемы.

DSP может находиться в состояниях STOP или RUN и работает в старт стоповом режиме. То есть, после выполнения очередного задания CPU он останавливается и переходит в режим STOP посредством выполнения одноименной команды. DSP из состояния STOP в состояние RUN может перейти:

  • по команде CPU;

  • по сигналам от каналов DMA

Центральный процессор (cpu)

В качестве отличительных особенностей центрального процессора можно назвать:

  • Архитектура – MIPS32:

  • 32-х битные шины передачи адреса и данных;

  • Кэш команд объемом 16 Кбайт;

  • Архитектура привилегированных ресурсов в стиле ядра R4000:

    • Регистры Count/Compare для прерываний реального времени;

    • Отдельный вектор обработки исключений по прерываниям.

  • Программируемое устройство управления памятью;

  • Устройство целочисленного умножения и деления;

  • Сопроцессор арифметики в формате с плавающей точкой (FPU);

  • Производительность – не менее 250MIPS;

  • Оперативная память центрального процессора (CRAM) объемом 128 Кбайт;

  • 5 внешних запросов прерывания, в том числе немаскируемое прерывание (NMI);

  • Поддержка отладки JTAG.

Блок-схема процессорного ядра RISCore32 приведена на рисунке 2.

Рис. 2. Блок-схема RISCore32

Входящее в ядро устройство исполнения реализует архитектуру load-store с однотактными операциями арифметического логического устройства (АЛУ) (логические операции, операции сдвига, сложение и вычитание). В ядре имеется 32 32-х битных регистра общего назначения, используемых для скалярных целочисленных операций и вычисления адреса. В регистровом файле есть два порта чтения и один порт записи. Также используются обходные пути передачи данных для минимизации количества остановок конвейера.

Устройство умножения/деления (MDU) выполняет соответствующие операции. MDU выполняет операции умножения за 1 такт, операции деления за 8 тактов. Попытка активизировать следующую команду умножения/деления до завершения выполнения предыдущей, так же как и использование результата этой операции до того, как она закончена, вызывает остановку конвейера. В MDU имеется вывод, определяющий формат операции – знаковый или беззнаковый.

Системный управляющий сопроцессор (СР0) отвечает за преобразование виртуального адреса в физический, протоколы кэш, систему управления исключениями, выбор режима функционирования (Kernel/User) и за разрешение/запрещение прерываний.

Сопроцессор арифметики в формате с плавающей точкой (FPU) выполняет операции в соответствии со стандартом ANSI/IEEE Standard 754-1985, “IEEE Standard for Binary Floating-Point Arithmetic”. Поддерживаются операции, как с одинарной, так и с двойной точностью. Сопроцессор так же выполняет дополнительные операции, не определенные стандартом. Сопроцессор содержит 16 64-разрядных регистра для хранения операндов с одинарной и двойной точностью. Сопроцессор также содержит регистры управления и состояния, которые обеспечивают обработку исключений в соответствии с требованиями стандарта. Время выполнения команд с одинарной точностью в тактах CPU: MUL - 2, DIV – 5, SQRT -6. Время выполнения команд c двойной точностью в тактах CPU: MUL – 2, DIV – 8, SQRT – 16;

Процессорное ядро содержит устройство управления памятью (MMU), реализующее интерфейс между исполнительным блоком и контроллером кэш. MMU преобразует виртуальный адрес в физический прежде, чем посылает запрос контроллеру кэш для сравнения тэга или блоку шинного интерфейса для доступа к внешнему запоминающему устройству. Это преобразование является очень полезным свойством функционирования операционных систем при управлении физической памятью таким образом, чтобы в ней размещались несколько процессов, активных в одной и той же области памяти, и может быть даже на одном виртуальном адресе, но обязательно в различных областях физической памяти. Другие свойства MMU - защита зон памяти и определение протокола кэш. Ядро может работать как в режиме TLB – с 16-строчной, полностью ассоциативной матрицей TLB, так и в режиме FM (Fixed Mapped), когда используются простые преобразования виртуального адреса в физический с использованием битов регистров.

В данной версии процессора реализован кэш команд, виртуально индексируемый и контролируемый по физическому тэгу типа direct mapped, что позволяет осуществлять доступ к кэш параллельно с преобразованием виртуального адреса в физический. Объем кэш памяти составляет 16 Кбайт.

Устройство шинного интерфейса (BIU) управляет внешними интерфейсными сигналами в соответствии со спецификацией шины AHB (Advanced High-performance Bus) архитектуры AMBA (Advanced Microcontroller Bus Architecture).

В ядре имеется устройство для отладки программ OnCD с портом JTAG.