Γιώργος ηµητρίου Μάθηµα 4 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων
Συνολική οµή ΚΜΕ Μία ή περισσότερες µονάδες αριθµητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος καταχωρητών γενικού σκοπού Κρυφή µνήµη (ενοποιηµένη ή διαχωρισµένη) εντολών και δεδοµένων Καταχωρητές ειδικού σκοπού ρόµοι µεταφοράς πληροφορίας Μονάδα ελέγχου
Επεξεργασία εδοµένων Απλουστευµένη αρχιτεκτονική MIPS συνδυαστικής ΜΕ : PC Μ Μ & Αποθηκευµένο Πρόγραµµα MUX PCSrc Μονάδα Ελέγχου ιακοπή MUX PCtoReg MUX RegDst Φάκελος Καταχωρητών Γενικού Σκοπού RegWrite MUX ALUSrcB MUX MemToReg ΑΛΜ ALUOp MemRead, MemWrite Μ Μ & Αποθηκευµένα εδοµένα
Κύκλος Εντολής MIPS 1.Προσκόµισε την εντολή από τη θέση µνήµηςπουδείχνειοpc. 2.Υπολόγισετηνέατιµήτου PC. 3. Αποκωδικοποίησε την εντολή. 4. ιάβασε τα τελούµενα εισόδου από το φάκελο καταχωρητών (ΦΚ). 5. Εκτέλεσε την εντολή στην ΑΛΜ. 6. Προσπέλασε τη µνήµη δεδοµένων. 7. Αποθήκευσε το αποτέλεσµα στο ΦΚ.
Ανάκληση Εντολής Η Μ Μ εντολών (αποθηκευµένου προγράµµατος) προσπελαύνει την αντίστοιχη κρυφή µνήµη για ανάγνωση. n Η τρέχουσα τιµή του PC χρησιµοποιείται ως διεύθυνση προσπέλασης. Η Μ Μ εντολών επιστρέφει στη ΜΕ µια λέξη εντολής.
Υπολογισµός Νέας Τιµής PC Η τιµή του PC αυξάνεται κατά µία λέξη (ή 4 ψηφιολέξεις). Η αύξηση του PC µπορεί να ακυρωθεί από τη φάση εκτέλεσης, εάν εκτελείται εντολή άλµατος. Ηαύξησητου PCµπορείακόµηναακυρωθεί από διακοπή ή ειδική περίπτωση.
Αποκωδικοποίηση Εντολής Κωδικοποίηση των ψηφίων σε οµάδες. Έτσι στην αποκωδικοποίηση: n Κάποιες οµάδες ψηφίων (κατ ευθείαν ή έµ- µεσης διευθυνσιοδότησης) κατευθύνονται προςτοφκ. n Μία οµάδα ψηφίων (άµεσης ή σχετικής διευθυνσιοδότησης) µπορεί να κατευθυνθεί προςτηναλμήτον PC. n Ο κωδικός λειτουργίας αποκωδικοποιείται από τη Μονάδα Ελέγχου, για την παραγωγή σηµάτων ελέγχου.
Ανάγνωση Φακέλου Καταχωρητών Σε κάθε εντολή στέλνονται στο ΦΚ δύο αριθµοί καταχωρητών για ανάγνωση. n Πιθανά ο ίδιος αριθµός! Ηανάγνωσηγίνεταιπάντα,ακόµακιαν η εντολή δεν έχει τελούµενα εισόδου! Τα δεδοµένα που επιστρέφονται από το ΦΚπροωθούνταιστηνΑΛΜ,στον PCή στη Μ Μ δεδοµένων για αποθήκευση.
Εκτέλεση Εντολής στην ΑΛΜ Σε ορισµένες εντολές (πχ άλµα χωρίς συνθήκη) δε χρησιµοποιείται η ΑΛΜ. Για τις υπόλοιπες: η ακριβής λειτουργία της ΑΛΜ καθορίζεται από την αποκωδικοποίηση του κωδικού λειτουργίας και του κωδικού τελεστή της εντολής. ΗέξοδοςτηςΑΛΜµπορείναείναιαποτέλεσµα της εντολής, ή να χρησιµοποιηθείσανέλεγχοςεγγραφήςτου PCήσα διεύθυνση προσπέλασης της µνήµης.
Προσπέλαση Μνήµης εδοµένων Η Μ Μ δεδοµένων προσπελαύνει την αντίστοιχη κρυφή µνήµη, αν η εντολή είναι φόρτωσης ή αποθήκευσης. n Η τελική διεύθυνση προσπέλασης υπολογίστηκε στην ΑΛΜ στο προηγούµενο βήµα. nσε φόρτωση, διαβάζεται από τη µνήµη µια λέξη δεδοµένων, την οποία η Μ Μ επιστρέφει στη ΜΕ. n Σε αποθήκευση, εγγράφεται στη µνήµη µια λέξη δεδοµένων, η οποία προέρχεται από τοφκ.
Εγγραφή Φακέλου Καταχωρητών Κάθε εντολή µπορεί να γράψει µέχρι έναν καταχωρητή. n εδοµένα εγγραφής από την ΑΛΜ (αριθµητικές/λογικές εντολές) n εδοµένα εγγραφής από τη µνήµη δεδοµένων (εντολές φόρτωσης).
Σύστηµα Ελέγχου MIPS Αποκωδικοποίηση εντολής: n Αποστολή επιµέρους πεδίων στις κατάλληλες υποµονάδες επεξεργασίας. n Παραγωγή σηµάτων ελέγχου για κάθε υποµονάδα επεξεργασίας. Υποµονάδα ελέγχου ΑΛΜ: n Αποκωδικοποίηση πράξης. Υποµονάδα ελέγχου PC: n Εκτέλεση αλµάτων µε ή χωρίς συνθήκη. Υποµονάδα ελέγχου Μ Μ.
Έλεγχος Εντολής ΑΛΜ add $8,$17,$18 000000 10001 10010 01000 00000 100000 ΜΕ RegWrite = 1 MemtoReg = 0 PCtoReg = 0 πράξη(αλμ) = κωδικός τελεστή ina inb out Φάκελος Καταχωρητών Α Β SrcΑ SrcΒ ΑΛΜ RegDst = rd ALUSrcB = ΦΚ add Έλεγχος ΑΛΜ
Έλεγχος Εντολής ΑΛΜ addi $8,$17,-1 001000 10001 01000 1111111111111111 ΜΕ RegWrite = 1 Έλεγχος ΑΛΜ ina Φάκελος Καταχωρητών add inb Α ΑΛΜ RegDst = rt ALUSrcB = άµεσο τελούµενο SrcΑ SrcΒ MemtoReg = 0 PCtoReg = 0 προέκταση προσήµου
Έλεγχος Εντολής Προσπέλασης Μνήµης sw $8,164($29) 101011 11101 01000 0000000010100100 ΜΕ Έλεγχος Μ Μ RegWrite = 0 Έλεγχος ΑΛΜ MemWrite ina Φάκελος Καταχωρητών Β Α add inb Μ Μ SrcΑ SrcΒ ΑΛΜ δεδοµένα διεύθυνση προέκταση προσήµου ALUSrcB = άµεσο τελούµενο
Έλεγχος Εντολής ιακλάδωσης bne $4,$12,-1432 000101 00100 01100 1111101001101000 ΜΕ RegWrite = 0 Έλεγχος ΑΛΜ ina sub inb Φάκελος Καταχωρητών Α Β ALUSrcB = ΦΚ SrcΑ SrcΒ ΑΛΜ Zero προέκταση προσήµου Έλεγχος PC + PC PC+1 if Branch AND (NOT Zero) PCSrc = PC+1 + (-1432)
Έλεγχος Εντολής Άλµατος jalr $12,$31 000000 01100 00000 11111 00000 010001 ΜΕ RegWrite = 1 PCtoReg = 1 ina inb out Φάκελος Καταχωρητών Α PC PC+1 RegDst = rd PCSrc = ΦΚ Έλεγχος PC
Υλοποίηση Μονάδας Ελέγχου Με λογικό κύκλωµα: n παραγωγή σηµάτων ελέγχου n ένας κύκλος µηχανής για κάθε κύκλο εντολής nένας κύκλος µηχανής για κάθε φάση κύκλου εντολής Με µικροπρογραµµατισµό: n κάθε σήµα ελέγχου ενεργοποιεί µια µικρολειτουργία n µε το µικροπρογραµµατισµό οι µικρολειτουργίες δεν είναι αποτέλεσµα τέτοιων σηµάτων, αλλά εκτέλεσης ενός (µικρο)προγράµµατος