Πίσω

Δραστηριότητα 8

   Έστω ο παρακάτω κώδικας:

   SUB    R10, R4, R8
   BEQZ    R1, name
   AND    R12, R2, R5
   OR    R13, R2, R6
   ADD    R14, R4, R2
   SLT    R15, R6, R7
   …………………………
   name: LW    R4, 50(R7)

· Μπορείτε να εξηγήσετε τι θα συμβεί στη σωλήνωση αν η διακλάδωση ακολουθείται και τι αν δεν ακολουθείται;
· Να σχεδιάσετε τα σχήματα και στις δύο περιπτώσεις, χρησιμοποιώντας το σχήμα πρόβλεψης μη ακολούθησης.


Απάντηση δραστηριότητας 8

   Αν η διακλάδωση στη διεύθυνση name δεν ακολουθηθεί, όπως έχει προβλεφθεί, τότε οι εντολές προχωρούν κανονικά στη σωλήνωση σαν η εντολή διακλάδωσης να ήταν μία απλή εντολή.

SUB          IF    ID    EX    MEM    WB
BEQZ                IF    ID    EX       MEM    WB
AND                         IF      ID       EX      MEM    WB
OR                                     IF         ID       EX       MEM       WB
ADD                                              IF       ID          EX       MEM       WB
SLT                                                          IF          ID          EX       MEM    WB
……………………………………………………………………………………………………….
LW

Αν η διακλάδωση στη διεύθυνση name ακολουθηθεί τότε συμβαίνουν τα εξής: H εντολή BEQZ στο στάδιο ID, στον 3ο κύκλο ρολογιού, καθορίζει ότι η διακλάδωση πρέπει να ακολουθηθεί κι έτσι σαν νέα τιμή του PC επιλέγεται η διεύθυνση name και ξεκινάει η ανάκληση της εντολής LW στον 4ο κύκλο ρολογιού. Η εντολή AND ακυρώνεται.

SUB          IF       ID       EX       MEM      WB
BEQZ                   IF       ID       EX       MEM       WB
AND                               IF       Α Κ Υ Ρ Ω Σ Η
LW                                             IF          ID          EX          MEM       WB