Цитата(Сергей Борщ @ Mar 5 2008, 19:51)

1)Может разрешены и исполняются какие-то прерывания от таймера?
Одно прерывание действительно разрешено, от таймера, (период 1 мс, использую для измерения времени выполнения), но оно, я думаю, увеличивает время исполнения незначительно.
Цитата(Сергей Борщ @ Mar 5 2008, 19:51)

2) А почему вы решили, что один проход такого цикла исполняется 10 тактов?
Десять тактов я увидел в дебагере, и ещё смотрел асм-листинг.
Цитата(aaarrr @ Mar 5 2008, 20:02)

Ума не приложу, из чего там можно сделать 10 тактов. Листинг посмотреть можно?
Ниже листинг, у вас 10 тактов не получается, наверное из-за включеной оптимизации.
57 __ramfunc void Benchmark()
58 {
\ Benchmark:
\ 00000000 04D04DE2 SUB SP,SP,#+4
59 //* Set in Volatile for Optimisation
60 volatile unsigned int i ;
61 //* loop delay
62 for ( i = 0 ;(i < 480000 );i++ ) ;
\ 00000004 0010A0E3 MOV R1,#+0
\ 00000008 00108DE5 STR R1,[SP, #+0]
\ ??Benchmark_0:
\ 0000000C 00009DE5 LDR R0,[SP, #+0]
\ 00000010 701AA0E3 MOV R1,#+458752
\ 00000014 531C81E3 ORR R1,R1,#0x5300
\ 00000018 010050E1 CMP R0,R1
\ 0000001C 0300002A BCS ??Benchmark_1
\ 00000020 00109DE5 LDR R1,[SP, #+0]
\ 00000024 011091E2 ADDS R1,R1,#+1
\ 00000028 00108DE5 STR R1,[SP, #+0]
\ 0000002C F6FFFFEA B ??Benchmark_0
63
64 }
\ ??Benchmark_1:
\ 00000030 04D08DE2 ADD SP,SP,#+4 ;; stack cleaning
\ 00000034 1EFF2FE1 BX LR ;; return
Цитата(aaarrr @ Mar 5 2008, 20:02)

Прогнал такой же тест у себя, специально добив цикл nop'ами до 10 тактов - время выполнения ~102мс.
Если не жалко, можете скинуть мне ваш проект (ie2@narod.ru). Хочу у себя его прогнать.