Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό σύστημα σήμερα συχνά και το σύστημα γραφικών μέσα στον επεξεργαστή σύστημα γραφικών ποντίκι, πληκτρολόγιο, εκτυπωτές, σαρωτές... διασυνδετικός δίαυλος PCIe (x16) έως 8GB/s USB έως 5Gbit/s CPU core κρυφή (1 ου,2 ου επιπέδου) north south έως 500ΜB/s CPU core > 90GB/s κρυφή (3 ου ου επιπέδου) M-bus (mem bus) 25+ GB/s (multi-channel) SATA 600ΜB/s DRAM σκληροί δίσκοι, CD/DVD, δικτυακή σύνδεση οι ρυθμοί μεταφοράς που δίνονται είναι οι θεωρητικά μέγιστοι! Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 2... κρυφή (1 ου,2 ου επιπέδου) Είσοδος Έξοδος στον υπολογιστή Βασικές συσκευές Συσκευές Συσκευές εισόδου-εξόδου () Συμβατικά: οτιδήποτε εκτός από και Συσκευές με τελείως διαφορετικούς μεταξύ τους ρόλους και χαρακτηριστικά Λειτουργία: είσοδος, έξοδος ή και τα δύο (αποθήκευση) Συνεργάτης (στην άλλη άκρη): άνθρωπος ή μηχανή Ρυθμός μεταφοράς δεδομένων πολύ διαφορετικός ανά πληκτρολόγιο ποντίκι εκτυπωτής σύνδεση δικτύου μαγν. δίσκος Συσκευή Λειτουργία είσοδος είσοδος έξοδος είσοδος/έξοδος αποθήκευση έξοδος Ρυθμός (Mbps) 0,0001 0,0038 3,2-0 240-2565 800-8000 Συσκευές ; Η πληροφορία σε διαστάσεων 1280x1024 pixels ανανεώνεται 60 φορές/sec. Αγνοώντας πρόσθετες επιβαρύνσεις, με τι ρυθμό πρέπει να αποστέλλεται η πληροφορία απεικόνισης στην ; Πληκτρολόγιο Είσοδος από χρήστη κωδικοί πλήκτρων Οθόνη Έξοδος προς χρήστη πληροφορία pixel Αποθηκευτικά μέσα Μαγνητικοί και οπτικοί δίσκοι Θεωρούνται ως δευτερεύουσα Εκατοντάδες χιλιάδες φορές αργότερα από κύρια Τα δεδομένα πρέπει πρώτα να περάσουν στην κύρια και μετά στην Solid State Drives (SSDs) Μόνιμη αποθήκευση Και εκτός τροφοδοσίας Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 3 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 4
Μαγνητικοί δίσκοι Δομή μαγνητικών δίσκων Συσκευές Αποθήκευση πληροφορίας μαγνητικά στην επιφάνεια ενός αριθμού παράλληλων δίσκων Ο αριθμός εξαρτάται από τον τύπο του δίσκου Κεφαλές ανάγνωσης-εγγραφής Ταυτόχρονη και ενιαία κίνηση κεφαλών Σύστημα ελέγχου στη του δίσκου Ελεγκτής δίσκου (controller) Κρύβει τις λεπτομέρειες υλοποίησης Παρουσιάζει προς το λειτουργικό σύστημα τον δίσκο ως μια ακολουθία λογικών μπλοκ αποθήκευσης (0..Ν) Συσκευές track sector Οργάνωση σε tracks και sectors Sector = 512 έως 4096 Πληροφορία αναγνώρισης sector Ταχύτητα περιστροφής 7.200 10.000 RPM Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 5 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 6 Προσπέλαση πληροφορίας στον δίσκο Δίσκοι ς μόνιμης αποθήκευσης Συσκευές Προσπέλαση πληροφορίας Σε τυχαία θέση (sector) του δίσκου Μετάβαση κεφαλής στο επιθυμητό track Seek time Αναμονή για εμφάνιση του επιθυμητού sector κάτω από την κεφαλή Rotational latency Ανάγνωση και μεταφορά των δεδομένων του sector (Block) transfer time Υπενθύμιση: όλες οι κεφαλές κινούνται μαζί όχι ανεξάρτητα! Συσκευές Δεν έχουν μηχανικά μέρη Solid State Drives (SSDs) Μνήμη μόνιμης αποθήκευσης Τεχνολογία FLASH Τα bits αποθηκεύονται μόνιμα Ανάγνωση και εγγραφή κατά ομάδες (σελίδες) λέξεων Διαδικασία διαγραφής πριν την εγγραφή Μέγιστο όριο διαγραφών Το σύστημα βλέπει τη αυτή ως δίσκο Ανάγνωση - εγγραφή σε blocks δεδομένων Όχι το παραδοσιακό μοντέλο διευθυνσιοδότησης Καλύτερες επιδόσεις από μαγνητικούς δίσκους Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 7 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 8
Διασύνδεση συσκευών Επικοινωνία συσκευών-ελεγκτή Συσκευές Διασύνδεση (διεύθυνση, δεδομένα, έλεγχος) Διασύνδεση στον δίαυλο του συστήματος μέσω ενός ελεγκτή (I/O controller ή adapter) Ο αναλαμβάνει την επικοινωνία με την πολύ αργότερη Για την, ο δεν είναι παρά ένα είδος ς (διαβάζει-γράφει σε αυτόν) Συσκευές Διασύνδεση Πρωτόκολλο επικοινωνίας ανάλογο της φύσης της ς Χαρακτήρες για πληκτρολόγιο-εκτυπωτή Πληροφορία χρώματος για Πακέτα δεδομένων για το δίκτυο Μεταφορά μπλοκ δεδομένων για δίσκους Ο αναλαμβάνει τη μετάφραση μεταξύ της γλώσσας της ς και των αιτήσεων ανάγνωσηςεγγραφής της Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 9 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 10 Περιφερειακοί δίαυλοι Χώροι διευθύνσεων για Συσκευές Διασύνδεση Περιφερειακός δίαυλος Συσκευές Διασύνδεση write συστήματος ς 65004 i Η τοπολογία κάθε περιφερειακού διαύλου μπορεί να είναι τελείως διαφορετική Όταν η σύνδεση ελεγκτή και συσκευών γενικεύεται Δίσκοι, CD-ROM: (S)ATA (AT-Attachment), SCSI (Small Computer System Interface) Εξωτερικές συσκευές: USB (Universal Serial Bus), Firewire ελεγκτή ελεγκτή memory-mapped I/O Αντιστοιχισμένη σε (memory mapped I/O) Διευθύνσεις στον χώρο ς Κοινές εντολές προσπέλασης ς και (π.χ., write) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 11 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 12
Χώροι διευθύνσεων για Εξυπηρέτηση αιτήσεων Συσκευές Διασύνδεση Υλοποίηση απομονωμένου χώρου διευθύνσεων : Στον δίαυλο διασύνδεσης η παράγει, εκτός από τη διεύθυνση, ένα σήμα που επιλέγει χώρο (π.χ. M/IΟ'): ς write in out ς E/E ελεγκτή ελεγκτή isolated I/O in Απομονωμένη Διαφορετικές εντολές για προσπέλαση ς και Ίδια διεύθυνση = διαφορετική θέση σε και Συσκευές Διασύνδεση Αιτήσεις Ολοκλήρωση αιτήσεων Υπερβολικά αργή λειτουργία συσκευών σε σχέση με την ταχύτητα της Η πρέπει να περιμένει! Πώς γίνεται αντιληπτή η ολοκλήρωση της εξυπηρέτησης ; Στη συνέχεια: μεταφορά δεδομένων από/προς συσκευές Ποιος αναλαμβάνει τη μεταφορά των δεδομένων προς/από την κύρια ; Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 13 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 14 Ανίχνευση ολοκλήρωσης αίτησης Ανίχνευση ολοκλήρωσης αίτησης (2) Συσκευές Διασύνδεση Αιτήσεις ανάγνωση καταχωρητή κατάστασης while (!status) { // αναμονή // επόμενη λειτουργία status Περιοδική ανάγνωση καταχωρητή κατάστασης Ολοκληρώθηκε η τρέχουσα αίτηση; Εμφανίστηκε κάποια αλλαγή κατάστασης στη ; Επαναληπτική διαδικασία (polling) Επιβάρυνση με άσκοπους κύκλους εκτέλεσης για μεγάλο διάστημα η κατάσταση θα παραμένει σταθερή περιμένοντας τη Συσκευές Διασύνδεση Αιτήσεις <εκτέλεση άλλης JobA() { διεργασίας> 1. Αίτηση(); ISR() { <επιστροφή στο joba> 3. 2. διακοπή Ασύγχρονη ειδοποίηση intr Ασύγχρονη ειδοποίηση (interrupts)( Ο ειδοποιεί την για αλλαγή κατάστασης της ς Στο μεταξύ η μπορεί να εκτελεί άλλη διεργασία Η διακοπή θα προκαλέσει την εκτέλεση ρουτίνας εξυπηρέτησης διακοπής (interrupt service routine ISR) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 15 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 16
Μετακίνηση δεδομένων από/προς Direct Memory Access (DMA) Συσκευές Διασύνδεση Αιτήσεις 1. Ανάγνωση 2. Εγγραφή Μετά από ολοκλήρωση αίτησης υπάρχουν έτοιμα δεδομένα από τη Η επαναληπτικά διαβάζει τα δεδομένα από τον ελεγκτή και τα γράφει στη (ή το αντίστροφο για δεδομένα προς τη ) Σημαντική επιβάρυνση της! Συσκευές Διασύνδεση Αιτήσεις 1. Καθορισμός διεύθυνσης προορισμού στη και μήκους δεδομένων 2. Μεταφορά Η απλά θέτει τις παραμέτρους της μεταφοράς Διευθύνσεις πηγής-προορισμού, μέγεθος δεδομένων Ο διεκδικεί τον δίαυλο του συστήματος και μεταφέρει τα δεδομένα απευθείας προς/από τη Η μπορεί να εκτελεί άλλη διεργασία Πιθαμή σύγκρουση στη χρήση ς, αλλά ή έχει και την κρυφή! Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 17 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 18 Η διασύνδεση συσκευών σήμερα Συσκευές Διασύνδεση Αιτήσεις γραφικών north south Στα σύγχρονα συστήματα οι ελεγκτές δεν συνδέονται απ'ευθείας στον δίαυλο της Το μοντέλο λειτουργίας όμως παραμένει το ίδιο! Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (ΙIΙ) 19