Branch in a Pipeline - Georgia Tech - HPCA: Part 1

Поделиться
HTML-код
  • Опубликовано: 1 фев 2025

Комментарии • 22

  • @95Homemade
    @95Homemade 8 лет назад +7

    thanks! this was very clear and helpful explanation

  • @nitroneonicman
    @nitroneonicman 6 лет назад

    Thank you so much for this.

  • @Simppi96
    @Simppi96 7 лет назад +1

    Really good video! Thanks!

  • @Ameerdala
    @Ameerdala 4 года назад

    Very good explanation thank you a lot!

  • @craigmercury7916
    @craigmercury7916 6 лет назад +1

    It was a very clear explaination, thanks a lot. I have one question though: at lesson, my teacher said that (while drawing the MIPS pipeline architecture) the branch control signal is produced once the mem stage has started. Does this mean that the end of the mem stage has to be waited to know the correct PC value (and if the branch happens ) ? Does it mean that the next (correct) instruction fetch is done after the mem stage has ended?

    • @piyushpandey8365
      @piyushpandey8365 4 года назад

      For any branch instruction the next instruction is known to us right after EX in normal cases i.e. it will give 2 stall stages but if you use something to compute the next instruction a bit earlier you can use comparator at ID which will enable us to know the next instruction right after ID i.e. 1 stall stages which is better.
      I know its a bit late XD

  • @nabilmiri128
    @nabilmiri128 2 года назад

    Thanks
    So Clear

  • @mark4035
    @mark4035 7 лет назад

    So basically stalling will always make the code run slower, but if we at least predict that our branch will not be taken, we reduce the number of stalls our code experiences, ultimately improving performance? Is that idea?

  • @foldthelife404
    @foldthelife404 2 года назад

    So is it just after the ALU stage can we figure it out what the correct instruction is? or should wait until the end of MEM stage? Thx

  • @carlosmspk
    @carlosmspk 5 лет назад +1

    Wait, so the video just finishes like that? He introduced a very interesting problem in the end ;..;

  • @MMD-ob2tv
    @MMD-ob2tv 6 лет назад

    Thanks very much mate

  • @xPa7r1cKx
    @xPa7r1cKx 9 лет назад

    Nice and clear. What would be the "mem" stage tho?

    • @VFXCommander
      @VFXCommander 9 лет назад

      +xPa7r1cKx It stands for the "memory" stage where it is used mostly by store and load word instructions.

  • @SaifUllah-ru8sb
    @SaifUllah-ru8sb 8 лет назад +1

    Thanks very helpful :)

  • @fernandoluis53
    @fernandoluis53 8 лет назад

    why do u add 4? i know thats the word length for the instruction. but whats the instruction?

  • @fernandoluis53
    @fernandoluis53 8 лет назад

    and what would be an example of correct instruction @2:42? plz help

    • @amihartz
      @amihartz 7 лет назад

      It could literally be anything...

  • @goldenotis9703
    @goldenotis9703 6 лет назад

    But when you do a branch instruction doesn't it read the status registers(set by previous (S) instruction) to determine whether to take that branch or not?

  • @jmunoz1996
    @jmunoz1996 9 лет назад +1

    I'm so confused, didn't find this helpful. All I wanted was to understand how a branch works.

    • @VFXCommander
      @VFXCommander 9 лет назад +2

      +jmunoz96 Branch has two types and they are beq = branch equal and bne = branch not equal.
      beq, compares between two registers and if these two registers hold the same value, we branch (jump) to the specified label.
      bne does the same thing, but in reverse.

  • @aimanshaq6449
    @aimanshaq6449 5 лет назад

    Nice hand