реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Быстродействие ядра STR912, макс. MIPS?
EKirshin
сообщение Feb 28 2007, 14:36
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904



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

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

В цикле на asm дергаем вывод процессора. Получаем выходную частоту не более 5 МГц (т.е. 10Мгц частота ядра, если считать, что вывод занимает 1 такт - см. ниже).
PLL настроили на 96 МГц (N=192, M=25, P=2), делители частот шин и flash стоят = 1. PQFBC включили.

Где можно посмотреть количество тактов процессора на инструкции для этого процессора? Есть дока на ARM9TDMI, где указан 1 такт на команду STR (именно ей и пользуемся для вывода флага). Но соответствует ли ARM9TDMI и ARM966E?
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Feb 28 2007, 16:09
Сообщение #2


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



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

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

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


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
EKirshin
сообщение Feb 28 2007, 17:41
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904



Цитата(SpiritDance @ Feb 28 2007, 16:09) *
Хехе. По дерганью ногой значит частоту ядра получаете?Ж) А то что для вывода в переферию APB используется, Вас не смущает? Может хотябы ШИМ запустите с известными делителями тактовой?

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

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


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

На самом деле, выясняем не так. Запускаем какую-нибудь команду раз 50 (конечно, не в цикле, а линейно). Потом дергаем ногой. Но все равно, получается раза эдак в 2,5 меньше, чем по расчету. sad.gif
Например, запустить команду NOP (казалось бы, уж она-то должна за 1 такт выполняться - проще нет) 50 раз. Пересчитываем частоту - получается 39 МГц. А ведь хочется 96! Пробовали исполнять и из FLASH и из RAM - одно и то же. Включение PFQBC уменьшает задержку на jump'ах.
Go to the top of the page
 
+Quote Post
KRS
сообщение Feb 28 2007, 19:03
Сообщение #4


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(EKirshin @ Feb 28 2007, 17:41) *
Цитата(SpiritDance @ Feb 28 2007, 16:09) *

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

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

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


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

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


50 раз маловато - погрешность измерения плюс дополнительные команды управления ногой...
надо или взять специальный тест
или в цикле что то считать, хотя бы 1/10 секунды
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Feb 28 2007, 20:08
Сообщение #5


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Получал. biggrin.gif Но только после разгона до 130 Мгц
http://aly.projektas.lt/Projects/STR91_Start/STR91.htm#2

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

Цитата(EKirshin @ Feb 28 2007, 16:06) *
Кто-нибудь получал пиковую производительность 96 MIPS на указанном ядре?
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Mar 1 2007, 09:48
Сообщение #6


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(EKirshin @ Feb 28 2007, 17:41) *
Частота у шины APB настроена равной частоте PLL (PCLK = fPLL=96 МГц). Это, получается, не означает, что данные передаются по этой шине за 1 такт?

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


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
EKirshin
сообщение Mar 1 2007, 10:52
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 41
Регистрация: 2-10-06
Из: Москва
Пользователь №: 20 904



Цитата(AlexandrY @ Feb 28 2007, 20:08) *
Получал. biggrin.gif Но только после разгона до 130 Мгц
http://aly.projektas.lt/Projects/STR91_Start/STR91.htm#2

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


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

Вы имеете ввиду, получили на 130МГц 96 MIPS или 130 MIPS?
Хочется получить количество MIPS равное частоте процессора (на выполнении простейших операций, конечно)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 1 2007, 13:40
Сообщение #8


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Разогнал PLL до 130 МГц. И только тогда NOP-ы стали выполняться как при 96 MIPS-ах
Дело в том что доступ к TCM памяти в STR91x проходит где-то за 1.5 такта, а не за один.
И тех поддержка ST это вроде признала. Еще они отмазываются, де у них кэш вервлений еще не сделан нормально.
При выполнении из FLASH с таймингами еще сложнее.
Надо признать что новые LPC при меньшей частоте программу из FLASH выполняют быстрее чем STR91x.
Одно утешение, что voice кодеки и проч. DSP в STR91x на 30% выполняются быстрее чем на ARM7TDMI с той же частотой.

Цитата(EKirshin @ Mar 1 2007, 12:22) *
Вы имеете ввиду, получили на 130МГц 96 MIPS или 130 MIPS?
Хочется получить количество MIPS равное частоте процессора (на выполнении простейших операций, конечно)
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Mar 1 2007, 14:19
Сообщение #9


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(AlexandrY @ Mar 1 2007, 13:40) *
Дело в том что доступ к TCM памяти в STR91x проходит где-то за 1.5 такта, а не за один.

Как это?1.5 такта? Да еще и где-то?w00t.gif
/* под столом */


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01438 секунд с 7
ELECTRONIX ©2004-2016