Почему процессор Apple A12X показывает лучшие результаты, чем i7-4790T?

812
John Rennie

На моей рабочей станции у меня Intel i7-4790T, который я всегда считал довольно быстрым процессором. Но, согласно Geekbench 4, процессор Apple A12X в новом iPad Pro с комфортом превосходит его. Когда я запускаю Geekbench 4, я получаю одноядерную скорость около 4000, но на новом iPad Pro процессор A12X возвращает около 5000, то есть на 25% быстрее. На самом деле даже A12 и A11 набрали больше очков, чем мой i7-4790T . В многоядерном тесте мой процессор получил более 11 000 теней, а A12X - 18 000, что на 60% быстрее.

Предварительный вопрос заключается в том, является ли Geekbench надежным индикатором скорости реального мира. Например, единственная вещь, которую я делаю, которая действительно подчеркивает мой процессор, это повторная выборка видео с помощью Handbrake . Ручной тормоз недоступен для IOS, но при условии, что он перенесен, будет ли Ручной тормоз действительно обрабатывать видео на A12X быстрее на 60%, или оценка Geekbench не является показателем производительности в реальном мире?

Но мой главный вопрос заключается в следующем: не говоря уже о том, как точно сравниваются A12X и мой процессор, как Apple удалось добиться того, чтобы чип RISC на базе ARM был таким быстрым? Какие аспекты его архитектуры отвечают за высокую скорость?

Я понимаю архитектуры RISC, что они делают меньше за такт, но их простая конструкция означает, что они могут работать на более высоких тактовых частотах. Но A12X работает на частоте 2,5 ГГц, в то время как у моего i7 базовая скорость составляет 2,7 ГГц, и он увеличится до 3,9 ГГц при нагрузке на одноядерный процессор. Итак, учитывая, что мой i7 будет работать на тактовой частоте на 50% быстрее, чем A12X, как чип Apple может побить его?

Из того, что я могу найти в Интернете, A12X имеет гораздо больше кэш-памяти L2, 8 МБ против 256 КБ (на ядро) для моего i7, так что это большая разница. Но действительно ли этот дополнительный кэш L2 так сильно влияет на производительность?

Приложение: Geekbench

Тест процессора Geekbench только нагружает процессор и скорость памяти процессора. Подробности того, как Geekbench делает это , описаны в этом PDF (136 КБ) . Похоже, что тесты - это как раз те вещи, которые мы делаем, которые используют много ЦП, и кажется, что они действительно будут отражать производительность Handbrake, которую я предложил в качестве примера.

Подробная разбивка результатов Geekbench для моего i7-4790T и A12X:

Test i7-4790T A12X Crypto 3870 3727 Integer 4412 5346 Floating Point 4140 4581 Memory Score 3279 5320 
6

2 ответа на вопрос

11
harrymc

A12X - это огромный процессор, построенный на новейших технологиях, значительно уступающий старому i7-4790T, выпущенному в 2014 году.

Первое отличие заключается в производственном процессе: A12X представляет собой 7-нм чип, а i7-4790T Haswell-DT построен на более старом 22-нм. Меньшие транзисторы означают меньше места, меньшую рабочую мощность и более быстрые сигналы на более коротких путях чипа.

A12X имеет колоссальные 10 миллиардов транзисторов, в то время как у i7-4790T всего 1,4 миллиарда.

Это позволяет A12X иметь шесть целочисленных конвейеров выполнения, среди которых два представляют собой сложные блоки, два блока загрузки и хранения, два порта ветвления и три конвейера FP / vector, что дает в общей сложности приблизительно 13 исполнительных портов, что намного больше, чем восемь порты исполнения архитектуры Haswell-DT.

Что касается размера кэша, на каждое ядро ​​у нас есть A12: каждое большое ядро ​​имеет кэш-память первого уровня объемом 128 КБ и кэш-память второго уровня объемом 8 МБ. Каждое маленькое ядро ​​имеет 32 КБ L1 и 2 МБ L2. Также есть дополнительные 8 МБ SoC-wide $ (также используются для других целей).

Архитектура Haswell имеет кэш-память первого уровня объемом 64 КБ на ядро, кэш-память второго уровня объемом 256 КБ на ядро ​​и кэш-память третьего уровня объемом 2–40 МБ (совместно используемая).

Видно, что A12X превосходит i7-4790T по всем показателям и с большим отрывом.

Что касается архитектуры RISC против CISC, то сейчас это спорный вопрос для современных процессоров. Обе архитектуры развились до такой степени, что теперь они до некоторой степени эмулируют функции друг друга, чтобы смягчить слабые стороны.

Я привожу здесь таблицу сравнений с процессорами Xeon 8192, i7 6700k и AMD EPYC 7601, составленными Reddit (ссылка ниже), где A12 хорошо сравнивается даже с процессорами для настольных ПК:

image

Источники:

7 нм TSMC больше сравнимо с 10 нм Intel, так что это «всего лишь» лидерство в двух процессах. RISC / CISC вносит заметный вклад в микроархитектуру. RISC не будет иметь кэш микрокода с существенно затраченными инструкциями (~ 90 бит на операцию против ~ 38 бит на инструкцию со значительным предварительным кодированием в RISC Icache) для уменьшения задержки / энергии декодирования. Дополнительные регистры также могут повысить производительность на 1-2%. Эти преимущества RISC малы по сравнению с микроархитектурой и крошечны по сравнению с технологией процесса, но они не равны нулю. Paul A. Clayton 5 лет назад 1
@ PaulA.Clayton современные дебаты RISC / CISC бесполезны. Процессоры ARM давно используют микрокод. У RISC больше регистров просто потому, что они не могут получить доступ к памяти в обычных инструкциях. ЦП CISC могут иметь сотни регистров внутри из-за переименования регистров. И где ты взял эти 90 и 38 бит? [Средняя длина инструкций x86] (https://www.strchr.com/x86_machine_code_statistics) составляет всего [более 2 байтов] (http://lkml.iu.edu/hypermail/linux/kernel/0507.3/1736. HTML) phuclv 5 лет назад 0
@phuclv, процессоры Intel используют микрокод еще до того, как на пользовательских устройствах существовала архитектура ARM. Микрокод был реализован после ошибки Pentium. Что касается CISC / RISC, микрокод Intel внутренне обрабатывает инструкции CISC для нескольких инструкций RISC и передает их в конвейер. Strom 5 лет назад 0
спасибо за добавление источников! Albin 5 лет назад 0
0
Claris

Вы сравниваете очень разные архитектуры между A12X и Haswell (Intel i7-4790T), и результаты тестов не сопоставимы напрямую, так как эти два процессора не сопоставимы напрямую.

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

Согласно вашим тестам GeekBench, пропускная способность памяти между A12X и чипом haswell сильно искажена. A12X имеет примерно вдвое большую производительность памяти. В то время как тесты памяти обычно объединяют два не связанных между собой элемента: задержку и пропускную способность, A12X - явный победитель.

Следующий пункт - производительность с плавающей запятой. Этот тест пытается сравнить оптимизированный вручную код между различными архитектурами. Хотя цифры могут искажаться из-за качества оптимизаций, это должно быть хорошим критерием для общей производительности FPU и быть напрямую сопоставимым. Здесь два процессора имеют сходные результаты.

Наименее полезный тест - тест с целочисленной производительностью. Это не целочисленная производительность в арифметическом смысле, это скорее набор общих рабочих нагрузок, не связанных с FPU. Эти тесты имеют смысл в том смысле, что они показывают производительность приложений на платформе, но не имеют смысла говорить, что процессор A лучше, чем процессор B, поскольку они несколько чувствительны к производительности памяти.

Последнее - это рабочая нагрузка Crypto. Это имеет смысл в аннотации, хотя конкретный тест, вероятно, не так полезен. Высокопроизводительная криптография должна использовать AES-GCM, а не AES-CTR, последний из которых также не поддается аппаратному ускорению. Это также специфичный для домена тест.

Если бы я попытался сказать что-то умное об этих цифрах, давайте попробуем это;

  • A12X значительно улучшил пропускную способность памяти. Частично это связано с тем, что память рабочего стола отстает от современных технологий памяти, а также потому, что производительность памяти улучшилась за пять лет.
  • A12X имеет немного лучшую производительность FPU на ядро, чем i7-4790T.
  • A12X будет работать с общими рабочими нагрузками, аналогичными или более быстрыми, чем у i7-4790T.
  • A12X намного лучше справляется с нагрузками, характерными для конкретной области, поскольку он обеспечивает аппаратную поддержку новых и различных инструкций, которые лучше отражают потребности планшетного ПК / сотового устройства.

Делать более крупные выводы на основе этих цифр или делать архитектурные заявления на основе этих цифр, вероятно, неразумно.

Что касается сравнения типовой архитектуры, то RISC против CISC больше не имеет смысла, поскольку оба набора команд декодируются в микрооперации, которые определяют распределение рабочей нагрузки. Сравнение, основанное исключительно на портах исполнения, вероятно, не имеет особого смысла, так как это строительные блоки высокого уровня, которые не могут быть напрямую сопоставлены.

Кэш-память - это важная величина, которая напрямую влияет на производительность процессора, но она также очень сложна. То, как кэш распределяется между архитектурой Intel и A12X, совершенно иное. В общем, лучше иметь больше кеша, но не менее важна когерентность кеша, которая влияет на способность многопоточных приложений обмениваться данными между ядрами.

Наконец, процессор должен работать для вашей рабочей нагрузки. В то время как A12X может поддерживать рабочую нагрузку настольного компьютера в будущем, i7 v4 поддерживает его сейчас, и это делает его лучшим выбором для настольного процессора, хотя он на четыре-пять лет старше A12X.

Похожие вопросы