|
|
 |
Ответов
|
Mar 6 2011, 06:32
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 16-01-11
Пользователь №: 62 260

|
Цитата(scifi @ Mar 6 2011, 01:20)  Можно измерять время выполнения участков кода. Что-то вроде start_timer() и stop_timer(). Если есть сомнения в калибровке таймера, то set_pin_high() и set_pin_low(), а измерение времени - осциллографом на ножке МК. Как-то так. про таймеры тоже понятно, конечно. но вообще я еще рассчитывал на "что-нибудь" чтобы позволило оценить не только время исполнения, но накладные расходы на sdram, например. в любом случае спасибо.
|
|
|
|
|
Mar 6 2011, 19:59
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 16-01-11
Пользователь №: 62 260

|
Цитата(sergeeff @ Mar 6 2011, 14:29)  Ну и кто вам мешает, если очень любопытно, запустить тестовую процедуру в ram и sdram. Померить разницу и быть счастливым? это можно. а остальное как глядеть? вот тут посоветовали etm - хотя бы почитаю про него.
|
|
|
|
|
Mar 6 2011, 21:01
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 16-01-11
Пользователь №: 62 260

|
Цитата(sergeeff @ Mar 6 2011, 23:51)  Почитайте, почитайте. Потом посмотрите сколько это стоит, а потом изучите, работает ли он с вашим компилятором, а потом есть ли etm в вашем процессоре и выведен ли он как надо и прочее. Тогда выяснится, что пиписькомера с осциллографом вам вполне хватит. По крайней мере, на первое время. про осциллограф я пока не понял. вот захотел я узнать места где много времени тратится на доступ к памяти, то есть произошел cache miss. куда я осциллографом буду тыкать?
|
|
|
|
|
Mar 7 2011, 07:15
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Цитата(bzzz77 @ Mar 7 2011, 00:01)  про осциллограф я пока не понял. вот захотел я узнать места где много времени тратится на доступ к памяти, то есть произошел cache miss. куда я осциллографом буду тыкать? А что, вы думаете ETM вам про cache miss расскажет? Это во-первых. Во-вторых, не понимаю разговоров про ловлю микросекундных блох в миллисекундных процедурах. Или задача не по зубам выбранному процессору, или алгоритм хромает. А cache miss - дело десятое. Примеров тому не счесть. Вот вчера видел очередной вопрос про AVR, где в main() три переменные float....
|
|
|
|
|
Mar 7 2011, 09:58
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 16-01-11
Пользователь №: 62 260

|
Цитата(sergeeff @ Mar 7 2011, 10:15)  А что, вы думаете ETM вам про cache miss расскажет?
Это во-первых.
Во-вторых, не понимаю разговоров про ловлю микросекундных блох в миллисекундных процедурах. Или задача не по зубам выбранному процессору, или алгоритм хромает. А cache miss - дело десятое.
Примеров тому не счесть. Вот вчера видел очередной вопрос про AVR, где в main() три переменные float.... не понимаете и ладно. видимо никогда не сталкивались с ситуациями когда производительность ощутимо падает если, например, две связанные переменные попадают в разные cacheline. вас послушать, так вместо оптимизации (и алгоритма тоже) нужно сразу из пушек по воробьям палить. с задержками в sdram, cache miss очень хорошо производительность может испортить. Цитата(scifi @ Mar 7 2011, 10:37)  Я думал, речь идёт об LPC2478. Если я правильно помню, никакого кэша там нет. Или это уже просто "разговор за жизнь"? кэша нет, ступил я слегка. но есть разница в доступе к sdram и sram, значит perf counters (или etm) мог бы помочь в правильной организации: что положить в sram, что в sdram. например. ps. слегка удивляют люди, которые утверждают, что инструмент - лишний и гвозди можно забивать топором.
|
|
|
|
|
Mar 7 2011, 11:47
|

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

|
Цитата(bzzz77 @ Mar 7 2011, 11:58)  значит perf counters (или etm) мог бы помочь в правильной организации: что положить в sram, что в sdram. например. Что за perf counters? Если те что по ссылке http://msdn.microsoft.com/en-us/library/aa...3(v=vs.85).aspx, то портируйте Win CE и получите их. Прецизионных счетчиков в микроконтроллерах полно, выбираете любой и измеряете длительность любых процедур с точностью до такта. В микроконтроллерах измерения можно сделать гораздо проще и гибче чем в в Windows и с меньшими накладными. Если вы не используете операционку с готовым фреймворком для счетчиков прозводительности, то понятно что в свой код счетчики надо вставлять самому. Все серьезные RTOS под микроконтроллеры имеют механизм "Performance Counters"
|
|
|
|
|
Mar 7 2011, 12:03
|
Участник

Группа: Участник
Сообщений: 47
Регистрация: 16-01-11
Пользователь №: 62 260

|
Цитата(AlexandrY @ Mar 7 2011, 14:47)  Что за perf counters? Если те что по ссылке http://msdn.microsoft.com/en-us/library/aa...3(v=vs.85).aspx, то портируйте Win CE и получите их. Прецизионных счетчиков в микроконтроллерах полно, выбираете любой и измеряете длительность любых процедур с точностью до такта. В микроконтроллерах измерения можно сделать гораздо проще и гибче чем в в Windows и с меньшими накладными. Если вы не используете операционку с готовым фреймворком для счетчиков прозводительности, то понятно что в свой код счетчики надо вставлять самому. Все серьезные RTOS под микроконтроллеры имеют механизм "Performance Counters" ос слегка не в курсе того, что происходит в ядре процессора. оно же не в курсе ситуаций типа cache hit/miss, branch midprediction и прочих вещей, которые придумали, чтобы мы с ними боролись. в новых армах есть вот такое, например: http://oprofile.sourceforge.net/docs/arm-v7-events.phpа на v4 похоже только etm
|
|
|
|
|
Mar 7 2011, 12:42
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Цитата(bzzz77 @ Mar 7 2011, 15:03)  ос слегка не в курсе... в новых армах есть вот такое,.. н а на v4 похоже только etm  Вы все рассказываете, как оно где-то должно быть очень здорово. Про всякие "новые" ARM'ы, a на конкретные вопросы отвечать не любите. Цитата Если команда вместо 1 такта выполняется за 30 тактов - подсказать вам cache miss или hit там имел место ? Даже если бы у меня был ETM на борту и весь инструментарий, вы как себе представляете вылавливание таких команд (1 против 30) в программе более 1Мб? Учитывая статистический механизм срабатывания кеша? Цитата Современные технологии программирования с использованием JIT компиляции Читаем Wiki : (http://ru.wikipedia.org/wiki/JIT-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F) технология увеличения производительности программных систем, использующих байт-код, путём компиляции байт-кода в машинный код непосредственно во время работы программы. Таким образом достигается высокая скорость выполнения (сравнимая с компилируемыми языками) за счёт увеличения потребления памяти (для хранения результатов компиляции) и затрат времени на компиляцию. Вы действительно считаете, что такая технология - благо для embedded processor? И как вы себе представляете постоянное размещение программы в кеше, если объем программы/данных превышают объемы соответствующих кешей?
|
|
|
|
Сообщений в этой теме
bzzz77 профилирование и оптимизация на arm Mar 5 2011, 21:25        aaarrr Цитата(bzzz77 @ Mar 7 2011, 12:58) ps. сл... Mar 7 2011, 10:11        sergeeff Цитата(bzzz77 @ Mar 7 2011, 12:58) не пон... Mar 7 2011, 10:18         sasamy Цитата(sergeeff @ Mar 7 2011, 13:18) Как ... Mar 7 2011, 11:09           bzzz77 Цитата(sergeeff @ Mar 7 2011, 15:42) Вы д... Mar 7 2011, 14:21            AlexandrY Цитата(bzzz77 @ Mar 7 2011, 16:21) курите... Mar 7 2011, 14:40             bzzz77 Цитата(AlexandrY @ Mar 7 2011, 17:40) Я в... Mar 7 2011, 15:27              sergeeff Цитата(bzzz77 @ Mar 7 2011, 18:27) ... ес... Mar 7 2011, 15:54               bzzz77 Цитата(sergeeff @ Mar 7 2011, 18:54) ... ... Mar 7 2011, 16:02                sergeeff Цитата(bzzz77 @ Mar 7 2011, 19:02) не сто... Mar 7 2011, 16:31              AlexandrY Цитата(bzzz77 @ Mar 7 2011, 17:27) пожалу... Mar 7 2011, 16:20               bzzz77 Цитата(AlexandrY @ Mar 7 2011, 19:20) Ну ... Mar 7 2011, 16:38                AlexandrY Цитата(bzzz77 @ Mar 7 2011, 18:38) ну вы ... Mar 7 2011, 17:08                 bzzz77 Цитата(AlexandrY @ Mar 7 2011, 20:08) Так... Mar 7 2011, 17:19                  AlexandrY Цитата(bzzz77 @ Mar 7 2011, 19:19) бескон... Mar 7 2011, 17:38                   bzzz77 Цитата(AlexandrY @ Mar 7 2011, 20:38) Я п... Mar 7 2011, 17:57                    sergeeff Цитата(bzzz77 @ Mar 7 2011, 20:57) особог... Mar 7 2011, 18:13                     bzzz77 Цитата(sergeeff @ Mar 7 2011, 21:13) Ну-н... Mar 7 2011, 18:22                 ar__systems Цитата(AlexandrY @ Mar 7 2011, 12:08) Так... Mar 7 2011, 18:37                  AlexandrY Цитата(ar__systems @ Mar 7 2011, 20:37) У... Mar 7 2011, 18:53                   bzzz77 Цитата(AlexandrY @ Mar 7 2011, 21:53) Это... Mar 7 2011, 19:02                    aaarrr Цитата(bzzz77 @ Mar 7 2011, 22:02) хорошо... Mar 7 2011, 19:31                     bzzz77 Цитата(aaarrr @ Mar 7 2011, 22:31) Если в... Mar 7 2011, 19:54                      aaarrr Цитата(bzzz77 @ Mar 7 2011, 22:54) ...нуж... Mar 7 2011, 20:08                       bzzz77 Цитата(aaarrr @ Mar 7 2011, 23:08) Зачем ... Mar 7 2011, 20:11                        sonycman Цитата(bzzz77 @ Mar 8 2011, 00:11) уже вл... Jun 15 2011, 17:12                  singlskv Цитата(ar__systems @ Mar 7 2011, 21:37) У... Mar 8 2011, 21:54                   bzzz77 Цитата(singlskv @ Mar 9 2011, 00:54) Оста... Mar 9 2011, 05:05         ar__systems Цитата(AlexandrY @ Mar 7 2011, 06:47) Что... Mar 7 2011, 13:25      scifi Цитата(bzzz77 @ Mar 7 2011, 00:01) про ос... Mar 7 2011, 07:37 ViKo В Keil есть Analisis Windows, а именно Logic Anili... Mar 6 2011, 11:44 sasamy Цитата(bzzz77 @ Mar 6 2011, 00:25) день д... Mar 6 2011, 12:36 sergeeff До чего все любят усложнять себе (и другим) жизнь... Mar 6 2011, 13:24 sasamy Цитата(sergeeff @ Mar 6 2011, 16:24) До ч... Mar 6 2011, 15:15 ar__systems Меня тоже неприятно удивило отсутсвие в АРМе каких... Mar 7 2011, 00:52 aaarrr В старших (ARM11, Cortex-Ax) есть. Mar 7 2011, 01:07 scifi Хороший, годный срач получился.
Чем засорять тему ... Mar 7 2011, 13:28 AlexandrY Цитата(scifi @ Mar 7 2011, 15:28) Хороший... Mar 7 2011, 14:11 sergeeff Цитатафилософия "оскорбить когда сказать нече... Mar 7 2011, 18:42 bzzz77 Цитата(sergeeff @ Mar 7 2011, 21:42) А че... Mar 7 2011, 18:45  sergeeff Цитата(bzzz77 @ Mar 7 2011, 21:45) я разв... Mar 7 2011, 19:22   sasamy Цитата(sergeeff @ Mar 7 2011, 22:22) Напо... Mar 7 2011, 19:29 igorsk DMA используется? В LPC имеется поддержка memory-t... Mar 7 2011, 23:28 bzzz77 Цитата(igorsk @ Mar 8 2011, 02:28) DMA ис... Mar 8 2011, 04:44 Rst7 QUOTE Это вам 90 килобайт оперативки не хватило ..... Jun 15 2011, 17:44 sonycman Цитата(Rst7 @ Jun 15 2011, 21:44) Ололо, ... Jun 15 2011, 18:55 Rst7 QUOTE Ничего смешного не вижу
А я не в Ваш огород... Jun 15 2011, 19:14
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|