Μετάβαση στο περιεχόμενο

Βασικά Θέματα Αρχιτεκτονικής Υπολογιστών — Φεβρουάριος 2016

Μεταγραφή από τα αρχεία της συνεδρίας (χωρίς λύσεις). Όπου το κείμενο δεν διαβάζεται, σημειώνεται [δυσανάγνωστο].

2016_1_sol.pdf

Ονοματεπώνυμο: ΑΜ:

Έτος:

ΒΑΣΙΚΑ ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ και ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ I

2-2-2016

ΘΕΜΑ 1. Σ’ ένα υπολογιστή υπάρχει ξεχωριστή κρυφή μνήμη εντολών και δεδομένων με λόγο επιτυχίας αντίστοιχα hε=0,94 και hδ=0,91. Η προσπέλαση οποιασδήποτε από τις δύο κρυφές μνήμες βάζει καθυστέρηση δύο κύκλων ρολογιού. Σε κάθε περίπτωση αποτυχίας να βρεθεί η εντολή ή τα δεδομένα στην κρυφή μνήμη υπάρχει καθυστέρηση 80 κύκλων ρολογιού για τη μεταφορά ενός μπλοκ εντολών ή δεδομένων από την κύρια μνήμη στην αντίστοιχη κρυφή μνήμη. Ο χρόνος κύκλου ρολογιού είναι 5 ns. Υποθέστε ότι το σύνολο των εντολών του προγράμματος σε επίπεδο γλώσσας μηχανής αποτελείται από τρία είδη εντολών, όπως φαίνεται στον Πίνακα που ακολουθεί. Υποθέστε ότι τόσο το εκτελούμενο πρόγραμμα όσο και τα απαιτούμενα δεδομένα βρίσκονται στην κύρια μνήμη. Η ΚΜΕ μπορεί να προσπελάσει εντολές και δεδομένα μόνο από τις αντίστοιχες κρυφές μνήμες. Θεωρήστε ότι η κύρια μνήμη έχει οργάνωση μίας ψηφιολέξης ανά θέση και η προσπέλαση γίνεται ανά ψηφιολέξη. Υπολογίστε το μέσο χρόνο προσπέλασης του συστήματος μνήμης κατά την εκτέλεση του προγράμματος τα χαρακτηριστικά του οποίου δίνονται στον πίνακα. (1,5 μον.)

είδος εντολής Κύκλοι ρολογιού ανά εντολή Ψηφιολέξεις που καταλαμβάνει η εντολή στη μνήμη Πλήθος ψηφιολέξεων μνήμης που προσπελαύνει η εντολή κατά την εκτέλεσή της Πλήθος εκτελούμενων εντολών
Α 4 1 0 300
B 6 2 1 500
Γ 9 3 2 100

ΘΕΜΑ 2. Σε επεξεργαστή με αρχιτεκτονική καταχωρητή-καταχωρητή και εντολές με δύο τελούμενα οι καταχωρητές γενικού σκοπού πρέπει να έχουν: (1,0 μον.)

  • [ ] 1. Μία πόρτα ανάγνωσης και μία πόρτα εγγραφής;
  • [ ] 2. Μία πόρτα ανάγνωσης και δύο πόρτες εγγραφής;
  • [ ] 3. Δύο πόρτες ανάγνωσης και μία πόρτα εγγραφής;
  • [ ] 4. Δύο πόρτες ανάγνωσης και δύο πόρτες εγγραφής;

Να βάλετε σε κύκλο τη σωστή πρόταση και να αιτιολογήσετε την απάντησή σας.

ΘΕΜΑ 3. Να γράψετε πρόγραμμα για τον υπολογισμό της έκφρασης X= C×(A+B)-D/(E-F) για κάθε μία των κάτωθι περιπτώσεων: (1,5 μον.)

  1. Αρχιτεκτονική που βασίζεται στη χρήση στοίβας.

  2. Αρχιτεκτονική που βασίζεται στη χρήση συσσωρευτή.

  3. Επεξεργαστή με 4 καταχωρητές γενικού σκοπού και εντολές καταχωρητή-καταχωρητή με δύο τελούμενα.

ΘΕΜΑ 4. Έχετε στη διάθεσή σας ολοκληρωμένα κυκλώματα μνήμης με χωρητικότητα 512 MBytes και μία ψηφιολέξη (1 ψηφιολέξη = 1 byte) ανά θέση μνήμης (δηλ. σε κάθε ψηφιολέξη αντιστοιχεί μια διεύθυνση). Να σχεδιάσετε σύστημα κύριας μνήμης με χωρητικότητα 2 GBytes και μία ψηφιολέξη ανά θέση μνήμης. Η αρτηρία διευθύνσεων και η αρτηρία δεδομένων είναι των 32 και των 8 δυαδικών ψηφιών αντίστοιχα. Θεωρήστε ότι έχετε στη διάθεσή σας οποιοδήποτε άλλο κύκλωμα χρειάζεστε. Ένα σχήμα στο οποίο να δίνετε όλη την πληροφορία είναι απαραίτητο και αρκετό. (1,5 μον.)

ΘΕΜΑ 5. Θεωρήστε υπολογιστή στον οποίο σε κάθε ψηφιολέξη (byte) της κύριας μνήμης αντιστοιχεί μία διεύθυνση. Ποιά πρέπει να είναι η οργάνωση της κύριας μνήμης και το εύρος της αρτηρίας δεδομένων μεταξύ της κύριας μνήμης και της κρυφής μνήμης ώστε ένα μπλοκ πληροφορίας των 64 ψηφιολέξεων να μεταφέρεται από την κύρια μνήμη στην κρυφή μνήμη σε 320 κύκλους ρολογιού εάν κάθε προσπέλαση της κύριας μνήμης μαζί με τη μεταφορά της αντίστοιχης πληροφορίας στην κρυφή μνήμη απαιτεί 20 κύκλους ρολογιού; Να αιτιολογήσετε την απάντησή σας. (1,0 μον.)

ΘΕΜΑ 6. Μία συσκευή εισόδου/εξόδου (Ι/Ο) μεταφέρει δεδομένα στον καταχωρητή της μονάδας ελέγχου της με ρυθμό 1 Kbits/sec. Ο καταχωρητής είναι χωρητικότητας 64 ψηφιολέξεων (bytes). Όταν ο καταχωρητής γεμίσει η μονάδα ελέγχου της συσκευής Ι/Ο στέλνει σήμα διακοπής (interrupt) για να γίνει η μεταφορά του περιεχομένου του καταχωρητή στην κύρια μνήμη (προγραμματισμένη διαδικασία Ι/Ο με χρήση σήματος διακοπής). Ο ρυθμός μεταφοράς από τον καταχωρητή του ελεγκτή της συσκευής Ι/Ο στην κύρια μνήμη είναι 100 Mbit/sec. Το κόστος έναρξης και τερματισμού της διαδικασίας εξυπηρέτησης του σήματος διακοπής είναι 1000 κύκλοι ρολογιού. Θεωρήστε 1 κύκλος = 10 nsec. Τι ποσοστό του χρόνου ο επεξεργαστής χρησιμοποιείται για τη μεταφορά πληροφορίας από τον ελεγκτή της συσκευής Ι/Ο στην κύρια μνήμη; (1,0 μον.)

Προσοχή: Στο ρυθμό μεταφοράς πληροφορίας χρησιμοποιούμε δυνάμεις του 10.

ΘΕΜΑ 7. Στους Πίνακες 1 και 2 δίνονται αντίστοιχα πρόγραμμα σε συμβολική γλώσσα και οι τρόποι διευθυνσιοδότησης που χρησιμοποιούνται. (2,5 μον.)

Πίνακας 1 Πίνακας 2
LOAD R1, #00FF $XXXX(16) κατ’ ευθείαν τρόπος (direct)
LOAD R2, $0001 ($XXXX(16)) έμμεσος (indirect) τρόπος με χρήση θέσης μνήμης
ADD R1, R1, R2 // R1←R1+R2 (R) έμμεσος (indirect) τρόπος με χρήση καταχωρητή
LOAD R2, (R1) #XXXX(16) άμεσος (immediate)
LOAD R3, ($F400)
ADD R3, R2 // R3←R3+R2
STORE $2000, R3

Θεωρήστε ότι ο επεξεργαστής διαθέτει 16 καταχωρητές γενικού σκοπού των 16 δυαδικών ψηφίων ο κάθε ένας, όλα τα δεδομένα είναι των δύο ψηφιολέξεων και ότι ο τρόπος διευθυνσιοδότησης καθορίζεται από τον κωδικό λειτουργίας της εντολής. Ο κωδικός λειτουργίας είναι των 8 δυαδικών ψηφίων και το μήκος κάθε εντολής είναι ακέραιο πολλαπλάσιο της ψηφιολέξης.

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

  2. Να υπολογίσετε το πλήθος των ψηφιολέξεων (bytes) που καταλαμβάνει το πρόγραμμα στην κύρια μνήμη.

  3. Να υπολογίσετε το πλήθος των προσπελάσεων της κύριας μνήμης κατά την εκτέλεση του προγράμματος. Η προσπέλαση γίνεται ανά ψηφιολέξη.

ΠΡΟΧΕΙΡΟ

Καλή επιτυχία

Λύσεις (🟡 community)

Κατάσταση: 🟡 community Πηγή: αρχείο λύσεων «exetasi-Arxitektonikis-ypol.-I-2-2-2016-A-lyseis.pdf» (προέλευση μη επιβεβαιωμένη)

Προσοχή

Το αρχείο φέρει τυπωμένες λύσεις στα ερωτήματα, αλλά δεν υπάρχει ένδειξη ότι προέρχεται από τον διδάσκοντα ή από το eClass· γι' αυτό η κατάσταση είναι community. Το αντίγραφο «2016_1_sol.pdf» της ίδιας συνεδρίας περιέχει επίσης λύσεις με μικρές διαφορές διατύπωσης (π.χ. στο ποσοστό του χρόνου του ελεγκτή Ι/Ο)· δεν μεταγράφεται εδώ, ελέγξτε το αν χρειάζεται.

Λύσεις — Βασικά Θέματα Αρχιτεκτονικής Υπολογιστών — Φεβρουάριος 2016

exetasi-Arxitektonikis-ypol.-I-2-2-2016-A-lyseis.pdf

Ονοματεπώνυμο: ΑΜ:

Έτος:

ΒΑΣΙΚΑ ΘΕΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ και

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ I

2-2-2016

ΘΕΜΑ 1. Σ’ ένα υπολογιστή υπάρχει ξεχωριστή κρυφή μνήμη εντολών και δεδομένων με λόγο επιτυχίας αντίστοιχα hε=0,94 και hδ=0,91. Η προσπέλαση οποιασδήποτε από τις δύο κρυφές μνήμες βάζει καθυστέρηση δύο κύκλων ρολογιού. Σε κάθε περίπτωση αποτυχίας να βρεθεί η εντολή ή τα δεδομένα στην κρυφή μνήμη υπάρχει καθυστέρηση 80 κύκλων ρολογιού για τη μεταφορά ενός μπλοκ εντολών ή δεδομένων από την κύρια μνήμη στην αντίστοιχη κρυφή μνήμη. Ο χρόνος κύκλου ρολογιού είναι 5 ns. Υποθέστε ότι το σύνολο των εντολών του προγράμματος σε επίπεδο γλώσσας μηχανής αποτελείται από τρία είδη εντολών, όπως φαίνεται στον Πίνακα που ακολουθεί. Υποθέστε ότι τόσο το εκτελούμενο πρόγραμμα όσο και τα απαιτούμενα δεδομένα βρίσκονται στην κύρια μνήμη. Η ΚΜΕ μπορεί να προσπελάσει εντολές και δεδομένα μόνο από τις αντίστοιχες κρυφές μνήμες. Θεωρήστε ότι η κύρια μνήμη έχει οργάνωση μίας ψηφιολέξης ανά θέση και η προσπέλαση γίνεται ανά ψηφιολέξη. Υπολογίστε το μέσο χρόνο προσπέλασης του συστήματος μνήμης κατά την εκτέλεση του προγράμματος τα

χαρακτηριστικά του οποίου δίνονται στον πίνακα. (1,5 μον.)

είδος
εντολής
Κύκλοι
ρολογιού ανά
εντολή
Ψηφιολέξεις που
καταλαμβάνει η
εντολή στη μνήμη
Πλήθος ψηφιολέξεων
μνήμης που
προσπελαύνει η εντολή
κατά την εκτέλεσή της
Πλήθος εκτελούμενων
εντολών
Α 4 1 0 300
B 6 2 1 500
Γ 9 3 2 100

Απάντηση

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

Ο μέσος χρόνος προσπέλασης του συστήματος μνήμης, ΜΧΠΜ, προκύπτει από το πηλίκο του συνολικού χρόνου που δαπανήθηκε για την προσπέλαση του συστήματος μνήμης δια του συνολικού πλήθους προσπελάσεων. Οπότε: ΜΧΠΜ = [(1×2×hε +(1- hε)×82)×300 + (2×2×hε +2×(1-hε)×82 +1×2×hδ + 1×(1- hδ)×82)×500 +

(3×2×hε +3×(1-hε)×82 +2×2×hδ +2×(1- hδ)×82)×100]×5/(1×300 + 3×500 + 5×100) ns =

[(1×2×0,94 +(1-0,94)×82)×300 + (2×2×0,94 +2×(1-0,94)×82 +1×2×0,91 +1×(1-0,91)×82)×500+(3×2×0,94+ 3×(1-0,94)×82+2×2×0,91+2×(1-0,91)×82)×100]×5/(2300) ns = …

ΘΕΜΑ 2. Σε επεξεργαστή με αρχιτεκτονική καταχωρητή-καταχωρητή και εντολές με δύο τελούμενα οι καταχωρητές γενικού σκοπού πρέπει να έχουν: (1,0 μον.)

  1. Μία πόρτα ανάγνωσης και μία πόρτα εγγραφής;

  2. Μία πόρτα ανάγνωσης και δύο πόρτες εγγραφής;

  3. Δύο πόρτες ανάγνωσης και μία πόρτα εγγραφής;

  4. Δύο πόρτες ανάγνωσης και δύο πόρτες εγγραφής;

  5. Να βάλετε σε κύκλο τη σωστή πρόταση και να αιτιολογήσετε την απάντησή σας. Απάντηση.

Αφού έχουμε αρχιτεκτονική καταχωρητή-καταχωρητή και εντολές με δύο τελούμενα σημαίνει ότι υπάρχουν εντολές που απαιτείται το πολύ η ανάγνωση του περιεχομένου δύο καταχωρητών, εκτέλεση πράξης μεταξύ αυτών και αποθήκευση του αποτελέσματος σε ένα καταχωρητή (π.χ. ADD R1, R2 // R1  R1+R2). Επομένως, οι καταχωρητές γενικού σκοπού πρέπει να έχουν δύο πόρτες ανάγνωσης και μία πόρτα εγγραφής.

1

ΘΕΜΑ 3. Να γράψετε πρόγραμμα για τον υπολογισμό της έκφρασης X= C×(A+B)-D/(E-F) για κάθε μία των

κάτωθι περιπτώσεων: (1,5 μον.)

  1. Αρχιτεκτονική που βασίζεται στη χρήση στοίβας.

  2. Αρχιτεκτονική που βασίζεται στη χρήση συσσωρευτή.

  3. Επεξεργαστή με 4 καταχωρητές γενικού σκοπού και εντολές καταχωρητή-καταχωρητή με δύο τελούμενα. Απάντηση.

  4. Αρχιτεκτονική που βασίζεται στη χρήση στοίβας.

Θα γράψω την έκφραση σε post-fix συμβολισμό

X= C×(A+B)-D/(E-F) = C×AB+ - D/FE- = CAB+× - D/FE- = CAB+× - FE-D/ = FE-D/ CAB+× -

**πρόγραμμα ** ˅ κορυφή στοίβας
PUSH F F
PUSH E E,F
SUB E-F
PUSH D D,E-F
DIV D/(E-F)
PUSH C C,D/(E-F)
PUSH A A,C,D/(E-F)
PUSH B B,A,C,D/(E-F)
ADD B+A,C,D/(E-F)
MUL (B+A)×C,D/(E-F)
SUB (B+A)×C - D/(E-F)
POP X
  1. Αρχιτεκτονική που βασίζεται στη χρήση συσσωρευτή.
πρόγραμμα περιεχόμενο συσσωρευτή
LOAD E ΣΕ
SUB F ΣΣ-F=E-F
STORE X1 X1Σ= E-F
LOAD D ΣD
DIV X1 ΣΣ /X1=D/(E-F)
STORE X1 X1Σ==D/(E-F)
LOAD A ΣA
ADD B ΣΣ+B=A+B
MUL C ΣΣ×(A+B)=C×(A+B)
SUB X1 ΣΣ-X1=C×(A+B)- D/(E-F)
STORE X X=C×(A+B)- D/(E-F)
  1. Επεξεργαστή με 4 καταχωρητές γενικού σκοπού και εντολές καταχωρητή-καταχωρητή με δύο τελούμενα.
πρόγραμμα περιγραφή
LOAD R1,E R1E
LOAD R2,F R2F
SUB R1,R2 R1R1-R2=E-F
LOAD R2,D R2D
DIV R2,R1 R2R2/R1=D/(E-F)
LOAD R1,A R1A
LOAD R3,B R3B
ADD R1,R3 R1R1+R3=A+B
LOAD R3,C R3C
MUL R1,R3 R1R1×R3=(A+B)×C
SUB R1,R2 R1R1-R2=(A+B)×C- D/(E-F)
STORE X,R1 X(A+B)×C- D/(E-F)

2

ΘΕΜΑ 4. Έχετε στη διάθεσή σας ολοκληρωμένα κυκλώματα μνήμης με χωρητικότητα 512 ΜBytes και μία ψηφιολέξη (1 ψηφιολέξη = 1 byte) ανά θέση μνήμης (δηλ. σε κάθε ψηφιολέξη αντιστοιχεί μια διεύθυνση). Να σχεδιάσετε σύστημα κύριας μνήμης με χωρητικότητα 2 GBytes και μία ψηφιολέξη ανά θέση μνήμης. Η αρτηρία διευθύνσεων και η αρτηρία δεδομένων είναι των 32 και των 8 δυαδικών ψηφιών αντίστοιχα. Θεωρήστε ότι έχετε στη διάθεσή σας οποιοδήποτε άλλο κύκλωμα χρειάζεστε. Ένα σχήμα στο οποίο να δίνετε όλη την πληροφορία είναι απαραίτητο και αρκετό. (1,5 μον.)

Απάντηση.

A30 A29 A28-A0
D7-D0
αποκωδικο-
A31 ποιητής 8
3 2 1 0
OK0
CS0
8
OK1
CS1
8
OK2
CS2
8
OK3
CS3

3

ΘΕΜΑ 5. Θεωρήστε υπολογιστή στον οποίο σε κάθε ψηφιολέξη (byte) της κύριας μνήμης αντιστοιχεί μία διεύθυνση. Ποιά πρέπει να είναι η οργάνωση της κύριας μνήμης και το εύρος της αρτηρίας δεδομένων μεταξύ της κύριας μνήμης και της κρυφής μνήμης ώστε ένα μπλοκ πληροφορίας των 64 ψηφιολέξεων να μεταφέρεται από την κύρια μνήμη στην κρυφή μνήμη σε 320 κύκλους ρολογιού εάν κάθε προσπέλαση της κύριας μνήμης μαζί με τη μεταφορά της αντίστοιχης πληροφορίας στην κρυφή μνήμη απαιτεί 20 κύκλους ρολογιού; Να αιτιολογήσετε την απάντησή σας. (1,0 μον.)

Απάντηση.

Αφού για την μεταφορά των 64 ψηφιολέξεων απαιτούνται 320 κύκλοι ρολογιού και κάθε προσπέλαση της κύριας μνήμης μαζί με τη μεταφορά της αντίστοιχης πληροφορίας στην κρυφή μνήμη απαιτεί 20 κύκλους ρολογιού, συνεπάγεται ότι απαιτούνται 320/20=16 προσπελάσεις της κύριας μνήμης και μεταφορές. Αφού συνολικά μεταφέρονται 64 ψηφιολέξεις, θα πρέπει κάθε φορά να προσπελαύνονται και να μεταφέρονται 64/16=4 ψηφιολέξεις. Άρα η αρτηρία πρέπει να είναι των 4 ψηφιολέξεων. Αφού σε κάθε ψηφιολέξη (byte) της κύριας μνήμης αντιστοιχεί μία διεύθυνση συνεπάγεται ότι για να μπορούμε να προσπελάσουμε ταυτόχρονα 4 ψηφιολέξεις πρέπει η οργάνωση της κύριας μνήμης να είναι 4-δρόμων χαμηλής τάξης διαφύλλωσης.

ΘΕΜΑ 6. Μία συσκευή εισόδου/εξόδου (Ι/Ο) μεταφέρει δεδομένα στον καταχωρητή της μονάδας ελέγχου της με ρυθμό 1 Kbits/sec. Ο καταχωρητής είναι χωρητικότητας 64 ψηφιολέξεων (bytes). Όταν ο καταχωρητής γεμίσει η μονάδα ελέγχου της συσκευής Ι/Ο στέλνει σήμα διακοπής (interrupt) για να γίνει η μεταφορά του περιεχομένου του καταχωρητή στην κύρια μνήμη (προγραμματισμένη διαδικασία Ι/Ο με χρήση σήματος διακοπής). Ο ρυθμός μεταφοράς από τον καταχωρητή του ελεγκτή της συσκευής Ι/Ο στην κύρια μνήμη είναι 100 Mbit/sec. Το κόστος έναρξης και τερματισμού της διαδικασίας εξυπηρέτησης του σήματος διακοπής είναι 1000 κύκλοι ρολογιού. Θεωρήστε 1 κύκλος = 10 nsec. Τι ποσοστό του χρόνου ο επεξεργαστής χρησιμοποιείται για τη μεταφορά πληροφορίας από τον ελεγκτή της συσκευής Ι/Ο στην κύρια μνήμη; (1,0 μον.) Προσοχή: Στο ρυθμό μεταφοράς πληροφορίας χρησιμοποιούμε δυνάμεις του 10.

Απάντηση

Έστω tφορτ. καταχ. o χρόνος που απαιτείται για να γεμίσει ο καταχωρητής της μονάδας ελέγχου της συσκευής Ι/Ο. Τότε tφορτ. καταχ. = 64 bytes/(1kbits/sec)= 64×8 bits sec/ 103 bits = 512×10-3 sec.

Έστω tint ο χρόνος έναρξης και τερματισμού της διαδικασίας εξυπηρέτησης του σήματος διακοπής. Τότε tint =1000 κύκλοι ρολογιού ×10 nsec ανά κύκλο= 10.000 nsec =10.000 ×10-9 sec =1000×10-8 sec.

Έστω tμεταφ. o χρόνος που απαιτείται για τη μεταφορά του περιεχομένου του καταχωρητή της μονάδας ελέγχου της συσκευής Ι/Ο στην κύρια μνήμη.

Τότε tμεταφ. =64 bytes/(100 Μbits/sec)= 64×8 bits sec/(100×106 bits = 512×10-8 sec.

To ποσοστό Π του χρόνου που ο επεξεργαστής χρησιμοποιείται για τη μεταφορά πληροφορίας από τον ελεγκτή της συσκευής Ι/Ο στην κύρια μνήμη είναι:

Π = (tint + tμεταφ. )/( tφορτ. καταχ. + tint + tμεταφ.) × 100

Επειδή η τιμή του αθροίσματος tint + tμεταφ. είναι τάξεις μεγέθους μικρότερη της τιμής του tφορτ. καταχ. Από την παραπάνω σχέση παίρνουμε:

Π = (tint + tμεταφ. )/ tφορτ. καταχ. = [(1512×10-8 sec) /(512×10-3 sec)] =2,95×10-5 ×100 = 0,00295 %= 0,003 %.

4

ΘΕΜΑ 7. Στους Πίνακες 1 και 2 δίνονται αντίστοιχα πρόγραμμα σε συμβολική γλώσσα και οι τρόποι διευθυνσιοδότησης που χρησιμοποιούνται . (2,5 μον.)

Πίνακας 1 Πίνακας 2
LOAD R1, #00FF
$XXXX(16) κατ’ ευθείαν τρόπος (direct)
LOAD R2, $0001
ADD R1, R1, R2
LOAD R2, (R1)
// R1R1+R2 ($XXXX(16)) έμμεσος (indirect) τρόπος με χρήση θέσης μνήμης
LOAD R3, ($F400)
ADD R3, R2
// R3R3+R2 (R) έμμεσος (indirect) τρόπος με χρήση καταχωρητή
STORE $2000, R3 #XXXX(16) άμεσος (immediate)

Θεωρήστε ότι ο επεξεργαστής διαθέτει 16 καταχωρητές γενικού σκοπού των 16 δυαδικών ψηφίων ο κάθε ένας, όλα τα δεδομένα είναι των δύο ψηφιολέξεων και ότι ο τρόπος διευθυνσιοδότησης καθορίζεται από τον κωδικό λειτουργίας της εντολής. Ο κωδικός λειτουργίας είναι των 8 δυαδικών ψηφίων και το μήκος κάθε εντολής είναι ακέραιο πολλαπλάσιο της ψηφιολέξης.

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

  2. Να υπολογίσετε το πλήθος των ψηφιολέξεων (bytes) που καταλαμβάνει το πρόγραμμα στην κύρια μνήμη.

  3. Να υπολογίσετε το πλήθος των προσπελάσεων της κύριας μνήμης κατά την εκτέλεση του προγράμματος. Η προσπέλαση γίνεται ανά ψηφιολέξη.

Απάντηση

εντολή Μορφή εντολής σε επίπεδο γλώσσας μηχανής
LOAD R1, #00FF
LOAD R2, \(0001<br>LOAD R3, (\)F400)
STORE $2000, R3
1 byte 4 bits 2 bytes 4 bits
κωδικός αριθμός Τετραψήφιος δεκαεξαδικός αχρησι-
λειτουργίας κατά- αριθμός μοποίητα
χωρητή

Οι ανωτέρω εντολές έχουν μήκος 4 bytes.

εντολή Μορφή εν τολής σε επί πεδο γλώσ σας μηχαν ής
ADD R1,R1,R2
1 byte 4 bits 4 bits 4 bits 4 bits
κωδικός
λειτουργίας
αριθμός
κατά-
αριθμός
κατά-
αριθμός
κατά-
αχρησι-
μοποίητα
χωρητή χωρητή χωρητή

Η ανωτέρω εντολή έχει μήκος 3 bytes.

εντολή Μορφή εντολής σε επίπεδο γλώσσας
μηχανής
LOAD R2, (R1)
ADD R3, R2
1 byte 4 bits 4 bits
κωδικός αριθμός αριθμός
λειτουργίας κατά- κατά-
χωρητή χωρητή

Οι ανωτέρω εντολές έχουν μήκος 2 bytes.

5

πρόγραμμα Πλήθος bytes που
καταλαμβάνει στην κύρια
μνήμη
Πλήθος προσπελάσεων
στην κύρια μνήμη
LOAD R1,#00FF 4 4
LOAD R2, $0001 4 4+2
ADD R1,R1,R2 // R1R1+R2 3 3
LOAD R2, (R1) 2 2+2
LOAD R3, ($F400) 4 4+2+2
ADD R3,R2 // R3R3+R2 2 2
STORE$2000,R3 4 4+2
Σύνολο 23 33

Προσοχή για την εκτέλεση της εντολής LOAD R3, ($F400) χρειαζόμαστε 4 προσπελάσεις για την προσκόμιση της εντολής, 2 προσπελάσεις για την ανάγνωση του περιεχομένου της θέσης μνήμης F400 και F401 και 2 προσπελάσεις για την προσκόμιση του δεδομένου που είναι στις θέσεις μνήμης με διεύθυνση το περιεχόμενο των F400 και F401 και της επόμενης θέσης μνήμης (αφού έχουμε έμμεσο τρόπο διευθυνσιοδότησης με χρήση μνήμης το περιεχόμενο της θέσης μνήμης με διεύθυνση F400 και F401 είναι η διεύθυνση της πρώτης από τις δύο θέσεις μνήμης που περιέχουν τα δεδομένα που θα αποθηκεύσουμε στον R3).

ΠΡΟΧΕΙΡΟ

Καλή επιτυχία

6

✔ Επιβεβαίωσε · ✖ Βρήκα λάθος


✖ Βρήκα λάθος στη μεταγραφή