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

Σχετικά έγγραφα
ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ - ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

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

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

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

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

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

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

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

Πραγµατικοί αριθµοί κινητής υποδιαστολής Floating Point Numbers. Σ. Τσιτµηδέλης ΤΕΙ ΧΑΛΚΙΔΑΣ

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

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

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

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

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

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

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

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

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

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

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

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

Κεφάλαιο 2. Οργάνωση και διαχείριση της Πληροφορίας στον. Υπολογιστή

Ελίνα Μακρή

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

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

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

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

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

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

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

Σφάλματα (errors) Σε κάθε υπολογισμό μιας πραγματικής ποσότητας υπάρχει σφάλμα

1.4 Αριθμητική υπολογιστών και σφάλματα

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

Δυαδικό Σύστημα Αρίθμησης

Εισαγωγή στους Υπολογιστές

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

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

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

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην πληροφορική

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

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

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

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

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

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

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

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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

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

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

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

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1

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

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

1.1. Με τι ασχολείται η Αριθμητική Ανάλυση

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

IEEE Standard 754 [IEEE 85]

ΣΦΑΛΜΑΤΑ ΑΡΙΘΜΗΤΙΚΩΝ ΥΠΟΛΟΓΙΣΜΩΝ

Αναπαράσταση εδοµένων σε Επεξεργαστές Ψ.Ε.Σ

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 3 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

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

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

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

Αριθµητική υπολογιστών

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών)

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Συστήματα αρίθμησης

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

Transcript:

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΙΘΜΗΤΙΚΗ ΓΙΑ ΥΠΟΛΟΓΙΣΤΕΣ ΣΗΜΜΥ, 5 Ο ΕΞΑΜΗΝΟ http://www.cslab.ece.ntua.gr/courses/comparch t / / h 1

ΑΡΙΘΜΟΙ Decimal Eύκολο για τον άνθρωπο Ιδιαίτερα για την εκτέλεση αριθμητικών πράξεων Binary Χρησιμοποιείται εσωτερικά στους υπολογιστές για την απεικόνιση των αριθμών Αριθμητικές πράξεις +,,*,/ Hex Χρήσιμο για την απεικόνιση δυαδικών αριθμών (4 bits / symbol) Αρκετά δύσκολο για αριθμητικές πράξεις 7/2/2011 cslab@ntua 2010-2011 2

ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Βάση (radix) r ή β m m m i i N α α α α β α β α β α β α 1... 1 1... 2 1 0 1 2 2 1 1 1 + + + + + + + + = = n n m m n i i N β α β α β α α β α β α β α β α...... 2 2 1 0 1 2 1 + + + + + + + + = ακέραιο μέρος του αριθμού κλασματικό μέρος του αριθμού Παράσταση αριθμού: α m-1 α m-2 α 0, α -1 α -2 α -n Ψηφία του συστήματος: 0 β-1 Ψηφία του συστήματος: 0,, β 1 π.χ. 1821,352 (10) = 1 10 3 + 8 10 2 + 2 10 1 + 1 10 0 + 3 10-1 + 5 10-2 + ( ) 2 10-3 1256,124 (8) = 1 8 3 + 2 8 2 + 5 8 1 + 6 8 0 + 1 8-1 + 2 8-2 + 4 8-3 7/2/2011 3 cslab@ntua 2010-2011

ΜΕΤΑΤΡΟΠΕΣ ΜΕΤΑΞΥ ΣΥΣΤΗΜΑΤΩΝ 2 16, 0010 1101 1001 1101 1100 2 D 9 D C, 2 18 001, 011 011 001 110 111 6, 1 3 3 1 6 7 4

COMPUTER ARITHMETIC Σχεδίαση Υλικού για την εκτέλεση των αριθμητικών πράξεων Περιορισμένος αριθμός bits Υπερχείλιση (Overflow) 1101 + 0101 = 1 0010 Τι κάνουμε σε αυτή την περίπτωση; Θετικοί ακέραιοι Διευθύνσεις, pointers κτλ. Προσημασμένοι ακέραιοι Αριθμητικές πράξεις ακεραίων αριθμών Πραγματικοί αριθμοί Αριθμητικές πράξεις πραγματικών αριθμών 5

ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΡΙΘΜΩΝ n bits Μπορούν να ανπαρασταθούν 2 n διαφορετικά στοιχεία MSB (Most Significant Bit), LSB (Less Significant Bit) 3 διαφορετικές αναπαραστάσεις: Πρόσημο μέτρο, Συμπλήρωμα ως προς 1, Συμπλήρωμα ως προς 2 Sign Magnitude One's Complement Two's Complement 000 =+0 000 =+0 000 =+0 001 = +1 001 = +1 001 = +1 010 = +2 010 = +2 010 = +2 011 = +3 011 = +3 011 = +3 100 = -0 100 = -3 100 = -4 101 = -1 101 = -2 101 = -3 110 = -2 110 = -1 110 = -2 111 = -3 111 = -0 111 = -1 6

ΠΡΟΣΗΜΟ - ΜΕΤΡΟ To MSB αφιερώνεται για να περιγράψει το πρόσημο (0 +, 1 ) Τα υπόλοιπα bits καθορίζουν το μέτρο του αριθμού Π.χ. Σε 12 bits το +1764 (10) παρίσταται ως: 011011100100 το 1764 (10) παρίσταται ως: 111011100100 Παρίστανται οι αριθμοί από 2 n 1 +1 εώς 2 n 1 1 To 0 έχει 2 παραστάσεις (000 0 και 100 0) Πρόσημο Μέτρο 7

ΠΡΟΣΗΜΟ - ΜΕΤΡΟ Πρόσθεση Α, Β ομόσημοι Υπάρχει περίπτωση υπερχείλισης Εντοπίζεται στο κρατούμενο Cn Α, Β ετερόσημοι Δεν υπάρχει υπερχείλιση Το κρατούμενο Cn προσδιορίζει το πρόσημο του τελικού αποτελέσματος 8

ΠΡΟΣΗΜΟ - ΜΕΤΡΟ Αφαίρεση Παρόμοια με την πρόσθεση Αφαίρεση ομόσημων = πρόσθεση ετερόσημων Αφαίρεση ετερόσημων = πρόσθεση ομόσημων 9

ΠΡΟΣΗΜΟ - ΜΕΤΡΟ Πλεονεκτήματα: Εύκολα αντιληπτή από τον άνθρωπο Γρήγορη εύρεση του αντιθέτου Μειονεκτήματα: Μη αποδοτική στις στοιχειώδεις πράξεις, π.χ. για υλοποίηση πρόσθεσης: Έλεγχος προσήμου Σύγκριση μέτρου Διεξαγωγή πράξης Διπλή αναπαράσταση για το 0 Δύσκολη επέκταση προσήμου 10

ΣΥΜΠΛΗΡΩΜΑ ΩΣ ΠΡΟΣ 1 To MSB προσδιορίζει το πρόσημο (0 +, 1 ) Οι αρνητικοί ακέραιοι προκύπτουν από τον αντίστοιχο θετικό με αντιστροφή και των n bits Π.χ. Σε 12 bits το +1764 (10) παρίσταται ως: 011011100100 το 1764 (10) παρίσταται ως: 100100011011 Παρίστανται οι αριθμοί από 2 n 1 +1 εώς 2 n 1 1 To 0 έχει 2 παραστάσεις (000 0 και 111 1) Μειονεκτήματα Διπλή αναπαράσταση για το 0 Δύσκολο για τον άνθρωπο 11

ΣΥΜΠΛΗΡΩΜΑ ΩΣ ΠΡΟΣ 2 To MSB προσδιορίζει το πρόσημο (0 +, 1 ) Οι αρνητικοί ρη ακέραιοι προκύπτουν από τον αντίστοιχο θετικό με αντιστροφή ρφή και των n bits και πρόσθεση της μονάδας Η ίδια διαδικασία εφαρμόζεται για την εύρεση του αντίθετου είτε ο αριθμός είναι θετικός είτε είναι αρνητικός Π.χ. Σε 12 bits το +1764 (10) παρίσταται ως: 011011100100 το 1764 (10) παρίσταται ως: 100100011011 + 000000000001 100100011100 Aν ẑ το συμπλήρωμα ως προς 2 του z, στα n bits ισχύει: z + ẑ = 2 n Παρίστανται οι αριθμοί από 2 n 1 εώς 2 n 1 1 To 0 έχει 1 παράσταση (000 0) 0) 7/2/2011 cslab@ntua 2010-2011 12

ΣΥΜΠΛΗΡΩΜΑ ΩΣ ΠΡΟΣ 2 Πρόσθεση Αφαίρεση Πρόσθεση του αντίθετου αριθμού Πρόσθεση bit bit από δεξιά προς αριστερά με μεταφορά κρατουμένου 001100 001100 110100 110100 101110 +010001 +101111 +010001 +101111 +101110 011101 111011 1000101 1100011 1011100 13

ΣΥΜΠΛΗΡΩΜΑ ΩΣ ΠΡΟΣ 2 Η διαδικασία της πρόσθεσης/αφαίρεσης είναι αρκετά απλή Πιο γρήγορη από την αντίστοιχη διαδικασία για αριθμούς σε μορφή πρόσημο μέτρο Δεν απαιτείται έλεγχος προσήμου Πιθανότητα υπερχείλισης και άρα λανθασμένου αποτελέσματος Μειονεκτήματα: Δύσκολο για τον άνθρωπο Δύσκολη εύρεση του αντιθέτου 14

ΣΥΜΠΛΗΡΩΜΑ ΩΣ ΠΡΟΣ 2 Καμία πιθανότητα υπερχείλισης Πρόσθεση ετερόσημων αριθμών Αφαίρεση ομόσημων αριθμών Υπερχείλιση όταν : Πρόσθεση δύο θετικών αριθμών δίνει αρνητικό αριθμό Πρόσθεση δύο αρνητικών αριθμών δίνει θετικό αριθμό Αφαίρεση αρνητικού από θετικό δίνει αρνητικό Αφαίρεση θετικού από αρνητικό δίνει θετικό 15

ΣΥΜΠΛΗΡΩΜΑ ΩΣ ΠΡΟΣ 2 ΠΡΑΞΗ Α Β ΑΠΟΤ ΕΛΕΣΜΑ Α + Β >0 >0 <0 Α + Β <0 <0 >0 Α Β >0 <0 <0 Α Β <0 >0 >0 Όταν το σύστημα εντοπίσει μια υπερχείλιση ειδοποιεί το πρόγραμμα που την προκάλεσε (interrupt / exception) Άλλες γλώσσες προγραμματισμού τις αγνοούν (π.χ C, Java) ενώ άλλες απαιτούν να ειδοποιείται το πρόγραμμα και ο χρήστης (πχ. Fortran, Ada) 16

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ Γενικά πιο πολύπλοκος από την πρόσθεση Υλοποιείται με διαδοχικές ολισθήσεις και προσθέσεις Απαιτεί περισσότερο χρόνο καθώς και περισσότερο υλικό Αν ο Α έχει n ψηφία και ο Β m, τότε το γινόμενο θα έχει n+m Τί γίνεται όταν πολλαπλασιάζουμε ετερόσημους αριθμούς; 17

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ 18

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ Βελτιωμένη έκδοση Λιγότερο υλικό Μόνο το γινόμενο 64 bits Δεν χρειάζεται ο καταχωρητής του πολλαπλασιαστή Ολίσθηση δεξιά δξά 19

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ 20

ΑΛΓΟΡΙΘΜΟΣ BOOTH Σχεδιάστηκε από τον Andrew Booth το 1951 Πολλαπλασιάζει 2 προσημασμένους αριθμούς σε παράσταση συμπληρώματος ως προς 2 Στηρίζεται στην παρακάτω παρατήρηση : Έστω δυαδικός αριθμός με τα bits m εώς k ίσα με 1. Τότε ο αριθμός αυτός είναι ίσος με 2 k+1 2 m Επομένως μπορώ να μετατρέψω τον πολλαπλασιασμό λ ως εξής : Μ * Multiplier = M * 2 k+1 M * 2 m 21

ΑΛΓΟΡΙΘΜΟΣ BOOTH Παράδειγμα : Μultiplier = 14 = 001110 k = 3, m = 1 2 4 2 1 = 16 2 = 14 M * Multiplier = M * 2 4 M * 2 1 4 αριστερές ολισθήσεις του Μ 1 αριστερή ολίσθηση του Μ 22

ΑΛΓΟΡΙΘΜΟΣ BOOTH Πολλαπλασιασμός Β (multiplicand) * Q * (multiplier) Έλεγχος του τρέχοντος και του προηγούμενου bit : 01 : Τέλος μιας σειράς από 1 Πρόσθεση του πολλαπλασιαστέου στο αριστερό μισό του γινομένου 10 : Αρχή μιας σειράς από 1 Αφαίρεση του πολλαπλασιαστέου από το αριστερό μισό του γινομένου 00, 11 : Καμία αριθμητική πράξη Αριθμητική ολίσθηση η του γινομένου δεξιά κατά 1 bit και επανάληψη του αλγορίθμου (επέκταση του προσήμου για να διατηρηθεί το πρόσημο κατά τον πολλαπλασιασμό προσημασμένων αριθμών) 23

ΑΛΓΟΡΙΘΜΟΣ BOOTH 24

ΔΙΑΙΡΕΣΗ 25

ΔΙΑΙΡΕΣΗ Βλ Βελτιωμένη έκδοση έδ Λιγότερο υλικό Μόνο ο καταχωρητής του υπολοίπου παραμένει στα 64 bits Δεν χρειάζεται ο ξεχωριστός καταχωρητής του πηλίκου (τοποθετείται στο δεξί μισό του καταχωρητή υπολοίπου). Βελτιωμένη ταχύτητα εκτέλεσης 26

ΔΙΑΙΡΕΣΗ Προσημασμένοι αριθμοί Πρέπει πάντα να ισχύει : Διαιρετέος = Πηλίκο x Διαιρέτης + Υπόλοιπο Διαιρετέος = 7, Διαιρέτης = 2 Π = 3, Υ = 1 Διαιρετέος = 7, Διαιρέτης = 2 Π = 3, Υ =? Υπόλοιπο = (Διαιρετέος Π x Διαιρέτης) = 1 Θα μπορούσε να ισχύει Π= 4, Υ = 1; Θέλουμε πάντα να ισχύει (x y) = ( x) y Ορίζουμε ότι το πρόσημο του υπολοίπου είναι ίδιο με το πρόσημο του διαιρετέου 27

ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ n διαθέσιμα bits Πεπερασμένο πλήθος από αριθμούς που μπορούμε να αναπαραστήσουμε (όπως και στους ακέραιους) 2 προσεγγίσεις: Αναπαράσταση σταθερής υποδιαστολής Αναπαράσταση κινητής υποδιαστολής 28

ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΤΑΘΕΡΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ n διαθέσιμα bits : n=1+ n 1 + n 2 MSB διατίθεται για πρόσημο n 1 bits διατίθενται για παράσταση ακέραιου μέρους (καθορίζουν το εύρος) n 2 bits διατίθενται για παράσταση κλασματικού μέρους (καθορίζουν την ακρίβεια) Όλοι οι αριθμοί ισαπέχουν Πρόσημο Ακέραιο μέρος Κλασματικό μέρος 29

ΑΝΑΠΑΡΑΣΤΑΣΗ ΣΤΑΘΕΡΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Π.χ. 8 bits, συμπλήρωμα ως προς 1 4 bits ακέραιο μέρος Μεγαλύτερος αριθμός 0 1111, 111 = 15,875 (10) Μικρότερος αριθμός 1 0000, 000 = 15,875 (10) Άρα παρίστανται 256 πραγματικοί αριθμοί στο [ 15,875 15,875] Ομοιόμορφη απόσταση 2 3 = 0,001 (2) = 0,125 (10) Σφάλμα στρογγυλοποίησης: 2 4 ΔΕΝ ΧΡΗΣΙΜΟΠΟΙΕΙΤΑΙ ΓΙΑΤΙ ΕΧΕΙ ΠΟΛΥ ΜΕΓΑΛΟ ΣΧΕΤΙΚΟ ΣΦΑΛΜΑ 30

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Εκθετική μορφή αναπαράστασης πραγματικών αριθμών: Ν = ( 1) sign σ 2 e σ = συντελεστής (mantissa / significant) e = εκθέτης (exponent) Πολλοί τρόποι για την παράσταση του ίδιου αριθμού: 101,011 = 101,011 2 0 =1,01011 2 2 = 0,101011 2 3 = 101011 2 3 Κανονική μορφή (normal form): 1,xxxxxxxx 2 e 31

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Πρόσημο εκθέτης συντελεστής n 2 bits σε κανονική μορφή n 1 bits Εξασφαλίζει μεγάλο εύρος για την παράσταση μεγάλων αριθμών και μεγάλη ακρίβεια για τους μικρούς αριθμούς Απόλυτο σφάλμα στρογγυλοποίησης: 2 n1 1 2 e Σχετικό σφάλμα στρογγυλοποίησης: 2 n1 1 1 Δεν ισοκατανέμει τους αριθμούς 0 2-3 2-2 2-1 2 0 2 1 32

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Αύξηση των bits του συντελεστή αύξηση της ακρίβειας Αύξηση των bits του εκθέτη αύξηση του εύρους των αριθμών που μπορούν να παρασταθούν Υπερχείλιση Ο εκθέτης είναι πολύ μεγάλος για να χωρέσει στο πεδίο (floating point overflow) Ανεπάρκεια Ο αρνητικός εκθέτης είναι πολύ μικρός για να χωρέσει στο πεδίο (floating point underflow) ΙΕΕΕ 754 floating point standard : Single precision : 8 bits εκθέτης, 23 bits συντελεστής Double precision : 11 bits εκθέτης, 52 bits συντελεστής Το αρχικό bit 1 των κανονικοποιημένων συντελεστών υπονοείται (είναι κρυφό) ) κέρδος 1 ακόμα bit για το συντελεστή 7/2/2011 cslab@ntua 2010-2011 33

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Πόλωση εκθέτη Min = 000 00 Max = 111..11 Κάνει ευκολότερη τη σύγκριση και την ταξινόμηση των εκθετών ΙΕΕΕ 754 πόλωση = 127 για single precision πόλωση = 1023 για double precision N = ( 1) sign (1 + σ) 2 e bias e = σ = 0 Ν = 0 e = 0, σ 0 Νμη κανονικοποιημένος αριθμός e = 255/2047, σ = 0 Ν= ± e = 255/2047, σ 0 Ν = ΝaN (όχι αριθμός) 34

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Decimal : 0.75 = (½ + ¼) Binary : 0.11 = 1.1 x 2 1 Floating point : Εκθέτης = 126 = 01111110 Συντελεστής = 1 35

ΠΡΟΣΘΕΣΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ 36

ΠΡΟΣΘΕΣΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ Sign Exponent Fraction Sign Exponent Fraction Small ALU Compare exponents Exponent difference 0 1 0 1 0 1 Control Shift right Shift smaller number right Big ALU Add 0 1 0 1 Increment or decrement Shift left or right Normalize Rounding hardware Round Sign Exponent Fraction 37

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ 38

Η ΑΚΡΙΒΕΙΑ ΚΙΝ. ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΙΝΑΙ ΣΗΜΑΝΤΙΚΗ! 39