ARM Cortex-A77 — это центральный процессор , реализующий 64-битный набор инструкций ARMv8.2-A, разработанный конструкторским центром ARM Holdings в Остине . [1] ARM объявила об увеличении производительности целочисленных вычислений и вычислений с плавающей точкой на 23% и 35% соответственно. Пропускная способность памяти увеличилась на 15% по сравнению с A76. [1]
Cortex-A77 служит преемником Cortex -A76 . Cortex-A77 — это 4-широкий декодирующий внеочередной суперскалярный дизайн с новым кэшем 1,5K макро-OP (MOP). Он может извлекать 4 инструкции и 6 Mops за цикл. А также переименовывать и отправлять 6 Mops и 13 μops за цикл. Размер внеочередного окна был увеличен до 160 записей. Бэкэнд имеет 12 портов выполнения, что на 50% больше, чем у Cortex-A76. Он имеет глубину конвейера 13 стадий и задержки выполнения 10 стадий. [1] [2]
В целочисленном кластере имеется шесть конвейеров — увеличение на два дополнительных целочисленных конвейера по сравнению с Cortex-A76. Одним из изменений по сравнению с Cortex-A76 является объединение очередей задач. Ранее каждый конвейер имел свою собственную очередь задач. В Cortex-A77 теперь есть одна унифицированная очередь задач, что повышает эффективность. Cortex-A77 добавил новый четвертый общий математический ALU с типичными 1-тактовыми простыми математическими операциями и некоторыми 2-тактовыми более сложными операциями. Всего имеется три простых ALU, которые выполняют арифметические и логические операции обработки данных, и четвертый порт, который поддерживает сложную арифметику (например, MAC, DIV). Cortex-A77 также добавил второй ветвящийся ALU, удваивая пропускную способность для ветвей.
Есть два конвейера выполнения ASIMD/FP. Это не изменилось по сравнению с Cortex-A76. Что изменилось, так это очереди проблем. Как и в случае с целочисленным кластером, кластер ASIMD теперь имеет единую очередь проблем для обоих конвейеров, что повышает эффективность. Как и в случае с Cortex-A76, ASIMD на Cortex-A77 имеют ширину 128 бит, способные выполнять 2 операции с двойной точностью, 4 операции с одинарной точностью, 8 операций с половинной точностью или 16 операций с 8-битными целыми числами. Эти конвейеры также могут выполнять криптографические инструкции, если поддерживается расширение (не предлагается по умолчанию и требует дополнительной лицензии от Arm). Cortex-A77 добавил второй блок AES для повышения пропускной способности криптографических операций. [3]
Больший размер ROB, до 160 записей вместо 128, добавлен новый кэш L0 MOP, может содержать до 1536 записей. [4]
Ядро поддерживает непривилегированные 32-битные приложения, но привилегированные приложения должны использовать 64-битный ARMv8-A ISA . Он также поддерживает инструкции Load acquire (LDAPR) ( ARMv8.3-A ), инструкции Dot Product ( ARMv8.4-A ) и битовые инструкции PSTATE Speculative Store Bypass Safe (SSBS) ( ARMv8.5-A ).
Cortex-A77 поддерживает технологию DynamIQ от ARM и, как ожидается, будет использоваться в качестве высокопроизводительных ядер в сочетании с энергоэффективными ядрами Cortex-A55 . [1]
Cortex-A77 доступен лицензиатам в качестве ядра SIP , а его конструкция позволяет интегрировать его с другими ядрами SIP (например , графическим процессором , контроллером дисплея , цифровым сигнальным процессором , процессором обработки изображений и т. д.) в один кристалл, образующий систему на кристалле (SoC).
Samsung Exynos 980 был представлен в сентябре 2019 года [7] [8] как первый SoC, использующий микроархитектуру Cortex-A77. [9] Позже, в мае 2020 года, последовал более дешевый вариант Exynos 880. [10] SoC MediaTek Dimensity 1000, 1000L и 1000+ также используют микроархитектуру Cortex-A77. [11] Производные под названиями Kryo 585 , Kryo 570 и Kryo 560 используются в Snapdragon 865 [ сломанный якорь ] , 750G [ сломанный якорь ] и 690 [ сломанный якорь ] соответственно. [12] [13] [14] HiSilicon использует Cortex-A77 на двух разных частотах в своей серии Kirin 9000 . [15] [16]
У его предшественника (Cortex-A76) и его преемника (Cortex-A78) были автомобильные варианты с возможностью Split-Lock, Cortex-A76AE и Cortex-A78AE, но у Cortex-A77 такой возможности не было, поэтому он не нашел применения в критически важных для безопасности приложениях.