Режим PAT бывает и "частично включен"? (обновлена)

20 октября 2003, понедельник 13:07
Откровенно говоря, заниматься изучением особенностей работы режима PAT я не собирался. Утро понедельника было традиционно скупым на свежие новости, и в поисках интересных тем я забрел на канадский сайт The Crucible, где коллеги задавались сходным с представителями нашей тестовой лаборатории вопросом: "Какая память подходит для разгона лучше из числа той, что подешевле?" :)

Выяснилось, что ассортимент продаваемой в Канаде бюджетной памяти немного расходился с отечественным представлением о "ширпотребе", но условия тестирования были достаточно специфичными. Чего стоит хотя бы центральный процессор – мобильный Pentium 4-M 1.4 ГГц был установлен в материнскую плату Asus P4P800 и разогнан до частоты 2.7 ГГц:

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

Собственно говоря, даже не этот факт привлек мое внимание. В описании тестовой конфигурации значилось следующее: "Asus p4p800 (soft modded bios to allow pat enabled above 200 fsb)", что в дословном переводе говорило о том, что материнская плата имеет модифицированный BIOS, позволяющий использовать режим PAT даже при частоте системной шины свыше 200 МГц. CPU-Z о подобной возможности красноречиво свидетельствовала:

Sandra тоже подтверждала включение PAT:

Вот здесь-то у меня и зародились сомнения... Безусловно, с методом реализации PAT на чипсете i865PE мы знакомы давно. Если верить этой методике, чипсеты i875P и i865PE работают с процессором на частоте шины 533 МГц в режиме активации PAT. Ситуация меняется при использовании процессора с 800 МГц шиной – i875P продолжает использовать PAT, а i865PE использует "обходной путь", отключая PAT. Трюк с адаптацией BIOS материнских плат на базе i865PE для поддержки PAT заключается в том, чтобы заставить чипсет думать, что процессор по-прежнему работает на частоте шины 533 МГц, в то время как на самом деле используется частота шины 800 МГц или выше.

В общем случае PAT должен работать при частоте системной шины от 133 до 200 МГц, а также выше 200 МГц, но при обязательном синхронном режиме работы памяти. При асинхронном разгоне PAT должен отключаться.

В теории все обстоит именно так. Оказывается, что на практике столь излюбленная материнская плата Asus P4P800 ведет себя несколько иначе. О патологической несовместимости частоты шины 200 МГц и режима Performance Mode = Turbo мы уже рассказали. И это лишь верхушка того айсберга технических нюансов, которые таит в себе данная материнская плата и ее аналоги.

Оказывается, что пресловутое утверждение об особом BIOS, позволяющем использовать режим PAT при частоте системной шины свыше 200 МГц, имеет некоторые веские основания для существования. Теоретически, PAT должен работать при синхронном разгоне на частотах свыше 200 МГц. Тем не менее, именно на материнской плате Asus P4P800 обнаруживается следующий нюанс – в BIOS поддержка PAT активируется, но утилиты типа CPU-Z или Sandra его "не видят". Пример из опыта наших лаборантов – обзор памяти Kingston HyperX DDR500. Установки BIOS соответствуют значениям Performance Mode = Turbo, Memory Acceleration Mode = Enable, делитель частоты шины памяти равен 1:1, а Sandra все равно "не видит" PAT.

В чем же проблема, и поможет ли ее решить обновление BIOS или версии диагностических утилит? Ответ найти не так-то просто, но некоторые подсказки нам удалось обнаружить в одном из западных форумов. В указанной ветке конференции собрались поделиться впечатлениями владельцы материнских плат Abit и Asus, основанных на чипсетах i875P и i865PE. Для диагностики поддержки PAT в том или ином режиме они использовали утилиту CTIAW. Как выяснилось, состояние режима PAT может принимать три значения:

  • (1) -> fully enabled (полностью включен);
  • (0) -> reserved (отключен);
  • (7) -> partially enabled (частично включен).

Последний режим как раз проявляется на материнских платах на базе чипсета i865PE при работе в синхронном режиме на частотах свыше 200 МГц FSB. Условно говоря, BIOS поддержку PAT как бы включает, но вот приложения и утилиты его не видят. Любопытно, что материнские платы на базе i875P в аналогичных условиях PAT включают полностью.

Подобная картина наблюдается и при использовании понижающих множителей для частоты памяти. Например, материнские платы на базе i875P могут работать с PAT даже при использовании "асинхронных" делителей типа 5:4, а вот платы на базе i865PE при таких значениях делителей PAT не видят полностью или "частично".

Среди участников конференции зародилась гипотеза, согласно которой материнские платы на базе чипсетов i875P полностью поддерживают PAT даже в асинхронном режиме и на любых частотах, а платы на основе i865PE не могут поддерживать PAT при использовании понижающих делителей (5:4, 3:2) или в синхронном режиме на частоте системной шины свыше 200 МГц.

С другой стороны, владельцы материнских плат Abit IS7 (i865PE) при использовании делителей 5:4 поддержку PAT подтверждают. Более того, некоторые эксперты признают подобную классификацию состояний режима PAT неверной, и в реальности лучше ориентироваться на показания бенчмарков. Есть и более сложный способ убедиться в поддержке режима PAT. Запускаем утилиту Cachemem и получаем число циклов процессора, например – 270. Делим это число на частоту процессора в гигагерцах, например – на 3.0. Получаем результат в 90 нс – это и есть задержки при обращении к памяти. Если максимальная величина этих задержек не превышает 100 нс, то PAT работает. Если задержки выше 130 нс, то PAT не работает.

Интересную особенность сообщают владельцы систем с четырьмя модулями памяти. При разгоне системы свыше 200 МГц поддержка PAT отключается. Аналогичная система с двумя модулями памяти может работать с PAT на частоте свыше 200 МГц. Это не факт, а просто гипотеза.

Так или иначе, но пример с разгоном Pentium 4-M в синхронном режиме на материнской плате Asus P4P800 доказывает, что поддержку PAT можно реализовать и для частоты шины свыше 200 МГц, либо для понижающих множителей. Данный феномен не имеет привязки собственно к процессору Pentium 4-M, это особенность реализации поддержки PAT на чипсете i865PE, и, скорее всего, именно в интерпретации Asus. Смеем напомнить вам, что Asus была первой компанией, официально заявившей о реализации поддержки PAT на чипсете i865PE. Для ухода от претензий со стороны Intel технология была названа HyperPath, но сути это особо не меняло.

Уже после написания первоначального варианта статьи с нами связались коллеги с популярного сайта ModLabs.net. Как выяснилось, они уже давно изучали данную проблему, и имеют некоторые наработки в это области. Итак, пресловутая проблема с отключением PAT "наполовину" при синхронном разгоне свыше 200 МГц по шине на материнской плате Asus P4P800 решается довольно просто.

Для начала вспомним далекие времена зарождения чипсетов серии Springdale, когда на рынке должны были появиться такие модификации этого набора системной логики, как i865G и i865P. В свое время мы установили, что PAT поддерживается и этими чипсетами. Как и следовало ожидать, особой популярности несколько ограниченный и достаточно дорогой чипсет i865P не снискал, однако материнская плата Asus P4P8X на его основе побывала в умелых руках наших "лаборантов". Одной из самых пакостных особенностей этой материнской платы (и чипсета) была признана невозможность устанавливать понижающие множители на памяти. Таким образом, память всегда работала синхронно с системной шиной (1:1), разгоняясь вместе с процессором.

Именно эту особенность и предлагают использовать в "мирных целях" наши коллеги. Для "обучения" материнской платы Asus P4P800 полноценной поддержке PAT на частотах системной шины свыше 200 МГц при синхронном разгоне необходимо прошить в эту материнскую плату BIOS от модели Asus P4P8X. Делать из Asus P4P800 убогого инвалида типа Asus P4P8X не входит в наши планы - далее плата P4P800 должна получить обратно "родной" BIOS. Казалось бы, операция полностью исключает последствия прошивки BIOS от другой платы, однако это не так.

Из-за особенностей процесса прошивки BIOS "неродной" код успевает модифицировать свойства делителей памяти - после возвращения "родного" BIOS от P4P800 понижающие делители становятся недоступны. Память может работать только синхронно с системной шиной (1:1), однако теперь режим PAT в таких условиях поддерживается полностью! Как утверждают наши коллеги, в той же Sandra прирост пропускной способности памяти составляет до 100 Мб/с.

Разумеется, что прибегать к подобному приему стоит только в том случае, если у вас имеется система, получающая выигрыш от синхронного разгона. Например, умеренно разгоняющийся по шине процессор и переносящая высокие частоты память. Если ваш процессор легко берет барьер в 300 МГц по шине, то лучше использовать понижающий делитель частоты памяти и модули DDR с агрессивными таймингами.

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

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

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