ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 9 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ
Περιεχόμενα 2 Η λειτουργία του υπολογιστή Κατηγορίες Εντολών Μορφή Εντολών Κ.Μ.Ε. Κύκλος Ανάκλησης-Εκτέλεσης Εντολών Προγραμματισμός
Γενικές Πληροφορίες 3 Ένα πρόβλημα μπορεί να λυθεί από μία μηχανή -> είναι σε θέση να τίθεται σε διάφορες «καταστάσεις» και να εκτελεί συγκεκριμένες εργασίες για κάθε μία από αυτές Εργασία (μεταφορά περιεχομένου, πρόσθεση, κ.τ.λ.) -> ενσωματωμένη στο σύστημα της μηχανής Εντολές -> συστατικά μέρη μιας γλώσσας -> γλώσσα μηχανής Προγραμματισμός -> διατύπωση διαδικασίας επίλυσης προβλήματος Πρόγραμμα -> σύνολο εντολών
Εντολές 4 Εντολές γλώσσας μηχανής -> εντολές μηχανής Σύνολο εντολών -> πλήθος εντολών που μπορεί να εκτελέσει ένας υπολογιστής Κάθε εντολή -> συγκεκριμένη ηλεκτρονική διάταξη (μέρος υλικού) Μια διαδικασία που δεν προβλέπεται από το υλικό μπορεί να διεκπεραιωθεί με περισσότερες εντολές
Κατηγορίες Εντολών 5 Αριθμητικές Εντολές (πρόσθεση, αφαίρεση, πολλαπλασιασμός, διαίρεση, αύξηση ή μείωση του καταχωρητού κατά 1, αντιστροφή και αύξηση (αληθές συμπλήρωμα) και ολίσθηση) Λογικές εντολές Εντολές μεταφοράς ελέγχου ή διακλάδωσης Εντολές μεταφοράς και καταχώρησης Εντολές εισόδου/εξόδου Ειδικές εντολές (stop, end, κ.τ.λ.)
Μορφή Εντολής 6 Οι εντολές της γλώσσας μηχανής διατυπώνονται κωδικοποιημένες στο δυαδικό σύστημα Αποτελούνται από: Τον κωδικό εντολής: προσδιορίζει το είδος της ενέργειας Τη διεύθυνση του παράγοντα: προσδιορίζει τη διεύθυνση της Κ.Μ.Ε. στην οποία ο υπολογιστής θα βρει τον παράγοντα ή τους παράγοντες Το μήκος της εντολής (bits)ποικίλει ανάλογα με τον τύπο του υπολογιστή
Κεντρική Μονάδα Επεξεργασίας 7 Η Κ.Μ.Ε. κατευθύνει και ελέγχει όλες τις διαδικασίες του υπολογιστή Η λειτουργία της συνιστάται στη σειριακή εκτέλεση των εντολών ενός προγράμματος Το χρονικό διάστημα που απαιτείται για να εκτελεσθεί η ταχύτερη μικρολειτουργία (συνήθως ο χρόνος που απαιτείται για να γίνει το πέρασμα της πληροφορίας από έναν καταχωρητή σε έναν άλλον)-> χρόνος κύκλου της Κ.Μ.Ε. -> t cpu Χρόνος κύκλου Κ.Μ.Ε. <-> ρυθμός ρολογιού Κ.Μ.Ε. (μεγακύκλους ανά δευτερόλεπτο) -> εξαρτάται άμεσα από την τεχνολογία υλικού
Ειδικοί Καταχωρητές 8 Καταχωρητές -> προσωρινές θέσεις μνήμης ειδικής χρήσης Σχεδόν παρόμοιες στην κατασκευή τους με τις θέσεις της κεντρικής μνήμης αλλά είναι ανεξάρτητες Το περιεχόμενό τους μπορεί να ανιχνεύεται και να αλλάζει πολύ γρηγορότερα απ ότι το περιεχόμενο των καταχωρητών της Κ.Μ.Ε.
Κατηγορίες Ειδικών Καταχωρητών 9 Οι ειδικοί καταχωρητές επιτελούν τις εξής λειτουργίες: Καταχωρητής Δεδομένων Μνήμης (ΚΔΕΜ): μεταφορά όλων των δεδομένων και των εντολών από την Κ.Μ.Ε. προς την κεντρική μνήμη και αντιστρόφως Καταχωρητής Εντολής (ΚΕ): προκειμένου να αποκωδικοποιηθεί μία εντολή και κατόπιν να εκτελεστεί Συσσωρευτές (Σ): βρίσκονται στην Αριθμητική Μονάδα και τοποθετούνται σ αυτούς, μέσω του ΚΔΕΜ τα δεδομένα που αφορούν στις αριθμητικές ή λογικές πράξεις. Το αποτέλεσμα τοποθετείται και πάλι σε κάποιον συσσωρευτή Καταχωρητής Διευθύνσεως Εντολής (ΚΔΕ): κρατάει στη μνήμη κάθε φορά τη διεύθυνση της μνήμης της επόμενης εντολής που πρόκειται να εκτελεστεί Καταχωρητής Διευθύνσεως Μνήμης (ΚΔΜ): περιέχει τη διεύθυνση της Κ.Μ. όπου καταχωρείται ή ανακτάται ένα δεδομένο ή εντολή
Κύκλος Ανάκλησης Εκτέλεσης 10 Εντολών Η Κ.Μ.Ε. κατευθύνει και ελέγχει όλες τις διαδικασίες του υπολογιστή Η λειτουργία της συνιστάται στη σειριακή εκτέλεση των εντολών ενός προγράμματος Πραγματοποιείται σε δύο φάσεις: Πρώτη φάση: μεταφέρεται η εντολή, μέσω του ΚΔΕΜ, στον καταχωρητή εντολής Δεύτερη φάση: «μεταφράζεται» η εντολή και εκτελείται με την αποστολή από την μονάδα ελέγχου των απαραίτητων σημάτων στα κατάλληλα μέρη της μηχανής
Φάση Ανάκλησης 11 Εκτελείται σε τρία βήματα: Από τον καταχωρητή διεύθυνσης εντολής περνάει στον καταχωρητή διεύθυνσης μνήμης η διεύθυνση της εντολής που πρόκειται να εκτελεστεί Το περιεχόμενο του καταχωρητή διεύθυνσης εντολής αυξάνεται κατά 1. Εάν η εντολή που εκτελείται είναι εντολή μεταφοράς ελέγχου, τότε ο ΚΔΕ αλλάζει κατά τη δεύτερη φάση, όπου θα φορτωθεί με τη διεύθυνση της εντολής στην οποία γίνεται η μεταφορά ελέγχου Αυτή η φάση ολοκληρώνεται με τη μεταφορά της προς την εκτέλεση εντολής, από τη μνήμη, στον ΚΕ μέσω του ΚΔΕΜ
Φάση Εκτέλεσης 12 Η φάση αυτή δεν είναι σταθερή Το μέρος της εντολής που περιέχει τον κωδικό εντολής μεταφέρεται από τον καταχωρητή εντολής στη μονάδα ελέγχου -> αποκωδικοποιείται και ανάλογα με το είδος της εντολής στέλνονται τα απαραίτητα σήματα στα διάφορα μέρη της Κ.Μ.Ε. Η διάρκειά της εξαρτάται από τον αριθμό και το χρόνο εκτέλεσης των αντίστοιχων μικρολειτουργιών
Προγραμματισμός 13 Μέθοδος με την οποία ο χρήστης καθοδηγεί τον υπολογιστή στην επίλυση προβλημάτων Πρόγραμμα: λίστα από οδηγίες αναγκαίες για τον υπολογιστή προκειμένου να περατώσει μια εργασία Σήμερα: δεν είναι μια αυστηρή συγκεκριμένη μεθοδολογία που βασίζεται σε παγκόσμιες αρχές και αξιώματα
Διαδικασία Προγραμματισμού 14 Αποτελείται από επτά βήματα: 1. Μαθηματική διατύπωση και ανάλυση του προβλήματος 2. Δημιουργία αλγορίθμου 3. Σχηματική παρουσία αλγορίθμου 4. Μεταφορά της διαδικασίας του αλγορίθμου σε γλώσσα προγραμματισμού 5. Εκτέλεση του προγράμματος στον υπολογιστή 6. Έλεγχος αποτελεσμάτων 7. Διόρθωση σφαλμάτων
Βασικά Σχήματα Λογικού 15 Διαγράμματος Οβάλ -> δηλώνει την αρχή και το τέλος ενός προγράμματος Παραλληλόγραμμο -> χρησιμοποιείται για να διαβάσουμε τα δεδομένα και να τυπώσουμε τα ζητούμενα ενός προγράμματος Ορθογώνιο παραλληλόγραμμο -> για να δηλώσουμε μια ενδιάμεση πράξη ή κάποιο μαθηματικό τύπο Ρόμβος -> λήψη κάποιας απόφασης Μικρός κύκλος -> για να συνδέσουμε δύο τμήματα κάποιου λογικού διαγράμματος όταν δεν περιλαμβάνονται στην ίδια σελίδα, λόγω έλλειψης χώρου
Γλώσσες προγραμματισμού 16 Δύο κατηγορίες: Χαμηλού επιπέδου: συγγενικές με τη γλώσσα μηχανής. Συνδυασμοί δυαδικών ακολουθιών -> «μνημονικοί» συμβολισμοί Υψηλού επιπέδου: ανεξάρτητες από τα διάφορα συστήματα υπολογιστών Ενδιάμεση χρήση συμβολομεταφραστή Μεταγλωττιστές (compilers): δέχονται ένα ολόκληρο αρχικό πρόγραμμα και παράγουν ένα ισοδύναμο τελικό πρόγραμμα σε κώδικα μηχανής Διερμηνευτές (interpreters): καλούνται κάθε φορά που επιθυμούμε να εκτελέσουμε ένα πρόγραμμα. Διαβάζει μία μία τις εντολές και εκτελεί για κάθε μία την ισοδύναμη ακολουθία εντολών μηχανής
Ταξινόμηση Γλωσσών 17 Προγραμματισμού Με βάση τις ιδέες πάνω στις οποίες βασίζονται: Διαδικαστικές γλώσσες (FORTRAN, COBOL, PASCAL, C ) Αντικειμενοστραφείς γλώσσες (Visual Basic, C++, Java) Συναρτησιακές γλώσσες(lisp, Hope) Μη διαδικαστικές γλώσσες (Prolog)
Ταξινόμηση Γλωσσών 18 Προγραμματισμού Με βάση την περιοχή χρησιμοποίησης τους Επιστημονικής κατεύθυνσης (Fortran, Basic) Εμπορικής κατεύθυνσης (Cobol, RPG) Γλώσσες προγραμματισμού συστημάτων (Bliss, C) Γλώσσες τεχνητής νοημοσύνης (Lisp, Prolog) Γλώσσες ειδικής χρήσης