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

Σχετικά έγγραφα
Chapter 3 Αριθμητική Υπολογιστών

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελίνα Μακρή

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

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

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

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

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

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

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

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

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

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

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

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

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

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

HY430 Εργαστήριο Ψηφιακών Κυκλωμάτων.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

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

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

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

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

Transcript:

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

Αριθμητική Υπολογιστών Πράξεις με ακεραίους Πρόσθεση (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

Διαίρεση (Division) διαιρέτης (divisor) πηλίκο (quotient) διαιρετέος (dividend) υπόλοιπο (remainder) 1001 1000 1001010-1000 10 101 1010-1000 10 Τελεστέοι με n δυαδικά ψηφία παράγουν πηλίκο και υπόλοιπο με n δυαδικά ψηφία το καθένα. Έλεγχος για διαιρέτη μηδέν (0) Η απλή τεχνική της διαίρεσης Εάν ο διαιρέτης διαιρετέο Τοποθετείται 1 στο πηλίκο, αφαίρεση Διαφορετικά 0 στο πηλίκο, και κατεβάζουμε το επόμενο δυαδικό ψηφίο του διαιρετέου Διαίρεση με επαναφορά ή αποκατάσταση (Restoring division) Εκτελείται η αφαίρεση, και αν το υπόλοιπο γίνει < 0, προστίθεται πίσω ο διαιρέτης Προσημασμένη διαίρεση (Signed division) Διαίρεση κατά απόλυτες τιμές Ρύθμιση πρόσημων πηλίκου και υπολοίπου κατά απαίτηση Chapter 3 Arithmetic for Computers 14

Υλικό διαίρεσης Αρχικά ο διαιρέτης στο αριστερό μισό Το πηλίκο με αρχική τιμή 0 32 bits 0000 00 000 00 32 bits Αρχικά ο διαιρετέος στο δεξιό μισό Chapter 3 Arithmetic for Computers 15

Βελτιωμένο κύκλωμα διαίρεσης διαιρέτης Αρχικά ο διαιρετέος στο αριστερό μισό Διαίρεση (Πολλαπλασιασμός ) διαιρετέος 000 00 υπόλοιπο πηλίκο Στο τέλος έχουμε το υπόλοιπο αριστερά και το πηλίκο δεξιά Ένας κύκλος ανά αφαίρεση μερικού υπολοίπου Μοιάζει πολύ με κύκλωμα πολλαπλασιασμού Το ίδιο υλικό μπορεί να χρησιμοποιηθεί και για τις δύο πράξεις Chapter 3 Arithmetic for Computers 16

Ταχύτερη διαίρεση Δεν μπορούμε να χρησιμοποιήσουμε παράλληλο υλικό όπως στον πολλαπλασιασμό Η αφαίρεση εξαρτάται από το πρόσημο του μερικού υπολοίπου Ταχύτεροι διαιρέτες, όπως η τεχνική της διαίρεσης SRT (Sweeney-Robertson-Tocher) παράγουν περισσότερα δυαδικά ψηφία πηλίκου ανά βήμα (τυπική τιμή 4 bit) Εξακολουθούν να απαιτούν πολλά βήματα Chapter 3 Arithmetic for Computers 17

Η διαίρεση στον MIPS Χρησιμοποιεί τους καταχωρητές Hi/Lo για τα αποτελέσματα της πράξης Hi: το υπόλοιπο (remainder) σε 32 bits Lo: το πηλίκο (quotient) σε 32 bits Εντολές div rs, rt / divu rs, rt Δεν γίνεται έλεγχος υπερχείλισης (overflow) ή διαίρεσης διά του μηδενός (divide-by-0) Το λογισμικό πρέπει να ελέγχει, αν απαιτείται Χρησιμοποιείστε mfhi, mflo για πρόσβαση στα αποτελέσματα Chapter 3 Arithmetic for Computers 18