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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 12 Καθυστερήσεις (Stalls)

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

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

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

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

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

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

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

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

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

Pipelined Datapath, Hazards and Forwarding

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

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

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

Διοχέτευση (Pipeline)

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

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

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

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

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

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

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

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

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

Κεφάλαιο 6 Βελτίωση Απόδοσης με Διασωλήνωση (Enhancing Performance with Pipelining)

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

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

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

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

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

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

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

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

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

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

Επανάληψη Σύστημα Διασωλήνωσης (Pipelining) Κεφάλαιο 4 - Σύστημα ιασωλήνωσης

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

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος

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

Θέµατα Φεβρουαρίου

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

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

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

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

ΕΠΛ221: Οργάνωση Υπολογιστών και Συμβολικός Προγραμματισμός Κεφ. 4: O επεξεργαστής Σύστημα Διασωλήνωσης (Pipelining)

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

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

Εισαγωγή. Σύνοψη βασικών εννοιών, 5-stage pipeline, επεκτάσεις για λειτουργίες πολλαπλών κύκλων

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση

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

Application Operating System. Datapath & Control/Memory. Digital Design Circuit Design. Layout

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

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

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

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

Τελική Εξέταση, Απαντήσεις/Λύσεις

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

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

Τρόποι Διευθυνσιοδότησης

Αρχιτεκτονικη υπολογιστων

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 5: Εντολές Συγκρίσεων και Μεταφοράς Ελέγχου. Μανόλης Γ.Η.

με έμφαση στο MIPS R2000

Αρχιτεκτονικές Συνόλου Εντολών

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

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

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

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

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

Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1

Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών

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

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

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

ΗΥ425 Αρχιτεκτονική Υπολογιστών. Προχωρημένες Τεχνικές Pipelining. Ιάκωβος Μαυροειδής

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

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης

Transcript:

O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I Type Εντολές διακλάδωσης (branch beq, bne) I Type Εντολές άλµατος (jump j) J Type Ta σχήµατα είναι από το βιβλίο COD2e/Patterson-Hennessy

απλότητα στη σχεδίαση του ISA 2 πρώτα βήµατα κοινά σε κάθε εντολή (IF+ID): Στείλε το PC στη µνήµη (instruction ) και φέρε (fetch) την εντολή (ΙF) Αποκωδικοποίησε την εντολή και διάβασε έναν ή δύο καταχωρητές-ορίσµατα (ID-instruction decode+ file read)

Στη συνέχεια (ΕΧ): Οι arithmetic-logical χρησιµοποιούν την για εκτέλεση της λειτουργίας του µε βάση opcode και funct Οι -reference χρησιµοποιούν την για υπολογισµό της τελικής δνσης του ορίσµατος. Οι branch χρησιµοποιούν την για σύγκριση Κατόπιν (ΜΕΜ-WB): Οι arithmetic-logical γράφουν το αποτέλεσµα της πίσω σε ένα καταχωρητή του Register File Οι -reference διαβάζουν από τη µνήµη και γράφουν πίσω σε ένα καταχωρητή του Register File ή αποθηκεύουν στη µνήµη Οι branch αλλάζουν το περιεχόµενο του PC IF-ID-EX-MEM-WB

Απλή (αφαιρετική) µορφή ενός path: Register # PC Address Register # Register # Address Αρχικά, θα κάνουµε σχεδίαση ενός κύκλου (single cycle)! (κάθε εντολή διαρκεί έναν κύκλο ρολογιού)

Στοιχεία για αποθήκευση και προσπέλαση εντολών: address PC Add Sum a. b. Program counter c. Adder Αθροιστής για υπολογισµό PC+4 (επόµενη εντολή) Fetching instructions and incrementing PC: PC address 4 Add

A. Υλοποίηση R-Type εντολών: Register numbers 5 5 5 1 2 control Reg a. b. Register file: Two read ports, one write port (2 bit) εν υπάρχει Reg! Υπάρχει Reg (edge triggered) όταν πρόκειται να γράψουµε and write Reg File στον ίδιο κύκλο (το read παίρνει την τιµή που γράφτηκε στον προηγούµενο κύκλο ενώ η τιµή που γράφεται είναι διαθέσιµη στον επόµενο κύκλο : output για branches

Τµήµατου path για R-Type: 1 2 operation Reg R-Type ( type) op 6 bits rs 5bits rt 5bits rd 5bits add $rd, $rs, $rt shamt 5bits π.χ. add $s1, $s1, $s2 funct 6bits

Σχεδίαση path για Ι-Type εντολές: Πρώτα θα σχεδιάσουµε για load-stores Ι-Type: op rs rt address_offset 6 bits 5 bits 5 bits 16 bits lw $rt, offset_value($rs) ή sw $rt, offset_value($rs) Offset_value: 16bit signed field (Χρειάζεται sign extension γιατί προστίθεται σe 2 bit ) lw $rt, address($rs) π.χ. lw $t1,100($s2) Τα πρώτα πεδία (op,rs, rt) έχουν το ίδιο όνοµα και µέγεθος όπως και πριν

Επιπλέον δοµικές µονάδες για load-store path: Mem Address 16 Sign 2 extend Memory: Mem a. unit b. Sign-extension unit address port,read, write port(2bit) Sign extension!

path για load-store: Reg 1 2 operation Address Mem 16 Sign 2 extend Mem file access address calculation read or write from write back to rf if we have lw instruction

Σχεδίαση path για branch instructions: bne $rs, $rt, address π.χ. bne $s0,$s1,l2 PC relative addressing άρα address χρειάζεται sign extension και x4 (αναφορά σε διευθύνσεις λέξεων)

path για branch: PC + 4 from instruction path Shift left 2 1 2 Reg 16 Sign 2 extend : evaluates the branch condition Add Sum Branch target operation To branch control logic Adder: υπολογίζει το branch target σαν το άθροισµα του PC+4 και του sign extended, x4 όρισµα της εντολής

Ενώνοντας τα όλα µαζί (δηµιουργία single path): 4 Add 1 2 PC address Reg R-Type Fetch-Decode+Register File PC + 4 from instruction path Reg 1 2 16 2 Sign extend operation Address Mem Mem Reg 1 2 16 2 Sign extend Shift left 2 I-Type Load store I-Type branch operation Add Sum Branch target operation To branch control logic

Μήπως...µοιάζουν; 2η είσοδος στην είναι είτε καταχωρητής (R-Type) είτε το sign-extended lower half (16bit) της εντολής (address_offset-αν είναι load-store H τιµή που αποθηκεύεται στο write του file έρχεται είτε από την (R- Type) είτε από τη µνήµη (write back σε lw εντολή) 1 2 Reg 1 2 Reg 16 2 Sign extend operation operation Mem Address Mem

R-Type + load-store instructions combined path: Χρησιµοποιούµε πολυπλέκτες (mux) Single file and single : Add 4 PC address Reg 1 2 Src M ux operation Address Mem MemtoReg M ux 16 Sign 2 extend Mem Τι γίνεται µε τα branch instructions;

Mux για επιλογή µεταξύ PC+4 και Label από branch instruction PCSrc Add M ux PC 4 address 1 2 Reg 16 Sign 2 extend Shift left 2 Src M ux Add operation Address Mem Mem M ux MemtoReg

Single-cyle υλοποίηση: ιάρκεια κύκλου ίση µε τη µεγαλύτερη εντολή-worst case delay (εδώ lw) Αντιβαίνει µε αρχή: Κάνε την πιο απλή περίπτωση γρήγορη. Κάθε functional unit χρησιµοποιείται µια φορά σε κάθε κύκλο ανάγκη για πολλαπλό hardware. Λύση: Multicycle υλοποίηση Μικρότεροι κύκλοι ρολογιού, από τις καθυστερήσεις των επιµέρους functional units