Всем привет, дорогие друзья. Рад вас видеть! С ходу: на фото ниже Ryzen 9 7950X. Его базовая (специально для комментаторов, которые будут орать про буст) частота - 4.5 ГГц.
А это - Pentium 4 Extreme Edition. Его частота - 3.4 ГГц, при этом на такой частоте его никто не использовал - гнали как минимум до 3.8 ГГц, а то и выше.
Занятненько получается, однако. Между процессорами почти 20 лет разницы, а частота у них различается не драматически. Если сравнить тот же самый пентиум с процессорами начала 80-х, то разница в частоте составит без малого 2 порядка. Тогда частота процессоров измерялась в единицах мегагерц.
При этом первый серийный процессор, который вышел на рынок с частотой 1 ГГц - это Pentium lll, и вышел он лишь за три года до выхода Pentium 4 EE, который я показал выше (2000 и 2003 год соответственно).
Только вдумайтесь:
- 40 лет назад - 6 МГц;
- 22 года назад - 1 МГц;
- 19 лет назад - 3.8 ГГц;
- И вот сейчас, в 2022 году, 5.7 ГГц...
...И то - не по всем ядрам. Если прикинуть, то с такими же темпами роста частоты, нынешние процессоры должны иметь частоту в несколько сотен гигагерц, но этого, почему-то, не происходит. Мы все так же топчемся на единицах, и не в силах приблизиться даже к 8 ГГц, без использования жидкого азота. Почему так?
Да зачем мне эта ваша частота?
Вообще частота - это скорость работы процессора. Чтобы все было менее понятно: скорость процессора и его производительность - это разные вещи.
Процессор состоит из транзисторов, которые могут быть как закрыты (состояние "0"), так и открыты (состояние "1"). На этих переходах строится вся процессорная логика, а количество переходов в секунду, которые может развить процессор, то есть количество тактов - это и есть скорость процессора. Именно эта величина называется тактовой частотой.
Вернемся в прошлое. В 1999 году компании AMD и intel люто рвали друг друга в гонке за 1-ггц. Тогда единственным показателем процессора, на который смотрели при его выборе, была частота. Вот то есть ты мог прийти к другу, посмотреть в его ДУ, и взгрустнуть - у него 1 ГГц, а у тебя лишь 650 МГц. Грустно, ведь твой проц, получается, был сильно медленнее.
В прошлом именно тактовая частота была основным способом повышения производительности процессора. Все просто: чем больше тактов в секунду совершает процессор - тем быстрее решаются задачи. Например: задача требует 20 тактов времени, вопрос - какой процессор выполнит ее быстрее - 100-МГц, или 1-ГГц?
Оттуда, кстати, и пошел миф о том, что частота процессора - это самый главный показатель. Но снова - почему тогда современные процессоры очень нехотя набирают частоту, и как тогда получается прирост производительности, если частота не меняется?
Обходной путь
Пример с Pentium 4 в начале статьи я применил не случайно. Эти процессоры были построены на архитектуре NetBurst, главной особенностью которой был длинный конвейер. Это позволяло достигать нереальных частот (у intel были планы на 8 ГГц), однако этого не случилось. Причин было две:
- Слишком большое тепловыделение;
- Слишком низкая производительность.
То есть сама по себе производительность-то была хорошей, но жрали эти пеньки как не в себя. При этом мы с вами помним, что скорость процессора связана с производительностью, но это - совсем не одно и то же. Вот и intel так подумали, поэтому какой-нибудь Core 2 Duo с частотой 2 ГГц был производительнее этого P4EE в несколько раз, хоть и был почти вдвое медленнее.
Дело - в архитектуре
Просто наращивать частоту - это, конечно, хорошо, но просто так вам этого не сделать - тетя Физика не позволит. Чтобы увеличить количество тактов в секунду, нужно увеличить скорость этих самых тактов. При этом транзисторы - это такие же физические объекты, на которые действуют такие же законы физики - им требуется время на то, чтобы открыться или закрыться.
Если с "закрыться" все просто, то вот с "открыться" беда - процесс протекает быстрее только в случае, если подавать большее напряжение. Тогда да, скорость открытия растет, НО при этом происходит и рост тепловыделения. На практике: рост частоты с 5 до 5.2 ГГц, на условном процессоре, происходит с поднятием напряжения с 1.2 до почти 1.4 вольта. 200 МГц частоты обходятся примерно в 40 ватт лишнего тепла.
А частота 5.5 ГГЦ берется только при 1.6V, а это - еще 68 ватт к тем 40. Я брал за референс проц по типу среднестатистического мид-проца, который жрет +-130 ампер. В таком случае получаем, что:
- На 5ГГц, 1.27V он потребляет 156 ватт;
- На 5.2 ГГц, 1.4V - 182 Вт;
- А на 5.5 ГГц, 1.6V - 208 ватт;
- На базовой же частоте в 4 ГГц он потребляет 1V с тем же током и укладывается в 130 ватт.
То есть до какого-то предела, наращивание частоты является разумным решением, но дальнейший рост требует такого повышения, что просто нецелесообразен. Где конкретно находится этот предел - зависит только от архитектуры. Core 2 Duo E4500 едва ли брали больше 3 ГГц, тогда как Pentium 4 с завода мог работать на 3.4 (ранние), 3.6 и 3.8 ГГц (2004-2005, уже на 775 сокете).
Проблема-то в том, что нужна нам производительность в рамках разумного TDP, а значит - есть вариант увеличить ее как-то по-другому.
Не имей скорость, имей производительность
Банальный пример - вместо одного ядра запихнуть в процессор сразу два. Так получается, что у нас есть как бы два процессора, которые объединены общим кэшем и контроллерами, но информацию они обрабатывают не последовательно, а параллельно. Ну вот как вам это представить:
Нам надо проехать по дороге 100 километров. Есть одна машина, которая едет со скоростью 100 километров в час, и она проедет этот участок за час, НО если машин в условии уже две, то каждой надо проехать по 50 километров. Если машин три - по 33.3 километра, если 4 - по 25 километров, ну и так далее. Скорость машин при этом можно снизить, снизив затраты топлива.
Также и с процессорами: логичнее увеличить количество ядер, чтобы они обрабатывали информацию параллельно друг другу. Частоту при этом можно даже снизить, чтобы снизить нагрев. Хотя и число ядер сказывается на TDP процессора: в них ведь тоже используются транзисторы. Но это кратно лучше, чем использовать одно большое ядро с большой частотой.
Сейчас в процессоре все и так отполировано почти до блеска, однако intel и AMD придумывают новые способы увеличения производительности, будь то увеличение кэш-памяти, использование более оптимизированной архитектуры, уменьшение техпроцесса (и, соответственно, большее транзисторов в одном процессоре), и так далее.
В общем, если подытожить:
- Частоты не растут, потому что TDP процессоров с ростом частоты растет по экспоненте;
- Производительность процессора зависит не только от частоты, а потому наращивать ее можно другими, менее "черезпопными" способами.
Соответственно, логичнее перебросить ресурсы не на наращивание частоты, а на другие меры повышения производительности.
На этом у меня все. Если было интересно - не забудь поставить лайк и подписаться на канал. До скорого!
Подпишись на телеграм (там IT-новости), Ютуб (там иногда выходят прикольные видео), и группу ВК (там пока ничего нет, но это только пока).
А если хочешь помочь мне с развитием канала - буду благодарен за каждый репост! Спасибо!