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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Pipelined Datapath, Hazards and Forwarding

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

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

Εισαγωγή στην πληροφορική -4

Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)

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

Instruction Execution Times

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKO MHXANIK I O I Η/ Η Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Γ. Τσιατούχας ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ

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

Παραδείγματα Assembly (Μέρος

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

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

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

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

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

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

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

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπερβαθμωτοι επεξεργαστές

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

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

Χρονισμός και Απόδοση Υπολογιστικών Συστημάτων

Transcript:

Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: Προσκόμιση της εντολής (fetch) από τη θέση που δείχνει ο PC Ανάγνωση των περιεχομένων ενός ή δύο καταχωρητών Τέτοιες λειτουργίες γίνονται διαμέσου του Datapath Ο έλεγχος του Datapath γίνεται διαμέσου της μονάδας ελέγχου (Control)

Data PC Instr. Instr. Memory # # # s Data Memory Data Instr. PC Add Instr. Memory a. memory b. Program counter c. Adder

Add PC 4 Instr. Instr. Memory Fetch reg. 1 control Instru ction reg. 2 data 1 zero Write reg. data 2 result RegWrite R-Type s

Instru ction reg. 1 reg. 2 Write reg. data 1 res. MemWrite data 2 data RegWrite Mem 16 Sign 32 Extent Load/Store s PC + 4 Add Branch target reg. 1 Instru ction reg. 2 Write reg. data 1 zero To Branch Control Logic data 2 shift left by 2 RegWrite 16 32 Branch s

Instru ction reg. 1 reg. 2 data 1 Write reg. data 2 RegWrite M U X res. MemWrite data M U X Mem 16 32 R type & Load/Store s PC Instru ction Memory reg. 1 reg. 2 Write reg. data 1 data 2 RegWrite M U X res. MemWrite data M U X Mem 4 Add 16 32 R type, Load/Store and Fetch

PC Instru ction Memory reg. 1 reg. 2 Wit Write reg. data 1 data 2 RegWrite M U X res. MemWrite data M U X Mem 16 32 4 Add Shift left 2 Add M U X R type, Load/Store, Branch and Fetch control input Function 000 And 001 Or 010 Add 110 Subtract 111 Set-on-less-than

opcode Op operation Function code Desired action control Input LW 00 load word xxxxxx add 010 SW 00 store word xxxxxx add 010 Branch equal 01 branch equal xxxxxx subtract 110 R-type 10 add 100000 add 010 R-type 10 subtract 100010 subtract 110 R-type 10 AND 100100 and 000 R-type 10 OR 100101 or 001 R-type 10 set-on-lessthan 101010 set-on-lessthan 111 Op1 Op0 F5 F4 F3 F2 F1 F0 Operation 0 0 x x x x x x 010 x 1 x x x x x x 110 1 x x x 0 0 0 0 010 1 x x x 0 0 1 0 110 1 x x x 0 1 0 0 000 1 x x x 0 1 0 1 001 1 x x x 1 0 1 0 111 X: Don t Care

R-type π.χ. add rd,rs,rt 0 rs rt rd shumpt funct 31-26 25-21 20-16 15-11 10-6 5-0 Load/Store π.χ. lw rt, immediate(rs) 35/43 rs rt immediate 31-26 25-21 20-16 15-0 Branch π.χ beq rs,rt,immediate 4 rs rt immediate 31-26 25-21 20-16 15-0 Signal name Effect when deasserted Effect when asserted Mem None Data memory contents at the read address are put on read data output. MemWrite None Data memory contents at address given by write address is replaced by Src The second operand comes from the second register file output. RegDst The register destination number for the Write register comes from the rt field. value on write data input. The second operand is the signextended lower 16-bits of the instruction. The register destination number for the Write register comes from the rd field. RegWrite None The register on the Write register PCSrc MemtoReg The PC is replaced by the output of the adder that computes the value of PC+4. The value fed to the register write data input comes from the. input is written into with the value on the write data input. The PC is replaced by the output of the adder that computes the branch target. The value fed to the register write data input comes from the data memory.

Reg Memto Reg Mem Mem Branch Dst Src Reg Write Write Op1 Op0 R-format 1 0 0 1 0 0 0 1 0 lw 0 1 1 1 1 0 0 0 0 sw x 1 x 0 0 1 0 0 0 beq x 0 x 0 0 0 1 0 1

R-format lw sw beq Op5 0 1 1 0 Op4 0 0 0 0 Op3 0 0 1 0 Inputs Op2 0 0 0 1 Op1 0 1 1 0 Op0 0 1 1 0 RegDst 1 0 x x Src 0 1 1 0 MemtoReg 0 1 x x RegWrite 1 1 0 0 Outputs Mem 0 1 0 0 MemWrite 0 0 1 0 Branch 0 0 0 1 Op1 1 0 0 0 Op0 0 0 0 1

Type R-format Load word Store word Branch Jump fetch fetch fetch fetch fetch Functional units used by the type Access Access Access Access access Memory access Memory access access CPU execution time = count x CPI x Clock cycle time type memory read operation Data memory write Total Frequency of Use R-format 10 5 10 0 5 30ns 49% Load word 10 5 10 10 5 40ns 22% Store word 10 5 10 10 35ns 11% Branch 10 5 10 0 25ns 16% Jump 10 10ns 2% Σταθερός κύκλος CPU clock cycle=40ns Μεταβλητός κύκλος CPU clock cycle = 40x22% + 35x11% + 30x49% + 25x16% + 10x2%= 31.6 ns. Βελτίωση 40/31.6=1.27

Κάθε εντολή εκτελείται σε περισσότερους από ένα κύκλους ρολογιού Γίνεται επαναχρησιμοποίηση μονάδων Απαιτούνται περισσότεροι πολυπλέκτες και ενδιάμεσοι καταχωρητές

ΚΥΚΛΟΣ 1 (ίδιος για όλες τις εντολές) IR Memory[PC] PC PC+4 ΚΥΚΛΟΣ 2 (ίδιος για όλες τις εντολές) Ανάγνωση καταχωρητών: read RF [rs], RF[rt] Υπολογισμός της διεύθυνσης Branch: Target [PC+4]+4*Imm16 Αποκωδικοποίηση του Opcode, αναγνώριση της εντολής ΚΥΚΛΟΣ 3 (διαφέρει ανάλογα με την εντολή) Ανηεντολήείναι/LW/SW: πράξη Αν η εντολή είναι jump: PC Imm26 Αν η εντολή είναι Branch: : συγκρίνει τα περιεχόμενα των δύο καταχωρητών αφαιρώντας τα. Αν το αποτέλεσμα είναι 0 (zero flag) τότε: PC Target ΚΥΚΛΟΣ 4 (διαφέρει ανάλογα με την εντολή) Ανηεντολήείναι: Το αποτέλεσμα της πηγαίνει σε κάποιο καταχωρητή: RF[rd/rt] Ανηεντολήείναιηlw: Το αποτέλεσμα της είναι μία θέση μνήμης, από την οποία πρέπει να διαβάσουμε: Memory : read M [] Αν η εντολή είναι η sw: Το αποτέλεσμα της είναι μία θέση μνήμης, στην οποία πρέπει να γράψουμε το περιεχόμενο κάποιου καταχωρητή: Memory Write: M[] RF[rt] ΚΥΚΛΟΣ 5(μόνο για την lw) Το περιεχόμενο της μνήμης που διαβάσαμε στον 4ο κύκλο οδηγείται σε κάποιο καταχωρητή: Memory : RF[rt] M[]

Ρυθμο-Απόδοση (Throughput)? Καθυστέρηση για 1 εντολή? (Latency)? - Διαμοιράζει την λογική σε στάδια με καταχωρητές - Κάθε στάδιο ενεργεί σε διαφορετική εντολή - Σε κάθε κύκλο ρολογιού μεταφέρονται δεδομένα από το ένα στάδιο στο επόμενο

Ρυθμο-Απόδοση (Throughput)? Καθυστέρηση για 1 εντολή? (Latency)?