29,7 тыс подписчиков
Недавно я выпустил пост про 1305U, где вы справедливо заметили, что "афтар че ты гонишь". Конкретно я объяснил, что без P-ядер E-ядра работать нормально не могут, но вот почему так - не объяснил. Заранее забегая вперед скажу, что в интернете нормальной инфы по поводу практически нет, так что пришлось собирать все по крупицам из разных источников, а что собрать не смог взял из памяти.
И так, контекст: i3 1305U - процессор, у которого 5 ядер, но P-ядро всего одно. Я имел смелость назвать его одноядерным, но, судя по тестам из комментариев, E-ядра имеют производительность обычных ядер 9 поколения intel. На данный момент E-ядра могут работать отдельно от P-ядер, но ни о каком паритете с 9 поколением речи нет, если верить ресурсу IXBT. В исследовании зарубежных ребят (к которому есть вопросы) E-ядра 12 поколения сопоставимы по производительности с большими ядрами на архитектуре Haswell (никаких частот IXBT не дали, но скорее всего, это было что-то около 3.3-3.5 ГГц).
Далее посмотрим на саму структуру ядер: если P-ядро - это большое и полноценное ядро, то E-ядра разбиты на кластеры, в каждом из которых 4 ядра, кэш L2 у них общий, общение ядер между собой (и что важнее - с памятью) происходит медленнее. Теперь внимательно: у intel есть фишка, которая называется Thread Director - аппаратный планировщик, который находится в процессоре и распихивает нагрузку по ядрам (работает то ли вместе с планировщиком винды, то ли имеет приоритет над ним, то ли наоборот).
Так вот, судя по тестам, планировщик этот как-то связан именно с P-ядрами (это объясняет и то, что многие платы тупо не дадут вам выключить все P-ядра. Не все, но 90% из тех, что есть). Если мы выключаем все P-ядра, то выключается и этот самый Thread Director, либо начинает работать некорректно. Что до поддержки инструкций, точно известно, что AVX-512 либо некорректно работает с E-ядрами, либо не работает вовсе (основано на синтетических тестах).
Резюмируем: E-ядра - это ядра-сателлиты, которые могут выполнять задачи самостоятельно, но без P-ядер процессор все равно теряет большую часть производительности, нежели от отключения всех E-ядер. Можно привести аналогию, что маленькие ядра - это нечто среднее между нормальными процессорными ядрами и универсальными процессорами видеокарты (меня за такую аналогию повесят за хозяйство). Об этом говорят и соединенный кэш, и "кластерность", отсутствие поддержки AVX-512 (это только то, что 100% не работает), ну и кроме того - отключение фичи Trade Director, то есть чисто по логике, нагрузкой на процессор управляют именно P-ядра, и процессор без них можно сравнить с компанией без менеджера.
Вот вам и ответ, почему i3 1305U - это одноядерный процессор. У него действительно 1 ядро, но при этом 4 мощных помощника для этого самого ядра, которые, если можно так сказать, умеют работать его заместителями. В будущем выпущу нормальную прям полноценную статью про отличия P-ядер от E-ядер, но, как наверное сами понимаете, все тут будет не очень просто. Я даже не уверен, что не напутал ничего в этом посте, так что если что - можете поправить меня в комментариях. Увидимся!
2 минуты
17 января 2023
922 читали