Ραραπάνω παρουςιάηεται ο πυρινασ των εντολϊν του επεξεργαςτι MIPS, με τισ οποίεσ, και τθν υλοποίθςθ τουσ ςε υλικό κα αςχολθκοφμε.

Σχετικά έγγραφα
2

HY225 Οργάνωςη Τπολογιςτών

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ

Λαμβάνοντασ υπόψη ότι κατά την πρόςθεςη δφο δυαδικϊν ψηφίων ιςχφει: Κρατοφμενο

Πολυπλέκτες. 0 x 0 F = S x 0 + Sx 1 1 x 1

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Ακολουκιακά Λογικά Κυκλώματα

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων

Παράςταςη ςυμπλήρωμα ωσ προσ 1

Παραπάνω παρουςιάηεται ο πιο ςυνικθσ χωροκζτθςθ αρικμθτικϊν, λογικϊν κυκλωμάτων. Η μονάδα επεξεργαςίασ είναι θ λζξθ (λ.χ. 32-bit ςε επεξεργαςτζσ,

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

HY437 Αλγόριθμοι CAD

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Σχεδίαση μονάδας ελέγχου επεξεργαστή

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

Κατά τθν ενεργοποίθςθ τθσ ιδιότθτασ αυτισ ενδζχεται να εμφανιςτεί ζνα μινυμα ςαν αυτό τθσ παρακάτω εικόνασ. Απλά επιβεβαιϊςτε πατϊντασ ΟΚ.

3 ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ ( while, do while )

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

Ιδιότθτεσ πεδίων Γενικζσ.

Η γλώςςα προγραμματιςμού C

Ονοματεπϊνυμο.. ΔΙΑΓΩΝΙΣΜΑ ΑΕΠΠ

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

Διαδικαζία Διατείριζης Εκηύπωζης Ιζοζσγίοσ Γενικού - Αναλσηικών Καθολικών. (v )

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 9 θ & 10 θ Διάλεξθ Ιδεατι Μνιμθ Μζροσ Β

Τέτοιες λειτουργίες γίνονται διαμέσου του

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 10 : Καταχωρθτζσ Φϊτιοσ Βαρτηιϊτθσ

ΕΡΓΑΣΗΡΙΟ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

Αςκιςεισ ςε (i) Δομζσ Ευρετθρίων και Οργάνωςθ Αρχείων (ii) Κανονικοποίθςθ

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

HY437 Αλγόριθμοι CAD

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

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

ΥΡΟΝΣΙΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣΗ» ΔΙΑΓΩΝΙΜΑ ΘΕΜΑΣΑ Β ΛΤΚΕΙΟΤ ΥΕΒΡΟΤΑΡΙΟ 2018 ΑΕΠΠ

Electronics μαηί με τα ςυνοδευτικά καλϊδια και το αιςκθτιριο κερμοκραςίασ LM335 που περιζχονται

Ενδεικτικζσ Λφςεισ Θεμάτων

SingularLogic Application. Παραμετροποίηση Galaxy Application Server

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ Ω ΕΝΙΑΙΟ ΤΣΗΜΑ. ΚΕΦΑΛΑΙΟ 2: Σο Εςωτερικό του Τπολογιςτι

The Weather Experts Team. Φεβρουάριοσ 2013

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Τμήματα Μνήμησ Υπολογιςμόσ Φυςικών διευθύνςεων. Εκπαιδεφτρια: Μαρία Πολίτθ

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

Συπικζσ Γλϊςςεσ Περιγραφισ Τλικοφ Διάλεξθ 5

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

Προςζξτε ότι για τα A, B ςε ςειρά, θ πθγι του πάνω, όταν είναι ανοικτό φτάνει μόνο τα (Vdd Vtn)V.

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 1

Ψθφιακά Ηλεκτρονικά. Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

ΟΔΗΓΙΕ ΓΙΑ ΣΗΝ ΕΙΑΓΩΓΗ ΕΚΔΡΟΜΩΝ & ΝΕΩΝ - ΑΝΑΚΟΙΝΩΕΩΝ ΣΗΝ ΙΣΟΕΛΙΔΑ ΣΗ Δ.Δ.Ε. ΘΕΠΡΩΣΙΑ

Θεςιακά ςυςτιματα αρίκμθςθσ

Εργαςτιριο Βάςεων Δεδομζνων

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

ελ. 11/235, Περιεχόμενα Φακζλου "Σεχνικι Προςφορά"

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Πωσ δθμιουργώ φακζλουσ;

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

Ανάπτυξη Εφαρμογών Σε Προγραμματιςτικό Περιβάλλον

Κάνουμε κλικ ςτθν επιλογι του οριηόντιου μενοφ «Get Skype»για να κατεβάςουμε ςτον υπολογιςτι μασ το πρόγραμμα του Skype.

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 20. Αρχεία. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

2

1. Κατέβαςμα του VirtueMart

17. Πολυδιάςτατοι πίνακεσ

Ελλθνικι Δθμοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 13 : Άλλοι Μετρθτζσ Φϊτιοσ Βαρτηιϊτθσ

Εγχειρίδιο Χριςθσ: Εφαρμογι Αιτιςεων για τα Εκπαιδευτικά Προγράμματα του Προςωπικοφ των Επιχειριςεων Τροφίμων

Μάθημα 9 ο ΤΕΧΝΙΚΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΙΚΟΝΙΚΗΣ ΜΝΗΜΗΣ

Αναφορά Εργαςίασ Nim Game

ςυςτιματα γραμμικϊν εξιςϊςεων

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

ΠΑΝΕΠΙΣΘΜΙΟ ΔΤΣΙΚΘ ΜΑΚΕΔΟΝΙΑ ΣΜΘΜΑ ΜΘΧΑΝΙΚΩΝ ΠΛΘΡΟΦΟΡΙΚΘ ΚΑΙ ΣΘΛΕΠΙΚΟΙΝΩΝΙΩΝ. Λειτουργικά υςτιματα, 4 ο Εξάμθνο Ψθφιακι χεδίαςθ ΙΙ, 4 ο Εξάμθνο

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ ΜΕΛΕΣΗ ΣΗ ΚΙΝΗΗ ΩΜΑΣΟ Ε ΠΛΑΓΙΟ ΕΠΙΠΕΔΟ - ΜΕΣΡΗΗ ΣΟΤ ΤΝΣΕΛΕΣΗ ΣΡΙΒΗ ΟΛΙΘΗΗ

HY437 Αλγόριθμοι CAD

Κάθε functional unit χρησιµοποιείται µια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Διδάςκων: Κωνςταντίνοσ τεφανίδθσ

Modellus 4.01 Συ ντομοσ Οδηγο σ

Transcript:

1

2

3

Ραραπάνω παρουςιάηεται ο πυρινασ των εντολϊν του επεξεργαςτι MIPS, με τισ οποίεσ, και τθν υλοποίθςθ τουσ ςε υλικό κα αςχολθκοφμε. 4

5

Ραραπάνω φαίνονται τα απαιτοφμενα βιματα για τθν εκτζλεςθ κάθε εντολής του MIPS. Ραρατθροφμε ότι τα πρϊτα δυο βιματα είναι όμοια για κάκε τφπο εντολισ. Κατόπιν, ανάλογα με τον τφπο τθσ εντολισ προσ εκτζλεςθ διαφοροποιείται (α) το είδοσ τθσ πράξθσ του ALU, (β) αν κα γίνει πρόςβαςθ μνιμθσ. Επιπλζον, παραπάνω δεν φαίνονται ρθτά: (i) θ εγγραφι αποτελζςματοσ ςτο RF, (ii) θ αλλαγι του PC ςε περίπτωςθ βρόχου. 6

Ραραπάνω φαίνονται τα βαςικά απαιτοφμενα ςυςτατικά-μονάδεσ, αλλά και θ ςχετικι τουσ δομι για τθν υλοποίθςθ του επεξεργαςτι, ςφμφωνα με τθν διαδικαςία εκτζλεςθσ των εντολϊν που είδαμε ςτθν προθγοφμενθ διαφάνεια. Διακρίνουμε, τον PC, οποίοσ αντιςτοιχεί ςτθν διεφκυνςθ τθσ IM. Η IM παρζχει τα περιεχόμενα τθσ εντολισ ςτο RF, δθλ. τουσ αρικμοφσ των καταχωρθτϊν, ι και άμεςο δρϊμενο για υπολογιςμό του νζο PC. Κατόπιν, το RF παρζχει τα δεδομζνα των καταχωρθτϊν ςτο ALU. Το αποτζλεςμα, αν πρόκειται για εντολι μνιμθσ αποτελεί τθν διεφκυνςθ, ςυνεπϊσ παρζχεται ςτθν DM. Αλλιϊσ, περιζχει αποτζλεςμα για τον ςχετικό καταχωρθτι, οπότε παρουςιάηεται ςτο RF προσ εγγραφι. Επιπλζον, βλζπουμε ότι για εντολζσ φόρτωςθσ από τθν μνιμθ είναι απαραίτθτο και θ κφρα τθσ μνιμθσ (που περιζχει το αποτζλεςμα) να παρουςιάηεται ςτο RF για τθν εγγραφι. Οι δυο προςκετζσ ςτο πάνω μζροσ χρθςιμοποιοφνται για (i) τθν προςαφξθςθ του PC κατά 4 για κάκε εντολι, (ii) τον υπολογιςμό τθσ νζασ τιμισ του PC για αλλαγζσ μεταφοράσ τθσ ροισ του προγράμματοσ. Το πόςεσ μονάδεσ με την ίδια λειτουργικότητα χρθςιμοποιοφμε, λ.χ. πόςουσ προςκετζσ ι ALUs, μια και το κεντρικό ALU μπορεί να υπολογίςει τα (i), (ii) αποτελεί ςθμαντικι ςχεδιαςτικι απόφαςθ, θ οποία κα επθρεάςει 7

Στα παραπάνω ςθμεία, δεν μποροφμε να ςυνενϊςουμε εξόδουσ. Ζτςι, οι βραχυκυκλωμζνεσ ςυνδζςεισ ςτο παραπάνω, υψθλοφ επιπζδου αρχιτεκτονικό ςχζδιο, αντιςτοιχοφν ςτθν χριςθ πολυπλζκτθ ςτο υλικό. Ο πολυπλζκτθσ, όπωσ κα δοφμε και παρακάτω ζχει 2 θ περιςςότερεσ ειςόδουσ και 1 ζξοδο, και με ζνα ςιμα ελζγχου (τιμζσ του οποίου αντιςτοιχοφν ςτθν επιλογι των ειςόδων) επιλζγει τθν ςφνδεςθ τθσ εξόδου ςε μια από τισ ειςόδουσ. 8

Στο παραπάνω ςχιμα ζχουμε προςκζςει (α) τουσ πολυπλζκτεσ, με 1 ςιμα ελζγχου που αντιςτοιχεί ςτον κακζνα, (β) μονάδα ελζγχου για τθν εκτζλεςθ των εντολϊν και διαςφνδεςθ των ςχετικϊν ςθμάτων ςε μπλε χρϊμα. Η μια μονάδα ελζγχου (κα μποροφςαν να υπάρχουν πολλαπλζσ) παρζχει τα απαραίτθτα ςιματα για τθν ςωςτι δρομολόγθςθ των δεδομζνων μζςα ςτο datapath. Διακρίνουμε τα εξισ ςιματα ελζγχου: RegWrite: καταδεικνφει τθν εγγραφι καταχωρθτι ςτο RF Zero: αποτζλεςμα μθδζν του ALU, χριςιμο για κατά-ςυνκικθ βρόχουσ, δθλ. beq, bne. MemRead/MemWrite: ενεργοποιοφν και επιλζγουν ανάγνωςθ και εγγραφι ςτθν DM αντίςτοιχα. Ππωσ φαίνεται από το παραπάνω, μια και θ εντολι ζχει μια ςυγκεκριμζνθ πορεία, ζτςι και τα ςιματα ελζγχου ζχουν ζνα ιςτορικό και μια απαιτοφμενθ αλλθλουχία για να παραχκοφν ςωςτά. Μια ΜΡΚ είναι ζτςι κατάλλθλθ για να παρζχει αυτι τθν απαιτοφμενθ αλλθλουχία και ιςτορικό, δθλ. μνιμθ. 9

10

Ραραπάνω φαίνονται βαςικζσ ςυνδυαςτικζσ μονάδεσ: λογικζσ πφλεσ, όπωσ θ AND ι θ OR/XOR/XNOR, κτλ. που ακολουκοφν ζνα πίνακα αλθκείασ ακροιςτισ, που προςκζτει δυο αρικμοφσ (με πρόςθμο θ χωρίσ) πολυπλζκτθσ, όπου το ςιμα S επιλζγει τθν ζξοδο Y μεταξφ των δυο ειςόδων I0, I1 ALU, θ οποία μπορεί να εκτελζςει μια πλθκϊρα αρικμθτικϊν/λογικϊν πράξεων οι οποίεσ επιλζγονται από τθν είςοδο F 11

Ραραπάνω υπενκυμίηουμε τθν λειτουργία ενόσ ακμο-πυροδότθτου καταχωρθτι. Αφοφ αποκθκεφςει τα δεδομζνα ςε μια ακμι, θ είςοδοσ/είςοδοι μπορεί να αλλάξει/αλλάξουν κάπου μζςα ςτον κφκλο, τα δεδομζνα όμωσ ςτθν ζξοδο κα παραμζνουν ςτθν αποκθκευμζνθ τιμι ζωσ ότου αφιχκεί ςτθν είςοδο Clk θ επόμενθ ακμι, όπου και Q = D. 12

Ο καταχωρθτισ με ενεργοποίθςθ μασ επιτρζπει να διατθριςουμε δεδομζνα αποκθκευμζνα για διαδοχικοφσ κφκλουσ, δθλ. να μθν τον εγγράφουμε ςε κάκε κφκλο, αλλά όταν χρειάηεται μζςω του ςιματοσ Write. 13

14

Ραραπάνω φαίνονται ςτα ςχιματα οι πικανζσ ςυνδεςμολογίεσ καταχωρθτϊν και ςυνδυαςτικισ λογικισ. Το αριςτερό ςχιμα αντιςτοιχεί ςε ροι δεδομζνων από αριςτερά προσ τα δεξιά, όπου γίνεται υπολογιςμόσ, ςτθν ςυνδυαςτικι λογικι, βάςθ των δεδομζνων ςτο State element 1, και τα αποτελζςματα, ςτον επόμενο κφκλο, δθλ. ακμι, αποκθκεφονται ςτο State element 2. Το δεξί ςχιμα αντιςτοιχεί ςε ςυνδυαςτικι λογικι με ανάδραςθ ςε καταχωρθτι, όπωσ υπάρχει εςωτερικά ςε ΜΡΚ για το τμιμα τρζχουςασ/επόμενθσ κατάςταςθσ. Εδϊ, θ ςυνδυαςτικι λογικι υπολογίηει τθν επόμενθ τιμι του State element και ςτθν ακμι θ επόμενθ κατάςταςθ αντικακιςτά τθν τρζχουςα. 15

16

Στο παραπάνω ςχιμα φαίνεται το τμιμα φόρτωςθσ εντολισ ςτον επεξεργαςτι. Διακρίνουμε τθν μνιμθ εντολϊν, Instruction Memory (IM), θ οποία αποκθκεφει τισ εντολζσ προσ εκτζλεςθ, οι οποίεσ προςβαίνονται βάςθ τθσ διεφκυνςθσ τουσ. Η IM είναι προφανϊσ ακολουκιακό κφκλωμα (μνιμθ SRAM ι DRAM). Η διεφκυνςθ τθσ τρζχουςασ εντολισ πρζπει επίςθσ να είναι αποκθκευμζνθ. Για αυτό τον ςκοπό υπάρχει ο ειδικόσ καταχωρθτισ και δείκτθσ τθσ τρζχουςασ εντολισ, PC, ο οποίοσ υλοποιείται από 32 FF του 1-bit. Τα δεδομζνα του PC αλλάηουν μετά από κάκε εντολι, μια και θ διεφκυνςθ εκτζλεςθσ πρζπει να επαυξθκεί κατά 4 byte (1 λζξθ). Ζτςι, ςτο παραπάνω ςχιμα, βλζπουμε ότι ο PC τροφοροτείται ταυτόχρονα και ςτθν IM και ςε ζναν ακροιςτι, θ 2 θ είςοδοσ του οποίου είναι ο αρικμόσ 4. Με αυτόν τον τρόπο θ επόμενθ τιμι του PC κα είναι ζτοιμθ (εκτόσ αν ζχουμε εντολι αλλαγισ ροισ του προγράμματοσ). 17

Ραραπάνω βλζπουμε τισ απαιτοφμενεσ μονάδεσ για τον χειριςμό και εκτζλεςθ εντολϊν τφπου R (καταχωρθτϊν). Μια τζτοια τυπικι εντολι είναι λ.χ. θ add $1, $2, $3, θ οποία πρζπει να διαβάςει τισ τιμζσ των $2, $3, να εκτελζςει τθν πρόςκεςθ, και κατόπιν να αποκθκεφςει το αποτζλεςμα ςτον $1. Ππωσ ειπϊκθκε και νωρίτερα, οι 32 ςυνολικά καταχωρθτζσ του επεξεργαςτι υλοποιοφνται ςε ζνα Αρχείο Καταχωρθτϊν (Register File - RF), το οποίο είναι πρακτικά μια Στατικι RAM (SRAM) με δυο κφρεσ ανάγνωςθσ (μια και κζλουμε να διαβάηουμε δυο ταυτόχρονα), και μια κφρα εγγραφισ. Για να διαβάςουμε παρουςιάηουμε τουσ αρικμοφσ των καταχωρθτϊν ςτθν ανάλογθ κφρα, Read Register 1 ι 2, και κατόπιν τα δεδομζνα τουσ κα εμφανιςτοφν ςτθν ανάλογθ ζξοδο, Read Data 1 ι 2. Η εγγραφι λειτουργεί ανάλογα, με τθν διαφορά ότι υπάρχει ζνα ςιμα ελζγχου εγγραφισ, RegWrite, το οποίο πρζπει να είναι ενεργό για εγγραφι (1). Η μονάδα ALU μπορεί να εκτελεί τισ απαιτοφμενεσ αρικμθτικζσ ι λογικζσ πράξεισ και διακζτει 2 32-bit ειςόδουσ, 1 32-bit ζξοδο, και ζνα ςιμα ζνδειξθσ, Zero, που καταδεικνφει ότι το αποτζλεςμα είναι μθδζν. Η πράξθ, λειτουργία του ALU επιλζγεται από το 4-bit ςιμα ALU operation (κα παρουςιάςουμε τισ τιμζσ του ςε επόμενεσ διαφάνειεσ). 18

Για τισ εντολζσ μνιμθσ χρειαηόμαςτε τθν μνιμθ δεδομζνων (Data Memory DM), θ οποία ζχει ωσ είςοδο μια διεφκυνςθ. Μια και δεν γράφουμε ι διαβάηουμε παράλλθλα από τθν DM, αρκεί μια κφρα εγγραφισ και μια ανάγνωςθσ, από τισ οποίεσ κα χρθςιμοποιοφμε τθν μια. Για εντολζσ τφπου lw, λ.χ. lw $1, offset($2) κα πρζπει να διαβάςουμε τθν DM, ενϊ για εντολζσ τφπου sw, λ.χ. sw $1, offset($2) κα πρζπει να γράψουμε ςτθν DM. Επιπλζον, για τθν πρόςκεςθ των δεδομζνων του καταχωρθτι με τθν προςαφξθςθ για τον υπολογιςμό τθσ διεφκυνςθσ είναι απαραίτθτο να μετατρζψουμε τθν 16-bit προςαφξθςθ ςε 32-bit αρικμό, προςδιορίηοντασ τα bit 17-31 ανάλογα με το αν είναι κετικόσ θ αρνθτικόσ προζκταςθ του προςιμου. 19

20

Ραραπάνω βλζπουμε τθν δομι υλοποίθςθσ εντολϊν κατά ςυνκικθ βρόχου, λ.χ. beq $1, $2, offset. Οι ζξοδοι των δεδομζνων των καταχωρθτϊν, από το RF, κατανζμονται ςτο ALU για να γίνει θ αφαίρεςθ/ςφγκριςθ. Ραράλλθλα, θ 16-bit ςχετική προςαφξθςθ μετατρζπεται ςε 32-bit, προεκτείνοντασ το bit πρόςθμου τθσ. Επειδι θ προςαφξθςθ είναι ςε μονάδεσ λζξεων, και όχι byte, για να προςτεκεί με τθν τιμι του PC (PC + 4) πρζπει να μετατραπεί ςε bytes. Ζτςι, προςκζτοντασ 2 μθδενικά, 00, ςτα δυο τελευταία bit και μετατοπίηοντασ τα υπόλοιπα κατά δυο αριςτερά (0 2, 1 3, κτλ.) πετυχαίνεται ο πολλαπλαςιαςμόσ κατά 4. Tο αποτζλεςμα Zero τθσ ALU κα αποφαςίςει αν κα αλλάξει θ τιμι του PC. Ο υπολογιςμόσ τθσ τελικισ διεφκυνςθσ ςτόχου, υπολογίηεται προςκζτοντασ τθν x4 προςαφξθςθ με τθν τιμι PC + 4, θ οποία ζχει υπολογιςτεί κατά τθν πρόςβαςθ τθσ IM. 21

22

Ραραπάνω βλζπουμε τθν δομι εκτζλεςθσ εντολϊν μνιμθσ ι καταχωρθτι (R), θ οποία προκφπτει από ςυγχϊνευςθ των δυο επιμζρουσ τμθμάτων που είδαμε νωρίτερα. Για τθν ςυγχϊνευςθ των δυο επιμζρουσ τμθμάτων, δθλ. εντολϊν τφπου R και μνιμθσ, χρθςιμοποιοφμε πολυπλζκτεσ ςε κάκε ςθμείο ςφηευξθσ εξόδων ςε κάποιο είςοδο. Ζτςι, χρειαςτικαμε δυο πολυπλζκτεσ, ζναν για το δεφτερο δρϊμενο του ALU, όπου επιλζγουμε μεταξφ των δεδομζνων του 2 ου καταχωρθτι και του μεταςχθματιςμζνου ςε 32-bit, μετά από προζκταςθ πρόςθμου άμεςου, και ζναν για τθν επιλογι του αποτελζςματοσ που εγγράφεται ςτο RF, μεταξφ των δεδομζνων από τθν μνιμθ και του αποτελζςματοσ του ALU. Ρροκφπτουν λοιπόν, με τθν ειςαγωγι των δυο πολυπλεκτϊν τα νζα ςιματα ελζγχου, ALUSrc και MemtoReg, τα οποία κα πρζπει να τα κζτει κατάλλθλα το τμιμα ελζγχου του επεξεργαςτι. 23

Ρροςκζτοντασ και το τμιμα για τθν εκτζλεςθ των κατά ςυνκικθ βρόχων, προκφπτει το παραπάνω ςχιμα. Βλζπουμε τον πολυπλζκτθ που επιλζγει τθν επόμενθ τιμι του PC μεταξφ των PC+4 και τθσ διεφκυνςθσ ςτόχου, ζτςι το ςιμα PCSrc, που εκτελεί τθν επιλογι πρζπει και αυτό να οδθγείται κατάλλθλα από τθν μονάδα ελζγχου. Επιπλζον, παρατθροφμε ότι θ ςυνκικθ των βρόχων, beq, bne, ελζγχεται από τθν ζξοδο Zero τθσ βαςικισ μονάδασ ALU, άρα το ςιμα Zero κα είναι είςοδοσ ςτθν μονάδα ελζγχου, και θ τιμι του κα κακορίςει τθν τιμι του PCSrc. Τϊρα, είμαςτε ζτοιμοι να αναλφςουμε και να υλοποιιςουμε τα απαιτοφμενα ςιματα ελζγχου 24

Ξεκινάμε τθν μελζτθ για τθν υλοποίθςθ τθσ μονάδασ ελζγχου αναλφοντασ τισ απαιτιςεισ των ςθμάτων τθσ ALU. Βλζπουμε ότι για εντολζσ μνιμθσ και κατά ςυνκικθ βρόχου, θ πράξθ προσ εκτζλεςθ είναι ςυγκεκριμζνθ, ενϊ για τισ υπόλοιπεσ περιπτϊςεισ, εντολζσ R, θ πράξθ προκφπτει από το πεδίο funct τθσ εντολισ. Ζτςι, το τελευταίο, και ο τφποσ τθσ εντολισ πρζπει να ςυνδυαςτοφν για να παράξουν τα παραπάνω ςιματα ελζγχου τθσ ALU. 25

26

Για να καταλιξουμε ςτον παραπάνω πίνακα, με αδιάφορεσ τιμζσ, χρθςιμοποιιςαμε τα εξισ: το ALUOp δεν κωδικοποιεί τθν τιμι 11, ςυνεπϊσ αντί να ελζγχουμε τισ τιμζσ 01, 10 αρκεί να ελζγχουμε για τουσ ςχετικοφσ άςουσ, -1, 1-. Ειςάγοντασ dc τιμζσ το κφκλωμα που προκφπτει είναι απλοφςτερο, με λιγότερεσ πφλεσ και ςυνεπϊσ εμβαδό! το funct μασ είναι αδιάφορο όταν ALUOp == 00 ι -1. Άρα δεν το προςκζτουμε ςαν ςυνκικθ, αυτι είναι θ ζννοια του ------ τα δυο υψθλότερα ψθφία του funct είναι ςτακερά 10, άρα δεν χρειάηεται να είναι μζροσ τθσ ςφγκριςθσ, ζτςι τα μετατρζπουμε ςε -- 27

Για να ςχεδιάςουμε τθν κεντρικι μονάδα ελζγχου πρζπει να αναλφςουμε πρϊτα τισ Ειςόδουσ που αυτι ζχει, αλλά και τισ Εξόδουσ ςιματα που πρζπει να παρζχει (ςτο datapath). Ξεκινάμε με τθν ανάλυςθ των ειςόδων, αναλφοντασ τον κϊδικα μθχανισ του κάκε τφπου εντολισ. Τα ςιματα που προκφπτουν κα μασ οδθγιςουν ςτθν ρφκμιςθ των ςθμάτων ελζγχου του datapath για τον κάκε τφπο εντολισ. Αυτό κα γίνει και ςε ςυνδυαςμό με τισ εξόδουσ του datapath προσ τθσ μονάδα ελζγχου, λ.χ. το ςιμα Zero. Ζτςι, βλζπουμε ότι τα πεδία opcode και rs είναι πάντα ςτακερά, ανεξαρτιτωσ από τον τφπο τθσ εντολισ. Το πεδίο rt χρθςιμοποιείται από εντολζσ R, beq, bne, sw για ανάγνωςθ, όμωσ για εντολζσ τφπου lw αποτελεί τον αρικμό του καταχωρθτι του αποτελζςματοσ. Άρα χρειαηόμαςτε πολφπλεξθ για τον καταχωρθτι αποτελζςματοσ μεταξφ rt, rd, και ζνα επιπρόςκετο ςχετικό ςιμα ελζγχου. Επιπλζον, θ τροποποίθςθ του PC με τθν άμεςθ διεφκυνςθ γίνεται μόνο για εντολζσ beq, bne, άρα για τισ εντολζσ lw, sw κζλουμε πάντα θ επόμενθ τιμι του PC να είναι PC + 4. Για να γίνει ο διαχωριςμόσ, προςκζτουμε ςιμα Branch ςαν ζξοδο τθσ μονάδασ, και πφλθ and θ οποία μόνο αν το Branch == 1 επιλζγει το υπολογιςμζνο PC + imm (16 32 >>2) 28

Η επιπρόςκετθ μονάδα ελζγχου παράγει τα ALUOp, τα οποία, μετατρζπονται ςτο ALU function, παίρνοντασ ςαν είςοδο το funct (Instruction[5:0]). Το ALUOp, κακϊσ και τα υπόλοιπα ςιματα ελζγχου παράγονται βάςθ του opcode (Instruction[31:26]), δθλ. του τφπου τθσ εντολισ. Τα ςιματα ελζγχου που βλζπουμε ςυμπεριλαμβάνουν τα: RegDst, επιλογι rt (για lw), rd ωσ τον αρικμό του καταχωρθτι που εγγράφεται Branch, επιτρζπει τθν μετατροπι το PC από το PC + Imm (πφλθ and) MemRead, MemWrite, ενεργοποίθςθ τθσ ανάλογθσ κφρασ μνιμθσ MemToReg, επιλζγει τθν διαδρομι των δεδομζνων προσ εγγραφι από τθν μνιμθ ι ALU ALUSrc, επιλζγει τθν είςοδο του Imm 32 (για lw, sw, beq, bne) ι τα δεδομζνα του δεφτερου καταχωρθτι για τθν ALU 29

30

31

32

33

Στο παραπάνω ςχιμα φαίνεται το νζο τμιμα που υποςτθρίηει τισ εντολζσ j. Το άμεςο, που προζρχεται από τθν εντολι μετατοπίηεται αριςτερά κατά δυο bit, δθλ. το bit 25 γίνεται 27, το 24 γίνεται 26, κτλ. Στο αποτζλεςμα τθσ μετατόπιςθσ ςυνενϊνονται τα 4 ςθμαντικότερα ψθφία του PC, δθλ. PC[31:28]. Με αυτι τθν προςκικθ προκφπτει θ πλιρθσ 32-bit λζξθ θ οποία είναι θ νζα τιμι του PC. Ρροςζξτε ότι τα τελευταία ψθφία προκφπτουν από τθν ζξοδο του ακροιςτι που υπολογίηει το PC+4. Για λόγουσ απλότθτασ δεν εξετάηουμε τθν περίπτωςθ ο PC+4 να ζχει διαφορετικά ψθφία *31:28] από τον PC. Η νζα τιμι προωκείται ςε ζναν νζο πολυπλζκτθ που ςυνδζεται με τον αρχικό πολυπλζκτθ που ζγραφε τον PC (ςε ςειρά). Ο νζοσ ενεργοποιείται από το ςιμα ελζγχου Jump, το οποίο επίςθσ προςκζκθκε, και εξαρτάται από τον opcode. Οι δυο πολυπλζκτεσ ςε ςειρά μποροφν να μετατραποφν ςε ζναν με περιςςότερα από 1 ψθφία ςτο ςιμα επιλογισ, λ.χ. 00 = PC+4, 01 = Add Result, 10 = PC[31:28]Imm[25:0]00. 34

Μια ΜΡΚ (FSM) γενικά μπορεί να υλοποιθκεί ζτςι ϊςτε θ κακυςτζρθςθ τθσ να είναι ελάχιςτθ (τρζχουςα κατάςταςθ, είςοδοι επόμενθ κατάςταςθ, ζξοδοι) χρθςιμοποιϊντασ κατάλλθλθ κωδικοποίθςθ, λ.χ. one-hot. Ζτςι, ςτα περιςςότερα κυκλϊματα επεξεργαςτϊν ι γενικοφ τφπου θ κρίςιμθ κακυςτζρθςθ προκφπτει από το μζγιςτο μονοπάτι των δεδομζνων μεταξφ δυο ςθμείων που οδθγοφνται από το ρολόι, δθλ. μεταξφ των παρακάτω πικανϊν μονοπατιϊν: (είςοδοι καταχωρθτζσ), (καταχωρθτζσ καταχωρθτζσ), (καταχωρθτζσ ζξοδοι), όπου με «καταχωρθτζσ» εννοοφμε οποιοδιποτε ακολουκιακό ςτοιχείο, λ.χ. καταχωρθτζσ δεδομζνων, μνιμεσ, μονάδεσ με μνιμθ και εξόδουσ καταχωρθτζσ. 35

36

Αν επιλζγαμε Τ = 10ns για κφκλο και εκτελοφςαμε τισ παραπάνω εντολζσ ςε πολλαπλοφσ κφκλουσ τότε θ κάκε διαδικαςία/λειτουργία κα πρζπει να πάρει και ζνα κφκλο, άρα χάνουμε οποιοδιποτε περικϊριο χρόνο κερδίηουμε από κάποια γρθγορότερθ λειτουργία, λ.χ. θ πρόςβαςθ του AK που παίρνει 5ns. Ζτςι, εντολζσ κατά ςυνκικθ βρόχου κα απαιτοφςαν 10 + 10 + 10 = 30. Θα μποροφςαμε βζβαια να κζςουμε Τ = 5ns και να περιμζνουμε πολλαπλοφσ κφκλουσ για διαδικαςίεσ με κακυςτζρθςθ πάνω από 5ns, λ.χ. 2 κφκλουσ για το ALU. Κυκλωματικά όμωσ αυτό είναι πολφπλοκο αφοφ απαιτεί τοπικι μζτρθςθ του αρικμοφ του ρολογιοφ που πζραςαν για ζλεγχο εγκυρότθτασ! 37

Στισ επόμενεσ διαφάνειεσ κα μελετιςουμε τθν υλοποίθςθ των τμθμάτων δεδομζνων και ελζγχου του επεξεργαςτι με εκτζλεςθ εντολϊν ςε πολλαπλοφσ κφκλουσ. Ραραπάνω φαίνεται το ςυνολικό ςχεδιάγραμμα του επεξεργαςτι, όπου οι διαφορζσ με το προθγοφμενο είναι: ςυγχϊνευςθ των δυο πολυπλεκτϊν για τθν j (ςιμα 2-bit PCSource) χριςθ κοινοφ ALU για όλεσ τισ λειτουργίεσ/εντολζσ (PC + 4, beq/bne, j) χριςθ μιασ κοινισ μνιμθσ, με μια κφρα ανάγνωςθσ, και ςχετικό ςιμα IorD που επιδεικνφει ότι διαβάηουμε εντολι ι δεδομζνα καταχωρθτζσ A, B, ALUOut, IR (IorD == 1), MDR (IorD == 0) για να ςυγκρατοφν τα αποτελζςματα μεταξφ κφκλων Το παραπάνω ςχζδιο είναι το οικονομικότερο ςε εμβαδό, μια και ελαχιςτοποιεί τισ μονάδεσ χρθςιμοποιϊντασ μόνο μια μονάδα για κάκε λειτουργία. 38

Ραραπάνω φαίνονται τα 5 βιματα (κάκετα) που εκτελοφνται για κάκε τφπο εντολισ. Ραρατθροφμε ότι τα πρϊτα δυο, θ Φόρτωςθ Εντολισ (Instruction Fetch) και θ Αποκωδικοποίθςθ Εντολισ (Instruction Decode) είναι ίδια ανεξαρτήτως τφπου εντολής. Οι τρισ διαφορετικοί τφποι διαφοροποιοφνται από το 3 ο βιμα, όπου ζχουμε είτε (α) χριςθ του ALU για λογικι/αρικμθτικι πράξθ για εντολζσ τφπου R, (β) υπολογιςμό προοριςμοφ για διεφκυνςθ πρόςβαςθσ μνιμθσ, είτε (γ) ςφγκριςθ δεδομζνων των καταχωρθτϊν και εκχϊρθςθ νζασ τιμισ ςτον PC για εντολζσ βρόχων. Οι εντολζσ beq, bne δεν χρειάηονται περαιτζρω βιματα, οι τφπου R ςτο 4 ο βιμα κάνουν τθν εγγραφι του αποτελζςματοσ, ενϊ οι εντολζσ μνιμθσ είτε ολοκλθρϊνονται ςτο 4 ο βιμα (sw), είτε απαιτοφν και το 5 ο βιμα τθσ εγγραφισ του καταχωρθτι με τα δεδομζνα από τθν μνιμθ. Η εκτζλεςθ των εντολϊν j, που δεν φαίνεται ςτον παραπάνω πίνακα γίνεται ςτο 2 ο βιμα με τθν ανάκεςθ PC = {PC[31:28],IR[25:0],00}. 39

Βλζπουμε, από τθν δομι και τα απαιτοφμενα ςιματα του datapath, ότι θ ΜΡΚ ελζγχου ζχει δυο ςιματα ειςόδου, τον opcode τθσ εντολισ και το ςιμα Zero τθσ ALU, και βάςθ αυτϊν μπορεί να παράγει, βάςθ των απαιτοφμενων βθμάτων για τθν εκτζλεςθ μιασ εντολισ, αλλά και του τφπου τθσ (που θ ΜΡΚ τον βλζπει από τον opcode), τα απαιτοφμενα ςιματα εξόδων που φαίνονται παραπάνω. Ο ςτόχοσ υλοποίθςθ τθσ ΜΡΚ είναι να υλοποιθκεί θ διαδικαςία βθμάτων που είδαμε ςτον πίνακα τθσ προθγοφμενθσ διαφάνειασ. Το κάκε βιμα εκεί κα αντιςτοιχιςει ςε μια κατάςταςθ τθσ ΜΡΚ κατά τθν οποία κα πρζπει, βάςθ του opcode και του Zero, να αποφαςίςει (α) ποιεσ είναι οι τιμζσ των εξόδων, και (β) ποια είναι επόμενθ κατάςταςθ. 40

41

42

43

44

45

46

47

48

Σε κάποιεσ άλλεσ αρχιτεκτονικζσ, αντί να υπάρχει ςτακερι διεφκυνςθ χειριςμοφ εξαιρζςεων, θ οποία κα πρζπει, ανάλογα με τθν αιτία να εκτελζςει με τθν ςειρά τθσ τθν κατάλλθλθ υπορουτίνα, υποςτθρίηονται διανυςματικζσ εξαιρζςεισ (vectored), με μεταβλθτι διεφκυνςθ από μια διεφκυνςθ βάςθ, ανάλογα με τθν αιτία. 49

Για τον χειριςμό των δυο εξαιρζςεων, δθλ. άγνωςτοσ opcode και υπερχείλιςθ αποτελζςματοσ τθσ ALU ζχουν προςτεκεί: ο καταχωρθτισ EPC, οποίοσ γράφεται με νζο ςιμα ελζγχου EPCWrite ο καταχωρθτισ Cause, με ςχετικό πολυπλζκτθ που επιλζγει τθν τιμι εγγραφισ IntCause ςιμα υπερχείλιςθσ ςτθν ALU (δεν φαίνεται ρθτά παραπάνω) το ςιμα PCSource γίνεται 4-bit και για τθν εγγραφι του PC προςτζκθκε ςτον ςχετικό πολυπλζκτθ θ τιμι 32 h80000180. 50

51