|
|
  |
Время выполнения операции? |
|
|
|
Jul 26 2009, 13:54
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 2-04-08
Из: Санкт-Петербург
Пользователь №: 36 424

|
Доброго времени суток! Подскажите, плиз, как можно оценить время выполнения той или иной операции. В частности операции if (без входа внуть скобок). Код while(1) { if (PINB & 0x01); else { ... }
if(...); else { ... }
}
Причина редактирования: Оформление цитаты исходника.
|
|
|
|
|
Jul 31 2009, 12:47
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 2-04-08
Из: Санкт-Петербург
Пользователь №: 36 424

|
Эм. Ссори за повтор вопроса!  Ненашел свой топик, решил повторно создать темку и получил бан! Тем не менее всем спасибо за подсказки!!  Насколько я понял в AVRStudio это можно сделать кликнув по View/Disassembler... и посчитав строчки.
Сообщение отредактировал qulik - Jul 31 2009, 12:47
|
|
|
|
|
Aug 1 2009, 08:58
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(qulik @ Jul 31 2009, 15:47)  Насколько я понял в AVRStudio это можно сделать кликнув по View/Disassembler... и посчитав строчки. Нет. Потому что разные строчки (на самом деле это называется "инструкции процессора" или "ассемблерные команды") исполняются разное количество тактов. Какая сколько - описано в документе AVR Instruction Set. Проще всего, как советовал ARV, пройти интересующий кусок в отладчике, наблюдая за счетчиком циклов.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Aug 3 2009, 06:20
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 2-04-08
Из: Санкт-Петербург
Пользователь №: 36 424

|
Цитата(Сергей Борщ @ Aug 1 2009, 12:58)  Нет. Потому что разные строчки (на самом деле это называется "инструкции процессора" или "ассемблерные команды") исполняются разное количество тактов. Какая сколько - описано в документе AVR Instruction Set. Проще всего, как советовал ARV, пройти интересующий кусок в отладчике, наблюдая за счетчиком циклов. Да, Спасибо! Нашел где это отображается. Действительно самый простой вариант
|
|
|
|
|
Aug 3 2009, 11:53
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 2-04-08
Из: Санкт-Петербург
Пользователь №: 36 424

|
Цитата(Dog Pawlowa @ Aug 1 2009, 22:43)  Я всегда советую осциллограф, поставив команды ногодрыганья в начале и конце участка. Что толку считать команды, циклы и проч, если в системе могут прерывания, ПДП, а время доступа к внешней шине непредсказуемое, поскольку инициализация контроллера внешней памяти "чистодраная" из интернета. Не упущу и этот случай  Осцилограф - эт хорошо!  Но не всегда он под рукой. А вот метод "ногодрыганья" и светодиоды в домашних условиях помогают, да бы поймать тот или иной момент!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|