AnsweredAssumed Answered

Bcc Instruction Execution Times

Question asked by Leo Cheng on Mar 24, 2015
Latest reply on Apr 14, 2015 by Matt Hey

I want to know Bcc Instruction Execution Times in MCF52258. So I referred to MCF52259RM Rev4 and ColdFire Family Programmer's Reference Manual.


Table 3-19. Bcc Instruction Execution Times

Opcode

Forward

Taken

Forward

Not Taken

Backward

Taken

Backward

Not Taken

Bcc 3(0/0) 1(0/0) 2(0/0)3(0/0)

 

I understand the 'Forward' and 'Backward', but I don't konw what the 'Taken' and 'Not Taken' mean.

 

By the way, what differences between V2 and V4 core in Bcc Instruction Execution Times?

 

Opcode

Branch Cache

Correctly Predicts

Taken

Prediction Table

Correctly Predicts

Taken

Predicted

Correctly as Not

Taken

Predicted

Incorrectly

Bcc0(0/0)1(0/0) 1(0/0) 1(0/0)

 

There is a code snippet, How much clock cycle does 'bne lup2 ' Instruction execution take in MCF52258 and MCF54415?

 

void time_delay(long delay:__D0)

{

    asm

    {

        move.l   d3,-(a7)       // save D3 on stack

       lup1:  // outer loop

//      move.l  #17,d3          // for 75 MHz MCF5232

        move.l  #36,d3          // for 100 MHz MCF54415

       lup2:  // inner loop

        subi #1,d3

        bne lup2

        subi #1,d0

        bne lup1

        move.l   (a7)+,d3       // restore D3

    }  

}

Outcomes