Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
Advertisements

Ο Ηλεκτρονικός Υπολογιστής
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
Εισαγωγικές έννοιες πληροφορικής
Προγραμματισμός Η/Υ Πανεπιστήμιο Αιγαίου
Δομή του TRN KME Μνήμη Διάδρομος Διευθύνσεων Διάδρομος Δεδομένων
Το υλικο του Υπολογιστη
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (1).
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
ΚΕΦΑΛΑΙΟ 3 Το υλικό των υπολογιστών.
Γυμνάσιο Νέας Κυδωνίας
Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκτάριος Κοζύρης
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Η Αρχιτεκτονική των Επεξεργαστών Ψ.Ε.Σ Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Τα θέματα μας σήμερα Ηλεκτρονικοί υπολογιστές Υλικό και λογισμικό
Τι είναι μία ομάδα / σύνολο εντολών (Instruction Set);
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Α’ Γυμνασίου Βιβλίο «Σημειώσεις» σελίδες Α2
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Ο ΗΛΕΚΤΡΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΤΗΣ
ΤΟ ΕΣΩΤΕΡΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία Διάλεξη 9-b ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Δρ. Στυλιανή.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: To λογισμικό του υπολογιστή
Κεφάλαιο 10 – Υποπρογράμματα
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Συνολική αρχιτεκτονική του Επεξεργαστή TMS320C6713 και προγραμματισμός σε ASSEMBLY Τμήμα.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
Το Υλικό του Υπολογιστή
ΚΕΝΤΡΙΚΗ ΜΟΝΑΔΑ ΕΠΕΞΕΡΓΑΣΙΑΣ
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
ΕΝΟΤΗΤΑ 1 – Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή Β΄ τάξη Λέξεις Κλειδιά: Μητρική πλακέτα, κάρτες επέκτασης, κάρτα οθόνης, κάρτα ήχου, τροφοδοτικό, Κεντρική.
Η Κεντρική Μονάδα Συστήματος Εισαγωγή στην Πληροφορκή 1 Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
ΕΙΣΑΓΩΓΗ μέρος 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 10 ο Μάθημα.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα.
Συγγράμματα Γκιμπερίτης Βαγγέλης Δεξιότητες στην Κοινωνία της Πληροφορίας – Εφαρμογές Πληροφορικής. Γουλτίδης, Χρήστος ECDL /10/2009.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
INSTRUCTIONS LANGUAGE OF THE MACHINE
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Single-cyle υλοποίηση:
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Κεντρική Μονάδα Επεξεργασίας
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Με τι ασχολείται η πληροφορική; Η πληροφορική μελετά με επιστημονικό τρόπο: 1.Τον αποτελεσματικό τρόπο επεξεργασίας των πληροφοριών με τη βοήθεια του υπολογιστή.
Single-cyle υλοποίηση:
Υλικό Υπολογιστών (Hardware)
Πληροφορική Α' Γυμνασίου 1 Κεφάλαιο 2 Το υλικό του Υπολογιστή.
Single-cyle υλοποίηση:
Βασικές έννοιες (Μάθημα 2) Τίτλος: Η Συσκευή
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής

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

 Οι εντολές που δέχεται και εκτελεί το 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+1  addi $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 λέξεων)

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

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

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

 Αντιγράψτε σε ένα αρχείο ονόματος 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 < =148 dec = 94 hex add $18, $18, $17 # $18 < =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)

Εντολές που καλούν την main