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

Загрузи мозги

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

Спецвыпуск Xakep, номер #046, стр. 046-038-7


Пользоваться ей очень просто. В меню "Class" выбираешь "Bus" (шина), а в окне "Counter" – «BUS_TRAN_MEM» (количество транзакций памяти). Теперь запускаешь тестовое приложение (например, игрушку или процедуру рендеринга) и нажимаешь "Start". А затем, спустя некоторое временя (в течение которого утилита будет накапливать статистические данные), нажимаешь "Stop" и в появившемся диалоговом окне смотришь на строку «BUS_TRAN_MEM». Чем больше происходит обращений в единицу времени, тем целесообразнее разгон.

Не все модули памяти разгоняются одинаково. Уважающие себя производители (Kingston Technology, IBM, Samsung) обеспечивают солидный запас прочности, и модули уверенно работают даже на ускоренных таймингах и повышенных тактовых частотах. Продукция дерьмовых производителей, наоборот, едва выдерживает даже заявленные характеристики, и ее приходится слегка тормозить.

Скоростные показатели подсистемы памяти описываются двумя фундаментальными характеристиками: пропускной способностью и латентностью. Пропускная способность определяет предельное количество данных, передаваемых за единицу времени, а латентность – промежуток между посылкой запроса и получением ответа.

Стратегия разгона определяется типом преобладающих запросов к памяти. Можно выделить две основных категории обработки ячеек: последовательную и хаотичную. При последовательной обработке независимых данных ячейки памяти передаются по шине сплошным потоком и реальная производительность определяется одной лишь пропускной способностью. Латентность полностью маскируется и становится несущественной. Напротив, при хаотичном чтении/записи пропускная способность вырождается и быстродействие системы зависит главным образом от того, как быстро микросхема памяти может переключаться между банками (а делает это она очень медленно, но мы ее ускорим).

Латентность и пропускная способность предъявляют взаимоисключающие требования к настройкам подсистемы памяти. Добиться идеальной конфигурации невозможно, и каждое приложение требует индивидуального подхода. Если производительность компьютера устраивает, ничего крутить не надо. В противном случае либо приобретай более мощную машину, либо настраивай систему на наиболее критичное к скорости приложение. Если же таких приложений у тебя несколько и все они настраиваются неодинаково, ищи компромисс или постоянно перенастраивай свой компьютер.

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

Ядро памяти, представляющее собой матрицу конденсаторов, намного более инертно и разгоняется плохо, катастрофически уменьшая надежность сохранности информации даже при небольшом увеличении частоты. Чувствительнее всего матрица относится к продолжительности перезарядки (tRP) и времени открытия DRMA-страницы (tRCD), которые задаются в импульсах тактовой частоты. Для достижения максимальной производительности вместе с увеличением тактовой частоты следует увеличивать и "ядерные" тайминги (чем больше значение тайминга, тем дольше задержка). Разумеется, это увеличение не обязательно должно быть строго пропорциональным. На хороших микросхемах памяти при двукратном увеличении тактовой частоты тайминги увеличиваются всего лишь в полтора раза. При последовательном чтении ячеек, когда латентность полностью маскируется, ты получишь двойной прирост производительности памяти с минимальными потерями в надежности.

Назад на стр. 046-038-6  Содержание  Вперед на стр. 046-038-8