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

Slides:



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

Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Το υλικο του Υπολογιστη
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Να καταργήσουμε τη ΓΛΩΣΣΑ και να κρατήσουμε μόνο την ψευδογλώσσα
Σχεδίαση μονάδας ελέγχου επεξεργαστή Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκτάριος Κοζύρης
Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ. Ε
Εισαγωγή στο AT91 Νίκος Πετρέλλης, ΠΔ407/80. Αρχιτεκτονική του ARM926EJ-S.
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Η Αρχιτεκτονική των Επεξεργαστών Ψ.Ε.Σ Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών.
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Εισαγωγή στο AT91 Νίκος Πετρέλλης, ΠΔ407/80.
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
Ολυμπιάδα Πληροφορικής
Ολυμπιάδα Πληροφορικής
1 Ολυμπιάδα Πληροφορικής Μάθημα 5. 2 Στόχοι μαθήματος Πίνακες 2 διαστάσεων.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
© Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος Νεκτάριος Κοζύρης Νίκος Αναστόπουλος
Εισαγωγή στις Νέες Τεχνολογίες και Εργαστηριακές Εφαρμογές, Το εσωτερικό ενός υ π ολογιστή Κεφάλαιο 3.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
Βασικά στοιχεία της Java
1 Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Αρχιτεκτονική Υπολογιστών Ενότητα # 5: DEMO Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
ΕΙΣΑΓΩΓΗ μέρος 2 ΜΙΚΡΟΕΛΕΓΚΤΕΣ - ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Π. ΚΩΣΤΑΡΑΚΗΣ Β. ΧΡΙΣΤΟΦΙΛΑΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 10 ο Μάθημα.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα.
Το εσωτερικό ενός υπολογιστή
Βρόχος Do … Loop Σκοπός Μαθήματος Χρήση Do… Loop για την εκτέλεση μιας ομάδας εντολών μέχρι να εκπληρωθεί μια συγκεκριμένη συνθήκη. Αθήνα, 2015.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Ενισχυτική διδασκαλία
INSTRUCTIONS LANGUAGE OF THE MACHINE
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Single-cyle υλοποίηση:
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Θέματα Φεβρουαρίου
Επαναληπτικές ασκήσεις
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Single-cyle υλοποίηση:
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
Το εσωτερικό ενός υπολογιστή
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop... Rep: lw $2,100($3)
Ο ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗΣ MIPS R10000
Άσκηση 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.
ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

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

Στο προηγούμενο... Είδαμε εντολές μεταφοράς δεδομένων και βρόγχους στον MIPS: lw: Εντολή φόρτωσης δεδομένων από την μνήμη στον επεξεργαστή sw: Εντολή μεταφοράς και αποθήκευσης δεδομένων από τον επεξεργαστή στη μνήμη

Στο προηγούμενο... Εντολές διακλάδωσης υπό συνθήκη: beq (branch if equal – διακλάδωση ΑΝ ΕΙΝΑΙ ίσο) Διαβάζει τις τιμές δύο καταχωρητών και τις συγκρίνει. Αν είναι ίσες το πρόγραμμα διακλαδίζεται στην θέση μνήμης που υποδεικνύει η συγκεκριμένη εντολή, πχ: beq $16, $17, label bne (branch if not equal – Διακλάδωση αν ΔΕΝ ΕΙΝΑΙ ΙΣΟ) Αντίστοιχα διαβάζει τις τιμές δύο καταχωρητών, τις συγκρίνει και αν ΔΕΝ είναι ίσες, διακλαδίζεται στην θέση μνήμης που υποδεικνύεται από την συγκεκριμένη εντολή

Επεξήγηση του προγράμματος του προηγούμενου μαθήματος .data #o,ti akolouthei tin entoli ayti einai arxikopoiiseis str_n: .asciiz "n = " str_s: .asciiz " s = " str_nl: .asciiz "\n“ .text #meta apo auti tin entoli akolouthei to kirios programma globl main #orizontai san global metavlites oste na mporoume na tis globl loop #xrisimopoiisoume san breakpoint main: addi $2, $0, 4 #klisi gia ektiposi simvoloseiras (me to noumero 4) la $4, str_n #pseudoentoli pros assembler gia na tiposei o,ti syscall #iparxei sti tampela str_n (thesi mnimis tis str_n)

Επεξήγηση του προγράμματος του προηγούμενου μαθήματος addi $2, $0, 5 #klisi sistimatos gia anagnosi integer syscall #to programma diavazei ton integer add $16, $2, $0 #Epistrefei tin timi int sto n ($16) add $17, $0, $0 # s = 0 addi $18, $0, 1 # i = 1 loop: add $17, $17, $18 # s = s + i addi $18, $18, 1 # i = i + 1 bne $18, $16, loop # Epanalamvanei oso i != n

Επεξήγηση του προγράμματος του προηγούμενου μαθήματος addi $2, $0, 4 #kalei tin print_string la $4, str_s #orizei tin dieuthinsi tou string syscall #tiponei to string addi $2, $0, 1 #kalei tin print_int (me to noumero 1 ) add $4, $17, $0 #Antigrafei to s ($17) ston $4 syscall #tiponei to s addi $2, $0, 4 la $4, str_nl #kai allazei grammi syscall j main #kai xsana apo tin arxi

Πρόγραμμα για επανάληψη Φτιάξτε πρόγραμμα το οποίο θα κάνει τα εξής: Θα ζητάει συνέχεια έναν ακέραιο αριθμό n μέχρι να του δώσουμε την τιμή -1. Μόλις γίνει αυτό, το πρόγραμμα θα τυπώνει το άθροισμα όλων των αριθμών που του έχουμε ως τώρα δώσει και θα επαναλαμβάνεται εις άπειρον

Βήματα Φτιάξτε τον κώδικα που να τυπώνει τα στοιχεία σας (Όνοματεπώνυμο, ΑΜ, Εξάμηνο) Πώς τυπώνουμε μια συμβολοσειρά; Διαμορφώστε τον κώδικα έτσι ώστε να ζητάει και να διαβάζει έναν ακέραιο n αριθμό και να τον τυπώνει Πώς διαβάζουμε ακέραιους αριθμούς;

Βήματα Διαμορφώστε τον κώδικα έτσι ώστε να ζητάει συνέχεια τον ακέραιο n μέχρι να του δώσετε -1. Όταν του δώσετε -1 να τυπώνει το άθροισμα x όσων αριθμών έχετε δώσει Το πρόγραμμα πρέπει να ξεκινάει ξανά Ατέρμονας βρόγχος

Προσπελάσεις Μνήμης στον MIPS Εντολές load και store Οι επεξεργαστές κατηγορίας RISC δεν μπορούν να κάνουν πράξεις απ’ευθείας σε νούμερα μέσα στη μνήμη Για αυτό το λόγο είναι απαραίτητο να Μπορούν να διαβάσουν στοιχεία από τη μνήμη του υπολογιστή, Να τα αντιγράψουν σε έναν καταχωρητή μέσα στον επεξεργαστή για να κάνει αυτός τις απαραίτητες πράξεις Να επιστρέψει στην μνήμη δεδομένα που έχουν υπολογιστεί και έχουν προσωρινά καταχωρηθεί σε έναν καταχωρητή, στην κεντρική μνήμη

Προσπελάσεις Μνήμης: Εντολές load και store Από την μνήμη μπορούν να διαβαστούν είτε Ολόκληρη λέξη (32 bits – 4 byte) Μισή λέξη (16 bit) Ένα byte (8 bit) Αντιγραφή λέξης από μνήμη σε καταχωρητή: lw $rd, imm($rx) όπου: $rd  ο καταχωρητής προορισμού $rx  καταχωρητής index register. imm  σταθερός αριθμός

Πώς λειτουργεί η αντιγραφή από μνήμη σε καταχωρητή lw $rd, imm($rx) Όταν θέλουμε να καλέσουμε ένα στοιχείο από την μνήμη για επεξεργασία, πρέπει πρώτα να πούμε πού βρίσκεται. Αυτό γίνεται με την πράξη imm($rx)όπου όταν ορίσουμε έναν δείκτη καταχωρητή και την σταθερή τιμή imm τότε ορίζουμε την ακριβή θέση μνήμης που ο MIPS θα καλέσει το δεδομένο για να το αποθηκεύσει στον καταχωρητή του $rd Η εντολή αυτή δηλαδή προκαλεί ανάγνωση από την θέση imm($rx) της μνήμης

Η μνήμη σαν πίνακας Η μνήμη μπορεί εύκολα να συμβολιστεί σαν ένας πίνακας M [ ]. Μ [Α] δείχνει ότι έχουμε έναν πίνακα που συμβολίσουμε ότι το περιεχόμενο που εμείς ζητάμε τώρα είναι στη θέση μνήμης με διεύθυνση A. Η προηγούμενη εντολή σε πιο κατανοητή γλώσσα μεταφράζεται σε Μ [imm($rx)]

Αντιγραφή από καταχωρητή στη μνήμη sw $rs, imm($rx) Όπου: $rs  Καταχωρητής πηγής Imm($rx)  η θέση μνήμης που θα αποθηκευτεί ένα δεδομένο Αντίστοιχα με την lw, η sw γράφει στη θέση μνήμης με διεύθυνση (imm + $rx), δηλαδή προκαλεί την αντιγραφή M[imm + $rx] <-- $rs

Διευθύνσεις Bytes και Περιορισμοί Ευθυγράμμισης “Ο MIPS είναι byte addressable” Μία λέξη καταλαμβάνει 4 θέσεις μνήμης (λόγω του ότι είναι 4 bytes) Άρα όταν λέμε ότι ένας πίνακας καταλαμβάνει 100 θέσεις ακεραίων στη μνήμη, πιάνει 400 συνεχόμενες διευθύνσεις σ’αυτή Η θέση ενός ακεραίου διαφέρει από αυτή του διπλανού του κατά 4

Διευθύνσεις Bytes και Περιορισμοί Ευθυγράμμισης 00 12 20 02 2E 07 3A 12 32 558 1955