Есть две калифорнийские компании, производящие процессоры для домашних пользователей и серверов. Это компании Intel (штат Калифорния) и Advanced Micro Devices, или общепринято AMD. Уже больше 50 лет эти две компании ведут ожесточенную конкуренцию на компьютерном рынке, двигая прогресс вперед.
За все время конкуренции компании в равной степени привнесли на рынок что-то свое, Intel дала миру многопоточность в лице Hyper-Threading, а AMD самая первая преодолела планку в 1Ггц и выпустила самый первый двух ядерный CPU на основе архитектуры x86.
Но сейчас уже 2020 год, ожесточенная конкуренция вспыхнула с новой силой. На ринге домашних процессоров от лица AMD выступает линейка Ryzen, уже вобравшая в себя 3 поколения чипов. А противостоит ей ряд процессоров Core от компании Intel, начавшая свой путь еще в 2006 году в лице Core 2 Duo, и продолживший свое существование в виде линейки "Core i".
Так давай-те же посмотрим, что из себя представляют плоды этих компаний. Чем же отличается Ryzen от Intel Core? Заглянем, как говорится, под капот...
Монокристалл против чиплета
Еще десять лет назад, у обеих корпораций был сложный выбор. Intel, несмотря на протесты некоторых инженеров, предпочла развивать монолитные 45-нм кристаллы против перспективной многочиповой компоновки.
Что же такое монолиты? Это такая компоновка процессора, в которой все компоненты процессора находятся в одном кристалле. В такой компоновке снижается задержка, быстрее осуществляется доступ любого ядра к кэшу и системной памяти, что дает возможность оптимизировать производительность и даже повысить энергоэффективность.
Производители микропроцессоров и других изделий с использованием кремния, по статистике, никогда не имеют стопроцентного выхлопа с произведённой продукции. Доход зависит от количества брака на производстве. Например, около 90% процессоров Intel свыше 14-нм готовы к полноценному использованию. Но это значит, что 1 процессор из 10 окажется с дефектом, 10 процессоров из 100 не принесут профит.
Если сказать грубо, то схема с монокристаллом хорошо себя проявляла при производстве двух- или четырехъядерных процессоров, но при увеличении числа ядер, непропорционально начинает расти брак. Причем как раз из-за единости конструкции. Чем сложнее единая конструкция, тем выше вероятность испортить изделие. И эта вероятность растет по экспоненте.
Ну а что же чиплеты?
Чиплеты по своей сути - это многокристальный или многочиповый модуль. Иначе говоря, AMD решила сделать процессоры модульными, объединив их собой шиной универсальной Infinity Fabric (iF). Можно сказать что один процессор Ryzen из себя представляет несколько отдельных процессоров, связанный как раз этой самой 256-разрядной двунаправленной шиной IF.
Хочу отметить, что это не гирлянда из случайных ядер, а упорядоченные кластеры 4 ядер и их кэшей, называемые CCX. Два набора CCX объединяются в CCD, создавая основу процессоров Ryzen и Epyc на архитектуре Zen. Пойдем до конца – 8 CCD дают возможность Threadripper 3990X использовать до 64 ядер.
Такие «наборы» позволяют снизить количество идущих в утиль процессоров – каждый 4-ядерный блок отличается максимальной функциональностью и не выходит из строя при исключении ядер из работы. То есть два блока с дефектными ядрами, грубо говоря, можно пихнуть в сборку для 6-ядерного процессора и снизить его цену. Выхлоп на производстве получается больший.
Ахиллесова пята Ryzen - это как раз шина Infinity Fabric, ибо обмен данных по связями Infinity Fabric происходит с большей задержкой. В этом и причина не очень удачного релиза Ryzen первого и второго поколения, ибо такие задержки приводили к фризам и статтерам в играх.
Но AMD не сидела сложа руки, и выпустила Ryzen 3000, где проблему задержки частично исправила ОГРОМНЕЙШИМ кэшем третьего уровня L3. Так I9 9900K имеет на борту только 16 мегабайт, AMD же дала 3700X 32 Мбайт L3 и 3900X 64 Мбайт L3.
Стоит отметить, что у Intel тоже были чиплетные разработки. Так несколько человек смогли найти подобные прототипы с четырех чиповой компоновкой. LGA 1156 под кодовым названием SoMa.
Битва насмерть: Sunny Cove против Zen 2
И мы все ближе к основной теме статьи – прямому сравнению процессоров. Очевидно, что микроархитектуры последних процессоров Intel и AMD значительно различаются.
В AMD Zen 2 блок кэш-памяти 3-го уровня имеет функцию обратной записи, а кэш-памяти 2-го уровня использует блок предсказателя переходов (ветвлений) TAGE. Sunny Cove и Skylake используют стандартные предсказатели и сказать об этом больше нечего – Intel хранит подробности в тайне.
Перейдем к блоку декодеров: в решениях Intel с декодером инструкций на пять полос и с предсказателем ветвлений обеспечивается до 6 микроопераций за такт. У Zen 2 четыре полосы и обрабатываются до 8 инструкций из кэша в планировщик за цикл.
AMD отдельные планировщики для целых чисел (INT) и чисел с плавающей запятой (FP), то есть разбивает в две очереди для переименования и одну распределяемую очередь на удаление.
Только вообразите, но серверная часть – это совершенно разные истории в процессорах Intel и AMD. AMD почти сразу разделяет очереди целых чисел и векторов, в то время как у Intel единый планировщик.
Одним из основных отличий в исполнительных блоках заключается в том, что ядро Sunny Cove поддерживает инструкции AVX-512, а ядро Zen 2 ограничено инструкциями AVX-256, но выполняет две операции за один прием.
Первый может выполнять один 512-битный набор команд FMA (умножение-сложение c однократным округлением) или два 256-битных FMA за такт, а второй поддерживает четыре 256-битные инструкции за такт (2 умножения и 2 сложения) вместе с четырьмя параллельными выполнениями INT. В Sunny Cove есть четыре блока для арифметических инструкций ALU, каждый с iMUL, iDIV и MULHi.
AMD Zen 2 имеет гораздо более широкую пропускную способность инструкций load–store по сравнению с 10-нм процессором Sunny Cove от Intel, у которого хоть и больше портов, но с общей пропускной способностью 128 бит. А у AMD, как вы могли понять ранее, пропускная способность 512-бит, 256-бит загрузки L2-кэша и 256-битная пропускная способность L2.
Итоги
Отличительные черты расписаны, но однозначно сказать "что лучше?" нельзя. Плотная конкуренция компаний только началась. Так что можете выбирать смело по своему кошельку и требованиям.
Например я бы, железобетонно брал Ryzen и Epic для профессиональных задач и создания контента. Ибо там не так важна скорость оперативной памяти. Зато очень сильно решает количество потоков.
А Intel я бы посоветовал для игроманов. Ибо пока что остаются игры, с плохой поддержкой многопоточности, требующие высокую частоту процессора. Ну и не стоит забывать, что у Core скорость случайной записи и чтения в 2 раза выше, чем у Ryzen, что для игр опять же.
Важно отметить, что вывод полностью мое субъективное мнение, и оно может отличаться от вашего. Я буду рад подискутировать в комментариях на эту тему.
Спасибо за прочтение!
Ставьте пальцы вверх и подписывайтесь на канал , чтобы не пропустить интересные статьи!)