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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Άσκηση 1 (α) Άσκηση 1 (γ) Άσκηση 1 (β) Παραδείγματα Assembly. Άρα με έλεγχο στον $t1 αποφασίζω αν είναι 0 ή 1.

Τρόποι Διευθυνσιοδότησης

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

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

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

Κεφάλαιο 2. Εντολές: η γλώσσα του υπολογιστή

-Επεξεργαστής: datapath (δίοδος δεδοµένων) (1) και control (2) -Μνήµη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

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

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

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

Αρχιτεκτονική Υπολογιστών. Data. Κείμενο. Βίντεο. Αριθμοί Εικόνες. Ήχοι

ΠΛΕ- 027 Μικροεπεξεργαστές

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

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

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

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

με έμφαση στο MIPS R2000

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

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

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

Chapter 3 Αριθμητική Υπολογιστών

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

Chapter 3. Αριθμητική Υπολογιστών. Έβδομη (7 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

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

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

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

Απλός επεξεργαστής (Επανάληψη)

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

Κεφάλαιο 3. Αριθμητική Υπολογιστών Review. Hardware implementation of simple ALU Multiply/Divide Real Numbers

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

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

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

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Σχεδίαση μονάδας ελέγχου επεξεργαστή

Σχεδίαση της Διόδου Δεδομένων

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

ΠΛΕ- 027 Μικροεπεξεργαστές 5ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση ενός κύκλου

Αριθμητική Υπολογιστών (Κεφάλαιο 3)

Κεφάλαιο 2 Εντολές Η γλώσσα της Μηχανής (Instructions Language of the Computer)

Τέτοιες λειτουργίες γίνονται διαμέσου του

-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

-Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές Εισόδου (4), Εξόδου (5) (Μεγάλη ποικιλία!!)

Περιγραφή αρχιτεκτονικής MIPS MIPS assembly (1o και 2o μέρος)

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

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

Οι υπολογιστές στον πραγματικό κόσμο

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

Chapter 3. Αριθμητική Υπολογιστών. Όγδοη (8 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Στοιχεία από Assembly Γιώργος Μανής

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

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

Υλοποίηση Mικροεπεξεργαστή MIPS -16

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

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

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

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

add $t0,$zero, $zero I_LOOP: beq $t0,$s3, END add $t1, $zero,$zero J_LOOP: sub $t2, $s3, $t0 add $t2, $t2, $s1 int i, j, tmp; int *arr, n;

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

Προτεινόμενες Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 & Αποτελέσματα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

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

Παραδείγματα Assembly (Μέρος

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

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

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

Διαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5

ΠΛΕ- 027 Μικροεπεξεργαστές

Εισαγωγή στον Προγραμματισμό

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος

Transcript:

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του Τ.Ε.Ι. Κρήτης. Τελευταία τροποποίηση: 2014-2015 χειμερινό εξάμηνο.

Αναπαράσταση εντολών Οι εντολές κωδικοποιούνται στο δυαδικό Ονομάζεται κώδικας μηχανής (machine code) Οι εντολές του MIPS (MIPS instructions) Κωδικοποιημένες λέξεις εντολών στα 32 bit Μικρός αριθμός μορφών εντολών (instruction formats) που κωδικοποιούν τον κώδικα λειτουργίας (opcode), τους αριθμούς καταχωρητών, Κανονικότητα! Αριθμοί καταχωρητών (Register numbers) $t0 $t7 είναι οι καταχωρητές 8 15 $s0 $s7 είναι οι καταχωρητές 16 23 $t8 $t9 είναι οι καταχωρητές 24 25 Chapter 2 Instructions: Language of the Computer 2

Εντολές MIPS μορφής R (register) op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Πεδία εντολής (Instruction fields) op: κωδικός λειτουργίας (operation code) (opcode) rs: αριθμός πρώτου καταχωρητή προέλευσης (source) rt: αριθμός δεύτερου καταχωρητή προέλευσης (source) rd: αριθμός καταχωρητή προορισμού (destination) shamt: ποσότητα ολίσθησης (shift amount) (προς το παρόν έχει τιμή 00000) funct: κωδικός συνάρτησης (function code) (επεκτείνει το opcode) Chapter 2 Instructions: Language of the Computer 3

Παράδειγμα μορφής R (1o) op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits add $t0, $s1, $s2 Συμβολική γλώσσα (assembly) special $s1 $s2 $t0 0 add 0 17 18 8 0 32 000000 10001 10010 01000 00000 100000 00000010001100100100000000100000 2 = 02324020 16 Γλώσσα μηχανής (machine language) Chapter 2 Instructions: Language of the Computer 4

Παράδειγμα μορφής R (2o) op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits sub $t9, $t0, $t1 special $t0 $t1 $t9 0 sub 0 8 9 25 0 34 000000 01000 01001 11001 00000 100010 00000001000010011100100000100010 2 = 0109C822 16 Chapter 2 Instructions: Language of the Computer 5

Δεκαεξαδικό (Hexadecimal) Βάση 16 Συμπαγής αναπαράσταση σειρών από bit 4 δυαδικά ψηφία (bits) ανά δεκαεξαδικό ψηφίο 0 0000 4 0100 8 1000 c 1100 1 0001 5 0101 9 1001 d 1101 2 0010 6 0110 a 1010 e 1110 3 0011 7 0111 b 1011 f 1111 Παράδειγμα: eca8 6420 (hex) 1110 1100 1010 1000 0110 0100 0010 0000 (two) Chapter 2 Instructions: Language of the Computer 6

Εντολές MIPS μορφής I (immediate) op rs rt constant or address 6 bits 5 bits 5 bits 16 bits Άμεσες αριθμητικές εντολές και εντολές φόρτωσης /αποθήκευσης rs: αριθμός καταχωρητή βάσης (base register) rt: αριθμός καταχωρητή προέλευσης ή προορισμού Constant: σταθερά από 2 15 έως +2 15 1 Address: σχετική απόσταση (offset) που προστίθεται στην διεύθυνση βάσης που βρίσκεται στο rs Σχεδιαστική Αρχή 4: Η καλή σχεδίαση απαιτεί καλούς συμβιβασμούς Οι διαφορετικές μορφές εντολών δυσχεραίνουν την αποκωδικοποίηση, αλλά επιτρέπουν την ομοιομορφία των εντολών ως προς το μήκος τους (όλες στα 32 bit) Διατήρηση των μορφών παρόμοιων κατά το δυνατόν Chapter 2 Instructions: Language of the Computer 7

Παράδειγμα μορφής I op rs rt constant or address 6 bits 5 bits 5 bits 16 bits addi $s0, $s1,3 addi $s1 $s0 3 8 17 16 3 001000 10001 10000 0000000000000011 00100010001100000000000000000011 2 = 22300003 16 Chapter 2 Instructions: Language of the Computer 8

Άλλα παραδείγματα μορφής I op rs rt constant or address 6 bits 5 bits 5 bits 16 bits lw $t0, 32($s1) lw $s1 $t0 32 35 17 8 32... sw $t0, 36($s1) sw $s1 $t0 36 43 17 8 36... Chapter 2 Instructions: Language of the Computer 9

Η/Υ αποθηκευμένου προγράμματος The BIG Picture Οι εντολές αναπαριστώνται στο δυαδικό, όπως και τα δεδομένα Εντολές και δεδομένα αποθηκεύονται στην μνήμη Τα προγράμματα μπορούν δουλέψουν πάνω σε προγράμματα π.χ., compilers, linkers, Η συμβατότητα σε δυαδικό επίπεδο επιτρέπει σε μεταγλωττισμένα προγράμματα να δουλεύουν σε άλλους Η/Υ Τυποποιημένες Αρχιτεκτονικές Συνόλου Εντολών (Standardized ISAs) Chapter 2 Instructions: Language of the Computer 10

Λογικές Πράξεις Εντολές πράξεων ανά bit (bitwise) Πράξη (Operation) Τελεστές C Τελεστές Java Εντολές MIPS Ολίσθηση αριστερά (Shift left) << << sll Ολίσθηση δεξιά (Shift right) >> >>> srl Σύζευξη (Bitwise AND) & & and, andi Διάζευξη (Bitwise OR) or, ori Άρνηση (Bitwise NOT) ~ ~ nor Χρήσιμες για την εξαγωγή και την εισαγωγή ομάδων δυαδικών ψηφίων από/σε μια λέξη Chapter 2 Instructions: Language of the Computer 11

Εντολές ολίσθησης op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits shamt: πόσες θέσεις να ολισθήσει Λογική ολίσθηση αριστερά (shift left logical) Ολίσθησε αριστερά και γέμισε τα κενά με 0 sll κατά i bits πολλαπλασιάζει επί 2 i Λογική ολίσθηση δεξιά (shift right logical) Ολίσθησε δεξιά και γέμισε τα κενά με 0 srl κατά i bits διαιρεί διά 2 i (μόνο χωρίς πρόσημο) Chapter 2 Instructions: Language of the Computer 12

Εντολές σύζευξης (AND) Χρήσιμο για την εφαρμογή μάσκας σε μια λέξη Επιλογή κάποιων bits, επαναφορά άλλων στο 0 and $t0, $t1, $t2 $t2 $t1 0000 0000 0000 0000 0000 1101 1100 0000 0000 0000 0000 0000 0011 1100 0000 0000 Μάσκα $t0 0000 0000 0000 0000 0000 1100 0000 0000 Chapter 2 Instructions: Language of the Computer 13

Εντολές διάζευξης (OR) Χρήσιμο για να συμπεριλάβει κάποια bits σε μια λέξη Θέση κάποιων bits στο 1, αφήνοντας άλλα αμετάβλητα or $t0, $t1, $t2 $t2 $t1 $t0 0000 0000 0000 0000 0000 1101 1100 0000 0000 0000 0000 0000 0011 1100 0000 0000 0000 0000 0000 0000 0011 1101 1100 0000 Chapter 2 Instructions: Language of the Computer 14

Εντολές άρνησης (NOT) Χρήσιμο για την αντιστροφή των bits μιας λέξης Αλλάζει το 0 σε 1, και το 1 σε 0 Ο MIPS έχει την NOR (εντολή με 3 τελεστέους) a NOR b == NOT ( a OR b ) nor $t0, $t1, $zero $t1 Καταχωρητής 0: διαβάζεται πάντοτε ως μηδέν 0000 0000 0000 0000 0011 1100 0000 0000 $t0 1111 1111 1111 1111 1100 0011 1111 1111 Chapter 2 Instructions: Language of the Computer 15

Εντολές λήψης αποφάσεων Διακλάδωση σε μια εντολή (με ετικέτα) αν μια συνθήκη είναι αληθής Διαφορετικά, η ροή του προγράμματος συνεχίζει με την επόμενη εντολή beq rs, rt, L1 branch if equal εάν (rs == rt) πήγαινε στην εντολή με ετικέτα L1 bne rs, rt, L2 εάν (rs!= rt) πήγαινε στην εντολή με ετικέτα L2 j L3 branch if not equal jump Διακλάδωση χωρίς συνθήκη (unconditional jump) στην εντολή με ετικέτα L3 Chapter 2 Instructions: Language of the Computer 16

Μεταγλώττιση εντολών If Κώδικας C: if (i==j) f = g+h; else f = g-h; Τα f, g, στους $s0, $s1, Μεταγλωττισμένος κώδικας MIPS: bne $s3, $s4, Else add $s0, $s1, $s2 j Exit Else: sub $s0, $s1, $s2 Exit: Ο Συμβολομεταφραστής υπολογίζει τις διευθύνσεις Chapter 2 Instructions: Language of the Computer 17