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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Pipelined Datapath, Hazards and Forwarding

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κάζε functional unit ρξεζηκνπνηείηαη κηα θνξά ζε θάζε θύθιν: αλάγθε γηα πνιιαπιό hardware = θόζηνο πινπνίεζεο!

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

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 8: Μία Απλή Υλοποίηση του MIPS σε Έναν Κύκλο Ρολογιού ανά Εντολή

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

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

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

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

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

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

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

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

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

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

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

MIPS functions and procedures

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

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

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

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

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

Συστήματα Μικροϋπολογιστών

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

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

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

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

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

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

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

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

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

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

Σχεδίαση Ψηφιακών Συστημάτων

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ

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

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

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

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ

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

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

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

Δομημένος Προγραμματισμός

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Α. Δίνονται οι. (i) στη. πρέπει να. πιο. (ii) $a0. $s0 θα πρέπει να. αποθήκευση. αυξάνει τον. f: sub sll add sub jr. h: addi sw sw.

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

Συστήματα Μικροϋπολογιστών

Transcript:

Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Single Cycle Datapath http://www.cslab.ece.ntua.gr/courses/comparch/

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.

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

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

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

Απλή (αφαιρετική) μορφή ενός datapath: Αρχικά, θα κάνουμε σχεδίαση ενός κύκλου (single cycle)! (κάθε εντολή διαρκεί έναν κύκλο ρολογιού) cslab@ntua 2014-2015 4

Στοιχεία για αποθήκευση και προσπέλαση εντολών: Αθροιστής για υπολογισμό PC+4 (επόμενη εντολή) Fetching instructions and incrementing PC: cslab@ntua 2014-2015 5

A. Υλοποίηση R-Type εντολών: Register file: Two read ports, one write port (32 bit) Δεν υπάρχει RegRead! Υπάρχει RegWrite (edge triggered) όταν πρόκειται να γράψουμε Read and write Reg File στον ίδιο κύκλο (το read παίρνει την τιμή που γράφτηκε στον προηγούμενο κύκλο ενώ η τιμή που γράφεται είναι διαθέσιμη στον επόμενο κύκλο ALU: Zero output για branches cslab@ntua 2014-2015 6

Τμήμα του Datapath για R-Type: R-Type (register type) op rs rt rd shamt funct 6 bits 5bits 5bits 5bits 5bits 6bits add $rd, $rs, $rt π.χ. add $s1, $s1, $s2 cslab@ntua 2014-2015 7

Σχεδίαση datapath για Ι-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 32 bit register) lw $rt, address($rs) π.χ. lw $t1,100($s2) Τα 3 πρώτα πεδία (op,rs, rt) έχουν το ίδιο όνομα και μέγεθος όπως και πριν cslab@ntua 2014-2015 8

Επιπλέον δομικές μονάδες για load-store datapath: Memory: address port,read, write data port(32bit) Sign extension! cslab@ntua 2014-2015 9

Datapath για load-store: register file access memory address calculation read or write from memory write back to rf if we have lw instruction cslab@ntua 2014-2015 10

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

Datapath για branch: ALU: evaluates the branch condition Adder: υπολογίζει το branch target σαν το άθροισμα του PC+4 και του sign extended, x4 όρισμα της εντολής cslab@ntua 2014-2015 12

Ενώνοντας τα όλα μαζί (δημιουργία single datapath): R-Type Fetch-Decode+Register File Read I-Type Load store I-Type branch cslab@ntua 2014-2015 13

Μήπως...μοιάζουν; 2η είσοδος στην ALU είναι είτε καταχωρητής (R-Type) είτε το sign-extended lower half (16bit) της εντολής (address_offset-αν είναι load-store H τιμή που αποθηκεύεται στο write data του register file έρχεται είτε από την ALU (R- Type) είτε από τη μνήμη (write back σε lw εντολή) cslab@ntua 2014-2015 14

R-Type + load-store instructions combined datapath: Χρησιμοποιούμε πολυπλέκτες (mux) Single register file and single ALU: Τι γίνεται με τα branch instructions; cslab@ntua 2014-2015 15

Mux για επιλογή μεταξύ PC+4 και Label από branch instruction cslab@ntua 2014-2015 16

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

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.