MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
Advertisements

1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή
Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή
Δομή του TRN KME Μνήμη Διάδρομος Διευθύνσεων Διάδρομος Δεδομένων
Το υλικο του Υπολογιστη
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1.Τοποθέτηση παραμέτρων 2.Μεταβίβαση ελέγχου στη διαδικασία 3.Λήψη πόρων αποθήκευσης.
Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκτάριος Κοζύρης
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Αρχιτεκτονικές Συνόλου Εντολών
Ανίχνευση κίνδυνου Επίλυση με προώθηση. Μπλέ: Εξαρτήσεις. Εξαρτήσεις προς προηγούμενα CC είναι κίνδυνοι δεδομένων Kόκκινο: Προώθηση IF/ID ID/EX EX/MEM.
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
© Οργάνωση Υπολογιστών 5 “συστατικά” στοιχεία -Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές.
© Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή 1.Πλυντήριο 2.Στεγνωτήριο 3.Δίπλωμα 4.αποθήκευση 30 min κάθε «φάση» Σειριακή προσέγγιση.
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
1 Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή 1.Πλυντήριο 2.Στεγνωτήριο 3.Δίπλωμα 4.αποθήκευση 30 min κάθε «φάση» Σειριακή προσέγγιση για 4 φορτία.
Μικροεπεξεργαστές 8-bits Τομέας Αρχιτεκτονικής και Υλικού Διδάσκων: Δρ Ν. Πετρέλλης Υπεύθυνος: Καθηγητής Γ. Αλεξίου.
Σχεδίαση αλγορίθμων (2ο μέρος)
Τι είναι μία ομάδα / σύνολο εντολών (Instruction Set);
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Τα χαρακτηριστικά των επεξεργαστών By ΔΙΟΝΥΣΗ ΣΚΕΓΙΑ ΕΠΑ-Λ ΚΡΕΣΤΕΝΩΝ!
Οργάνωση Υπολογιστών 5 “συστατικά” στοιχεία -Επεξεργαστής:
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Οργάνωση Υπολογιστών 5 “συστατικά” στοιχεία -Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
HY Γλώσσες και Μεταφραστές Φροντιστήριο Runtime Environment.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Οργάνωση Υπολογιστών 5 “συστατικά” στοιχεία -Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5)
Αρχιτεκτονική Υπολογιστών Ενότητα # 5: DEMO Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
ΕΙΣΑΓΩΓΗ μέρος 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 10 ο Μάθημα.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Αρχιτεκτονική Υπολογιστών Ενότητα # 2: Datapath & Control Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα.
Morgan Kaufmann Publishers Ο επεξεργαστής
Το εσωτερικό ενός υπολογιστή
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
INSTRUCTIONS LANGUAGE OF THE MACHINE
Single-cyle υλοποίηση:
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονικές Συνόλου Εντολών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Θέματα Φεβρουαρίου
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
Single-cyle υλοποίηση:
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
Το εσωτερικό ενός υπολογιστή
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Single-cyle υλοποίηση:
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Καταχωρητής Ι3 Α3 D Ι2 Α2 D Ι1 Α1 D Ι0 Α0 D CP.
Μεταγράφημα παρουσίασης:

MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης Δημήτρης Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Γλώσσα Μηχανής Εντολές= λέξεις Σύνολο εντολών= λεξιλόγιο Στόχοι αρχιτεκτόνων/σχεδιαστών Εύκολη υλοποίηση Ευχέρεια χρήσης Ελαχιστοποίηση κόστους Μεγιστοποίηση ταχύτητας MIPS RISC: Reduced Instruction Set Computer ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

MIPS: Αριθμητικές εντολές add x, y, z: x= y+z sub x, y, z: x= y-z Παράδειγμα: x= a-(b+c) add t, b, c sub x, a, b sub x, a, t sub x, x, c Ποιός επιλέγει πως θα γίνουν οι πράξεις? Πως γίνεται η επιλογή? ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Καταχωρητές MIPS: τελεστέοι = 32 καταχωρητές των 32 bits ($0, $1, $2, …, $31) add $r1, $r2, $r3: ($r1)= ($r2)+($r3) Παράδειγμα: x= a-(b+c) sub $6, $7, $8 x: $6 a: $7 sub $6, $6, $9 b: $8 c: $9 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Προσπέλαση μνήμης Εντολές φόρτωσης/αποθήκευσης load/store lw $d, σταθερά($x) $d Memory[σταθερά+$x] sw $s, σταθερά($x) Memory[σταθερά+$x] $s ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

Αιτιολόγηση προσέγγισης Πίνακες X[i]= X[i] + z i: $4 z: $6 Προσωρινή χρήση: $5 Χ[0]: θέση μνήμης 100 lw $5, 100($4) add $5, $5, $6 sw $5, 100($4) 200 199 … 103 102 101 100 … Χ[0] Χ[1] Χ[2] Χ[3] Χ[99] Χ[100] ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Format “R” op: opcode rs: source[1] register rt: source[2] register rd: destination register sham: shift amount funct: function (εξειδίκευση opcode) op (6 bits) rs (5 bits) rt rd sham funct ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Format “I” Εντολές προσπέλασης μνήμης lw $rt, address($rs) sw $rt, address($rs) op (6 bits) rs (5 bits) rt address (16 bits) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Διακλαδώσεις Branch-if-equal beq $rs, $rt, label if (rs==rt) then goto label Branch-if-not-equal bne $rs, $rt, label if (rs!=rt) then goto label if (…) then {PC  (PC+4) ± offset} Format “I” op (6 bits) rs (5 bits) rt ± offset (16 bits) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

Άμεσες (immediate) πράξεις Άμεση πρόσθεση (Add immediate) addi $rs, $rt, constant ($rs)= ($rt) + constant Άμεσες αριθμητικές πράξεις subi, … Format “I” op (6 bits) rs (5 bits) rt constant (16 bits) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Format “J” Διακλάδωση χωρίς συνθήκη j label goto label: PC address op (6 bits) address (26 bits) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Υπορουτίνες (jal) Κλήση υπορουτινών: Call/Return Call= jump (στην πρώτη εντολή ρουτίνας) Return= jump (που?) Αποθήκευση διεύθυνσης Return στον $31 Ατομική εντολή: jal (jump-&-link) Αναδρομή (recursion) Καταστρέφεται ο $31… Λύση: στοίβα (stack) στην μνήμη Χρησιμοποιείται και για αποθήκευση και τοπικών μεταβλητών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

Μεθοδολογία σχεδίασης Ακολουθιακό κύκλωμα Συνδιαστικό τμήμα (AND, OR, MUX, …) Ακμο-πυροδότητοι καταχωρητές (edge-triggered) 1 εντολή ανά κύκλο ρολογιού Παράλληλα κυκλώματα υπολογίζουν πολλά αποτελέσματα Επιλογή μέσω πολυπλεκτών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Ανάκληση εντολής ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Σχεδίαση ALU ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος Σύνθεση μονοπατιού ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος