Βασικές Σχεδίασης Υπολογιστών Αριθμητική Μονάδα Επεξεργασίας Κεφάλαιο 10 Chapter 10 Part 1 1
Περιεχόμενο Εισαγωγή Παράδειγμα Διαδρομής Δεδομένων Αριθμητική Λογική Μονάδα (Arithmetic Logic Uit - ALU) Μονάδα Ελέγχου (Cotrol Word) Chapter 10 Part 1 2
Εισαγωγή Ορισμός Υπολογιστή Αρχιτεκτονική Συνόλου Εντολών (Istructio Set Architecture - ISA) Οορισμόςτης χαμηλού επιπέδου λειτουργίας του υπολογιστή για τον προγραμματιστή Αρχιτεκτονική Υπολογιστή (Computer Architecture) μια υψηλού επιπέδου περιγραφή του υλικού του υπολογιστή όπως αυτός έχει οριστεί στο ISA. Συνήθως η αρχιτεκτονική συμπεριλαμβάνει επιπρόσθετές προδιαγραφές όπως ταχύτητα, κόστος, και αξιοπιστία (reliability). Chapter 10 Part 1 3
Εισαγωγή Μια απλή αρχιτεκτονική αποτελείται από το : Διαδρομή δεδομένων (Datapath) το οποίο υλοποιεί τις διάφορες πράξεις/λειτουργίες Μονάδα ελέγχου (Cotrol uit) το οποίο ελέγχει τις λειτουργίες της Διαδρομής Δεδομένων Η Διαδρομή Δεδομένων ορίζεται από : Ένα σύνολο καταχωριτών Το σύνολο των μικρολειτουργιών που εκτελούνται στα δεδομένα αποθηκευμένα στους καταχωριτές Ένα σύνολο από σήματα ελέγχου (cotrol iterface) Chapter 10 Part 1 4
Διαδρομή Δεδομένων (Datapaths) Αρχές Σχεδίασης μιας απλής Διαδρομής Δεδομένων : Σύνολο καταχωριτών Συλλογή από Καταχωριτές Ένα σύνολο από καταχωριτές με κοινό σημείο πρόσβασης λέγετε Αρχείο Καταχωρτιτών (register file) Υλοποίηση Μικρολειτουργιών Μια ή περισσότερες κοινώχρηστές μονάδες για την υλοποίηση των μικρολειτουργιών Δίαυλοι (Buses) κοινόχρηστη διαδρομή μεταφοράς Αριθμητική Λογική Μονάδα (Arithmetic-Logic Uit- ALU) - κοινόχρηστή μονάδα για την υλοποίηση αριθμητικών και λογικών μικρολειτουργιών Ολισθητή (Shifter) - κοινόχριστή μονάδα για την υλοποίηση μικρολειτουργιών ολίσθησης Chapter 10 Part 1 5
Διαδρομή Παράδειγμα 4 parallel-load καταχωριτές 2 mux-based επιλογείς καταχωριτών Decoder καταχωριτής προορισμού Mux B για εξωτερική σταθερή είσοδο δεδομένων Buses A και B με εξωτερική διεύθυνση και έξοδο δεδομένων ALU και Shifter με Mux F για επιλογή εξόδου Mux D για εξωτερική είσοδο δεδομένων Κύκλωμα (Logic) για παραγωγή των status bits V, C, N, Z Chapter 10 Part 1 6
Διαδρομή (Παράδειγμα): Εκτέλεση μιας Μικρολειτουργίας Μικρολειτουργία: R0 R1 + R2 Είσοδο 01 στο A select για τη φόρτωση των περιεχομένων του R1 στο A Είσοδο 10 στο B select για τη φόρτωση των περιεχομένων του R2 στο B data και είσοδο 0 στο MB select για επιλογή του B data στο Bus B Είσοδο 0010 στο G select για εκτέλεση πρόσθεσης G = Bus A + Bus B Είσοδο 0 στο MF select και 0 στο MD select φόρτωση της τιμής του G στο BUS D Είσοδο 00 στο Destiatio select για τη φόρτωση του αποτελέσματος στο eable Write D data N Z Zero Detect MF select 0 1 MUX F F R0 MD select 0 1 MUX D Bus D V C G select 4 R0 R1 R2 R3 0 1 2 3 Decoder D address 2 Costat i Destiatio select MB select Bus A 1 0 MUX B A select A address Bus B 2 2 0 1 MUX 2 3 A data B select B address Fuctio uit 0 1 MUX 2 3 Register file B data A B H select A B 2 S 2:0 C S i B Arithmetic/logic 0 I R Shifter I L 0 uit (ALU) G H Address Out Data Out Chapter 10 Part 1 7 Data I
Διαδρομή (Παράδειγμα): Εκτέλεση μιας Μικρολειτουργίας Είσοδο 1 στο Eable για να επιτραπεί η φόρτωση του G στο καταχωριτή R0 Όλη η μικρολειτουργία εκτελείτε σε ένα κύκλο ρολογιού eable Write D data R0 R1 R2 A select A address 2 2 0 1 MUX 2 3 B select B address 0 1 MUX 2 3 0 1 2 3 Decoder D address 2 Costat i Destiatio select MB select Bus A V C N Z G select 4 R3 Zero Detect 0 1 MF select MUX F F MD select 0 1 MUX D Bus D 1 0 MUX B Bus B A data Fuctio uit Register file B data A B H select A B 2 S 2:0 C S i B Arithmetic/logic 0 I R Shifter I L 0 uit (ALU) G H Address Out Data Out Chapter 10 Part 1 8 Data I
Διαδρομή Δεδομένων: Σήματα ελέγχου για εκτελέσεις Μικρολειτουργιών Για shift microoperatio είσοδο 1 στο MF select Για μικρολειτουργία με σταθερές χρησιμοποιώντας το Bus B είσοδο 1 στο MB select Για γράψιμο δεδομένων στη μνήμη πρέπει να δώσουμε τη αντίστοιχη διεύθυνση του κελιού είσοδο 0 στο eable για εμποδίσει την φόρτωση των καταχωριτών Για φόρτωση δεδομένων από μνήμη πρέπει να δώσουμε είσοδο 1 στο MD select eable Write D data 0 1 2 3 Decoder D address 2 Costat i Destiatio select MB select Bus A V C N Z G select 4 Zero Detect MF select R0 R1 R2 R3 MD select 0 1 MUX D Bus D 1 0 MUX B 0 1 MUX F F A select A address Bus B 2 2 0 1 MUX 2 3 A data B select B address Fuctio uit 0 1 MUX 2 3 Register file B data A B H select A B 2 S 2:0 C S i B Arithmetic/logic 0 I R Shifter I L 0 uit (ALU) G H Address Out Data Out Chapter 10 Part 1 9 Data I
Αριθμητική Λογική Μονάδα (Arithmetic Logic Uit - ALU) Η ALU αποτελείτε από: Ένα αριθμητικό Κύκλωμα Ένα Λογικό Κύκλωμα Έναν επιλογέα (DEMUX) για επιλογή του αντίστοιχου κυκλώματος Σχεδιασμός Αριθμητικού Κυκλώματος Το αριθμητικό κύκλωμα αποτελείτε από: Ένα -bit παράλληλο αθροιστή (adder) Ένα λογικό μπλοκ το οποίο το οποίο επιλέγει 4 πιθανούς εισόδους του Β στο αθροιστή Chapter 10 Part 1 10
Αριθμητική Λογική Μονάδα Chapter 10 Part 1 11
Σχεδιασμός Αριθμητικού Κυκλώματος Υπάρχουν 4 συναρτήσεις του Β για επιλογή της εισόδου Y στο G = A + Y: C i = 0 C i = 1 G = A G = A + 1 0 B B 1 G = A + B G = A + B G = A 1 G = A + B + 1 G = A + B + 1 G = A Τι συναρτήσεις υλοποιούνται όταν το carry-i στο adder είναι = 0? =1? Chapter 10 Part 1 12
Σχεδιασμός Αριθμητικού Κυκλώματος Οι επιλογείς του μπλοκ Β του ALU Chapter 10 Part 1 13
Μονάδα Ελέγχου (The Cotrol Word) Η Διαδρομή Δεδομένων έχει πολλά σήματα ελέγχου Τα σήματα που ελέγχουν αυτή την μονάδα ορίζονται και οργανώνονται στην μονάδα ελέγχου Για την εκτέλεση μιας μικρολειτουργίας, στέλνουμε τα σήματα από την μονάδα ελέγχου στη Διαδρομή Δεδομένων H μονάδα ελέγχου κωδικοποιεί τα σήματα ελέγχου σε μια λέξη (word) 16 bits Chapter 10 Part 1 14
Τα πεδία της Λέξης Ελέγχου 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DA AA BA M B FS M D R W Λέξη Ελέγχου Πεδία DA D Address (Καταχωριτής Προορισμού) AA A Address (Πρώτος Καταχωριτής) BA B Address MB Mux B (ΣταθερήτιμήήΤιμήστοBus B) FS Επιλογή Συναρτήσεων (Fuctio Select ) MD Mux D (Δεδομένα απο Μνήμη ή ALU) RW Γράψιμο σε Καταχωρητή (Register Write) Chapter 10 Part 1 15
Cotrol Word Block Diagram Chapter 10 Part 1 16
Cotrol Word Ecodig Ecodig of Cotrol W Chapter 10 Part 1 17
Microoperatios for the Datapath - Symbolic Represetatio Chapter 10 Part 1 18
Microoperatios for the Datapath - Biary Represetatio m Microoperatios from Ta Biary Co o Chapter 10 Part 1 19