Coremark - Coremark

CoreMark это ориентир который измеряет эффективность центральные процессоры (CPU) используется в встроенные системы. Разработан в 2009 году.[1] Автор: Шай Гал-Он в EEMBC и призван стать отраслевым стандартом, заменив Дристон ориентир.[2] Код написан на C и содержит реализации следующих алгоритмов: обработка списков (поиск и сортировка), матрица манипуляции (общие матричные операции), Государственный аппарат (определить, содержит ли входной поток допустимые числа) и CRC. Код находится под лицензией Apache License 2.0 и является бесплатным, но право собственности сохраняется за Консорциумом, а публикация измененных версий под названием CoreMark запрещена.[3]

Проблемы, решаемые CoreMark

Алгоритм CRC выполняет двойную функцию; он обеспечивает рабочую нагрузку, обычно наблюдаемую во встроенных приложениях, и обеспечивает правильную работу эталонного теста CoreMark, по сути обеспечивая механизм самопроверки. В частности, для проверки правильности работы выполняется 16-битная CRC для данных, содержащихся в элементах связанный список.

Чтобы компиляторы не могли предварительно вычислить результаты во время компиляции, каждая операция в тесте производительности получает значение, недоступное во время компиляции. Кроме того, весь код, используемый во временной части теста, является частью самого теста (нет библиотека звонки).

CoreMark против Dhrystone

CoreMark опирается на сильные стороны, которые сделали Dhrystone такой устойчивой - он маленький, портативный, простой для понимания, бесплатный и отображает однозначный результат теста. В отличие от Dhrystone, CoreMark имеет определенные правила запуска и отчетности и был разработан, чтобы избежать хорошо изученных проблем, которые упоминались в Дристон.

Основные части Dhrystone зависят от способности компилятора оптимизировать работу; таким образом, это скорее тест компилятора, чем тест оборудования. Это также очень затрудняет сравнение результатов при использовании разных компиляторов / флагов.

Библиотечные вызовы выполняются в пределах временной части Dhrystone. Обычно эти вызовы библиотеки занимают большую часть времени, затрачиваемого тестом. Поскольку код библиотеки не является частью теста, трудно сравнивать результаты, если используются разные библиотеки. Существуют руководства по запуску Dhrystone, но, поскольку результаты не сертифицированы или проверены, они не применяются.[нужна цитата ] Не существует стандартизации того, как следует сообщать результаты Dhrystone, с различными используемыми форматами (DMIPS, Dhrystone в секунду, DMIPS / МГц).

Полученные результаты

Результаты CoreMark можно найти на веб-сайте CoreMark,[4] и в технических паспортах процессора. Результаты имеют следующий формат:

CoreMark 1.0: N / C / P / M

  • N Количество итераций в секунду (с начальными числами 0,0,0x66, размер = 2000)
  • Версия компилятора C и флаги
  • P Параметры, такие как особенности распределения данных и кода
  • M - Тип Параллельный алгоритм выполнение (если используется) и количество контекстов

Например: CoreMark 1.0: 128 / GCC 4.1.2 -O2 -fprofile-use / Heap in TCRAM / FORK: 2

Смотрите также

Рекомендации

  1. ^ Питчер, Грэм (2009-06-08). «EEMBC запускает тест производительности MIPS». newelectronics.co.uk. Получено 2020-04-28.
  2. ^ «ARM объявляет о поддержке EEMBC CoreMark Benchmark». GISCafe. 2009-06-06. Получено 2020-04-28.
  3. ^ «ДОГОВОР О ПРИЕМЛЕМОСТИ ИСПОЛЬЗОВАНИЯ COREMARK®». 2018-05-24. Получено 2020-04-28.
  4. ^ «Очки». Coremark. Получено 2020-04-28.

внешняя ссылка