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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές Έννοιες Προγραμματισμού
Advertisements

(READ – WRITE) ΚΑΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ (INTEGER,REAL,CHAR)
Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
Εντολές Διακλάδωσης ή Εντολές Υπό Συνθήκη
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Pipelining – Βασικές αρχές.
Σημειώσεις : Χρήστος Μουρατίδης
ΟΙ ΠΛΗΡΟΦΟΡΙΕΣ ΣΤΟ ΕΣΩΤΕΡΙΚΟ ΤΟΥ Η/Υ
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
Εισαγωγή στο AT91 Νίκος Πετρέλλης, ΠΔ407/80. Αρχιτεκτονική του ARM926EJ-S.
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
Εισαγωγή στο AT91 Νίκος Πετρέλλης, ΠΔ407/80.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Pipelining –
Σημειώσεις : Χρήστος Μουρατίδης
Ολυμπιάδα Πληροφορικής
Ολυμπιάδα Πληροφορικής
1 Ολυμπιάδα Πληροφορικής Μάθημα 5. 2 Στόχοι μαθήματος Πίνακες 2 διαστάσεων.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
Άσκηση Διεύθυνσης Μνήμης με cache Νεκτάριος Κοζύρης Άρης Σωτηρόπουλος Νίκος Αναστόπουλος.
Κάντε κλικ για έναρξη… Τ Ο ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ Κέντρο εντολών Χώρος γραφικών (σελίδα) Χώρος σύνταξης διαδικασιών.
Μονάδες μέτρησης πληροφορίας και χώρου στους Η/Υ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
Ο υπολογιστής ως ψηφιακή μηχανή
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
Βασικά στοιχεία της Java
1 Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Φώτης Βαρζιώτης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Αρχιτεκτονική Υπολογιστών Ενότητα # 5: DEMO Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 10 ο Μάθημα.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 9 ο Μάθημα.
Το εσωτερικό ενός υπολογιστή
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Ενισχυτική διδασκαλία
Δυαδικό Σύστημα Δεκαδικό Σύστημα Δεκαεξαδικό Σύστημα
INSTRUCTIONS LANGUAGE OF THE MACHINE
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Single-cyle υλοποίηση:
Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι Ιωάννης Έλληνας Τμήμα Η/ΥΣ
Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Θέματα Φεβρουαρίου
Εισαγωγή στην Πληροφορική μεγάλου όγκου δεδομένων
Κεφάλαιο 1 Ψηφιακός κόσμος Κωδικοποίηση.
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
ΨΗΦΙΑΚΟΣ ΚΟΣΜΟΣ.
Ονοματεπώνυμο : Χρυσούλα Αγγελοπούλου Καθηγήτρια Πληροφορικής
Single-cyle υλοποίηση:
ΕΝΟΤΗΤΑ 1 – Γνωρίζω τον υπολογιστή ως ενιαίο σύστημα
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών
Το εσωτερικό ενός υπολογιστή
ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο 2008
Διαχειρίζεται, Επεξεργάζεται και Ανταλλάσσει
ΗΜΥ 210: Λογικός Σχεδιασμός
Single-cyle υλοποίηση:
Γυμνάσιο Νέας Κυδωνίας
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Μεταγράφημα παρουσίασης:

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

Διευθύνσεις Bytes Όροι που είχαμε δει σε προηγούμενο μάθημα: MIPS Byte Addressable όπου κάθε διεύθυνση μνήμης αναφέρονται σε bytes 32-bit λέξη (π.χ. Ακέραιος) καταλαμβάνει 4 bytes στη μνήμη Αν είχαμε πίνακα χαρακτήρων (θα δούμε παρακάτω τι είναι) ο κάθε χαρακτήρας καταλαμβάνει 1 byte σύμφωνα με τον κωδικοποίηση ASCII

Περιορισμοί Ευθυγράμμισης Σημαίνει ότι μια ποσότητα Ν bytes επιβάλλεται να έχει διεύθυνση η οποία θα είναι ακέραιο πολλαπλάσιο του Ν Όπως έχουμε πει το Ν είναι δύναμη του 2. Άρα η τιμή αποθηκεύεται στα λιγότερο σημαντικά στοιχεία (least significant bits – LSB) και τα υπόλοιπα bits γεμίζουν με μηδενικά (ακολουθεί παράδειγμα)

Αρίθμηση των Bytes Είναι αναγκαίο όταν αποθηκεύεται στη μνήμη μια ποσότητα από πολλαπλά bytes (π.χ. Ένας ακέραιος), να καθορίζεται με ποιά σειρά αριθμούνται (διευθυνσιοδοτούνται) αυτά τα επιμέρους bytes μέσα στη ποσότητα αυτή. Υπάρχει ασυμφωνία ανάμεσα στις μεγάλες εταιρίες σχετικά με αυτή την αρίθμηση. Για αυτό υπάρχουν δύο τύποι επεξεργαστών σήμερα: “Big-endian” “Little-endian”

Έστω ότι... Big-Endian Machine LS MS κ ρ ή τ η \0 Ο αριθμός 2003 σε Binary (Σε hex: 7D3) 00000000 Byte 12: 00000000 Byte 13: 00000111 Byte 14: 11010011 Byte 15: Word 12: κ Byte 16: ρ Byte 17: ή Byte 18: τ Byte 19: Word 16: Σε κάθε byte και χαρακτή- ρας η Byte 20: \0 Byte 21: Byte 22: Byte 23: Word 20: Byte 24: Byte 25: Byte 26: Byte 27: Word 24: Null Χαρ/ρας

Έστω ότι... Little-Endian Machine LS MS τ ή ρ κ \0 η Ο αριθμός 2003 σε Binary (Σε hex: 7D3) 00000000 Byte 15: 00000000 Byte 14: 00000111 Byte 13: 11010011 Byte 12: Word 12: τ Byte 19: ή Byte 18: ρ Byte 17: κ Byte 16: Word 16: Σε κάθε byte και χαρακτή- ρας Byte 23: Byte 22: \0 Byte 21: η Byte 20: Word 20: Byte 27: Byte 26: Byte 25: Byte 24: Word 24: Νull Χαρ/ρας

ASCII code

Ας δοκιμάσουμε ένα πρόγραμμα..! Γράψτε ένα πρόγραμμα σε assembly mips το οποίο να ζητάει από τον χρήστη να δώσει 2 χαρακτήρες. Να αποθηκεύει τους χαρακτήρες σε ένα πίνακα ‘input’. Το πρόγραμμα να τυπώνει "Edwses 'a'." εάν ο πρώτος χαρακτήρας είναι ο ‘a’ και "Edwses 'b'." εάν ο δεύτερος είναι ο ‘b’. Τα "Edwses 'a'." και "Edwses 'b'." να εμφανιζονται σε διαφορετικες γραμμες.

.globl main .data str1: .asciiz " dose xaraktires : " str2: .asciiz "edwses 'a' " str3: .asciiz "edwses 'b' " ##oi metavlites simvoloseirwn stre: .asciiz "end" strln: .asciiz "\n " .align 2 ## Xorizoume tin mnimi se 2^2 = 4 kommatia input: .space 3 ## o pinakas input pernei 2 xarakthres kai allh ## mia timh to /0 .text ## Kirios kodikas .globl main .globl l1 .globl l2 main: addi $2,$0,4 la $4,str1 ##   ”dose xaraktires:” syscall

lb = load byte. Ανάλογη εντολή με το lw που έχουμε μάθει. addi $2,$0,8 ##Attribute 8: DIAVAZEI SIMVOLOSEIRA apo console la $4,input ##Me to pseydoinstruction xserei oti tha diavasei 3 ##char apo console addi $5,$0,3 ##Edo tou dilonoume oti o pinakas tha exei 3 ##stoixeia mazi me to \0 syscall ##Klisi anagnosis char addi $2,$0,4 la $4,strln syscall la $8,input ##Ta periexomena toy input mpainoyn ston $8 lb $9,0($8) ##Diavazei to proto byte tou $8 kai to vazei sto $9 lb $10,1($8) ##Diavazei to deutero byte tou $8 k to vazei sto $10 addi $11,$0,97##fortonei to ASCII tou ‘a’ dec:97(hex 61) ston $11 addi $12,$0,98##Fortonei to ASCII tou ‘b’ dec:98(hex 62) ston $12 Εδώ λέμε στον MIPS να πάει από τη πρώτη θέση της μνήμης του πίνακα input να διαβάσει τα περιεχόμενά του και να τα αποθηκεύσει στον $9 lb = load byte. Ανάλογη εντολή με το lw που έχουμε μάθει.

beq $9,$11,l1 ##An $9 == $11, branch sto l1 beq $10,$12,l2 ##An $10 == $12, branch sto l1 j end l1: addi $2,$0,4 la $4,str2 syscall la $4,strln beq $10,$12,l2

l2: addi $2,$0,4 la $4,str3 syscall end: la $4,strln la $4,stre

Παράδειγμα 2 Φτιάξτε ένα πρόγραμμα το οποίο να διαβάζει και να καταχωρεί σε 2 καταχωρητές 2 αριθμούς. Στη συνέχεια να ζητάει τον χαρακτήρα ‘+’ για την πρόσθεση και τον χαρακτήρα ‘-’ για αφαίρεση. Όταν ο χρήστης δίνει από την κονσόλα το ‘+’ να υπολογίζεται και να τυπώνεται το άθροισμα των δύο παραπάνω αριθμών. Όταν δίνει ‘-’ να υπολογίζεται και να τυπώνεται η διαφορά τους. Αν ο χρήστης δώσει «κατα λάθος» άλλον ascii χαρακτήρα εκτός από τους αποδεκτούς πρέπει να εμφανίζεται ένα μύνημα λάθους και να ξαναδίνει ο χρήστης το σωστό σύμβολο.