Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΠροκόπιος Αλαβάνος Τροποποιήθηκε πριν 7 χρόνια
1
Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι Ιωάννης Έλληνας Τμήμα Η/ΥΣ
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Αρχιτεκτονική-Ι Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι Ιωάννης Έλληνας Τμήμα Η/ΥΣ
2
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.
3
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
4
Σκοποί ενότητας Σκοπός της εισαγωγικής ενότητας είναι η ανασκόπηση των αριθμητικών συστημάτων και η εισαγωγή στις βασικές λειτουργίες των εντολών ενός επεξεργαστή, όπως αριθμητικές πράξεις, ολισθήσεις, περιστροφές, μετατροπές αριθμητικών συστημάτων.
5
Περιεχόμενα ενότητας Ορισμοί Αριθμοί BCD Αριθμητικά Συστήματα
Δεκαδικό σύστημα Δυαδικό σύστημα Μετατροπή ακέραιου δεκαδικού σε δυαδικό Μετατροπή κλασματικού δεκαδικού σε δυαδικό Δεκαεξαδικό σύστημα Μετατροπή ακέραιου δεκαδικού σε δεκαεξαδικό Κώδικες Κώδικας ASCII Αριθμοί BCD Αριθμητικές πράξεις Λογικές πράξεις Ολίσθηση-Περιστροφή Μετατροπές αριθμών BCD Μετατροπές αριθμητικών συστημάτων (BIN to DEC) Μετατροπές αριθμητικών συστημάτων (DEC to BIN) Μετατροπές αριθμητικών συστημάτων (BIN to ASCII) Μετατροπές αριθμητικών συστημάτων (ASCII to BIN)
6
Ορισμοί (1) Ένας δυαδικός αριθμός των 4 bits καλείται nibble.
Ένας δυαδικός αριθμός των 8 bits καλείται byte. Ένας δυαδικός αριθμός των 16 bits καλείται word. Ένας δυαδικός αριθμός των 32 bits καλείται double word. Ένας δυαδικός αριθμός των 64 bits καλείται quad word. 6
7
Ορισμοί (2) Το πιο αριστερό bit ενός δυαδικού αριθμού καλείται «περισσότερο σημαντικό» ή MSB (Most Significant Bit). Το πιο δεξιό bit ενός δυαδικού αριθμού καλείται «λιγότερο σημαντικό» ή LSB (Least Significant Bit).
8
Δεκαδικό – Δυαδικό - Δεκαεξαδικό
Αριθμητικά Συστήματα Δεκαδικό – Δυαδικό - Δεκαεξαδικό BINary (b) HEXadecimal (h) DECimal (d) Α 10 Β 11 C 12 D 13 E 14 F 15 8
9
Δεκαδικό Σύστημα Η παράσταση ενός αριθμού D στο δεκαδικό σύστημα δίνεται από τη σχέση: D={…d3 d2 d1 d0 .d-1 d-2 d-3…} και η τιμή του D= Σi (di x 10 ͥ). Για παράδειγμα το μπορεί να γραφτεί σαν: = 1 x 10 ² + 2 x 10¹ + 3 x 10° + 5 x 10¯¹ +4 x 10 ¯²
10
Δυαδικό Σύστημα To δυαδικό σύστημα μοιάζει με το δεκαδικό με τη διαφορά ότι αποτελείται από 2 ψηφία και η δυαδική αναπαράσταση ενός αριθμού πραγματοποιείται με δυνάμεις του δυο ως εξής: Β ={…b3 b2 b1 b0 .b-1 b-2 b-3…} και η τιμή του B= Σi (bi x 2 ͥ). Για παράδειγμα το μπορεί να γραφτεί σαν : = (1 x 2 ³) + (0 x 2 ²) + (1 x 2¹ ) + (1 x 2°) + (0 x 2¯¹) +(1 x 2 ¯²) + ( 1 x 2 ¯³) = ₁₀
11
Μετατροπή Ακέραιου Δεκαδικού σε Δυαδικό (1)
Μετατροπή Ακέραιου Δεκαδικού σε Δυαδικό (1)
12
Μετατροπή Ακέραιου Δεκαδικού σε Δυαδικό (2)
Μετατροπή Ακέραιου Δεκαδικού σε Δυαδικό (2) δυνάμεις του 2 δεκαδικό ισοδύναμο Αποτέλεσμα = 17
13
Μετατροπή Κλασματικού Δεκαδικού σε Δυαδικό
Μετατροπή Κλασματικού Δεκαδικού σε Δυαδικό Ο αριθμός που προκύπτει είναι ο ο οποίος έχει ισοδύναμο το δεκαδικό αριθμό: 1*2-1+1*2-2+1*2-3+0*2-4+1*2-5=0,90625 που είναι μια προσέγγιση του αρχικού αριθμού
14
Δεκαεξαδικό Σύστημα Οι υπολογιστές βασίζουν τη λειτουργία τους στο δυαδικό σύστημα, όμως οι δυαδικοί αριθμοί αναπαρίστανται στο δεκαεξαδικό για να αποφεύγονται πολύ μεγάλοι δυαδικοί. Το δεκαεξαδικό επιτρέπει την ομαδοποίηση των δυαδικών ψηφίων ανά τέσσερα. Η ={…h3 h2 h1 h0 .h-1 h-2 h-3…} και η τιμή του H= Σi (hi x 16 ͥ).
15
Μετατροπή Ακέραιου Δεκαδικού σε Δεκαεξαδικό
Μετατροπή Ακέραιου Δεκαδικού σε Δεκαεξαδικό δυνάμεις του 16 δεκαδικό ισοδύναμο Αποτέλεσμα = 2*256+13*1=525 Ο δεκαεξαδικός αριθμός είναι: 020D h (To «h» πάντα υποδεικνύει τη βάση αρίθμησης)
16
Κώδικες (1) Ο αριθμός που περιέχεται σε ένα byte μπορεί να ερμηνευθεί με πολλούς τρόπους. Για παράδειγμα ο b μπορεί να είναι ο δεκαδικός 76, ο δεκαεξαδικός 4Ch ή ο χαρακτήρας “L” στον πίνακα με τους κωδικούς ASCII. Η υπόσταση ενός αριθμού καθορίζεται από το χρήστη, ο οποίος τους χειρίζεται όπως απαιτεί η εκάστοτε εφαρμογή.
17
Κώδικες (2) Δύο από τους πιο συχνά χρησιμοποιούμενους τύπους ή κώδικες είναι η δεκαδική παράσταση ενός δυαδικού αριθμού (BCD – Binary Coded Decimal) και ο Αμερικανικός Κώδικας Αντιστοιχιών (American Standard Code for Information Interchange) > ASCII. Υπάρχουν και άλλοι κώδικες όπως Gray Baudot, EBCDI, κλπ.
18
Κώδικας ASCII (1) Κάθε κομμάτι κειμένου που αποθηκεύεται σε έναν υπολογιστή αναπαριστά τους χαρακτήρες που εμφανίζονται σε αυτό ως αριθμούς από μια τυποποιημένη λίστα, ονομαζόμενη ASCII. Ο ASCII είναι κώδικας των 7 bits, ο οποίος εκφράζεται σαν ένα byte όπου το πιο σημαντικό ψηφίο είναι μηδέν ή χρησιμοποιείται σαν ισοτιμία (parity).
19
Κώδικας ASCII (2) - 37h 20h A B …….. Z a b …….. z 0Α 0Β …….. 0F
41h 42h …… Ah 37h a b …… z 61h 62h …… Ah 0Α Β …….. 0F 20h -
20
Αριθμοί BCD (1) Ο κώδικας BCD χρησιμοποιείται όταν θέλουμε να έχουμε είσοδο, έξοδο και επομένως εσωτερική επεξεργασία δεκαδικών αριθμών. Ένας δεκαδικός κώδικας: Δεκαδικοί αριθμοί (0...9) κωδικοποιούνται χρησιμοποιώντας διακριτές δυαδικές λέξεις 4 ων bit.
21
Αριθμοί BCD (2) Για την κωδικοποίηση αριθμών με n δεκαδικά ψηφία, χρειαζόμαστε 4n bits στο BCD π.χ. (365)₁₀ =( )BCD Αυτό είναι διαφορετικό από τη μετατροπή σε δυαδικό όπου (365)₁₀ =( )2 Ο κώδικας BCD χρειάζεται περίσσότερα bits. Όμως, παρέχει μεγαλύτερη ευκολία στην ανάγνωση/ερμηνεία.
22
Αριθμοί BCD (3) Packed BCD: Συνεπτυγμένοι είναι οι αριθμοί BCD οι οποίοι περιέχουν δυο δυαδικά ψηφία σε ένα byte. Οι αριθμοί 29h (byte), 3629h (word), h (double word) είναι BCD σε συνεπτυγμένη μορφή. Unpacked BCD: Μη συνεπτυγμένοι είναι οι αριθμοί BCD οι οποίοι περιέχουν ένα δυαδικό ψηφίο σε ένα byte. Οι αριθμοί 09h (byte), 0209h (word), h (double word) είναι BCD σε μη συνεπτυγμένη μορφή. 1 69 h – BCD (packed) 0609 h BCD (unpacked)
23
Αριθμητικές Πράξεις (1)
Οι δυαδικές αριθμητικές πράξεισ εκτελούνται μεταξύ προσημασμένων ή μη προσημασμένων αριθμών. Το πρόσημο ενός προσημασμένου αριθμού βρίσκεται πάντα στο πιο σημαντικό του bit: Ο αριθμός είναι θετικός αν το bit πρόσημου είναι 0, ενώ είναι αρνητικός αν αυτό είναι 1. Τα υπόλοιπα bits δίνουν το μέτρο του αριθμού.
24
Αριθμητικές Πράξεις (2) Συμπλήρωμα ως Προς 2
Η παράσταση με συμπλήρωμα ως προς 2 επιβάλει το χειρισμό του πιο σημαντικού bit ως πολλαπλασιαστή τιμής -1 επί το βάρος που αντιστοιχεί στη θέση του ψηφίου πρόσημου, για 8bit αριθμό -2⁷= -128. Τα υπόλοιπα bits προστίθενται με το βάρος που τους αντιστοιχεί στο αρνητικό βάρος του πιο σημαντικού ψηφίου. Δεν υπάρχει το πρόβλημα της διπλής αναπαράστασης του μηδενός.
25
Αριθμητικές Πράξεις (3) Αρνητικός Αριθμός
26
Αριθμητικές Πράξεις (4) Επέκταση Προσήμου
27
Αριθμητικές Πράξεις (5) Flags ή Σημαίες
28
Αριθμητικές Πράξεις (6) Πρόσθεση Δυαδικών
Μη προσημασμένοι + 282 256 Προσημασμένοι ή -230 -128
29
Αριθμητικές Πράξεις (7) Αφαίρεση Δυαδικών
Το OF γίνεται ένα μόνο εάν από την αριθμητική πράξη δύο ομόσημων αριθμών προκύψει ετερόσημος αριθμός.
30
Αριθμητικές Πράξεις (8) Πράξεις Δεκαεξαδικών
31
Αριθμητικές Πράξεις (9) Πράξεις Αριθμών BCD
Γιατί 6₁₀; A B C D E F
32
Αριθμητικές Πράξεις (10) Πράξεις Αριθμών pBCD
48 h 89 h Επιθυμητό αποτέλεσμα=01h Αριθμός > 9, άρα προσθέτω Auxilliary Flag (AF Αριθμός > 9, άρα προσθέτω CF= CF=1 και 37h 01h 37h
33
Αριθμητικές Πράξεις (11) Πράξεις Αριθμών pBCD
DAA: διορθώνει το αποτέλεσμα μετά από πρόσθεση δυο Packed BCD τιμών. AL= BCD αριθμός (υψηλό – χαμηλό ψηφίο) AF= Κρατούμενο από το χαμηλό BCD ψηφίο CF = Κρατούμενο από το υψηλό BCD ψηφίo Αλγόριθμος: Αν AL>9 ή AF=1 AL = AL+6- - AF=1 Αν AL>9F ή CF=1 AL=AL +60h - - CF=1
34
Αριθμητικές Πράξεις (12) Πράξεις Αριθμών pBCD
DAS: διορθώνει αποτέλεσμα μετά από αφαίρεση δυο Packed BCD τιμών. Αλγόριθμος: Αν AL>9 ή AF=1 AL = AL-6- - AF=1 Αν AL>9F ή CF=1 AL=AL -60h - - CF=1
35
Αριθμητικές Πράξεις (13) Πράξεις Αριθμών pBCD
04h 08h 08h 09h = Επιθυμητό αποτέλεσμα 01h 03h Αριθμός > 9, άρα προσθέτω Αριθμός > 9, άρα προσθέτω CF= CF=1 και 03h 07h 01h 03h 07h
36
Αριθμητικές Πράξεις (14) Πράξεις Αριθμών uBCD
AAA: Διορθώνει το αποτέλεσμα μετά από πρόσθεση δύο uBCD αριθμών Παράδειγμα: = = 01 και AF=1 = 07 AF = 0C 0C + 06 = 02 και CF=1
37
Αριθμητικές Πράξεις (15) Πράξεις Αριθμών uBCD
AAS: Διορθώνει το αποτέλεσμα μετά από αφαίρεση δύο uBCD αριθμών Παράδειγμα: = 02 06 03 – 00 = 03 και 05 – 09 = FC 0C – 06 = 06 και = 02 02 06
38
Λογικές Πράξεις Οι λογικές πράξεις AND, OR, NOT, XOR εκτελούνται bit προς bit μεταξύ δυο δυαδικών αριθμών ίδιου μήκους (Bitwise). H AND χρησιμοποιείται για το μηδενισμό (λογικό 0) ενός ή περισσότερων bits. H OR χρησιμοποιείται για την τοποθέτηση (λογικό 1) ενός ή περισσότερων bits. H NOT χρησιμοποιείται για την αντιστροφή της λογικής κατάστασης του αριθμού. Η XOR χρησιμοποιείται για την αντιστροφή της λογικής κατάστασης μερικών bits.
39
Ολίσθηση & Περιστροφή Η ολίσθηση προς τα αριστερά ενός μη προσημασμένου αριθμού κατά n θέσεις ισοδυναμεί με πολλαπλασιασμό με 2ᵑ. H ολίσθηση προς τα δεξιάενός μη προσημασμένου αριθμού κατά n θέσεις ισοδυναμεί με διαίρεση δια 2ᵑ. Αριστερή και Δεξιά Περιστροφή
40
Μετατροπές αριθμών BCD
pBCD uBCD uBCD pBCD
41
Μετατροπές Αριθμητικών Συστημάτων - BIN DEC
Ένας δυαδικός αριθμός μήκους ενός byte (packed BCD), έχει εκατοντάδες, δεκάδες και μονάδες. Η μετατροπή γίνεται με τη μέθοδο των διαδοχικών διαιρέσεων με το 100d=64h και 10d= 0Ah, προκειμένου να διαχωριστούν τα ψηφία με το αντίστοιχο βάρος.
42
Μετατροπές Αριθμητικών Συστημάτων - DEC BIN
Ένας δεκαδικός αριθμός μήκους ενός byte (packed BCD), έχει δεκάδες και μονάδες. Η μετατροπή γίνεται αν οι δεκάδες πολλαπλασιαστούν με 10d=0Ah και στο αποτέλεσμα προστεθούν μονάδες.
43
Μετατροπές Αριθμητικών Συστημάτων -BIN ASCII
Ένας δυαδικός αριθμός μήκους ενός byte έχει δύο ψηφία σε hex. Αρχικά διαχωρίζονται τα ψηφία και στη συνέχεια ελέγχεται αν κάποιο ψηφίο είναι γράμμα ή αριθμός ώστε να του προστεθεί το 30h ή 37 h αντίστοιχα.
44
Μετατροπές Αριθμητικών Συστημάτων - ASCII BIN
Για να μετατρέψουμε δυο χαρακτήρες ASCII σε δυαδικό αριθμό ενός byte, ελέγχουμε αν καθένας από αυτούς είναι αριθμός ή όχι, ώστε να του αφαιρεθεί το 30h ή 37h αντίστοιχα και μετά να κάνουμε σύμπτυξη.
45
Βιβλιογραφία “ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ-Ο επεξεργαστής 8086”, Ι. Ν. Έλληνας, Π. Δ. Κεντερλής, ISBN: , Αθήνα 2008. Γ. Δ. Κόγιας, “Αρχιτεκτονική, Οργάνωση και Προγραμματισμός μικροϋπολογιστών”, Σύγχρονη Εκδοτική. Κ. Ζ. Πεκμεστζή, “Συστήματα μικροϋπολογιστών”, Εκδόσεις Συμμετρία.
46
Τέλος Ενότητας
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.