ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
73505
abovyan (03.11.2006 01:14, просмотров: 1497)
ИМХО Тайминги инструкций ARM для AT91SAM7S Недавно сия тема поднималась мною же, ничего путного никто не сказал. Вот , если кому интересно, полученное на собственном опыте с помощью оцсилографа и частотомера: 1. При работе программы из On-Chip-Flash простые АRM инструкции которые по тех.доке выполняются за один такт, выполняются за два такта (MOV, ADD/SUB и т.д.), LDR Flash/RAM - 3 такта, STR(RAM) - 2 такта. При прерывании прямого следования команд (инкрементного) конвеер тормозит на 2 такта. (все Bxx команды). сама Bxx команда выполняется за 3 такта. 1.2 При этом если работать в THUMB режиме то команды типа MOV выполняются за 1 такт, остальные вроде на 1 такт меньше за счет того что буфер конвеера 32 бит. 2. При работе программы из RAM, разницы в скорости между ARM и THUMB нет никакой, а скорость такая же как при THUMB во FLASH во FLASH варианте. 3. Симуляторы/дебаггеры обычно не учитывают тонкости типа Flash Wait States и т.д. потому принимать на веру количество тактов посчитанное симулятором можно только с пересчетом на свою ситуацию. P.S. кстати, но не в тему, удалось вывести 80 MHz!!! на PCK1, при PLL 100 Mhz. P.S.S и еще, может кто знает? группа ног 1, описанная в Атмельевской доке, имеет возможность выводить сигнал до 35 МГц, (из доки). как можно при максимальной частоте проца 55 МГц, выводить в порт сигнал 35 МГц???? может они имели ввиду что то другое?