Измерение количества тактов на команду
Добавлено: Вт фев 01, 2011 22:28:47
Как можно измерить количество тактов на команду AVR ?
Здесь можно немножко помяукать :)
https://radiokot.ru:443/forum/
да просто разный компилятор по своему компилируетotest писал(а):прочитать в даташите.
типа что не разницы когда вы написали на СИ или на ассемблере ?otest писал(а):чудеса я этого не знал
я читаю что я пишу .... Но разница же есть когда вы написали на CodeVision и IARotest писал(а):а вы вопрос свой прочитайте.
большое спасибо ) все ясно, только что измерил ... ну что то много получаеться на і++ выполняеться за 19 тактов ? может такое быть ? i типа intARV писал(а):берется AVR Studio и в ней отлаживается программа. Студия позволяет измерить число тактов, требуемых на тот или иной участок кода Си (или ассемблера - без разницы). это самый простой и доступный способ.
на 8 битном - легко.Victor Gordienko писал(а): большое спасибо ) все ясно, только что измерил ... ну что то много получаеться на і++ выполняеться за 19 тактов ? может такое быть ? i типа int
Если вопрос про ТАКТОВ НА ИНСТРУКЦИЮ - то читать в даташите, либо в полном перечне инструкций данного типа МК. Если про ТАКТОВ НА ОПЕРАЦИЮ Языка Высокого Уровня - то смотреть листинг компиляции ЯВУ, считать к-во инструкций, в которые вылилась ваша операция, далее простое умножение. Не надо ничего замерять, все просчитывается.Victor Gordienko писал(а):Как можно измерить количество тактов на команду AVR ?
может быть и такое, и больше и меньше, условий, влияющих на это в Си очень много: и тип переменной i, и ее квалификатор (static, register, volatile), и уровень оптимизации, и общее количество переменных, и квалификация программиста и т.д. и т.п.Victor Gordienko писал(а):большое спасибо ) все ясно, только что измерил ... ну что то много получаеться на і++ выполняеться за 19 тактов ? может такое быть ? i типа int
сомневаюсь, что вы сумеете легко просчитать число тактов работы цикла, внутри которого есть многоуровневый switch, а число итераций меняется от обрабатываемых данныхut1wpr писал(а):смотреть листинг компиляции ЯВУ, считать к-во инструкций, в которые вылилась ваша операция, далее простое умножение. Не надо ничего замерять, все просчитывается.
А мне и не надоARV писал(а):сомневаюсь, что вы сумеете легко просчитать число тактов работы цикла, внутри которого есть многоуровневый switch, а число итераций меняется от обрабатываемых данныхut1wpr писал(а):смотреть листинг компиляции ЯВУ, считать к-во инструкций, в которые вылилась ваша операция, далее простое умножение. Не надо ничего замерять, все просчитывается.
наивное заблуждение! указывающий путь должен предупредить о проблемах, ждущих идущего по этому пути, ибо возможности у советчика и последователя разные могут быть.ut1wpr писал(а):Я путь указал, идти по нему или нет - выбор идущего.
!ARV писал(а):
Какой ужас! Неужели я это сделал ?!! Покажите мне малыша и шастающие туда-сюда самосвалыARV писал(а):наивное заблуждение! указывающий путь должен предупредить о проблемах, ждущих идущего по этому пути, ибо возможности у советчика и последователя разные могут быть.ut1wpr писал(а):Я путь указал, идти по нему или нет - выбор идущего.
советовать малышу пойти следом за мной через проспект - преступление, ибо он не в состоянии ни предвидеть опасность, ни избежать ее по пути, а значит, сделать ВЫБОР не в состоянии. если он мне доверяет - он просто последует совету и сгинет под колесами машин...