Δραστηριότητα 8
Έστω ο παρακάτω κώδικας:
Αν η διακλάδωση στη διεύθυνση name δεν ακολουθηθεί, όπως έχει προβλεφθεί, τότε οι εντολές προχωρούν κανονικά στη σωλήνωση σαν η εντολή διακλάδωσης να ήταν μία απλή εντολή.
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
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