Κι όμως ακριβώς για αυτό το λόγο το γίνεται issue στον 8o. Πιο συγκεκριμένα:

Η εντολή LD που αναφέρεις είναι η 5η εντολή και αφού ο ROB έχει 6 θέσεις υπάρχει κενή θέση για να γίνει issue στον κύκλο 5. Δεν γίνεται όμως λόγω structural hazard, μιας και δεν υπάρχει κενή θέση στο Load Queue (έχουν καταληφθεί από τις 2 προηγούμενες LD). 

Στον κύκλο 7 η πρώτη LD κάνει WR. Tο οποίο σημαίνει ότι γράφει το αποτέλεσμα της στον ROB και αδειάζει και το reservation station της, δηλαδή τη θέση που καταλαμβάνει στο Load queue. Επομένως, στον κύκλο 8 δεν υπάρχει πλέον structural hazard και η επόμενη LD μπορεί να γίνει κανονικά issue.

K.


2013/5/25 Orestis Vasios <el08197@mail.ntua.gr>
Καλησπέρα,

Με αφορμή αυτή την απάντηση, στις λύσεις των θεμάτων Ιουλίου 2012 (http://www.cslab.ntua.gr/courses/advcomparch/2012/files/exams/adv_ca-Jul2012.pdf) δε θα έπρεπε η 5η εντολή (LD F0, 8(R1)) να γίνει issue στον 9ο κύκλο; Μέχρι να κάνει commit η 1η εντολή (LD F0, 0(R1)) φτάνουμε στον 8ο κύκλο, άρα στον επόμενό του θα δούμε ότι έχουμε κενή θέση στο load queue. Σωστά;

Ευχαριστώ εκ των προτέρων.
Ορέστης Βάσιος

On Sat, 25 May 2013 12:35:18 +0300, Konstantinos Nikas wrote:
Καλημέρα,

τα κυκλώματα του pipeline είναι σύγχρονα,
το οποίο σημαίνει ότι όλα τα στάδια
του λειτουργούν σε κάποια (θετική ή
αρνητική) ακμή του ρολογιού. Για αυτό
το λόγο και ένα στάδιο μπορεί να δει τι
αλλαγές που κάνει κάποιο άλλο στάδιο
όταν έρθει η επόμενη ακμή του
ρολογιού.

Επομένως, αν το CMT κάνει reset ένα entry του
ROB στον κύκλο n τότε το IS θα δεί ότι
είναι άδειο και θα στείλει τη νέα
εντολή στο n+1.

Κ.

2013/5/23 Christos Sakaridis

Καλησπέρα!
   Θα ήθελα να ρωτήσω κάτι που ίσως
είχε διευκρινιστεί στο αντίστοιχο
μάθημα αλλά δυστυχώς δεν είχα την
ευκαιρία να το παρακολουθήσω.

Έστω ότι στον κύκλο k ο ROB είναι
πλήρης και η εντολή που αντιστοιχεί
στο entry στο οποίο δείχνει ο commit pointer
κάνει Write Result, οπότε γίνεται ready για
commit. Στον κύκλο k+1, στον οποίο θα γίνει
commit η εντολή και θα αδειάσει αυτό το
entry, θα μπει ταυτόχρονα σε αυτό η
επόμενη προς έκδοση εντολή ή θα
γίνει στον κύκλο k+2 το issue και η
κατάληψη του άδειου entry από τη νέα
εντολή;

Ευχαριστώ εκ των προτέρων για τον
κόπο σας!

Χρήστος Σακαρίδης
_______________________________________________
Advcomparch mailing list
Advcomparch@lists.cslab.ece.ntua.gr [1]
http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch [2]

--
Dr. Konstantinos Nikas
Computing Systems Laboratory
School of Electrical and Computer Engineering
National Technical University of Athens

Tel: +30-210-7724159
 e-mail: knikas@cslab.ece.ntua.gr [4]
http://www.cslab.ece.ntua.gr/~knikas [5]

Links:
------
[1] mailto:Advcomparch@lists.cslab.ece.ntua.gr
[2] http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
[3] mailto:christos.sakaridis@yahoo.com
[4] mailto:knikas@cslab.ece.ntua.gr
[5] http://www.cslab.ece.ntua.gr/~knikas

_______________________________________________
Advcomparch mailing list
Advcomparch@lists.cslab.ece.ntua.gr
http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch



--
Dr. Konstantinos Nikas
Computing Systems Laboratory
School of Electrical and Computer Engineering
National Technical University of Athens

Tel: +30-210-7724159
e-mail: knikas@cslab.ece.ntua.gr
http://www.cslab.ece.ntua.gr/~knikas