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

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

Πολλαπλασιασμός και Διαίρεση Ακεραίων

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

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

Κεφάλαιο 3. Αριθμητική για υπολογιστές

Κεφάλαιο 3. Αριθμητική για υπολογιστές

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

Αριθμητική για υπολογιστές

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

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

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

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

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

ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ

Ενδιάμεση Β205. Κεφ. 1-2, Παράρτημα Α Εργαστήρια Εργασίες Ενδιάμεση του 2014 Όχι διάλεξη την Τρίτη (Προετοιμασία)

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

Πράξεις με δυαδικούς αριθμούς

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

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

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

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

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

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

Συστήματα αρίθμησης. = α n-1 *b n-1 + a n-2 *b n-2 + +a 1 b 1 + a 0 όπου τα 0 a i b-1

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ : Κ. ΠΕΚΜΕΣΤΖΗ

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

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

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Ελίνα Μακρή

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Λογική Σχεδίαση Ψηφιακών Συστημάτων

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

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

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

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

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

Δυαδικη παρασταση αριθμων και συμβολων

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

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

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

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

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

Περίληψη. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο υαδική Αφαίρεση. υαδική Αφαίρεση (συν.) Ακόµη ένα παράδειγµα Αφαίρεσης.

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

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

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

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

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

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

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

Αριθμητικά Συστήματα

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers)

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

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

Αριθμητικά Συστήματα Κώδικες

Εισαγωγή στην επιστήμη των υπολογιστών

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Άλλες Αριθμητικές Συναρτήσεις/Κυκλώματα

Αριθμητική Κινητής Υποδιαστολής Πρόσθεση Αριθμών Κινητής Υποδιαστολής

ΠΛΗΡΟΦΟΡΙΚΗ I. 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα

Ψηφιακά Κυκλώματα Ι. Μάθημα 1: Δυαδικά συστήματα - Κώδικες. Λευτέρης Καπετανάκης

Ψηφιακά Συστήματα. 1. Συστήματα Αριθμών

3. Πρόσθεση Πολλαπλασιασμός 4. Πρόσθεση στο πρότυπο ΙΕΕΕ Πολλαπλασιασμός στο πρότυπο ΙΕΕΕ

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

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

ΚΑΝΕΝΑ ΑΡΙΘΜΗΤΙΚΟ ΣΥΣΤΗΜΑ ΕΝ ΜΠΟΡΕΙ ΝΑ ΑΠΕΙΚΟΝΙΣΕΙ ΟΛΟΥΣ ΤΟΥΣ ΠΡΑΓΜΑΤΙΚΟΥΣ ΑΡΙΘΜΟΥΣ, ΙΟΤΙ ΕΧΟΥΜΕ ΠΕΡΙΟΡΙΣΜΕΝΟ ΕΥΡΟΣ ΑΚΡΙΒΕΙΑΣ.

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

Εντολές γλώσσας μηχανής

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα

Αριθμητικά Συστήματα

Ενότητα 9 ΑΡΙΘΜΗΤΙΚΑ & ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Αναπαράσταση Αριθμών

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 3 : Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

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

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

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

Transcript:

Chapter 3 Αριθμητική Υπολογιστών Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του Τ.Ε.Ι. Κρήτης. Τελευταία τροποποίηση: 2016-2017 χειμερινό εξάμηνο.

Αριθμητική Υπολογιστών Πράξεις με ακεραίους Πρόσθεση (addition) και αφαίρεση (subtraction) Πολλαπλασιασμός (multiplication) και διαίρεση (division) Χειρισμός της υπερχείλισης (overflow) Πραγματικοί αριθμοί κινητής υποδιαστολής (Floating-point) Αναπαράσταση αριθμών και πράξεις Chapter 3 Arithmetic for Computers 2

Πρόσθεση ακεραίων Παράδειγμα: 7 + 6 Κρατούμενα Έχουμε υπερχείλιση (overflow) εάν το αποτέλεσμα είναι εκτός ορίων (δηλ. δεν μπορεί να αναπαρασταθεί στο διαθέσιμο υλικό) Προσθέτοντας ένα θετικό και ένα αρνητικό τελεστέο, δεν μπορεί να προκύψει υπερχείλιση Προσθέτοντας δύο θετικούς τελεστέους Έχουμε υπερχείλιση αν το πρόσημο του αποτελέσματος είναι αρνητικό (sign bit = 1) Προσθέτοντας δύο αρνητικούς τελεστέους Έχουμε υπερχείλιση αν το πρόσημο του αποτελέσματος είναι θετικό (sign bit = 0) Chapter 3 Arithmetic for Computers 3

Αφαίρεση ακεραίων Για να κάνουμε αφαίρεση, προσθέτουμε στον πρώτο τελεστέο τον αντίθετο του δεύτερου τελεστέου Παράδειγμα: 7 6 = 7 + ( 6) +7: 0000 0000 0000 0111 6: 1111 1111 1111 1010 +1: 0000 0000 0000 0001 Έχουμε υπερχείλιση αν το αποτέλεσμα είναι εκτός ορίων Αφαιρώντας δύο θετικούς ή δύο αρνητικούς τελεστέους, δεν μπορεί να προκύψει υπερχείλιση Αφαιρώντας ένα θετικό από ένα αρνητικό τελεστέο Έχουμε υπερχείλιση αν το πρόσημο του αποτελέσματος είναι θετικό (sign bit = 0) Αφαιρώντας ένα αρνητικό από ένα θετικό τελεστέο Έχουμε υπερχείλιση αν το πρόσημο του αποτελέσματος είναι αρνητικό (sign bit = 1) Chapter 3 Arithmetic for Computers 4

Χειρισμός υπερχείλισης Κάποιες γλώσσες προγραμματισμού (π.χ., η C) αγνοούν την υπερχείλιση Στον MIPS μπορούμε να χρησιμοποιήσουμε τις απρόσημες (unsigned) εντολές: addu, addiu, subu. Άλλες γλώσσες (π.χ., Ada, Fortran) απαιτούν την πρόκληση μιας εξαίρεσης (exception) Στον MIPS μπορούμε να χρησιμοποιήσουμε τις εντολές: add, addi, sub. Στην υπερχείλιση, επικαλεστείτε τον χειρισμό εξαιρέσεων (invoke exception handler) Αποθηκεύστε τον PC στον καταχωρητή EPC (Exception Program Counter) [πρακτικά κρατάει την διεύθυνση της επόμενης εντολής από αυτήν που προκάλεσε την εξαίρεση]. Κάντε άλμα στην προκαθορισμένη διεύθυνση χειρισμού της εξαίρεσης (predefined handler address) Η εντολή mfc0 (move from coprocessor register) μπορεί να προσκομίσει την τιμή από το EPC, για την επιστροφή μετά από την διορθωτική δράση. Π.χ. mfc0 $t1, $14 όπου το $14 είναι το EPC. Chapter 3 Arithmetic for Computers 5

Εντοπισμός Παγίδευση υπερχείλισης (1) Ακολουθία εντολών MIPS για την παγίδευση της υπερχείλισης στην προσημασμένη πρόσθεση: ($t0 <- $t1 + $t2) addu $t0, $t1, $t2 # άθροισμα, όχι εξαίρεση xor $t3, $t1, $t2 # διαφέρουν τα πρόσημα; slt $t3, $t3, $zero # αν ναι, $t3 <- 1 αλλιώς 0 bne $t3, $zero, No_overflow # διαφέρουν, όχι υπερχειλ. xor $t3, $t0, $t1 # πρόσημα τελεστ. ίδια slt $t3, $t3, $zero # αν πρόσημο αθροίσματος bne $t3, $zero, Overflow # διαφορετικό, τότε υπερχ. No_overflow: Overflow: Chapter 3 Arithmetic for Computers 6

Εντοπισμός Παγίδευση υπερχείλισης (2) Ακολουθία εντολών MIPS για την παγίδευση της υπερχείλισης στην απρόσημη πρόσθεση: ($t0 <- $t1 + $t2) addu $t0, $t1, $t2 # άθροισμα, αλλά όχι εξαίρεση nor $t3, $t1, $zero # $t3 <- NOT ($t1) {Δηλαδή, συμπλήρωμα ως προς ένα ή συμπλ. ως προς δύο -1 : 2 32 - $t1-1 } sltu $t3, $t3, $t2 # 2 32 - $t1-1 < $t2 bne {Δηλαδή: 2 32 1 < $t1 + $t2 } $t3, $zero, Overflow # διαφέρουν, τότε υπερχείληση. Overflow: Chapter 3 Arithmetic for Computers 7

Αριθμητική για Πολυμέσα (Multimedia) Η επεξεργασία γραφικών και πολυμέσων λειτουργεί πάνω σε διανύσματα δεδομένων των 8 και των 16 bit Χρήση αθροιστή (adder) 64-bit, με επιμερισμένη αλυσίδα κρατουμένου (carry) Λειτουργεί με διανύσματα 8 8-bit, 4 16-bit, ή 2 32-bit SIMD (single-instruction, multiple-data) Κορεσμένες Πράξεις (Saturating operations) Στην υπερχείλιση, αποτέλεσμα είναι η μέγιστη απεικονίσιμη τιμή Σε αντίθεση με την αριθμητική συμπληρώματος ως προς δύο (c.f. 2scomplement modulo arithmetic) Π.χ. το κτύπημα «ψαλιδισμός» στον ήχο (clipping in audio), κορεσμός στο βίντεο (saturation in video) Chapter 3 Arithmetic for Computers 8

Πολλαπλασιασμός (Multiplication) Ας ξεκινήσουμε με την σειριακή έκδοση πολλαπλασιαστέος (multiplicand) πολλαπλασιαστής (multiplier) γινόμενο (product) 1000 1001 1000 0000 0000 1000 1001000 Αρχικά ο πολλαπλασιαστέος 000 00 32 bits Αρχικά ο πολλαπλασιαστής SI= 0 LSB Το μήκος του γινομένου δύναται να ισούται με το άθροισμα των μηκών των τελεστέων. Αρχικά 0 Chapter 3 Arithmetic for Computers 9

Υλικό πολλαπλασιασμού και αλγόριθμος Αρχικά 0 Chapter 3 Arithmetic for Computers 10

Βελτιωμένος πολλαπλασιαστής Εκτέλεση βημάτων (πράξεων) παράλληλα: πρόσθεση/ολίσθηση Αρχικά ο πολλαπλασιαστής 000 00 32 bits LSB Ένας κύκλος για κάθε πρόσθεση μερικού γινομένου Ικανοποιητικό, αν συχνότητα εκτέλεσης πολλαπλασιασμών είναι χαμηλή Chapter 3 Arithmetic for Computers 11

Ταχύτερος Πολλαπλασιαστής Χρησιμοποιεί πολλούς αθροιστές Αναζήτηση χρυσής τομής κόστους/απόδοσης (Cost/performance tradeoff) Μπορεί να εισαχθεί διοχέτευση (pipeline) Μερικοί πολλαπλασιασμοί εκτελούνται παράλληλα Chapter 3 Arithmetic for Computers 12

Ο πολλαπλασιασμός στον MIPS Δύο καταχωρητές 32-bit για το γινόμενο Hi: έχει τα 32 σημαντικότερα δυαδικά ψηφία Lo: έχει τα 32 λιγότερο σημαντικά δυαδικά ψηφία Εντολές mult rs, rt / multu rs, rt Το γινόμενο έχει 64-bit και ευρίσκεται στους Hi/Lo mfhi rd / mflo rd Μεταφέρει τα περιεχόμενα των Hi/Lo στον καταχωρητή rd Μπορούμε να ελέγξουμε την τιμή του καταχωρητή Hi για να δούμε αν το γινόμενο υπερχείλισε (πέρα από τα 32 bits) mul rd, rs, rt {multiplication without overflow} Ψευδοεντολή η οποία μεταφέρει τα 32 λιγότερο σημαντικά δυαδικά ψηφία του γινομένου (των rs x rt) στον καταχωρητή rd Chapter 3 Arithmetic for Computers 13