Красный кэш vs реальность
Привет Пикабу! Год назад AMD запустила пробный процессор 5800X3D с увеличенным объемом кэша третьего уровня, и из-за своей отличной игровой производительности он имел оглушительный успех. Поэтому не удивительно, что в линейке Ryzen 7000 компания развернулась по-полной – есть и 8, и 12, и даже 16-ядерный X3D-камень, там суммарно под 150 МБ кэша: в такой объем можно без проблем положить Windows 95 .
Но в этот раз чуда не случилось – есть вопросы и к производительности, и к надежности, да и немало подводных камней, про которые AMD старалась особо не афишировать. Поэтому давайте разбираться, что это еще за кеш, стоит ли рассматривать в покупке процессоры Ryzen 7000X3D, что нужно знать и почему вы должны забыть про их покупку на Ali или Avito.
Минутка (нет) теории
И для начала – что такое кэш? Это небольшой объем очень быстрой памяти, которая находится максимально близко к вычислительным блокам процессора и нужна для ускорения работы.
Все дело в том, что с точки зрения процессора ОЗУ находится далеко, и это стало проблемой для десктопных камней уже в 90-ые, когда они перешагнули за сотню мегагерц. Это привело к тому, что время такта снизилось до единиц наносекунд, тогда как обращение к памяти занимает на порядок, а то и два больше.
Решение в Intel придумали быстро: снабдили процессор небольшим объемом собственной памяти, доступ к которой занимает один, в худшем случае несколько тактов. Хранение в таком кэше инструкций и важных данных позволяет ощутимо снизить время ожидания информации вычислительными блоками, что и вылилось в прирост производительности.
Но почему тогда до последнего времени никто не задумывался о кэше? Да, многие знают, что в современных CPU он имеет три уровня , различающихся по скорости доступа и объему, и суммарно достигает несколько десятков мегабайт – и на этом все.
Ответ тут прост: последний раз проблема с кэшем остро стояла лишь в начале нулевых, когда простым Celeron кэша второго уровня ощутимо не докладывали – всего 128 КБ против 256 или даже 512 КБ у Pentium 4 на LGA478. Тогда это приводило к тому, что на одинаковых частотах сельдерей мог на 20-30% проигрывать пеньку.
Дело в том, что в то время кэш был дорогим и проблемным, как и любая другая новая технология, и при этом, как и сейчас, занимал большую часть площади чипа – поэтому для удешевления производства процессоров чаще всего резали именно его. Уже к середине нулевых с выходом LGA775 проблемы были решены, и даже базовым Core 2 Duo щедро насыпали аж 4 МБ кэша, тогда как поздние Core 2 Quad могут похвастаться уже 12 МБ быстрой памяти L2.
И с тех пор прогресс в кэше сильно замедлился. Да, появился еще более низкий уровень L3, доступ к которому могла иметь даже интегрированная графика, но в целом формула в 2-3 МБ кэша на ядро с тех пор не менялась, потому что процессорам буквально не нужно было больше для данных для быстрого доступа.
Именно поэтому вышедшее в 2014 году 5-ое поколение процессоров Intel, оно же Broadwell, с треском провалилось: попытка добавить 64-128 МБ памяти eDRAM, или кэша уже четверого уровня на отдельной микросхеме, давало реальный прирост лишь в единичных задачах, где нужно работать с большим объемом предсказуемых данных – например, при архивировании.
В играх, при работе с мультимедией и графикой новинки нередко оказывались даже хуже предшественников из-за более низких тактовых частот.
Хотя, конечно, полностью тупиковым eDRAM не стал: как раз в 5-ом поколении Intel ощутимо бустанула свою интегрированную графику Iris, которая также имела доступ к этой памяти. Как итог, это породило несколько линеек ультрабуков, которые были способны тянуть на интегряшках свежие на тот момент игрушки, включая третьего ведьмака на минималках. Но, разумеется, в случае с десктопами это было мало кому интересно, поэтому с выходом Skylake Intel предпочла забыть об L4.
5800X3D – когда кэш помог
И вот, спустя почти 10 лет после выхода пятитысячных интелов, AMD резко анонсирует 8-ядерный Ryzen 5800X3D с дополнительной микросхемой кэша L3 на 64 МБ.
Производить его было нелегко – дополнительный кэш идет вторым этажом над кристаллом с ядрами, и чтобы бутерброд влез по толщине под крышку, пришлось срезать 95% пустого кремния, доводя толщину ядерного чипа всего до 0.02 мм.
Бонусом идет использование самого свежего степпинга B2, что позволило снизить рабочие напряжения, а также пониженные на пару сотен мегагерц частоты относительно обычного 5800X. Ну и вишенка на торте – такой процессор не получится разогнать традиционными методами через BIOS. AMD объясняет это нежностью кристалла с 3D V-cache, который просто не переживет повышение напряжения.
Но самым интересным был вопрос о том, какой прирост производительности даст утроенный объем кэша L3? Ведь за последние десятилетие мы уже привыкли к тому, что информацию о кэше нам подают вскользь, и никто уже давно не изучает его влияние на производительность – да и такой возможности не было, что AMD, что Intel урезают кэш обычно вместе с ядрами, и последние очевидно влияют сильнее.
С другой стороны, у Ryzen из-за чиплетной структуры всегда были проблемы с задержками доступа к ОЗУ, поэтому именно такие камни должны лучше всего отзываться на увеличение объема кэша. Более того, решения AMD с одним «ядерным» кристаллом оказываются по скорость записи данных в память аж вдвое медленнее, чем старшие 12- и 16-ядерные Ryzen с двумя кристаллами – эту проблему также призван решить увеличенный кэш.
Собственно, так и оказалось – конечно, с лозунгом, что Ryzen 5800X3D - лучший игровой процессор, AMD погорячилась, все-таки лучший камень от Intel на тот момент, i9-12900KS, был слегка быстрее в играх, хотя и ощутимо дороже и горячее.
Но прирост относительно обычного 5800X даже с учетом чуть большей частоты последнего был серьезным – в среднем около 20%. Даже 16-ядерный 5950X в играх был хуже – хотя здесь уже ничего удивительного, единичные проекты могут загрузить работой три десятка потоков.
Но вот в рабочих задачах ситуация оказалась куда скромнее: в большинстве программ 5800X оказывался даже быстрее, лишь с жадным до памяти архивированием 5800x3D слегка вырвался вперед. И это понятно: вычислительные задачи предсказуемы, что позволяет обойтись меньшим объемом кэша для подпихивания процессору данных в быстром доступе.
Особенно если учесть, что 32 МБ у 8-ядерного 5800X – это больше, чем у 16-ядерного i9-12900K, который довольствуется только 30 МБ.
А вот в случае с играми предсказуемость меньше, да и нередко нагрузка на память высокая, поэтому большой объем кэша действительно нивелирует большие задержки доступа к ОЗУ.
В итоге на AM4 всех все устраивало: хочется максимальную производительность в играх от 5-летного сокета на уровне 12-ого поколения процессоров Intel? 5800x3D – отличный выбор даже для не самых топовых плат с такой себе реализацией VRM, так как процессор сам по себе достаточно энергоэффективный из-за отборного чипа и сниженных частот. Хочется максимальную производительность в рабочих задачах? Есть 16-ядерный 5950X, который навязывает конкуренцию i9-12900К.
Нужно отдать должное – AMD закрыли эпоху AM4 с лучшей стороны.
Так что теперь остается ответить лишь на два вопроса – почему Intel не вернулась к технологии eDRAM и какими вышли Ryzen с 3D V-cache на AM5?
В случае с Intel ответ простой – в увеличенном кэше нет нужды. Компания продолжает использовать один монолитный кристалл со всеми ядрами и контроллерами внутри, в отличие от разнокристалльных Ryzen. Как итог, у синих задержки доступа к ОЗУ и между ядрами ощутимо ниже, чем у красных, поэтому процессоры Intel комфортно себя чувствуют с относительно небольшим объемом кэша – который, в любом случае, компания время от времени слегка увеличивает.
При этом в следующем 14-ом поколении процессоров Intel, по слухам, перейдет на чиплетную структуру и вернется к идее кэша L4, который будет отдан интегрированной графике. С учетом того, что последняя будет на архитектуре Arc – Intel вполне может побороться за звание производителя лучшей интегрированной графики с AMD, которая до сих пор лидер в этой области.
Ryzen 7000x3d – фокус не (совсем) удался
Что касается AMD, то компания продолжила использовать чиплетную архитектуру, как итог – Ryzen 7000 имеют 1 или 2 кристалла с ядрами и один с контроллерами ввода-вывода, а также с простенькой интегрированной графикой. То есть контроллер ОЗУ снова отделен от ядер, но AMD сделала все возможное для снижение задержек: у всех Ryzen 7000 частота внутренней шины Infinity Fabric доведена до 2000 МГц, что ранее было доступно только для лучших Ryzen 5000, и то с разгоном. Кроме того, в случае с DDR5 большое влияние имеют именно большие внутренние задержки – поэтому даж е в случае с однокристалльными процессорами Intel переход с DDR4 увеличивает время доступа к памяти до полутора раз.
Как итог, в случае с Ryzen 7000 задержки ОЗУ оказываются сравнимыми с Intel Core 12 и 13 поколений при работе с DDR5 на одинаковой частоте, да и по пропускной способности большой разницы между ними нет.
Но при этом на Intel 13-ого поколения возможности по разгону лучше – можно замахнуться и на 7000 МГц, пробив сотню гигабайт/с пропускной способности. Получается, что увеличенный кэш Ryzen снова нужен?
И да и нет. Начнем с топовых Ryzen 7900X3D и 7950X3D. У них изначально два процессорных кристалла по 32 МБ памяти L3 на борту, и к первому из них теперь добавляется еще один чип 3D V-cache на 64 МБ, доводя суммарный объем кэша третьего уровня до 128 МБ. И это приводит к новой интересной проблеме: получается, что один процессорный кристалл теперь тонкий и с 96 МБ памяти, а второй – обычный с 32. И, разумеется, лазить за данными в кэш первого кристалла из второго – долго. При этом работа кэша для программистов полностью прозрачна, рулением занимается сам процессор.
Еще одна проблема осталась со времен Ryzen 5800X3D: двухэтажность и нежность дополнительного кэша привели к ограничению напряжения, частоты и теплопакета, причем последний снизился достаточно ощутимо, со 170 до 120 Вт.
Как это отразилось в рабочих задачах, которым в большинстве своем огромный L3 не нужен – очевидно: обычные версии Ryzen без X3D оказываются и слегка быстрее, и ощутимо дешевле.
Более того, проблему с низкой пропускной способностью DDR5 дополнительный кэш не исправил просто потому, что для вычислительных задач это не проблема: тот же рендер не замечает даже перехода с одноканала в двухканал, чего уж тут говорить о разницы в скорости с четырехканалом.
А что по играм? Тому же 5800X дополнительный L3 ощутимо помог. Поэтому и не удивительно, что у старших Ryzen 7000 ситуация аналогичная: что Windows, что игроделы уже научились работать с чиплетными камнями AMD и стараться нагружать именно первый 8-ядерный кристалл, который как раз и имеет шапку в виде 3D V-cache. Так что и 7950X3D, и 7900X3D на 10-15% быстрее обычных версий, тут никаких сюрпризов, и даже 13900K слегка позади.
Но тут возникает интересный нюанс. Как мы уже объяснили в одном из предыдущих роликов, 8 ядер для игр хватит еще очень надолго, то есть брать 16-ядерный 7950X3D чисто на поиграть – не самая здравая идея. А в рабочих задачах обычная версия этого CPU лучше. Вот и получается, что старшие X3D интересны разве что тем, кто и активно занимается вычислительной работой, и хочет одновременно поиграть с картой уровня RTX 4090. Разумеется, таких пользователей не очень много, так что для большинства такие процессоры не представляют интересна.
Так что спустимся до более народного 8-ядерного Ryzen 7800X3D. В рабочих задачах тут ситуация ровно как у старших собратьев – обычный 7700X чутка быстрее из-за более высоких частот. Но, с другой стороны, никто и не берет такие процессоры для расчета погоды на Марсе, а вот для игр 8 ядер – оптимум. И тут новинка красных показывает себя просто отлично – лишние 64 МБ кэша делают ее на 10-15% быстрее, и как итог, 7800X3D напрямую соревнуется с топовым и гораздо более дорогим i9-13900K.
Казалось бы, вот он, лучший игровой процессор современности – но тут опять вылазит нюанс. 5800X3D был хорош в том числе и потому, что это вишенка на торте AM4 – ничего лучше для игр на этом сокете нет и уже не будет, и если хочется еще больше FPS, то нужно тратить много денег для перехода на AM5 или LGA1700. А вот в случае с AM5 линейка Ryzen 7000 – первая, но далеко не последняя. И с учетом того, что даже обычный Ryzen 7 7700X без проблем вытягивает RTX 4090 в реалистичных для нее разрешениях 2К и выше – нет никакого смысла в покупке 7800X3D, ибо через год выйдут Ryzen 8000, которые по слухам будут на 20-25% быстрее и которые точно обгонят X3D версии, при этом стоить новинки скорее всего будут даже дешевле.
Так что 7800X3D, безусловно, хорош – но здесь и сейчас, и только для тех, кто хочет играть с топовой видеокартой в FHD на 360-гц экране, выжимая из железа максимум плавности. Для реалистичных геймеров нет никакого смысла доплачивать за 64 МБ кэша лишние полторы сотни долларов или аж 20 тысяч рублей на Ali – они дадут минимальную разницу далеко за 200 FPS, так что почувствовать, что деньги потрачены не зря, не получится.
Может быть, польза от 3D V-cache есть в других применениях? Первое что вспоминается – это интегрированная графика, которая как раз появилась во «взрослых» Ryzen 7000. К тому же были слухи, что лишние 64 МБ кэша увеличивают ее производительность аж в 3-4 раза. Увы, как оказалось, реальный буст – меньше 10%, да и сама по себе эта графика не способна ни на что больше, чем тянуть доту на минималках.
Но что самое печальное – Ryzen 7000X3D оказались слишком нежными. И хотя разгон любых x3D процессоров через BIOS заблокирован, многие утилиты позволяли увеличивать напряжение на процессоре из системы. С печальным результатом – малейший выход за пределы 1.35 В приводит к гарантированной смерти – это касается и Ryzen 5800X3D. Более того, даже если не баловаться с разгоном, у многих старшие двухкристалльные Ryzen 7900X3D и 7950X3D умирают сами по себе: у кого на следующий день после покупки, у кого через месяц. Возможно, дело в разнородном нагреве двух процессорных кристаллов, ведь только один из них имеет второй ярус с кэшем. Но, в любом случае, проблема есть и достаточно массовая – и самое худшее в том, что официально в России эти процессоры не купить, они есть лишь на различных маркетплейсах. Поэтому если спустя пару недель после покупки свежий Ryzen отправится в кремниевую вальгаллу – вернуть деньги уже не получится, а стоят такие чипы немало. Касается ли эта проблема однокристалльного Ryzen 7800X3D – пока неизвестно, но лучше не рисковать и дождаться их появления в крупных сетевых магазинах.
Итоги
Обычно бывает, что первый блин оказывается комом, однако с технологией 3D V-cache оказалось все ровно наоборот: Ryzen 7 5800X3D получился на редкость хорошим процессором, который продлевает жизнь сокету AM4 в играх на долгие годы вперед. У AMD были все шансы повторить его успех с AM5 – но не удалось. Старшие процессоры, которые обычно берут под вычисления, буста от лишнего кэша L3 не получают вообще – даже проигрывают обычным версиям. Младший 8-ядерный 7800X3D, с одной стороны, оказался лучшим игровым камнем современности – только вот на деле почувствовать это не получится, чего не скажешь про ощутимую переплату за него. А с учетом того, что на горизонте уже видны продвинутые Ryzen 8000, да и новости о внезапных смертях 7000X3D оптимизма не прибавляют – нет никакого смысла в покупке таких процессоров. И если вспомнить, что обычные Ryzen 7000 уже активно дешевеют за рубежом, и рано или поздно это докатится и до России – они все еще остаются наилучшим выбором по цене-производительности на сокете AM5.