CoreMark Test: различия между версиями

Материал из MIK32 микроконтроллер
Строка 73: Строка 73:


==== Размер кода ====
==== Размер кода ====
Так как код в случае исполнения из QSPI  поступает по последовательному каналу и имеет дополнительные циклы ожидания инструкций, то размер кода приложения имеет первостепенную значимость.
{| class="wikitable"
{| class="wikitable"
!Параметр
!Параметр
Строка 90: Строка 91:
|13424
|13424
|}
|}
Важно понимать так же, что кэш инструкций поступающих через QSPI составлят 1кБ, а кэш данных - . Важно отметить, что эта память находится в блоке SPIFI, а не в самом ядре процессора.
==== Попытка объективного позиционирования ====

Версия от 05:56, 27 июля 2023

Введение

Из wikipedia.org: CoreMark — набор синтетических тестов производительности для измерения скорости центральных процессоров во встраиваемых системах. Создан в 2009 году Shay Gal-On из компании EEMBC в качестве замены для антикварного бенчмарка Dhrystone 1984 года. Код тестов написан на языке программирования Си и содержит реализации таких алгоритмов: обработка связных списков (поиск и сортировка), обработка матриц (несколько матричных операций), машина состояний (определение, что входной символьный поток содержит действительные числа в десятичной записи), подсчет суммы CRC.

Более подробно о самом тесте можно почитать на https://ru.wikipedia.org/wiki/CoreMark

Измерения

Все тесты были проведены при частоте 32МГц. Код теста скомпилирован в GCC 10.

Источник кода Кэш CoreMark/-O0 CoreMark/-O1 CoreMark/-O2 CoreMark/-O3 CoreMark/-Os CoreMark/-Ofast
QSPI, 4 бит да 6.1 31 35 35 31 35
QSPI, 1 бит да 3.7 29 29 23 26 26
QSPI, 4 бит нет 1.2 3 3.6 3.9 3.9 2.3
QSPI, 1 бит нет 0.4 1.1 1.3 1.4 0.9 1.4
INT RAM NA не помещает. 34 40 40 32 40
INT FLASH NA не помещает. не помещает. не помещает. не помещает. не помещает. не помещает.

Размер кода

Так как код в случае исполнения из QSPI поступает по последовательному каналу и имеет дополнительные циклы ожидания инструкций, то размер кода приложения имеет первостепенную значимость.

Параметр CoreMark/-O0 CoreMark/-O1 CoreMark/-O2 CoreMark/-O3 CoreMark/-Os CoreMark/-Ofast
Размер кода 17024 10240 10992 13328 8960 13424

Важно понимать так же, что кэш инструкций поступающих через QSPI составлят 1кБ, а кэш данных - . Важно отметить, что эта память находится в блоке SPIFI, а не в самом ядре процессора.

Попытка объективного позиционирования