ARM Cortex-A9 MPCore
24.02.2023ARM 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.