RightMark Memory Analyzer — пакет тестов для точного измерения наиболее значимых низкоуровневых характеристик подсистемы CPU/чипсет/RAM. Данный тестовый пакет, объединяющий в себе целый ряд подтестов, предназначенных для измерения объективных характеристик элементов системы, крайне необходим для оценки важнейших объективных характеристик платформы в целом.
Позволяет узнать следующую информацию о платформе:
- Данные CPUID — производитель, название модели и ядра, семейство, степпинг, поддерживаемые наборы инструкций, особенности кэша и TLB;
- Данные о чипсете (северном и южном мостах) — производитель, название модели, настройки AGP, тип/емкость и текущие тайминги установленной ОЗУ
- Данные Memory SPD (Serial Presence Detect) — тип и емкость модулей, производитель, номер модели, особенности и тайминги.
Тесты микроархитектуры, предлагаемые программой, позволяют определить наиболее важные низкоуровневые характеристики платформы, в том числе:
- Среднюю и пиковую пропускную способность ОЗУ;
- Размер кэша данных L1/L2/L3 и его иерархию (инклюзивную/эксклюзивную);
- Среднюю и минимальную/максимальную латентность кэша данных L1/L2/L3 и ОЗУ;
- Ассоциативность кэша данных L1/L2/L3;
- Пропускную способность шин L1-L2 и L2-L3, а также задержки прибытия данных;
- Размер I-ROB (Instructions Reorder Buffer);
- Размер кэша инструкций L1 (включая «эффективный размер») и ассоциативность;
- Эффективность декодирования простых x86-инструкций (ALU/FPU/MMX);
- Размер и ассоциативность каждого уровня D-TLB;
- Размер и ассоциативность каждого уровня I-TLB.
ТОП-сегодня раздела «Диагностика, тесты»
CPU-Z 2.04
CPU-Z — небольшая полезная программа, с помощью которой вы получите всю информацию об…
FurMark 1.32.1.0
FurMark — мощный инструмент, который будет в первую очередь полезен оверклокерам, позволяющий…
CrystalDiskMark 8.0.4c
CrystalDiskMark — небольшая бесплатная программа, предназначенная для сравнительного анализа…
GPU-Z 2.51.0
GPU-Z — отличная утилита для просмотра разнообразной информации о видеокарте и ее…
Отзывы о программе RightMark Memory Analyzer
Алексий про RightMark Memory Analyzer 3.8 [02-12-2016]
В разделе SPD (Serial Presence Detect) не отображается информация о RAM (марка модуля, серийный номер, размер и данные производителя), например, для модулей памяти DDR3.
3 | 2 | Ответить
петр про RightMark Memory Analyzer 3.72 [29-09-2007]
very good
2 | 2 | Ответить
Больше информации
Лицензия | GNU | |
---|---|---|
ОС | Windows |
Раздел | Производительность | |
---|---|---|
Язык | Pусский | |
Автор | RightMark Gathering | |
Размер | 2.43 MB | |
Загрузки | 5,859 | |
Дата | 29 мая 2008 | |
SHA256 | 9c14542105cd54e6b1422e7863a09d8ce876a08ad0e3c4db2f3adbd6afbc9c0f | |
Почему это приложение опубликовано на Uptodown? |
(Больше информации) |
Приложения, рекомендуемые для вас
Надежный, универсальный и настраиваемый браузер
Общайтесь со всеми своими контактами в Telegram со своего рабочего стола
Видеозвонки и конференции с массой других возможностей
Автоматизация нажатий мышкой на компьютере
Общайся с друзьями через десктопную версию Whatsapp
Совершенный партнер для вашего нового iPod или iPhone
Создавайте собственную анимацию очень простым способом
Доступ к содержимому образов ISO
Похожие на RightMark Memory Analyzer
Проверьте свою видеокарту с помощью различных аналитических тестов.
Проверьте особенности вашей видеокарты
Отслеживайте температуру, скорость и напряжение своего ПК
Оптимизируйте оперативную память каждые 30 минут
Легко обнаруживайте проблемы ПК, вызванные разгоном или оборудованием
Проведите тест на производительность своему ПК
Удаляйте любые программы и даже те, которые сложно удалить
Управляйте скоростью вращения вентиляторов вашего ПК
Создайте PDF из любого приложения
Jerome Guinot
Проверьте свою видеокарту с помощью различных аналитических тестов.
WinTools.Info
Corsair
Официальное приложение HP для управления своим принтером
Nenad Hrg
UL Solutions
Содержание
- Тестирование ОЗУ
- Лимиты
- Статистика операций
- Звуковые сигналы
- Достоинства
- Недостатки
- Скачать RightMark Memory Analyzer бесплатно
- Вопросы и ответы
RightMark Memory Analyzer – простая утилита для диагностики ошибок в оперативной памяти компьютера.
Тестирование ОЗУ
Утилита тестирует свободную память ПК на наличие неисправностей и сбойных адресов. Если требуется проверить весь объем, то такая возможность присутствует.
На выбор предоставляется два режима проверки – случайный и смешанный, кроме того, софту можно предоставить повышенный или пониженный приоритет, в зависимости от того, какие задачи выполняются параллельно тесту.
Лимиты
По умолчанию утилита настроена таким образом, что проверка продолжается до бесконечности, циклически. Существует возможность лимитировать время теста и задать количество ошибок, при достижении которого проверка прекратится.
Статистика операций
Софт умеет вести лог, в который записываются результаты тестирования.
В созданном текстовом файле содержится информация о времени начала проверки, используемом объеме памяти, настройках утилиты и времени окончания операции. В том случае, если будут обнаружены ошибки, то и эти данные отобразятся в файле.
Звуковые сигналы
Если модули ОЗУ работают с ошибками, то софт оповестит пользователя об этом с помощью звукового сигнала.
Достоинства
- По умолчанию проверяется только свободный объем памяти, что не мешает работать ОС;
- Выставление приоритета также помогает утилите незаметно проводить проверку;
- Не требует установки;
- Софт является свободным.
Недостатки
- Нет русскоязычной версии;
- Отсутствие внятной документации.
RightMark Memory Analyzer – предельно простой софт для диагностики ОЗУ. Настраивается таким образом, что не нагружает систему и работает почти незаметно для пользователя.
Для загрузки утилиты с официального сайта необходимо кликнуть по одному из значков с изображением дискеты (см. скриншот).
Загрузить последнюю версию программы с официального сайта
Похожие программы и статьи:
RightMark Memory Analyzer
Рейтинг:
3.75 из 5
(4 голосов)
Система: Windows 7, 8, 8.1, 10, XP, Vista
Категория: Обзоры программ
Размер: 2 MB
Язык: Английский
Версия: 3.8
RightMark Memory Analyzer — диагностическая утилита, производящая проверку оперативной памяти для выявления ошибок. Ведет статистику, имеет функцию оповещения.
Как вам эта программа?
Aims the detailed, stable and accurate measurements of the most important low-level characteristics of the CPU/Chipset/RAM subsystem of your PC.
Seven types of tests are implemented in the current release of the RightMark Memory Analyzer suite, that allow you to determine the following low-level parameters of the platform:
Average and peak memory bandwidth;
Average and minimal L1/L2 data cache/memory latency;
L1/L2 data cache associativity;
L1-L2 data cache bus bandwidth;
D-TLB size and associativity (of each level);
L1 instructions cache size (including the «effective» size) and associativity;
Decode efficiency of various simple x86 (ALU/FPU/MMX) instructions;
I-TLB size and associativity (of each level).
What’s New:
3.8
* RightMark Memory Stability Test (RMMS) component updated to version 1.2: Improved memory allocation scheme allowing testing up to 2000MB of memory at once, if available; added log file time stamp.
* RightMark Multi-Threaded Memory Test (RMMT) component updated to version 1.1: Added individual threads selection to the «All Threads» group, improved «Lock Virtual Memory Pages» feature behavior.
* Added EPP/XMP info to the RMMA System Info report.
* Added support for DDR3 SPD and Intel XMP (eXtreme Memory Profiles) SPD extension.
* Added limited support for Intel 3 series chipsets (Memory SPD reading).
* Added identification of several AMD Athlon 64 X2 NPT (revision F) CPU cores.
* Added identification of new Intel Core 2 CPUs, including 45nm cores.
* New CPU Database entries.
RightMark Memory Analyzer — программа для определения характеристик процессора, чипсета и оперативной памяти компьютера. Приложение позволяет получать данные CPUID, узнавать информацию о производителе процессора, его модели, семействе и размере кэша, знакомиться с характеристиками чипсета и оперативки. Есть возможность проведения тестов микроархитектуры и получения данных о кэше L1/L2/L3 (включая средние, минимальные и максимальные значения), D-TLB, I-TLB, I-ROB и т.д.
Что нового в этой версии?
3.72
(01.01.1970)
· Added support for quad-core Intel Core 2 processors (Kentsfield core)
· Fixed identification of AMD Athlon 64 FX dual-core and several AMD K8 revision E core names
· Fixed display of tRP/tRAS parameters in Memory SPD info
· New CPU Database entries
Смотреть всю историю изменений
Описание тестового пакета
Приложение 1:
RightMark Memory Analyzer 2.5;
изменения и дополнения
Необходимость создания данного тестового пакета вызвана тем, что до настоящего времени не существовало ни одного хорошего программного продукта для измерения важнейших параметров подсистемы CPU/Chipset/RAM, выдающего стабильные, надежные (воспроизводимые) результаты тестирования и позволяющего задавать параметры тестов в широких пределах. В качестве важнейших «низкоуровневых» характеристик системы можно перечислить латентность и реальную пропускную способность оперативной памяти, среднюю/минимальную латентность различных уровней кэша и степень его ассоциативности, реальную пропускную способность шины L1-L2 кэша, характеристики уровней TLB. При этом данные моменты в технической документации того или иного продукта (CPU или чипсета), зачастую рассматриваются недостаточно подробно, если рассматриваются вообще. Таким образом, можно смело утверждать, что подобный тестовый пакет, объединяющий в себе целый ряд подтестов, предназначенных для измерения объективных характеристик элементов системы, крайне необходим для оценки важнейших объективных характеристик платформы в целом. Предлагаемый вашему вниманию тестовый пакет разработан в рамках проекта RightMark, имеет рабочее название RightMark Memory Analyzer и доступен для ознакомления в виде открытого исходного кода (Open Source). Итак, приступим к рассмотрению самого тестового пакета. Системные требования
Минимальными системными требованиями программы являются:
- Процессор не ниже Pentium MMX;
- Минимум 32 MB свободной оперативной памяти;
- Операционная система Windows 2000 и выше.
Общие настройки (General)
В этом разделе программы находятся настройки, являющиеся общими для всех подтестов, реализованных в RMMA.
CPU Clock, CPU Count
Информация о частоте процессора и количестве логических процессоров, присутствующих в системе.
Cache Line Size
Эффективный размер строки кэша, определяемый автоматически при запуске приложения (процедура определения занимает несколько секунд). Этот параметр является одним из важнейших для получения правильных результатов в большинстве реализованных подтестов. В связи с этим его автоматическое определение является неотъемлемой частью функциональности RMMA.
Memory Allocation
Выбор метода размещения памяти, необходимой для выполнения тестов.
Standard — стандартный метод выделения блока памяти с помощью malloc() с последующим вызовом VirtualLock() по выделенному региону памяти, гарантирующим, что последующее обращение к этому региону не вызовет page fault.
AWE — метод, использующий расширения Address Windowing Extensions, доступные в операционных системах класса Windows 2000/XP/2003 Server. Данный метод выделения памяти является более надежным для ряда тестов, например, таких как тест ассоциативности кэша. Использование расширений AWE требует наличия у пользователя привилегии Lock Pages in Memory, которая, недоступна по умолчанию. Для получения данной привилегии необходимо выполнить следующие действия:
- Войти в систему с административным уровнем доступа;
- Запустить Local Security Policy из Administrative Tools;
- Выбрать Security Settings —> Local Policies —> User Rights Assignment;
- Выбрать политику Lock pages in memory и добавить имя пользователя или группы (например, Administrators).
- Чтобы данная политика вступила в силу, достаточно просто выйти из системы и войти в нее заново.
Data Set Size
Общий объем данных, который будет прочитан/записан при измерении каждой последующей точки. Само измерение в каждой точке повторяется четыре раза, после чего выбирается минимальный (по количеству тактов процессора) результат, что позволяет достичь большей воспроизводимости. Таким образом, например, если вы измеряете пропускную способность памяти на чтение с размером блока 1MB, величина Data Set Size = 128 MB означает, что в этом случае будет осуществлено 4 измерения с 32 итерациями чтения в каждом. Большие значения Data Set Size приводят к более достоверным результатам (более гладким кривым), но увеличивают время исполнения теста в соответствующее число раз.
Thread Lock
В общем случае, каждый тест запускается в главном потоке, которому присваивается наивысший возможный приоритет (realtime), что гарантирует практически полное отсутствие влияния на результаты тестирования других процессов, которые могут быть запущены в операционной системе. Однако это утверждение справедливо далеко не всегда, а именно — только в случае с однопроцессорными системами, каковыми, правда, и является большинство пользовательских систем. В случае мультипроцессорных систем (SMP или Hyper-Threading) посторонние процессы могут оказывать существенное влияние на результаты тестов. В связи с этим, данная опция введена с целью блокирования исполнения других процессов на мультипроцессорных системах класса SMP, что ведет к повышению точности и стабильности измерений. В то же время, использование данной опции крайне не рекомендуется в системах с технологией Hyper-Threading, поскольку в этом случае оно начинает сильно влиять на результаты тестирования. Оптимальным режимом тестирования систем с Hyper-Threading является условие по возможности максимально полного отсутствия загрузки операционной системы. Настоятельно рекомендуется закрыть все приложения, в т.ч. работающие в фоновом режиме и имеющие минимальный приоритет.
Logarithmic Y Scale
Включает логарифмический масштаб по оси ординат. По умолчанию используется линейный масштаб.
White Background
Позволяет использовать белый фон в графическом представлении результатов теста, как по мере тестирования, так и в отчетном (BMP) файле. По умолчанию используется черный фон. Эта опция введена для удобства распечатки полученных результатов теста.
Create Test Report
Эта опция определяет, будет ли создан отчет после завершения теста. Отчет включает в себя два файла, с текстовым (MS Excel CSV) и графическим (BMP) представлением результатов теста.
Последовательность исполнения тестов (Batch)
Возможность последовательного исполнения тестов введена, прежде всего, из соображений удобства, в частности, для «потокового» тестирования большого количества разнообразных систем одним и тем же набором тестов. RMMA позволяет осуществлять следующие действия с набором тестов (Batch):
- Delete — удаление выбранного теста из набора;
- Clear — очистка всего набора;
- Load — загрузка сохраненного набора из файла;
- Save — сохранение текущего набора в файл.
Добавление индивидуальных тестов в набор осуществляется нажатием кнопки Add to Batch при нахождении в любом из подтестов программы. Описание тестов, реализованных в RMMA
В тестовом пакете RMMA реализовано семь видов тестов, позволяющих оценить основные характеристики подсистемы CPU/Chipset/RAM. Важнейшие из этих характеристик включают в себя:
- Среднюю и максимальную реальную пропускную способность памяти (ПСП);
- Среднюю и минимальную латентность L1/L2 кэша данных и оперативной памяти;
- Ассоциативность L1/L2 кэша данных;
- Реальную пропускную способность шины L1-L2 кэша данных;
- Размер и ассоциативность каждого (при наличии нескольких) уровня D-TLB;
- Размер (в т.ч. «эффективный») и ассоциативность L1 кэша инструкций;
- Эффективность декодирования различных наборов инструкций ALU/FPU/MMX;
- Размер и ассоциативность каждого (при наличии нескольких) уровня I-TLB.
В каждом из тестов существует возможность задания пользовательских настроек или выбора одного из наборов заранее определенных настроек (Preset). Наличие последних введено для удобства ознакомления с опциями каждого из тестов и возможности сравнения систем различных классов в одних и тех же условиях. Из соображений надежности, в случае выбора любого пресета возможность модификации параметров теста блокируется. Тест №1: Тест реальной пропускной способности памяти (ПСП) (Memory BW)
Первый тест предназначен для оценки реальной пропускной способности L1/L2/L3 кэша данных и оперативной памяти (RAM). Принцип этого теста предельно прост: замеряется время (в тактах процессора), потраченное на полное чтение/запись/копирование блока данных определенного размера (который может быть как переменным, так и фиксированным) с использованием тех или иных регистров процессора (MMX, SSE или SSE2). В случае операций чтения и копирования тест также позволяет использовать различные оптимизации, направленные на достижение максимальной реальной пропускной способности при операциях чтения (Maximal Real Read Bandwidth) — методы Software Prefetch или Block Prefetch. Результат представляется в виде количества байт, переданных процессору (процессором) за один такт, а также в MB/s. Ниже перечислены настройки первого теста.
Variable Parameter
Выбор одного из трех режимов тестирования:
Block Size — построение зависимости реальной ПСП от размера блока;
PF Distance — построение зависимости реальной ПСП от длины префетча в методе Software Prefetch. Поскольку этот режим ориентирован на достижение максимальной действительной пропускной способности памяти на чтение, он рекомендуется только для больших размеров блока (заведомо больших, чем общий размер кэша данных);
Block PF Size — построение зависимости реальной ПСП от размера префетч-блока в одном из двух методов Block Prefetch. Аналогично случаю PF Distance, рекомендуется только для больших размеров блока данных.
Minimal Block Size
Minimal Block Size, KB — минимальный размер блока данных, в килобайтах, в случае Variable Parameter = Block Size; размер блока данных в остальных случаях.
Maximal Block Size
Maximal Block Size, KB — максимальный размер блока данных в случае Variable Parameter = Block Size.
Minimal PF Distance
Minimal PF Distance — минимальная длина Software Prefetch, в байтах, в случае Variable Parameter = PF Distance; длина Software Prefetch в остальных случаях. Величина 0 означает, что режим Software Prefetch не используется.
Maximal PF Distance
Maximal PF Distance — максимальная длина Software Prefetch в случае Variable Parameter = PF Distance.
Minimal Block PF Size
Minimal Block PF Size — минимальная величина Prefetch-блока, в килобайтах, в случае Variable Parameter = Block PF Size; величина Prefetch-блока в остальных случаях. Данный параметр имеет смысл только в случае использования методов Block Prefetch (1, 2), описанных ниже.
Maximal Block PF
Maximal Block PF Size — максимальная величина Prefetch-блока, в килобайтах, в случае Variable Parameter = Block PF Size.
Stride Size
Stride Size — размер шага при чтении данных в кэш в методах Block Prefetch (1, 2), в байтах. Для получения достоверных результатов этот параметр должен соответствовать длине строки кэша. Поэтому здесь и в остальных подтестах этот параметр выставлен по умолчанию как auto-detect, что означает, что будет использоваться величина размера строки кэша, автоматически определенная программой при ее запуске.
CPU Register Usage
CPU Register Usage — выбор используемых регистров для осуществления операций чтения/записи. Возможными вариантами являются 64-bit MMX, 128-bit SSE и 128-bit SSE2.
Read Prefetch Type
Read Prefetch Type — тип используемых инструкций для метода Software Prefetch (PREFETCHNTA/T0/T1/T2), а также включение одного из режимов Block Prefetch. Последние необходимы для измерения в режиме Variable Parameter = Block PF Size. Метод Block Prefetch 1 использует «начитку» строк из памяти в кэш в префетч-блок заданного размера с использованием инструкций MOV и рекомендуется для процессоров семейства AMD K7 (Athlon/Athlon XP/MP). В то же время, «начитка» данных в методе Block Prefetch 2 осуществляется с помощью одной из инструкций Software Prefetch (PREFETCHNTA). Этот метод рекомендован AMD для процессоров семейства K8 (Opteron/Athlon 64/FX).
Non-Temporal Store
Non-Temporal Store — использование режима прямого доступа в память (протокола write combining) при осуществлении операций записи. Данный режим доступа осуществляет запись данных в память без предварительного считывания старых данных в систему кэш-уровней процессора (т.е., не используя режим write allocate), что минимизирует «засорение» кэша процессора ненужными данными, в частности, при операции копирования данных.
Copy-to-Self Mode
Copy-to-Self Mode — использование режима «копирования на себя». В этом случае копирование блока данных осуществляется в ту же область памяти, где находится сам копируемый блок, т.е. фактически содержимое памяти не изменяется. По умолчанию эта опция не выбрана, и копирование осуществляется со смещением, равным длине перемещаемого блока данных. В связи со 100% попаданиями операций записи в кэш в режиме Copy-to-Self, в основном, тестируется способность памяти к чтению после записи (read around write). В этом случае утилизация кэш-памяти оказывается значительно выше, и тест является более «легким» для подсистемы памяти. Важно отметить, что режимы Non-Temporal Store и Copy-to-Self не совместимы друг с другом.
Selected Tests
Selected Tests — выбор одного или нескольких способов доступа к памяти.
Read Bandwidth — реальная пропускная способность памяти при операциях чтения;
Write Bandwidth — реальная пропускная способность памяти при операциях записи;
Copy Bandwidth — реальная пропускная способность памяти при операциях копирования.
Тест №2: Тест латентности/ассоциативности L1/L2 кэша данных (D-Cache Lat)
Второй тест предназначен для определения средней/минимальной латентности L1/L2 кэша данных и памяти, размера строки L2 кэша и степени ассоциативности L1/L2 кэша данных. Ниже перечислены его параметры и рассмотрены основные режимы его работы.
Variable Parameter
Выбор одной из четырех разновидностей теста:
Block Size — построение зависимости латентности кэша данных/памяти от размера блока. Данный режим теста позволяет получить общую картину латентности различных областей подсистемы памяти — L1, L2, L3 (при наличии такового) кэша данных или оперативной памяти (RAM). Принцип его работы следующий: в выделенной области памяти создается цепочка зависимого доступа, каждый элемент которой содержит в себе адрес последующего элемента. При этом соблюдается условие, что на каждой полной итерации чтения к каждому элементу цепочки будет осуществлено строго одно обращение. Количество элементов цепочки берется равное размеру блока, деленному на величину шага по цепочке (Stride Size, см. ниже). В случае если размер шага соответствует длине строки кэша, размер блока является истинной характеристикой количества прочитанных данных (поскольку считывание данных из оперативной памяти в L2 кэш или из L2 кэша в L1 кэш осуществляется «построчно»). Таким образом, использование размеров блока, меньших или равных размеру L1 кэша позволяет оценить латентность доступа (load-use latency) к первому уровню кэша; размер блока в интервале (L1..L1+L2) или (L1..L2), в зависимости от архитектуры кэша (эксклюзивной и инклюзивной, соответственно) даст нам оценку латентности второго уровня (L2) кэша, и, наконец (поскольку L3 кэш является сравнительно редким явлением), размер блока, заведомо больший, чем сумма объемов L1+L2 кэша позволяет нам оценить латентность доступа к оперативной памяти (RAM). Порядок обхода цепочки зависит от выбранного метода тестирования (см. ниже). В случае прямого последовательного доступа (Forward Read Latency) обход осуществляется строго с первого элемента по последний, при этом последний элемент цепочки содержит указатель на первый, что позволяет многократно повторять операцию обхода. В случае обратного последовательного доступа (Backward Read Latency) первый элемент цепочки содержит адрес последнего элемента, после чего чтение осуществляется от последнего элемента к первому. Наконец, случайный доступ (Random Read Latency), как следует из его названия, характеризуется случайной последовательностью элементов в цепочке, однако условие выборки каждого из элементов строго по одному разу сохраняется. Для примера, ниже на рисунке изображен принцип прямого последовательного обхода цепочки из 8 элементов.
Stride Size — построение зависимости латентности кэша от размера шага. Использование этого режима теста является осмысленным только для размеров блока, попадающих в L2 кэш, и позволяет определить длину строки последнего. Данный метод определения длины строки кэша является далеко не единственным — в RMMA реализовано три таких метода, остальные из которых будут рассмотрены ниже.
Chains Count — построение зависимости латентности кэша от количества последовательных зависимых цепочек доступа, позволяющей оценить ассоциативность L1/L2 кэша данных. «Количество» цепочек — это условное понятие, т.к. реально осуществляется обход одной и той же цепочки зависимого доступа. Единственное отличие «многоцепочечного» варианта от «одноцепочечного» заключается в том, что в этом случае чтение данных осуществляется не в пределах одной и той же области памяти, а из разных областей (количество которых равно числу «цепочек»), расположенных друг относительно друга со смещением, кратным размеру сегмента кэша. Чтобы все это выглядело менее запутанно, проиллюстрируем, как осуществляется прямой последовательный обход массива при количестве цепочек, равном четырем.
Для определения такого важного параметра кэша процессора, как степень его ассоциативности, достаточно последовательно увеличивать число зависимых цепочек доступа, сохраняя минимальным размер блока данных. Последний факт доказывает, что «испортить жизнь» кэшу процессора очень легко — для этого вовсе не обязательно «засорять» весь его объем. На деле, для того, чтобы «пробить» ассоциативность n-way set associative кэша, достаточно прочитать всего лишь n строк кэша по строго определенным адресам, имеющим относительное смещение, кратное размеру сегмента кэша. Именно это обстоятельство и эксплуатирует данный подтест. Для примера, чтобы показать «полную несостоятельность» кэша L2 процессора Pentium 4 размером 512K, имеющего степень ассоциативности n = 8 и размер строки 64 байт достаточно будет прочитать всего лишь 8 x 64 = 512 байт данных, т.е. занять меньше 0.1% его объема(!). В качестве минимального размера сегмента кэша в текущей реализации теста выбрано значение, равное 1MB. Столь большое значение гарантирует, что тест будет корректно определять степень ассоциативности L2/L3 кэша данных даже в системах с большим объемом последнего (отметим, что сегмент кэша, равный 1MB, соответствует, например, 8MB кэшу данных третьего уровня со степенью ассоциативности, равной 8).
NOP Count — построение зависимости латентности выбранной области (L2 кэша или памяти) от количества «пустых» операций, вставленных между двумя последующими обращениями к выбранной области (L2 кэшу или памяти). Эти операции, называемые для краткости «NOP»-ами, не связаны с доступом в кэш, но приводят к появлению фиксированного временного промежутка между двумя последующими обращениями к разным строкам кэша/памяти, что позволяет «разгрузить» шину данных, соответствующую коммуникации между L1-L2 или L2-RAM, соответственно, и достичь таким образом минимального значения латентности доступа к выбранной подсистеме памяти. В текущей реализации RMMA в качестве такой «пустой» операции используется команда x86 ALU or eax, edx (при этом в eax хранится адрес элемента цепочки, а edx инициализирован нулем), которая, как показывает практика, одинаково хорошо подходит для тестирования большинства современных процессоров.
Minimal Block Size, KB
Minimal Block Size, KB — минимальный размер блока данных, в килобайтах, в случае Variable Parameter = Block Size; размер блока данных в остальных случаях.
Maximal Block Size, KB
Maximal Block Size, KB — максимальный размер блока данных в случае Variable Parameter = Block Size.
Minimal NOP Count
Minimal NOP Count — минимальное количество вставленных «пустых» операций в случае Variable Parameter = NOP Count; количество вставленных «пустых» операций в остальных случаях.
Maximal NOP Count
Maximal NOP Count — максимальное количество вставленных «пустых» операций в случае Variable Parameter = NOP Count.
Minimal Chains Count
Minimal Chains Count — минимальное количество последовательных зависимых цепочек доступа в случае Variable Parameter = Chains Count; количество последовательных зависимых цепочек доступа в остальных случаях. Как было сказано выше, смещение каждой из таких зависимых цепочек доступа от соседней составляет величину, кратную максимально возможному размеру сегмента кэша.
Maximal Chains Count
Maximal Chains Count — максимальное количество последовательных зависимых цепочек доступа в случае Variable Parameter = Chains Count.
Minimal Stride Size
Minimal Stride Size — минимальная величина шага, в байтах, по зависимой цепочке доступа (каждой из них, в случае нескольких цепочек) в случае Variable Parameter = Stride Size; величина шага по зависимой цепочке доступа в остальных случаях.
Maximal Stride Size
Maximal Stride Size — максимальная величина шага по зависимой цепочке доступа в случае Variable Parameter = Stride Size.
Latency Measurement
Latency Measurement — используемая методика определения минимальной латентности (параметр доступен для конфигурирования только в режиме Variable Parameter = NOP Count). В методе №1 (Method 1) для определения минимальной латентности используется обычная цепочка зависимого доступа со вставкой переменного количества «пустых» операций, рассмотренных выше (edx = 0):
// загрузка следующего элемента цепочки
mov eax, [eax]
// разгрузка шины, переменное количество «пустых» операций
or eax, edx
…
or eax, edx
Тем не менее, в ряде случаев (если эффективно работает спекулятивная загрузка) минимальная латентность кэша может не достигаться таким способом. Для достижения минимальной латентности в подобных случаях в RMMA реализована альтернативная методика (Method 2), в которой используется несколько иной код обхода цепочки (ebx = edx = 0):
// разгрузка шины, фиксированное количество «пустых» операций
add ebx, edx
…
add ebx, edx
// загрузка следующего элемента цепочки
mov eax, [eax+ebx]
and ebx, eax
// разгрузка шины, переменное количество «пустых» операций
add ebx, edx
…
add ebx, edx
Selected Tests
Selected Tests — выбор способов обхода цепочки при тестировании латентности.
Forward Read Latency — латентность прямого последовательного доступа;
Backward Read Latency — латентность обратного последовательного доступа;
Random Read Latency — латентность случайного доступа.
Тест №3: Тест реальной пропускной способности шины L1/L2 кэша данных (D-Cache BW)
Третий тест предназначен для оценки реальной пропускной способности шины L1-L2 кэша (с таким же успехом его можно использовать для оценки ПС шины L2-RAM). Он является, пожалуй, наиболее простым из реализованных в RMMA тестов в плане его конфигурирования. В сущности, в его основе лежит тот же метод, что и в тесте реальной пропускной способности L1/L2/RAM (тест №1). Отличие заключается в том, что чтение/запись блока памяти в этом тесте осуществляется «построчно», т.е. с шагом, равным длине строки кэша и использованием ALU регистров процессора. Поддерживается как прямой, так и обратный режим доступа. Параметрами этого теста являются:
Variable Parameter
Variable Parameter — выбор одного из двух режимов работы теста:
Block Size — построение зависимости реальной ПС шины данных от размера блока данных;
Stride Size — построение зависимости реальной ПС шины L1-L2 или L2-RAM от величины шага. Данный режим является вторым из возможных способов определения размера длины строки кэша.
Minimal Block Size, KB
Minimal Block Size, KB — минимальный размер тестируемого блока, в килобайтах, в случае Variable Parameter = Block Size; размер блока данных в остальных случаях. Задание величины, меньшей чем (по крайней мере) полуторный размер кэша L1 приведет к бессмысленным результатам. Действительно, данный тест не позволяет оценить пропускную способность связки L1-LSU-registers, потому что загрузка данных из L1 в LSU (Load-Store Unit) и, далее, в регистры процессора осуществляется отнюдь не «построчно». Для оценки ПС L1-LSU гораздо лучше использовать первый тест (Memory BW) в области размеров блока, попадающих в L1 кэш.
Maximal Block Size, KB
Maximal Block Size, KB — максимальный размер тестируемого блока, в килобайтах. Указание величины, меньшей, чем размер L2 (инклюзивная архитектура кэша) или L1+L2 (эксклюзивная архитектура кэша) позволяет оценить реальную ПС шины L1-L2. При задании интервала значений Block Size от L1+L2 до некоторого заведомо большего значения с помощью данного теста можно оценить максимальную действительную пропускную способность памяти (ПСП) при операциях чтения/записи целых строк кэша, которая в ряде случаев оказывается выше, чем максимальная реальная ПСП при операциях тотального чтения/записи данных.
Minimal Stride Size
Minimal Stride Size — минимальная величина шага доступа к кэшу при осуществлении операций чтения/записи в случае Variable Parameter = Stride Size; величина шага доступа к кэшу в остальных случаях.
Selected Tests
Selected Tests — выбор вида измерений.
Forward Read Bandwidth — прямое последовательное чтение строк кэш;
Backward Read Bandwidth — обратное последовательное чтение строк кэш;
Forward Write Bandwidth — прямая последовательная запись строк кэш;
Backward Write Bandwidth — обратная последовательная запись строк кэш;
Тест №4: Тест прибытия данных по шине L1/L2 (D-Cache Arrival)
Четвертый тест предназначен для тестирования деталей реализации шины L1-L2 кэша данных (разрядность, мультиплексность) некоторых процессоров с эксклюзивной архитектурой кэша, в частности, процессоров семейства AMD K7/K8. В этом тесте, по сути, измеряется суммарная латентность двух обращений к одной и той же строке кэша, отстоящих друг относительно друга на заданную величину. Лежащий в основе метод измерений идентичен реализованному в тесте №2, который мы рассматривали выше, за исключением того, что два соседних элемента цепочки находятся в одной и той же строке кэша. Для наглядности изобразим это на следующем рисунке.
Кроме того, четвертый тест можно использовать для определения размера строки кэша L2 (это является третьим реализованным в RMMA способом определения последней, который, кстати, используется для ее измерения при запуске программы). Параметры четвертого теста таковы:
Variable Parameter
Variable Parameter — выбор одной из пяти разновидностей теста:
Block Size — построение зависимости суммарной латентности от размера блока.
NOP Count — построение зависимости суммарной латентности от количества «пустых» операций, вставленных между двумя последующими обращениями к разным строкам кэша.
SyncNOP Count — построение зависимости суммарной латентности от количества «пустых» операций, вставленных между двумя последующими обращениями к одной и той же строке кэша.
1st DW Offset — построение зависимости суммарной латентности от смещения первого слова в пределах строки кэша.
2nd DW Offset — построение зависимости суммарной латентности от смещения второго слова в пределах строки кэша.
Minimal Block Size, KB
Minimal Block Size, KB — минимальный размер блока данных, в килобайтах, в случае Variable Parameter = Block Size; общий размер блока данных в остальных случаях.
Maximal Block Size, KB
Maximal Block Size, KB — максимальный размер блока данных в случае Variable Parameter = Block Size.
Minimal NOP Count
Minimal NOP Count — минимальное количество вставленных «пустых» операций между двумя последующими обращениями к соседним строкам кэша в случае Variable Parameter = NOP Count; количество вставленных «пустых» операций между двумя последующими обращениями к соседним строкам кэша в остальных случаях.
Maximal NOP Count
Maximal NOP Count — максимальное количество вставленных «пустых» операций между двумя последующими обращениями к соседним строкам кэша в случае Variable Parameter = NOP Count.
Minimal SyncNOP Count
Minimal SyncNOP Count — минимальное количество вставленных «пустых» операций между двумя последующими обращениями к одной и той же строке кэша в случае Variable Parameter = SyncNOP Count; количество вставленных «пустых» операций между двумя последующими обращениями к одной и той же строке кэша в остальных случаях.
Maximal SyncNOP Count
Maximal SyncNOP Count — максимальное количество вставленных «пустых» операций между двумя последующими обращениями к одной и той же строке кэша в случае Variable Parameter = SyncNOP Count.
Stride Size
Stride Size — величина шага, в байтах, по зависимой цепочке доступа между двумя последовательными обращениями к соседним строкам кэша.
Minimal 1st Dword Offset
Minimal 1st Dword Offset — минимальная величина смещения первого слова в пределах строки кэша, в байтах, в случае Variable Parameter = 1st DW Offset; величина смещения первого слова в пределах строки кэша в остальных случаях.
Maximal 1st Dword Offset
Maximal 1st Dword Offset — максимальная величина смещения первого слова в пределах строки кэша в случае Variable Parameter = 1st DW Offset.
Minimal 2nd Dword Offset
Minimal 2nd Dword Offset — минимальная величина смещения второго слова в пределах строки кэша, в байтах, в случае Variable Parameter = 2nd DW Offset; величина смещения второго слова в пределах строки кэша в остальных случаях. Смещение второго слова вычисляется относительно смещения первого слова, по модулю величины шага (размера строки кэша):
2nd_Dword_Offset = (2nd_Dword_Offset + 1st_Dword_Offset) % Stride_Size
Maximal 2nd Dword Offset
Maximal 2nd Dword Offset — максимальная величина смещения второго слова в пределах строки кэша в случае Variable Parameter = 2nd DW Offset.
Selected Tests
Selected Tests — выбор способов тестирования латентности двойного доступа.
Forward Two-Dword Read Latency — латентность двойного обращения при прямом последовательном доступе;
Backward Two-Dword Read Latency — латентность двойного обращения при обратном последовательном доступе;
Random Two-Dword Read Latency — латентность двойного обращения при случайном доступе.
Тест №5: Тест трансляционного буфера данных (D-TLB)
Пятый тест предназначен для определения объема и степени ассоциативности трансляционного буфера данных (Translation Lookaside Buffer, L1/L2 D-TLB). В этом тесте, фактически, измеряется латентность доступа в L1 кэш, но при том условии, что каждая последующая строка кэша загружается не из той же самой, а из следующей страницы памяти.
(В скобках заметим, что размер страницы памяти в реальных операционных системах гораздо больше (для примера, 4096 байт), чем в нашей схеме, где в нее помещается всего 4 строки кэша).
Таким образом, если количество задействованных страниц меньше размера TLB данных, мы определяем собственную латентность кэша L1 (TLB hit). В противном случае измеряется латентность кэша L1 в условиях промаха TLB (TLB miss). Важно отметить, что максимальное количество задействованных страниц памяти (Maximal TLB Entries) не должно превышать количество строк L1 кэша, иначе кривая зависимости будет иметь скачок, связанный с попаданием из области L1 в область L2, но не связанный с размером структуры D-TLB. Следует отметить, что общий размер уровней TLB всегда оказывается заведомо меньшим, чем количество кэш-линий, помещающихся в L1 кэше (чему можно придумать вполне объективное объяснение). Настройки этого теста таковы:
Variable Parameter
Variable Parameter — выбор одного из двух режимов работы теста.
TLB Entries — построение зависимости латентности доступа в L1 кэш от количества задействованных страниц памяти.
Chains Count — построение зависимости латентности доступа в L1 кэш от количества последовательных цепочек доступа при заданном количестве задействованных страниц, позволяющей оценить степень ассоциативности каждого из уровней D-TLB. Принцип построения «цепочек» аналогичен применяемому в тесте латентности (тест №2), но в этом случае к величине смещения между «цепочками» добавляется величина, равная шагу при обращении к каждому последующему элементу (длине строки кэша). Для наглядности, изобразим обход четырех элементов TLB при двух «цепочках» доступа.
Stride Size
Stride Size — шаг доступа по зависимой цепочке данных, в байтах.
Minimal TLB Entries
Minimal TLB Entries — минимальное количество используемых страниц памяти, по которым осуществляется считывание кэш-линий, в случае Variable Parameter = TLB Entries; количество используемых страниц памяти в остальных случаях.
Maximal TLB Entries
Maximal TLB Entries — максимальное количество используемых страниц памяти в случае Variable Parameter = TLB Entries.
Minimal Chains Count
Minimal Chains Count — минимальное количество последовательных зависимых цепочек доступа в случае Variable Parameter = Chains Count; количество последовательных зависимых цепочек доступа в остальных случаях.
Maximal Chains Count
Maximal Chains Count — максимальное количество последовательных зависимых цепочек доступа в случае Variable Parameter = Chains Count.
Selected Tests
Selected Tests — выбор способов тестирования.
Forward Access — прямой последовательный доступ;
Backward Access — обратный последовательный доступ;
Random Access — случайный доступ.
Тест №6: Тест кэша инструкций (I-Cache)
Шестой тест позволяет оценить эффективность декодирования/исполнения ряда простых команд процессора (ALU/FPU/MMX), а также эффективность работы L1 кэша инструкций и ассоциативность последнего. Он представляет особый интерес для оценки эффективного объема Trace Cache процессоров семейства Pentium 4 при декодировании/исполнении различных инструкций. Параметры этого теста перечислены ниже.
Variable Parameter
Выбор одного из трех типов данного теста:
Block Size — построение зависимости скорости декодирования от размера блока кода (здесь и далее под «скоростью декодирования» (Decode Bandwidth) будем понимать скорость последовательности операций считывания, декодирования и исполнения инструкций процессором). Методика тестирования заключается в создании блока кода заданного размера «на лету» (в runtime) и измерении количества тактов процессора, потраченных на его исполнение. Последней инструкцией в блоке кода во всех случаях является инструкция возврата контроля вызывающей процедуре (RET).
Chains Count — построение зависимости скорости декодирования от количества последовательных цепочек доступа. По аналогии с тестом №2, это позволяет определить степень ассоциативности L1 кэша инструкций. С методологической точки зрения, переходы между соседними «цепочками», соответствующими разным сегментам кэша, осуществляются с помощью команды безусловного перехода jmp. Для примера на рисунке приведена схема исполнения кода (красные стрелки) в случае использования двух «цепочек» (операции перехода отмечены зелеными стрелками).
Prefixes Count — построение зависимости скорости декодирования инструкций вида [pref]nNOP от количества используемых префиксов (pref = 0x66, operand-size override prefix).
Minimal Block Size, KB
Minimal Block Size, KB — минимальный размер блока кода, в килобайтах, в случае Variable Parameter = Block Size; размер блока кода в остальных случаях.
Maximal Block Size, KB
Maximal Block Size, KB — максимальный размер блока кода в случае Variable Parameter = Block Size.
Minimal Chains Count
Minimal Chains Count — минимальное количество последовательных цепочек доступа в случае Variable Parameter = Chains Count; количество последовательных цепочек доступа в остальных случаях.
Maximal Chains Count
Maximal Chains Count — максимальное количество последовательных цепочек доступа в случае Variable Parameter = Chains Count.
Minimal Prefixes Count, Maximal Prefixes Count
Minimal Prefixes Count, Maximal Prefixes Count — минимальное и максимальное количество префиксов в случае Variable Parameter = Prefixes Count. Недоступны в остальных случаях.
Stride Size
Stride Size — минимальный размер исполняемого кода в данной цепочке, включающий в себя операцию перехода на соседнюю цепочку, рекомендуется выбрать равным размеру строки кэша инструкций.
Instructions Type
Instructions Type — тип декодируемых/исполняемых инструкций:
ALU — арифметическо-логические целочисленные операции с использованием регистров общего назначения;
FPU — некоторые элементарные и вычислительные операции, осуществляемые блоком вычислений с плавающей точкой (FPU);
MMX — арифметическо-логические целочисленные операции, использующие блок MMX процессора.
Instructions Subtype
Instructions Subtype — подтип декодируемых/исполняемых инструкций. Зависит от выбранного типа инструкций. В скобках указан размер инструкции, в байтах.
Тип инструкций | Подтип инструкций | Операция |
---|---|---|
ALU | NOP (1) LEA (2) MOV (2) ADD (2) SUB (2) OR (2) XOR (2) TEST (2) CMP (2) SHL (3) ROL (3) XOR/ADD (4) CMP-0 (4) CMP-0 (6) CMP-8 (6) CMP-16 (6) CMP-32 (6) CMP-0 (8) CMP-8 (8) CMP-16 (8) CMP-32 (8) |
nop lea eax, [eax] mov eax, eax add eax, eax sub eax, eax or eax, eax xor eax, eax test eax, eax cmp eax, eax shl eax, 0 rol eax, 0 xor eax, eax; add eax, eax cmp ax, 0x00 cmp eax, 0x00000000 cmp eax, 0x0000007f cmp eax, 0x00007fff cmp eax, 0x7fffffff [rep][addrovr]cmp eax, 0x00000000 [rep][addrovr]cmp eax, 0x0000007f [rep][addrovr]cmp eax, 0x00007fff [rep][addrovr]cmp eax, 0x7fffffff |
FPU | WAIT (1) FADD (2) FMUL (2) FSUB (2) FSUBR (2) FCHS (2) FABS (2) FTST (2) FXAM (2) FCOM (2) FCOMI (2) FST (2) FXCH (2) FDECSTP (2) FINCSTP (2) FFREE (2) FFREEP (2) |
wait fadd st(0), st(1) fmul st(0), st(1) fsub st(0), st(1) fsubr st(0), st(1) fchs fabs ftst fxam fcom st(1) fcomi st(0), st(1) fst st(0) fxch fdecstp fincstp ffree st(0) ffreep st(0) |
MMX | EMMS (2) MOVQ (3) POR (3) PXOR (3) PADDD (3) PSUBD (3) PCMPEQD (3) PUNPCKLDQ (3) PSLLD (4) |
emms movq mm0, mm0 por mm0, mm0 pxor mm0, mm0 paddd mm0, mm0 psubd mm0, mm0 pcmpeqd mm0, mm0 punpckldq mm0, mm0 pslld mm0, 0 |
Тест №7: Тест трансляционного буфера инструкций (I-TLB)
Последний из реализованных в RMMA тестов предназначен для определения объема и степени ассоциативности трансляционного буфера инструкций (Instructions Translation Lookaside Buffer, L1/L2 I-TLB). Настройки этого теста являются абсолютно такими же, как и у теста №5:
Variable Parameter
Variable Parameter — выбор одного из двух режимов работы теста:
TLB Entries — построение зависимости латентности доступа в L1i от количества задействованных страниц памяти.
Chains Count — построение зависимости латентности доступа в L1i от количества последовательных цепочек доступа при заданном количестве задействованных страниц.
Stride Size — шаг доступа по зависимой цепочке данных, в байтах. Шаг по цепочке осуществляется операцией безусловного перехода (jmp). Для примера, на рисунке приведен прямой последовательный обход четырех элементов I-TLB с двумя цепочками доступа.
Последний элемент цепочки, обозначенный крестиком, содержит в себе инструкцию возврата контроля вызывающей процедуре (ret).
Minimal TLB Entries
Minimal TLB Entries — минимальное количество используемых страниц памяти, по которым осуществляется обращение к кэш-линиям L1i, в случае Variable Parameter = TLB Entries; количество используемых страниц памяти в остальных случаях.
Maximal TLB Entries
Maximal TLB Entries — максимальное количество используемых страниц памяти в случае Variable Parameter = TLB Entries.
Minimal Chains Count
Minimal Chains Count — минимальное количество последовательных зависимых цепочек доступа в случае Variable Parameter = Chains Count; количество последовательных зависимых цепочек доступа в остальных случаях.
Maximal Chains Count
Maximal Chains Count — максимальное количество последовательных зависимых цепочек доступа в случае Variable Parameter = Chains Count.
Selected Tests
Selected Tests — выбор способов тестирования.
Forward Access — прямой последовательный доступ;
Backward Access — обратный последовательный доступ;
Random Access — случайный доступ.
Следует отметить, что «латентность», выдаваемая в результатах тестирования, в данном случае является весьма условным понятием. Фактически, можно говорить о латентности исполнения связки инструкций
mov ecx, address_value
jmp ecx
при различном их количестве и относительном расположении. Тем не менее, такая характеристика является вполне приемлемой для определения структуры уровней I-TLB и их ассоциативности. Приложение 1: RightMark Memory Analyzer 2.5
Изменения и дополнения
Проведенные нами и представленные вашему вниманию первые сравнительные тестирования различных платформ (AMD K7/K8, Intel Pentium 4, Intel Pentium III / Pentium M) позволили выявить ряд основных моментов, которые в предыдущей версии RightMark Memory Analyzer 2.4 были либо реализованы недостаточно хорошо, либо не были реализованы вовсе. Обнаруженные недочеты были учтены при разработке новой версии тестового пакета, рассмотрению которой и посвящено это небольшое приложение.
Общие настройки теста (General)
Как можно заметить по представленному рисунку, основным изменением этого раздела является введение автоматического определения размера строки обоих уровней кэша данных (L1 Cache Line Size, L2 Cache Line Size). Ранее этот момент несколько умалчивался, но фактически измерялся и отображался размер строки только первого уровня кэша. Тем не менее, теория и практика показали, что эффективные размеры строк L1 и L2 у некоторых процессоров могут отличаться. Рассмотрим, для примера, процессоры семейства Intel Pentium 4. Эффективный размер строки L2 у этих процессоров — 128 байт (точнее, такая строка называется «двухсекторной», и состоит она из двух «обычных» 64-байтных строк), что означает, что пересылка данных по шине L2-RAM (или L2-L3, L3-RAM у процессоров Pentium 4 XE) осуществляется сразу по 128 байт за одно обращение.
В связи с этим значения, получаемые в тесте D-Cache Bandwidth при оценке реальной пропускной способности шины L2-RAM (L2-L3, L3-RAM) оказывались заниженными, если использовался размер шага, равный автоматически определенному размеру строки (первого уровня кэша), а для получения объективных характеристик требовалось указание правильного размера шага вручную. Этот недостаток был устранен — в соответствующем разделе теста появилась возможность выбора параметра Minimal Stride Size, равного как размеру строки L1, так и L2 (что продемонстрировано на приведенном выше скриншоте).
Вернемся к общим настройкам теста. Здесь присутствует еще один новый параметр, Active CPU Index, предоставляющий возможность указания номера активного CPU (физического или логического), на котором будет исполняться главный поток теста. В то время как данная опция довольно бесполезна для обычных SMP- (и уж тем более, HT-) систем, ее можно с интересом применять для изучения различий в поведении системы при обращении CPU к «своей» и «чужой» памяти, в системах с раздельной архитектурой последней (яркий тому пример — двухпроцессорные платформы AMD K8, в которых каждый процессор «наделен» собственной памятью).
Наконец, отметим последнее изменение в этом разделе — это возможность выбора одного из трех способов выделения памяти (Memory Allocation): Standard, VirtualLock и AWE. Первый использует обычный malloc() и не рекомендуется для обычного тестирования платформ. Он введен, в основном, для изучения возможности работы теста под менеджерами памяти, отличными от стандартного менеджера памяти ОС Windows и имеющими те или иные преимущества (например, поддержку «больших» 4МБ страниц памяти). Напомним, что для получения достоверных и воспроизводимых результатов по-прежнему рекомендуется использовать метод, использующий расширения AWE, в связи с чем он выбран по умолчанию.
Тест №1: Memory Bandwidth
Главные изменения этого теста коснулись процедур чтения/записи/копирования памяти во всех режимах доступа (MMX, SSE, SSE2), в т.ч. методов, использующих Software Prefetch. Применение большего фактора «раскручивания» циклов позволило оптимизировать режим работы этих процедур в области малых размеров блока (в области L1 кэша данных) и увеличить достигаемые значения реальной пропускной способности этого уровня кэша.
Тест №2: D-Cache Latency
Существенным дополнением этого теста является введение нового режима обхода памяти, названного псевдослучайным (Pseudo-Random Read Latency) и разработанного с целью уменьшения величин латентности случайного доступа к памяти. В этом режиме обход цепочки зависимого доступа является случайным в пределах каждой страницы памяти, но при этом обход страниц памяти в целом осуществляется прямым последовательным образом.
Первое обстоятельство минимизирует вмешательство алгоритма Hardware Prefetch, а второе приводит к практически полному устранению промахов D-TLB. В связи с этим латентность псевдослучайного обхода оказывается заметно меньшей по сравнению с латентностью при случайном обходе (который зачастую осуществляется в условиях значительного количества промахов D-TLB) и вполне может претендовать на звание объективной характеристики латентности памяти.
Вторым изменением этого теста является изменение процедуры построения зависимости латентности выбранного уровня подсистемы памяти (L1/L2 кэш/RAM) от величины шага (Variable Parameter = Walk Size). В предыдущей реализации RMMA реальное количество шагов по цепочке зависимого доступа в этом подтесте определялось как размер блока, деленный на величину шага (которая являлась переменной), что приводило к значительному уменьшению количества шагов по мере увеличения их размера. В новой версии теста количество шагов является фиксированным (не зависящим от размера шага, границы которого задаются новыми параметрами Minimal Walk Size и Maximal Walk Size). Оно определяется как размер блока, деленный на «базовую» величину шага (Stride Size, которая по умолчанию берется равной длине строки L1 кэша).
Программа — для диагностики ОЗУ, процессора и материнской платы
RightMark Memory Analyzer — ПО, определяющее показатели работы процессора и чипсета, а также программного обеспечения ПК.
С помощью этой программы возможны получение информации CPUID, выяснение сведений об изготовителе процессора, модели последнего, его семействе, параметрах кэша, ознакомление с параметрами чипсета, а также оперативки.
Возможно тестирование микроархитектуры с получением информации.
Эта утилита универсального типа, применяемая для точного тестирования низкоуровневых параметров ПО. Возможно получение сведений о типах модулей, которые были установлены, а также об их ёмкости.
Ещё приложение позволяет проанализировать остальные комплектующие ПК, такие как процессор и материнская плата.
Данная программа представляет собой максимально простое ПО для диагностирования ОЗУ. Её можно настраивать так, чтобы она не нагружала ОС и работала практически незаметно.
Соответствие процессора, материнской платы и памяти в ПК имеет важное значение. Не менее важен и правильный выбор БП.
С помощью RightMark Memory Analyzer, которая является бесплатной и простой в применении программой, можно обеспечить соблюдение этих условий.
Её интерфейс является интуитивным. Пользователю нетрудно по мере необходимости проводить тестирование и просмотр нужных сведений.
Когда утилита будет запущена, произойдёт открытие главного окна. Для начала процедуры тестирования ПО потребуется зайти в «Ram Performance».
В данном разделе пользователь имеет возможность проанализировать продуктивность ОЗУ. Чтобы сделать это, потребуется указать минимум и максимум размеров блоков в KB. Ещё в данном разделе необходимо поставить галочки напротив разновидностей тестов.
Для запуска процедуры проверки ОЗУ потребуется нажать «Run». 2-ым доступным разделом для тестов памяти является «RAM Stability».
Тут у пользователя есть возможность проверки стабильности ОЗУ. С этой целью потребуется указать, какие размеры имеет блок в KB, а также уточнить срок проведения теста.
Раздел «Results» в ПО RightMark Memory Analyzer даёт возможность увидеть итоги каждого проведённого теста.
В случае необходимости возможно сохранение отчётов на ПК. Чтобы сделать это, нужно использовать функцию «Save», расположенную внизу раздела.
Преимущества RightMark Memory Analyzer:
- Простота интерфейса.
- Широкий набор тестов для ПО.
- Бесплатное распространение.
- Возможность просматривать историю анализа ОЗУ.
Данная программа является пакетом тестов, позволяющим точно измерять важнейшие низкоуровневые параметры подсистемы CPU/чипсет/RAM.
В этом пакете тестов объединён комплекс под тестов, которые обеспечивают определение объективных параметров системных элементов.
Он имеет важное значение для оценивания наиболее существенных показателей платформы.
С помощью описываемого ПО можно выяснить следующие данные о платформе:
- Информация CPUID — изготовитель, модель, ядро, степпинг, семейство, какие инструкционные наборы поддерживаются, характеристики кэша, а также TLB.
- Информация, касающаяся чипсета (северный и южный мост), — изготовитель, модель, AGP-настройки, ёмкость, тип, тайминги ОЗУ.
- Информация Memory SPD — виды модулей и их ёмкость, изготовитель, модель, тайминги.
Тесты для микроархитектуры, которые предлагает программа, дают возможность выяснить важнейшие низкоуровневые платформенные параметры:
- Пропускная способность (пиковая и средняя) ОЗУ.
- Размер информационного кэша L1/L2/L3, иерархия последнего (инклюзивная/эксклюзивная).
- Латентность (средняя, минимальная и максимальная) информационного кэша L1/L2/L3.
- Ассоциативность информационного кэша L1/L2/L3.
( 1 оценка, среднее 5 из 5 )
Скачать
Характеристики
Скрины
Разработчик:
RightMark Gathering
ОС:
Windows Vista, XP, 2000
Рейтинг:
4.85 звезд
В левом меню вы можете скачать RightMark Memory Analyzer 3.8 бесплатно, без регистрации и ввода смс. Ссылка на скачивание прямая, поэтому вам не придется ожидать, загрузка RightMark Memory Analyzer начнется сразу же автоматически, без перехода на другую страницу. Размер программы составляет 1000 Кб
RightMark Memory Analyzer — пакет тестов для точного измерения наиболее значимых низкоуровневых характеристик подсистемы CPU/чипсет/RAM. Данный тестовый пакет, объединяющий в себе целый ряд подтестов, предназначенных для измерения объективных характеристик элементов системы, крайне необходим для оценки важнейших объективных характеристик платформы в целом.
Позволяет узнать следующую информацию о платформе:
- Данные CPUID — производитель, название модели и ядра, семейство, степпинг, поддерживаемые наборы инструкций, особенности кэша и TLB;
- Данные о чипсете (северном и южном мостах) — производитель, название модели, настройки AGP, тип/емкость и текущие тайминги установленной ОЗУ
- Данные Memory SPD (Serial Presence Detect) — тип и емкость модулей, производитель, номер модели, особенности и тайминги.
Тесты микроархитектуры, предлагаемые программой, позволяют определить наиболее важные низкоуровневые характеристики платформы, в том числе:
- Среднюю и пиковую пропускную способность ОЗУ;
- Размер кэша данных L1/L2/L3 и его иерархию (инклюзивную/эксклюзивную);
- Среднюю и минимальную/максимальную латентность кэша данных L1/L2/L3 и ОЗУ;
- Ассоциативность кэша данных L1/L2/L3;
- Пропускную способность шин L1-L2 и L2-L3, а также задержки прибытия данных;
- Размер I-ROB (Instructions Reorder Buffer);
- Размер кэша инструкций L1 (включая «эффективный размер») и ассоциативность;
- Эффективность декодирования простых x86-инструкций (ALU/FPU/MMX);
- Размер и ассоциативность каждого уровня D-TLB;
- Размер и ассоциативность каждого уровня I-TLB.
Программы похожие на RightMark Memory Analyzer
-
4.00 рейтинг
Passmark MonitorTest — программа представляет собой тест для оценки качества CRT, LCD и плазменных мониторов.
Принцип работы состоит в следующем — пользователю демонстрируются последовательно…
- Условно-бесплатная | Цена: $24.00
- Windows 10, 8.1, 8, 7, Vista, XP, 2000
-
3.85 рейтинг
OpenGL Extension Viewer – это универсальная программа позволяющая получить подробную информацию о графической OpenGL подсистеме драйвера видеокарты. Она также выдает подробную информацию о подде…
- Бесплатная
- Windows 10, 8.1, 8, 7, Vista, XP
-
4.22 рейтинг
TIREAL TFT TEST — Компактная программа для полного тестирования и настройки вашего TFT-монитора.
Тесты:
Базовый тест цвета
Тест интерференции и видеошума
Тест градиента
…
- Бесплатная
- Windows Vista, XP
-
4.45 рейтинг
WinAudit Freeware — бесплатная программа для диагностики установленного программного и аппаратного обеспечения, проверки сетевых настроек, конфигурации системы безопасности и т.д. Программа не требует…
- Бесплатная
- Windows 10, 8.1, 8, 7, Vista, XP
-
4.04 рейтинг
MemTest — утилита предназначена для тестирования надежности работы оперативной памяти. При тестировании оценивается способность памяти записывать и считывать данные. Есть возможность задавать количест…
- Бесплатная
- Windows 10, 8.1, 8, 7, Vista, XP
-
5.00 рейтинг
BenchMem — небольшая утилитка для визуального представления производительности системной памяти. Прогоняет блоки разной длины на чтение (и запись) и строит графики производительности.
Цель программы …- Бесплатная
- Windows Vista, XP, 2000
-
4.75 рейтинг
Windows Vista Upgrade Advisor — программа предназначена для проверки текущей версии установленной операционной системы и аппаратных компонентов на предмет совместимости с Windows Vista.
Программа пр…- Бесплатная
- Windows Vista, XP
-
4.21 рейтинг
GPU-Z — удобная программа, при помощи которой вы получите максимум всевозможной информации о видеокарте и ее графическом процессоре. Поддерживает работу с картами NVIDIA и ATI.
Приложение поможет у…
- Бесплатная
- Windows 10, 8.1, 8, 7, Vista, XP
-
4.57 рейтинг
OCCT Perestroika — программа предназначена для проведения тестов на стабильность работы компьютера. Позволяет проводить парное тестирование: процессор — память и отдельную проверку работы центрального…
- Бесплатная
- Windows 10, 8.1, 8, 7, Vista, XP
-
4.44 рейтинг
Core Temp — небольшая бесплатная и простая в использовании программа, которая позволяет контролировать температуру процессора и отображает температуру каждого отдельного ядра (в многоядерных процессор…
- Бесплатная
- Windows 10, 8.1, 8, 7, XP
-
4.67 рейтинг
Video Memory stress Test- этот тест позволяет очень досконально проверить всю доступную для DirectX видеопамять на предмет сбоев. Как заявляет автор, это незаменимая вещь для оверклокеров.
Основная о…- Бесплатная
- Windows Vista, XP, 2000
-
4.48 рейтинг
CrystalDiskMark — небольшая бесплатная программа, предназначенная для сравнительного анализа (тестирования) быстродействия жестких дисков компьютера. Позволяет измерить скорость чтения и записи данных…
- Бесплатная
- Windows 10, 8.1, 8, 7, XP
-
4.43 рейтинг
Sysinternals Suite — большой набор полезных утилит для диагностики и устранения различного рода неполадок системы от Марка Руссиновича, известного технического специалиста, сооснователя компании Winte…
- Бесплатная
- Windows 10, 8.1, 8, 7, Vista, XP
-
3.67 рейтинг
Geekbench — кросс-платформенный эталонный тест для измерения быстродействия процессора и подсистемы памяти компьютера.
При желании Вы можете опубликовать и сравнить свои показатели с результатами д…
- Условно-бесплатная | Цена: $19.95
- Windows 10, 8.1, 8, 7, Vista, XP
-
4.36 рейтинг
Belarc Advisor — бесплатная программа, которая выводит детальную информацию об установленном в компьютере программном и аппаратном обеспечении, статусе антивируса, установленных и не установленны…
- Бесплатная
- Windows 10, 8.1, 8, 7, Vista, XP
-
4.27 рейтинг
GPU Caps Viewer это утилита для графической карты, которая тестирует ее на производительность, показывает текущую температуру графического процессора, расширения OpenGL, информацию о поддержке OpenGL …
- Бесплатная
- Windows 10, 8.1, 8, 7, Vista, XP
-
4.55 рейтинг
Windows Vista Upgrade Advisor — программа предназначена для проверки текущей версии установленной операционной системы и аппаратных компонентов на предмет совместимости с Windows 7.
Программа прове…
- Бесплатная
- Windows Vista, XP
-
5.00 рейтинг
Test Braking CPU — программа для определения коэффициента торможения процессора. Коэффициент торможения измеряется в миллисекундах затраченных на выполнение цикла математических операций, чем дольше с…
- Бесплатная
- Windows 10, 7, XP
-
4.43 рейтинг
OCCT GPU — программа для тестирования видеокарты, включая GPU и память, на предмет стабильности и наличия ошибок при разгоне методом определения артефактов изображения.
Пользоваться программой дост…
- Бесплатная
- Windows Vista, XP
-
5.00 рейтинг
Imtec Battery Mark — программа предназначена для тестирования аккумуляторной батареи ноутбука. Производит тестирование в двух режимах (ускоренном и обычном) с двумя вариантами воспроизведения нагру…
- Бесплатная
- Windows 7, Vista, XP, 2000, 2003