Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης"— Μεταγράφημα παρουσίασης:

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

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

3 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 Ποιός επιλέγει πως θα γίνουν οι πράξεις? Πως γίνεται η επιλογή? ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

4 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος
Καταχωρητές 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 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

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

6 Αιτιολόγηση προσέγγισης
Πίνακες 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] ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

7 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος
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 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

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

9 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος
Διακλαδώσεις 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) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - Δ. Σερπάνος

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

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

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

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

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

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

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


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google