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

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

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

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

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

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

Αρχιτεκτονικη υπολογιστων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

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

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

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

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

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

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

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

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

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

Οι υπολογιστές στον πραγματικό κόσμο

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

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

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

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

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

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

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

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

Πολλαπλασιασμός και Διαίρεση Ακεραίων

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

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

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

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

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

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

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

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

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

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

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

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

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

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

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

Προγραμματισμός Υπολογιστών

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

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

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

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

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

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

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

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

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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

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

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

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

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

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

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 1. Χειμερινό Εξάμηνο

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

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

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

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

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

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

Transcript:

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

Γλώσσα Μηχανής Δυαδική Απεικόνιση Μέχρι στιγμής χρησιμοποιούμε την assembly: Δίνουμε ονόματα σε πράξεις (όπως add) και σε συντελεστές (όπως $10) Χρησιμοποιήσαμε branches και jumps με την βοήθεια labels και όχι καταχωρητών Όπως έχουμε δει ως ένα βαθμό, οι assemblers χρησιμοποιούν πολλές ψευδο-εντολές (όπως η la)

Γλώσσα Μηχανής Δυαδική Απεικόνιση Τα προγράμματα πρέπει σταδιακά να μεταφράζονται σε γλώσσα μηχανής, μια δυαδική μορφή η οποία μπορεί να καταχωρείται στη μνήμη και να αποκωδικοποιείται από την CPU Η γλώσσα μηχανής του MIPSείναι σχεδιασμένη ώστε να αποκωδικοποιείται εύκολα: Κάθε instructionτου MIPSέχει το ίδιο μήκος, 32 bits Υπάρχουν μόνο τρεις (3) μορφές εντολών, οι οποίες μοιάζουν πολύ μεταξύ τους R-type Format I-type Format J-type Format

R-type Format Αριθμητικές instructionsχρησιμοποιούν το Register-to-Register (R-type) format: Αυτό το format περιέχει 6 διαφορετικά πεδία:

R-type Format op: Είναι ένας κώδικας πράξης (operation code) ο οποίος επιλέγει μια συγκεκριμένη πράξη rsκαι rt: Είναι ο πρώτος και ο δεύτερος καταχωρητής πηγής rd: Ο καταχωρητής προορισμού shamt: Χρησιμοποιείται μόνο για τις shift instructions func: Χρησιμοποιείται μαζί με το opγια να επιλέξουν μια αριθμητική εντολή

R-type Format Έστω ότι έχουμε την παραπάνω εντολή. To πρώτοκαι τελευταίοπεδίο (0 & 32) σε συνδυασμό δηλώνουν ότι η πράξη που θα εκτελεστεί είναι η πρόσθεση. Το δεύτερο πεδίο δίνει τον αριθμό του καταχωρητή ($17) που είναι η πηγή του πρώτου τελεσταίου της πρόσθεση. Το τρίτο πεδίο δίνει τον αριθμό του καταχωρητή ($18) που είναι η πηγή του δεύτερου τελεσταίου της πρόσθεσης. Το τέταρτο πεδίο δίνει τον αριθμό του καταχωρητή ($8) που θα δεχτεί το αποτέλεσμα της πρόσθεσης. Το πέμπτο πεδίοδεν χρησιμοποιείται σε αυτή την εντολή και για αυτό παίρνει την τιμή 0.

Όταν μια εντολή χρειάζεται μεγαλύτερα πεδία από αυτά που δίνονται πιο πάνω παρουσιάζονται προβλήματα Για παράδειγμα, στην εντολή lwπρέπει να προσδιορισθούν δύο καταχωρητές και μια διεύθυνση. Αν οι διευθύνσεις χρειάζονταν μόνο 5 bits (=25 ή 32 θέσεις μνήμης ) τότε αυτό θα ήταν δυνατό Όμως, αυτό το μέγεθος είναι πολύ μικρό για να μπορέσει να χρησιμοποιηθεί για διευθύνσεις δεδομένων Οι σχεδιαστές του MIPS αποφάσισαν να κρατήσουν όλες τις εντολές στοίδιο μήκος -32 bits- διαφορετικά είδη εντολών θα πρέπει να έχουν διαφορετική μορφή

I-type Format Ένα δεύτερο είδος εντολής ονομάζεται I-typeκαι χρησιμοποιείται από τις εντολές μετακίνησης δεδομένων (π.χ. lw, swaddi κλπ) Για παράδειγμα για την εντολή: lw $8, Astart ($19) Η τιμή 19 θα τοποθετηθεί στο πεδίο Rs Η τιμή 8 θα τοποθετηθεί στο πεδίο Rt και η βάση της διεύθυνσης του πίνακα Astart στο πεδίο διευθύνσεων (address) Σημειώστε ότι το πεδίο Rt στην εντολή lw δίνει το πεδίο που θα πάρει το αποτέλεσμα

Πολλές μορφές εντολών προκαλούν πολυπλοκότητα στο υλικό μπορούμε να μειώσουμε την πολυπλοκότητα κρατώντας τις μορφές των εντολών παρόμοιες Για παράδειγμα, τα πρώτα τρία πεδία στις μορφές R-type και I-type έχουν τα ίδια ονόματα και το τέταρτο πεδίο στην I-type είναι ίσο με το μήκος των άλλων τριών πεδίων του R-type. Οι διάφορες μορφές/τύποι των εντολών ξεχωρίζουν από τις τιμές που δίνονται στο πρώτο πεδίο (op). Η κάθε μορφή παίρνει συγκεκριμένες τιμές στο πεδίο op, γι αυτό και παραδοσιακά το πεδίο αυτό ονομάζεται opcode - κωδικός εντολής

Kωδικοποιήσεις μερικών από τις εντολές που μελετήσαμε μέχρι τώρα Μεγέθη των πεδίων για τις πιο πάνω εντολές Οι εντολές add και sub έχουν το ίδιο opπεδίο. Το πεδίο funcπροσδιορίζει ποιά αριθμητική πράξη (πρόσθεση ή αφαίρεση) πρέπει να εκτελεστεί

Έστω οι παρακάτω εντολές: lw $8, 12($19) add $8, $18, $8 sw $8, 12($19) Παράδειγμα Op Rs Rt Address 100011 10011 01000 0000000000001100 lw $19 $8 12 Op Rs Rt Rd shamt func 000000 10010 01000 01000 00000 100000 add $18 $8 $8 0 32 Op Rs Rt Address 101011 10011 01000 0000000000001100 sw $19 $8 12

Άρα αυτό που θα δει ηcpu είναι: 10001110011010000000000000001100 00000010010010000100000000100000 10101110011010000000000000001100

J-type Format Αυτό το format το χρησιμοποιεί μόνο η j, jal και jr

Πώς κάνουμε decode; Έστω ότι έχουμε τις ακόλουθες 6 εντολές σε δεκαεξαδικό: 00001025hex 0005402Ahex 11000003hex 00441020hex 20A5FFFFhex 08100001hex Και θεωρούμε ότι η πρώτη εντολη βρίσκεται στη διεύθυνση 0x00400000

Βήμα πρώτο -Decoding Μετατρέπουμε το hex σε binary: 00000000000000000001000000100101 00000000000001010100000000101010 00010001000000000000000000000011 00000000010001000001000000100000 00100000101001011111111111111111 00001000000100000000000000000001

Βήμα Δεύτερο Decoding Στη συνέχεια αναγνωρίζουμε το opcode και το format των εντολών: Επιλέγουμε τα opcode bits για να αναγνωρίσουμε το format: 000000 00000 00000 00010 00000 100101 000000 00000 00101 01000 00000 101010 000100 01000 00000 00000 00000 000011 000000 00010 00100 00010 00000 100000 001000 00101 00101 11111 11111 111111 000010 00000 10000 00000 00000 000001

Βήμα Δεύτερο Decoding Δείτε το opcode: 0 σημαίνει R-type format 2 ή 3 J-type format Οτιδήποτε άλλο σημαίναι I-type format Στη συνέχεια χωρίζουμε τα πεδία με βάση το format των εντολών:

Βήμα Τρίτο Decoding Στη συνέχεια μεταφράζουμε: Την or δεν την έχουμε δει Διευθύνσεις μνήμης

Εντολές:

http://www.mrc.uidaho.edu/mrc/people/jff/digital/mipsir.html

Μετατρέψτε: add $9, $10, $11 sub $19, $20, $21 lw $6, 40($11) sw $25, 0($19) Και: 00100000000100000000000000001010 0x20110040