ΜΟΝΑΔΑ ΕΛΕΓΧΟΥ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Η μονάδα ελέγχου παρέχει τα σήματα ελέγχου που καθορίζουν τη μικρολειτουργία που εκτελεί ο χειριστής δεδομένων Η μονάδα ελέγχου καθορίζει επίσης τη σειρά των μικρολειτουργιών που θα εκτελεσθούν Σε ένα σύγχρονο σύστημα όλες οι λειτουργίες συγχρονίζονται με ένα κεντρικό ρολόι. Εγγραφή ή μη σε καταχωρητές καθορίζεται από την είσοδο επίτρεψης φόρτωσης Η μονάδα ελέγχου είναι ένα ακολουθιακό κύκλωμα Γενικά υπάρχουν δυο τύποι μονάδας ελέγχου: α) για προγραμματιζόμενο σύστημα β) για μη προγραμματιζόμενο σύστημα ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΛΓΟΡΙΘΜΗΚΕΣ ΜΗΧΑΝΕΣ ΚΑΤΑΣΤΑΣΕΩΝ Η επεξεργασία δεδομένων από ένα χειριστή δεδομένων μπορεί να θεωρηθεί ως ένας κυκλωματικός αλγόριθμος Για την περιγραφή ενός κυκλωματικού αλγόριθμου χρησιμοποιείται το διάγραμμα αλγοριθμικής μηχανής καταστάσεων (ASM) Το διάγραμμα ASM μοιάζει με ένα απλό διάγραμμα ροής μόνο που περιλαμβάνει και τη χρονική σχέση μεταξύ των καταστάσεών του. Διαγράμματα ASM Χρησιμοποιεί τρία βασικά στοιχεία: 1. Το κουτί κατάστασης (state box) 2. Το κουτί απόφασης (decision box) 3. Το κουτί υπό συνθήκη (conditional box) ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΑΓΡΑΜΜΑΤΑ ASM 1 State box Decision box 1 Παράδειγμα: Binary code IDLE Name 1 Register operation or output Condition R 0 State box Decision box 1 START From decision box Παράδειγμα: IDLE 000 Register operation or output R 0 RUN PC 0 Conditional output box Παράδειγμα χρήσης ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΑΓΡΑΜΜΑΤΑ ASM Ένα ASM μπλοκ αποτελείται από ένα κουτί κατάστασης και όλα τα κουτιά απόφασης και υπό-συνθήκη που συνδέονται στην έξοδό του Entry IDLE ASM block AVAIL 1 START A 0 1 Q0 Exit Exit MUL0 MUL1 Όλες οι λειτουργίες που περιγράφονται σε ένα ASM μπλοκ εκτελούνται στην ίδια παρυφή του ρολογιού. Την ίδια παρυφή έχουμε επίσης μετακίνηση στη νέα κατάσταση Ένα ASM αντιστοιχεί σε ένα διάγραμμα κατάστασης
ΘΕΜΑΤΑ ΧΡΟΝΙΣΜΟΥ Clock cycle 1 Clock cycle 2 Clock cycle 3 clock state START Q0 state IDLE MUL1 AVAIL A 0034 0000 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΠΑΡΑΔΕΙΓΜΑ: ΔΥΑΔΙΚΟΣ ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ Τρόπος υλοποίησης 1 0 1 1 1 Multiplicant 1 0 0 1 1 Multiplier 0 0 0 0 0 Initial partial product 1 0 1 1 1 Add multiplicant 1 0 1 1 1 Partial product after add 0 1 0 1 1 1 Partial product after shift 1 0 0 0 1 0 1 Partial product after add 1 0 0 0 1 0 1 Partial product after shift 0 1 0 0 0 1 0 1 Partial product after shift 0 0 1 0 0 0 1 0 1 Partial product after shift 1 0 1 1 1 Add multiplicant 1 1 0 1 1 0 1 0 1 Partial product after add 0 1 1 0 1 1 0 1 0 1 Product after final shift Αλγόριθμος πολλαπλασιασμού 23 1 0 1 1 1 19 1 0 0 1 1 1 0 1 1 1 0 0 0 0 0 437 1 1 0 1 1 0 1 0 1 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΧΕΙΡΙΣΤΗΣ ΔΕΔΟΜΕΝΩΝ ΓΙΑ ΠΟΛΛΑΠΛΑΣΙΑΣΤΗ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΔΙΑΓΡΑΜΜΑ ASM ΓΙΑ ΠΟΛΛΑΠΛΑΣΙΑΣΜΟ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΚΑΛΩΔΙΩΜΕΝΟΣ ΕΛΕΓΧΟΣ Η μονάδα ελέγχου εκτελεί δυο λειτουργίες: α) ελέγχει την εκτέλεση των μικρολειτουργιών β) καθορίζει τη δρομολόγηση της διαδικασίας (καθορισμός επόμενης κατάστασης) Σήματα ελέγχου μικρολειτουργιών εξαγόμενα από ASM Microoperation A 0 A A + B C||A||Q srC||A||Q B IN C 0 C Cout Q IN P n-1 P P-1 Block diagram module Register A Register B Flip-Flop C Register Q Counter P Control signal name Initialize Load Shift_dec Load_B Clear_C Load_Q Control expression IDLE • G MUL0 • Q0 MUL1 LOADB IDLE • G + MUL1 LOADQ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ASM ΓΙΑ ΚΑΘΟΡΙΣΜΟ ΔΡΟΜΟΛΟΓΙΣΗΣ - Αντιστοιχεί σε διάγραμμα καταστάσεων και μπορεί να σχεδιαστεί ακολουθώντας τη σχετική μεθοδολογία ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΕΘΟΔΟΙ ΣΧΕΔΙΑΣΜΟΥ ΜΟΝΑΔΑΣ ΕΛΕΓΧΟΥ Μέθοδος καταχωρητή ακολουθίας και αποκωδικοποιητή - χρησιμοποιεί ένα καταχωρητή καταστάσεων και ένα αποκωδικοποιητή των καταστάσεων αυτών Πίνακας καταστάσεων για το ακολουθιακό μέρος της μονάδας ελέγχου ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΕΘΟΔΟΣ ΚΑΤΑΧΩΡΗΤΗ ΑΚΟΛΟΥΘΙΑΣ Εκμεταλλευόμενοι τον αποκωδικοποιητή οι συναρτήσεις εισόδου των flip/flops εξάγονται άμεσα από τον πίνακα καταστάσεων DM0 = IDLE•G + MUL1 •Z’ DM1 = MUL0 Λογικό διάγραμμα μονάδας ελέγχου ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΕΘΟΔΟΣ ΜΕ ΈΝΑ F/F ΑΝΑ ΚΑΤΑΣΤΑΣΗ Χρησιμοποιούνται τόσα flip/flops όσες είναι και οι καταστάσεις. Κάθε φορά μόνο ένα f/f είναι σε «1». Το «1» μεταφέρεται από το ένα f/f στο άλλο σύμφωνα με τη λογική απόφασης του ASM Απαιτείται περισσότερο υλικό (f/fs) αλλά είναι απλούστερη η διαδικασία σχεδιασμού Το λογικό διάγραμμα της μονάδας ελέγχου προκύπτει από το ASM με κατάλληλη αντικατάσταση των συμβόλων - βολεύει η χρησιμοποίηση του ASM που αντιστοιχεί στη δρομολόγηση - κατόπιν προσθέτουμε την επιπλέον λογική - η αρχικοποίηση των f/fs γίνεται με ασύγχρονα σήματα preset και reset ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΕΘΟΔΟΣ ΜΕ ΈΝΑ F/F ΑΝΑ ΚΑΤΑΣΤΑΣΗ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΕΘΟΔΟΣ ΜΕ ΈΝΑ F/F ΑΝΑ ΚΑΤΑΣΤΑΣΗ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΣ ΕΛΕΓΧΟΣ Μια μονάδα ελέγχου με τις δυαδικές τιμές των σημάτων ελέγχου αποθηκευμένες σε μνήμη καλείται μικροπρογραμματιζόμενη μονάδα ελέγχου Κάθε λέξη μνήμης ελέγχου περιέχει μια μικροεντολή η οποία καθορίζει μια ή περισσότερες μικρολειτουργίες Μια ακολουθία μικροεντολών συνθέτει ένα μικροπρόγραμμα ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΣ ΕΛΕΓΧΟΣ Μια μικροεντολή περιέχει ψηφία για την ενεργοποίηση των μικρολειτουργιών και ψηφία για τον καθορισμό της ακολουθίας εκτέλεσης τους Τα ψηφία κατάστασης (status bits) συμμετέχουν στον καθορισμό της διεύθυνσης της επόμενης μικροεντολής - Συνεπώς τα ακολουθιακά κυκλώματα είναι τύπου Moore. Τα αντίστοιχα ASM δεν περιέχουν κουτιά υπό συνθήκη Απαιτούνται περισσότερες καταστάσεις ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ASM ΔΙΑΓΡΑΜΜΑ ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΥ ΜΕ ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΠΑΡΑΔΕΙΓΜΑ ΔΥΑΔΙΚΟΥ ΠΟΛΛΑΠΛΑΣΙΑΣΤΗ Για το σχεδιασμό της μονάδας ελέγχου πρέπει να βρεθούν: 1. Ο αριθμός των ψηφίων της λέξης ελέγχου 2. Το μέγεθος της ROM και του CAR 3. Η δομή της γεννήτριας επόμενης διεύθυνσης Σήματα ελέγχου πολλαπλασιαστή - Τα απαιτούμενα σήματα ελέγχου μπορούν να κωδικοποιηθούν ώστε να μειωθεί το μέγεθος της ROM ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΟΡΦΗ ΛΕΞΗΣ ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟΥ ΕΛΕΓΧΟΥ NXTADD0 NXTADD1 SEL DATAPATH 11 5 4 3 9 8 6 Απομένει ο καθορισμός των πεδίων δρομολόγησης (ακολουθία διευθύνσεων στη μνήμη) Υπάρχουν δυο κύριες μέθοδοι για τον προσδιορισμό των διευθύνσεων 1. Οι πιθανές δυο διευθύνσεις περιέχονται στη μικροεντολή 2. Η μια διεύθυνση περιέχεται στην μικροεντολή ενώ στον CAR δίνεται η δυνατότητα παράλληλης φόρτωσης και αύξησης - στο παράδειγμα ακολουθείται η πρώτη Υπάρχει επίσης ένα πεδίο για τον προσδιορισμό της απαίτησης για αλλαγή διεύθυνσης και τον καθορισμό της εισόδου που την επέβαλλε ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΚΑΘΟΡΙΣΜΟΣ ΠΕΔΙΟΥ SEL ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΟΝΑΔΑ ΕΛΕΓΧΟΥ ΠΟΛΛΑΠΛΑΣΙΑΣΤΗ (ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ) ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΙΚΡΟΠΡΟΓΡΑΜΜΑ ΓΙΑ ΠΟΛΛΑΠΛΑΣΙΑΣΜΟ ΣΕ RTL Συμβολικό μικροπρόγραμμα Κάθε μικροεντολή αντιστοιχεί σε μια κατάσταση του ASM ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΠΛΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΗ Εντολές Οι λειτουργίες ενός υπολογιστή καθορίζονται από το πρόγραμμα, μια με σαφώς καθορισμένη σειρά, ομάδα εντολών και δεδομένων Η μονάδα ελέγχου διαβάζει μια εντολή από τη μνήμη, την αποκωδικοποιεί και την εκτελεί ενεργοποιώντας μια σειρά από μικρολειτουργίες Η εντολή είναι μια συλλογή ψηφίων που κατευθύνει τον υπολογιστή στην εκτέλεση μιας λειτουργίας Ο λειτουργικός κώδικας (opcode) είναι μια ομάδα ψηφίων της εντολής που προσδιορίζει την λειτουργία αυτή Σε μια εντολή πρέπει να καθορίζεται η λειτουργία της αλλά και οι διευθύνσεις των δεδομένων της - Τα δεδομένα ορίζονται με δυο τρόπους 1. Explicitly 2. Implicitly ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΠΛΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΗ Μορφή Εντολών ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΠΛΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΗ Αναπαράσταση εντολών και δεδομένων στη μνήμη ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΠΛΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΗ Διάγραμμα πόρων αποθήκευσης ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΛΕΓΧΟΣ ΚΑΛΩΔΙΟΜΕΝΗΣ ΛΟΓΙΚΗΣ ΑΠΛΟΥ ΚΥΚΛΟΥ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΗΣ ΕΝΤΟΛΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΤΟΛΕΣ ΕΠΕΞΕΡΓΑΣΤΗ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΠΑΡΑΔΕΙΓΜΑ ΔΗΜΙΟΥΡΓΙΑΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Υλοποίηση της: 83 - (2+3) Αρχική κατάσταση: [R3]=248, M[148]=2, M[249]=83 LD R1, R3 Load R1 with M[R3] (R1=2) ADI R1, R1, 3 Add 3 to R1 (R1=5) NOT R1, R1 Complement R1 INC R1, R1 Increment R1 (R1=-5) INC R3, R3 Increment R3 (R3=249) LD R2, R3 Load R2 with M[R3] (R2=83) ADD R2, R2, R1 Add contents of R1 and R2 (R2=78) INC R3, R3 Increment the contents of R3 (R3=250) ST R3, R2 Store R2 in M[250] (M[250]=78) ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΕΙΟΝΕΚΤΗΜΑΤΑ ΚΑΛΩΔΙΟΜΕΝΟΥ ΕΛΕΓΧΟΥ Μη αποδοτικός στην εκτέλεση πολύπλοκων λειτουργιών. Αναγκαστικά μια εντολή αντιστοιχεί σε μια μικρολειτουργία Σε περίπτωση χρήσης μιας μνήμης (εντολής, δεδομένα) απαιτούνται τουλάχιστον δυο κύκλοι ρολογιού για την εκτέλεση μιας εντολής χαμηλή συχνότητα ρολογιού Maximum clock 58.8MHz ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΠΟΛΛΑΠΛΩΝ ΚΥΚΛΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΠΟΛΛΑΠΛΩΝ ΚΥΚΛΩΝ Μορφή μικροεντολών Σήματα ελέγχου για το χειριστή δεδομένων ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΗ ΛΟΓΙΚΗ ΠΟΛΛΑΠΛΩΝ ΚΥΚΛΩΝ Σήματα ελέγχου για τη δρομολόγηση ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΣΧΕΔΙΑΣΜΟΣ ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΟΣ ASM διάγραμμα για μια ομάδα εντολών Κάθε εντολή εκτελείται σε δυο βήματα 1. Κλήση εντολής 2. Εκτέλεση εντολής Για την εκτέλεση μιας εντολής απαιτούνται τρεις κύκλοι ρολογιού ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΣΧΕΔΙΑΣΜΟΣ ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΟΣ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΣΧΕΔΙΑΣΜΟΣ ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΟΣ Βελτιστοποίηση χρήσης της αρχιτεκτονικής Eντολή: LRI => R[DR] M[M[R[SA]]] Αντίστοιχο ASM διάγραμμα Απαιτούνται 4 κύκλοι ρολογιού έναντι 6 στην περίπτωση χρήσης δυο LD εντολών ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΣΧΕΔΙΑΣΜΟΣ ΜΙΚΡΟΠΡΟΓΡΑΜΜΑΤΟΣ Βελτιστοποίηση χρήσης της αρχιτεκτονικής Eντολή: SRM => “shift right multiple” Απαιτούνται 2s+3 κύκλοι ρολογιού έναντι 3s ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΑΛΛΑΚΤΙΚΗ ΛΥΣΗ ΓΙΑ ΤΟ ΚΥΚΛΩΜΑ ΕΛΕΓΧΟΥ Πολλαπλών κύκλων έλεγχος μπορεί επίσης να υλοποιηθεί με hardwired λογική ASM διάγραμμα ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΝΑΛΛΑΚΤΙΚΗ ΛΥΣΗ ΓΙΑ ΤΟ ΚΥΚΛΩΜΑ ΕΛΕΓΧΟΥ Λογικό διάγραμμα μονάδας ελέγχου Ο μικροπρογραμματιζόμενος έλεγχος είναι ευκόλως επεκτάσιμος. Οποιαδήποτε αλλαγή στον τύπο ή τη σειρά εκτέλεσης των εντολών επιδρά μόνο στο περιεχόμενο της ROM Για πολύπλοκα προγράμματα συμφέρει η χρήση μικροπρογραμματισμού, για απλά όχι ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΑΛΥΣΙΔΩΤΟΣ ΕΛΕΓΧΟΣ Λογικό διάγραμμα μονάδας αλυσιδωτής (pipelined) αρχιτεκτονικής ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΙΑ ΑΛΥΣΙΔΩΤΗ ΕΠΕΞΕΡΓΑΣΙΑ - ΑΠΟΔΟΣΗ 1. LDI R1,1 2. LDI R2,2 3. LDI R3,3 4. LDI R4,4 5. LDI R5,5 6. LDI R6,6 7. LDI R7,7 2.4 φορές γρηγορότερο του απλού κύκλου υπολογιστή. Ιδανικά 3.3 φορές γρηγορότερο ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΓΙΑ ΑΛΥΣΙΔΩΤΗ ΕΠΕΞΕΡΓΑΣΙΑ - ΑΠΟΔΟΣΗ Η απόδοση μειώνεται και από την ανάγκη αποφυγής πιθανόν hazards. Εισάγονται NOP εντολές Clock cycle 1 2 3 4 5 6 7 8 9 10 11 13 14 1. ADD R1,R0,R1 2. ADD R3,R2,R3 3. ADD R5,R4,R5 4. ADD R7,R6,R7 5. ADD R3,R1,R3 6. NOP 7. ADD R7,R5,R7 8. NOP 9. NOP 10. ADD R7,R3,R7 IF DOF EX WB R1 IF DOF EX WB R3 IF DOF EX WB R5 IF EX WB R7 DOF R1,R3 IF EX WB R3 DOF IF WB DOF EX IF WB R7 R5,R7 DOF EX IF DOF EX WB IF DOF EX WB R3,R7 IF DOF EX WB Αύξηση ρυθμού μόνο κατά 1.8 φορές Στην καλύτερη περίπτωση 2.3 φορές ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ