Как AMD Ryzen 7 4700U работает с USB-шиной мы узнали, тестируя один из самых популярных USB-накопителей — GOODRAM UME3 128GB USB 3.0, но полученные результаты вряд ли внесли что-то новое в аспекте производительности самого процессора. Его таланты в многопоточности получили наивысшую оценку у геймеров. Осталось разрушить иллюзии или укрепиться в мысли, что новый AMD Ryzen столь же эффективен и в классической однопоточной схеме. Экспериментируем с платформой ZenBook UM425.
Латентность кэш-памяти
Как следует из результатов работы CPUID (функция 8000 0005h), каждому ядру AMD Ryzen 7 4700U доступно 32 КБ кэш-памяти L1-уровня для хранения инструкций и столько же для обслуживания данных — всего 512 КБ на процессорный сокет. Операции с L2-кэш используют больше пространства: функция 8000 0006h рапортует о доступности для одного ядра 512 КБ статической памяти. Хотя кэш-память L3 представлена объемом в 8МБ, это пространство делится между двумя 4-х ядерными комплексами CCX (Compute Complex), а, значит, при однопоточной нагрузке отдельно взятое процессорное ядро в состоянии оперировать только половиной — всего лишь с 4МБ L3-кэш.

Представленный коллаж демонстрирует самый пессимистический прогноз на задержки в доступе к кэш-памяти процессора AMD Ryzen 7 4700U, который, кстати, содержит еще и графическое ядро Radeon Graphics. Это связано с тем, что замеры производительности выполняются на базовой частоте 2 ГГц, хотя сам чип поддерживает узаконенный разгон ядер до 4,1 ГГц в зависимости от оценки своего состояния. На максимуме латентность всех уровней кэш будет, пусть и не в два раза, но существенно ниже.
Численные значения задержек составляют не более 1 нсек — для L1, от 2 до 3 нсек — для L2, от 7 до 14 нсек — для L3. Отличный результат!
Производительность оперативной памяти
Главное для современных процессоров — построение эффективных алгоритмов работы с оперативной памятью. Как водится, лучше всего оценить латентность доступа к RAM, сравнивая AMD Ryzen 7 4700U с ближайшим конкурентом, недавно побывавшим в лаборатории «Компостер 2.0» в составе ноутбука ASUS B9450F, — Intel Core i7-10510U.

Левый график отображает измерение задержки на процессоре Intel Core i7-10510U. Как видим, здесь с увеличением блока данных, вплоть до выхода за пределы кэш-памяти, среднее значение латентности доступа к DRAM составляет 83,2 наносекунды. Латентность же AMD Ryzen 7 4700U (правый график) в среднем несколько выше — 95,6 нсек. Уравновесить результаты можно взяв во внимание, что Intel показал себя лучше на частоте 2339,4 МГц, в то время, как тактирование AMD выполнялось частотой 1998,8 МГц.
Учитывая, что на быстродействие Core i7-10510U повлиял 15% прирост таковой частоты (по сравнению с процессором Ryzen 7 4700U), становится понятным его 13% уменьшение латентности. Другими словами, с учетом весовых коэффициентов AMD не хуже, а даже лучше на 1-2%. Приняв во внимание погрешности измерения, будем считать, что победила дружба.
Подводя итоги
Одна из причин появления стереотипа о высокой латентности памяти у AMD состоит в предпринятой когда-то ранее попытки скрыть NUMA-топологию для серверных процессоров, физически имеющих NUMA в пределах одного сокета. При этом платформа «не сознается» в наличии NUMA, не предоставляя соответствующей топологической информации в таблицах ACPI. Это решение, возможно принятое под давлением маркетологов, привело к тому, что NUMA-оптимизированное приложение, не получая информации от OS API/ACPI, управляет выделением памяти без учета NUMA, что не позволяет минимизировать топологическую дистанцию между процессором и системным ОЗУ. Итог закономерен — рост латентности.
Адекватный сисадмин решает подобную проблему изменением одной опции CMOS Setup, а в потребительских процессорах, являющихся одним NUMA-доменом, ее просто нет, хотя качество проектирования контроллеров памяти у процессоров AMD сомнений не вызывает.
И вот теперь процессоры Ryzen, если их сравнивать с семейством Core, неизменно демонстрируют лучшую многопоточную производительность. Однопоточность чипов Intel всегда оставалась последним аргументом в споре процессорных гигантов. Теперь процессоры AMD окончательно теряют имидж более дешевой альтернативы процессорам Intel, преодолев этот разрыв и даже немного превосходя своих конкурентов.