Η ΑΡΙΘΜΙΤΙΚΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Δεδομένα Data Κείμενο Βίντεο Αριθμοί Ήχοι Εικόνες Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Αποθήκευση Δεδομένων Τα δεδομένα στους ηλεκτρονικούς υπολογιστές αναπαρίστανται σαν αριθμοί Οι αριθμοί αποθηκεύονται σε bits (δυαδικό σύστημα). Θέματα: Πως αναπαριστώνται οι αρνητικοί αριθμοί ? Ποιος είναι ο μεγαλύτερος αριθμός που μπορεί να αναπαρασταθεί με μια λέξη του υπολογιστή? Τι γίνεται με τα κλάσματα και τους πραγματικούς αριθμούς ? Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Αριθμητικά συστήματα Σύστημα Βάση Σύμβολα Δυαδικό 2 0,1 Τριαδικό 3 0,1,2 Οκταδικό 8 0,1,2,3,4,5,6,7 Δεκαδικό 10 0,1,2,3,4,5,6,7,8,9 Δωδεκαδικό 12 0,1,2,3,4,5,6,7,8,9,Α,Β δεκαεξαδικό 16 0,1,2,3,4,5,6,7,8,9,Α,Β,C,D,E,F Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Αριθμητικά συστήματα HEX DEC OCT BIN 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 10 1000 9 11 1001 A 12 1010 B 13 1011 C 14 1100 D 15 1101 E 16 1110 F 17 1111 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Μετατροπή Bin σε Dec 1 0 1 1 0 0 1 0 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 1 0 1 1 0 0 1 0 => 128+32+16+2=178 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Μετατροπή Bin σε Hex 1 0 1 1 0 0 1 0 0010 11<dec> 2<dec> B2 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Μετατροπή Dec σε Bin 35 71 2 1 17 8 4 Διαίρεσε τον δεκαδικό αριθμό n με το 2. Το υπόλοιπο της διαίρεσης είναι το επόμενο bit του αριθμού. Συνέχισε με n το πηλίκο Παράδειγμα: Το 71 είναι το 1000111 στο δυαδικό σύστημα Διάβασε τα υπόλοιπα από τα δεξιά (κάτω) προς τα αριστερά. (πάνω) Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Ακέραιοι αριθμοί Ακέραιοι Μη Προσημασμένοι Προσημασμένοι Μέτρο και πρόσημο Συμπλήρωμα ως προς 1 Συμπλήρωμα ως προς 2 Αρχιτεκτονική Υπολογιστών
Μη προσημασμένοι ακέραιοι Ένας μη προσημασμένος ακέραιος μπορεί να πάρει τιμές 0 - +∞ Δεν υπάρχει υπολογιστής που να μπορεί να αναπαραστήσει όλους τους ακέραιους Ο μέγιστος μη προσημασμένος ακέραιος εξαρτάται από τον αριθμό των μπιτ Ν που χρησιμοποιεί ο υπολογιστής για την αναπαράσταση ενός μη προσημασμένου ακέραιου Διάστημα τιμών: 0…(2N–1) Αρχιτεκτονική Υπολογιστών
Μη προσημασμένοι ακέραιοι Αριθμός 4Bit 8Bit 2 0010 00000010 18 overflow 00010010 256 Αρχιτεκτονική Υπολογιστών
32Bit αριθμοί Αριθμοί χωρίς πρόσημο (Unsigned) Αναπαράσταση από 0 έως 232-1 00000000 00000000 00000000 00000000= 0 00000000 00000000 00000000 00000001= 1 00000000 00000000 00000000 00000010= 2 11111111 11111111 11111111 11111101= 4,294,967,293 11111111 11111111 11111111 11111110= 4,294,967,294 11111111 11111111 11111111 11111111= 4,294,967,295 Αρχιτεκτονική Υπολογιστών
Προσημασμένοι ακέραιοι Ένας προσημασμένος ακέραιος μπορεί να πάρει τιμές -∞ <=> +∞ Δεν υπάρχει υπολογιστής που να μπορεί να αναπαραστήσει όλους τους ακέραιους Ο μέγιστος και ελάχιστος προσημασμένος ακέραιος εξαρτάται από τον αριθμό των μπιτ Ν που χρησιμοποιεί ο υπολογιστής για την αναπαράσταση ενός προσημασμένου ακέραιου Διάστημα τιμών: -2Ν… 0 ...(2N–1) Αρχιτεκτονική Υπολογιστών
Αναπαράσταση μέτρο-πρόσημο Το MSB εκφράζει το πρόσημο Τα υπόλοιπα Bit εκφράζουν το μέτρο Πχ: => 010000 -16 => 110000 Κλίμακα: -2Ν-1 ... 0 ... 2Ν-1 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Συμπλήρωμα ως προς 1 Αν το MSB είναι 0 ο αριθμός είναι θετικός Το μέτρο του εκφράζεται από τα υπόλοιπα bit Αν το MSB είναι 1 ο αριθμός είναι αρνητικός To μέτρο του εκφράζεται με το σημπλήρωμα ως προς 1 των υπόλοιπων bit Το συμπλήρωμα ως προς 1 προκύπτει αλλάζοντας τα 0 σε 1 και αντίστροφα Κλίμακα: -2Ν-1 ... 0 ... 2Ν-1 Παράδειγμα: +5 = 00000101 -5 = 11111010 ( 1111010 => 0000101) Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Συμπλήρωμα ως προς 2 Αν το MSB είναι 0 ο αριθμός είναι θετικός Το μέτρο του εκφράζεται από τα υπόλοιπα bit Αν το MSB είναι 1 ο αριθμός είναι αρνητικός To μέτρο του εκφράζεται με το συμπλήρωμα ως προς 2 των υπόλοιπων bit Το συμπλήρωμα ως προς 2 προκύπτει απο το συμπλήρωμα ως προς 1 προσθέτοντας 1 και αγνοώντας το κρατούμενο αν υπάρξει. Κλίμακα: -2Ν-1 ... 0 ... 2Ν-1-1 Παράδειγμα: +5 = 00000101 -5 = 11111010+1 = 11111011 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Συμπλήρωμα ως προς 2 +5 + (-5) = 0 00000101 11111011 100000000 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Ακέραιοι Απρόσημη Αριθμητική Αν έχουμε n bits η περιοχή των αριθμών είναι : 0 έως (2n –1) πχ Για n=8 0 εως 255 Για n=16 0 εως 65535 Για n=32 0 εως (232-1) Προσημασμένη Αριθμητική Αν έχουμε n bits η περιοχή των αριθμών είναι : -2n-1 έως 2n-1-1 πχ. Για n=8 -128 εως +127 Για n=16 -32768 εως +32767 Για n=32 -231 εως +231-1 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Μετατροπή bin dec Προσημασμένος αριθμός 1111 1111 1111 1111 1111 1111 1111 1100 Απάντηση (1x –231)+ (1x230)+ (1x229)+…+ (1x22)+ (0x21)+ (0x20) = -231+ 230 + 229 +…+ 22 + 0 + 0 = -2,147,483,648 + 2,147,483,644= -4 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Μετατροπή bin dec Mή προσημασμένος αριθμός 1111 1111 1111 1111 1111 1111 1111 1100 Απάντηση (1x 231)+ (1x230)+ (1x229)+…+ (1x22)+ (0x21)+ (0x20) = +2,147,483,648 + 2,147,483,644= 4294967296 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Πραγματικοί αριθμοί Σταθερής υποδιαστολής Qa.b dn-12a-1+dn-22a-2 + …+dn-a 20+ dn-a-1 2 -1+…+ d02-b 2.625 = 10101 = 1×2 + 0×1 + 1×0.5 + 0×0.25 + 1×0.125 (Q2.3) Κινητής υποδιαστολής sx2e 1bit 8bit 23bit ± e S Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών slt , sltu Οι πράξεις χρησιμοποιούν προσημασμένη αριθμητική Υπάρχουν εντολές για μη προσημασμένη αριθμητική $0= 00000000 00000000 00000000 00000000 $1= 11111111 11111111 11111111 11111111 slt $2,$1,$0 $2=1 sltu $2,$1,$0 $2=0 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Υπερχείλιση Το αποτέλεσμα μιας πράξης μπορεί να δημιουργήσει υπερχείλιση Υπάρχουν εντολές που αγνοούν την υπερχείλιση addu, addiu, subu Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Λογικές Πράξεις Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Λογικές Πράξεις Ολίσθηση (shift left-right logical sll $1, $2, x #$1=$2<<x srl $1, $2, x #$1=$2>>x Προσοχή οι sll και srl είναι Rtype sll $1,$2,8 2 1 8 000000 00000 00010 01000 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Λογικές Πράξεις OR, AND or $1, $2, $3 #$1=$2|$3 and $1, $2, $3 #$1=$2&$3 Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Σχεδίαση ALU Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών ALU 1 Bit OR-AND Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών 1 Bit Adder Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών 1 Bit ALU Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών 32Bit ALU Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Operation Selection Αρχιτεκτονική Υπολογιστών
Αρχιτεκτονική Υπολογιστών Mips ALU Αρχιτεκτονική Υπολογιστών