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

 
 
> Проблемы с Dhrystone на AT91RM9200
Paramedic
сообщение Feb 12 2007, 16:14
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Компилирую в ИАР4.41 и загружаю через SAM-ICE тест производительности связки AT91RM9200+32MB_SDRAM (на плате AS-9200 от Аргуссофта) и вот что получаю:
-I- WO MMU & I+D Caches Disabled
-I- 329 Dhrystone per second
-I- 297 Dhrystone per second
-I- 296 Dhrystone per second
-I- 296 Dhrystone per second
-I- WO MMU & I Cache Enabled
-I- 1176 Dhrystone per second
-I- 1067 Dhrystone per second
-I- 1084 Dhrystone per second
-I- 1083 Dhrystone per second
-I- MMU & I Cache Enabled
-I- 1176 Dhrystone per second
-I- 1078 Dhrystone per second
-I- 1079 Dhrystone per second
-I- 1082 Dhrystone per second
-I- MMU & I+D Cache Enabled
-I- 3555 Dhrystone per second
-I- 3185 Dhrystone per second
-I- 3210 Dhrystone per second
-I- 3232 Dhrystone per second
-I- MMU & I+D Caches but I cache reduced (locked elsewhere)
-I- 2092 Dhrystone per second
-I- 1886 Dhrystone per second
-I- 1885 Dhrystone per second
-I- 1882 Dhrystone per second
По-моему маловато. Если кому не сложно, посмотрите в чём может быть дело. Исходники прилагаю.
Прикрепленные файлы
Прикрепленный файл  DHRYSTONE.rar ( 256.98 килобайт ) Кол-во скачиваний: 27
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Paramedic
сообщение Feb 12 2007, 17:24
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 181
Регистрация: 15-01-07
Пользователь №: 24 436



Добавление
AT91F_SetBusMode(((unsigned int)3)<<30); // BUS ASYNC MODE
AT91F_SetCacheMode((unsigned int)1<<14); // CACHE RROBIN MODE
даёт немного лучший результат:
-I- WO MMU & I+D Caches Disabled
-I- 331 Dhrystone per second
-I- 297 Dhrystone per second
-I- WO MMU & I Cache Enabled
-I- 1433 Dhrystone per second
-I- 1299 Dhrystone per second
-I- MMU & I Cache Enabled
-I- 1614 Dhrystone per second
-I- 1483 Dhrystone per second
-I- MMU & I+D Cache Enabled
-I- 10553 Dhrystone per second
-I- 9341 Dhrystone per second
-I- MMU & I+D Caches but I cache reduced (locked elsewhere)
-I- 3923 Dhrystone per second
-I- 3542 Dhrystone per second
Но всё равно не понятно насколько это приемлемо. Встречал сообщения, где пишут что должно быть больше 100 тысяч.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Feb 12 2007, 19:38
Сообщение #3


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

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



1. TTB таблица должна быть размещена в некэшируемой области. Например, с адреса 0x20200000 (ну уж всяко выше первого мегабайта). Соответственно вызываем: AT91F_InitMMU((unsigned int *)0x20200000);
2. Для получения максимального быстродействия надо регион объявить как cachable/bufferable. Соответсвенно надо поправить:
pTranslationTable[0x100] =
(0x200 << 20) | // Physical Address
(1 << 10) | // Access in supervisor mode
(15 << 5) | // Domain
1 << 4 |
(1 << 3) | // Cachable
(1 << 2) | // write-back
0x2; // Set as 1 Mbyte section.
3. У тебя процессор заводится на очень низкой частоте. Проверь.
Go to the top of the page
 
+Quote Post



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

 


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


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