Чего-то чем далее, тем более оно странно выглядит. Запишу-ка на память.
1) Это как надо было упороться, чтобы разным ядрам (производительным и энергоэффективным) дать разные CPUID, ну вот зачем, чтобы жизнь медом не казалась? Оно кажется логичным только с первого взгляда, но CPUID - это до сих пор был идентификатор устройства а не ядра в нем. Отсюда уже пошли приколы в некоторых приложениях.
Мне как-то очевидно даже, что правильный подход - это или совсем новую инструкцию придумать или расширение для CPUID с дополнительной информацией в регистрах, но так чтобы оно не конфликтовало с прежним подходом. Т.е. CPUID общий, но есть специальные расширения, если хочется узнать какое ядро задействовано.
С другой стороны, учитывая, что ряд инструкций не доступен на E-cores и эту ситуацию надо как-то учитывать ... В общем дурдом.
2) Планировщик задач. Если подумать, сложно представить, как вообще должен работать тут правильный планировщик, потому что в зависимости от сценария использования и ОС и приложения могут быть разные подходы. Сейчас юзеры жалуются, что можно запустить что-то тяжелое, например рендеринг, переключиться на браузер и планировщик (виндовый) вытолкает рендеринг на слабое ядро, хотя логично было бы наоборот. Но планировщику не известно как правильно, хотя бы потому что браузер тоже может жрать ресурсы и по другой логике его таки правильно определить на P-Core.
3) До сих пор что-то не особо выходит компенсировать аппаратные усложнения правильным софтописательством. Или получается, но для ограниченного круга задач, обычно серверных решений.