Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
К1-12М_Панин_Cortex-A9_MPCore.docx
Скачиваний:
4
Добавлен:
25.11.2019
Размер:
967.68 Кб
Скачать

Cortex-a9

Cortex-A9 обеспечивает высокий уровень производительности и эффективности при низкой мощности энергопотребления. Возможна реализация в виде масштабируемого многоядерного процессора MPCore или классического одноядерного процессора. Область применения распространяется от мобильных устройств до высокопроизводительных потребительских и корпоративных продуктов.

Процессоры Cortex-A9 являются конфигурируемыми - набор доступных опций зависит от конкретной реализации. Характеристики процессора представлены в таблице.

Таблица 1. Характеристики Cortex-A9

Свойство

Возможное значение

Частота

До 2ГГц

Кэш-память команд

16КБ, 32КБ, 64КБ

Кэш-память данных

16КБ, 32КБ, 64КБ

Количество записей в TLB

64, 128, 256, 512

Количество записей в BTAC

512, 1024, 2048, 4096

Количество GHB дескрипторов

1024, 2048, 4096, 8192, 16384

Количество записей в micro TLB

32, 64

Архитектурное расширение Jazelle

Полное или ограниченное

NEON

Опционально

FPU

Опционально

Интерфейс PTM

Опционально

Preload Engine

Опционально

Размер PLE FIFO (при наличии Preload Engine)

16, 8, 4

MBIST

Опционально

Обобщенная схема процессора Cortex-A9 (кодовое имя - Falcon) представлена на рисунке 3. Процессор включает в себя суперскалярный конвейер переменной длины с изменением порядка выполнения и динамическим предсказанием ветвления. На рисунке 4 приведена высокоуровневая диаграмма работы процессора.

Рис. 3. Схема процессора Cortex-A9

Рис. 4. Диаграмма работы процессора Cortex-A9

Обработка данных

Модули обработки данных MPE и FPU являются взаимоисключаемыми.

  1. MPE –Media Processing Engine, обеспечивает поддержку инструкций NEON и 32-разрядный VFP.

  2. FPU – обеспечивает 16-разрядный VFP.

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

Модуль PLE (Preload Engine) является опциональным.

PLE загружает выбранные области памяти в L2 интерфейс. Параметры операции предварительной загрузки входят в PLE FIFO, включающую в себя:

  • Программируемые параметры

    • Базовый адрес

    • Длину шага

    • Число блоков

  • Бит валидности

  • Бит состояния NS

  • Адрес базы таблицы перевода (Translation Table Base)

  • Значение идентификатора адресного пространства (Address Space ID)

Предзагруженые блоки могут охватывать несколько страниц. Запрограммированные записи могут оставаться валидными в случае смены контекста.

Динамическое предсказание переходов

Блок предварительной выборки реализует 2-уровневое предсказание ветвлений, включает в себя BTAC (Branch Target Address Cache), GHB (Global History Buffer) и стек возвратов (return stack).

Переименование регистров

Схема переименования регистров упрощает выполнение команд с изменением последовательности в ситуациях «запись после записи» (WAW) и «запись после чтения» (WAR) для регистров общего назначения и флагов в регистре текущего состояния программы (CPSR).

Схема отображает архитектурные регистры на пул из 56 физических 32-разрядных регистров и переименовывает флаги (N, Z, C, V, Q, GE) CPSR, используя выделенный пул из 8 физических 9-разрядных регистров.

Интерфейс PTM

Опционально процессор реализует интерфейс PTM (Program Trace Macrocell), совместимый с архитектурным протоколом PFT (Program Flow Trace). Путевые точки, изменения в ходе выполнения программы или события, такие как изменения в ID контекста, выводятся для коррелирования трассировки с изображением кода.

Контроль производительности

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