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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αριθμητική Υπολογιστών (Κεφάλαιο 3)

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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

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

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

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1

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

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

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

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

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

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

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

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

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

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

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

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

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

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

Εντολές γλώσσας μηχανής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 11 ο και 12 ο

Διαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5

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

Προτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα

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

Πανεπιστήµιο Θεσσαλίας

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

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

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

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

Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής. Αρχιτεκτονική Υπολογιστών. 3ο Μάθημα

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής. Εισαγωγή στους Η/Υ

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

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές

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

Κεφάλαιο 2 Εντολές Η γλώσσα της Μηχανής (Instructions Language of the Computer)

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

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

Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Στοιχεία από Assembly Γιώργος Μανής

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής. Εισαγωγή στους Η/Υ

Συναρτήσεις-Διαδικασίες

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

6. Επιστροφή ελέγχου στο σημείο εκκίνησης

Chapter 3 Αριθμητική Υπολογιστών

Transcript:

Γιώργος Δημητρίου Μάθημα 2 ο

Σύνολα Εντολών Οι εντολές που εκτελεί ο κάθε επεξεργαστής (ή οικογένεια επεξεργαστών) MIPS ARM SPARC PowerPC IA-32 Αρχιτεκτονικές συνόλου εντολών

Βασικές Έννοιες Εντολές μηχανής Κωδικός λειτουργίας (ή και τελεστή) Τελούμενα Διευθυνσιοδότηση τελούμενων Διευθυνσιοδότηση μνήμης Αρχιτεκτονικές συσσωρευτή Αρχιτεκτονικές στοίβας Αρχιτεκτονικές καταχωρητών γενικού σκοπού

Αρχιτεκτονικές ΚΓΣ

Αρχιτεκτονικές ΚΓΣ Φάκελος καταχωρητών για προσωρινή αποθήκευση τιμών Όλες οι εντολές αριθμητικών και λογικών πράξεων ενεργούν σε καταχωρητές Ξεχωριστές εντολές για προσπέλαση της μνήμης και μόνο για μεταφορά από και προς καταχωρητές

Αρχιτεκτονική MIPS Δύο φάκελοι καταχωρητών: 32 καταχωρητές γενικού σκοπού (ΚΓΣ) για α- κέραιες τιμές και τιμές σταθερής υποδιαστολής 32 καταχωρητές κινητής υποδιαστολής Πολλαπλές μονάδες εκτέλεσης: Αριθμητική και λογική μονάδα Μονάδα ολίσθησης Μονάδες πολλαπλασιασμού και διαίρεσης Μονάδες κινητής υποδιαστολής

Εντολές Μηχανής MIPS Κωδικός λειτουργίας (opcode) που καθορίζει τι κάνει η εντολή Κωδικός τελεστή Τελούμενα (ή τελεστέοι ή ορίσματα - operands) Τελούμενα εισόδου Τελούμενο εξόδου Ψηφία ελέγχου

Τελούμενα Εισόδου Κατ ευθείαν τελούμενα Καταχωρητές Άμεσα τελούμενα (immediates) Σταθερές Μετατοπίσεις (offsets) Τελούμενα μνήμης Μόνο στις εντολές προσπέλασης μνήμης

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

Μορφή Εντολών MIPS Λέξη εντολής 32 bits Ξεχωριστές εντολές ακεραίων/σταθερής υποδιαστολής από κινητής υποδιαστολής Κωδικός λειτουργίας τα 6 πιο σημαντικά bits Κωδικός τελεστή τα 6 λιγότερο σημαντικά bits 2 ή 3 καταχωρητές (πεδία rs, rt και rd) Πόσα bits απαιτούνται για επιλογή καθενός από τους 32 καταχωρητές; Άλλα πεδία

Συμβολική Γλώσσα MIPS Συμβολισμός εντολής από κωδικό λειτουργίας και κωδικό τελεστή Συντμήσεις αγγλικών λέξεων Συμβολικά ονόματα καταχωρητών Συντμήσεις των συνηθισμένων χρήσεων των καταχωρητών Πρόθεμα $ Συμβολισμός αριθμητικών σταθερών Βάση συστήματος

Συμβολικά Ονόματα ΚΓΣ $zero (αριθμός καταχωρητή: 0) Σταθερή τιμή 00000000000000000000000000000000 Στην ουσία δεν είναι καταχωρητής! $a0 - $a3 (4-7) Παράμετροι συναρτήσεων $t0 - $t9 (8-15, 24-25) Προσωρινές τιμές $s0 - $s7 (16-23) Τιμές με μεγάλη διάρκεια ζωής $v0 - $v1 (2-3), $gp, $sp, $fp, $ra (28-31) Ειδικές λειτουργίες $at, $k0 - $k1 Δεσμευμένοι από το σύστημα

Εντολές R-type op rs rt rd shamt funct 000000 5-bit 5-bit 5-bit 5-bit 6-bit add $t0, $t2, $a3 sub $s5, $a1, $t3 or $v1, $s4, $a0 and $a3, $t7, $t8 Αριθμητικές και λογικές πράξεις με μόνο κατ ευθείαν τελούμενα

Εντολές R-type Ολισθήσεις op rs rt rd shamt funct 000000 5-bit 5-bit 5-bit 5-bit 6-bit sll $t0, $t2, 4 srl $s5, $a1, 11 sra $v1, $s4, 20 Ολισθήσεις με σταθερό πλήθος ψηφίων ολίσθησης Αριστερή, δεξιά λογική, δεξιά αριθμητική

Εντολές R-type Ολισθήσεις op rs rt rd shamt funct 000000 5-bit 5-bit 5-bit 5-bit 6-bit sllv $t0, $t2, $a3 srlv $s5, $a1, $t3 srav $v1, $s4, $a0 Ολισθήσεις με μεταβλητό πλήθος ψηφίων ολίσθησης

Εντολές I-type op rs rt immediate (offset) 6-bit 5-bit 5-bit 16-bit addi $t0, $t2, 100 addi $s5, $a1, -3 ori $v1, $s4, 0x7021 andi $a3, $t7, 0xfff0 Αριθμητικές και λογικές πράξεις με ένα άμεσο τελούμενο

Εντολές I-type Διακλαδώσεις op rs rt immediate (offset) 6-bit 5-bit 5-bit 16-bit beq $t0, $t2, 100 bne $s5, $a1, L021 bltz $v1, -43 bgez $a3, oxi_iso Διακλαδώσεις = Άλματα υπό συνθήκη Προορισμός σχετικός με επόμενη εντολή

Εντολές I-type Μνήμη op rs rt immediate (offset) 6-bit 5-bit 5-bit 16-bit lw $t0, 100($t2) sw $s5, 0($a1) lb $v1, 43($gp) sb $a3, -5($s0) Φορτώσεις και αποθηκεύσεις Τελική διεύθυνση προσπέλασης

Εντολές J-type op 6-bit destination 26-bit j Label002 jal FuncX Άλματα χωρίς συνθήκη Υπολογισμός διεύθυνσης προορισμού Σύνδεση Μέσω καταχωρητή $ra

Παράδειγμα 1 Αύξηση όλων των στοιχείων ενός διανύσματος ακεραίων κατά τη σταθερά 3 addi $t0,$sp,24 #αρχική θέση L: lw $t1,0($t0) #φόρτωση στοιχείου addi $t1,$t1,3 #πρόσθεση sw $t1,0($t0) #αποθήκευση addi $t0,$t0,4 #επόμενη θέση bne $t0,$t2,l #επανάλαβε όπου η θέση του διανύσματος είναι 24 bytes μετά τη θέση που δείχνει ο $sp, και το διάνυσμα εκτείνεται μέχρι τη θέση που δείχνει ο $t2

Παράδειγμα 2 Αναζήτηση και αντικατάσταση χαρακτήρα σε συμβολοσειρά ASCII addi $t2,$gp,32 #αρχική θέση L1:lb $t0,0($t2) #φόρτωση χαρακτήρα beq $t0,$zero,e #έλεγχος τερματισμού bne $t0,$s0,l2 #αναζήτηση sb $s1,0($t2) #αντικατάσταση L2:addi $t2,$t2,1 #επόμενη θέση j L1 #επανάλαβε E:... #οποιαδήποτε εντολή όπου η συμβολοσειρά βρίσκεται 32 bytes μετά τη θέση που δείχνει ο $gp και τερματίζεται με \0, ο χαρακτήρας αναζήτησης βρίσκεται στον $s0 και ο χαρακτήρας αντικατάστασης βρίσκεται στον $s1

Πλατφόρμα SPIM Συμβολομεταφραστής Πραγματικές εντολές και ψευδοεντολές Προσομοιωτής Φάκελος καταχωρητών, μνήμη και εκτέλεση εντολών Είσοδος / Έξοδος Μέσω της εντολής syscall Περισσότερα έχετε ήδη δει στο εργαστήριο