Pentium D 830: разные множители для каждого из ядер? (обновлена)

1 июля 2005, пятница 07:56
Благодаря активной поддержке коллег с сайта Fcenter.ru мы в своё время узнали, что процессоры Smithfield ведут себя в разгоне достаточно специфично. Из-за присутствия термодиода только в одном ядре "половинка" процессора может уходить в throttling независимо от другой, снижая общий уровень производительности. В случае с процессором Pentium D 820 (2.8 ГГц) мы могли говорить только о срабатывании throttling по сценарию TM1, когда перегруженное ядро начинает пропускать такты. Тогда же мы предположили, что процессоры Pentium D с поддержкой технологии EIST (модели с частотой 3.0 ГГц и 3.2 ГГц) могут в аналогичной ситуации использовать и механизм TM2, снижая множитель одного из ядер до 14х и вынуждая его работать на частоте 2.8 ГГц.

Об этой особенности процессоров Smithfield мы уже было забыли, однако тревожные сообщения со страниц форума XtremeSystems.org заставили нас поверить в оправданность подобных опасений. В частности, владельцы первых розничных экземпляров процессоров Pentium D 830 (3.0 ГГц) заметили странную особенность: в ходе разгона по шине (а других вариантов для этих моделей нет) одно из ядер работало только с множителем 14х, отставая от второго. Характерно, что в некоторых случаях множитель снижался у ядра Core 0, в других - у ядра Core 1. Выглядело это примерно так:

Казалось бы, эта задачка для пытливых умов совсем не предполагает длительные раздумья в кресле-качалке перед камином за бокалом хереса под аккомпанемент скрипки. На первый взгляд, всё элементарно, мой дорогой Ватсон :). Во время разгона наиболее подверженное throttling'у ядро снижает множитель до 14х, а потому отстаёт от второго. Происходит это из-за перегрева - термодиод даёт команду, срабатывает механизм TM2. Заметим, что "глюк" самой утилиты CPU-Z здесь исключён - запуск двух копий Prime95 и SuperPI соответственно выявили реальную разницу в уровне производительности ядер.

Такое объяснение могло бы удовлетворить нашего любознательного доктора, но в деле возникли неожиданные обстоятельства. Как выяснилось, владелец одного из процессоров Pentium D 830 (3.0 ГГц) заметил подобную "асимметрию" множителей и в номинальном режиме работы: одно из ядер работало на частоте 3.0 ГГц, второе - на частоте 2.8 ГГц. И это при том условии, что процессор охлаждался "водяной" системой, а функции EIST и C1E в BIOS материнской платы были отключены. Перегрев в данном случае был полностью исключён, так как термодатчик показывал температуру не более 40 градусов Цельсия. Если для человеческого тела такая температура близка к смертельному порогу, то процессоры Intel с двумя ядрами на этой отметке должны чувствовать лёгкий озноб.

Кстати, влияние функций C1E и EIST на режим работы ядер в подобных ситуациях тоже следует учитывать. Если в разделе "управление питанием" операционной системы Windows выбраны любые пункты, кроме "Домашний/Настольный" и "Включен постоянно", то технология EIST должна будет понижать частоту хотя бы одного из ядер до 2.8 ГГц в моменты незначительной нагрузки. В моменты бездействия системы аналогичные меры должна предпринимать функция C1E. Впрочем, в ситуации с разгоном обоих ядер и отключением энергосберегающих функций подобные сценарии не должны работать. Если, конечно, нет какого-то "глюка" в BIOS материнской платы. Заметим, что наши единомышленники из упомянутого форума использовали процессор Pentium D 830 в паре с материнскими платами Asus и Abit, так что проблема имеет свойство повторяемости.

Виноват ли в проблеме конкретный экземпляр процессора, конкретная версия BIOS конкретной материнской платы, либо просто "бенчмарки у вас неправильные" - ответы на эти вопросы мы хотели бы узнать в ближайшее время. Надеемся, что созданный общественный резонанс позволит получить ответы достаточно скоро.

P.S. Комментарии от представителей Intel мы получили достаточно быстро, поэтому решили сразу обновить новость, чтобы не откладывать кота в долгий ящик :). Общая идея гипотезы сводится к неспособности BIOS конкретных материнских плат корректно работать с процессорами Smithfield.

Дело в том, что на сегодняшний день существует две модификации процессоров Smithfield с частотой 3.0 ГГц и выше. Они по-разному ведут себя в процессе начальной загрузки и требуют разной реализации поддержки на уровне BIOS. Часть материнских плат вполне может не распознавать модификацию ядра корректно. Этим, как раз, может объясняться тот факт, что один из рассмотренных на страницах указанного форума процессоров понижает до 14х множитель первого ядра, а второй - множитель второго ядра.

Второй момент: поддержку технологии EIST для ядра Smithfield выключить нельзя, так как она требуется уже при начальной загрузке системы. Теоретически, даже после принудительного отключения EIST в BIOS материнской платы в случае с процессором Smithfield технология должна самостоятельно активироваться вновь. Отдельные процессоры Smithfield загружаются на минимальном множителе 14x, что требует срабатывания EIST для дальнейшего возвращения множителя в максимальное значение.

В-третьих, питание обоих ядер управляется совместно. Тем не менее, команда на понижение множителя до 14х в рамках технологии TM2 может срабатывать для обоих ядер независимо, а вот напряжение на ядрах снижается только в том случае, если оба понизили частоту.

Наконец, приведём заключение по возможным причинам текущей аномалии. Скорее всего, BIOS конкретных материнских плат некорректно отрабатывает процедуру начальной загрузки, либо отключение технологии EIST вносит соответствующие искажения в эту процедуру, в результате чего одно из ядер "зависает" на пониженном множителе. Эта версия отчасти подтверждается и сообщениями "пострадавших" о том, что множитель одного из ядер не поднимается выше 14х даже в номинальном режиме эксплуатации при использовании водяного охлаждения и температуре ядер не выше 40 градусов Цельсия.

Как вариант может рассматриваться версия о том, что материнская плата спроектирована с отклонениями от требований по регулятору напряжения (VRM), однако в данном случае она маловероятна: материнские платы основаны на чипсетах серии i945x/i955X, изначально ориентированных на поддержку двухъядерных процессоров Smithfield.

Если источником проблем действительно стал BIOS материнских плат, то вопрос может быть решён простым обновлением микрокода материнской платы. Возможно, у этой истории появится продолжение. Мы пока не ставим точку, и продолжаем следить за развитием ситуации.

Оценитe материал

Возможно вас заинтересует

Сейчас обсуждают