Professional Documents
Culture Documents
Αnswers3
Αnswers3
Αnswers3
Άσκηση 1.
Απάντηση
1η πράξη: α+β
α 11111111
β + 11000000
- - - - - - - - - - --- -- -- -- -- -- -- -- --
απ 1 10111111
Κ=1, Υ= 0, Μ=0
Αφού οι αριθμοί είναι μη προσημασμένοι η τιμή του κρατούμενου δηλώνει την ύπαρξη υπερχείλισης.
Επειδή Κ=1 έχουμε υπερχείλιση, επομένως το αποτέλεσμα δεν χωράει σε 8 δυαδικά ψηφία.
2η πράξη: β+γ
β 11000000
γ + 10000000
- - - - - - - - - - --- -- -- -- -- -- -- -- --
απ 1 01000000
Κ=1, Υ= 1, Μ=0
Αφού οι αριθμοί είναι μη προσημασμένοι, η τιμή του κρατούμενου δηλώνει την ύπαρξη υπερχείλισης.
Επειδή Κ=1 έχουμε υπερχείλιση, επομένως το αποτέλεσμα δεν χωράει σε 8 δυαδικά ψηφία.
3η πράξη: δ+ε
δ 01110000
ε + 00010000
- - - - - - - - - - --- -- -- -- -- -- -- -- --
απ 10000000
1
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
4η πράξη: ζ+η
ζ 11111111
η + 00010000
- - - - - - - - - - --- -- -- -- -- -- -- -- --
απ 1 00001111
5η πράξη: η+θ.
η 00010000
θ + 10000000
- - - - - - - - - - --- -- -- -- -- -- -- -- --
απ 0 10010000
Κ=0, Υ=0, Μ=0
Αφού οι αριθμοί είναι σε παράσταση συμπληρώματος ως προς 2 η τιμή της σημαίας Υ δηλώνει την
ύπαρξη υπερχείλισης. Επειδή Υ=0 δεν έχουμε υπερχείλιση, επομένως το αποτέλεσμα χωράει σε 8
δυαδικά ψηφία.
Άσκηση 2
Λύση
1. (τα κίτρινα είναι ο εκθέτης)
a. 16 = 24, 8 = 23, και οι αναπαραστάσεις τους είναι
0100 0001 1000 0000 0000 0000 0000 0000 και
2
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
Για να πολλαπλασιασθούν, προσθέτουμε τους εκθέτες και αφαιρούμε μία φορά τη πόλωση και
πολλαπλασιάζουμε τα κλασματικά μέρη. Το αποτέλεσμα είναι
Για να τους προσθέσουμε, ολισθαίνουμε τον αριθμό με τον μικρότερο εκθέτη προς τα δεξιά
ώστε να εξισωθούν οι εκθέτες δηλ. 0,12510 = 0,00000000012 27. Προσθέτουμε τα
κλασματικά μέρη και παίρνουμε ως αποτέλεσμα τον αριθμό
146,37510 = 1,00100100112 27 = 0100 0011 0 001 0010 0110 0000 0000 0000
2. Στη παράσταση 1011 1100 0100 0000 0000 0000 0000 0000 το bit προσήμου είναι 1 άρα
αντιπροσωπεύει αρνητικό αριθμό, τα δυαδικά ψηφία του εκθέτη είναι 01111000 = 120 άρα ο
εκθέτης είναι 120–127 =–7 και το κλασματικό μέρος 100 0000 0000 0000 0000 0000. Άρα
πρόκειται για τη παράσταση του –1,12 x 2–7 =
–0,0117187510.
Στη παράσταση 0101 0101 0110 0000 0000 0000 0000 0000 το bit προσήμου είναι 0 άρα
αντιπροσωπεύει θετικό αριθμό, τα δυαδικά ψηφία του εκθέτη είναι 10101010 = 170 άρα ο
εκθέτης είναι 170 – 127 = 43
Για τις παραστάσεις 0111 1111 1000 1111 0000 1111 0000 0000, και
1111 1111 1000 1111 0000 1111 0000 0000 ο εκθέτης είναι 11111111 με κλασματικό μέρος
διαφορετικό του μηδενός, άρα αντιπροσωπεύουν το NaN (not a number).
Άσκηση 3
Για τον υπολογισμό της έκφρασης “Y=(Α+Β)×C-B/A” να γραφεί πρόγραμμα για υπολογιστή που
βασίζεται στη χρήση:
i. μηχανισμού σωρού
ii. συσσωρευτή
iii. 8 καταχωρητών γενικού σκοπού με εντολές
iii.1 μόνο καταχωρητή-καταχωρητή (ή φόρτωσης-αποθήκευσης) με δύο τελούμενα και
iii.2 καταχωρητή-καταχωρητή με τρία τελούμενα.
Να χρησιμοποιήσετε το μικρότερο αριθμό εντολών.
3
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
Απάντηση
Στην περίπτωση μηχανής που βασίζεται στη χρήση του μηχανισμού σωρού, για να γράψουμε εύκολα
ένα πρόγραμμα για ένα αριθμητικό υπολογισμό, θα πρέπει καταρχήν να μετατρέψουμε την
αριθμητική έκφραση από “infix notation” σε “postfix notation”. Μία αριθμητική έκφραση είναι σε
“infix notation” όταν ο τελεστής βρίσκεται μεταξύ των δεδομένων που χρησιμοποιούνται στην πράξη,
πχ. Α×Β. ) Μία αριθμητική έκφραση είναι σε “postfix notation” όταν ο τελεστής βρίσκεται μετά τα
δεδομένα που χρησιμοποιούνται στην πράξη, πχ. ΑΒ×. Λαμβάνοντας υπόψη τις προτεραιότητες των
πράξεων και τις παρενθέσεις, μετατρέπουμε καταρχήν τις πράξεις μεγαλύτερης προτεραιότητας από
“infix notation” σε “postfix notation”. Κάθε πράξη που έχει μετατραπεί σε “postfix notation” στη
συνέχεια θεωρείται ως δεδομένο.
Τώρα διατρέχοντας τη σχέση, την οποία έχουμε σε “postfix notation”, από τα αριστερά προς τα
δεξιά κάθε φορά που θα συναντάμε τελούμενο θα γράφουμε την εντολή PUSH, κάθε φορά που θα
συναντάμε τελεστή θα γράφουμε την εντολή που αντιστοιχεί στον τελεστή και όταν συναντήσουμε το
σύμβολο της ισότητας θα γράψουμε την εντολή POP. Επομένως το πρόγραμμα είναι:
4
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
LOAD A Σ=A
ADD B Σ=Σ+B = A+B
MUL C Σ=Σ×C= (A + B)×C
SUB Y Σ=Σ-Y= (A + B)×C- B/A
STORE Y Y= (A + B) ×C- B/A
iii.1 Υπολογιστής που βασίζεται στη χρήση καταχωρητών γενικού σκοπού και έχει εντολές μόνο
καταχωρητή-καταχωρητή με δύο τελούμενα.
iii.2 Υπολογιστής που βασίζεται στη χρήση καταχωρητών γενικού σκοπού και έχει εντολές μόνο
καταχωρητή-καταχωρητή με τρία τελούμενα.
Άσκηση 4
Θεωρούμε υπολογιστή που αποτελείται από την ΚΜΕ, μία ενοποιημένη κρυφή μνήμη για εντολές και
δεδομένα και κύρια μνήμη. Η κρυφή μνήμη έχει λόγο επιτυχίας λ=0,9 και η προσπέλασή της βάζει
καθυστέρηση ενός κύκλου ρολογιού. Σε κάθε περίπτωση αποτυχίας να βρεθεί η πληροφορία στην
κρυφή μνήμη, έχουμε καθυστέρηση 50 κύκλων ρολογιού για τη μεταφορά ενός μπλοκ πληροφορίας
5
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
από την κύρια μνήμη στην κρυφή μνήμη. Ο χρόνος κύκλου ρολογιού είναι 2 ns. Υποθέστε ότι το
σύνολο των εντολών του προγράμματος σε επίπεδο γλώσσας μηχανής αποτελείται από τα πέντε είδη
εντολών που περιγράφονται στον Πίνακα 3.1.
i. Υπολογίστε το συνολικό χρόνο που δαπανάται για την προσπέλαση του συστήματος μνήμης
κατά την εκτέλεση του προγράμματος του οποίου τα χαρακτηριστικά δίνονται στον Πίνακα 3.2
και το μέσο χρόνο προσπέλασης του συστήματος μνήμης.
ii. Εάν κάθε εντολή απαιτεί για την εκτέλεσή της 2 κύκλους επιπλέον του χρόνου προσπέλασης του
συστήματος μνήμης, να υπολογίσετε το συνολικό χρόνο εκτέλεσης του προγράμματος και τον
μέσο αριθμό κύκλων ανά εντολή.
Υποθέστε ότι τόσο το εκτελούμενο πρόγραμμα όσο και τα απαιτούμενα δεδομένα βρίσκονται στην
κύρια μνήμη. Η ΚΜΕ μπορεί να προσπελάσει εντολές και δεδομένα μόνο από την κρυφή μνήμη, η
προσπέλαση γίνεται ανά ψηφιολέξη και τόσο η κρυφή όσο και η κύρια μνήμη έχουν οργάνωση μιας
ψηφιολέξης ανά θέση μνήμης.
Πίνακας 3.1
Πίνακας 3.2
Απάντηση
i. Από τον Πίνακα 3.1 γνωρίζουμε το πλήθος των θέσεων μνήμης που καταλαμβάνει κάθε εντολή και
επομένως το πλήθος των προσπελάσεων του συστήματος μνήμης που απαιτείται για την προσκόμιση
κάθε εντολής. Επίσης για τις εντολές που απαιτούν μεταφορά δεδομένων μεταξύ της ΚΜΕ και της
μνήμης από τον ίδιο Πίνακα γνωρίζουμε το πλήθος των προσπελάσεων που απαιτούνται για τη
μεταφορά των δεδομένων από ή προς το σύστημα μνήμης.
Η ΚΜΕ μπορεί να προσπελάσει εντολές και δεδομένα μόνο από την κρυφή μνήμη, επομένως στην
περίπτωση που η ζητούμενη πληροφορία δε βρίσκεται στην κρυφή μνήμη ο χρόνος προσπέλασης θα
είναι 50+1 κύκλοι ρολογιού= 51 κύκλοι ρολογιού.
Έστω ότι ΧΠΕi είναι ο Χρόνος Προσπέλασης Εντολής τύπου i και των απαιτούμενων δεδομένων για
την εκτέλεσή της, σε κύκλους ρολογιού. Τότε
6
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
ΧΠΕi =
[( πλήθος ψηφιολέξεων που καταλαμβάνει η εντολή στη μνήμη) + (πλήθος ψηφιολέξεων μνήμης που
προσπελαύνει η εντολή κατά την εκτέλεσή της)] × [(λόγος επιτυχίας της κρυφής μνήμης) × (κύκλοι
ρολογιού για την προσπέλαση μιας ψηφιολέξης από την κρυφή μνήμη) +
(λόγος αποτυχίας της κρυφής μνήμης) × (κύκλοι ρολογιού για την προσπέλαση μιας ψηφιολέξης από
το σύστημα μνήμης)]
Λαμβάνοντας υπόψη το πλήθος των εντολών κάθε είδους και τη διάρκεια του κύκλου ρολογιού,
συμπεραίνουμε ότι ο συνολικός χρόνος που δαπανάται για την προσπέλαση του συστήματος μνήμης
κατά την εκτέλεση του προγράμματος είναι:
Έστω ότι ΜΧΠ είναι ο μέσος χρόνος προσπέλασης του συστήματος μνήμης τότε:
ii. Έστω ότι ΧΕΚ είναι ο συνολικός χρόνος εκτέλεσης του προγράμματος σε κύκλους
ρολογιού, τότε:
7
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
Ο συνολικός χρόνος εκτέλεσης θα είναι ΧΕ=13.440 κύκλοι ρολογιού×2 ns ανά κύκλο ρολογιού =
26.880 ns.
Ο Μέσος Αριθμός Κύκλων ανά Εντολή, ΜΑΚΕ = 13.440 κύκλοι ρολογιού/(πλήθος εντολών που
εκτελέστηκαν) = 13.440/1.110 κύκλοι ρολογιού ανά εντολή = 12,1 κύκλοι ρολογιού ανά εντολή
Άσκηση 5
Θεωρήστε κρυφές μνήμες των 512 πλαισίων με 16 λέξεις ανά πλαίσιο και οργάνωση:
i. Άμεσης οργάνωσης
ii. Πλήρους συσχέτισης.
iii. 2-τρόπων συνόλου συσχέτισης.
α. Να δώσετε τις διευθύνσεις των πλαισίων/συνόλων της κρυφής μνήμης στα οποία μπορούν να
αποθηκευτούν τα περιεχόμενα των θέσεων της κύριας μνήμης με διευθύνσεις 228Α46, 21ΑΑ45,
777F12 σε κάθε μία από τις περιπτώσεις i. ii. iii.
β. Ποια από τα περιεχόμενα των ανωτέρω θέσεων μνήμης είναι δυνατόν να βρίσκονται ταυτόχρονα
στην κρυφή μνήμη σε κάθε μία από τις περιπτώσεις i. ii. iii και γιατί;
Απάντηση
Στον επόμενο πίνακα δίνονται στο δυαδικό οι διευθύνσεις των πλαισίων της κρυφής μνήμης στα
οποία μπορούν να αποθηκευτούν τα περιεχόμενα των θέσεων της κύριας μνήμης με διευθύνσεις
228Α46(16), 21ΑΑ45(16) και 777F12(16).
8
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
Στην οργάνωση πλήρους συσχέτισης οποιοδήποτε μπλοκ της κύριας μνήμης μπορεί να μεταφερθεί σε
οποιοδήποτε πλαίσιο της κρυφής μνήμης. Επομένως κάθε μια από τις διευθύνσεις μπορεί να
αποθηκευτεί σε ένα πλαίσιο με διεύθυνση από 00 μέχρι και 1FF.
Σ' αυτή την περίπτωση έχουμε 2 πλαίσια ανά σύνολο, άρα η κρυφή μνήμη θα έχει 512/2 σύνολα =
256 σύνολα. Αφού κάθε πλαίσιο έχει 16=24 λέξεις, τα 4 λιγότερο σημαντικά δυαδικά ψηφία της
διεύθυνσης δηλώνουν και πάλι τη διεύθυνση της λέξης μέσα στο μπλóκ και μέσα στο πλαίσιο.
Επομένως τα επόμενα log2256 = 8 λιγότερο σημαντικά δυαδικά ψηφία θα δίνουν την διεύθυνση του
συνόλου. Λαμβάνοντας υπόψη ότι κάθε ψηφίο στο δεκαεξαδικό είναι των τεσσάρων δυαδικών
ψηφίων έχουμε:
Στον επόμενο πίνακα δίνονται στο δεκαεξαδικό οι διευθύνσεις των συνόλων της κρυφής μνήμης στα
οποία μπορούν να αποθηκευτούν τα περιεχόμενα των θέσεων της κύριας μνήμης με διευθύνσεις
228Α46(16), 21ΑΑ45(16) και 777F12(16).
ανήκουν σε διαφορετικά μπλοκ της κύριας μνήμης με διεύθυνση 228A4 και 21AA4 αντίστοιχα, τα
οποία όμως αποθηκεύονται στο ίδιο πλαίσιο με διεύθυνση Α4. Επομένως τα περιεχόμενα των θέσεων
της κυρίας μνήμης με διευθύνσεις 228A46 και 21AA45 δεν μπορούν να βρίσκονται ταυτόχρονα στην
κρυφή μνήμη.
Η διεύθυνση 777-F1-2 = 0111 0111 011-1 1111 0001- 0010(2) ανήκει στο μπλοκ με διεύθυνση 777F1
που αποθηκεύεται στο πλαίσιο 1F1 που είναι διαφορετικό από το πλαίσιο στο οποίο αποθηκεύονται
9
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
τα μπλοκ 228A4 και 21ΑA4, άρα τα περιεχόμενα της θέσης με διεύθυνση 777F12 μπορούν να
βρίσκονται ταυτόχρονα στην κρυφή μνήμη με το περιεχόμενο της θέσης με διεύθυνση 228A46 ή
21ΑA45.
Η διεύθυνση 777-F1-2 ανήκει στο μπλοκ με διεύθυνση 777F1 που αποθηκεύεται στο σύνολο F1 που
είναι διαφορετικό από το σύνολο στο οποίο αποθηκεύονται τα μπλοκ 228A4 και 21ΑA4, άρα τα
περιεχόμενα της θέσης με διεύθυνση 777F12 μπορούν να βρίσκονται ταυτόχρονα στην κρυφή μνήμη
με τα περιεχόμενα των θέσεων με διευθύνσεις 228A46 και 21ΑA45.
Άσκηση 6
Ένας σκληρός δίσκος διαθέτει μία κεφαλή ανάγνωσης/εγγραφής και περιστρέφεται με 7500
στροφές/λεπτό. Ο δίσκος έχει 512 ομόκεντρους κύκλους (tracks) που ο καθένας έχει 1024 τομείς
(sectors). Ο χρόνος που χρειάζεται η κεφαλή για να μετακινηθεί κατά 200 ομόκεντρους κύκλους είναι
3 ms. Ας υποθέσουμε ότι η κεφαλή του δίσκου βρίσκεται στον ομόκεντρο κύκλο 0 ο οποίος
χρησιμοποιείται για την τοποθέτηση της κεφαλής και όχι για την εγγραφή δεδομένων. Έστω ότι ο
δίσκος παίρνει εντολή να προσπελάσει δεδομένα σε έναν τυχαίο τομέα και σε ένα τυχαίο ομόκεντρο
κύκλο. Σε αυτή την περίπτωση:
α) Ποιος είναι ο μέσος χρόνος αναζήτησης ;
β) Ποιος είναι ο μέσος χρόνος αναμονής ;
γ) Ποιος είναι ο χρόνος ανάγνωσης από τη κεφαλή των δεδομένων ενός τομέα ;
Λύση
α) Αφού η κεφαλή είναι στον ομόκεντρο κύκλο 0, πρέπει να διέλθει 1 ομόκεντρο κύκλο για να
πάει στον 1, 2 ομόκεντρους κύκλους για να πάει στον 2, …. και 511 ομόκεντρους κύκλους για
να πάει στον 511. Άρα ο μέσος αριθμός των ομόκεντρων κύκλων που πρέπει να διέλθει η
κεφαλή για να προσπελάσει έναν τυχαίο ομόκεντρο κύκλο είναι
1 2 ... 511
= 256
511
Εφ’ όσον ο χρόνος αναζήτησης είναι 3 ms για 200 ομόκεντρους κύκλους o ζητούμενος μέσος
χρόνος αναζήτησης είναι (256/200)* 3 ms = 3.84 ms.
10
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13
β) Εφ’ όσον ο δίσκος περιστρέφεται με 7500 στροφές/min κάθε περιστροφή διαρκεί 8ms. Ο μέσος
χρόνος αναμονής θα είναι το ήμισυ του χρόνου περιστροφής, δηλαδή 4ms.
γ) Κάθε περιστροφή διαρκεί 8 ms. Κάθε ομόκεντρος κύκλος περιλαμβάνει 1024 τομείς. Η
διέλευση κάθε τομέα κάτω από την κεφαλή εγγραφής / ανάγνωσης διαρκεί 8 ms / 1024=7,81 μs.
Άρα ο μέσος χρόνος ανάγνωσης από τη κεφαλή των δεδομένων ενός τομέα είναι 7,81 μs.
Άσκηση 7
Μία μονάδα εισόδου/εξόδου μεταφέρει δεδομένα στην μνήμη του επεξεργαστή με ρυθμό 10 Mbytes /
sec μέσω του διαύλου εισόδου/εξόδου που έχει συνολικό bandwidth 100 Mbytes / sec. Τα 10 ΜΒytes
μεταφέρονται σαν 2500 ανεξάρτητες σελίδες των 4 ΚΒyte η κάθε μία. O επεξεργαστής λειτουργεί με
συχνότητα 200 MHz. Για την μεταφορά των δεδομένων με την τεχνική DMA απαιτούνται 1000
κύκλοι για την έναρξη της μεταφοράς και 1250 κύκλοι για την απόκριση στο σήμα διακοπής του
τέλους της μεταφοράς. Ποιο είναι το ποσοστό του χρόνου που απασχολείται η ΚΜΕ για την
μεταφορά των δεδομένων χωρίς DMA και με την χρήση DMA; Όταν δεν υπάρχει DMA θεωρούμε ότι
ο επεξεργαστής είναι απασχολημένος όλο το χρονικό διάστημα που διαρκεί η μεταφορά.
Λύση
Χωρίς την τεχνική DMA, ο επεξεργαστής πρέπει να αποθηκεύει τα δεδομένα στη μνήμη καθώς η
μονάδα εισόδου/εξόδου τα τοποθετεί στο δίαυλο. Καθώς η μονάδα εισόδου εξόδου στέλνει
δεδομένα με ρυθμό 10 MBytes / sec μέσω του διαύλου, ο οποίος έχει ρυθμό μεταφοράς 100
MBytes / sec, 10% του χρόνου δαπανάται για την μεταφορά δεδομένων στο δίαυλο. Αρα ο
επεξεργαστής είναι απασχολημένος με τη μεταφορά των δεδομένων στο 10% του χρόνου του.
Με τη χρήση DMA, η μεταφορά 1 σελίδας των 4ΚΒ, επιβαρύνει τον επεξεργαστή αφενός για να
αρχικοποιήσει τον ελεγκτή DMA και αφετέρου για να εξυπηρετήσει τη διακοπή στο τέλος της
μεταφοράς. Συνολικά κάθε μία τέτοια μεταφορά "κλέβει" από τον επεξεργαστή 1000 + 1250
κύκλους = 2250 κύκλους, που αλλιώς θα χρησιμοποιούνταν για υπολογισμούς. Η μεταφορά
συνεπώς 10 ΜBytes σε διάστημα 1 sec, θα στερήσει από τον επεξεργαστή 2250 x 2500 =
5.625.000 υπολογιστικούς κύκλους. Αφού η συχνότητα του επεξεργαστή είναι 200 MHz, στο 1
sec, μπορούν να υπάρχουν 200 x 106 κύκλοι. Άρα η επιβάρυνση είναι 5.625.000 / 200 x 106 =
0,028125 = 2,8125%.
11