ΗΥ-225: Οργάνωση Υπολογιστών
Άνοιξη 2011 |
Τμήμα Επιστήμης Υπολογιστών © Πανεπιστήμιο Κρήτης |
4.1 Οι παρακάτω κώδικες Assembly αποτελούν τμήματα ενός παράλληλου προγράμματος που γράφτηκε για
να εκτελεστεί σε 2 πυρήνες με σκοπό να υπολογίσει το ελάχιστο από ένα σύνολο 100 αριθμών που είναι
αποθηκευμένοι σε έναν πίνακα ARRAY
στη μνήμη, και να αποθηκεύσει το υπολογισμένο ελάχιστο στη θέση μνήμης
ΜΙΝ
. Οι 2 πυρήνες διαμοιράζονται τη μνήμη δεδομένων του συστήματος, η οποία
θεωρούμε ότι έχει αρχικοποιηθεί από τον πρώτο πυρήνα (CORE 0
) με δεδομένα.
Ο κώδικας εξετάζει αριθμούς που διαβάζει από τον πίνακα και τους συγκρίνει με τον τρέχοντα
ελάχιστο αριθμό, που βρίσκεται αποθηκευμένος σε μία θέση μνήμης στην οποία δείχνει ο καταχωρητής
$s0
.
|
|
Θα υπολογίσει το παραπάνω πρόγραμμα σωστά το ελάχιστο τον 100 αριθμών; Εξηγείστε την απάντησή σας. Εάν το πρόγραμμα είναι λάθος, τότε δείξτε πώς πρέπει να διορθωθεί για να εκτελεστεί σωστά.
4.2 Η παρακάτω ακολουθία δεκαεξαδικών αριθμών κωδικοποιεί μία ακολουθία εντολών assembly του MIPS. Ποια είναι αυτή η ακολουθία;
0x200900c8
0x8e110000
0x02319020
0x22100004
0x2129ffff
0x1520fffc
Τρόπος Παράδοσης:
Θα παραδώσετε ηλεκτρονικά ένα αρχείο μορφής pdf, με όνομα ex04.pdf που να περιέχει
τις απαντήσεις σας. Για να παραδώσετε την άσκηση συνδεθείτε σε ένα μηχάνημα Linux του
τμήματος. Ετοιμάστε ένα directory με τα αρχεία που σας ζητάει η
άσκηση. Ας υποθέσουμε ότι το όνομα του directory είναι <somepath>/mydir. Μετακινηθείτε
στο directory <somepath> και εκτελέστε την εντολή:
/usr/local/bin/submit exercise04@hy225 mydir
Περισσότερες πληροφορίες και αναλυτικές οδηγίες για τη διαδικασία submit είναι διαθέσιμες εκτελώντας:
man submit
σε κάποιο από τα μηχανήματα Linux του Τμήματος. Σημειώστε ότι η απομακρυσμένη πρόσβαση στα μηχανήματα του Τμήματος γίνεται από 1.2.2010 με νέο ασφαλή τρόπο μέσω gateways.