Βασική δοµή και Λειτουργία Υπολογιστή Η τεχνολογία των Η/Υ έχει βασιστεί στη λειτουργία του ανθρώπινου οργανισµού. Οπως ο άνθρωπος πέρνει εξωτερικά ερεθίσµατα από το περιβάλλον τα επεξεργάζεται και αντιδρά έτσι και ο Η/Υ Μονάδες Εισόδου Κεντρική Μονάδα Επεξεργασίας Μονάδες Εξόδου Μνήµη
Βασική δοµή και Λειτουργία Υπολογιστή Μονάδες Εισόδου: Επικοινωνία µε το εξωτερικό περιβάλλον ο Η/Υ δέχεται δεδοµένα για επεξεργασία και αποθήκευση Μονάδες Εξόδου: Επικοινωνία µε το εξωτερικό περιβάλλον ο Η/Υ δίνει δεδοµένα πληροφορίες και αποτελέσµατα σε κατανοητή µορφή Κεντρική ή κύρια µνήµη: ονοµάζεται η µνήµη υπολογιστή που είναι προσβάσιµη από την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ, CPU) ενός υπολογιστή. Η κύρια µνήµη χρησιµοποιείται για την αποθήκευση των δεδοµένων και των προγραµµάτων που εκτελούνται. Κεντρική Μονάδα Επεξεργασίας: Εκτελεί την επεξεργασία των δεδοµένων σύµφωνα µε το πρόγραµµα που αποθηκεύει στην κεντρική µνήµη και αποθηκεύει τα αποτελέσµατα, πληροφορίες στην Κεντρική ή τη Βοηθητική µνήµη ή τα στέλνει στη µονάδα εξόδου. Δίαυλος(bus):κανάλι επικοινωνίας πάνω στο οποίο ρέει η πληροφορία µεταξύ 2 ή περισσότερων συσκευών. Πρακτικά είναι µία συλλογή συρµάτινων καλωδίων για τη µεταφορά δεδοµένων µεταξύ των εξαρτηµάτων του η/υ
Είδη Μνήµης Κεντρική ή κύρια µνήµη: Ως κύρια µνήµη χρησιµοποιούνται µικροτσίπ µνήµης RAM, τα οποία είναι «πτητικές» µνήµες υπό την έννοια ότι διατηρούν τα δεδοµένα τους µόνο όσο τροφοδοτούνται µε ηλεκτρικό ρεύµα (ο η/υ σε λειτουργία). Επίσης χρησιµοποιούνται «µνήµες µόνο ανάγνωσης» (ROM) οι οποίες δεν είναι πτητικές, και δεν χάνουν ποτέ τα δεδοµένα τους. Η µνήµη ROM είναι µνήµη απαραίτητη για την εκκίνηση του υπολογιστή µιας και περιέχει την οµάδα εντολών εκκίνησης Περιφερειακή µνήµη ή δευτερεύουσα ή βοηθητική µνήµη: Αναγκαία λόγω του ότι η κεντρική µνήµη είναι περιορισµένη σε χωρητικότητα και είναι ένα ακριβό και προσωρινό µέσο αποθήκευσης. Είναι στην ουσία ο µόνιµος αποθηκευτικός χώρος, προγραµµάτων, δεδοµένων και πληροφοριών για έναν Η/Υ Κρυφή Μνήµη (Μνήµη Cache): Η µνήµη cache είναι παρόµοια µε τη RAM αλλά πολύ ταχύτερη και χρησιµοποιείται σαν ενδιάµεση µνήµη µεταξύ της CPU και της RΑΜ για να αποθηκεύει εντολές και δεδοµένα που χρησιµοποιούνται συχνά κατά τη διάρκεια κάποιας επεξεργασίας. Καταχωρητές (Registers): θέσεις µνήµης µεγάλης ταχύτητας για τα δεδοµένα που επεξεργάζονται κάθε στιγµή.
Γρηγορότερη µνήµη == Ακριβότερη µνήµη Η µνήµη ενός ηλεκτρονικού υπολογιστή µπορεί να διαταχθεί σε µορφή πυραµίδας. Τα κατώτερα επίπεδα της πυραµίδας προσφέρουν µεγαλύτερη αλλά πιο αργή µνήµη ενώ, τα ανώτερα προσφέρουν µικρότερη µνήµη αλλά πολύ πιο γρήγορη Καταχωρητές (Registers) Κρυφή Μνήµη (Cache) Κεντρική ή κύρια µνήµη (RAM, ROM) Περιφερειακή µνήµη ή δευτερεύουσα ή βοηθητική µνήµη (Σκληρός Δίσκος, CD, DVD, Flash memory)
Μονάδες µέτρησης µνήµης Για να ορίσουµε τις µονάδες µέτρησης µνήµης θα πρέπει να δούµε πως γίνεται η αναπαράσταση των δεδοµένων στον υπολογιστή. Οι υπολογιστές αναγνωρίζουν δύο διακριτές φυσικές καταστάσεις όπως για παράδειγµα: διακόπτης κλειστός-κατάσταση 0 διακόπτης ανοικτός Κατάσταση 1 Το µικρότερο στοιχείο δεδοµένων ενός υπολογιστή είναι ο συνδυασµός 0 1. Το κοµµάτι αυτό πληροφορίας ονοµάζεται bit Η µικρότερη µονάδα χωρητικότητας είναι το 1Byte (8bit) Πολλαπλάσιες µονάδες είναι:
0 Αναπαράσταση 1 Αριθµητικών 2 Δεδοµένων 9 1 0 Το δεκαδικό σύστηµα είναι το σύστηµα 1 1 αρίθµησης που έχει συνηθίσει να χρησιµοποιεί 1 2 ο άνθρωπος 1 Η αξία ενός αριθµού στο δεκαδικό σύστηµα 1 9 ορίζεται από τα 10 ψηφία (0,1,2,..,9) σε συνδυασµό 2 0 µε την θέση τους µέσα στον αριθµό. Οι αριθµοί σχηµατίζονται από: - µονάδες 10 0 =1 - δεκάδες 10 1 =10 - εκατοντάδες 10 2 =100 - χιλιάδες 10 3 =1000...... Η βάση του συστήµατος δηλαδή είναι το 10: 1315 (10) = 1*10 3 + 3*10 2 + 1*10 1 + 5*10 0 2... 2 9 3 0 9 9 1 0 0 9 9 9 1 0 0 0
Αναπαράσταση Αριθµητικών Δεδοµένων Ο υπολογιστής χρησιµοποιεί το δυαδικό σύστηµα αφού µόνο δύο διακριτές καταστάσεις µπορεί να αναγνωρίσει Η αξία ενός αριθµού στο δυαδικό σύστηµα ορίζεται από τα 2 ψηφία (0,1) σε συνδυασµό µε την θέση τους µέσα στον αριθµό. Οι αριθµοί σχηµατίζονται από: - µονάδες 2 0 =1 - δυάδες 2 1 =2 - τετράδες 2 2 =4 - οχτάδες 2 3 =8-16άδες 2 4 =16-32άδες 2 5 =32...... Η βάση του συστήµατος δηλαδή είναι το 2: 10110000 (2) =1*2 7 + 0*2 6 + 1*2 5 + 1*2 4 + 0*2 3 + 0*2 2 + 0*2 1 + 0*2 0. (10) (2) 0 0 1 1 2 1 0 3 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 8 1 0 0 0 9 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 1 2 1 1 0 0 1 3 1 1 0 1 1 4 1 1 1 0 1 5 1 1 1 1 1 6 1 0 0 0 0 1 7 1 0 0 0 1 1 8 1 0 0 1 0 1 9 1 0 0 1 1 2 0 1 0 1 0 0
Μετατροπή (2) (10) 176 1 0 1 1 0 0 0 0 1*2 7 + 0*2 6 + 1*2 5 + 1*2 4 + 0*2 3 + 0*2 2 + 0*2 1 + 0*2 0 Μετατροπή (10) (2) 176 2 0 88 2 0 44 2 0 22 2 0 11 2 1 5 2 1 2 2 0 1 10110000 http://acc6.its.brooklyn.cuny.edu/~gurwitz/core5/nav2tool.html
Υπάρχουν 1 0 Τύποι Ανρθώπων: Αυτοί που καταλαβαίνουν το Δυαδικό Σύστηµα Αυτοί που δεν καταλαβαίνουν το Δυαδικό Σύστηµα
Κώδικες Κειµένου Οι υπολογιστές µπορούν να «καταλάβουν» αριθµούς. Πώς όµως γίνεται η αναπαράσταση χαρακτήρων a ή c ή @ ή ενεργειών όπως Del, esc, tab, space? Πώς µπορεί ο υπολογιστής να χρησιµοποιήσει το αλφάβητο για να επικοινωνεί µε προγράµµατα και άλλους υπολογιστές; Αναγκαία η χρήση ενός κοινά αποδεκτού πρότυπου κώδικα κειµένου (text code), στον οποίο, δυαδικοί αριθµοί παριστάνουν τα γράµµατα του αλφάβητου, τα σηµεία στίξης, και άλλα σύµβολα.
Κώδικας ASCII American Standard Code for Information Interchange Αρχικά ο κώδικας ASCII χρησιµοποίησε 7bit (128 διαφορετικές καταστάσεις οι οποίες µπορούν να αναπαραστήσουν 128 διαφορετικούς χαρακτήρες και εντολές) Οι πρώτοι 32 κώδικες (αριθµοί 0 31 δεκαδικό) στο ascii είναι δεσµευµένοι για χαρακτήρες ελέγχου Για παραδειγµα ο κώδικας (αριθµός) 27 αναπαριστά το κουµπί "escape" που βρίσκεται συνήθως στην πάνω αριστερή γωνία των κοινότερων πληκτρολογίων. Επίσης ο αριθµός 127 αντιπροσωπεύει την εντολή DELETE.
Κώδικας ASCII http://en.wikipedia.org/wiki/ascii Οι αριθµοί 32 126 έχουν αντιστοιχιστεί σε χαρακτήρες που θα βρείτε στο πληκτρολόγιο σας και εµφανίζονται όταν κάνετε προβολή ή όταν εκτυπώνετε ένα έγγραφο. υαδικός Κωδ εκαδικός Κωδ 110 0110 102
ASCII Ο Κωδικας των 8-bit http://en.wikipedia.org/wiki/ascii Με την ευρεία χρήση των υπολογιστών δηµιουργήθηκε η ανάγκη κωδικοποίησης και άλλων συµβόλων όπως για παράδειγµα: Ç,ü, δ, κ,é, â, ä, å Για το λόγο αυτό Κώδικας ASCII επεκτάθηκε µε άλλους 128 κωδικούς, δηλαδή δόθηκε 1 ακόµα bit στην αναπαράσταση των χαρακτήρων, δηµιουργώτας έτσι τον 8-bit ASCII Κώδικα. Ακόµα και µε αυτούς τους πρόσθετους χαρακτήρες, πολλές γλώσσες περιλαµβάνουν σύµβολα που δεν µπορούν να συµπυκνωθούν σε 256 χαρακτήρες. Εξαιτίας αυτής της αδυναµίας, υπάρχουν παραλλαγές της ASCII ώστε να περιλαµβάνονται οι τοπικοί χαρακτήρες και τα σύµβολα.
W i k i p e d i a
Πόσα byte χρειάζονται για την αναπαράσταση της λέξης: ΙΑΤΡΟΣ? http://www.roubaixinteractive.com/playground/binary_conversion/binary_to_text.asp
Πέρα από την ASCII Παγκόσµιο πρότυπο χαρακτήρων Unicode διαθέτει δύο byte (16 bit) για την παράσταση κάθε γράµµατος, αριθµού ή συµβόλου. Με τον τρόπο αυτό είναι δυνατό να παρασταθούν περισσότερους από 65.536 διαφορετικούς χαρακτήρες ή σύµβολα. EBCDIC (Extended Binary Coded Decimal Interchanged Code) που χρησιµοποιείται κυρίως από µεγάλους και µεσαίους υπολογιστές της IBM.
Κεντρική Μονάδα Επεξεργασίας (CPU) Η CPU είναι ο εγκέφαλος του υπολογιστή, το µέρος όπου τα δεδοµένα υφίστανται επεξεργασία. Κάθε CPU ανεξάρτητα από την κατασκευή της έχει τουλάχιστον δύο βασικά µέρη το καθένα µε τις δικές του λειτουργίες: Μονάδα αριθµητικών και λογικών πράξεων: Αριθµητικές Πράξεις: Πρόσθεση, Αφαίρεση, Πολ/µό, Διαίρεση, Ύψωση σε δύναµη Λογικές πράξεις, συγκρίσεις δεδοµένων (µικρότερο, ισο, µεγαλύτερο κ.τ.λ) Μονάδα ελέγχου: Συντονίζει και διαχειρίζεται όλους τους πόρους του υπολογιστή Η κύρια µνήµη µε την κεντρική µονάδα επεξεργασίας αποτελούν τη µονάδα συστήµατος ή κύριο µέρος του Η/Υ ενώ οι µονάδες εισόδου, εξόδου και η βοηθητική µνήµη αποτελούν τις περιφερειακές µονάδες του συστήµατος
Πώς η CPU εκτελεί τις εντολές των προγραµµάτων Κύκλος Ρολογιού. Ο επεξεργαστής µπορεί να κάνει πράξεις µόνο µε δυαδικούς αριθµούς, δηλαδή συστοιχίες από τα ψηφία 0 και 1. Για να κάνει αυτές τις πράξεις, χρειάζεται να έχει κάποια υποσυστήµατα, τα οποία για να λειτουργήσουν σωστά στη µονάδα του χρόνου, συγχρονίζονται από µια γεννήτρια ηλεκτρικών παλµών, αυτό που ονοµάζουµε ρολόι. Ότι συµβαίνει στον επεξεργαστή συµβαίνει µόνο κατά τη διάρκεια διέγερσής του από το ρολόι. Για παράδειγµα ένας επεξεργαστής στα 1 GHz συντονίζει τη διέγερσή του από ένα ρολόι που δίνει 1 δισεκ παλµούς το δευτερόλεπτο ή διαφορετικά διεγείρεται 1 δισεκ φορές το δευτερόλεπτο. Ο χρόνος µεταξύ δύο διαδοχικών παλµών ονοµάζεται κύκλος ρολογιού. Διαφορετικής κατασκευής CPU, στην ίδια συχνότητα είναι πιθανό να εκτελέσουν διεργασίες σε διαφορετικό χρόνο... Κάθε CPU διεγείρεται µε διαφορετικό τρόπο...
Πώς η CPU εκτελεί τις εντολές των προγραµµάτων Κύκλος Μηχανής. Control Unit 1 Fetch 2 Decode RAM 3 ALU Execute 4 Store CPU Control Unit 2 1 4 Accumulator Register 88 164 3 ALU 88 +76 164 Storage Register 76 Add next number to total 76 Program Instruction Data
Πώς η CPU εκτελεί τις εντολές των προγραµµάτων Κύκλος Μηχανής. Για να εκτελεστεί ένα πρόγραµµα οι εντολές και τα δεδοµένα του πρέπει πρώτα να µεταφερθούν στη µνήµη (ποιά µνήµη???) από µία συσκευή εισόδου ή από την βοηθητική περιφερειακή µνήµη. Η CPU εκτελεί τα παρακάτω 4 βήµατα για κάθε εντολή: Η µονάδα ελέγχου λαµβάνει την εντολή από την µνήµη. Η µονάδα ελέγχου αποκωδικοποιεί την εντολή και κατευθύνει τα απαραίτητα δεδοµένα από την µνήµη στην αριθµητική/λογική µονάδα. Τα βήµατα αυτά ονοµάζονται Instruction time (I-time). H αριθµητική/λογική µονάδα εκτελεί την επεξεργασία (λογική ή αριθµητική). Η αριθµητική/λογική µονάδα αποθηκεύει το αποτέλεσµα στην µνήµη ή σε έναν καταχωρητή. Τα βήµατα 3&4 ονοµάζονται Execution time (E-time). Τα βήµατα 1-4 ονοµάζονται Κύκλος Μηχανής. Ένας µόνο κύκλος µηχανής µπορεί να αποτελείται από έναν αριθµό υπο-εντολών οι οποίες εκτελούνται σε χρόνο τουλάχιστον ενός κύκλου ρολογιού.
Πώς η µονάδα ελέγχου βρίσκει τα δεδοµένα και τις οδηγίες στη µνήµη Η θέση στη µνήµη για κάθε εντολή-κοµµάτι δεδοµένων ορίζεται από µία διευθυνση. Οι διευθύνσεις είναι σταθερές. Κάθε φορά αλλάζει το περιεχόµενο. Kάθε διευθυνσιοδοτηµένη θέση µνήµης µπορεί να διατηρήσει µόνο ένα συγκεκριµένο µέγεθος δεδοµένων. Ένας επεξεργαστής χαρακτηρίζεται από το µέγεθος των δεδοµένων που µπορεί να επεξεργαστεί τη φορά (σε κάθε παλµό του ρολογιού), µε άλλα λόγια χαρακτηρίζεται από το µέγεθος των καταχωρητών του. Θυµηθείτε ότι καταχωρητές είναι θέσεις µνήµης µε µεγάλη ταχύτητα και χρησιµοποιούνται για να περιέχουν τα δεδοµένα που επεξεργάζονται κάθε στιγµή
Τι σηµαίνει 32-bit επεξεργαστής (1) Ας υποθέσουµε ότι έχουµε δύο υπολογιστές µε το ίδιο ρολόι... δηλαδή παράγουν τον ίδιο αριθµό παλµών στο δευτερόλεπτο. Έστω ο υπολογιστής Α επεξεργάζεται 32 bits τη φορά (έχει καταχωρητές των 32- bit), ενώ ο υπολογιστής Β επεξεργάζεται 16 bit τη φορά (έχει καταχωρητές των 16-bit). Είναι εύλογο ότι ο υπολογιστής Α είναι 2 φορές ταχύτερος.
Τι σηµαίνει 32-bit Επεξεργαστής (2) Ένας επεξεργαστής συνήθως έχει διάφορα είδη καταχωρητών. Γενικά η καταχωρητές ταξινοµούνται µε βάση το είδος των δεδοµένων ή των εντολών που περιέχονται σε αυτούς. Μία ειδική οµάδα καταχωρητών στην CPU είναι αυτή στην οποία «καταχωρούνται» οι διευθυνσιοδοτηµένες θέσης της µνήµης (RAM). Άρα ένας καταχωρητής 32-bit πόσες διαφορετικές διευθύνσεις µπορεί να αναπαραστήσει???? Η απάντηση είναι 2^32= 4294967296 Byte ~ 4,3 GB Άρα περισσότερος χώρος για πολυδιεργασία!!!!
32-bit 64-bit Ή 4,3 GB 17,2 δισεκ GB Με την εµφάνιση των 64-bit επεξεργαστών το µέγεθος της µνήµης που µπορεί να διαχειρισθεί εκτινάσεται στα 17,2 δισεκατ. Gigabytes, ή στα 16,3 εκατ. Terabytes.