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

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

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

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

2

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

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

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου

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

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων

Pipelined Datapath, Hazards and Forwarding

Single Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

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

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης. Multicycle datapath

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

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

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 3 Εντολές του MIPS (2)

Κεφάλαιο 5. Ο Μικροεπεξεργαστής: Διάδρομος Δεδομένων και Μονάδα Ελέγχου. (The Processor: Datapath and Control)

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

Εντολές του MIPS (2)

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

Αρχιτεκτονική Υπολογιστών

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός. Κεφ. 4: Ο επεξεργαστής 1. Διάδρομος δεδομένων και μονάδα ελέγχου 2.

Κεφάλαιο 4. Ο επεξεργαστής

Σχεδίαση της Μονάδας Ελέγχου

HY225 Οργϊνωςη Υπολογιςτών

Αρχιτεκτονική Υπολογιστών

Κεντρική Μονάδα Επεξεργασίας

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

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

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

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

Απλός επεξεργαστής (Επανάληψη)

HY220 Εργαςτήριο Ψηφιακών Κυκλωμάτων.

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

Σχεδίαση της Διόδου Δεδομένων

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 2 Οργάνωση μνήμης Καταχωρητές του MIPS Εντολές του MIPS 1

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

HY220 Εργαςτήριο Ψηφιακών Κυκλωμάτων. Διδάςκων: Χ. ωτηρίου, Βοηθοί: Ε. Κουναλάκησ, Π. Ματτθαιάκησ, Δ. Σςαλιαγκόσ.

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Pipeline: Ένα παράδειγμα από.τη καθημερινή ζωή. 30 min κάθε «φάση»

Αρχιτεκτονικζσ Συνόλου Εντολϊν

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Διακλαδώσεις. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

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

Μικροαρχιτεκτονική του LC3

O επεξεπγαζηήρ: Η δίοδορ δεδομένων (datapath) θαη ε μονάδα ελέγσος (control)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

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

Κεφάλαιο 3. Αριθμητική Υπολογιστών Review. Hardware implementation of simple ALU Multiply/Divide Real Numbers

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

HY422 Ειςαγωγή ςτα υςτήματα VLSI. 5/9/ ΗΤ422 - Διάλεξθ 10θ Χρονιςμόσ. Γενικό Μοντζλο φγχρονου Κυκλώματοσ

-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

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

LANGUAGE OF THE MACHINE. TEI Κρήτης, Τμ. ΕΠΠ, Αρχιτεκτονική Υπολογιστών. Οργάνωση Υπολογιστή. Τυπική οργάνωση υπολογιστή

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος

Αρχιτεκτονική υπολογιστών

Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος)

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

Διάλεξη 11 Προώθηση (Forwarding)

-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

HY220 Εργαςτήριο Ψηφιακών Κυκλωμάτων. 9/28/ ΗΥ220 - Διάλεξθ 3θ, Επανάλθψθ

6. Επιςτροφι ελζγχου ςτο ςθμείο εκκίνθςθσ

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

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

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

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

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

Αρχιτεκτονική Η/Υ. Γιώργος ηµητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

Chapter 3 Αριθμητική Υπολογιστών

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

Οργάνωση Υπολογιστών

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

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

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

Transcript:

HY225 Οργάνωςη Τπολογιςτών Διδάςκοντεσ: Δ. Νικολόπουλοσ, Φ. ωτηρίου. http://www.csd.uoc.gr/~hy225 1 Περιεχόμενα Αναςκόπθςθ χεδίαςθ/τλοποίθςθ Επεξεργαςτι Διαδικαςία Εκτζλεςθσ Εντολισ Επιςκόπθςθ δομισ Επεξεργαςτι Τπενκφμιςθ Βαςικϊν γνϊςεων Ψθφιακισ χεδίαςθσ υνδυαςτικζσ μονάδεσ Ακολουκιακά ςτοιχεία, Ρολόι Καταςκευι Ροισ Δεδομζνων (Datapath) Επεξεργαςτι Φόρτωςθ εντολισ, εντολζσ R, lw, sw, beq, bne Πλιρεσ Datapath για εντολζσ R, lw, sw, beq, bne Εξαγωγι θμάτων Ελζγχου ALU Από τθν εντολι υνζνωςθ με Μονάδα Ελζγχου Εκτζλεςθ Εντολϊν Προςκικθ εντολισ j Απόδοςθ, CPI και Ρολόι Επεξεργαςτισ Εντολϊν Πολλαπλϊν κφκλων Διαίρεςθ Εντολισ ςε Βιματα Τλοποίθςθ ΜΠΚ Ελζγχου Αφθρθμζνθ δομι Σμιμα ΜΠΚ ανά τφπο εντολισ Εξαιρζςεισ/Διακοπζσ Προςκικθ Εξερζςεων 2 1

Αναςκόπηςη - 1 Παράγοντεσ που επθρεάηουν τθν απόδοςθ Αρικμόσ των εντολϊν του προγράμματοσ υνάρτθςθ (α) ςυνόλου εντολϊν, (β) μεταγλωττιςτι (compiler) Κφκλοι ανά Εντολι CPI, Περίοδοσ Επεξεργαςτι υνάρτθςθ τθσ ίδιασ τθσ υλοποίθςθσ χεδίαςθ και Τλοποίθςθ του Επεξεργαςτι 3 Μονάδεσ επεξεργαςίασ δεδομζνων και μνιμεσ datapath Αρικμθτικζσ, λογικζσ πράξεισ, μεταςχθματιςμοί, μεταφορά, διαμόρφωςθ, πολφπλεξθ δεδομζνων, μνιμεσ εντολϊν/δεδομζνων Κυκλϊματα Ελζγχου ζλεγχοσ control Μθχανζσ Πεπεραςμζνων Καταςτάςεων (ΜΠΚ) Finite State Machines Ακολουκιακά κυκλϊματα που κακορίηουν (α) τθν λειτουργία των μονάδων δεδομζνων, και (β) τθν αλλθλοεπίδραςθ τουσ, μζςω ςθμάτων ελζγχου Αναςκόπηςη 2 Βαςικέσ Εντολέσ MIPS Λειτουργία Εντολή Τφποσ Λειτουργία Εντολή Τφποσ πρόςκεςθ add R ανάκεςθ άμεςου ςτο πάνω τμιμα λζξθσ πρόςκεςθ με άμεςο addi I φόρτωςθ λζξθσ lw I πρόςκεςθ χωρίσ πρόςθμο (χ.π.) addu R αποκικευςθ λζξθσ sw I Πρόςκεςθ χ.π. με άμεςο addiu I διακλάδωςθ με ιςότθτα beq I αφαίρεςθ sub R διακλάδωςθ με ανιςότθτα bne I αφαίρεςθ χ.π. subi R βρόχοσ j J λογικι ςφηευξθ (and) and R βρόχοσ με ςφνδεςθ jal J and με άμεςο andi I βρόχοσ από καταχωρθτι jr R λογικι διάηευξθ (or) or R ανάκεςθ αν μικρότερο (α.μ.) slt R οr με άμεςο ori I ανάκεςθ α.μ. με άμεςο slti I λογικι ολίςκθςθ αριςτερά sll R ανάκεςθ α.μ. χ.π. sltu R λογικι ολίςκθςθ δεξιά srl R ανάκεςθ α.μ. χ.π. με άμεςο sltiu I lui I 4 2

χεδίαςη Τλοποίηςη Επεξεργαςτή ε αυτό το μζροσ του μακιματοσ κα αναλφςουμε/επεξθγιςουμε δυο υλοποιιςεισ του MIPS απλοϊκι εκδοχι μια ρεαλιςτικότερθ pipelined ζκδοςθ Θα εςτιάςουμε ςτον πυρινα των εντολϊν του MIPS: Εντολζσ πρόςβαςθσ μνιμθσ lw, sw Αρικμθτικζσ, λογικζσ add, sub, and, or, slt Μεταφοράσ ροισ - beq, j Δεν κα αςχολθκοφμε με τισ πιο πολφπλοκεσ πράξεισ: Πολλαπλαςιαςμό, διαίρεςθ Κινθτισ υποδιαςτολισ floating point 5 Διαδικαςία Εκτέλεςησ Εντολήσ 1. PCΜνιμθ Εντολϊν (Instruction Memory - IM) διαβάηεται θ ςχετικι εντολι προσ εκτζλεςθ 2. ςχετικοί αρικμοί των καταχωρθτϊναρχείο/μνιμθ Καταχωρθτϊν (Register File - RF) διαβάηονται τα περιεχόμενα τουσ και γίνονται διακζςιμα 3. Ανάλογα με τον τφπο τθσ εντολισ: χρθςιμοποιείται θ Αρικμθτικι-Λογικι Μονάδα (ALU) για υπολογιςμό: Αρικμθτικοφ/λογικοφ αποτελζςματοσ διεφκυνςθ μνιμθσ για εντολζσ φόρτωςθσ/αποκικευςθσ διεφκυνςθ κατάλθξθσ για βρόχουσ 4. Γίνεται πρόςβαςθ ςτθν Μνιμθ Δεδομζνων (Data Memory DM) για εντολζσ φόρτωςθσ/αποκικευςθσ 5. ο PC προςαυξάνεται κατά 4 6 3

Επιςκόπηςη Δομήσ Επεξεργαςτή 7 Πολύπλεξη Δεδομένων Κςκλωμαηικά δεν μποπούμε να ζςνενώζοςμε εξόδοςρ σπηζιμοποιούμε πολυπλέκτες 8 4

Έλεγχοσ και Δεδομένα Μαζί 9 Βαςικέσ Γνώςεισ Χηφιακήσ χεδίαςησ Αναλογικι πλθροφορία κωδικοποιείται ψθφιακά: Λογικό 0, Λογικό 1 αντιςτοιχοφν ςε δυναμικά, λ.χ. 0V, 2.5V Σο κάκε ψθφίο ενόσ αρικμοφ α 5 α 4 α 3 α 2 α 1 α 0 α -1 α -2 α -3 ςτθν βάςθ Β (Β=2) αναπαριςτάνεται ωσ εξισ: Β 5.α 5 + Β 4 α 4 + Β 3 α 3 + Β 2 α 2 + Β 1 α 1 + Β 0 α 0 + Β -1 α -1 + Β -2 α -2 + Β -3 α -3 11010.11 :1.(-2 4 ) + 1.2 3 + 0.2 2 + 1.2 1 + 0.2 0 + 1.2-1 + 1.2-2 = -10.75 Κάκε ψθφίο αντιςτοιχεί ςε μια ςφνδεςθ, πολλαπλζσ ςυνδζςεισ αντιςτοιχοφν ςε ζνα δίαυλο bus υνδυαςτικι Λογικι υνδυαςτικζσ Μονάδεσ Επεξεργάηονται δεδομζνα Ζξοδοι = υνάρτθςθ(ειςόδων) Ακολουκιακι Λογικι - Ακολουκιακζσ Μονάδεσ Εςωτερικι κατάςταςθ Ζξοδοι = υνάρτθςθ(εςωτερικισ Κατάςταςθσ, Ειςόδων) 10 5

υνδυαςτικέσ Μονάδεσ τοιχεία Πφλθ AND Y = A & B Αθποιζηήρ Y = A + B A B + Y A B I0 I1 M u x S Y Πολςπλέκηηρ Y = S? I1 : I0 Y Απιθμηηική/Λογική Μονάδα Y = F(A, B) A ALU Y B F 11 Ακολουθιακά τοιχεία - 1 Καταχωρθτισ: αποκθκεφει δεδομζνα βάςθ του ρολογιοφ Σο ρολόι αλλάηει τθν κατάςταςθ/δεδομζνα τθσ εξόδου προθγοφμενθ-επόμενθ τιμι Ακμο-πυροδότθτοσ (edge-triggered) θ ενεργοποίθςθ (αλλαγι κατάςταςθσ) γίνεται βάςθ τθσ ακμισ του ρολογιοφ ςυνικωσ τθσ κετικισ D Clk Q Clk D Q 12 6

Ακολουθιακά τοιχεία - 2 Καταχωρθτισ με ςιμα ενεργοποίθςθσ Αλλάηει κατάςταςθ μόνο όταν το ςιμα ενεργοποίθςθσ Write είναι ενεργό (1) Χρθςιμοποιείται όταν κζλουμε να αποκθκεφςουμε ζνα δεδομζνο για πολλαπλοφσ κφκλουσ D Write Clk Q Clk Write D Q 13 Ακολουθιακά τοιχεία - 3 ΜΠΚ Ακολουκιακά Κυκλϊματα ελζγχου Μνιμθ κατάςταςθσ Έξοδοσ = Συν(Κατάςταςησ, Ειςόδων) Επόμενη Κατάςταςη = Συν(Κατάςταςη, Είςοδοι) Παράγουν μια αλλθλουχία εξόδων για αλλθλουχία εξόδων ανά κφκλο επόμενθ είςοδοσ/ζξοδοσ Ορίηονται ωσ γράφοσ καταςτάςεων 14 7

Τλοποίηςη Ακολουθιακών Κυκλωμάτων με Ρολόι Η ςυνδυαςτικι λογικι μεταςχθματίηει τα δεδομζνα από κφκλο ςε κφκλο μεταξφ των ακμϊν του ρολογιοφ Η είςοδοσ και θ ζξοδοσ των ςυνδυαςτικϊν τμθμάτων προζρχεται από τα ακολουκιακά τμιματα Ο κφκλοσ ορίηεται από το κρίςιμο μονοπάτι διαδρομι από ακμι ςε ακμι με τθν μέγιστη κακυςτζρθςθ 15 Καταςκευή τησ Ροήσ Δεδομένων - Datapath τισ παρακάτω διαφάνειεσ κα καταςκευάςουμε κομμάτικομμάτι τθν ροι δεδομζνων του επεξεργαςτι Περιλαμβάνει τα ςτοιχεία που επεξεργάηονται δεδομζνα και διευκφνςεισ Καταχωρθτζσ, ALU s, πολυπλζκτεσ, μνιμεσ, κτλ. Θα το καταςκευάςουμε βιμα-βιμα επαυξθτικά Σελειοποιϊντασ το ςε κάκε βιμα 16 8

Υόρτωςη Εντολήσ Instruction Fetch 32-bit καηασωπηηήρ +4 για ηην επόμενη ενηολή 17 Εντολέσ τύπου R (add, sub, and, or, slt) Διαβάηουν τισ τιμζσ δυο καταχωρθτϊν (δρϊμενα) Εκτελοφν αρικμθτικι ι λογικι πράξθ Αποκθκεφουν το δεδομζνα ςε καταχωρθτι (αποτζλεςμα) 18 9

Εντολέσ τύπου M (lw, sw) Διαβάηουν ζνα καταχωρθτι (δρϊμενο) Τπολογίηουν τθν διεφκυνςθ βάςθ 16-bit προςαφξθςθ (offset) Μπορεί να γίνει χριςθ του ALU, όμωσ πρζπει να μετατραπεί το offset ςτα 32-bit από τα 16-bit Load: διαβάηουν από τθν μνιμθ και εγγράφουν καταχωρθτι Store: γράφουν τιμι καταχωρθτι ςτθν μνιμθ 19 Εντολέσ κατά ςυνθήκη βρόχων (beq, bne) Διαβάηουν τισ τιμζσ δυο καταχωρθτϊν (δρϊμενα) υγκρίνουν τα δρϊμενα Χρθςιμοποιοφν το ALU, κάνουν αφαίρεςθ, ελζγχουν τθν ζξοδο Zero Τπολογίηουν τον ςτόχο του βρόχου (target address), διεφκυνςθ αλλαγισ ροισ Προεκτείνουν το πρόςθμο τθσ 16-bit προςαφξθςθσ Εκτελοφν ολίςκθςθ κατά 2 αριςτερά (x4 ευκυγράμμιςθ ςε λζξεισ) Προςκζτουν τθν ςχετικι διεφκυνςθ ςτο αποτζλεςμα PC + 4 Ζχει ιδθ υπολογιςτεί 20 10

Εντολέσ κατά ςυνθήκη βρόχων (beq, bne) Μεηαηόπιζη ζςνδέζεων Πποέκηαζη bit ππόζημος 21 υνθέτοντασ τα διαφορετικά τμήματα Η 1 θ εκδοχι του datapath κα εκτελεί 1 εντολι ανά κφκλο Σο κάκε ςτοιχείο εκτελεί μόνο μια λειτουργία Ζτςι, χρθςιμοποιοφμε διακριτζσ μνιμεσ εντολϊν/δεδομζνων Χρθςιμοποιοφμε πολυπλζκτεσ όταν κζλουμε να ςυνδζςουμε πολλαπλζσ εξόδουσ από διάφορεσ μονάδεσ ςε μια είςοδο μιασ άλλθσ μονάδασ 22 11

Datapath εντολών R, lw, sw 23 Πλήρεσ Datapath lw, sw,r, beq, bne 24 12

Έλεγχοσ τησ ALU Χρθςιμοποιείται για: a. lw, sw, όπου F = πρόςκεςθ b. beq, bne, όπου F = αφαίρεςθ c. R, όπου εξαρτάται από το ςχετικό πεδίο funct τθσ εντολισ Παρακάτω βλζπουμε τα απαιτοφμενα ςιματα ελζγχου τθσ ALU ALU control Function 0000 AND 0001 OR 0010 add 0110 subtract 0111 set-on-less-than 1100 NOR 25 Έλεγχοσ τησ ALU Τποκζτουμε ότι ALUOp[1:0] προκφπτει από το opcode Ο παρακάτω ςυμβολικόσ πίνακασ αλικειασ επιδεικνφει τθν αντιςτοιχία opcode, ALUOp, funct και ALU control opcode ALUOp Operation funct ALU function ALU control lw 00 load word XXXXXX add 0010 sw 00 store word XXXXXX add 0010 beq 01 branch equal XXXXXX subtract 0110 R-type 10 add 100000 add 0010 subtract 100010 subtract 0110 AND 100100 AND 0000 OR 100101 OR 0001 set-on-less-than 101010 set-on-less-than 0111 26 13

Έλεγχοσ του ALU Πίνακασ Αλήθειασ Από τον προθγοφμενο, ςυμβολικό πίνακα μπορεί να προκφψει ο παρακάτω πίνακασ αλικειασ με αδιάφορεσ τιμζσ, -, (don t cares dc) - είτε 0 είτε 1, δθλ. αδιάφορθ τιμι Οι αδιάφορεσ τιμζσ ςυμβολίηονται και με X ALUOp[1:0] funct[5:0] ALU control 00 ------ 0010-1 ------ 0110 1- --0000 0010 --0010 0110 --0100 0000 --0101 0001 --1010 0111 27 Κεντρική Μονάδα Ελέγχου Σα ςιματα ελζγχου εξάγονται από τα πεδία τθσ εντολισ: R-type Load/ Store Branch 0 rs rt rd shamt f unct 31:26 25:21 20:16 15:11 10:6 5:0 35 or 43 rs rt address 31:26 25:21 20:16 15:0 4 rs rt address 31:26 25:21 20:16 15:0 opcode Μόνιμη ανάγνωζη Ανάγνωζη εκηόρ για lw Δγγπαθή για R και lw Πποέκηαζη ππόζημος και ππόζθεζη 28 14

Datapath με Μονάδα Ελέγχου 29 Εκτέλεςη εντολήσ τύπου R 30 15

Εκτέλεςη εντολήσ lw 31 Εκτέλεςη εντολήσ τύπου beq 32 16

Προςθήκη εντολήσ j Jump 2 address 31:26 25:0 Η εντολι j χρθςιμοποιεί διεφκυνςθ λζξθσ Διατθρεί τα ψθφία 31:28 του PC Άρα θ υλοποίθςθ τθσ απαιτεί ανανζωςθ του PC ωσ εξισ: Δεν μεταβάλλονται τα PC[31:28] Η 26-bit διεφκυνςθ λζξθσ ςυμπλθρϊνεται με 00 για να γίνει διεφκυνςθ byte Για τθν παραπάνω μετατροπι χρειαηόμαςτε νζο ςιμα ελζγχου, βάςθ του opcode τθσ j 33 Προςθήκη δομήσ για εκτέλεςη j 34 17

Απόδοςη του Επεξεργαςτή Κυκλωματικά θ περίοδοσ T του ρολογιοφ ορίηεται από τθν κρίςιμθ οδό τθν μζγιςτθ κακυςτζρθςθ μεταξφ δυο ςθμείων που οδθγοφνται από το ρολόι Σο CPI εξαρτάται και από το ρολόι Μπορεί CPI=1 αλλά το ρολόι να είναι πολφ αργό!!! Δεν είναι εφικτό να τροποποιοφμε τθν περίοδο του ρολογιοφ! Ποιο είναι το κρίςιμο μονοπάτι ςτο datapath; (θ κακυςτζρθςθ μιασ ΜΠΚ είναι μικρότερθ) 35 Απόδοςη του επεξεργαςτή Τφποσ εντολήσ Τμήματα datapath που Χρηςιμοποιοφνται Ζςτω: R lw sw beq, bne j Φόρτωςθ εντολισ Φόρτωςθ εντολισ Φόρτωςθ εντολισ Φόρτωςθ εντολισ Φόρτωςθ εντολισ Ανάγνωςθ καταχωρθτι Ανάγνωςθ καταχωρθτι Ανάγνωςθ καταχωρθτι Ανάγνωςθ καταχωρθτι Ανάγνωςθ καταχωρθτι Δμνιμθσ = 10ns, ΔALU/Adder = 10ns, ΔRF = 5ns Ποια είναι θ περίοδοσ ανα τφπο εντολισ; Ποια θ τελικι περίοδοσ το ρολογιοφ; ALU ALU ALU ALU Εγγραφι καταχωρθτι Ανάγνωςθ μνιμθσ Ανάγνωςθ μνιμθσ Εγγραφι καταχωρθτι 36 18

Απόδοςη του Επεξεργαςτή Τφποσ Εντολήσ κρίςιμο μονοπάτι: T = 40ns για CPI = 1 Εναλλακτικά: Φόρτωςη Εντολήσ IM Ανάγνωςη Καταχωρητή Λειτουργία ALU Πρόςβαςη μνήμησ DM Εγγραφή Καταχωρητή Εκτελοφμε τθν εντολι ςε πολλαπλοφσ κφκλουσ με ζνα γρθγορότερο ρολόι και εκμεταλλευόμαςτε τον διαφορετικό χρόνο εκτζλεςθσ ανά τφπο εντολισ Π.χ. για το παράδειγμα κα μποροφςαμε να επιλζξουμε Σ = 10ns Σφνολο R 10 5 10 5 30ns lw 10 5 10 10 5 40ns sw 10 5 10 10 35ns beq,bne 10 5 10 25ns j 10 10ns 37 Διάγραμμα επεξεργαςτή εντολήσ πολλαπλών κύκλων 38 19

Διαίρεςη εντολήσ ςε βήματα (και κύκλουσ) Βήματα Φόρτωςθ εντολισ Αποκωδικοποίθςθ Εντολισ Λογικι Εκτζλεςθ, Τπολογιςμόσ Διεφκυνςθσ, Εκτζλεςθ Βρόχου Πρόςβαςθ Μνιμθσ ι Ολοκλιρωςθ R Εγγραφι αποτελζςματοσ Λειτουργία για εντολζσ τφπου R Λειτουργία για lw, sw Λειτουργία για beq, bne IR = Memory[PC] PC = PC + 4 ή PC = {PC[31:28],IR[25:0],00} A = Registers[IR[25:21]] B = Registers[IR[20:16]] Target = PC + (sign-extend(ir[15:0]) << 2) ALUout = A op B Reg[IR[15:11]] = ALUout ALUout = A + signextend(ir[15:0]) MDR = Memory[ALUout]ή Memory[ALUout] = B Reg[IR[20:16]] = MDR If (A == B) PC = Target 39 Έλεγχοσ - Δημιουργία ΜΠΚ Ο ςτόχοσ τθσ (των) ΜΠΚ ελζγχου είναι: Να οδθγιςουν, ανά τφπο εντολισ και βιμα τα ςιματα ελζγχου. Είςοδοι τθσ ΜΠΚ ελζγχου: Op[5:0], Zero 40 Έξοδοι τθσ ΜΠΚ ελζγχου: PCWriteCond PCWrite IorD MemRead MemWrite MemtoReg IRWrite PCsource[1:0] ALUOp[1:0] ALUSrcB[1:0] ALUSrcA RegWrite RegDst 20

ΜΠΚ Ελέγχου Αφηρημένη Δομή 41 ΜΠΚ Ελέγχου Αφηρημένη Δομή Βιμα 1 - IF,ID,RF: Φόρτωςθ εντολισ Αποκωδικοποίθςθ Ανάγνωςθ καταχωρθτϊν Βήμαηα 2, 3, 4 Γιακλάδωζη ανάλογα με ηον ηύπο ενηολήρ 42 21

ΜΠΚ Σμήμα IF,ID,RF Διαφάνεια 44 Διαφάνεια 45 Διαφάνεια 46 Διαφάνεια 47 43 ΜΠΚ Εντολών Μνήμησ Διαφάνεια 43 44 22

ΜΠΚ Εντολών τύπου R 45 Διαφάνεια 43 ΜΠΚ Εντολών κατά ςυνθήκη βρόχου Διαφάνεια 43 46 23

ΜΠΚ Εντολήσ j Διαφάνεια 43 47 υνολική ΜΠΚ 48 24

Εξαιρέςεισ (Exceptions) και Διακοπέσ (Interrupts) Εξαιρζςεισ Εξαιρετικζσ ςυνκικεσ κατά τθν εκτζλεςθ μιασ εντολισ που επιβάλλουν αλλαγι ςτθν ροι των εντολϊν Άγνωςτοσ opcode, υπερχείλιςθ αποτελζςματοσ, διαίρεςθ με το μθδζν, παραβίαςθ διευκφνςεων μνιμθσ, κλιςθ ρουτίνασ ςυςτιματοσ Διακοπι Interrupt MIPS Χειριςμόσ εξωτερικοφ ςυμβάντοσ αλλαγι ροισ ςε ρουτίνα ςυςτιματοσ Ενεργοποιείται από ελεγκτι I/O Αποκικευςθ αιτίασ ςτον καταχωρθτι Cause 0 = undefined opcode, 1 = overflow Αποκικευςθ PC ςτον EPC Κλιςθ ρουτίνασ χειριςμοφ (handler) ςτθν διεφκυνςθ 32 h800000180 49 Προςθήκη Τποςτήριξησ Εξαιρέςεων 50 25

υνολική ΜΠΚ με προςθήκη Εξαιρέςεων 51 26