Εισαγωγή Στους Ηλεκτρονικούς Υπολογιστές Βασικές έννοιες Πρακτικά θέματα Οργάνωση και αρχιτεκτονική Η/Υ Αλγόριθμοι Εφαρμογές
Βασικές Έννοιες Τι μπορούν να κάνουν οι Η/Υ Τι μπορούν να κάνουν οι Η/Υ ; Εσωτερικά όλοι οι Η/Υ μοιάζουν, όμως... Τι θα μελετήσουμε και πώς: Τι περιέχει ένας Η/Υ ; Η “ισοδυναμία” των Η/Υ Η γλωσσική αναλογία Η αναλογία του αλφάβητου Τι σημαίνει “ισοδυναμία” των Η/Υ Οι σημερινοί Η/Υ Το μοντέλο του γραφειοκράτη
Τι Μπορούν Να Κάνουν Οι Η/Υ Τι Μπορούν Να Κάνουν Οι Η/Υ ; Να κάνουν ταχύτατα αριθμητικές πράξεις Να νικούν στο σκάκι τους “ γκραν μαιτρ ” Να “ κλείνουν ” αεροπορικά εισιτήρια Να παίζουν μουσική Και άλλα πολλά Μπορούν...
Εσωτερικά Όλοι Οι Η/Υ Μοιάζουν, Όμως... Διαφέρουν στο είδος της εργασίας τους. ( Παίζουν σκάκι, επιλύουν οικονομικά μοντέλα, κανονίζουν την ροή των καυσίμων σε κινητήρες, κλπ ) Διαφέρουν στην είσοδο & στην έξοδό τους.( Παραγωγή ήχου, εικόνας, αριθμών,με στοιχεία από το πληκτρολόγιο ή από ηλεκτρικά σήματα κλπ )
Τι Θα Μελετήσουμε Και Πώς: Το ‘‘ κοινό ’’ εσωτερικό των Η/Υ Χωρίς λεπτομερή αναφορά στον τρόπο εισόδου και εξόδου Υποθέτουμε μόνο ότι η μορφή τους είναι ψηφιακή, δηλαδή ότι αποτελείται από δυαδικούς αριθμούς ( 0 και 1 )
Τι Περιέχει Ένας Η/Υ ; Απλές βασικές μονάδες, που όταν συνδυάζονται κατάλληλα, κτίζουν οποιοδήποτε επιθυμητό σύνολο Το βασικό “ set ” δεν είναι μοναδικό ! ! ! Υπάρχουν πολλοί συνδυασμοί τοποθέτησης Η δομή καθορίζεται από παράγοντες όπως ταχύτητα, κατανάλωση, αισθητική κλπ
Η “Ισοδυναμία” Των Η/Υ Όλοι οι Η/Υ είναι ισοδύναμοι ! ! ! (Μπορούν να εκτελέσουν την ίδια διαδικασία) Διαφέρουν στην ταχύτητα επεξεργασίας. Ένας Η/Υ μπορεί να μιμηθεί (προσομοιώσει) την λειτουργία ενός άλλου. Τuring Ένα τέτοιο μοντέλο σχεδιάστηκε από τον Τuring και η “ισοδυναμία” έγινε προφανής.
Η Γλωσσική Αναλογία Ποια γλώσσα περιγράφει καλύτερα ένα “ τετράτροχο βενζινοκίνητο όχημα ” ; Nέα Ελληνική: Αυτοκίνητο Αγγλική: Car Γαλλική: Voiture Αρχαίες Γλώσσες : Περιφραστικά Όλες οι γλώσσες δίνουν σωστή περιγραφή. Οι σύγχρονες είναι πιο σύντομες από τις αρχαίες.
Η Αναλογία Του Αλφάβητου Ποιο είναι το καλύτερο Αλφάβητο για την Ελληνική γλώσσα ; Γιατί επιμένουμε στα 24 γράμματα, ενώ μπορούμε να εκφράσουμε τα πάντα με τρία μόνο σύμβολα, την τελεία, την παύλα και το κενό (Morse code) ; Υπάρχει μεγάλη ελευθερία στην επιλογή των «θεμέλιων λίθων» που δεν επηρεάζουν την λογική και την δυνατότητα της περιγραφής αλλά μόνον την συντομία της έκφρασης.
Τι σημαίνει “Ισοδυναμία” των Η/Υ; Το σύνολο των πολύπλοκων διεργασιών που μπορούν να διεκπεραιωθούν από ένα “ικανό” βασικό σύνολο απλών διαδικασιών, είναι ανεξάρτητο από την λεπτομερή δομή του βασικού συνόλου.
Οι Σημερινοί Η/Υ Χρειάζονται σαφείς και λεπτομερείς οδηγίες για την διεκπεραίωση πολύπλοκων διεργασιών, με μια σειρά απλών διαδικασιών. Αυτό γίνεται μέσω του λογισμικού ( software ) Οι οδηγίες αυτές υλοποιούνται από μια “ μηχανή ”. (hardware ) Στο μέλλον ίσως υπάρξουν μηχανές που θα μπορούν να λειτουργούν με «ασαφείς» οδηγίες (παρόμοια με τον ανθρώπινο νου)
ΕάνΤο Βασικό Σύνολο Εντολών Είναι Μικρό, Τότε Μια Διεργασία Απαιτεί Πολλές Εντολές Για Να Επιτευχθεί Για παράδειγμα, εάν η εντολή: Πολλαπλασίασε δεν περιέχεται στο βασικό σύνολο, τότε η πράξη: 3 32 θα πρέπει να υλοποιηθεί με διαδοχικές προσθέσεις. (εφόσον η εντολή Πρόσθεσε εμπεριέχεται)... κ.ο.κ.
Κατασκευάζονται νέες εντολές που είναι συνδυασμοί (προγράμματα) των βασικών εντολών. Οι εντολές αυτές είναι «υψηλότερου» επιπέδου. Η διαδικασία αυτή επαναλαμβάνεται και δημιουργούνται πολλά «επίπεδα» εντολών. Το επίπεδο # 1 είναι το βασικό σύνολο με εντολές που απευθύνονται στα ηλεκτρονικά κυκλώματα. Το τελευταίο επίπεδο έχει σύνθετες εντολές που αποτελούν την υλοποίηση του λειτουργικού συστήματος. Ένα παράδειγμα 13 επιπέδων περιγράφεται από τους: P. J. Denning & R. L. Brown (Scientific American, September 1984, pp )
Το Μοντέλο Του Γραφειοκράτη Μεγάλη εταιρεία διατηρεί τις πληροφορίες για τους πωλητές της σε φακέλους με κάρτες. Μεγάλη εταιρεία διατηρεί τις πληροφορίες για τους πωλητές της σε φακέλους με κάρτες. Ένας υπάλληλος διαχειρίζεται το γραφειοκρα- τικό αυτό σύστημα και συλλέγει τις πληροφορίες που ζητούνται κατά περίπτωση. Ένας υπάλληλος διαχειρίζεται το γραφειοκρα- τικό αυτό σύστημα και συλλέγει τις πληροφορίες που ζητούνται κατά περίπτωση. Η κάθε κάρτα έχει την παρακάτω δομή: Πωλητής: ___________________________ Πωλήσεις: ___________________________ Μισθός: ___________________________ Τόπος: ___________________________...
Ερώτηση: Ποιο Είναι Το Ύψος Των Πωλήσεων Στα Γιάννενα ; Ο γραφειοκράτης εκτελεί την παρακάτω διαδικασία προκειμένου να απαντήσει: 1) Πάρε μία κάρτα. 2) Εάν στο πεδίο «Τόπος» αναγράφεται «Γιάννενα», κράτα λογαριασμό για τις πωλήσεις, προσθέτοντας τον αριθμό που αναγράφεται στο πεδίο «Πωλήσεις» σε έναν τρέχοντα αθροιστή. 3) Βάλε την κάρτα στην θέση της και επανέλαβε με την επόμενη κάρτα.
Περισσότερα Αλλά Απλούστερα Βήματα Έστω ότι ο γραφειοκράτης δεν γνωρίζει τι σημαίνει «τρέχων αθροιστής». Μετατρέπουμε τις οδηγίες κατάλληλα για να τον βοηθήσουμε. Εισάγουμε την έννοια μιας βοηθητικής πρόχειρης κάρτας που την ονομάζουμε «Σύνολο». Η κάρτα «Σύνολο» θα παίξει τον ρόλο του τρέχοντα αθροιστή. Συνταγή:
Στην αρχή πάρε την κάρτα «Σύνολο» και γράψε επάνω της τον αριθμό μηδέν (0). 1) Πάρε μία κάρτα. 2) Εάν στο πεδίο «Τόπος» αναγράφεται «Γιάννενα», πάρε τον αριθμό που αναγράφεται στο πεδίο «Πωλήσεις» και πρόσθεσέ τον στον αριθμό που υπάρχει στην κάρτα «Σύνολο». 3) Γράψε το άθροισμα στην κάρτα «Σύνολο», και σβήσε τον προηγούμενο αριθμό. 4) Βάλε την κάρτα στην θέση της και επανέλαβε με την επόμενη κάρτα. Η διαδικασία έχει ως εξής:
Το Πρόχειρο “ Τετράδιο” Ο υπάλληλος θα χρειαστεί κάποιον χώρο για να κρατήσει “σημειώσεις” και να κάνει κάποιες απλές πράξεις Πρέπει επίσης να “μάθει” να χρησιμο- ποιεί ένα βασικό σύνολο εντολών που έρχονται με το “ τετράδιο”, όπως πχ πρόσθεση, μεταφορά, κλπ
Το Πρόγραμμα Υπάρχει ένα δεύτερο σύνολο εντολών που αποτελείται από συνδυασμό των βασικών εντολών και πάντα εξαρτάται από το πρόβλημα που πρέπει να λυθεί, όπως πχ να υπολογιστεί η προμήθεια του τάδε πωλητή, ή ο αριθμός των πωλήσεών του, κλπ. Αυτό το σύνολο, είναι το πρόγραμμα που λύνει το συγκεκριμένο πρόβλημα
Ο Μετρητής … “Κρατάει Το Ίσιο” Ο υπάλληλος πρέπει να εκτελέσει ορισμένες οδηγίες με την σωστή σειρά Αυτό γίνεται διατηρώντας σε κάποιο σημείο του “πρόχειρου” έναν μετρητή που δείχνει σε ποια φάση βρίσκεται η διαδικασία Ο μετρητής αυτός ονομάζεται “μετρητής προγράμματος” (Program Counter ή PC)
Το “Ντοσιέ” Με Τις Εντολές Για τον υπάλληλο ο αριθμός του μετρητή είναι ένα είδος διεύθυνσης Υπάρχει σε κάποιο συρτάρι ένα ντοσιέ με αριθμημένες κάρτες Ο υπάλληλος πρέπει από κει να πάρει την κάρτα με τον αριθμό που δείχνει ο μετρητής Πάνω στην κάρτα είναι γραμμένη μια εντολή που πρέπει να εκτελεστεί
Καταχωρητές Ο υπάλληλος διαβάζει την εντολή από την κάρτα και την καταχωρεί σε κάποιο χώρο στο “πρόχειρο”. Ο χώρος αυτός ονομάζεται καταχωρητής εντολών Προτού εκτελέσει την εντολή προετοι- μάζεται για την επόμενη. Δηλαδή αυξάνει τον μετρητή κατά μια μονάδα Στην συνέχεια εκτελεί την εντολή που υπάρχει στον καταχωρητή εντολών
Καταχωρητές Και Εντολές Οι αριθμητικές πράξεις και άλλες εντολές απαιτούν προσωρινό χώρο “ αποθήκευσης ”. (Ο υπάλληλος θα πρέπει να θυμάται τους αριθμούς που θα προσθέσει ή αφαιρέσει ) Τα πάντα πρέπει να γίνουν με μια σειρά και οι καταχωρητές βοηθούν στην οργάνωση Όσοι περισσότεροι καταχωρητές υπάρχουν τόσο πιο εύκολος είναι ο προγραμματισμός
Ονόματα Καταχωρητών Για ευκολία οι καταχωρητές έχουν ονόματα. Ας θεωρήσουμε ότι έχουμε μόνο τέσσερις καταχωρητές με τα ονόματα A, B, X, και C O καταχωρητής C είναι ειδικός. Μπορεί να “κρατήσει” μόνο ένα δυαδικό ψηφίο (bit). Ονομάζεται καταχωρητής του κρατούμενου
Εντολές, Εντολές, Εντολές Μεταφορά των περιεχομένων του καταχωρητή Α στην θέση μνήμης Μ. Συμβολικά γράφουμε: M ( A ) Μεταφορά των περιεχομένων της μνήμης Μ στον καταχωρητή Α, ή: A ( M ) Aντίστοιχες εντολές για τον καταχωρητή Β, M (B) και Β (M)
Εντολές, Εντολές, Εντολές Για τον καταχωρητή X θα ορίσουμε επιπλέον δυνατότητες, όπως μεταφορές από και προς τον καταχωρητή Β. Δηλαδή X (B) και Β (X) Επίσης μεταφορές από και προς τον μετρητή προγράμματος [PC], δηλαδή PC (X) και X (PC)
Εντολές, Εντολές, Εντολές Σβήσε τον καταχωρητή Α, ή: Α 0 Πρόσθεσε τον Β στον Α, ή: Α ( Α )+( Β ) Μετέθεσε μια θέση αριστερά τα ψηφία του Α. Εάν “ περισσέψει” ψηφίο, αποθήκευσέ το στον καταχωρητή C Αύξησε τον Α κατά μια μονάδα, ή: Α ( Α ) +1 Μείωσε τον Α κατά μια μονάδα, ή: Α ( Α ) - 1 Φόρτωσε στον Β την σταθερά Ν, ή: Β Ν
Εντολές, Εντολές, Εντολές Πήγαινε στην εντολή Ζ, ή: PC Z Πήγαινε στην εντολή Ζ, EAN C=1 Πήγαινε Ζ εντολές παρακάτω, ή: PC ( PC )+ Z Πήγαινε Ζ εντολές παρακάτω, EAN C=1 Tερμάτισε (σταμάτα)
Λογικές Εντολές X = A and B A B X X = A or B A B X X = A xor B A B X Συνήθως ορίζονται μέσω “ Πινάκων Αληθείας ”
Πόσες Εντολές ; Με τις παραπάνω εντολές είναι δυνατόν να προγραμματίσουμε οτιδήποτε. Μπορούμε να προσθέσουμε και άλλες εντολές, χωρίς αυτό να είναι απαραίτητο. Η κάθε εντολή έχει δύο μέρη: Διεύθυνση εντολής και αριθμό εντολής. Διεύθυνση Εντολής Αριθμός εντολής
Ο αριθμός εντολών εξαρτάται από το μήκος που έχει καθοριστεί για τον “αριθμό εντολής” Εάν το καθορισμένο μήκος αντιστοιχεί σε έναν τετραψήφιο δυαδικό αριθμό, το πλήθος των εντολών είναι το πολύ 2 4 =16. (0000, 0001, 0010, 0011,... ) Πχ η εντολή Α (Α)+(Β) μπορεί να αντιστοιχεί στην 0010 κοκ. Κάνε τούτο Κάνε τ’ άλλο...
Ο Αριθμός Διευθύνσεων Εξαρτάται Από Το Μήκος Του Πεδίου Για Τις Διευθύνσεις Εάν το καθορισμένο μήκος του πεδίου διευθύνσεων είναι 5 (δηλαδή αντιστοιχεί σε έναν πενταψήφιο δυαδικό αριθμό) το πλήθος των διευθύνσεων είναι 2 5 =32. (00000, 00001, 00010,..., )