Power vs Performance Мобильные процессоры должны экономить энергию (большую ее часть) и генерировать намного меньше тепла, чем процессоры для настольных ПК. Чтобы удовлетворить такое требование, мобильные процессоры ВСЕГДА используют гораздо более простую архитектуру (ARM), чем настольные процессоры (x86/AMD64/x86_64) того же поколения. Действительно, наиболее полезным показателем для сравнения процессоров является базовая архитектура. Все МГц, размер функции и количество ядер могут помочь только в том случае, если вы сравниваете процессоры с аналогичными или родственными архитектурами.
Архитектура ЦП / микроархитектура Архитектура ЦП определяет, как он выполняет программы и какие алгоритмы он использует для выполнения вычислений, а также как он обращается к кэш-памяти и оперативной памяти. Архитектура также включает в себя "язык"(инструкции), который понимает процессор. Процессор настольного компьютера понимает, что язык гораздо сложнее, чем то, что понимает мобильный процессор. Настольные процессоры понимают сложный язык x86 / x86_64, в то время как мобильные процессоры понимают язык ARM32 / 64 / Thumb2, который намного проще, поэтому требует больше "слов" для описания алгоритма и неэффективен по размеру по сравнению с x86. Причина, по которой мобильные микросхемы понимают простой язык, заключается в том, что существует определенная область и ограничение по мощности для числа транзисторов, которые могут в него входить.
Типичный настольный процессор может выполнять более 8 команд CISC(Complex) параллельно и не по порядку, что обеспечивает высокую производительность за счет увеличения рассеиваемой мощности, в то время как мобильный процессор может выполнять только 2 RISC(Simple) инструкции из чтобы сохранить власть. Процессоры для настольных ПК имеют намного больше кеша (6 МБ +), чем мобильные устройства (1 МБ), что значительно повышает производительность. Кроме того, архитектуры CISC(Intel x86_64, используемый в настольных компьютерах и ноутбуках) предлагают высокую плотность кода, позволяющую упаковывать большие объемы информации в меньшем пространстве, в то время как архитектуры RISC(ARM64 используются в мобильных устройствах) используют несжатые инструкции, которые, как правило, оказывают большее давление на память пропускная способность, так как требуется больше места для передачи того же значения. Я имею в виду, что программа CISC объемом 1 МБ передает больше информации, чем программа RISC объемом 1 МБ, требующая, чтобы программа RISC аналогичной функции выполняла больше передач памяти, вызывая потерю производительности.
Как правило, настольные архитектуры ориентированы на производительность. Например, работа SIMD на современном процессоре Intel (настольном компьютере) занимает всего 25% времени, которое занимает типичный процессор ARM (мобильный), в связи с тем, что настольные компьютеры могут загружать большее количество транзисторов в ЦП, поскольку площадь и мощность не ограничены ,
Влияние размера функции Как правило, если процессор архитектуры A перенесен на более низкую технологию (скажем, от 22 нм до 12 нм), его производительность улучшается, а его энергопотребление снижается благодаря улучшению производительности и эффективности транзистора. Так, например, типичный ARM Cortex A-5, изготовленный на 12 нм, будет предлагать более высокую производительность и работать холоднее, чем ARM Cortex A-5, изготовленный на 28 нм. Тем не менее, ARM Cortex A-15 (лучшая микроархитектура, чем A-5), изготовленная на 32 нм, будет работать намного быстрее, чем A-5 на 12 нм (тем не менее, она потребляет больше энергии). Таким образом, хотя размер признака является важной метрикой, он как бы теряет устойчивость при сравнении различных микроархитектур / архитектур, особенно когда одна из них намного лучше другой.
Влияние ядер Не обманывайтесь количеством ядер. Это ужасные показатели производительности процессора. Сравнение процессоров на основе количества ядер полезно только в том случае, если они имеют одинаковую микроархитектуру. Конечно, более быстрая микроархитектура с большим количеством ядер превосходит более медленную микроархитектуру с меньшим количеством ядер. Однако медленный четырехъядерный процессор, скорее всего, будет иметь худшую производительность, чем высокопроизводительный двухъядерный процессор. Слабый четырехъядерный процессор может хорошо справляться с 4 простыми задачами во время T, в то время как сильный (в 4 раза быстрее на ядро) двухъядерный процессор может справиться с 4 простыми задачами за половину временного интервала (T/2), поскольку должен обработайте 2 из них в T/4, другие 2 для другого T/4 (T/4 + T/4 = T/2). Также остерегайтесь квазиокта-ядер (большинство мобильных устройств квази-в том смысле, что для экономии энергии в любой момент могут быть активны только 4 ядра). Рабочие столы обычно предлагают законченные ядра с небольшим разделением ресурсов, чтобы обеспечить более высокую производительность за счет высокого энергопотребления.
Влияние тактовой частоты Это сильно зависит от микроархитектуры процессора.
Чтобы проиллюстрировать это, рассмотрим следующую проблему, 3 * 3.
Скажем, процессор A преобразует проблему в 3+3+3 и для ее решения требуется 3 такта, в то время как процессор B напрямую выполняет 3 * 3 с использованием справочной таблицы и выдает результат за 1 такт. Если производитель A говорит, что частота процессора (тактовая частота) составляет 1 ГГц, а B говорит, что она составляет 500 МГц, B быстрее, чем A, поскольку A требуется 3 нс для завершения 3 * 3, а B - всего 2 нс (B на 33% быстрее, чем A, хотя B работает на 50% медленнее по времени). Таким образом, тактовые частоты являются хорошими сравнениями только при сравнении похожих микроархитектур. Лучший уарх с более низкой тактовой частотой может победить старшего уарха с гораздо более высокой тактовой частотой. Также низкие тактовые частоты экономят энергию. Высокопроизводительный uarch на более высокой тактовой частоте наверняка победит низкопроизводительный uarch с такой же или меньшей тактовой частотой (иногда также более высокой). Таким образом, тактовая частота не является хорошим показателем производительности процессора, как подсчет количества ядер. Обратите внимание, что мобильные процессоры реализуют более простые и медленные алгоритмы вычислений, чем процессоры для настольных ПК, чтобы сэкономить энергию и площадь. В настольных процессорах часто используются алгоритмы, которые почти в два-четыре раза (или более) быстрее, чем их мобильные аналоги, что дает им явное преимущество в производительности по сравнению с мобильными процессорами.
** Эффект кэша ** Кэш играет важную роль в производительности процессора, а не в скорости самого ядра. Кэш-память - это высокоскоростная оперативная память внутри процессора для сокращения запросов к оперативной памяти. Кэши настольных компьютеров больше и быстрее (нет ограничений по размеру или мощности для настольных ПК), чем кеши мобильных устройств, что дает настольным компьютерам преимущество перед мобильными процессорами. Добавьте эффективность CISC, и настольные кэши имеют преимущество перед мобильными. Кеш рабочего стола размером 2 МБ превосходит мобильный кэш объемом 2 МБ просто по плотности команд (больше информации в том же пространстве). Кэши очень важны для определения производительности процессора. Процессор с большим быстрым кешем обгонит процессор с небольшим медленным кешем. Однако между скоростью и размером кэша существует компромисс, поэтому системы имеют уровни кэширования. По мере сокращения технологий кэши становятся намного быстрее и эффективнее. Конечно, архитектура кеша также играет очень важную роль в этом отношении. Сравнение кешей не так просто, но сравнение кеша НАМНОГО менее извращено, чем сравнение с использованием ядер или тактовой частоты.
Таким образом, предполагая постоянное поколение, настольные процессоры почти всегда будут превосходить мобильные процессоры по сырой производительности, в то время как мобильные процессоры почти всегда потребляют меньше энергии, чтобы компенсировать их относительно низкую производительность.