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

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

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

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

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

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

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

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

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

Pipelined Datapath, Hazards and Forwarding

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

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

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

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

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

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

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

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

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

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

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

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

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

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

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

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

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

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

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

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

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

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

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

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

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

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code)

ProcSim οδηγίες χρήσης.

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

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

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

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

Library, package και subprograms

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

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

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

Τεχνικές σχεδιασμού μονοπατιών ολίσθησης

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

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

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

Transcript:

Υλοποίηση Mικροεπεξεργαστή MIPS -16 Διάδρομος Δεδομένων και Μονάδα Ελέγχου 1

Περίληψη Μνήμη RAM Εκτέλεση εντολών με πολλαπλούς κύκλους Σχεδιασμός Διαδρόμου Δεδομένων (Data Path) Καταχωρητής Εντολών (Instruction Register) Πολυπλέκτης για επιλογή της νέας τιμής του PC Σήματα Ελέγχου και Μονάδα Ελέγχου 2

Μνήμη RAM και Αρχικοποίηση 1. DEPTH = 4096; 2. WIDTH = 16; 3. ADDRESS_RADIX = HEX; 4. DATA_RADIX = HEX; 5. CONTENT 6. BEGIN 7. 0:c060; 8. 1:412d; 9. 2:24c0; 10. 3:7607; 11. [4..19]: 0000; 12. 20:f23a; 13. [21..2FF] : 0000; 14. 300 : 0026 ; 15. 301 : 002a ; 16. [302..fff] : 0000; 17. END ; * Τα περιεχόμενα είναι τυχαία!!! 3

Εκτέλεση Εντολών με πολλαπλούς κύκλους 1. Instruction Fetch step IR = Memory[PC] PC = PC + 1 2. Instruction decode and register fetch step (A and B) Compute the branch target anyway using ALU and save the result in a register. A=IR[11..9], B=IR[8..6] Target= PC + offset 3. Execution, Memory Address computation, or branch completion. ALUoutput = A + offset (Memory Address computation) ALUoutput = A op. B (Instruction R-type operation) if (A==B) PC = Target (branch completion) 4

Εκτέλεση Εντολών με πολλαπλούς κύκλους 4. Memory Access or R-type instruction completion Load and Store instructions access memory and arithmetic operations write their result. memory_data = Memory [ALUoutput] Memory [ALUoutput] = B For R-type instructions: Reg(IR[5..3])=memory_data 5. Write Back Step Write the load data from memory into $rt Reg(IR[8..6]) = memory_data 5

Διάδρομος Δεδομένων (Datapath) PCWriteCond, PCWrite MemRead /Write ALUselB IorD IRWrite RegDest RegWrite ALUselA PC MUX Write TARGET MUX MUX address[11..0] RAM Q[15..0] data[15..0] PCSource INSTRUCTION REGISTER MUX MUX Signextend REGISTER FILE 1 Shift MUX ALU Result [15..0] Op[15..12] Control Unit MemtoReg Datapath is based on Chapter 5 from Computer Organization and Design by D. A. Patterson and J. L. Hennessy 6

Instruction Register Instruction_Register Instruction[15..12] Instruction[11..9] Instruction[8..6] Instruction[5..3] Instruction[2..0] opcode[3..0] rs[2..0] rt[2..0] rd[2..0] shift[2..0] Immediate [5..0] = rd[2..0], shift[2..0] Jump_Address [11..0] = rs[2..0], rt[2..0], rd[2..0], shift[2..0] 7

PC-Source Multiplexer PC 8

Σήματα Ελέγχου (Control Signals) και Μονάδα Ελέγχου (Control Unit) Έπειτα από τον καθορισμό των σημάτων ελέγχου και τις απαιτήσεις τους, μπορεί να σχεδιαστεί η μονάδα ελέγχου για την οποία υπάρχουν διάφοροι τρόποι υλοποίησης. Για τις απαιτήσεις του μαθήματος, η Μονάδα Ελέγχου θα πρέπει να υλοποιηθεί ως μία Μηχανή Πεπερασμένων Καταστάσεων (FSM) με τις λιγότερες δυνατές καταστάσεις. Η ΜΕ μπορεί να σχεδιαστεί στο Quartus με πύλες και flip-flops, ή μεκώδικα VHDL (ευκολότερα και γρηγορότερα). 9

Σχεδιασμός Μονάδας Ελέγχου 1. Καθορισμός των καταστάσεων με βάση τα βήματα που πρέπει να ακολουθηθούν για επίλυση του προβλήματος (βλέπε διαφάνειες 4-5). 2. Ο αριθμός των καταστάσεων καθορίζει και τον αριθμό των στοιχείων μνήμης που απαιτούνται (κ στοιχεία μνήμης μπορούν να περιγράψουν μέχρι και 2^κ καταστάσεις) 3. Καθορίστε όλα τα σήματα εξόδου σε κάθε κατάσταση (ανάλογα με τις τιμές των σημάτων ελέγχου του ΔΔ). 4. Καθορίστε ως σήματα μετάβασης από την παρούσα κατάσταση στην επόμενη τα σήματα εισόδου της ΜΕ (το opcode) 10