Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Κεφ. 11 Αρχιτεκτονική Υπολογιστών 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ & ΛΕΙΤΟΥΡΓΙΕΣ.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Κεφ. 11 Αρχιτεκτονική Υπολογιστών 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ & ΛΕΙΤΟΥΡΓΙΕΣ."— Μεταγράφημα παρουσίασης:

1 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ & ΛΕΙΤΟΥΡΓΙΕΣ

2 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 2 Τι είναι μία ομάδα / σύνολο εντολών (Instruction Set);  Η πλήρης συλλογή λειτουργιών /πράξεων που μπορεί να κατανοηθεί και να υλοποιηθεί από μία ΚΜΕ (CPU)  Όριο από όπου ο σχεδιαστής και ο προγραμματιστής του υπολογιστικού συστήματος «βλέπουν» την ίδια μηχανή  Παρέχει όλη την πληροφορία για τις δυνατότητες της μηχανής κρύβοντας τις λεπτομέρειες της υλοποίησης της – Από τα κύρια μέρη της αρχιτεκτονικής του συστήματος.

3 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 3 Χαρακτηριστικά ομάδας εντολών  Κύρια χαρακτηριστικά μίας ομάδας εντολών: – Είδη λειτουργιών και πράξεων (μετακίνηση δεδομένων, αριθμητικές / λογικές πράξεις...) – Μορφή εντολών (αριθμός τελεστέων, πεδία εντολής...) – Μορφή δεδομένων (αναπαράσταση δεδομένων, λέξη, διπλή λέξη...) – Αριθμός καταχωρητών – Τρόποι διευθυνσιοδότησης  Οι εντολές συνήθως αναπαρίστανται με κώδικες σε συμβολική γλώσσα (assembly) – ADD R1, R2, R3; Πρόσθεσε τα δεδομένα των καταχωρητών R1, R2 και αποθήκευσε το αποτέλεσμα στον R3 (R3< – R1 + R2  Σε χαμηλότερο επίπεδο μετατρέπονται σε δυαδική μορφή – Γένεση των καταλλήλων σημάτων στην ΚΜΕ

4 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 4 Η ομάδα εντολών από την πλευρά του σχεδιαστή του συστήματος  Από τη πλευρά του σχεδιαστή η ομάδα εντολών καθορίζει τις απαιτήσεις της ΚΜΕ – Αν υπάρχει εντολή πρόσθεσης πρέπει να υπάρχει και το αντίστοιχο κύκλωμα στη ΚΜΕ – Αν απαιτείται μία συγκεκριμένη μεταφορά δεδομένων από τη μνήμη τότε αυτή πρέπει να υποστηρίζεται με κατάλληλα κυκλώματα

5 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 5 Η ομάδα εντολών από την πλευρά του χρήστη του συστήματος  Από την πλευρά του χρήστη (προγραμματιστή) καθορίζει τις λειτουργίες που μπορεί να επιτελέσει η μηχανή – Με βάση το σύνολο εντολών ο χρήστης μπορεί (ή δε μπορεί) να εκτελέσει άμεσα μία λειτουργία – Αν το σύνολο εντολών δεν περιλαμβάνει εντολή πολλαπλασιασμού τότε αυτός πρέπει να υλοποιηθεί με κατάλληλο αλγόριθμο (routine) προσθέσεων και ολισθήσεων

6 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 6 Επιπτώσεις επιλογής ομάδας εντολών  Οι αποφάσεις για το σύνολο εντολών της μηχανής έχουν καθοριστική επίδραση όσον αφορά την ΚΜΕ και το υλικό γενικότερα – Ταχύτητα – Υλοποίηση πράξης με μία εντολή (αν υποστηρίζεται) ή με πολλές εντολές (αν δεν υποστηρίζεται) => αύξηση (μείωση) της απόδοσης – Επιφάνεια – Αύξηση του πλήθους των εντολών απαιτεί (κατά κανόνα) περισσότερα κυκλώματα => αύξηση της επιφάνειας – Πολυπλοκότητα – Ομάδες με πολύπλοκες εντολές συνεπάγονται πολύπλοκους κυκλωματικούς σχεδιασμούς και πολύπλοκους μεταγλωττιστές (RISC vs CISC) – Κόστος

7 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 7 Στοιχεία μιας εντολής  Κάθε εντολή πρέπει να παρέχει όλη την πληροφορία που χρειάζεται η ΚΜΕ για την εκτέλεση της  Κώδικας Λειτουργίας (Opcode) – Καθορίζει τη λειτουργία πράξη που θα εκτελεστεί. – Κάθε φορά που προσκομίζεται η εντολή αποκωδικοποιείται ο κώδικας λειτουργίας – Κάθε εντολή εκτελεί μία συγκεκριμένη λειτουργία και επομένως έχει ένα μοναδικό κώδικα λειτουργίας  Αναφορά τελεστέου πηγής – Είσοδοι της λειτουργίας / πράξης  Αναφορά τελεστέου προορισμού – Αποθήκευση αποτελέσματος  Αναφορά επόμενης εντολής – Καθορίζει την επόμενη εντολή που θα εκτελεστεί

8 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 8 Διάγραμμα καταστάσεων κύκλου εντολής

9 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 9 Αναπαράσταση εντολής  Στην πράξη μία εντολή είναι μία συλλογή από δυαδικά ψηφία – Κάθε εντολή έχει μία μοναδιαία τοποθέτηση των ψηφίων της για να ξεχωρίζει από τις υπόλοιπες – Κατά την εκτέλεση τα ψηφία του πεδίου opcode αποκωδικοποιούνται και εκτελείται η εντολή  Τα ψηφία ομαδοποιούνται σε πεδία όπου το κάθε πεδίο καθορίζει τα στοιχεία της εντολής – opcode, τελεστέοι πηγής και προορισμού – Ευκολία αποκωδικοποίησης  Για ευκολία χρησιμοποιείται μια συμβολική αναπαράσταση (assembly language) – π.χ. ADD, SUB, LOAD  Οι τελεστέοι μπορούν να αναπαρασταθούν επίσης κατά τον ίδιο τρόπο – ADD A,B

10 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 10 Μορφή απλής εντολής

11 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 11 Που είναι αποθηκευμένοι οι τελεστέοι;  Κύρια μνήμη (ή εικονική μνήμη) – Με χρήση κατάλληλων τρόπων διευθυνσιοδότησης καθορίζεται η διεύθυνση και προσκομίζεται από τη μνήμη η τιμή του τελεστέου (Κεφ. 11) – Παρόμοια και για τον τελεστέο προορισμού (αποθήκευση αποτελέσματος)  Καταχωρητές της ΚΜΕ – Χρήση των εσωτερικών καταχωρητών της ΚΜΕ για διάβασμα τιμών και αποθήκευση αποτελεσμάτων  Συσκευές εισόδου /εξόδου – Καθορισμός της διεύθυνσης του Ι/Ο (I/O με απεικόνιση μνήμης, απομονωμένο Ι/Ο)

12 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 12 Τύποι εντολής (1/2)  Επεξεργασίας δεδομένων – Εκτέλεση αριθμητικών πράξεων (ADD, SUB, ADC, SBB,…) – Εκτέλεση λογικών (Boolean) πράξεων (AND, OR, XOR, SHIFT,…)  Μεταφορά /αποθήκευση δεδομένων (στην κύρια μνήμη) – Μεταφορά δεδομένων από/προς τη μνήμη (MOV, LOAD, STORE,…)

13 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 13 Τύποι εντολής (2/2)  Ελέγχου ροής προγράμματος – Εντολές διακλάδωση υπό συνθήκη (JC, JNC, JZ, …) – Εντολές άλματος (JUMP) – Κλήση ρουτίνας (CALL) – Επιστροφής από ρουτίνα (RETURN)  Μετακίνησης δεδομένων (I/O) – Παρόμοιο με τις εντολές μνήμης

14 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 14 Αριθμός διευθύνσεων (α)  3 διευθύνσεις – Τελεστέος 1, Τελεστέος 2, Προορισμός – a = b + c; – ΑDD A, B, C ; A  B+C  Χρειάζεται μεγάλες λέξεις εντολής για να συμπεριλάβει όλα τα πεδία – Αύξηση απαιτήσεων μνήμης – Υψηλές απαιτήσεις ρυθμού μεταφοράς δεδομένων

15 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 15  2 διευθύνσεις – Μία διεύθυνση χρησιμοποιείται για την πηγή και τον προορισμό – a = a + b – ADD A, B; A  A+B  Μειώνει το μήκος της εντολής  Απαιτεί επιπλέον εντολές Προσωρινή αποθήκευση ενδιάμεσων αποτελεσμάτων a=b+c MOV A, B ; A  B ADD A, C; A  A+C=B+C Αριθμός διευθύνσεων (β)

16 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 16  1 διεύθυνση – Η δεύτερη διεύθυνση υπονοείται – Συνήθως είναι ένας καταχωρητής (συσσωρευτής) – Συνηθιζόταν στους αρχικούς επεξεργαστές Αριθμός διευθύνσεων (γ)

17 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 17  0 (μηδέν) διεύθυνση – Όλες οι διευθύνσεις υπονοούνται – Χρησιμοποιείται σωρός – e.g. push a – push b – add – pop c – c = a + b Αριθμός διευθύνσεων (δ)

18 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 18 Προγράμματα εκτέλεσης του Υ=(Α-Β)/(C+D*E) Εντολή Σχόλιο SUB Y,A,BY←A-B MPY T,D,ET ←D×E ADD T,T,CT ←T+C DIV Y,Y,T Y ←Y÷T (α) εντολές τριών διευθύνσεων Εντολή Σχόλιο MOV Y,AY←A SUB Y,BY←Y-B MOV T,DT←D MPY T,ET ←T×E ADD T,CT ←T+C DIV Y,TY ←Y÷T (α) εντολές δύο διευθύνσεων Εντολή Σχόλιο LOAD D AC←D MPY E AC←AC×E ADD C AC←AC+C STOR Y Y←AC LOAD A AC←A SUB B AC←AC-B DIV Y AC←AC÷Y STOR Y Y←AC (α) εντολές μιας διεύθυνσης

19 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 19 Πόσα πεδία διευθύνσων χρειάζονται ;  Περισσότερες διευθύνσεις – Πολυπλοκότερες εντολές (powerful?) – Περισσότεροι καταχωρητές Οι πράξεις μεταξύ των καταχωρητών είναι γρηγορότερες – Λιγότερες εντολές ανά πρόγραμμα  Λιγότερες διευθύνσεις – Λιγότερο πολύπλοκες εντολές (powerful?) – Περισσότερες εντολές ανά πρόγραμμα – Γρηγορότερη προσκόμιση/εκτέλεση εντολών

20 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 20 Σχεδιαστικές αποφάσεις (1)  Ρεπερτόριο εντολών – Πόσες λειτουργίες; – Τι μπορούν να κάνουν; – Πόσο πολύπλοκες είναι;  Τύποι δεδομένων – Μήκος δεδομένων – Αναπαράσταση δεδομένων  Μορφές εντολών – Μήκος του πεδίου του opcode. Καθορίζει το πλήθος των εντολών – Αριθμός διευθύνσεων

21 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 21 Σχεδιαστικές αποφάσεις (2)  Καταχωρητές – Αριθμός διαθέσιμων καταχωρητών της ΚΜΕ – Ποιες λειτουργίες μπορούν να πραγματοποιηθούν σε ποιους καταχωρητές;  Τρόποι διευθυνσιοδότησης – Καθορισμός της διεύθυνσης του τελεστέου (Κεφ. 11)  RISC έναντι CISC

22 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 22 Τύποι τελεστέων  Διευθύνσεις  Αριθμοί – Αναπαράσταση (2’s complement, signed, unsigned) – Ακέραιοι/κινητής υποδιαστολής – Δυναμική περιοχή – Εξαρτάται από το μέγεθος της λέξης δεδομένων – Εύρος τιμών, ακρίβεια  Χαρακτήρες – ASCII κλπ.  Λογικά δεδομένα – Ψηφία από σημαίες

23 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 23 Τύποι δεδομένων στον Pentium

24 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 24 Τύποι λειτουργιών /πράξεων  Μεταφοράς δεδομένων  Αριθμητικοί  Λογικοί  Μετατροπής  Εισόδου/Εξόδου (I/O)  Μεταφοράς ελέγχου

25 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 25 Λειτουργίες μεταφοράς δεδομένων  Ορισμοί – Πηγή (καταχωρητής, μνήμη, σωρός) – Προορισμός (καταχωρητής, μνήμη, σωρός) – Ποσότητα δεδομένων  Μπορεί να υπάρχουν διαφορετικές εντολές για διαφορετικές μετακινήσεις – π.χ. IBM 390  Ή μία εντολή και διαφορετικές διευθύνσεις – π.χ. VAX

26 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 26 Αριθμητικές λειτουργίες  Πρόσθεση, αφαίρεση, πολλαπλασιασμός, διαίρεση – Συνήθως, λόγω πολυπλοκότητας του κυκλώματος η διαίρεση μπορεί να μην υποστηρίζεται  Προσημασμένος ακέραιος  Κινητής υποδιαστολής; – Συνήθως υποστηρίζεται από ειδικό κύκλωμα (μαθηματικό συνεπεξεργαστή)  Μπορεί να περιλαμβάνουν – Αύξηση (a++); a=a+1 – Μείωση (a--); a=a-1 – Συμπλήρωμα (-a)

27 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 27 Λογικές λειτουργίες και λειτουργίες μετατροπής  Λειτουργίες σε επίπεδο ψηφίων (Bitwise) – AND, OR, NOT  Δυαδικό σε δεκαδικό

28 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 28 Λογική ολίσθηση  Τα ψηφία μετατοπίζονται δεξιά ή αριστερά  Στο ένα άκρο το ψηφίο που βγαίνει έξω από τη λέξη χάνεται, στο άλλο άκρο εισάγεται ένα 0  Χρησιμοποιούνται για την απομόνωση ψηφίων με χρήση μάσκας  Αντιστοιχεί σε πολλαπλασιασμό /διαίρεση μη προσημασμένων αριθμών

29 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 29 Λογική ολίσθηση  Έστω ότι θέλουμε να μεταδώσουμε χαρακτήρες δεδομένων σε μία Ι/Ο συσκευή (1 χαρακτ. τη φορά). Έστω οτι η λέξη έχει μήκος 8 ψηφία  Αριστερός χαρακτήρας 1. Φορτώνουμε τη λέξη σε ένα καταχωρητή 2. AND με το Μάσκα στο δεξία χαρακτήρα 3. Ολίσθηση δεξιά 4 φορές. Ο αριστερός χαρακτήρας μεταφέρθηκε στο δεξιό μισό του καταχωρητή 4. Μεταφορά δεδομένων σε Ι/Ο Παρόμοια και για το δεξιό χαρακτήρα

30 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 30 Αριθμητική ολίσθηση  Τα ψηφία μετατοπίζονται δεξιά ή αριστερά. Τα δεδομένα μεταχειρίζονται σαν ακέραιοι αριθμοί με πρόσημο  Το πρόσημο διατηρείται πάντοτε  Υλοποίηση πολλαπλασιασμών /διαιρέσεων με δυνάμεις του 2 για αριθμούς που αναπαριστανται σε 2’s complement – ΠΡΟΣΟΧΗ. Γίνεται περικοπή των περιττών αριθμών

31 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 31 Περιστροφή

32 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 32 Αριθμητική και λογική ολίσθηση

33 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 33 Λειτουργίες εισόδου/εξόδου  Μπορεί να είναι συγκεκριμένες εντολές  Μπορεί να γίνουν χρησιμοποιώντας εντολές μετακίνησης δεδομένων (memory mapped)  Μπορεί να εκτελεστούν από ξεχωριστό ελεγκτή (DMA)

34 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 34 Μεταφορά του ελέγχου  Διακλάδωση – π.χ. διακλάδωση στο x εάν το αποτέλεσμα είναι μηδέν. JZ xxxx (address)  Υπερπήδηση – π.χ. αύξησε και υπερπήδησε εάν μηδέν – ISZ Register1 – Branch xxxx – ADD A  Κλήση ρουτίνας call – Call διακοπής

35 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 35 Εντολή διακλάδωσης

36 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 36 Φωλιασμένες διαδικασίες από Calls

37 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 37 Τοποθέτηση Σωρού στη μνήμη  Μια περιοχή μνήμης με δομή LIFO

38 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 38 Φωλιασμένες διαδικασίες από Calls

39 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 39 Χρήση σωρού

40 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 40 Ταξινόμηση των Bytes (παράδειγμα)  Αποθήκευση του αριθμού  Διεύθυνση Τιμή (1)Τιμή(2)      δηλ. διαβάζεται από πάνω προς τα κάτω ή ανάποδα;

41 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 41 Ονομασία ταξινόμησης των Byte  Το πρόβλημα καλείται Endian  Big-endian: το περισσότερο σημαντικό byte στη μικρότερη διεύθυνση  Little-endian: το λιγότερο σημαντικό byte στη μικρότερη διεύθυνση

42 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 42 Δομές Μικρού και μεγάλου άκρου

43 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 43 Εναλλακτική όψη χάρτη μνήμης

44 Κεφ. 11 Αρχιτεκτονική Υπολογιστών 44 Σύγκριση μικρού – μεγάλου άκρου  Πλεονεκτήματα μεγάλου άκρου – Ταξινόμηση – ταχύτερη σύγκριση – Οι τιμές αποτυπώνονται από τα αριστερά προς τα δεξιά – Τακτική σειρά –πρώτο το σημαντικότερο byte


Κατέβασμα ppt "Κεφ. 11 Αρχιτεκτονική Υπολογιστών 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ & ΛΕΙΤΟΥΡΓΙΕΣ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google