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

Σχετικά έγγραφα
ΤΠ 2108 Αρχιτεκτονική Υπολογιστών (Εργαστήριο) ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ. Σειρά Ασκήσεων 1

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

Σειρά Ασκήσεων 1: Γνωριμία με τον Προσομοιωτή SPIM

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

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

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

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

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

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

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

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

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

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

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

ΤΠ 2108 Αρχιτεκτονική Υπολογιστών (Εργαστήριο) ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΚΡΗΤΗΣ. Σειρά Ασκήσεων 2

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

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

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

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

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

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

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

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

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

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

Αρχιτεκτονικές Συνόλου Εντολών

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

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

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

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

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

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

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

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

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

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

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

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

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

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

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

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

Βασικές Έννοιες της Πληροφορικής

Οργάνωση Η/Υ. Γλώσσα Assembly. Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Δομημένος Προγραμματισμός

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

Βασική δοµή και Λειτουργία Υπολογιστή

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Δεδομένα & Αναπαράσταση Πληροφορίας

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Συμβολική Γλώσσα στον ΑΒΑΚΑ

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

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

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

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

Το υλικό του υπολογιστή

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

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Δομή Ηλεκτρονικού υπολογιστή

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

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

Εφαρμογές μικροελεγκτών

ΗΥ 232. Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 1. Εισαγωγή στο μάθημα. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

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

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

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

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

Transcript:

ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονικη υπολογιστων Τζαγκαράκης Χαράλαμπος hatzagarak@cs.teicrete.gr

Εισαγωγη: ο επεξεργαστης και η γλωσσα του Eπεξεργαστής: MIPS Microprocessor Without Interlocked Pipeline Stages RISC Reduced Instruction Set Computer (Υπολογιστές Ελαττωμένου Ρεπερτορίου Εντολών) Χρησιμοποιηθηκε μεταξύ άλλων από: SONY, Silicon Graphics, Nintendo, NEC Μπορεί να λειτουργήσει σε ένα πλήρες σύστημα υπολογιστή Έχει πολύ απλό instruction setάρα πολύ καλό εργαλείο για εκπαίδευση Instruction Set Το λεξιλόγιο του επεξεργαστή Instructions Οι εντολές (λέξεις) που καταλαβαίνει

Γλώσσα Μηχανής -Machine Language Οι εντολές που δέχεται και εκτελεί το hardware είναι κωδικοποιημένες σαν δυαδικά σύμβολα Χαρακτηριστικό τους είναι ότι είναι απλούστερες από τις HLL(C-C++) Οικογένειες επεξεργαστών binary compatible (ίδια γλώσσα μηχανής) Υπολογιστές Ελαττωμένου Ρεπερτορίου Εντολών (RISC- Reduced Instruction Set Computers) Λεξιλόγιο με απλές και λίγες εντολές

Ο υπολογιστής εκτελεί αριθμητικές πράξεις! Χρησιμοποιείται συμβολικό όνομα για κάθε επιτρεπτό opcode (πράξη) δεκαδικό ή δεκαεξαδικό αριθμό με μερικά απλά σύμβολα για κάθε τελεστέο Γράφουμε αυτά τα στοιχεία της κάθε εντολής σε μία χωριστή γραμμή (Assembly) Assembler μετατρέπει το πρόγραμμα assembly σε γλώσσα μηχανής Compiler μετατρέπει το c-c++πρόγραμμα σε γλώσσα Assembly

Από τι αποτελείται η γλώσσα Μηχανής; Από Κώδικα Πράξης (opcode operation code) Τελεστέους (operands) που περιγράφουν πάνω σε τι θα γίνει η πράξη Οι τελεστέοι είναι πάντα καταχωρητές γενικού σκοπού (registers) του επεξεργαστή ή σταθερές ποσότητες (αριθμοί) αλλά ΟΧΙ θέσεις μνήμης O MIPS έχει 32 καταχωρητές των 32 bits ο καθένας (όσο το μέγεθος λέξης του MIPS)

Παράδειγμα: Η εντολή "add $17, $15, $16 τι κάνει; Προσθέτειτο περιεχόμενο του καταχωρητή 15 με αυτό του 16 και τοποθετεί το άθροισμα στον καταχωρητή 17 3 τελεστές για λόγους απλότητας (Σχεδιαστική αρχή 1: Simplicity favors regularity) Οι τελεστές των αριθμητικών πράξεωνπρέπει να είναι από ένα μικρό σύνολο από θέσεις μνήμης που καλούνται registers

Άλλες εντολές Εντολή sub(subtract αφαίρεση) sub $23, $16, $18 γράφει στον καταχωρητή υπ' αριθμόν 23 το αποτέλεσμα της αφαίρεσης $16 - $18 Εντολή addi(add immediate): Παρόμοια με add αλλά ο τρίτος καταχωρητής είναι σταθερό νούμερο addi $23, $16, 157 διαβάζει το περιεχόμενο του καταχωρητή 16, προσθέτει τον αριθμό 157 σε αυτό, και γράφει το αποτέλεσμα στον καταχωρητή 23

Άλλες εντολές i=i+1addi $18, $18, 1 Καταχωρητής $0περιέχει την σταθερή ποσότητα 0 Επομένως, η αρχικοποίηση i = 1 γίνεται addi $18, $0, 1

Πώς εκτελείται ένα πρόγραμμα; Οι εντολές γράφονται η μία κάτω από την άλλη στη κεντρική μνήμη Μετά την ανάγνωση και εκτέλεση της εντολής ο επεξεργαστής αυξάνει τονpc (Program Counter) ώστε να δείχνει την επόμενη προς εκτέλεση εντολή Η σειριακή εκτέλεση των εντολών διακόπτεται από Εντολή Μεταφοράς Ελέγχου (CTI Control Transfer Instruction)

Πώς εκτελείται ένα πρόγραμμα; CTI εντολές είναι: Διακλαδώσεις (Branch), Άλματα (jump). Πχ: j label λειτουργεί με τέτοιο τρόπο ώστε η επόμενη εντολή που θα εκτελεστεί να είναι η εντολή στη διεύθυνση μνήμης "label", αντί να είναι η "από κάτω" εντολή. Δηλαδή η παραπάνω εντολή φορτώνει τη διεύθυνση "label" στον καταχωρητή PC

Μερη του υπολογιστη Οι υπολογιστές αποτελούνται από: Μονάδες Εισόδου Εξόδου (Πληκτρολόγιο, ποντίκι, οθόνη, δίσκοι, κλπ.) Κεντρική Μνήμη. Εκατομμύρια στοιχεία αποθήκευσης πληροφορίας Επεξεργαστής ή Κεντρική Μονάδα Επεξεργασίας (CPU Central Processing Unit) Περιέχει κυκλώματα ελέγχου. Καθοδηγούν την εκτέλεση των λειτουργιών που θα πούμε πιο κάτω Δρόμους Δεδομένων (Datapath).Από εκεί περνάνε πληροφορίες που ανταλλάσσει ο επεξεργαστής με τημνήμη και τις περιφερειακές συσκευές Καταχωρητές Γενικού Σκοπού (General-Purpose Registers). Πρόκειται για μια πολύ μικρή μνήμη, μεγέθους συνήθως κάμποσων δεκάδων λέξεων (π.χ. 32 λέξεων)

Registers Στη μνήμη του επεξεργαστή αποθηκεύονται και τα δεδομένα και οι εντολές (instructions) που πρόκειται να γίνουν. Αυτό γίνεται για να μπορεί να δει και να επεξεργαστεί ο υπολογιστής τις ίδιες του τις εντολές σαν δεδομένα. Ο μεταφραστής compiler) είναι το πρώτο βασικό πρόγραμμα υπολογιστή που γεννά εντολές υπολογιστή

Πώς λειτουργεί ο Υπολογιστής; Με επαναληπτικό τρόπο Διαβάζει εντολή Την αποκωδικοποιεί εκτελεί (πχ: μεταφορά δεδομένων, πράξεις, αποφάσεις αλλαγής πορείας) Διαβάζει από τη μνήμη την επόμενη εντολή που θα εκτελέσει Αυτό γίνεται επ αόριστο εκτός και αν εκτελεστεί εντολή που να λέει στον επεξεργαστή να αλλάξει πορεία!

Program Counter Μετρητής Προγράμματος Είναι ειδικός καταχωρητής Στο τέλος της εκτέλεσης μιας εντολής, ο PC περιέχει τη διεύθυνση μνήμης της επόμενης εντολής που πρέπει να διαβαστεί από τη μνήμη και να εκτελεστεί Αν η μνήμη ήταν ένας μεγάλος πίνακας M[]τότε οpc θα ήταν ο δείκτης iο οποίος μας λέει να διαβάσουμε την επόμενη εντολή από τον πίνακα M[ i ].

Κώδικας Γνωριμίας με τον SPIM Αντιγράψτε σε ένα αρχείο ονόματος ask1.s(μέσω Notepad) τον παρακάτω κώδικα.text # program memory:.globl main # label "main" must be global; # bootstrap trap.handler calls main. main: # registers: $16: i; $17: j; addi $16, $0, 10 # init. i=10; ($0==0 always) addi $17, $0, 64 # init. j=64; (64 decimal = 40 hex) add $18, $16, $17 # $18 <- i+j = 74 dec = 4a hex add $18, $18, $18 # $18 <- 74+74=148 dec = 94 hex add $18, $18, $17 # $18 <-148+64=212 dec = d4 hex addi $17, $17, -1 # j <- j-1 = 63 dec = 3f hex sub $17, $17, $16 # j <- j-i = 53 dec = 35 hex j main # jump back to main (infinite loop)

Single Step to See Program Running

Ευχαριστώ πολύ!