Найти тему
Mizhgunit

Мифы о процессорах, в которые вы верите

Вот вроде бы - процессор предмет-то неодушевленный, как он может обрасти мифами? Но как оказалось, многие люди до сих пор верят в то, во что давно пора перестать верить. Сегодня разобьем несколько мифов о процессорах, в которые вы до сих пор верите. Начнем!

Миф первый. Больше ядер - быстрее процессор

Это то же самое, что сказать: "чем больше цилиндров в двигателе, тем он мощнее", то есть если сравнивать два процессора с идентичными (кроме количества ядер) параметрами, то выгоднее будет смотреться тот, у кого больше ядер.

Больше ядер - лучше?
Больше ядер - лучше?

Но во всех остальных случаях количество ядер указывает только на количество ядер, но никак не на производительность. Простой пример - AMD Phenom ll 1055 (6 ядер) и Core i3 9100F (4 ядра). Какой процессор будет быстрее?

Core i3 будет значительно быстрее, так как его архитектура совершеннее и выполняет гораздо больше инструкций за такт. Если говорить очень просто и "втупую" - у i3 выше КПД, то есть даже если ему частоту зарезать, он все равно будет быстрее, чем Phenom.

К слову, о частоте. Миф номер два

Все по то же причине, что и с ядрами, нельзя измерять производительность процессора, как многие очень любят, в гигагерцах. И снова - потому что производительность не привязана к какому-то числу ядер, гигагерцев или "метров каши".

У этого i3 3.6ГГц, а у Xeon 2620V2 всего 2.2 ГГц. Так что получается, i3 быстрее?!
У этого i3 3.6ГГц, а у Xeon 2620V2 всего 2.2 ГГц. Так что получается, i3 быстрее?!

Без контекста поколения и архитектуры (а значит и производительности на такт), любой процессор с другим процессором сравнивать можно только по сухой производительности.

Частота лишь показывает, сколько тактов в секунду совешает процессор. Если у нас есть процессор, который выполняет 1 инструкцию за такт и имеет частоту 3 ГГц, то будет ли он быстрее процессора с частотой всего 1 ГГц, но который выполняет 5 инструкций за такт? То-то и оно.

Миф третий. 100% загрузка процессора всегда означает, что процессор загружен

Это в корне не так, поскольку в активное время процессора записывается и время ожидания. Попробую объяснить просто (кстати, это связано с предыдущим мифом).

У процессора есть конвейер. Перед тем, как пройти на его следующую ступень, задача должна пройти предыдущий этап. В это время оставшаяся часть конвейера сидит без данных и просто простаивает, однако такое время считается за активное, а значит - мониторинг будет показывать 100% загрузку процессора.

Например, у нас есть процессор, конвейер которого способен выполнять 5 инструкций за такт. Сейчас будут намеренные упрощения, но уловите суть. Во время первого такта первая часть конвейера обрабатывает одну инструкцию. То есть процессор выполняет 1 инструкцию за такт. Далее эта инструкция идет на вторую часть конвейера, обрабатывается уже там, а первая часть конвейера принимает следующую инструкцию. И весь процесс выглядит как на фото ниже:

Я понимаю, что очень сильно все упрощаю. На этой картинке полная загруженность конвейера
Я понимаю, что очень сильно все упрощаю. На этой картинке полная загруженность конвейера

Но все это время загрузка процессора будет находиться на пороге в 100%, то есть мониторинг будет показывать, что процессор полностью загружен, хотя объективно он простаивает практически половину времени. Вот для этого архитектура постоянно совершенствуется: не только для того, чтобы увеличить его тупую производительность, но и чтобы сделать конвейер эффективнее.

Если интересны обзоры на интересную технику - подпишись на "Купи с умом", где каждый день выходит что-нибудь интересное. До скорого!

Не забудь подписаться на канал, а также на соцсети - ютуб, группу ВК и телегу, которую я хочу возродить (скоро).

Читайте также: