Skip to main content
Visitor II
November 22, 2005
Question

ST10F269 incorprates a jump cache,how can I turn off this function?

  • November 22, 2005
  • 4 replies
  • 1036 views
Posted on November 22, 2005 at 05:05

ST10F269 incorprates a jump cache,how can I turn off this function?

    This topic has been closed for replies.

    4 replies

    yaokuiAuthor
    Visitor II
    November 11, 2005
    Posted on November 11, 2005 at 13:55

    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.

    Visitor II
    November 16, 2005
    Posted on November 16, 2005 at 05:37

    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.

    yaokuiAuthor
    Visitor II
    November 17, 2005
    Posted on November 17, 2005 at 09:05

    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.

    yaokuiAuthor
    Visitor II
    November 22, 2005
    Posted on November 22, 2005 at 05:05

    thanks for all your help.

    regards