2005-11-21 08:05 PM
ST10F269 incorprates a jump cache,how can I turn off this function?
2005-11-11 04:55 AM
I am programming a algorithm with assembler in ST10F269. But this typ of microcontroller incorprates a jump cache
If the instruction is repeated in a loop, the target instruction( JMPA,JMPR,JB,JBC,JNB,JNBS) is additionally stored in the cache. For execution of the repeated cache jump instruction, the jump target instruction is not fectehed from program memory but taken from the cache and immediately injected into the decode stage of the pipeline.The jump cache reduces the execution time of repeatedly performed jumps in a loop, from 2 cycles to 1 cycle. But this is not I want to see, because I want the working time of each loop always to be the same, even the first jump and the repeated jumps after. Is there some idea to avoid using this jump cache,or when I use the 'calla ' order instead of 'jumpa ', it will be not problematic ? because 'calla' is not mentioned.2005-11-15 08:37 PM
It is not possible to disable the Jump Cache mechanism.
This mechanism is automatically triggered when a conditional JUMP instruction is executed. The cache content is ''cleared'' by a JMPS instruction. A trick could be to add a JMPS instruction, with target the location of the JMPA that you don't want to be cached, just before the JMPA instruction.2005-11-17 12:05 AM
Thanks Kenshin a lot.
In my program the segmentation is disabled. Because the first operand after JMPS is to specify the segment, in which the operand 2 exist. so by using JMPS, how can I define the first operand.2005-11-21 08:05 PM
thanks for all your help.
regards