|
Linux + AT91RM9200 + настройка..., Берем все от контроллера, что только возможно ! Разгоняем производ |
|
|
|
Mar 27 2007, 11:08
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
задачка не для слабонервных....
Предлогаю продолжать здесь обсуждение старой темы, но уже с привязкой к более высокому уровню системы...
=================================================================== вопрос номер один=================================================================== [root@AT91RM9200_SK /]$dmesg |grep MIPS Calibrating delay loop... 85.19 BogoMIPS (lpj=425984)[root@AT91RM9200_SK /]$ ... сейчас у меня контроллер наботает на таких частотах, если верить показаниям ядра... Clocks: CPU 170 MHz, master 42 MHz, main 18.432 MHz
Хочу увеличить скорость производительности линукса.. ...кто нибудь знает как увеличить число 85.19 BogoMIPS
я пробовал увеличить скорость производительности гдето месяц назад - получалось только методом умеличения тактовой частоты шины памяти до 89 MHz.... никому не секрет, и известно что BogoMIPS это юмор Торвальдса, и отоброжает производительность в "попугаях", но как опорная величина мне кажется на нее можно надеяться кратко про это сказано здесь - http://ru.wikipedia.org/wiki/BogoMIPSНадеюсь тут есть светилы мысли у опыта именно в данном вопросе... Посоветуйте, подскажите плиз если знаете...
--------------------
|
|
|
|
|
Mar 29 2007, 00:55
|

Местный
  
Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528

|
Цитата(COMA @ Mar 28 2007, 22:42)  Вроде это предел для ARMов. А как же тогда "200 MIPS at 180 MHz" для AT91RM9200? Понятно что это пиковая производительность и для Linux ничего общего не имеет. Может имеет смысл абстрагироваться от "более высокого уровня системы...", т.е. вести речь не о Linux, и написать синтетический тест, вычисляющий реальную пиковую скорость? Сразу возникает вопрос, кусок кода, вернее цикл, где будет идти подсчёт машинных тиков, резоннее написать на asm? Какие инструкции использовать?
--------------------
Для связи email: info собака qbit.su
|
|
|
|
|
Mar 29 2007, 09:11
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(COMA @ Mar 28 2007, 21:42)  Вроде это предел для ARMов. Дык, как же так? должно быть какоето решение, значит еще не предел.... я же писал Код я пробовал увеличить скорость производительности гдето месяц назад - получалось только методом умеличения тактовой частоты шины памяти до [b]89 MHz[/b].... а все это значит - что нужно искать какие-то оптимальные решения "данной микропроблемки" - тоесть это метод повушения производительности номер 1 вот я и интересуюсь, может ктото знает - какие еще могут быть методы по провышению производительности ядра. хотелось бы поболее чем 85.19 BogoMIPS хотябы 120, вот... Вкратце объясню, откуда ростут ноги этого вопроса :Нужна более высокая производительность системы, так как ты данном котроллере будет выполняться операция матиматической обработки, и хочется что бы пользовательские задачи не отбирали временнай ресурс у мат-демана. Производительность почти 1/2 (почти 100 - из 200ста ) от производительности контроллера, под такой осью как linux, конечно впечятляет, но если смотреть на решаемую задачу, то хочется чуть-чуть по производительнее ... Может как то шедулерами в ядре можно отобрать немного юзерского времени.... или еще как то?
--------------------
|
|
|
|
|
Mar 29 2007, 09:27
|
Участник

Группа: Свой
Сообщений: 55
Регистрация: 25-08-05
Из: Украина, Харьков
Пользователь №: 7 954

|
Цитата(PrSt @ Mar 27 2007, 10:08)  я пробовал увеличить скорость производительности гдето месяц назад - получалось только методом умеличения тактовой частоты шины памяти до 89 MHz.... И сколько BogoMIPS получилось в результате?
|
|
|
|
|
Mar 29 2007, 09:28
|
Знающий
   
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559

|
Цитата А как же тогда "200 MIPS at 180 MHz" для AT91RM9200? Вы не путайте обычные MIPS c BogoMips  "`MIPS - это аббревиатура, миллионы операций в секунду (Millions of Instructions Per Second). Это измерение скорости выполнения программы. Как и большинство таких мер, ей больше злоупотребляют, чем правильно используют (очень трудно сравнивать MIPS различных типов компьютеров). BogoMips - это изобретение Linus Torvalds. Ядру требуются (или это драйвер устройства?) временные задержки состоящие, из пустых циклов, которые должны быть отрегулированы по отношению к скорости процессора. Так как ядро вычисляет при загрузке, сколько времени занимает каждый тип цикла. "Bogo" происходит от "bogus" (фальшивый, поддельный). Так как величина BogoMips дает представление о скорости процессора, но она настолько антинаучна, что ее назвали не иначе, как BogoMips. Причины (а их две), почему это выводится во время загрузки, являются: a) удобство для отладки и проверки работы кэша и режима турбо, и  потому что Linus любит посмеиваться над растерянными людьми в новостях. "
|
|
|
|
|
Mar 29 2007, 09:36
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(COMA @ Mar 29 2007, 09:28)  Вы не путайте обычные MIPS c bogomips  не-е-е-е, я не путаю я просто пытаюсь разобраться в вопросе - существуетли такая возможность для уточнения что это такое привожу следующее ----------------------------------------------------------------------------------- <h3 id="siteSub">Материал из Википедии — свободной энциклопедии</h3> Перейти к: навигация, поиск BogoMIPS (от англ. bogus (поддельный) и MIPS — англ. Millions of Instructions Per Second) — в ядре Линукс ненаучный способ измерения производительности компьютера, предназначенный для калибровки внутренних циклов. Термин изобрёл Линус Торвальдс в 1993. BogoMIPS шутливо определяется как «сколько миллионов раз в секунду компьютер может делать абсолютно ничего». Причина возникновения такой величины в том, что для работы с некоторыми видами оборудования ядру системы требуются короткие временны́е задержки, которые реализуются в форме пустых циклов. Чтобы узнать, сколько именно раз надо повторять пустой цикл, необходимо выяснить скорость его выполнения на данной машине — именно для этого используется BogoMIPS. При начальной загрузке ядра выдаётся сообщение примерно такого вида: Calibrating delay loop… 2994.99 BogoMIPS Во время работы значение BogoMIPS можно узнать, прочитав файл /proc/cpuinfo Величина BogoMIPS обычно пропорциональна тактовой частоте процессора, но также зависит от архитектуры процессора и работы кэша. [<a href="http://ru.wikipedia.org/w/index.php?title=BogoMIPS&action=edit§ion=1" title="Править секцию: Ссылки">править] Ссылки --------------------------------------------------------------------------------------------------- из написанного хотелось бы поставить упор на фразу, от которой стоит оттолкнуться для разворота данного вопроса в более объемленый ответ, и найденое решение.... Величина BogoMIPS обычно пропорциональна тактовой частоте процессора, но также зависит от архитектуры процессора и работы кэша.Цитата(gmax @ Mar 29 2007, 09:27)  И сколько BogoMIPS получилось в результате? я же писал в первом посте [root@AT91RM9200_SK /]$dmesg |grep MIPS Calibrating delay loop... 85.19 BogoMIPS (lpj=425984)[root@AT91RM9200_SK /]$
--------------------
|
|
|
|
|
Mar 29 2007, 09:56
|
Участник

Группа: Свой
Сообщений: 55
Регистрация: 25-08-05
Из: Украина, Харьков
Пользователь №: 7 954

|
Можно еще сделать из мат-демона мат-драйвер...
|
|
|
|
|
Mar 29 2007, 10:02
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(bzx @ Mar 29 2007, 00:55)  А как же тогда "200 MIPS at 180 MHz" для AT91RM9200? Понятно что это пиковая производительность и для Linux ничего общего не имеет. Может имеет смысл абстрагироваться от "более высокого уровня системы...", т.е. вести речь не о Linux, и написать синтетический тест, вычисляющий реальную пиковую скорость? Сразу возникает вопрос, кусок кода, вернее цикл, где будет идти подсчёт машинных тиков, резоннее написать на asm? Какие инструкции использовать? не-не-не погодите как плиз.... вот смотрите, простой пример, может правда и не совсем удачный пример для сравнения, но всеже.... тут-же у меня под боком - стоит BlackFin (кстати он даже без MMU, да еще и 16-ти разрядный) смотрим его производительность.... root:~> dmesg Linux version 2.6.12.1-BFIN-2005R4 (root@alexxx) (gcc version 3.4.4 (Blackfin 05R4 20051205)) #6 Wed Oct 18 08:51:13 EEST 2006 Blackfin support © 2004 Analog Devices, Inc.ADSP-BF533 Rev. 0.3 uClinux/BF533... Memory available: 59648k/130142k RAM, (49k init code, 873k kernel code, 231k data, 69632k dma) Blackfin Scratchpad data SRAM: 4 KB Blackfin DATA_A SRAM: 16 KB Blackfin DATA_B SRAM: 16 KBCalibrating delay loop... 794.62 BogoMIPS (lpj=3973120)... ... чувствуете? 794.62 BogoMIPS
правда на BlackFin стоит uLinux, а на AT91RM9200 Linux... может это еще както влияет на BogoMIPS
....понятно что архитиктура там совершенно иная , но можно сделать интересный вывод: BlackFin BF533 ( к томуже он еще и 16-ти разрядный ) работает почти в 9 раз быстрее чем AT91RM9200... не очень то приятно за чип - AT91RM9200
--------------------
|
|
|
|
|
Mar 29 2007, 10:06
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(gmax @ Mar 29 2007, 09:56)  Можно еще сделать из мат-демона мат-драйвер... Ты думаеш что особый прирост значения BogoMIPS при этом будет? может, может, не знаю.. хотя и не уверн... нада взять на вооружение и испробовать...
--------------------
|
|
|
|
|
Mar 29 2007, 11:25
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(PrSt @ Mar 29 2007, 11:17)  а это при 89 MHz....
Clocks: CPU 179 MHz, master 89 MHz, main 18.432 MHz
[root@AT91RM9200_SK /]$cat /proc/cpuinfo |grep MIPS BogoMIPS : 89.70 [root@AT91RM9200_SK /]$
не ужто так все печально? пойдука я еше поищю.... Ну? 179(тактовая частота ядра)/2(2 такта цикл)=89.5(богомипсов) Что не так? Вот листинг самого цикла (правда иар, но не суть) Код 26 #pragma optimize=no_inline 27 /* portable version */
\ In segment CODE, align 4, keep-with-next 28 volatile static void delay(int loops) 29 { 30 long i; 31 for (i = loops; i >= 0; i--) \ delay: \ 00000000 000050E3 CMP R0,#+0 \ 00000004 0EF0A041 MOVMI PC,LR \ 00000008 010080E2 ADD R0,R0,#+1 \ ??delay_0: \ 0000000C 010050E2 SUBS R0,R0,#+1 \ 00000010 FDFFFF1A BNE ??delay_0 32 ; 33 } \ 00000014 0EF0A0E1 MOV PC,LR ;; return собственно от delay0 - 2 комманды, 2 такта.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Mar 29 2007, 11:39
|

http://uschema.com
   
Группа: Свой
Сообщений: 708
Регистрация: 16-02-06
Из: UK(Ukrainian_Kingdom) Kharkov
Пользователь №: 14 394

|
Цитата(Rst7 @ Mar 29 2007, 11:25)  Ну? 179(тактовая частота ядра)/2(2 такта цикл)=89.5(богомипсов)
собственно от delay0 - 2 комманды, 2 такта. Вы похоже правы... возможно, больше не получится.... прийдется чтото придумывать...
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|