ARM Cortex-A9 MPCore



ARM Cortex-A9 MPCore — 32-битный многоядерный процессор, предоставляющий до 4 кэш-когерентных Cortex-A9 ядер, использующих набор инструкций ARM v7. Представлено в 2007 году.

Обзор

Основные особенности ядер Cortex-A9:

  • Внеочередной, спекулятивный, суперскалярный, с динамическим предсказанием ветвлений вычислительный конвейер. Декодер обрабатывает 2 команды за такт, буфер для перераспределения инструкций ёмкостью 32-40 команд, глубина целочисленного конвейера — 8 ступеней. Ядро обрабатывает до четырёх микроопераций за такт.
  • Целочисленный регистровый файл с переименованием, 32 архитектурных регистра проецируются на 56 физических.
  • Поддержка (опционально) блока SIMD-инструкций NEON, обработка до 16 операндов за инструкцию, ширина вектора — до 128 бит. Блок исполнения физически имеет ширину 64 бита, обрабатывая 128-битный вектор за два такта. Исполнение команд NEON — поочередное.
  • Поддержка (опционально) блока инструкций работы с числами с плавающей запятой VFPv3. Отдельный вычислительный конвейер, поочередное исполнение.
  • Поддержка набора инструкций Thumb-2
  • Поддержка расширений безопасности TrustZone
  • Поддержка расширения Jazelle DBX для исполнения Java-кода
  • Поддержка расширения Jazelle RCT для JIT-компиляции
  • Размер TLB — 128 записей
  • 64-битная шина кэша L1
  • Контроллер кэша L2 (0 — 4 Мбайт, в поздних ревизиях до 8 Мбайт)
  • Поддержка многоядерных конфигураций

Размер некоторых блоков ядра Cortex-A9 в условных логических вентилях: основное ядро — примерно 600 тысяч вентилей, кэш первого уровня с контроллером — примерно 500 тысяч вентилей, блок NEON — 500 тысяч вентилей. При производстве по технологии TSMC и техпроцессу 65 нм площадь одного ядра Cortex-A9 без кэшей и NEON составляет примерно 1,5 мм2.