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

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

Κεφ. 3 Αρχιτεκτονική Υπολογιστών 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 3 Περιγραφή του Κορυφαίου Επιπέδου Λειτουργίας & Διασύνδεσης.

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


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

1 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 3 Περιγραφή του Κορυφαίου Επιπέδου Λειτουργίας & Διασύνδεσης

2 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 2 Αφαιρετική Περιγραφή  Σε υψηλό επίπεδο ένας υπολογιστής μπορεί να περιγραφεί από την: – Εξωτερική συμπεριφορά κάθε υπομονάδας του Σήματα δεδομένων και ελέγχου που ανταλλάσσει με τις υπόλοιπες υπομονάδες Περιγραφή της λειτουργίας κάθε υπομονάδας – Περιγραφή των διασυνδέσεων όλων των υπομονάδων και των σημάτων ελέγχου

3 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 3 Αρχές von Neumann  Όλοι σχεδόν οι σύγχρονοι υπολογιστές βασίζονται στις τρεις αρχές που διατυπώθηκαν από τον John von Neumann το 1945  Αρχές von Neumann: 1. Τα δεδομένα και οι εντολές αποθηκεύονται σε μια μοναδική μνήμη 2. Τα περιεχόμενα της μνήμης μπορούν να διευθυνσιοδοτηθούν κατά θέση 3. Η εκτέλεση των εντολών γίνεται με ακολουθιακό τρόπο (εκτός ρητών εξαιρέσεων)

4 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 4 Κυκλώματα Ειδικού Σκοπού  Αποτελούνται από ένα σύνολο κυκλωματικών διατάξεων που – δέχονται δυαδικά δεδομένα – είναι κατάλληλα συνδεδεμένα – εκτελούν συγκεκριμένες πράξεις – αποθηκεύουν δυαδικά δεδομένα  Για διαφορετικούς υπολογισμούς απαιτείται διαφορετικό κύκλωμα  Για νέους υπολογισμούς απαιτείται ο σχεδιασμόs νέου κυκλώματος  Έλλειψη ευελιξίας

5 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 5 Συστήματα Γενικού Σκοπού – Η Έννοια του Προγράμματος  Τα συστήματα γενικού σκοπού εκτελούν πλήθος διαφορετικών λειτουργιών – Αποτελούνται από κυκλώματα που εκτελούν πλήθος αριθμητικών και λογικών πράξεων – Αντί να αλλάζει η συνδεσμολογία των κυκλωμάτων, δέχονται κατάλληλα σήματα ελέγχου που καθορίζουν ποιες πράξεις θα γίνουν και με ποια δεδομένα– δηλαδή προγραμματίζονται !!!  Το ίδιο κύκλωμα χρησιμοποιείται για την εκτέλεση διαφορετικών λειτουργιών (πράξεων)  Ευέλικτα συστήματα

6 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 6 Τι είναι πρόγραμμα ?  Ένα σύνολο βημάτων που αντιστοιχούν στις απαιτούμενες από την εφαρμογή λειτουργίες  Σε κάθε βήμα επιτελείται μια λειτουργία (αριθ./λογική πράξη, προσπέλαση μνήμης...)  Κάθε λειτουργία διακρίνεται από ένα σύνολο σημάτων ελέγχου που αντιστοιχούν σε μια κωδικοποιημένη λέξη – Εντολή  Αντί να ξανακατασκευάσουμε το κύκλωμα για κάθε νέα λειτουργία δίνουμε μια διαφορετική ακολουθία εντολών

7 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 7 Υπομονάδες Υπολογιστή (Components)  Κεντρική Μονάδα Επεξεργασίας – Κ.Μ.Ε (CPU) – Αριθμητική / λογική μονάδα (Arithmetic Logic Unit–ALU)  Μονάδα ελέγχου (Control Unit) – Ερμηνεύει / αποκωδικοποιεί την εντολή και παράγει τα σήματα ελέγχου  Μονάδες Εισόδου / Εξόδου (Ι/Ο Units) – Επικοινωνία με το περιβάλλον, αποθήκευση και διάβασμα τιμών από εξωτερικές συσκευές  Μνήμη – Αποθήκευση / διάβασμα προγράμματος, δεδομένων

8 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 8 Computer Main Memory Input Output Systems Interconnection Peripherals Communication lines Central Processing Unit Computer Οργάνωση Υπολογιστή – Ανώτερο Επίπεδο

9 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 9 Computer Arithmetic and Login Unit Control Unit Internal CPU Interconnection Registers CPU I/O Memory System Bus CPU Η Κεντρική Μονάδα Επεξεργασίας (CPU)

10 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 10 CPU Control Memory Control Unit Registers and Decoders Sequencing Login Control Unit ALU Registers Internal Bus Control Unit H Μονάδα Ελέγχου (Control Unit)

11 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 11 Λειτουργία της μονάδας ελέγχου  Για κάθε λειτουργία υπάρχει μια μοναδική κωδικοποιημένη λέξη – Εντολή – Παράδειγμα: ADD, MOVE  Η μονάδα ελέγχου αποκωδικοποιεί την εντολή και παράγει τα κατάλληλα σήματα ελέγχου  Κάθε υπομονάδα δέχεται τα σήματα ελέγχου και εκτελεί τις αντίστοιχες πράξεις  Έχουμε ένα υπολογιστικό σύστημα γενικού σκοπού δηλαδή ένα υπολογιστή

12 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 12 Υπομονάδες Υπολογιστή: Ανώτερο Επίπεδο (Top Level View)

13 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 13 Κύκλος εντολής (Instruction Cycle)  Κάθε εντολή αποτελείται / εκτελείται σε δύο φάσεις: – Προσκόμιση εντολής (Fetch) – Εκτέλεση Εντολής (Execute)  Η επεξεργασία που απαιτείται για μία εντολή ονομάζεται Κύκλος Εντολής

14 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 14 Κύκλος Προσκόμισης (Fetch Cycle)  Σε κάθε επεξεργαστή υπάρχει ένας καταχωρητής που καλείται Απαριθμητής Προγράμματος (-PC) – Περιέχει τη διεύθυνση μνήμης της επόμενης εντολής  Βήματα εκτέλεσης εντολής: 1. Ο επεξεργαστής προσκομίζει την εντολή που καθορίζει ο PC 2. Αυξάνει τον PC κατά 1- Εκτός αν του δοθεί διαφορετική οδηγία από το πρόγραμμα (jump) 3. Η εντολή φορτώνεται στον καταχωρητή εντολής – (Instruction Register-IR) 4. Ο επεξεργαστής διαβάζει τον IR, ερμηνεύει την εντολή και καθορίζει τις ενέργειες που θα γίνουν 5. Εκτέλεση απαιτούμενων πράξεων / ενεργειών 6. Αποθήκευση αποτελεσμάτων

15 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 15 Κύκλος Εκτέλεσης (Execute Cycle)  Κατά την εκτέλεση της εντολής ο επεξεργαστής εκτελεί κάποιες λειτουργίες από τις παρακάτω κατηγορίες:  Επεξεργαστής-Μνήμη – Μεταφορά δεδομένων μεταξύ μνήμης και CPU  Επεξεργαστής- I/O – Μεταφορά δεδομένων μεταξύ μνήμης και I/O  Επεξεργασία δεδομένων – Εκτέλεση αριθμητικών και λογικών πράξεων  Έλεγχος – Αλλαγή της ακολουθίας εκτέλεσης των εντολών (π.χ. Jump)

16 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 16 Παράδειγμα Εκτέλεσης Προγράμματος

17 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 17 Κύκλος Εντολής-Διάγραμμα Καταστάσεων

18 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 18 Διακοπές (Interrupts)  Η κανονική λειτουργία μπορεί να διακοπεί λόγω:  Προγράμματος – Συνθήκη εξαίρεσης που προκύπτει κατά την εκτέλεση του προγράμματος (π.χ.υπερχείλιση, διαίρεση με μηδέν)  Χρονισμού – Από εσωτερικό χρονιστή (π.χ. για περιοδικό έλεγχο από το λειτουργικό σύστημα)  Εξυπηρέτηση εξωτερικών (Ι/Ο) συσκευών – Σημαντική αύξηση της απόδοσης - Οι Ι/Ο συσκευές είναι πολύ πιο αργές από ότι η CPU  Βλάβης υλικού

19 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 19 Ροή Προγράμματος & Έλεγχος (Program Flow Control)

20 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 20 Χρονισμός Προγράμματος Μικρή I/O Αναμονή

21 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 21 Χρονισμός Προγράμματος Μεγάλη I/O Αναμονή

22 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 22 Κύκλος Διακοπής (Interrupt Cycle)  Ο επεξεργαστής ελέγχει για αίτηση διακοπής (interrupt request) – Καθορίζεται από την τιμή σήματος (interrupt signal)  Εάν δεν υπάρχει αίτηση διακοπής συνεχίζεται η εκτέλεση του προγράμματος  Εάν υπάρχει αίτηση διακοπής: 1. Διακοπή της εκτέλεσης του κυρίως προγράμματος 2. Αποθήκευση της κατάστασης σε καταχωρητές 3. Ο PC φορτώνει τη διεύθυνση της ρουτίνας εξυπηρέτησης της διακοπής 4. Εκτέλεση της ρουτίνας διακοπής 5. Επαναφορά της αρχικής κατάστασης και συνέχιση της εκτέλεσης του κυρίως προγράμματος

23 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 23 Κύκλος Εντολής με Διακοπές (Instruction Cycle with Interrupts)

24 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 24 Κύκλος Εντολής (με διακοπές) – Διάγραμμα Καταστάσεων

25 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 25 Ζητήματα λόγω των interrupts  Χρειάζεται ειδική προφύλαξη επειδή δεν ξέρουμε σε ποιο σημείο του προγράμματος θα εμφανιστεί το interrupt  Πως ξέρουμε σε ποιο σημείο θα μεταφερθεί ο έλεγχος (εκτέλεση) του προγράμματος ? – ποια είναι η αρχική διεύθυνση της ρουτίνας εξυπηρέτησης των διακοπών (ISR- Interrupt Service Routine) ?  Τι συμβαίνει όταν εμφανιστούν πολλαπλά interrupts?  Μπορούμε να αποφύγουμε την εκτέλεση ενός interrupt σε ένα κρίσιμο σημείο του προγράμματος?  Μπορούμε να χειριζόμαστε εξωτερικές αιτήσεις διακοπών (εξυπηρέτησης) χωρίς το μηχανισμό του interrupt?

26 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 26 Ειδικές προφυλάξεις  Ερώτηση: Χρειάζεται ειδική προφύλαξη επειδή δεν ξέρουμε σε ποιο σημείο του προγράμματος θα εμφανιστεί το interrupt?  Πρόβλημα: Η ρουτίνα ISR αλλάζει τις τιμές των καταχωρητών που χρησιμοποιούνται από το κύριο πρόγραμμα  Λύση: – Η ISR δεν πρέπει να αλλάζει τις τιμές των καταχωρητών που χρησιμοποιεί το κύριο πρόγραμμα – Αποθήκευση των τιμών στο stack και ανάκτηση στο τέλος εξυπηρέτησης της διακοπής  Συμπέρασμα: η τιμές των καταχωρητών πρέπει να είναι διαθέσιμες μετά την εκτέλεση της ISR

27 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 27 Διασφάλιση της κατάστασης (τιμές καταχωρητών)  Μέθοδος 1: Χρήση ειδικών καταχωρητών για την ISR  Πλεονέκτημα – Ταχύτητα: Δε χρειάζεται αντιγραφή στο stack  Μειονέκτημα: – Κακή χρήση των καταχωρητών: οι καταχωρητές της ISR είναι άχρηστοι κατά την εκτέλεση του κυρίως προγράμματος – Λίγοι καταχωρητές μπορεί να είναι διαθέσιμοι για την ISR  Χρήση: – Όταν οι διακοπές εμφανίζονται πάρα πολύ συχνά

28 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 28 Διασφάλιση της κατάστασης (τιμές καταχωρητών)  Μέθοδος 2: όλοι οι καταχωρητές αποθηκεύονται αυτόματα στο stack με την εκκίνηση της ISR  Πλεονεκτήματα: – Ασφάλεια – Δε χρειάζονται ειδικές επιπλέον εντολές – Όλοι οι καταχωρητές είναι διαθέσιμοι στην ISR  Μειονεκτήματα: – Αργό όταν οι καταχωρητές είναι πολλοί και ειδικά όταν η ISR χρησιμοποιεί λίγους  Χρήση: – Όταν η καθυστέρηση λόγω των διακοπών δεν είναι κρίσιμη – Όταν το αρχείο καταχωρητών (register file) είναι μικρό

29 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 29 Διασφάλιση της κατάστασης (τιμές καταχωρητών)  Μέθοδος 3: Ο προγραμματιστής με επιπλέον εντολές καθορίζει ποιοι καταχωρητές θα αποθηκευθούν στην εκκίνηση της ISR και ποιοι θα ανακτηθούν στο τέλος της ISR  Πλεονεκτήματα : – Ποιο γρήγορο από την αποθήκευση όλου του μεγάλου register file – Όλοι οι καταχωρητές είναι διαθέσιμοι στο κύριο πρόγραμμα και στη ISR  Μειονεκτήματα : – Δύσκολη αποσφαλμάτωση (debugging) – Αργό λόγω επιπλέον εντολών – ειδικά όταν η ISR χρησιμοποιεί πολλούς καταχωρητές (πρέπει να αποθηκευθούν πολλοί καταχωρητές)

30 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 30 Διασφάλιση της κατάστασης (τιμές καταχωρητών)  Μέθοδος 4: Αυτόματη αποθήκευση λίγων και συγκεκριμένων καταχωρητών (π.χ. PC, status, …) και αποθήκευση επιπλέον καταχωρητών με εντολές  Πλεονεκτήματα : – Γρήγορη όση η μέθοδος 2 (hardware copying) για ISRs που χρησιμοποιούν λίγους καταχωρητές – Ευέλικτη όσο η μέθοδος 3 (programmatic copying) για ISRs που χρησιμοποιούν πολλούς καταχωρητές  Μειονεκτήματα : – Δύσκολη αποσφαλμάτωση (debugging) – Αργή όταν η ISR χρησιμοποιεί πολλούς καταχωρητές (αποθήκευση πολλών καταχωρητών)  Χρήση: – Επεξεργαστές με μεγάλο register file – Διαφορετικού τύπου ISRs: Μικρής καθυστέρησης, λίγοι καταχωρητές – μεγάλης καθυστέρησης, πολλοί καταχωρητές

31 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 31 Αρχική διεύθυνση της ISR  Ερώτηση: Πως ξέρουμε σε ποιο σημείο θα μεταφερθεί ο έλεγχος (εκτέλεση) του προγράμματος ? – ποια είναι η αρχική διεύθυνση της ρουτίνας εξυπηρέτησης των διακοπών (ISR-Interrupt Service Routine) ?  Πρόβλημα: δεν μπορούμε να κωδικοποιήσουμε στο κύριο πρόγραμμα μία jump-to-ISR εντολή, επειδή δεν ξέρουμε ποτέ θα γεννηθεί η αίτηση για interrupt – Δεν ξέρουμε σε ποιο σημείο του προγράμματος να βάλουμε την jump-to- ISR εντολή  Λύση: – Το κύκλωμα ελέγχου (controller) πρέπει να αναγνωρίζει την αίτηση διακοπής και να ενεργεί ανάλογα (hardware solution)

32 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 32 Μεταβίβαση Ελέγχου μέσω Διακοπών

33 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 33 Αρχική διεύθυνση της ISR – Μέθοδος 1  Η διεύθυνση της ISR είναι αποθηκευμένη (hard coded) στον controller π.χ. 0xFFFC 0xFFFF 0xFFFE 0xFFFD 0xFFFC 0xC000 0xC0D3 0xC0D4 0xA000 0xA001 0xA002 0x0000 JISR 0xC000RTI POP R1 PUSH R1 ADD R1 0x0000 Memory map Prog. ROM Data RAM JMP 0xA000 Αρχική διεύθυνση του προγράμματος π.χ.ο PC ξεκινά με την διεύθυνση 0xFFFE Αρχική διεύθυνση της ISR – o PC παίρνει την τιμή 0xFFFC Όταν το σήμα INT ενεργοποιείται Program ISR Data

34 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 34 Αρχική διεύθυνση της ISR – Μέθοδος 1  Η αρχική διεύθυνση της ISR είναι αποθηκευμένη (hard coded) στον controller, π.χ. 0xFFFC  Πλεονέκτημα: – Απλός και εύκολος μηχανισμός  Μειονέκτημα: – Μη εύελικτος – Πρόβλημα με μη πτητικές μνήμες – Not flexible to choose where in the memory map the non-volatile memory is placed; 0xFFFC should be non-volatile – Υποστηρίζεται μόνο μία ISR. Η ISR θα πρέπει να εξετάσει μετά ποιο περιφερειακό ζητά διακοπή (επόμενη διαφάνεια)

35 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 35 ISR:PUSH R1 Read StatusReg(Dev1),R1 AND R1,0x0001 BEZ Dev2 …process Device 1 interrupt Read Datareg1(Dev1),R1 …do something useful Write Datareg2(Dev1),R1 …end processing Device 1 JMP Done Dev2:Read StatusReg(Dev2),R1 AND R1,0x0001 BEZ Done …process Device 2 interrupt …uses also R2 PUSH R2 …do something useful POP R2 JMP Done Done:POP R1 RTI Αρχική διεύθυνση της ISR – Μέθοδος 1 Save status Check if Dev1 calls attention Service Dev1 Check if Dev2 calls attention Service Dev2 Restore status ISR:PUSH R1 Read StatusReg(Dev1),R1 AND R1,0x0001 BEZ Dev2 …process Device 1 interrupt Read Datareg1(Dev1),R1 …do something useful Write Datareg2(Dev1),R1 …end processing Device 1 JMP Done Dev2:Read StatusReg(Dev2),R1 AND R1,0x0001 BEZ Done …process Device 2 interrupt …uses also R2 PUSH R2 …do something useful POP R2 JMP Done Done:POP R1 RTI ISR:PUSH R1 Read StatusReg(Dev1),R1 AND R1,0x0001 BEZ Dev2 …process Device 1 interrupt Read Datareg1(Dev1),R1 …do something useful Write Datareg2(Dev1),R1 …end processing Device 1 JMP Done Dev2:Read StatusReg(Dev2),R1 AND R1,0x0001 BEZ Done …process Device 2 interrupt …uses also R2 PUSH R2 …do something useful POP R2 JMP Done Done:POP R1 RTI ISR:PUSH R1 Read StatusReg(Dev1),R1 AND R1,0x0001 BEZ Dev2 …process Device 1 interrupt Read Datareg1(Dev1),R1 …do something useful Write Datareg2(Dev1),R1 …end processing Device 1 JMP Done Dev2:Read StatusReg(Dev2),R1 AND R1,0x0001 BEZ Done …process Device 2 interrupt …uses also R2 PUSH R2 …do something useful POP R2 JMP Done Done:POP R1 RTI ISR:PUSH R1 Read StatusReg(Dev1),R1 AND R1,0x0001 BEZ Dev2 …process Device 1 interrupt Read Datareg1(Dev1),R1 …do something useful Write Datareg2(Dev1),R1 …end processing Device 1 JMP Done Dev2:Read StatusReg(Dev2),R1 AND R1,0x0001 BEZ Done …process Device 2 interrupt …uses also R2 PUSH R2 …do something useful POP R2 JMP Done Done:POP R1 RTI ISR:PUSH R1 Read StatusReg(Dev1),R1 AND R1,0x0001 BEZ Dev2 …process Device 1 interrupt Read Datareg1(Dev1),R1 …do something useful Write Datareg2(Dev1),R1 …end processing Device 1 JMP Done Dev2:Read StatusReg(Dev2),R1 AND R1,0x0001 BEZ Done …process Device 2 interrupt …uses also R2 PUSH R2 …do something useful POP R2 JMP Done Done:POP R1 RTI ISR:PUSH R1 Read StatusReg(Dev1),R1 AND R1,0x0001 BEZ Dev2 …process Device 1 interrupt Read Datareg1(Dev1),R1 …do something useful Write Datareg2(Dev1),R1 …end processing Device 1 JMP Done Dev2:Read StatusReg(Dev2),R1 AND R1,0x0001 BEZ Done …process Device 2 interrupt …uses also R2 PUSH R2 …do something useful POP R2 JMP Done Done:POP R1 RTI

36 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 36 Αρχική διεύθυνση της ISR – Μέθοδος 2  Χρήση πίνακα διακοπών στη μνήμη – H διεύθυνση της ISR του περιφερειακού που ζητάει διακοπή προστίθεται σε πίνακα (Interrupt Vector Table - IVT); – Η τιμή της κάθε θέσης του IVT φορτώνεται στον PC, αναγκάζοντας το πρόγραμμα να μεταβεί στην διεύθυνση της ISR 0xC000 0xC040 0xC0A0 0xC100 ISR0 ISR1 ISR2 ISR3 IVT base often at 0x0000

37 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 37 Αρχική διεύθυνση της ISR – Μέθοδος 2  IVT  Πλεονεκτήματα – Ταχύτητα – δε χρειάζεται έλεγχος για την εύρεση του περιφεραικού που προκάλεσε αίτηση διακοπής – Υπερφόρτωση των interrupts μπορεί να προκληθεί εύκολα  Μειονεκτήματα – Περιορισμοί λόγω του μεγέθους του IVT

38 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 38 Αρχική διεύθυνση της ISR – Μέθοδος 3  Κατανεμημένος IVT INT’ IACK IVEC Data Dev2Dev1 INT’ IACK IVEC Data Dev2Dev1 INT’ IACK IVEC Data Dev2Dev1 INT’ IACK IVEC Data Dev2Dev1 INT’ IACK IVEC Data Dev2Dev1 INT’ IACK IVEC Data Dev2Dev1

39 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 39 Προτεραιότητες διακοπών  Ερώτηση: τι συμβαίνει όταν πολλαπλά interrupts προκαλούνται ταυτόχρονα?  Πρόβλημα: ποιο θα εξυπηρετηθεί πρώτο?  Λύση: εξυπηρέτηση με βάση προτεραιότητες

40 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 40 Πολλαπλές Διακοπές - Απενεργοποίηση των διακοπών  Ο επεξεργαστής αγνοεί νέα interrupts κατά τη διάρκεια εξυπηρέτησης ενός interrupt  Τα νέα interrupts αποθηκεύονται και εξετάζονται στο τέλος της εξυπηρέτησης του τρέχοντος interrupt και εξυπηρετούνται ακολουθιακά  Πλεονεκτήμα: Απλός αλγόριθμός και απλή κυκλωματική υλοποίηση  Μειονέκτημα: Δε λαμβάνει υπόψη προτεραιότητες ή κρίσιμες ανάγκες

41 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 41 Multiple Interrupts - Sequential

42 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 42 Πολλαπλές Διακοπές (2) - Καθορισμός προτεραιοτήτων  Διακοπές χαμηλής προτεραιότητας μπορούν να διακοπούν από διακοπές υψηλότερες προτεραιότητας  Στο τέλος της εξυπηρέτησης μιας αίτησης διακοπής ο επεξεργαστής συνεχίζει την εξυπηρέτηση του interrupt που διακόπηκε  Πλεονεκτήμα: Ικανοποίηση προτεραιοτήτων  Μειονέκτημα: Σχετικά πολύπλοκοι αλγόριθμοι, αύξηση της πολυπλοκότητας του λογισμικού / υλικού

43 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 43 Κωδικοποίηση προτεραιοτήτων-1 PPEncoder INT INTA D INT0: clock INT1: keyboard INT2 INT3: COM2 INT4: COM1 INT5 INT6 INT7 highest lowest Intel (cf. PC) PPEncoder INT INTA D INT0: clock INT1: keyboard INT2 INT3: COM2 INT4: COM1 INT5 INT6 INT7 highest lowest PPEncoder INT INTA D INT0: clock INT1: keyboard INT2 INT3: COM2 INT4: COM1 INT5 INT6 INT7 highest lowest PPEncoder INT INTA D INT0: clock INT1: keyboard INT2 INT3: COM2 INT4: COM1 INT5 INT6 INT7 highest lowest PPEncoder INT INTA D INT0: clock INT1: keyboard INT2 INT3: COM2 INT4: COM1 INT5 INT6 INT7 highest lowest 3

44 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 44 Κωδικοποίηση προτεραιοτήτων-1 Εξέταση με λογισμικό (software polling) Η σειρά με την οποία το λογισμικό εξετάζει τα περιφερειακά καθορίζει και τις προτεραιότητες PP INT StatusReg Peripheral 0 Peripheral 1 Peripheral 2 PP INT StatusReg Peripheral 0 Peripheral 1 Peripheral 2 PP INT StatusReg Peripheral 0 Peripheral 1 Peripheral 2

45 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 45 Pre-emption  Ερώτηση: τι συμβαίνει όταν ενώ εκτελείται ένα interrupt συμβαίνει και ένα δεύτερο?  Μπορεί το δεύτερο να διακόψει το πρώτο?  Λύση: – Η εξυπηρέτηση γίνεται ανάλογα με τις προτεραιότητες των interrupts – Ένα interrupt υψηλής προτεραιότητας μπορεί να διακόψει ένα χαμηλής – Αν οι προτεραιότητες είναι ίδιες αναλαμβάνει το λειτουργικό σύστημα

46 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 46 Multiple Interrupts – Nested

47 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 47 Time Sequence of Multiple Interrupts

48 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 48 Διασύνδεση  Όλες οι μονάδες υλικού πρέπει είναι συνδεδεμένες μεταξύ τους  Απαιτούνται διαφορετικού τύπου διασυνδέσεις για τις διαφορετικές μονάδες – Μνήμη – Κυκλώματα Ι/Ο – Κεντρική Μονάδα Επεξεργασίας

49 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 49 Computer Modules

50 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 50 Διασύνδεση της Μνήμης  Η μνήμη λαμβάνει και στέλνει δεδομένα στις υπόλοιπες μονάδες του συστήματος  Λαμβάνει μια λέξη (διεύθυνση) που καθορίζει τη θέση μνήμης στην οποία θα εγγραφούν ή από την οποία θα διαβαστούν τα δεδομένα  Λαμβάνει κατάλληλα σήματα ελέγχου – Εγγραφής (Read) – Ανάγνωσης (Write) – Χρονισμού (Timing)

51 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 51 Διασύνδεση Μονάδων Εισόδου / Εξόδου  Παρόμοια με αυτή της μνήμης  Λαμβάνει σήματα ελέγχου  Στέλνει σήματα ελέγχου στα περιφερειακά  Στέλνει σήματα αίτησης διακοπής στη CPU  Συσκευή Εξόδου – Λαμβάνει δεδομένα από τη CPU/μνήμη – Στέλνει δεδομένα στα περιφερειακά – Λαμβάνει διευθύνσεις από τη CPU  Συσκευή Εισόδου – Λαμβάνει δεδομένα από τα περιφερειακά – Στέλνει δεδομένα στη CPU/μνήμη

52 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 52 Διασύνδεση της CPU  Διαβάζει εντολές και δεδομένα  Γράφει δεδομένα μετά από επεξεργασία  Στέλνει σήματα ελέγχου σε άλλες μονάδες  Λαμβάνει σήματα διακοπών

53 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 53 Δίαυλοι Επικοινωνίας (Buses)  Κοινό μέσο μετάδοσης το οποίο μοιράζονται διάφορες υπομονάδες / συσκευές – Ένα bus είναι σύνολο ηλεκτρικών γραμμών για την επικοινωνία των μονάδων του υπολογιστή  Μια συσκευή έχει κάθε φορά τον έλεγχο του bus – Αλγόριθμοι διαιτησίας  Γενικά κάθε υπολογιστής περιέχει τρεις διάυλους – Data Bus – Μεταφορά δεδομένων – Address Bus - Μεταφορά διευθύνσεων. Καθορίζει και το μέγεθος της μνήμης – Control Bus – Μεταφορά σημάτων ελέγχου

54 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 54 Δίαυλος Δεδομένων (Data Bus)  Χρησιμοποιείται για τη μεταφορά δεδομένων μεταξύ των υπομονάδων του υπολογιστή  Το εύρος του διαύλου δεδομένων επηρεάζει σημαντικά την απόδοση του όλου συστήματος – Π,χ. 8-bit data bus, 16-bit CPU => 2 προσπελάσεις στη μνήμη => μείωση της απόδοσης  Συνήθως το εύρος του διαύλου δεδομένων είναι ίσο ή μεγαλύτερο με το εύρος των τελεστών της CPU

55 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 55 Δίαυλος Διευθύνσεων (Address Bus)  Χρησιμοποιείται για τον καθορισμό της πηγής ή του προορισμού (διεύθυνση) των δεδομένων του διαύλου δεδομένων – Αντιστοιχεί μια μοναδική διεύθυνση σε κάθε θέση μνήμης, Ι/Ο συσκευής  Το εύρος του διαύλου διευθύνσεων καθορίζει και τη μέγιστη ποσότητα μνήμης του συστήματος – Π.χ. s-bit address bus => 2 s θέσεις μνήμης

56 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 56 Δίαυλος Ελέγχου (Control Bus)  Χρησιμοποιείται για έλεγχο της πρόσβασης στους δίαυλους δεδομένων και διευθύνσεων  Υπάρχουν σήματα ελέγχου που – Μεταδίδουν πληροφορίες εντολών – Τι πρόκειται να γίνει – Πληροφορίες χρονισμού – Υποδεικνύουν την εγκυρότητα των δεδομένων και διευθύνσεων  Τυπικές γραμμές ελέγχου: RDMem, WRMem, RDI/O, WRI/O, INT, CLK, RST

57 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 57 Δίαυλοι Επικοινωνίας - Bus Interconnection Scheme

58 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 58 Ιεραρχίες Πολλών Διαύλων  Η χρήση ενός δίαυλου στον οποίο είναι συνδεδεμένες πολλές υπομονάδες οδηγεί σε: – Αύξηση του μήκους του δίαυλου και της καθυστέρησης – Μποτιλιάρισμα καθώς η συνολική ζήτηση μεταφοράς δεδομένων προσεγγίζει τη μέγιστη ικανότητα μεταφοράς δεδομένων του διαύλου  Τα περισσότερα συστήματα υπολογιστών χρησιμοποιούν πολλαπλούς διαύλους

59 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 59 Traditional (ISA) (with cache)

60 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 60 Υψηλής απόδοσης Bus

61 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 61 Τύποι Διαύλων  Αφοσιωμένος (Dedicated) – Π.χ Διακριτά data & address buses  Πολυπλεγμένος (Multiplexed) – Κοινές γραμμές που μοιράζονται περισσότεροι από ένας δίαυλοι (address & data) – Χρήση σημάτων ελέγχου για τον καθορισμό του τύπου της πληροφορίας που βρίσκεται στο δίαυλο (δεδομένα / διεύθυνση)  Πλεονέκτημα: Λιγότερες διασυνδέσεις (καλώδια) => Μείωση κόστους και επιφάνειας  Μειονεκτήματα: Πολύπλοκα κυκλώματα, μη υποστήριξη παραλληλίας

62 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 62 Διαιτησία Διαύλου (Bus Arbitration)  Πολλές συσκευές έχουν πρόσβαση στους δίαυλους  Απαιτείται μια μέθοδος διαιτησίας που θα εξασφαλίζει ότι μια συσκευή θα έχει τον έλεγχο του δίαυλου  Κεντρική διαιτησία: – Ειδικό κύκλωμα (Bus Controller, Arbiter) ελέγχει τις προσπελάσεις στο δίαυλο – Μπορεί να είναι μέρος της CPU ή ξεχωριστό κύκλωμα  Κατανεμημένη διαιτησία:  Δεν υπάρχει κεντρικός ελεγκτής  Κάθε μονάδα έχει κυκλώματα ελέγχου και πρόσβασης  Χρήση κατάλληλων πρωτοκόλλων

63 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 63 Διαιτησία Διαύλου (Bus Arbitration)

64 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 64 Χρονισμός  Συντονισμός των γεγονότων  Σύγχρονος – Τα γεγονότα καθορίζονται από το σήμα του ρολογιού – Ο δίαυλος ελέγχου περιέχει clock – Όλες οι συσκευές αναγνωρίζουν το clock – Συνήθως ο συγχρονισμός γίνεται στην ανιούσα παρυφή του clock – Συνήθως ένα συμβάν λαμβάνει χώρα σε ένα κύκλο ρολογιού

65 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 65 Synchronous Timing Diagram

66 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 66 Asynchronous Timing – Read Diagram

67 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 67 Asynchronous Timing – Write Diagram

68 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 68 Σύνοψη (1/2)  Κυκλώματα ειδικού σκοπού & συστήματα γενικού σκοπού – Η έννοια του προγράμματος – Εντολή => εκτέλεση μιας σειράς ενεργειών από το σύστημα  Μονάδες υπολογιστικού συστήματος – Κεντρική Μονάδα Επεξεργασίας (CPU) – Μονάδα Ελέγχου – Μονάδες Εισόδου / Εξόδου – Μνήμη  Κύκλος εντολής (2 φάσεις) – Προσκόμιση εντολής – Εκτέλεση εντολής

69 Κεφ. 3 Αρχιτεκτονική Υπολογιστών 69 Σύνοψη (2/2)  Διακοπές – Αιτίες – Αντιμετώπιση με στόχο την ταχύτητα – Κύκλος διακοπής – Πολλαπλές Διακοπές – Διαχείρηση  Διασύνδεση – Δίαυλοι επικοινωνίας – Δίαυλος δεδομένων, ελέγχου και διευθύνσεων – Ιεραρχίες διαύλων – Τύποι διαύλων (αφοσιωμένος, πολυπλεγμένος) – Διαιτησία  Χρονισμός – Σύγχρονός / ασύγχρονος


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

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


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