Что важнее – количество ядер или тактовая частота процессора
Если окинуть взглядом современный рынок процессоров, то может показаться, что компании-производители чипов решили войти в Книгу рекордов Гиннеса. «AMD представили 32-ядерный процессор Threadripper 2290WX»! «Intel выпустили процессор Core i7-8086K, который может разгоняться до 5.0 ГГц»! Новые рекорды производительности ставятся каждый год, и в итоге можно легко запутаться в том, что же лучше – количество ядер или тактовая частота?
Попробуем разобраться в этом вопросе.
Немного аналогии
Предположим, вам требуется перевезти груз. Много груза. И есть два варианта – перевезти одной очень быстрой машиной или несколькими медленными.
Использование нескольких медленных машин позволяет перевезти много груза, но не очень быстро. Скажем, он будет ехать из одного города в другой три дня. Но он приедет сразу весь, и это здорово.
Одна быстрая машина сможет перевезти чуть меньше груза. Зато из одного города в другой она будет ехать всего день. Потом ей, правда, придётся вернуться, забрать остаток груза, привезти опять, и опять, и опять.
Идеальное решение для данной проблемы – использовать несколько быстрых машин! Тогда и куча груза будет перевезена, и займёт это всего один день. Но мы живём, к сожалению, не в идеальном мире.
Казалось бы, при чём здесь процессоры? Да просто «куча груза» — это поток вычислений, которые требуется выполнить чипу. «Много медленных машин» — это несколько низкопроизводительных ядер. А «одна быстрая» — это одно высокопроизводительное ядро, с повышенной тактовой частотой.
И решение вопроса «высокая тактовая частота или много ядер» зависит в первую очередь от планируемой сферы использования.
Как работает процессор
Процессор занимается тем, что выполняет простейшие арифметические вычисления. Операционная система и программные среды превращают команды пользователя в те самые арифметические задачи, которые и требуется решать чипу. Делается это через интерпретаторы и алгоритмы, указывающие связи между языками программирования высокого и низкого уровня.
На процессор постоянно поступает очень много команд. Каждое действие пользователя требует сразу нескольких вычислений (а то и десятков тысяч). И эти команды необходимо выполнять, иначе компьютер просто не будет функционировать.
Команды могут быть самыми разными. Например, интерпретировать HTML-код страницы (включая эту) в графическое изображение на экране. Или расшифровать сжатый ZIP-архив. А то и вовсе что-то криптографически зашифрованное превратить в отображаемое в открытом виде. В общем, задачи очень разные и требуют различных ресурсов для их выполнения.
Так, например, преобразование HTML-кода потребует минимума ресурсов и может выполняться достаточно шустро даже на сравнительно медленном чипе. ZIP-архивам требуется уже значительно больше машинного времени. А криптографические алгоритмы вроде SHA-256 подсчётов и вовсе нагружают несчастный чип как невесть что и при этом не могут выполняться на многопоточных конфигурациях.
Расчёт искусственного интеллекта – например, в играх – требует массы вычислений. Но они мелкие, обособленные, и поэтому могут прекрасно выполняться в многопоточном варианте – на нескольких ядрах сразу. Благодаря этому достигается высокая производительность в играх.
А вот архивирование и разархивирование файлов – исключительно однопоточная операция. Так что требуется один мощный чип, в противном случае этот процесс займёт уйму времени. Особенно если в архиве находится много мелких разнородных файлов.
И всё-таки, что лучше – количество ядер или тактовая частота процессора?
Проблема в том, что компьютеры используются по-разному. С утра скачиваешь из интернета прошивку на свой телефон, а там две тысячи файлов по 500 килобайт в одном архиве. В обед сидишь, просматриваешь гифки с котиками в интернете. Вечером играешь, сражаясь с многочисленными врагами в виртуальной реальности.
То есть с утра компьютеру нужен процессор с высокой тактовой частотой, в обед – да просто хоть какой-нибудь «чип», а вечером – со множеством ядер. И «перетыкать» «камни» в зависимости от планируемого использования явно не лучшая идея.
Именно поэтому производители стараются выпускать многоядерные конфигурации с высокой тактовой частотой. Так, например, Intel Core i7-8086K (топовый в линейке Kabu Lake на момент написания материала) оснащается шестью вычислительными ядрами с технологией HyperThreading и базовой тактовой частотой 4.0 ГГц. Он может всё! Дорогой, правда – 425 долларов на момент релиза.
Для домашнего использования выбирать, что лучше – тактовая частота или количество ядер – не стоит. Идеальным решением станет достижение баланса. Например, покупка какого-нибудь четырёхъядерного чипа с базовой тактовой частотой от 3.0 ГГц. Его производительности хватит для абсолютного большинства повседневных задач.
Оцените статью |
|