Перейти к содержанию
    

Быстродействие ядра STR912

Кто-нибудь получал пиковую производительность 96 MIPS на указанном ядре?

 

Пытаемся выяснить, какая же действительно производительность ядра.

 

В цикле на asm дергаем вывод процессора. Получаем выходную частоту не более 5 МГц (т.е. 10Мгц частота ядра, если считать, что вывод занимает 1 такт - см. ниже).

PLL настроили на 96 МГц (N=192, M=25, P=2), делители частот шин и flash стоят = 1. PQFBC включили.

 

Где можно посмотреть количество тактов процессора на инструкции для этого процессора? Есть дока на ARM9TDMI, где указан 1 такт на команду STR (именно ей и пользуемся для вывода флага). Но соответствует ли ARM9TDMI и ARM966E?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хехе. По дерганью ногой значит частоту ядра получаете?Ж) А то что для вывода в переферию APB используется, Вас не смущает? Может хотябы ШИМ запустите с известными делителями тактовой?

 

Про интсрукции можно посмотреть в ARM referense manual, в доке на ядро 966 наверно тоже.

 

Ну а мипсы мерять ногодрыганьем - это Вы круто придумали. ГЫ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хехе. По дерганью ногой значит частоту ядра получаете?Ж) А то что для вывода в переферию APB используется, Вас не смущает? Может хотябы ШИМ запустите с известными делителями тактовой?

 

Про интсрукции можно посмотреть в ARM referense manual, в доке на ядро 966 наверно тоже.

 

Ну а мипсы мерять ногодрыганьем - это Вы круто придумали. ГЫ.

 

Да, смущает. Решили посмотреть, какая будет задержка.

Частота у шины APB настроена равной частоте PLL (PCLK = fPLL=96 МГц). Это, получается, не означает, что данные передаются по этой шине за 1 такт?

 

На самом деле, выясняем не так. Запускаем какую-нибудь команду раз 50 (конечно, не в цикле, а линейно). Потом дергаем ногой. Но все равно, получается раза эдак в 2,5 меньше, чем по расчету. :(

Например, запустить команду NOP (казалось бы, уж она-то должна за 1 такт выполняться - проще нет) 50 раз. Пересчитываем частоту - получается 39 МГц. А ведь хочется 96! Пробовали исполнять и из FLASH и из RAM - одно и то же. Включение PFQBC уменьшает задержку на jump'ах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хехе. По дерганью ногой значит частоту ядра получаете?Ж) А то что для вывода в переферию APB используется, Вас не смущает? Может хотябы ШИМ запустите с известными делителями тактовой?

 

Про интсрукции можно посмотреть в ARM referense manual, в доке на ядро 966 наверно тоже.

 

Ну а мипсы мерять ногодрыганьем - это Вы круто придумали. ГЫ.

 

Да, смущает. Решили посмотреть, какая будет задержка.

Частота у шины APB настроена равной частоте PLL (PCLK = fPLL=96 МГц). Это, получается, не означает, что данные передаются по этой шине за 1 такт?

 

На самом деле, выясняем не так. Запускаем какую-нибудь команду раз 50 (конечно, не в цикле, а линейно). Потом дергаем ногой. Но все равно, получается раза эдак в 2,5 меньше, чем по расчету. :(

Например, запустить команду NOP (казалось бы, уж она-то должна за 1 такт выполняться - проще нет) 50 раз. Пересчитываем частоту - получается 39 МГц. А ведь хочется 96! Пробовали исполнять и из FLASH и из RAM - одно и то же. Включение PFQBC уменьшает задержку на jump'ах.

 

50 раз маловато - погрешность измерения плюс дополнительные команды управления ногой...

надо или взять специальный тест

или в цикле что то считать, хотя бы 1/10 секунды

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получал. :biggrin: Но только после разгона до 130 Мгц

http://aly.projektas.lt/Projects/STR91_Start/STR91.htm#2

 

Интересно, ваши результаты совпадают с моими?

 

Кто-нибудь получал пиковую производительность 96 MIPS на указанном ядре?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Частота у шины APB настроена равной частоте PLL (PCLK = fPLL=96 МГц). Это, получается, не означает, что данные передаются по этой шине за 1 такт?

Почему вы так решили? Арбитраж на шине apb не в счет? waitstates включены или нет? Например в at91sam7 любое обращение к этой шине занимает не меньше 3 тактов, на счет st не знаю, возможно больше. Мерять мипсы, задействуя шину обращения к преферии - плохая идея. В случае с армом наверно правильней будет задействовать стандартные бенчмарки. А с нопом у вас что-то не то.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получал. :biggrin: Но только после разгона до 130 Мгц

http://aly.projektas.lt/Projects/STR91_Start/STR91.htm#2

 

Интересно, ваши результаты совпадают с моими?

 

Совпадают :)

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

 

Вы имеете ввиду, получили на 130МГц 96 MIPS или 130 MIPS?

Хочется получить количество MIPS равное частоте процессора (на выполнении простейших операций, конечно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разогнал PLL до 130 МГц. И только тогда NOP-ы стали выполняться как при 96 MIPS-ах

Дело в том что доступ к TCM памяти в STR91x проходит где-то за 1.5 такта, а не за один.

И тех поддержка ST это вроде признала. Еще они отмазываются, де у них кэш вервлений еще не сделан нормально.

При выполнении из FLASH с таймингами еще сложнее.

Надо признать что новые LPC при меньшей частоте программу из FLASH выполняют быстрее чем STR91x.

Одно утешение, что voice кодеки и проч. DSP в STR91x на 30% выполняются быстрее чем на ARM7TDMI с той же частотой.

 

Вы имеете ввиду, получили на 130МГц 96 MIPS или 130 MIPS?

Хочется получить количество MIPS равное частоте процессора (на выполнении простейших операций, конечно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дело в том что доступ к TCM памяти в STR91x проходит где-то за 1.5 такта, а не за один.

Как это?1.5 такта? Да еще и где-то?:w00t:

/* под столом */

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...