Αnswers3

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ


Θεματική Ενότητα ΠΛΗ 21: Ψηφιακά Συστήματα
Ακαδημαϊκό Έτος 2012 – 2013
Γραπτή Εργασία #3
Ημερομηνία Παράδοσης: 24-ΜΑΡΤΙΟΥ-2013

Άσκηση 1.

Ένας επεξεργαστής υποστηρίζει τόσο μη προσημασμένα όσο και προσημασμένα αριθμητικά


δεδομένα μεγέθους μιας ψηφιολέξης (byte). Για τα προσημασμένα δεδομένα ο επεξεργαστής
ακολουθεί αναπαράσταση σε κώδικα συμπληρώματος ως προς 2. Οι προσθέσεις γίνονται με δυαδικό
αθροιστή των 8 δυαδικών ψηφίων. Ο καταχωρητής κατάστασης διαθέτει σημαίες κρατούμενου
εξόδου (Κ), υπερχείλισης (Υ=κ8κ7) και μηδενικού αποτελέσματος (Μ). Να δείξετε πώς εκτελούνται
οι παρακάτω πράξεις στην αριθμητική μονάδα του υπολογιστή, ποιες είναι οι τιμές που λαμβάνουν οι
σημαίες Κ, Υ και Μ σε κάθε μία και βασιζόμενοι στις τιμές των σημαιών να αποφανθείτε αν το
αποτέλεσμα είναι σωστό. 1η πράξη: α+β, 2η πράξη: β+γ, 3η πράξη: δ+ε, 4η πράξη: ζ+η και 5η πράξη: η+θ.
Δεδομένα χωρίς πρόσημο: α =255(10), β = 192(10), γ = 128(10), δ = 112(10), ε = 16(10)
Δεδομένα με πρόσημο: ζ = -1(10), η =16(10), θ= -128(10)

Απάντηση

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

Κ=0, Υ=1, Μ=0


Αφού οι αριθμοί είναι μη προσημασμένοι η τιμή του κρατούμενου δηλώνει την ύπαρξη υπερχείλισης.
Επειδή Κ=0 δεν έχουμε υπερχείλιση, επομένως το αποτέλεσμα χωράει στα 8 δυαδικά ψηφία.

4η πράξη: ζ+η
ζ 11111111
η + 00010000
- - - - - - - - - - --- -- -- -- -- -- -- -- --
απ 1 00001111

Κ=1, Υ=0, Μ=0


Αφού οι αριθμοί είναι σε παράσταση συμπληρώματος ως προς 2 η τιμή της σημαίας Υ δηλώνει την
ύπαρξη υπερχείλισης. Επειδή Υ=0 δεν έχουμε υπερχείλιση, επομένως το αποτέλεσμα χωράει στα 8
δυαδικά ψηφία. Το κρατούμενο εξόδου αγνοείται.

5η πράξη: η+θ.
η 00010000
θ + 10000000
- - - - - - - - - - --- -- -- -- -- -- -- -- --
απ 0 10010000
Κ=0, Υ=0, Μ=0
Αφού οι αριθμοί είναι σε παράσταση συμπληρώματος ως προς 2 η τιμή της σημαίας Υ δηλώνει την
ύπαρξη υπερχείλισης. Επειδή Υ=0 δεν έχουμε υπερχείλιση, επομένως το αποτέλεσμα χωράει σε 8
δυαδικά ψηφία.

Άσκηση 2

1. Να χρησιμοποιηθούν αριθμοί κινητής υποδιαστολής απλής ακριβείας σύμφωνα με το


πρότυπο ΙΕΕΕ 754 για να εκτελεστούν οι πράξεις
a. 16(10) x 8(10)
b. 146,250(10) + 0,125(10)
2. Για κάθε έναν από του επόμενους αριθμούς κινητής υποδιαστολής απλής ακρίβειας να
βρεθεί ποιον αριθμό του δεκαδικού συστήματος παριστάνουν.
1011 1100 0100 0000 0000 0000 0000 0000
0101 0101 0110 0000 0000 0000 0000 0000
0111 1111 1000 1111 0000 1111 0000 0000
1111 1111 1000 1111 0000 1111 0000 0000

Λύση
1. (τα κίτρινα είναι ο εκθέτης)
a. 16 = 24, 8 = 23, και οι αναπαραστάσεις τους είναι
0100 0001 1000 0000 0000 0000 0000 0000 και

0100 0001 0000 0000 0000 0000 0000 0000.

2
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13

Για να πολλαπλασιασθούν, προσθέτουμε τους εκθέτες και αφαιρούμε μία φορά τη πόλωση και
πολλαπλασιάζουμε τα κλασματικά μέρη. Το αποτέλεσμα είναι

0100 0011 0000 0000 0000 0000 0000 0000 = 27 = 128.

b. 0,25(10) = 0,01 και 146(10) = 10010010, άρα


146,25010 = 10010010,01=
= 1,0010010012  27 = 0100 0011 0001 0010 0100 0000 0000 0000 και
0,12510 = 1,0000000002  2–3= 0011 1110 0000 0000 0000 0000 0000 0000

Για να τους προσθέσουμε, ολισθαίνουμε τον αριθμό με τον μικρότερο εκθέτη προς τα δεξιά
ώστε να εξισωθούν οι εκθέτες δηλ. 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

και το κλασματικό μέρος 110 0000 0000 0000 0000 0000.

Άρα ο αριθμός είναι 1,112 x 243 = +1,539316279 x 1013.

Για τις παραστάσεις 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

Απάντηση

i. Υπολογιστής που βασίζεται στη χρήση του μηχανισμού σωρού.

Στην περίπτωση μηχανής που βασίζεται στη χρήση του μηχανισμού σωρού, για να γράψουμε εύκολα
ένα πρόγραμμα για ένα αριθμητικό υπολογισμό, θα πρέπει καταρχήν να μετατρέψουμε την
αριθμητική έκφραση από “infix notation” σε “postfix notation”. Μία αριθμητική έκφραση είναι σε
“infix notation” όταν ο τελεστής βρίσκεται μεταξύ των δεδομένων που χρησιμοποιούνται στην πράξη,
πχ. Α×Β. ) Μία αριθμητική έκφραση είναι σε “postfix notation” όταν ο τελεστής βρίσκεται μετά τα
δεδομένα που χρησιμοποιούνται στην πράξη, πχ. ΑΒ×. Λαμβάνοντας υπόψη τις προτεραιότητες των
πράξεων και τις παρενθέσεις, μετατρέπουμε καταρχήν τις πράξεις μεγαλύτερης προτεραιότητας από
“infix notation” σε “postfix notation”. Κάθε πράξη που έχει μετατραπεί σε “postfix notation” στη
συνέχεια θεωρείται ως δεδομένο.

Στις παρακάτω πράξεις κάθε υπογραμμισμένη έκφραση είναι σε “postfix notation”.

Y=AB+×C-AB/= AB+C×-AB/= AB/ AB+C×-

Τώρα διατρέχοντας τη σχέση, την οποία έχουμε σε “postfix notation”, από τα αριστερά προς τα
δεξιά κάθε φορά που θα συναντάμε τελούμενο θα γράφουμε την εντολή PUSH, κάθε φορά που θα
συναντάμε τελεστή θα γράφουμε την εντολή που αντιστοιχεί στον τελεστή και όταν συναντήσουμε το
σύμβολο της ισότητας θα γράψουμε την εντολή POP. Επομένως το πρόγραμμα είναι:

ΣΤΟΙΒΑ ΜΕΤΑ ΤΗΝ ΕΚΤΕΛΕΣΗ


ΠΡΟΓΡΑΜΜΑ ΤΗΣ ΕΝΤΟΛΗΣ (ΚΟΡΥΦΗ ΣΤΑ
ΑΡΙΣΤΕΡΑ)
PUSH A A
PUSH B B,A
DIV B/A
PUSH A A, B/A
PUSH Β B, A, B/A
ADD B+A, B/A
PUSH C C, B+A, B/A
MUL C×( B+A), B/A
SUB C×( B+A) - B/A
POP Y Y= C×( B+A) - B/A

ii. Υπολογιστής που βασίζεται στη χρήση συσσωρευτή.

ΠΕΡΙΕΧΟΜΕΝΟ ΤΟΥ ΣΥΣΣΩΡΕΥΤΗ Σ


ΠΡΟΓΡΑΜΜΑ
ΜΕΤΑ ΤΗΝ ΕΚΤΕΛΕΣΗ ΤΗΣ ΕΝΤΟΛΗΣ
LOAD B Σ=Β
DIV A Σ=Σ/A=B/A
STORE Y Y= B/A

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 Υπολογιστής που βασίζεται στη χρήση καταχωρητών γενικού σκοπού και έχει εντολές μόνο
καταχωρητή-καταχωρητή με δύο τελούμενα.

ΑΠΟΤΕΛΕΣΜΑ ΜΕΤΑ ΤΗΝ


ΠΡΟΓΡΑΜΜΑ
ΕΚΤΕΛΕΣΗ ΤΗΣ ΕΝΤΟΛΗΣ
LOAD R1, A R1=A
LOAD R2, B R2=B
ADD R1, R2 R1=R1+R2=A+B
LOAD R3, C R3=C
MUL R1, R3 R1=R1×R3= (A+B) ×C
LOAD R3, A R3=A
DIV R2, R3 R2=R2/R3=B/A
SUB R1, R2 R1=R1- R2= (A+B) ×C - B/A
STORE Y, R1 Y=R1= (A+B) ×C - B/A

iii.2 Υπολογιστής που βασίζεται στη χρήση καταχωρητών γενικού σκοπού και έχει εντολές μόνο
καταχωρητή-καταχωρητή με τρία τελούμενα.

ΑΠΟΤΕΛΕΣΜΑ ΜΕΤΑ ΤΗΝ


ΠΡΟΓΡΑΜΜΑ
ΕΚΤΕΛΕΣΗ ΤΗΣ ΕΝΤΟΛΗΣ
LOAD R1, A R1=A
LOAD R2, B R2=B
ADD R3, R1, R2 R3=R1+R2=A+B
LOAD R4, C R4=C
MUL R3, R3, R4 R3=R3×R4= (A+B) ×C
DIV R1, R2, R1 R1=R2/R1=B/A
SUB R1, R3, R1 R1=R3- R1= (A+B) ×C - B/A
STORE Y, R1 Y=R1= (A+B) ×C - B/A

Άσκηση 4

Θεωρούμε υπολογιστή που αποτελείται από την ΚΜΕ, μία ενοποιημένη κρυφή μνήμη για εντολές και
δεδομένα και κύρια μνήμη. Η κρυφή μνήμη έχει λόγο επιτυχίας λ=0,9 και η προσπέλασή της βάζει
καθυστέρηση ενός κύκλου ρολογιού. Σε κάθε περίπτωση αποτυχίας να βρεθεί η πληροφορία στην
κρυφή μνήμη, έχουμε καθυστέρηση 50 κύκλων ρολογιού για τη μεταφορά ενός μπλοκ πληροφορίας

5
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13

από την κύρια μνήμη στην κρυφή μνήμη. Ο χρόνος κύκλου ρολογιού είναι 2 ns. Υποθέστε ότι το
σύνολο των εντολών του προγράμματος σε επίπεδο γλώσσας μηχανής αποτελείται από τα πέντε είδη
εντολών που περιγράφονται στον Πίνακα 3.1.
i. Υπολογίστε το συνολικό χρόνο που δαπανάται για την προσπέλαση του συστήματος μνήμης
κατά την εκτέλεση του προγράμματος του οποίου τα χαρακτηριστικά δίνονται στον Πίνακα 3.2
και το μέσο χρόνο προσπέλασης του συστήματος μνήμης.
ii. Εάν κάθε εντολή απαιτεί για την εκτέλεσή της 2 κύκλους επιπλέον του χρόνου προσπέλασης του
συστήματος μνήμης, να υπολογίσετε το συνολικό χρόνο εκτέλεσης του προγράμματος και τον
μέσο αριθμό κύκλων ανά εντολή.
Υποθέστε ότι τόσο το εκτελούμενο πρόγραμμα όσο και τα απαιτούμενα δεδομένα βρίσκονται στην
κύρια μνήμη. Η ΚΜΕ μπορεί να προσπελάσει εντολές και δεδομένα μόνο από την κρυφή μνήμη, η
προσπέλαση γίνεται ανά ψηφιολέξη και τόσο η κρυφή όσο και η κύρια μνήμη έχουν οργάνωση μιας
ψηφιολέξης ανά θέση μνήμης.

Πίνακας 3.1

είδος Ψηφιολέξεις που καταλαμ- Πλήθος ψηφιολέξεων μνήμης που προ-


εντολής βάνει η εντολή στη μνήμη σπελαύνει η εντολή κατά την εκτέλεσή της
Α 1 0
Β 1 1
Γ 2 1
Δ 2 0
Ε 3 2

Πίνακας 3.2

είδος εντολής Πλήθος εκτελούμενων εντολών


Α 500
Β 400
Γ 90
Δ 100
Ε 20

Απάντηση

i. Από τον Πίνακα 3.1 γνωρίζουμε το πλήθος των θέσεων μνήμης που καταλαμβάνει κάθε εντολή και
επομένως το πλήθος των προσπελάσεων του συστήματος μνήμης που απαιτείται για την προσκόμιση
κάθε εντολής. Επίσης για τις εντολές που απαιτούν μεταφορά δεδομένων μεταξύ της ΚΜΕ και της
μνήμης από τον ίδιο Πίνακα γνωρίζουμε το πλήθος των προσπελάσεων που απαιτούνται για τη
μεταφορά των δεδομένων από ή προς το σύστημα μνήμης.

Η ΚΜΕ μπορεί να προσπελάσει εντολές και δεδομένα μόνο από την κρυφή μνήμη, επομένως στην
περίπτωση που η ζητούμενη πληροφορία δε βρίσκεται στην κρυφή μνήμη ο χρόνος προσπέλασης θα
είναι 50+1 κύκλοι ρολογιού= 51 κύκλοι ρολογιού.

Έστω ότι ΧΠΕi είναι ο Χρόνος Προσπέλασης Εντολής τύπου i και των απαιτούμενων δεδομένων για
την εκτέλεσή της, σε κύκλους ρολογιού. Τότε
6
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13

ΧΠΕi =

[( πλήθος ψηφιολέξεων που καταλαμβάνει η εντολή στη μνήμη) + (πλήθος ψηφιολέξεων μνήμης που
προσπελαύνει η εντολή κατά την εκτέλεσή της)] × [(λόγος επιτυχίας της κρυφής μνήμης) × (κύκλοι
ρολογιού για την προσπέλαση μιας ψηφιολέξης από την κρυφή μνήμη) +
(λόγος αποτυχίας της κρυφής μνήμης) × (κύκλοι ρολογιού για την προσπέλαση μιας ψηφιολέξης από
το σύστημα μνήμης)]

ΧΠΕΑ = 1×λ×1+1×(1-λ)×51 κύκλοι ρολογιού = 1×0,9+(1-0,9)×51 κύκλοι ρολογιού = 6 κύκλοι


ρολογιού.

ΧΠΕB = 2×λ×1+2×(1-λ)×51 κύκλοι ρολογιού

= 2×0,9 +2×(1-0,9)×51 κύκλοι ρολογιού = 12 κύκλοι ρολογιού

ΧΠΕΓ = 3×λ×1+3×(1-λ)×51 κύκλοι ρολογιού

= 3×0,9 +3×(1-0,9)×51 κύκλοι ρολογιού = 18κύκλοι ρολογιού

ΧΠΕΔ= 2×λ×1+2×(1-λ)×51 κύκλοι ρολογιού

= 2×0,9 +2×(1-0,9)×51 κύκλοι ρολογιού = 12 κύκλοι ρολογιού

ΧΠΕΕ = 5×λ×1+5×(1-λ)×51 κύκλοι ρολογιού

= 5×0,9 +5×(1-0,9)×51 κύκλοι ρολογιού = 30 κύκλοι ρολογιού

Λαμβάνοντας υπόψη το πλήθος των εντολών κάθε είδους και τη διάρκεια του κύκλου ρολογιού,
συμπεραίνουμε ότι ο συνολικός χρόνος που δαπανάται για την προσπέλαση του συστήματος μνήμης
κατά την εκτέλεση του προγράμματος είναι:

ΧΠΕ = (500×ΧΠΕΑ +400×ΧΠΕB + 90× ΧΠΕΓ +100×ΧΠΕΔ + 20× ΧΠΕΕ) ×2 ns =

= (500×6+400×12+ 90×18+100×12+20×30) κύκλοι ρολογιού ×2 ns ανά κύκλο ρολογιού = 11.220


κύκλοι ρολογιού ×2 ns ανά κύκλο ρολογιού = 22.440 ns =22,44 μs.

Έστω ότι ΜΧΠ είναι ο μέσος χρόνος προσπέλασης του συστήματος μνήμης τότε:

MXP = ΧΠΕ/ (πλήθος προσπελάσεων)=

= 22.440 ns /[500×(1+0)+ 400×(1+1)+ 90×(2+1)+ 100×(2+0)+20×(3+2 )] προσπελάσεις=

= 22.440 ns /1870 προσπελάσεις = 12 ns ανά προσπέλαση.

ii. Έστω ότι ΧΕΚ είναι ο συνολικός χρόνος εκτέλεσης του προγράμματος σε κύκλους
ρολογιού, τότε:

ΧΕΚ = 2 κύκλοι ανά εντολή × (πλήθος εντολών που εκτελέστηκαν) + ΧΠΕ =

= 2 κύκλοι ρολογιού ανά εντολή × (500+400+90+100+20) εντολές + ΧΠΕ =

= 2× 1.110 κύκλοι ρολογιού + 11.220 κύκλοι ρολογιού = 13.440 κύκλοι ρολογιού.

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 και γιατί;

Απάντηση

α.i Οργάνωση μονοσήμαντης απεικόνισης .


Αφού κάθε πλαίσιο αποτελείται από 16=24 λέξεις, τα 4 λιγότερο σημαντικά δυαδικά ψηφία της
διεύθυνσης δηλώνουν τη διεύθυνση της λέξης μέσα στο μπλóκ καθώς και μέσα στο πλαίσιο. Επειδή η
κρυφή μνήμη έχει 512=29 πλαίσια και οργάνωση μονοσήμαντης απεικόνισης τα επόμενα 9 λιγότερο
σημαντικά δυαδικά ψηφία δίνουν την διεύθυνση του πλαισίου. Άρα έχουμε:

11 δυαδικά ψηφία στο 9 δυαδικά ψηφία στο 4 δυαδικά ψηφία στο


δυαδικό δυαδικό δυαδικό
διεύθυνση της λέξης
ετικέτα διεύθυνση πλαισίου
μέσα στο πλαίσιο
διεύθυνση της λέξης
διεύθυνση μπλοκ στην κύρια μνήμη
μέσα στο μπλοκ

Στον επόμενο πίνακα δίνονται στο δυαδικό οι διευθύνσεις των πλαισίων της κρυφής μνήμης στα
οποία μπορούν να αποθηκευτούν τα περιεχόμενα των θέσεων της κύριας μνήμης με διευθύνσεις
228Α46(16), 21ΑΑ45(16) και 777F12(16).

διεύθυνση θέσης μνήμης διεύθυνση πλαισίου της


κρυφής μνήμης
228Α46(16) = 0010 0010 1000 1010 0100 0110(2) 0 1010 0100 = Α4(16)
21AΑ45(16) = 0010 0001 1010 1010 0100 0101(2) 0 1010 0100 = Α4(16)
777F12(16) = 0111 0111 0111 1111 0001 0010(2) 1 1111 0001 = 1F1(16)

8
ΠΛΗ21 – 3η ΕΡΓΑΣΙΑ – 2012-13

α.ii Οργάνωση πλήρους συνόλου συσχέτισης.

Στην οργάνωση πλήρους συσχέτισης οποιοδήποτε μπλοκ της κύριας μνήμης μπορεί να μεταφερθεί σε
οποιοδήποτε πλαίσιο της κρυφής μνήμης. Επομένως κάθε μια από τις διευθύνσεις μπορεί να
αποθηκευτεί σε ένα πλαίσιο με διεύθυνση από 00 μέχρι και 1FF.

α.iii Οργάνωση 2-τρόπων συνόλου συσχέτισης.

Σ' αυτή την περίπτωση έχουμε 2 πλαίσια ανά σύνολο, άρα η κρυφή μνήμη θα έχει 512/2 σύνολα =
256 σύνολα. Αφού κάθε πλαίσιο έχει 16=24 λέξεις, τα 4 λιγότερο σημαντικά δυαδικά ψηφία της
διεύθυνσης δηλώνουν και πάλι τη διεύθυνση της λέξης μέσα στο μπλóκ και μέσα στο πλαίσιο.
Επομένως τα επόμενα log2256 = 8 λιγότερο σημαντικά δυαδικά ψηφία θα δίνουν την διεύθυνση του
συνόλου. Λαμβάνοντας υπόψη ότι κάθε ψηφίο στο δεκαεξαδικό είναι των τεσσάρων δυαδικών
ψηφίων έχουμε:

3 ψηφία στο δεκαεξαδικό 2 ψηφίο στο δεκαεξαδικό 1 ψηφίο στο δεκαεξαδικό


διεύθυνση της λέξης
ετικέτα διεύθυνση συνόλου
μέσα στο πλαίσιο
διεύθυνση της λέξης
διεύθυνση μπλοκ στην κύρια μνήμη
μέσα στο μπλοκ

Στον επόμενο πίνακα δίνονται στο δεκαεξαδικό οι διευθύνσεις των συνόλων της κρυφής μνήμης στα
οποία μπορούν να αποθηκευτούν τα περιεχόμενα των θέσεων της κύριας μνήμης με διευθύνσεις
228Α46(16), 21ΑΑ45(16) και 777F12(16).

Διεύθυνση θέσης μνήμης Διεύθυνση συνόλου της κρυφής μνήμης


228-Α4-6(16) Α4
21A-Α4-5(16) Α4
777-F1-2(16) F1

β.i Οργάνωση μονοσήμαντης απεικόνισης


Οι διευθύνσεις

228Α46(16) = 0010 0010 101-0 1010 0100 - 0110(2) και

21AΑ45(16) = 0010 0001101-0 1010 0100 - 0101(2)

ανήκουν σε διαφορετικά μπλοκ της κύριας μνήμης με διεύθυνση 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.

β.ii Οργάνωση πλήρους συνόλου συσχέτισης


Σε κρυφή μνήμη πλήρους συνόλου συσχέτισης οποιοσδήποτε συνδυασμός μπλoκ της κύριας μνήμης
που δεν ξεπερνά το πλήθος των πλαισίων της κρυφής μνήμης μπορεί να βρίσκεται ταυτόχρονα στην
κρυφή μνήμη. Επειδή η κρυφή μνήμη έχει 512 πλαίσια τα περιεχόμενα των θέσεων της κυρίας μνήμης
και των τριών διευθύνσεων που δόθηκαν, μπορούν να βρίσκονται ταυτόχρονα στην κρυφή μνήμη.

β.iii Οργάνωση 2-τρόπων συνόλου συσχέτισης


Οι διευθύνσεις 228-Α4-6(16) και 21A-Α4-5(16) ανήκουν σε διαφορετικά μπλοκ της κύριας μνήμης με
διεύθυνση 228A4 και 21AA4 αντίστοιχα, τα οποία όμως αποθηκεύονται στο ίδιο σύνολο με
διεύθυνση Α4. Επειδή κάθε σύνολο έχει δύο πλαίσια, τα περιεχόμενα των θέσεων της κυρίας μνήμης
με διευθύνσεις 228A46 και 21AA45 μπορούν να βρίσκονται ταυτόχρονα στην κρυφή μνήμη.

Η διεύθυνση 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%.

ΑΣΚΗΣΗ ΜΟΝΑΔΕΣ Ο βαθμός σας


1η 10
2η 10
3η 20
4η 20
5η 20
6η 10
7η 10
ΣΥΝΟΛΟ 100
Τελικός Βαθμός 10.0

11

You might also like