Γιώργος ηµητρίου Μάθηµα 2 ο Σύντοµη Επανάληψη
Από την Εισαγωγή στους Η/Υ Γλώσσες Μηχανής n Πεδία εντολής n Μέθοδοι διευθυνσιοδότησης n Αρχιτεκτονικές συνόλου εντολών n Κύκλος εντολής Αλγόριθµοι/Υλικό Αριθµητικών Πράξεων n Πρόσθεση ακεραίων n Πολλαπλασιασµός ακεραίων n ιαίρεση ακεραίων n Κινητή υποδιαστολή
Πεδία Εντολής Κωδικός λειτουργίας n καθορίζει το είδος της λειτουργίας Κωδικός τελεστή n καθορίζει τον τελεστή της πράξης Τελούµενα n εισόδου ή τελεστέοι και εξόδου n µε τη διευθυνσιοδότηση καθορίζεται η µέθοδος αναφοράς στα τελούµενα
Κατηγορίες Εντολών Εντολές αριθµητικών πράξεων n συµπεριλαµβάνονται πράξεις σύγκρισης Εντολές λογικών πράξεων n άλγεβρα Boole και ολισθήσεις Εντολές µεταφοράς δεδοµένων n αντιγραφή δεδοµένων από/προς τη µνήµη n µεταφορά µεταξύ καταχωρητών Εντολές ελέγχου ροής προγράµµατος n άλµατα µε/χωρίς συνθήκη Ειδικές εντολές
Μέθοδοι ιευθυνσιοδότησης Άµεση διευθυνσιοδότηση n χρήση σταθερών τιµών Κατ ευθείαν διευθυνσιοδότηση καταχωρητή nµεαριθµόήόνοµακαταχωρητή Υπονοούµενη διευθυνσιοδότηση ιευθυνσιοδότηση µνήµης
ιευθυνσιοδότηση Μνήµης Κατ ευθείαν διευθυνσιοδότηση n απόλυτη διεύθυνση µνήµης Έµµεση διευθυνσιοδότηση n δείκτης προς τη διεύθυνση µνήµης Σχετική διευθυνσιοδότηση n έµµεση µε µετατόπιση εικτοδοτούµενη διευθυνσιοδότηση n µε χρήση καταχωρητή-δείκτη ιευθυνσιοδότηση στοίβας Συνδυασµός των παραπάνω
Αρχιτεκτονικές Συνόλου Εντολών Αρχιτεκτονικές συσσωρευτή n Αρχιτεκτονικές επέκτασης συσσωρευτή Αρχιτεκτονικές στοίβας Αρχιτεκτονικές καταχωρητών γενικού σκοπού (ΚΓΣ) n Αρχιτεκτονικές καταχωρητή-µνήµης n Αρχιτεκτονικές φόρτωσης-αποθήκευσης ή καταχωρητή-καταχωρητή
Αρχιτεκτονικές RISC/CISC Απλού συνόλου εντολών (RISC): n Απλές εντολές n Ένας τρόπος διευθυνσιοδότησης µνήµης n Σταθερό µήκος λέξης εντολής Πολύπλοκου συνόλου εντολών (CISC): n Πολύπλοκες εντολές n Πολλοί τρόποι διευθυνσιοδότησης µνήµης n Μεταβλητό µήκος λέξης εντολής
Κύκλος Εντολής Ανάκλησηαπότηµνήµη n ιεύθυνση από µετρητή προγράµµατος Αποκωδικοποίηση Ανάγνωση τελούµενων εισόδου αν υπάρχουν Εκτέλεση n Συµπεριλαµβάνει προσπέλαση µνήµης σε αρχιτεκτονικές φόρτωσης-αποθήκευσης Αποθήκευση αποτελέσµατος υπάρχει Εισαγωγή στους Η/Υ αν
Αριθµητικές Πράξεις Σταθερής/Κινητής υποδιαστολής n πρόσθεση/αφαίρεση n πολλαπλασιασµός/διαίρεση n σύνθετες πράξεις κινητής υποδιαστολής Αλγόριθµοι πράξεων Υλικό πράξεων n άµεση απεικόνιση των αλγόριθµων σε λογικά κυκλώµατα n µονάδα πρόσθεσης/αφαίρεσης ακεραίων απαραίτητη για όλες τις πράξεις
Πρόσθεση/Αφαίρεση Ακεραίων Μονάδα διάδοσης κρατουµένου 4 bits: A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 C out C 2 C 1 C 0 C in FA FA FA FA Sub/ Sub/Add Overflow S 3 Zero S 2 S 1 S 0 n Αριθµητική συµπληρώµατος του 2
Υλικό Πρόσθεσης Ακεραίων ιάδοση κρατουµένου (carry-propagate, ripple-carry) Πρόβλεψη κρατουµένου (carrylookahead) Επιλογή κρατουµένου (carry-select) Παράκαµψη κρατουµένου (carry-skip, carry-bypass)
Πρόβλεψη Κρατουµένου Υλικόεύρους 16 bits Ιεραρχική υλοποίηση για εύρος 32, 64, 128, 256 bits Εισαγωγή στους Η/Υ
Επιλογή Κρατουµένου Επιλογή από επιµέρους αθροιστές Οι επιµέρους αθροιστές µπορούν να είναι του ίδιου ή διαφορετικού εύρους Εισαγωγή στους Η/Υ
Παράκαµψη Κρατουµένου Ο υπολογισµός των ενδιάµεσων κρατουµένων µπορεί να παρακαµφθεί Κι εδώ, οι επιµέρους αθροιστές µπορούν να είναι του ίδιου ή διαφορετικού εύρους Εισαγωγή στους Η/Υ
Χειρισµός Πολλών Προσθετέων Επαναληπτικά: x3 y3 z3 w3 x2 y2 z2 w2 x1 y1 z1 w1 x0 y0 z0 w0 0 0 ACCUMULATOR REGISTER s5 s4 s3 s2 s1 s0 n Συσσώρευση µερικών αθροισµάτων n Πολυπλέκτες για επιλογή εισόδων
Χειρισµός Πολλών Προσθετέων Πρόσθεση διατήρησης κρατουµένου: n Λέξεις αθροισµάτων / κρατουµένων
Πολλαπλασιασµός Ακεραίων Επαναληπτική υλοποίηση: nπρόσθεση και ολίσθηση για κάθε ψηφίο ή οµάδα ψηφίων του πολλαπλασιαστή Συνδυαστική υλοποίηση: n ταυτόχρονη πρόσθεση όλων των επιµέρους γινοµένων για κάθε ψηφίο ή οµάδα ψηφίων του πολλαπλασιαστή Αλγόριθµος Booth n έλεγχος µεταβολής τιµής οµάδων ψηφίων αντί ελέγχου τιµής µεµονωµένων ψηφίων
Επαναληπτική Υλοποίηση Ένας αθροιστής, τρεις καταχωρητές γινόµενο-πολλαπλασιαστής έλεγχος Κ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
Αλγόριθµος Booth Ελέγχουµεανά 2τα bitsτουπολλαπλασιαστή από δεξιά n Όταν βρίσκουµε: 00ή11,δενκάνουµετίποτα 01, προσθέτουµε τον πολλαπλασιαστέο 10, αφαιρούµε τον πολλαπλασιαστέο n Σε κάθε περίπτωση, ακολουθεί ολίσθηση στο µερικό γινόµενο Ευκολία για προσηµασµένους αριθµούς σε παράσταση συµπληρώµατος του 2 Επέκταση για έλεγχο περισσότερων bits
ιαίρεση Ακεραίων Συµπληρωµατική του πολλαπλασιασµού n οµοιότητα αλγορίθµου και υλικού για επαναληπτική µόνο υλοποίηση n συµπληρωµατικές επιµέρους πράξεις Ο έλεγχος εξετάζει αν ο διαιρέτης χωράει στο µερικό υπόλοιπο n σύγκριση, είτε n αφαίρεση και µετά αναίρεση (ίσως;) ύο αποτελέσµατα: πηλίκο και υπόλοιπο nδιαίρεσηµετο 0
Πράξεις Κινητής Υποδιαστολής Πρόσθεση/Αφαίρεση n ευθυγράµµιση τελούµενων αποκανονικοποίηση του µικρότερου n πράξη συντελεστών n κανονικοποίηση/στρογγυλοποίηση Πολλαπλασιασµός/ ιαίρεση n πρόσθεση/αφαίρεση εκθετών αντίστοιχη αφαίρεση/πρόσθεση πόλωσης n πολλαπλασιασµός/διαίρεση συντελεστών n κανονικοποίηση/στρογγυλοποίηση