On 07/13/2011 08:18 PM, Iliana Karampasiadi wrote:
Στο Β.2 ποιες εντολές αποτελούν αναφορά στη μνήμη;;;;
Αναφορά στη μνήμη θεωρείται οποιαδήποτε εντολή περιέχει αναφορά (read/write) σε μεταβλητή, πλην αυτών που θεωρούμε ότι είναι αποθημευμένες σε registers (r1,r2, κλπ).
Ν.
Καλησπέρα,
Με βάση την απάντησή σας, αναφορές στη μνήμη θεωρούνται όλες οι εντολές της άσκησης B.2, καθώς όλες είτε γράφουν είτε διαβάζουν από κάποια θέση μνήμης. Συνεπώς, με βάση το RMM προκύπτει ένας τεράστιος αριθμός πιθανών αναδιατάξεων εντολών που πρέπει να ελέγξουμε.
Αν το παραπάνω δεν ισχύει, παρακαλώ ξεκαθαρίστε μας τα ακόλουθα, για να μπορέσουμε να λύσουμε σωστά την άσκηση:
Ποιές εντολές *ακριβώς (ονομαστικά κατά προτίμηση)* έχουμε το δικαίωμα να αναδιατάξουμε μεταξύ τους, εφόσον δεν αναφέρονται σε ίδιες θέσεις μνήμης?
Ισχύει ότι οι αναδιατάξεις γίνονται μόνο σε ζευγάρια? δηλαδή, δεν μπορούμε να πάρουμε μόνο μια εντολή και να την μετακινήσουμε σε κάποιο άλλο σημείο του κώδικα, σωστά?
Ευχαριστώ,
Δοκιμάκης Βύρωνας
Στις 14 Ιουλίου 2011 12:34 μ.μ., ο χρήστης Nikos Anastopoulos < anastop@cslab.ece.ntua.gr> έγραψε:
On 07/13/2011 08:18 PM, Iliana Karampasiadi wrote:
Στο Β.2 ποιες εντολές αποτελούν αναφορά στη μνήμη;;;;
Αναφορά στη μνήμη θεωρείται οποιαδήποτε εντολή περιέχει αναφορά (read/write) σε μεταβλητή, πλην αυτών που θεωρούμε ότι είναι αποθημευμένες σε registers (r1,r2, κλπ).
Ν. ______________________________**_________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.**ntua.grAdvcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.**gr/mailman/listinfo/**advcomparchhttp://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
On 07/14/2011 04:40 PM, ΒΥΡΩΝΑΣ ΔΟΚΙΜΑΚΗΣ wrote:
Καλησπέρα,
Με βάση την απάντησή σας, αναφορές στη μνήμη θεωρούνται όλες οι εντολές της άσκησης B.2, καθώς όλες είτε γράφουν είτε διαβάζουν από κάποια θέση μνήμης.
Σωστά.
Συνεπώς, με βάση το RMM προκύπτει ένας τεράστιος αριθμός πιθανών
αναδιατάξεων εντολών που πρέπει να ελέγξουμε.
Νομίζω ότι τα πράγματα είναι πιο απλά. Και εξηγούμαι: μην προσπαθείτε να βρείτε όλες τις διαφορετικές αναδιατάξεις εντολών -σίγουρα είναι πολλές-, προσπαθήστε να βρείτε τις διαφορετικές τιμές που μπορεί να πάρει καθένας register. Και μην ξεχνάτε ότι ζητάμε τις τελικές τιμές, αφότου δηλαδή έχει ολοκληρωθεί η εκτέλεση και των 2 processes.
Παράδειγμα: ο r1 δεν μπορεί να πάρει άλλη τιμή από την 1, διότι η r1=X δεν μπορεί να αναδιαταχθεί με την X=1. Ομοίως και τα υπόλοιπα.
N.
advcomparch@lists.cslab.ece.ntua.gr