Hi,
ich habe gerade ein bisschen Schwierigkeiten die Rechengeschwindigkeit 
eines SAM4S mit CortexM4 bei 120Mhz einzuschätzen. Dabei habe ich 
folgenden Code:
| 1 | static void delay_ticks(uint32_t ul_dly_ticks)
 | 
| 2 | {
 | 
| 3 |   volatile uint32_t ul_delay_tick = 7000000;
 | 
| 4 |   while (ul_delay_tick--);  
 | 
| 5 | }
 | 
Der so umgesetzt wird:
| 1 | static void delay_ticks(uint32_t ul_dly_ticks)
 | 
| 2 | {
 | 
| 3 |   400a60:  b082        sub  sp, #8
 | 
| 4 |   volatile uint32_t ul_delay_tick = 7000000;
 | 
| 5 |   400a62:  f64c 73c0   movw  r3, #53184  ; 0xcfc0
 | 
| 6 |   400a66:  f2c0 036a   movt  r3, #106  ; 0x6a
 | 
| 7 |   400a6a:  9301        str  r3, [sp, #4]
 | 
| 8 |   while (ul_delay_tick--);
 | 
| 9 |   400a6c:  9b01        ldr  r3, [sp, #4]
 | 
| 10 |   400a6e:  f103 32ff   add.w  r2, r3, #4294967295
 | 
| 11 |   400a72:  9201        str  r2, [sp, #4]
 | 
| 12 |   400a74:  2b00        cmp  r3, #0
 | 
| 13 |   400a76:  d1f9        bne.n  400a6c <delay_ticks+0xc>
 | 
| 14 |   
 | 
| 15 | }
 | 
| 16 |   400a78:  b002        add  sp, #8
 | 
| 17 |   400a7a:  4770        bx  lr
 | 
Erzeugen tut das ganze ein rund 1ne Sekunde langen Delay. Was mich 
wundert ist, dass die Schleife nur 7.000.000 mal durchlaufen wird.
Daher stellt sich mir die Frage was den Prozessor aufhält?
Wird in jedem Takt eine Instruktion beendet (bei 3-stufiger Pipeline)?