Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #49, ДЕКАБРЬ 2004 г.

Домашний Cray

Крис Касперски aka мыщъх

Спецвыпуск: Хакер, номер #049, стр. 049-016-3


Если говорить о виде идеальной памяти, то стандартом де-факто в настоящее время является DDR400, устанавливаемая парами (для двухканальных контроллеров). Менее производительная память не сможет в полной мере использовать все преимущества широких и быстродействующих процессорных шин (FSB – Front Side Bus). Более дорогая DDR533 не имеет никаких преимуществ по сравнению с DDR400 (не считая того, что она лучше разгоняется, но как уже говорилось выше, кодерам лучше ничего не разгонять). Посуди сам. Системная шина процессора Pentium-4 имеет частоту 200 MHz и передает четыре порции данных за такт. DDR400 работает на частоте 100 MHz и тоже передает четыре таких порции за такт. Два DDR400 модуля обеспечивают 100%-ную загрузку процессорной шины (во всяком случае, теоретически) и полностью синхронизованы с ней (200 делится на 100 без остатка). DDR533, работающая на частоте 133 MHz и передающая все те же четыре порции за такт, уже не обеспечивает 100%-ной загрузки процессорной шины, поскольку работает в асинхронном режиме (200 не делится на 133 без остатка) и шинный контроллер вынужден простаивать некоторое время в ожидании прихода фронта/спада тактового импульса или переключать DDR533 на частоту 400 MHz, при которой она будет работать абсолютно с той же скоростью, что и DDR400. Если нет разницы, зачем платить больше?

Чипсет

При выборе компьютера на чипсет обращают внимание в последнюю очередь. А зря! Не все чипсеты одинаково полезны! При профилировке (измерении скорости отдельных участков кода для выявления горячих точек – точек, съедающих максимум производительности) программы очень важна воспроизводимость результата, то есть важно, чтобы время двух прогонов одного и того же участка программы отличалось как можно меньше. Различные побочные факторы, неизбежно вносимые чипсетом, произвольным образом изменяют время каждого из прогонов, делая результат профилировки в той или иной степени недостоверным. Небольшими отклонениями (в пределах нескольких процентов) можно и пренебречь, но, когда время соседних прогонов отличается вдвое и даже втрое, и профилировка, и, следовательно, оптимизация программы становятся невозможными. Чипсеты от Intel и AMD достаточно надежны и обеспечивают хорошую степень постоянства и воспроизводимости результатов. SiS и VIA в этом плане выглядят намного хуже, и от их использования лучше воздержаться.

Большинство современных чипсетов (начиная с Intel 845) содержит специальный высокоточный таймер (High Precision Event Timers - HPET), тактируемый частотами от 10 MHz и обеспечивающий точность замеров в пределах 0,1 мс (для сравнения: точность ACPI-таймера, присутствующего на большинстве материнских плат и часто называемого PM-таймером – Power Management Timer, редко превышает 1 мс). Чем короче "тик" таймера, тем выше "разрешающая способность" профилировщика. Естественно, для работы с HPET-таймером профилировщик должен "знать" о нем, и потому старые профилировщики не дают никаких преимуществ.

Назад на стр. 049-016-2  Содержание  Вперед на стр. 049-016-4