ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 4 ο ΜΣ Εφαρμοσμένη ληροφορική
ΜΟΝΑΔΑ ΕΕΞΕΡΓΑΣΙΑΣ ΔΕΔΟΜΕΝΩΝ Υπομονάδες πράξεων Αριθμητική/Λογική Μονάδα (ΑΛΜ - ALU): Βασικές αριθμητικές πράξεις Λογικές πράξεις ολύπλοκες αριθμητικές πράξεις σταθερής υποδιαστολής: ολλαπλασιασμός και διαίρεση Αριθμητικές πράξεις κινητής υποδιαστολής Υπομονάδα ολίσθησης Φάκελος καταχωρητών
ΑΡΙΘΜΗΤΙΚΗ/ΛΟΓΙΚΗ ΜΟΝΑΔΑ
ΑΡΙΘΜΗΤΙΚΕΣ ΡΑΞΕΙΣ Σταθερής/Κινητής υποδιαστολής πρόσθεση/αφαίρεση πολλαπλασιασμός/διαίρεση σύνθετες πράξεις κινητής υποδιαστολής Αλγόριθμοι πράξεων Υλικό πράξεων άμεση απεικόνιση των αλγόριθμων σε λογικά κυκλώματα μονάδα πρόσθεσης/αφαίρεσης ακεραίων απαραίτητη για όλες τις πράξεις
ΡΟΣΘΕΣΗ/ΑΦΑΙΡΕΣΗ ΑΚΕΡΑΙΩΝ Μονάδα διάδοσης κρατουμένου 4 bits: A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 Sub/Add C out C 2 C 1 C 0 C in FA FA FA FA Overflow S 3 Zero S 2 S 1 S 0 Αριθμητική συμπληρώματος του 2
ΥΛΙΚΟ ΡΟΣΘΕΣΗΣ ΑΚΕΡΑΙΩΝ Διάδοση κρατουμένου (carry-propagate, ripplecarry) ρόβλεψη κρατουμένου (carry-lookahead) Επιλογή κρατουμένου (carry-select) αράκαμψη κρατουμένου (carry-skip, carrybypass)
ΡΟΒΛΕΨΗ ΚΡΑΤΟΥΜΕΝΟΥ Υλικό εύρους 16 bits: Ιεραρχική υλοποίηση για εύρος 32, 64, 128, 256 bits
ΕΙΛΟΓΗ ΚΡΑΤΟΥΜΕΝΟΥ Επιλογή από επιμέρους αθροιστές: Οι επιμέρους αθροιστές μπορούν να είναι του ίδιου ή διαφορετικού εύρους
ΑΡΑΚΑΜΨΗ ΚΡΑΤΟΥΜΕΝΟΥ Ο υπολογισμός των ενδιάμεσων κρατουμένων μπορεί να παρακαμφθεί: Κι εδώ, οι επιμέρους αθροιστές μπορούν να είναι του ίδιου ή διαφορετικού εύρους
ΧΕΙΡΙΣΜΟΣ ΟΛΛΩΝ ΡΟΣΘΕΤΕΩΝ Επαναληπτικά: a3 b3 e3 f3 a2 b2 e2 f2 a1 b1 e1 f1 a0 b0 e0 f0 0 0 πολυπλέκτες ACCUMULATOR REGISTER s5 s4 s3 s2 s1 s0 Συσσώρευση μερικών αθροισμάτων ολυπλέκτες για επιλογή εισόδων
ΧΕΙΡΙΣΜΟΣ ΟΛΛΩΝ ΡΟΣΘΕΤΕΩΝ Αντί επαναληπτικής υλοποίησης: Γίνεται και καλύτερα...
ΧΕΙΡΙΣΜΟΣ ΟΛΛΩΝ ΡΟΣΘΕΤΕΩΝ ρόσθεση διατήρησης κρατουμένου: Λέξεις αθροισμάτων / κρατουμένων
ΟΛΛΑΛΑΣΙΑΣΜΟΣ ΑΚΕΡΑΙΩΝ Επαναληπτική υλοποίηση: πρόσθεση και ολίσθηση για κάθε ψηφίο ή ομάδα ψηφίων του πολλαπλασιαστή Συνδυαστική υλοποίηση: ταυτόχρονη πρόσθεση όλων των επιμέρους γινομένων για κάθε ψηφίο ή ομάδα ψηφίων του πολλαπλασιαστή Αλγόριθμος Booth έλεγχος μεταβολής τιμής ομάδων ψηφίων αντί ελέγχου τιμής μεμονωμένων ψηφίων
ΕΑΝΑΛΗΤΙΚΗ ΥΛΟΟΙΗΣΗ Ένας αθροιστής, τρεις καταχωρητές γινόμενο-πολλαπλασιαστής πολλαπλασιαστέος έλεγχος Κ1/Κ2 υπολογίζει το γινόμενο Αναπαράσταση πρόσημο/μέτρο
ΣΥΝΔΥΑΣΤΙΚΗ ΥΛΟΟΙΗΣΗ Με διάδοση κρατουμένου: A 3 A 2 A 1 A 0 B 0 B 1 Η Η B 2 Η B 3 Η Γ 7 Γ 6 Γ 5 Γ 4 Γ 3 Γ 2 Γ 1 Γ 0
ΣΥΝΔΥΑΣΤΙΚΗ ΥΛΟΟΙΗΣΗ Με διατήρηση κρατουμένου: A 3 A 2 A 1 A 0 B 0 B 1 Η Η B 2 Η B 3 Αθροιστής ρόβλεψης Κρατουμένου Γ 7 Γ 6 Γ 5 Γ 4 Γ 3 Γ 2 Γ 1 Γ 0
ΑΛΓΟΡΙΘΜΟΣ BOOTH Μετατροπή του πολλαπλασιαστή σε άθροισμα διαφορών δυνάμεων του 2 αν ο 01110 είναι ο πολλαπλασιαστής, τον γράφουμε ως 10000-00010, οπότε: Α * 01110 = Α*10000 - Α*00010 = Α<<4 - Α<<1 Συμπέρασμα: αντί για 3 προσθετέους, τώρα έχουμε 2! έχουμε πάντα λιγότερες πράξεις; γιατί; πώς θα μετατρέψουμε τον 01100111; πώς θα μετατρέψουμε τον 01010101;
ΑΛΓΟΡΙΘΜΟΣ BOOTH Ελέγχουμε ανά 2 τα bits του πολλαπλασιαστή από δεξιά Όταν βρίσκουμε: 00 ή 11, δεν κάνουμε τίποτα 01, προσθέτουμε τον πολλαπλασιαστέο 10, αφαιρούμε τον πολλαπλασιαστέο Σε κάθε περίπτωση, ακολουθεί ολίσθηση στο μερικό γινόμενο Ευκολία για προσημασμένους αριθμούς σε παράσταση συμπληρώματος του 2 Επέκταση για έλεγχο περισσότερων bits
ΔΙΑΙΡΕΣΗ ΑΚΕΡΑΙΩΝ Συμπληρωματική του πολλαπλασιασμού ομοιότητα αλγορίθμου και υλικού για επαναληπτική μόνο υλοποίηση συμπληρωματικές επιμέρους πράξεις Ο έλεγχος εξετάζει αν ο διαιρέτης χωράει στο μερικό υπόλοιπο σύγκριση, είτε αφαίρεση και μετά αναίρεση (ίσως;) Δύο αποτελέσματα: πηλίκο και υπόλοιπο διαίρεση με το 0
ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΟΔΙΑΣΤΟΛΗΣ Αλγόριθμοι πράξεων σε λογισμικό, αν δεν υπάρχει η κατάλληλη μονάδα Το υλικό χρησιμοποιεί υπομονάδες σταθερής υποδιαστολής για πράξεις μεταξύ συντελεστών και εκθετών Καινούργιες λειτουργίες: ευθυγράμμιση κανονικοποίηση στρογγυλοποίηση
ΡΑΞΕΙΣ ΚΙΝΗΤΗΣ ΥΟΔΙΑΣΤΟΛΗΣ ρόσθεση/αφαίρεση ευθυγράμμιση τελούμενων αποκανονικοποίηση του μικρότερου πράξη συντελεστών κανονικοποίηση/στρογγυλοποίηση ολλαπλασιασμός/διαίρεση πρόσθεση/αφαίρεση εκθετών αντίστοιχη αφαίρεση/πρόσθεση πόλωσης πολλαπλασιασμός/διαίρεση συντελεστών κανονικοποίηση/στρογγυλοποίηση
ΥΟΜΟΝΑΔΑ ΟΛΙΣΘΗΣΗΣ πράξη επίπεδο 0 επίπεδο 1 επίπεδο 2
ΚΑΤΑΧΩΡΗΤΕΣ Μια διάταξη από D flip-flops γραμμές εισόδου D Q D Q D Q Κ ν Κ ν-1 Κ 0 εγγραφή ρολόι ανάγνωση γραμμές εξόδου
ΦΑΚΕΛΟΣ ΚΑΤΑΧΩΡΗΤΩΝ 1 θύρα εγγραφής 2 θύρες ανάγνωσης