Это известно как гетерогенная многопроцессорная обработка ( HMP ) и широко применяется в мобильных устройствах. В устройствах на базе ARM, которые реализуют big.LITTLE, процессор содержит ядра с разной производительностью и профилями мощности, например, некоторые ядра работают быстро, но потребляют много энергии (более быстрая архитектура и / или более высокая тактовая частота), в то время как другие являются энергосберегающими, но медленными ( более медленная архитектура и / или более низкие часы). Это полезно, потому что энергопотребление имеет тенденцию непропорционально увеличиваться по мере того, как вы увеличиваете производительность, как только достигнете определенного уровня. Идея в том, чтобы получить производительность, когда она вам нужна, и время автономной работы, когда вы этого не делаете.
На настольных платформах энергопотребление является гораздо меньшей проблемой, поэтому в этом нет необходимости. Большинство приложений ожидают, что каждое ядро будет иметь одинаковые характеристики производительности, и процессы планирования для систем HMP намного сложнее, чем планирование для традиционных систем SMP. (Технически Windows 10 имеет поддержку HMP, но в основном она предназначена для мобильных устройств, использующих ARM big.LITTLE.)
Кроме того, большинство процессоров для настольных компьютеров и ноутбуков сегодня не ограничены термически или электрически до такой степени, что некоторые ядра должны работать быстрее, чем другие, даже при коротких циклах. В основном мы достигли предела того, как быстро мы можем создавать отдельные ядра, поэтому замена некоторых ядер на более медленные не позволит остальным ядрам работать быстрее.
Хотя есть несколько процессоров для настольных ПК, которые имеют одно или два ядра, способных работать быстрее, чем другие, в настоящее время эта возможность ограничена определенными процессорами Intel очень высокого класса (например, Turbo Boost Max Technology 3.0) и предполагает лишь небольшое увеличение производительности. для тех ядер, которые могут работать быстрее.
Хотя, конечно, можно разработать традиционный процессор x86 как с большими, быстрыми ядрами, так и с меньшими, более медленными ядрами, чтобы оптимизировать их для многопоточных рабочих нагрузок, это значительно усложнит конструкцию процессора, и приложения вряд ли будут его должным образом поддерживать.
Возьмем гипотетический процессор с двумя быстрыми ядрами Kaby Lake (ядро 7-го поколения) и восемью медленными ядрами Goldmont (Atom). Всего у вас будет 10 ядер, а рабочие нагрузки с высокой интенсивностью потока, оптимизированные для этого типа процессора, могут получить прирост производительности и эффективности по сравнению с обычным четырехъядерным процессором Kaby Lake . Однако разные типы ядер имеют совершенно разные уровни производительности, и медленные ядра даже не поддерживают некоторые инструкции, которые поддерживают быстрые ядра, такие как AVX . (ARM позволяет избежать этой проблемы, требуя, чтобы и большое ядро, и ядро LITTLE поддерживали одинаковые инструкции.)
Опять же, большинство многопоточных приложений на базе Windows предполагают, что каждое ядро имеет одинаковый или почти одинаковый уровень производительности и может выполнять одни и те же инструкции, поэтому асимметрия такого типа, вероятно, приведет к неидеальной производительности, возможно, даже к сбоям, если он использует инструкции, не поддерживаемые медленными ядрами. Хотя Intel может модифицировать медленные ядра для добавления расширенной поддержки команд, чтобы все ядра могли выполнять все инструкции, это не решило бы проблем с программной поддержкой гетерогенных процессоров.
Другой подход к разработке приложений, более близкий к тому, о чем вы, вероятно, думаете в своем вопросе, будет использовать графический процессор для ускорения высокопараллельных частей приложений. Это можно сделать с помощью таких API, как OpenCL и CUDA . Что касается одночипового решения, AMD продвигает аппаратную поддержку ускорения графического процессора в своих APU, которые сочетают традиционный процессор и высокопроизводительный интегрированный графический процессор на том же чипе, что и архитектура гетерогенной системы, хотя это не вызывает большого интереса со стороны промышленности за ее пределами. из нескольких специализированных приложений.