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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ.
Δομή του TRN KME Μνήμη Διάδρομος Διευθύνσεων Διάδρομος Δεδομένων
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1.Τοποθέτηση παραμέτρων 2.Μεταβίβαση ελέγχου στη διαδικασία 3.Λήψη πόρων αποθήκευσης.
Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκτάριος Κοζύρης
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Η Αρχιτεκτονική των Επεξεργαστών Ψ.Ε.Σ Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών.
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
© Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή 1.Πλυντήριο 2.Στεγνωτήριο 3.Δίπλωμα 4.αποθήκευση 30 min κάθε «φάση» Σειριακή προσέγγιση.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΗ
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
1 Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή 1.Πλυντήριο 2.Στεγνωτήριο 3.Δίπλωμα 4.αποθήκευση 30 min κάθε «φάση» Σειριακή προσέγγιση για 4 φορτία.
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Τι είναι μία ομάδα / σύνολο εντολών (Instruction Set);
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
Πρωτόκολλο IP.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Βασικά στοιχεία της Java
1 Αρχιτεκτονική υπολογιστών Ενότητα 10 : Ομάδες εντολών: Τρόποι Διευθυνσιοδότησης και Μορφοποιήσεις Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Αρχιτεκτονική Υπολογιστών Ενότητα # 5: DEMO Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
ΕΙΣΑΓΩΓΗ μέρος 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 10 ο Μάθημα.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
INSTRUCTIONS LANGUAGE OF THE MACHINE
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Single-cyle υλοποίηση:
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Κεφάλαιο 7: Διαδικτύωση-Internet
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Θέματα Φεβρουαρίου
Εισαγωγή στην Πληροφορική μεγάλου όγκου δεδομένων
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
ΤΕΙ Ηρακλείου Τμήμα Εφαρμοσμένης Πληροφορικής και Πολυμέσων
Single-cyle υλοποίηση:
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
ΗΜΥ 210: Λογικός Σχεδιασμός
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Single-cyle υλοποίηση:
Δυναμικός Κατακερματισμός
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 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, sw addi κλπ) Για παράδειγμα για την εντολή: 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) OpRsRtAddress lw$19$812 OpRsRtRdshamtfunc add$18$8 032 OpRsRtAddress sw$19$812

Άρα αυτό που θα δει η CPU είναι:

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

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

Βήμα πρώτο - Decoding Μετατρέπουμε το hex σε binary:

Βήμα Δεύτερο – Decoding Στη συνέχεια αναγνωρίζουμε το opcode και το format των εντολών: – Επιλέγουμε τα opcode bits για να αναγνωρίσουμε το format:

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

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

Εντολές:

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