Почему процессоры такие быстрые
Архитектурные улучшения
Ключевым фактором скорости процессора являются архитектурные улучшения. Для каждой задачи процессору нужны так называемые инструкции. Есть такой параметр «Instructions Per Clock», который означает количество инструкций, которые выполняются за 1 такт. Современные процессоры могут выполнять больше инструкций за один такт — обычно прирост составляет 5–15% между поколениями, и этот параметр постепенно улучшается с выходом новых архитектур.
Результат достигается благодаря улучшению ключевых элементов архитектуры процессора: оптимизация предсказателей переходов (Branch Predictors) снижает вероятность неверных прогнозов, модернизация декодеров (Decoders) позволяет эффективно транслировать сложные инструкции в элементарные операции, а усовершенствованные планировщики (Schedulers) равномерно распределяют нагрузку между исполнительными блоками.
Улучшение параметров кэша
Центральный процессор — один из самых высокопроизводительных компонентов компьютера. Его скорость обеспечивается тем, что все вычислительные блоки находятся внутри единого кристалла, и обмен данными происходит крайне быстро. Ни одна оперативная память не будет работать быстрее, чем CPU, поэтому у процессора есть несколько уровней кэша.
Кэш — это микросхемы памяти, которая располагается непосредственно внутри процессора. Часть данных попадает в кэш и сохраняется там, чтобы процессор работал быстрее. Как правило, существует 3 уровня кэша: L1 — самый быстрый, но небольшого объема, L2 — медленнее, но больше по объему, а L3 — медленнее всех, но хранит больше данных. Перед тем, как работать с данными, процессор проверяет наличие нужных данных во всех трех кэшах и только затем обращается к оперативной памяти. Примечательно, что кэш 3-го уровня может содержать до 100 Мб информации, что раньше было невозможно.
Многоядерность
Раньше все процессоры имели одно рабочее ядро, более того, такого термина даже не существовало. Какое-то время пытались спроектировать двухпроцессорные компьютеры, но это было слишком дорого и не давало должного прироста производительности. Позже появились многоядерные процессоры — как бы внутри одного CPU содержатся несколько идентичных процессоров. Многоядерность позволяет «раскидать» данные между ядрами и выполнять многие задачи не последовательно, а параллельно. Некоторые процессоры имеют энергосберегающие ядра для задач, которые не требуют значительных вычислений, например, если система находится в режиме ожидания.
Стоит понимать, что количество ядер напрямую не влияет на производительность процессора, например, какой-нибудь 8-ядерный процессор 10-летней давности может работать хуже, чем современный двухъядерный — меняются не только аппаратная часть, но и программная, которая находится внутри CPU.
Потоки в процессоре
Если ядра — это аппаратные части процессора, то есть существуют физически, то потоки — это программное разделение данных. На аппаратном уровне технология позволяет одному ядру обрабатывать несколько потоков одновременно. Ядро вроде одно, а программная реализация позволяет по факту получить из одного ядра два и более. Потоки делят между собой ресурсы ядра и кэш, но программная часть оптимизирует расход ресурсов. В принципе, потоки можно сравнить с поваром на кухне, которому нужно делать несколько блюд одновременно: пока на 1-й плите закипает вода, повар режет овощи.
Например, вы смотрите видео и слушаете звук, какой-то поток может отвечать за звук, а какой-то — за видео. А параллельно на компьютере у вас еще открыт браузер и документы — этим могут заниматься другие потоки. По факту, поток является виртуальным процессором, который работает внутри аппаратной части.
В этом пункте можно рассказать про гипертрейдинг — технологию, которая позволяет одному ядру выполнять сразу несколько вычислений. Она использует незанятые участки ядра и распределяет на них нагрузку равномерно. Прирост производительности может достигать +20-30% в зависимости от задач.
Частота процессора
Частота CPU — также немаловажный параметр, но на производительность влияет совокупность факторов. Например, 4-ядерный процессор с частотой до 1,5 ГГц будет очень слабым для современных задач — такой даже не стоит рассматривать для покупки ПК. Хороший процессор должен иметь несколько ядер, уметь работать в несколько потоков и иметь частоту от 3 ГГц.
Современные процессоры оснащаются технологией Turbo Boost, которая регулирует частоту в зависимости от нагрузки, чтобы CPU не работал вхолостую. Данная технология улучшает энергопотребление и уменьшает лаги, что особенно хорошо для ноутбуков.
Технический процесс
Каждый процессор состоит из миллиардов транзисторов. Чем плотнее они расположены друг к другу, тем процессор работает быстрее: меньше потерь между соединениями и тем ниже тепловыделяемость. Это называется техническим процессом и измеряется в нанометрах. Современные CPU строятся по 3-нм технологии. Чем меньше технология, тем больше транзисторов, тем больше места под другие компоненты CPU, например, кэш-память.
Уменьшение техпроцесса — основной способ делать процессоры мощнее без увеличения их размеров. Это как строить более компактные и эффективные микрорайоны вместо разросшихся одноэтажных домов.
Что будет дальше?
Скорее всего, техпроцесс будет уменьшаться — современная процессорная литография делает всё больше и больше новых шагов вперед. Но, скорее всего, инженеры в будущем столкнутся с тупиком — дальше уменьшать технический процесс будет физически невозможно. Ученые и инженеры будут в этом случае улучшать производительность того, что можно будет улучшить — как программные, так и аппаратные параметры. Пройдет время, и процессоры могут быть квантовыми — транзисторная технология уйдет в прошлое, но до этого еще далеко.