Κεφάλαιο 3 | Ενότητα 4 | Επόμενο | Προηγούμενο | Λεξικό όρων

Επίδοση της μικροπρογραμματιζόμενης μονάδας ελέγχου του DLX

Αρχικά πρέπει να υπολογίσουμε πόσους κύκλους ρολογιού απαιτεί κάθε εντολή. Όλες οι εντολές εκτελούν τις μικροεντολές 0,1 και 2 του σχήματος 3.4.10, οι οποίες απαιτούν 3 κύκλους ρολογιού για κάθε εντολή συν τους κύκλους καθυστέρησης (λόγω μη επιτυχών προσβάσεων στη μνήμη). Οι κύκλοι ρολογιού που απαιτούνται για τα υπόλοιπα βήματα εκτέλεσης μιας αριθμητικής ή λογικής εντολής είναι όσες και οι καταστάσεις του Σχήματος 3.3.6, δηλαδή τρεις. Οι κύκλοι ρολογιού που απαιτούνται για τα υπόλοιπα βήματα εκτέλεσης των εντολών ανάλογα με την κατηγορία εντολής είναι:

Εντολές Κύκλοι ρολογιού
Stores 4 + καθυστέρηση
Load word 5 + καθυστέρηση
Load byte ή Load half 6 + καθυστέρηση
ALU 3
Set 4
Branch equal zero 2
Branch not equal (taken) 2
Branch not equal (not taken) 1
Jumps 1
Jump and link 2

Οι καθυστερήσεις στις εντολές Store, Load word, Load byte ή half οφείλονται σε ανεπιτυχείς προσβάσεις στη μνήμη. Αν κατά μέσο όρο χρειάζεται ένας κύκλος ρολογιού για τις καθυστερήσεις που οφείλονται σε ανεπιτυχείς προσβάσεις στη μνήμη τότε το CPI που υπολογίζεται από τον τύπο:

είναι 7.68 . Το πηλίκο Ii / Instruction_count είναι το ποσοστό εμφάνισης της i εντολής σε ένα πρόγραμμα. Παρατηρούμε ότι είναι μεγαλύτερο από αυτό του καλωδιωμένου ελέγχου, γιατί ο έλεγχος για διακοπές απαιτεί στο ξεκίνημα έναν κύκλο ρολογιού, οι φορτώσεις και οι αποθηκεύσεις είναι πιο αργές και οι διακλαδώσεις που απαιτούν σύγκριση με το 0 είναι πιο αργές στην περίπτωση που είναι διακλαδώσεις που δεν ακολουθούνται (untaken).

ΔΡΑΣΤΗΡΙΟΤΗΤΑ 4

Να προσδιορίσετε τους λόγους για τους οποίους το CPI της μικροπρογραμματιζόμενης μονάδας ελέγχου είναι μεγαλύτερο από αυτό της καλωδιωμένης.

ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 4