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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Pipelined Datapath, Hazards and Forwarding

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βασικές Σχεδίασης Υπολογιστών Αριθμητική Μονάδα Επεξεργασίας Κεφάλαιο 10

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

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

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

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

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

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

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

CS425 Computer Systems Architecture

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

Κεφάλαιο 4: Pipelining 75

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

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

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

Ανάπηςξη Δθαπμογών ζε Ππογπαμμαηιζηικό Πεπιβάλλον

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

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

Περιορισμοί των βαθμωτών αρχιτεκτονικών

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

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Transcript:

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 2011-2012 1

απιόηεηα ζηε ζρεδίαζε ηνπ ISA 2 πρώηα βήμαηα κοινά ζε κάθε ενηολή (IF+ID): Σηείιε ην PC ζηε κλήκε (instruction memory) θαη θέξε (fetch) ηελ εληνιή (ΙF) Απνθωδηθνπνίεζε ηελ εληνιή θαη δηάβαζε έλαλ ή δύν θαηαρωξεηέο-νξίζκαηα (ID-instruction decode+register file read) cslab@ntua 2011-2012 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 2011-2012 3

Απλή (αθαιπεηική) μοπθή ενόρ datapath: Αξρηθά, ζα θάλνπκε ζρεδίαζε ελόο θύθινπ (single cycle)! (κάθε ενηολή διαρκεί έναν κύκλο ρολογιού) cslab@ntua 2011-2012 4

Σηοισεία για αποθήκεςζη και πποζπέλαζη ενηολών: Αζξνηζηήο γηα ππνινγηζκό PC+4 (επόκελε εληνιή) Fetching instructions and incrementing PC: cslab@ntua 2011-2012 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 2011-2012 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 2011-2012 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 2011-2012 8

Επηπιένλ δνκηθέο κνλάδεο γηα load-store datapath: Memory: address port,read, write data port(32bit) Sign extension! cslab@ntua 2011-2012 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 2011-2012 10

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

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

Ενώνονηαρ ηα όλα μαζί (δημιοςπγία single datapath): R-Type Fetch-Decode+Register File Read I-Type Load store I-Type branch cslab@ntua 2011-2012 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 2011-2012 14

R-Type + load-store instructions combined datapath: Χξεζηκνπνηνύκε πνιππιέθηεο (mux) Single register file and single ALU: Τη γίλεηαη κε ηα branch instructions; cslab@ntua 2011-2012 15

Mux γηα επηινγή κεηαμύ PC+4 θαη Label από branch instruction cslab@ntua 2011-2012 16

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