Очередной релиз универсального тестового пакета RightMark Memory Analyzer для низкоуровневого тестирования платформ содержит в себе, в первую очередь, реализацию ряда новых возможностей информационного характера. В новой версии теста заметное развитие получило направление, намеченное еще начиная с версии 3.0, которое заключается в предоставлении максимально подробной и точной справочной информации о платформе. Так, для начала было реализовано извлечение информации о наиболее важном компоненте платформы центральном процессоре, путем расшифровки значений, выдаваемых инструкцией CPUID. Вполне логично, что следующим этапом развития информационной составляющей тестового пакета следует ожидать «добывание» данных о двух остальных компонентах платформы чипсета и памяти. Что, собственно, и состоялось итак, встречайте! Информация о платформе
С информацией о процессоре, предоставляемой RMMA, мы уже достаточно хорошо знакомы подробности можно узнать в полном описании версии 3.0. В новой версии теста здесь мало что изменилось по-прежнему присутствует база данных по процессорам, предоставляемая вместе с программой, которая содержит в себе информацию, недоступную в CPUID, вроде латентности различных уровней кэша, пропускной способности его шины и способа его организации. Так что переходим сразу к рассмотрению закладки под названием Chipset.
Название говорит само за себя: информация о чипсете. Здесь представлены наименования и коды производителя (вендора), устройства и ревизии северного моста (Northbridge) и южного моста чипсета (Southbridge, а точнее, его SMBus-контроллера почему это именно так, мы рассмотрим чуть позже). А также, для полноты информация о его AGP-контроллере. Хотя, справедливости ради стоит заметить, что в свете выхода новых чипсетов Intel 915/925 весьма вероятно, что актуальность подобной информации в дальнейшем будет только падать. Впрочем, ничего не мешает в дальнейшем ее заменить, либо дополнить информацией о контроллере PCI Express.
Следующая закладка, Memory почти все, что необходимо знать о памяти, установленной на платформе. Сразу заметим, что это максимально полная подборка данных, предоставляемых контроллером памяти, который обычно находится в северном мосту чипсета (либо в самом процессоре, в случае CPU семейства AMD K8, правда, надо заметить, что с конфигурационной точки зрения такой контроллер также является «виртуальным» PCI-устройством, как и обычный контроллер памяти в северном мосту чипсета). Важнейшие параметры тип и размер установленной памяти, частота ее шины (доступность этого параметра зависит от доступности информации о множителе CPU и соотношении частот DRAM:FSB), ну и, конечно, ее текущие тайминги. Отметим, что различные чипсеты предоставляют различные наборы, зачастую неполные параметры таймингов памяти, так что приведенный на рисунке случай можно в некотором смысле считать идеализированным хотя он и является реальным (для интересующихся подробностями, он получен на сравнительно экзотическом на сегодняшний день чипсете AMD 760MPX). Важнейшими таймингами памяти, которые обычно, так или иначе, фигурируют в обзорах по тестам памяти, будем считать нижеследующие, причем именно в таком порядке:
- Задержка выдачи сигнала CAS# (CAS# Latency, tCL)
- Задержка между выдачей сигналов RAS# и CAS# (RAS# to CAS# Delay, tRCD)
- Длительность подзаряда строки (Row Precharge, tRP)
- Период между активизацией и подзарядом (закрытием) строки, он же общая длительность сигнала RAS# (Activate to Precharge, или RAS# Active Time, tRAS)
Таким образом, в рассматриваемом примере модуль памяти будет характеризоваться схемой таймингов 2.0-2-2-6. Наконец, внизу можно увидеть возможность выбора индекса (Module Index) одного из четырех модулей (от 0 до 3). Надо заметить, что большинство современных чипсетов имеют единые настройки таймингов памяти для всех модулей, хотя встречаются варианты с раздельным назначением таймингов на каждый модуль (обычно это чипсеты, поддерживающие более чем один тип памяти одновременно).
Последняя из информационных закладок данные SPD (микросхемы Serial Presence Detect) выбранного модуля памяти (номер которого задается так же, как и в предыдущей закладке выбором Module Index от 0 до 3). Считывание информации из микросхемы SPD модуля памяти осуществляется посредством I2C-совместимого транспортного протокола SMBus с помощью регистров контроллера SMBus (портов ввода-вывода), находящегося в южном мосте чипсета. Контроллер шины SMBus чаще всего реализован в виде самостоятельного «виртуального» PCI-устройства, вследствие чего в разделе Chipset, рассмотренном выше, фигурирует идентификатор именно этого устройства. Вернемся к данным SPD. Как и в предыдущей закладке, важнейшими параметрами являются тип, размер, частота функционирования модуля, а также рекомендованные производителем тайминги, обычно обозначаемые в настройках BIOS как «by SPD». Важно отметить, что во многих модулях памяти может быть определено более одного типа таймингов. Различаются они по величине задержки CAS# (CAS# Latency, tCL) и времени цикла (Cycle Time, tCK). С целью отображения всех возможных вариантов таймингов в нижней части закладки реализована возможность выбора одного из трех индексов таймингов:
- CLX: Значение таймингов при максимальной величине поддерживаемого значения задержки CAS# (tCL). Так, если таблица поддерживаемых значений задержки CAS# устройства типа DDR SDRAM содержит величины 2.0, 2.5, 3.0, тайминги CLX соответствуют случаю tCL = 3.0;
- CLX-1: Значение таймингов при максимальной величине поддерживаемого значения задержки CAS# за вычетом единицы (для памяти типа SDRAM и DDR2 SDRAM) или половины такта (для памяти типа DDR SDRAM). В рассматриваемом примере CLX-1 соответствует таймингам при tCL = 3.0 0.5 = 2.5;
- CLX-2: Значение таймингов при максимальной величине поддерживаемого значения CAS# Latency за вычетом двойки (для памяти типа SDRAM и DDR2 SDRAM) или единицы (для памяти типа DDR SDRAM). В нашем примере CLX-2 будет соответствовать таймингам при tCL = 3.0 1.0 = 2.0.
Оставшаяся часть предоставляемой в этой закладке информации SPD содержит данные об используемом типе коррекции ошибок (Correction, варианты: None, Parity, ECC), атрибутах модуля (Attributes, варианты: None, Buffered, Registered), его изготовителе (Manufacturer) и номере (Part Number). Стоит заметить, что производители класса Noname (как видно по приведенному скриншоту) далеко не всегда предоставляют подобные сведения в микросхеме SPD модуля. База данных по памяти
Последняя закладка в разделе Platform Info, в общем-то, напрямую не связана с информацией о платформе, но является важной и неотъемлемой составляющей новой версии RMMA 3.2.
Интересна она по двум причинам. Прежде всего, она позволяет неискушенному пользователю быстро и без особых усилий измерить важнейшие характеристики подсистемы памяти платформы а именно, ее реальную пропускную способность (причем, в условиях как синтетических («измерительных»), так и реальных («состязательных») тестов) и латентность. Это делается одним нажатием кнопки Quick Tests, сами тесты занимают, в зависимости от производительности подсистемы памяти, всего одну-две минуты. Выдаются как средние параметры, полученные без какой-либо оптимизации, так и лучшие (в случае ПСП максимальные) по всем вариантам оптимизации чтения из памяти/записи в память.
Кроме того, по желанию здесь можно осуществить и другой тест тест памяти на стабильность ее функционирования в данной конфигурации (при данных таймингах). Такой тест занимает довольно длительное время (60 минут), в связи с чем при его запуске выводится соответствующее предупреждение с возможностью отмены. Кроме того, существует возможность отменить этот тест и в процессе его выполнения, однако, в этом случае его результат не учитывается.
Второе, что предоставляет эта закладка возможность поучаствовать и внести свой посильный вклад в развитие нашей базы данных (каталога) модулей памяти, который, правда, в настоящее время находится лишь в начальной стадии разработки. Это осуществляется нажатием кнопки Submit Results. В этом случае, если тесты производительности (Quick Tests) были успешно выполнены, открывается следующее диалоговое окно.
Настройки достаточно очевидны: информация о пользователе (полное имя и e-mail адрес, по которому будут отправлены подтверждения о получении результатов и внесении их в базу, после проверки на достоверность модератором), которая из соображений удобства сохраняется в конфигурационный файл (rmma.ini). Кроме того, на настоящий момент необходимо внесение данных о материнской плате пользователем вручную путем заполнения граф Vendor Name, Model Name и BIOS Version (в дальнейшем ожидается реализация автоматического определения этих параметров через Desktop Management Interface, DMI). Мы призываем наших пользователей отнестись к этой процедуре максимально серьезно, поскольку это напрямую связано с ценностью предоставляемой информации. Кроме того, желающие могут предоставить любые дополнительные (но не обязательные) сведения о платформе (до 255 символов), которые могут оказаться сколько-нибудь полезными для нашей базы данных. Сама база данных памяти, согласно замыслу, будет включать в себя следующее:
- Информацию о системном процессоре (данные CPUID, частота, количество системных процессоров);
- Данные о материнской плате (производитель, модель, BIOS), ссылку на описание платы;
- Данные о чипсете (производитель, код устройства, ревизия и т.п.), ссылку на описание чипсета;
- Данные о текущих таймингах памяти;
- Информацию SPD всех модулей памяти, включая производителя, Part Number, организацию и атрибуты модулей, рекомендованные тайминги;
- Спецификацию модуля памяти от вендора, ссылку на сайт вендора;
- Фото модуля памяти;
- Фото чипа памяти;
- Результаты тестов памяти на стабильность на данной материнской плате и чипсете при указанных таймингах;
- Результаты измерений реальной ПСП и латентности памяти на данной материнской плате и чипсете при указанных таймингах;
Кроме того, планируется реализация возможности сортировки результатов поиска модуля с наилучшими таймингами под конкретную материнскую плату и наоборот.
Реализованные на данный момент способы отправки информации это так называемая offline submission (в этом случае результаты просто сохраняются в файл с именем, основанным на e-mail адресе пользователя, после чего пользователю предоставляется возможность отправить этот файл вручную в виде вложения по адресу базы данных, указанному в программе), а также online SMTP submission (в этом случае сохраненные в файле результаты автоматически отправляются по адресу базы данных, после чего программой сообщается успешность выполнения операции). В дальнейшем планируется реализация online-отправки по протоколу HTTP, с автоматическим приемом результатов теста HTTP-сервером базы данных проекта RightMark.