Εισαγωγή στην Assembly

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Εισαγωγή στην Assembly"

Transcript

1 Εισαγωγή στην Assembly Περιεχόµενα: 1. Εισαγωγή a. Τι είναι η Assembly b. Πλεονεκτήµατα / Μειονεκτήµατα 2. Συστήµατα αρίθµησης a. Δεκαδικό b. Δυαδικό c. Δεκαεξαδικό 3. Οργάνωση της µνήµης a. Bit, Nibble, Byte, Word, Double word b. Η στοίβα c. Διευθυνσιοδότηση 4. Ο επεξεργαστής x86 της intel a. Εισαγωγή b. Καταχωρητές i. Γενικού σκοπού καταχωρητές ii. iii. iv. Καταχωρητές τµήµατος Καταχωρητές index Καταχωρητές στοίβας v. Σηµαίες

2 c. Οι κυριότερες εντολές d. Interrupts 5. Το πρώτο µας πρόγραµµα a. Εισαγωγή b. Το debug και η χρήση του c. Γράφοντας το πρόγραµµα d. Αποθήκευση του προγράµµατος στο δίσκο 6. Επίλογος Τι είναι η Assembly ΚΕΦΑΛΑΙΟ 1: Εισαγωγή H Assembly είναι µια γλώσσα προγραµµατισµού υπολογιστών. Είναι µια γλώσσα πολύ χαµηλού επιπέδου, αφού επιτρέπει πρόσβαση στις λειτουργίες του επεξεργαστή. Αυτό σηµαίνει ότι υπάρχουν πολλές διαφορετικές γλώσσες Assembly, µια για κάθε είδος επεξεργαστή. Στο κείµενο αυτό θα µας απασχολήσει η Assembly του επεξεργαστή x86 της intel, που είναι σήµερα ο πιο διαδεδοµένος επεξεργαστής. Αν έχετε 286, 386 ή ακόµα και 8086 (γενικώς ότι τελειώνει σε 86) ή ακόµη και Pentium, τότε ο επεξεργαστής σας υποστηρίζει τις εντολές που θα αναφερθούν εδώ. Η Assembly λέγεται αλλιώς και συµβολική γλώσσα, αφού στην ουσία τα προγράµµατα σε αυτή είναι συµβολικές ονοµασίες εντολών, που αποτελούν µνηµονικά ονόµατα (στην Αγγλική γλώσσα) κάθε λειτουργίας του επεξεργαστή. Βέβαια, όπως είναι γνωστό, οι υπολογιστές καταλαβαίνουν µόνο το 0 και το1, οπότε τα σύµβολα της γλώσσας Assembly πρέπει να µεταφραστούν σε 0 και 1 (δηλαδή σε γλώσσα µηχανής) από ένα πρόγραµµα που καλείται συµβολοµεταφραστής (Assembler), κατά τρόπο ανάλογο µε τη µετάφραση προγραµµάτων γλωσσών υψηλού επιπέδου από µεταγλωτιστές και διερµηνείς.

3 Για να ακολουθήσετε το κείµενο αυτό δεν χρειάζεται να προµηθευτείτε κανένα συµβολοµεταφραστή, αφού αυτός υπάρχει ήδη στο σύστηµά σας και λέγεται debug. Για την ακρίβεια δεν είναι ακριβώς συµβολοµεταφραστής, αλλά µπορούµε να τον χρησιµοποιήσουµε σαν τέτοιο. Θα εξετάσουµε αναλυτικά το debug στο κεφάλαιο 5. Πλεονεκτήµατα / Μειονεκτήµατα Το βασικότερο πλεονέκτηµα της Assembly είναι η ταχύτητα των προγραµµάτων που γράφονται σε αυτή. Πραγµατικά τα προγράµµατα αυτά είναι ταχύτατα και µπορούν να αποδειχθούν εξαιρετικά χρήσιµα σε εφαρµογές όπου η ταχύτητα παίζει σηµαντικό ρόλο, όπως πχ στα γραφικά. Ένα επιπλέον πλεονέκτηµα είναι ότι ο προγραµµατιστής σε Assembly καταλαβαίνει ακριβώς πως λειτουργεί ο υπολογιστής του. Καταλαβαίνει τον τρόπο σκέψης του και τον προγραµµατίζει µε τέτοιο τρόπο, ώστε τα προγράµµατά του να είναι πιο γρήγορα και σωστά δοµηµένα, ακόµα και όταν χρησιµοποιεί γλώσσα υψηλότερου επιπέδου από την Assembly. H Assembly είναι µια γλώσσα ιδανική για αυτούς που ενδιαφέρονται να µάθουν πώς ακριβώς λειτουργούν τα πράγµατα. Υπάρχουν όµως και σοβαρά µειονεκτήµατα. Ένα από αυτά είναι η αργή συγγραφή προγραµµάτων. Για παράδειγµα χρειαζόµαστε ένα πρόγραµµα 10 γραµµών για να εκτυπώσουµε ένα αλφαριθµητικό στην οθόνη, πράγµα που σε BASIC γίνεται µε µια και µόνο εντολή. Ένα άλλο µειονέκτηµα είναι ότι η γλώσσα Assembly δεν διαθέτει καµία µέριµνα αποφυγής σφαλµάτων και καµία λογική δόµησης, οπότε µπορούν να προκύψουν προγράµµατα µε σφάλµατα και µε κώδικα «σπαγγέτι» πολύ εύκολα. Η µέριµνα σε αυτή την περίπτωση αφήνεται εξολοκλήρου στον προγραµµατιστή για καθαρό κώδικα και αποφυγή σφαλµάτων. Αυτός είναι και ο κύριος λόγος που η Assembly δεν συνίσταται για αρχάριους προγραµµατιστές. Παρόλα αυτά τα µειονεκτήµατα µπορούν να παρακαµφθούν µε διάφορες προσεγγίσεις : 1. Με τη χρήση κανόνων ευταξίας και δόµησης προγραµµάτων, οι οποίοι και θα ακολουθούνται αυστηρά. 2. Με την ενσωµάτωση κώδικα Assembly σε προγράµµατα γλωσσών υψηλότερου επιπέδου, ώστε να επιταχύνονται οι αργές διαδικασίες (πχ γραφικά), ενώ παράλληλα οι συνηθισµένες, µη απαιτητικές διαδικασίες (όπως η εκτύπωση αλφαριθµητικών) να γίνονται εύκολα µε τις τυποποιηµένες εντολές της κάθε γλώσσας.

4 ΚΕΦΑΛΑΙΟ 2: Συστήµατα αρίθµησης Οι άνθρωποι, για να µπορούν να συννενοούνται σε σχέση µε τις διάφορες ποσότητες χρησιµοποιούν το δεκαδικό σύστηµα αρίθµησης. Οι αριθµοί δηλαδή που χρησιµοποιούν οι άνθρωποι αποτελούνται από 10 ψηφία (0-9) βαλµένα στη σωστή σειρά. Όπως όµως αναφέραµε, ο υπολογιστής καταλαβαίνει µόνο το 0 και το 1. ηλαδή µπορεί να εργαστεί µόνο µε δύο ψηφία. Αυτό επίσης σηµαίνει ότι όλοι οι αριθµοί που καταλαβαίνει ο υπολογιστής κωδικοποιούνται σε ένα σύστηµα αρίθµησης που ονοµάζεται δυαδικό (µε 2 ψηφία 0 και 1 βαλµένα στη σωστή σειρά), και που αν θυµάστε είχαµε διδαχθεί στο δηµοτικό. Για όσους δεν θυµούνται γίνεται εδώ µια αναφορά στα διάφορα συστήµατα αρίθµησης, αφού είναι βασικής σηµασίας στον προγραµµατισµό σε Assembly. Όσοι θυµούνται µπορούν να το παρακάµψουν. εκαδικό Ξεκινάµε λοιπόν µε το δεκαδικό, µιας και το χρησιµοποιούµε καθηµερινά. Ένας αριθµός στο δεκαδικό σύστηµα κωδικοποιείται µε τα δέκα γνωστά µας ψηφία 0-9 ως εξής: Το πρώτο από τα δεξιά ψηφίο είναι ο αριθµός των µονάδων. Έτσι ο αριθµός 7 σηµαίνει «7 µονάδες». Το δεύτερο ψηφίο είναι οι 10δες. ηλαδή ο αριθµός 37 σηµαίνει «3 δεκάδες και 7 µονάδες». Το τρίτο ψηφίο είναι των εκατοντάδων, το τέταρτο των χιλιάδων κοκ. Παρατηρούµε εδώ ότι αν χρησιµοποιήουµε δυνάµεις, οι µονάδες παριστάνονται σαν (10^0), οι δεκάδες σαν (10^1), οι εκατοντάδες σαν (10^2) κοκ. Η βάση λοιπόν του συστήµατος είναι το 10 και το σύστηµα καλείται «δεκαδικό» ή «Decimal». Ο αριθµός 1234 σηµαίνει λοιπόν : 1 x 10^3 +2 x 10^2 + 3 x 10^2 +4 x 10^0.

5 υαδικό Το δυαδικό σύστηµα, αν και διαθέτει µόνο 2 ψηφία, δεν έχει τίποτα να ζηλέψει από το δεκαδικό, αφού σε δυαδικό συµβολισµό µπορούµε να αναπαραστήσουµε οποιονδήποτε αριθµό. Αν θυµηθούµε τη λογική του δεκαδικού, είναι εύκολο να καταλάβουµε πώς λειτουργεί και το δυαδικό. Έτσι το πρώτο ψηφίο από δεξιά είναι οι µονάδες (2^0). Το δεύτερο είναι οι δυάδες (2^1), το τρίτο οι τετράδες (2^2) κοκ. Η βάση είναι το 2 και γι αυτό το σύστηµα λέγεται δυαδικό (Binary). Παράδειγµα: Ο αριθµός 10 του δεκαδικού µπορεί να παρασταθεί σαν δυαδικός ως εξής : Παρατηρούµε ότι το 10 έχει µια οκτάδα (2^3), καµία τετράδα, µια δυάδα και καµία µονάδα. Έτσι γράφουµε : 10 = 1 x (2^3) + 0 x (2^2) +1 x (2^1) +0 x (2^0) οπότε ο δυαδικός συµβολισµός του 10 είναι 1010b. Το b χρησιµεύει για να µας δείξει ότι ο αριθµός είναι δυαδικός και να µην συγχέεται µε το χίλια-δέκα του δεκαδικού. Αντίστροφα, ο αριθµός 1111b σε δεκαδικό συµβολισµό παριστάνεται ως εξής : 1111b = 1 x (2^3) + 1 x (2^2) +1 x (2^1) +1 x (2^0) = =15 εκαεξαδικό Βεβαίως η ενασχόληση του ανθρώπου µε το δυαδικό σύστηµα είναι επίπονη. Η χρήση δε του δεκαδικού είναι και αυτή δύσκολη, αφού απαιτείται µετατροπή από το δεκαδικό στο δυαδικό. Η λύση είναι το δεκαεξαδικό σύστηµα. Από την περιγραφή των 2 προηγούµενων συστηµάτων θα έχετε ήδη καταλάβει τι συµβαίνει µε το δεκαεξαδικο (hexadecimal) σύστηµα. Είναι ένα σύστηµα µε βάση το 16, όπου το πρώτο ψηφίο δηλώνει τις µονάδες (16^0), το δεύτερο τις δεκαεξάδες (16^1), το τρίτο τις 256άδες (16^2) και πάει λέγοντας

6 Αυτό που ίσως δεν συµπεράνατε είναι το ποια ψηφία χρησιµοποιούνται. Όπως το δυαδικό χρειάζεται 2 και το δεκαδικό 10 ψηφία, έτσι και το 16δικό χρειάζεται 16 ψηφία. Ποια είναι αυτά? Τα πρώτα 10 ψηφία είναι τα γνωστά 0-9 του δεκαδικού. Τα υπόλοιπα 6 είναι τα A,B,C,D,E,F του αγγλικού αλφαβήτου. Για να γίνει κατανοητό πως δουλεύει αυτό το σύστηµα ρίξτε µια µατιά στον παρακάτω πίνακα : εκαεξαδικό υαδικό εκαδικό Α B C D E F Αυτό που πρέπει να παρατηρήσουµε είναι ότι 4 ψηφία του δυαδικού συστήµατος αντιστοιχούν σε 1 του δεκαεξαδικού. Έτσι όταν έχουµε ένα µεγάλο δυαδικό αριθµό όπως ο b, µπορούµε να τον χωρίσουµε σε τετράδες, δηλαδή : b και µετά, σύµφωνα µε τον παραπάνω πίνακα να βρούµε ποιο δεκαεξαδικό ψηφίο αντιστοιχεί σε κάθε τετράδα :

7 b = D52EΑh (To h χρησιµοποιείται για να δηλώσει δεκαεξαδικό συµβολισµό ) Φαίνονται λοιπόν τα πλεονεκτήµατα του δεκαεξαδικού συµβολισµού. Είναι πολύ πιο συµπαγής τρόπος για να γράφουµε αριθµούς και µετατρέπεται πολύ εύκολα στο δυαδικό σύστηµα (και αντίστροφα). Επιπλέον είναι πολύ ευκολότερο να µετατρέψουµε το D52EΑh σε δεκαδικό συµβολισµό, παρά το b. Έτσι το δεκαεξαδικό σύστηµα αρίθµησης είναι µια πολύτιµη «γέφυρα» ανάµεσα στη λογική του ανθρώπου και του υπολογιστή. ΑΣΚΗΣΗ: Γράψτε σε τρία χαρτιά τυχαίους δεκαδικούς, δεκαεξαδικούς και δυαδικούς αριθµούς αντίστοιχα, και µετατρέψτε τους αριθµούς στα άλλα δύο συστήµατα. Κεφάλαιο 3 : Οργάνωση της µνήµης Bit, Nibble, Byte, Word, Double word Και αφού λοιπόν ο υπολογιστής καταλαβαίνει και «θυµάται» µόνο αλληλουχίες από 0 και 1, έπεται ότι η βασική µονάδα µνήµης του υπολογιστή είναι το δυαδικό ψηφίο. Στα αγγλικά αυτό µεταφράζεται Bainary Digit, ή πιο σύντοµα bit. Βέβαια, ένα bit µόνο του δεν σηµαίνει και πολλά. Με πολλά bits στη σειρά όµως µπορούµε να κάνουµε τα πάντα! Να αποθηκεύσουµε ένα µουσικό κοµµάτι σε CD, να φτιάξουµε όλα τα γραφικά σαν αυτά τα φοβερά της ταινίας Final Fantasy ή να γράψουµε ένα κείµενο, όπως κάνω εγώ αυτή τη στιγµή βέβαια για να γίνουν όλα αυτά απαιτείται και κάποια οργάνωση. Αν τα bits τοποθετούνταν απλώς στη σειρά, και χρειαζόµασταν 1 MB δεδοµένων θα επικρατούσε ένα χάος. Έτσι υπάρχει ένα σύστηµα µε το οποίο τα bits οµαδοποιούνται. Καταρχήν τα bits χωρίζονται σε τετράδες. Οι τετράδες αυτές λέγονται Nibbles. Όπως είδαµε και πριν, ένα nibble µπορεί να παρασταθεί µε ένα δεκαεξαδικό ψηφίο. Τα bits µέσα σε ένα nibble αριθµούνται ως εξής :

8 Bit #3 ή υψηλής τάξης bit #2 #1 Bit #0 ή χαµηλής τάξης bit Αν συνδυάσουµε 8 bits µαζί (ή 2 nibbles), παίρνουµε 1 byte. Τα bits µέσα σε ένα byte αριθµούνται µε παρόµοιο τρόπο: Bit #7 ή υψηλής τάξης bit #6 #5 #4 #3 #2 #1 Bit #0 ή χαµηλής τάξης bit To byte αποτελείται από 2 nibbles που λέγονται υψηλής και χαµηλής τάξης nibbles Nibble υψηλής τάξης (high order nibble) Nibble χαµηλής τάξης (low order nibble) Και φυσικά αφού το nibble αναπαρίσταται µε ένα δεκαεξαδικό ψηφίο, to byte αναπαρίσταται µε δύο. Το byte είναι µια πολύ βασική µονάδα µνήµης, αφού ο κώδικας ASCIL είναι κώδικας του 1 byte. Ο κώδικας αυτός αντιστοιχίζει δυαδικούς αριθµούς του ενός byte σε αλφαριθµητικούς χαρακτήρες. Με 8 bits (1 byte), µπορούµε να αναπαραστήσουµε αριθµούς από το b ως το b. ηλαδή από το 0 ως το 255. Ο κώδικας ASCLIL έχει 256 χαρακτήρες. Από αυτούς οι 128 είναι αλφαριθµητικοί χαρακτήρες της Αγγλικής γλώσσας, ενώ οι υπόλοιποι 128 χρησιµοποιούνται για διάφορους λόγους (όπως για υποστήριξη Ελληνικών στο MS DOS). Πρόσφατα έχει δηµιουργηθεί µια νέα τυποποίηση που λέγεται Unicode. Ο κώδικας αυτός είναι 16µπιτος και µπορεί να αναπαραστήσει χαρακτήρες (πολύ περισσότεροι από τους 256 του ASCIL), που περιλαµβάνουν όλες τις γλώσσες! Παρόλα αυτά, ο παλιός καλός ASCIL κώδικας δεν έχει αντικατασταθεί πλήρως και αυτόν θα χρησιµοποιούµε στα προγράµµατα σε Assembly. Μιλώντας για τον 16µπιτό κώδικα Unicode, η µονάδα που αποτελείται από 16 bits ονοµάζεται word (λέξη). Μια λέξη ως εκ τούτο αποτελείται από 2 bytes. Ένα υψηλής και ένα χαµηλής τάξης, κάθε ένα από τα οποία έχει τα δικά του υψηλής και χαµηλής τάξης nibbles.

9 Επίσης υπάρχει και µια µονάδα µνήµης των 32 bits, που λέγεται Double word ή Dword και περιλαµβάνει µια υψηλής και µια χαµηλής τάξης λέξη, καθεµιά από τις οποίες έχει ένα υψηλής και ένα χαµηλής τάξης byte κοκ Η στοίβα Η στοίβα (stack) είναι ένας χαρακτηριστικός τρόπος αποθήκευσης των δεδοµένων, που πρόκειται να µας λύσει τα χέρια στον προγραµµατισµό σε Assembly. Η στοίβα συµπεριφερεται ακριβώς όπως µια στοίβα από δίσκους σερβιρίσµατος σε µια καφετέρια. Αν πάνω στη στοίβα τοποθετηθεί ένας δίσκος αυτός θα είναι και ο πρώτος δίσκος που θα πάρουµε από αυτή,όταν τον χρειαστούµε. Η στοίβα λοιπόν ακολουθεί τη λογική LIFO (Last In, First Out). Θα µας φανεί ιδιαίτερα χρήσιµη όταν θα χρειάζεται σε ένα πρόγραµµα να αποθηκεύσουµε κάποιον (ή όλους) τους καταχωρητές. Περισσότερα για τις εντολές στοίβας θα δούµε στο επόµενο κεφάλαιο. ιευθυνσιοδότηση Η µνήµη του υπολογιστή µας µπορεί να θεωρηθεί σαν ένα µεγάλο «σωληνάριο» που περιέχει «καραµέλες» τη µία µετά την άλλη. Κάθε καραµέλα είναι ένα byte. Ο επεξεργαστής µας, µπορεί να διαβάζει και να γράφει bytes στη µνήµη. Αυτό µπορεί να το κάνει µε 2 τρόπους : Σε protected mode (από 286 και πάνω) Σε real mode Μιας και ο προγραµµατισµός σε protected mode γίνεται στα windows και εµείς θα ασχοληθούµε µε το MS DOS, µπορούµε να τον αγνοήσουµε (προς το παρόν). Ο προγραµµατισµός σε real mode βασίζεται στη λογική Segment:Offset. ηλαδή µια διεύθυνση µνήµης αντιστοιχίζεται σε ένα ζεύγος αριθµών των 32 bit. Αυτοί λέγονται

10 Segment και Offset. To Segment είναι ο αριθµός του «τµήµατος» της µνήµης, ενώ το offset είναι η σχετική διεύθυνση της µνήµης µέσα σε ένα ορισµένο τµήµα. Ένα τµήµα µνήµης, είναι µια περιοχή της µνήµης που περιλαµβάνει FFFFh bytes (ή 64 K). Τα τµήµατα δεν είναι αυτόνοµα. ηλαδή µια περιοχή της µνήµης µεγέθους 64 K δεν αντιστοιχεί µόνο σε ένα τµήµα. Αντίθετα τα τµήµατα είναι επικαλυπτόµενα. Ρίξτε µια µατιά στο παρακάτω σχήµα για να καταλάβετε. Για να βρούµε την φυσική διεύθυνση που αντιστοιχεί σε µια δυάδα Segment:Offset κάνουµε τον ακόλουθο υπολογισµό: ιεύθυνση = Segment*16 +Offset Ή ιεύθυνση=segment*10h + Offset Μπορούµε λοιπόν σε Real mode να αναφερθούµε σε FFFFh τµήµατα, κάθε ένα από τα οποία έχει FFFFh Offsets. ρα η µέγιστη διεύθυνση που µπορούµε να έχουµε σε real mode είναι: FFFFh *10h +FFFFh Μπορούµε λοιπόν να αναφερθούµε µόνο σε 1 MB µνήµης, αλλά αυτό δεν είναι και µεγάλο µειονέκτηµα, γιατί τα προγράµµατά µας δεν θα ξεπεράσουν τα µερικά KiloBytes. Από ην άλλη όποιος µπορεί να γράψει ένα τόσο µεγάλο πρόγραµµα σε Assembly, µάλλον δε θα δυσκολευτεί να µάθει και τον proteceted mode

11 ΚΕΦΑΛΑΙΟ 4 : Ο επεξεργαστής x86 της intel Εισαγωγή Ο επεξεργαστής (συχνά αναφέρεται και ως Κεντρική Μονάδα Επεξεργασίας ΚΜΕ ή Central Prossessing Unit - CPU) αποτελεί το «νοήµον» τµήµα του υπολογιστή µας. Εκεί γίνονται όλες οι διεργασίας αριθµητικές πράξεις επαναλήψεις λήψεις αποφάσεων, που κάνουν το µηχάνηµά µας τόσο έξυπνο. Κάθε επεξεργαστής έχει τη δική του αρχιτεκτονική και το δικό του σετ εντολών. Στοιχεία αυτών των δύο θα καλύψουµε για τον επεξεργαστή x86 της intel. Για πιο εκτενή κάλυψη των θεµάτων αυτών ανατρέξτε σε ένα εγχειρίδιο αναφοράς του x86, που µπορείτε να βρείτε στο internet. Καταχωρητές Βασικό στοιχείο της αρχιτεκτονικής ενός επεξεργαστή είναι οι καταχωρητές του. Οι καταχωρητές είναι θέσεις µνήµης του επεξεργαστή, που µοιάζουν κάπως µε τις µεταβλητές της BASIC, µε µόνη διαφορά ότι δεν ορίζονται από το χρήστη, αφού είναι ενσωµατωµένοι µε τον επεξεργαστή και δεν αποτελούν µέρος της κάρτας µνήµης του υπολογιστή, αλλά βρίσκονται «µέσα» στον επεξεργαστή. Ο επεξεργαστής έχει την «εξυπνάδα» να µην «πελαγώνει» από τις σύνθετες διαδικασίες, γιατί κάνει µια δουλειά κάθε φορά. Αθροίζοντας τις στοιχειώδεις αυτές διαδικασίες (πχ προσθέσεις, λήψεις αποφάσεων, εκχωρήσεις τιµών) ολοκληρώνονται πιο πολύπλοκες. Οι καταχωρητές λοιπόν είναι το µόνο µέρος στο οποίο µπορεί ο επεξεργαστής να επιδράσει δραστικά (πχ να κάνει µαθηµατικές πράξεις µε αυτούς κλπ). Στην υπόλοιπη µνήµη και στους δίσκους µπορεί απλώς να διαβάζει και να γράφει. Ο επεξεργαστής x86 έχει διαφόρων ειδών καταχωρητές,οι οποίοι παρουσιάζονται συνοπτικά παρακάτω.

12 Ι. Γενικού σκοπού καταχωρητές Καταχωρητής Όνοµα Περιγραφή AX Accumulator Συνήθως χρησιµεύει στις πράξεις αριθµητικής, σε διαδικασίες εισόδου/εξόδου και στην κλήση των ρουτίνων του MS DOS. BX Base είκτης. CX Counter Ότι λέει και η λέξη. χρησιµοποιείται σαν µια µεταβλητή καταµέτρησης στις επαναλληπτικές διαδικασίες (όπως το FOR NEXT της BASIC). DX Displacement Συνήθως χρησιµεύει στην έξοδο δεδοµένων από το πρόγραµµα, όπως στην έξοδο χαρακτήρων στην οθόνη. Βεβαίως δεν είναι µόνο αυτές οι χρήσεις τους. Ονοµάζονται γενικοί καταχωρητές, αφού ο προγραµµατιστής έχει τη δυνατότητα να τους αλλάξει κατά βούληση και να τους χρησιµοποιήσει όπως θέλει. Όλοι οι γενικοί καταχωρητές µπορούν να «σπάσουν» σε δύο δεκαεξάµπιτους καταχωρητές. Πχ Ο AX αποτελείται από τον AH και τον AL, όπου ο AH αποτελεί την υψηλής τάξης λέξη (H.O. ή High Order) και ο AL τη χαµηλής τάξης λέξη (L.O. ή Low Order), οπότε µην τροµάξετε αν δείτε έναν καταχωρητή BO, αφού είναι απλώς ο µισός καταχωρητής BX. ΙΙ. Καταχωρητές τµήµατος Καταχωρητής Όνοµα Περιγραφή CS Code Segment είκτης στο τµήµα κώδικα του προγράµµατός µας (εκεί δηλαδή που µπαίνουν οι εντολές). DS Data Segment είκτης στο τµήµα δεδοµένων. πχ εκεί αποθηκεύουµε τις µεταβλητές µας. ES Extra Μας χρησιµεύει στα γραφικά. Segment SS Stack Segment είκτης τµήµατος στοίβας. ΙΙΙ. Καταχωρητές Index Καταχωρητής Όνοµα Περιγραφή SI Source index είχνει το Offset ενός αλφαριθµητικού ή πίνακα. DI Destination index είχνει το offset προορισµού ενός αλφαριθµητικού ή πίνακα. IP Instruction Pointer είχνει το offset της επόµενης εντολής που πρέπει να εκτελέσει ο επεξεργαστής.

13 IV. Καταχωρητές στοίβας Καταχωρητής Όνοµα Περιγραφή BP Base Pointer Συνδυάζοντάς τον µε τον δείκτη τµήµατος στοίβας, µπορεί να χρησιµοποιηθεί για διαδικασίες στοίβας. SP Stack Pointer Το offset της στοίβας. V. Σηµαίες Ενώ όλοι οι υπόλοιποι καταχωρητές του x86 είναι καταχωρητές των 32 bit, οι σηµαίες είναι καταχωρητές του 1 bit. ηλαδή µπορεί να έχουν την τιµή 1 (true) ή 0 (false). Οι κυριότερες σηµαίες είναι οι Carry Flag, Zero Flag, Overflow Flag κλπ. Θα µας χρησιµεύσουν στη διακλάδωση υπό συνθήκη στα προγράµµατά µας. Οι κυριότερες εντολές Οι εντολές του x86 που θα µας φανούν χρήσιµες εδώ είναι οι εξής : Εντολή Χρήση Παράδειγµα MOV Εκχώρηση τιµής σε ένα καταχωρητή. Μπορεί να MOV AX,1 είναι µια οποιαδήποτε τιµή MOV AH,1 ή η τιµή ενός άλλου καταχωρητή MOV {Καταχωρητής},{τιµή} MOV AX,BX ADD Προσθέτει µια τιµή σε έναν καταχωρητή ή την τιµή ενός καταχωρητή σε έναν άλλο MOV {destination},{source} ADD AX,1 (Η τιµή του AX αυξάνει κατά 1) SUB Αφαιρεί µια τιµή από έναν κταχωρητή ή την τιµή ενός κατάχωρητή από έναν άλλο ADD AX,BX (Η τιµή του ΑΧ Αυξάνει κατά την τιµή του ΒΧ) SUB AX,1 (Η τιµή του ΑΧ ελαττώνεται κατά 1)

14 CALL / RET PUSH/POP Η εντολή CALL ακολουθούµενη από µια διεύθυνση, έχει σαν αποτέλεσµα την κλήση µιας υπορουτίνας. Η διεύθυνση που δίνουµε είναι η διεύθυνση της υπορουτίνας. Η εντολή RET τερµατίζει την υπορουτίνα και επιστρέφει στη διεύθυνση από όπου είχε κληθεί. Χρησιµεύουν για τη διαχείριση των δεδοµένων της στοίβας. Η εντολή PUSH εισάγει ένα καταχωρητή στη στοίβα και η POP τον ανακαλεί. Θυµηθείτε τη LIFO λογική της στοίβας SUB AX,BX (Η τιµή του ΑΧ ελαττώνεται κατά την τιµή του ΒΧ) CALL υπόλοιπο πρόγραµµα <διεύθυνση 150> εντολές υπορουτίνας RET (επιστροφή µετά την εντολή CALL και κανονική εκτέλεση του υπόλοιπου προγράµµατος) ΠΑΡΑ ΕΙΓΜΑ 1 MOV AX,12 MOV BX,23 PUSH AX στοίβα ;AX=12h ;BX=23h :AX Πάνω στη PUSH BX ;BX πάνω από το ΑΧ MOV AX,0 ; MOV BX,0 ;AX=BX=0 POP BX ; POP AX ;Επαναφορά ΑΧ,ΒΧ ΠΑΡΑ ΕΙΓΜΑ 2 MOV AX,12 MOV BX,23 PUSH AX PUSH BX POP POP AX BX

15 INT Κλήση µιας διακοπής (βλ. παρακάτω) (Έγινε ανταλλαγή των τιµών των καταχωρητών ΑΧ και ΒΧ LIFO λογική) INT 20 (έξοδος από το πρόγραµµα) Χρησιµοποιήστε τον πίνακα απλώς σαν αναφορά. Μην τον αποστηθίσετε προς το παρόν. Interrupts Οι interrupts (διακοπές) είναι ό,τι ακριβώς λέει και η λέξη. Το πρόγραµµά µας διακόπτεται και συµβαίνει κάποια διαδικασία.κατόπιν το πρόγραµµα συνεχίζει να εκτελείται κανονικά από το σηµείο που έγινε η διακοπή. Μπορούµε να θεωρήσουµε µια διακοπή σαν µια υπορουτίνα, µόνο που οι διακοπές είναι ήδη καθορισµένες και δεν τις προγραµµατίζουµε εµείς. Οι διακοπές κάνουν δουλειές ρουτίνας, όπως τοποθέτηση αλφαριθµητικών στην οθόνη, καθορισµός της κατάστασης της οθόνης, pixel plotting κλπ. Μερικές σηµαντικές interrupts είναι οι παρακάτω. Interrupt Λειτουργία Περιγραφή Χρήση INT 20h - Έξοδος στο DOS (Μόνο για INT 20 προγράµµατα COM) INT 21h 1 Είσοδος ενός χαρακτήρα από το πληκτρολόγιο. Ο χαρακτήρας επιστρέφεται MOV AH,1 INT 21 στον καταχωρητή AL INT 21h 2 Εµφανίζει ένα χαρακτήρα στην οθόνη. Ο κωδικός ASCIL του χαρακτήρα πρέπει να είναι στον καταχωρητή DL MOV AH,2 MOV DL, {ASCIL} INT 21 INT 21h 9 Εµφανίζει ένα αλφαριθµητικό στην οθόνη. Η διεύθυνση όπου είναι αποθηκευµένο το αλφαριθµητικό πρέπει να είναι στον καταχωρητή DX. MOV AH,9 MOV DX,{String adress} INT 21

16 ΚΕΦΑΛΑΙΟ 5 : Το πρώτο µας πρόγραµµα Εισαγωγή Και µετά όλο το οµολογουµένως βαρετό υπόβαθρο, έφτασε η ώρα να γράψουµε ένα πρόγραµµα σε γλώσσα Assembly. Συνήθως το πρώτο πρόγραµµα που γράφουµε όταν µαθαίνουµε µια γλώσσα είναι το γνωστό Hello, world!. Αυτό θα κάνουµε κι εδώ. Όπως είπαµε και πριν, για να µεταφράσουµε τα περίεργα σύµβολα της Assembly σε εκτελέσιµο κώδικα, χρειαζόµαστε ένα πρόγραµµα που λέγεται συµβολοµεταφραστής. Προς το παρόν όµως δε θα χρειαστεί να κατεβάσετε και να εγκαταστήσετε κανέναν συµβολοµεταφραστή, αφού το σύστηµά σας περιέχει ήδη ένα πρόγραµµα που µπορούµε να χρησιµοποιήσουµε για το σκοπό αυτό. Λέγεται debug (απεντόµωση) και βρίσκεται σε όλα τα συστήµατα DOS (και WINDOWS). Ας δούµε λοιπόν λίγα πράγµατα για τη χρήση του Το Debug και η χρήση του Με το debug θα γράψουµε προγράµµατα.com. Για να ξεκινήσουµε το Debug, ανοίγουµε ένα κέλυφος MS DOS (Start MS DOS Prompt) και γράφουµε DEBUG Για να φορτώσουµε ένα αρχείο COM που έχουµε ήδη φτιάξει χρησιµοποιούµε την ακόλουθη σύνταξη : C:> DEBUG FILENAME.COM Όταν έχουµε ανοίξει το debug, βλέπουµε µια παύλα, που είναι το προτρεπτικό σήµα για διαταγές. Οι κυριότετρες διαταγές του Debug είναι οι εξής : ιαταγή Λειτουργία -q Έξοδος (quit) -r Προβολή όλων των καταχωρητών και των τιµών τους -r {register} Αλλαγή της τιµής του καταχωρητή {register} πχ r ax για να αλλάξετε τον AX -a {adress} Εκχώρηση των εντολών που θέλουµε στην διεύθυνση {asress}

17 -u {adress} Προβολή στην οθόνη των εντολών που υπάρχουν στη διεύθυνση {adress} -e {adress} Αλλαγή του byte που βρίσκεται στη διεύθυνση {adress}. Μπορούµε να αλλάξουµε και τα επόµενα bytes, πατώντας το SPACE -d {adress} Εµφανίζει τα περιεχόµενα της διεύθυνσης {adress} στην οθόνη -n {name} Ονοµάζει το πρόγραµµά µας µε το όνοµα {name} -w Αποθηκεύει το πρόγραµµά µας στο δίσκο, µε filename αυτό που δηλώσαµε παραπάνω στην εντολή n. Πρέπει δηλαδή η εντολή n να προηγείται της w. Ακόµη πριν αποθηκεύσουµε το πρόγραµµά µας πρέπει να πούµε στο debug πόσο µεγάλο είναι σε bytes, πράγµα που γίνεται µε τους καταχωρητές BX:CX. Βάζουµε δηλαδή στους καταχωρητές αυτούς την τιµή που αντιστοιχεί στο πόσα bytes είναι το πρόγραµµά µας (χρησιµοποιούµε την εντολή -r), και κατόπιν αποθηκεύουµε το πρόγραµµα στο δίσκο Γράφοντας το πρόγραµµα Για να εκτυπώσουµε ένα αλφαριθµητικό στην οθόνη θα χρησιµοποιήσουµε την interrupt 21h, λειτουργία 9 του DOS. Για να δηλώσουµε ότι θέλουµε τη λειτουργία 9, βάζουµε το 9 στον καταχωρητή AH: MOV AH,9 O καταχωρητής DX πρέπει να δείχνει τη σχετική διεύθυνση του µηνύµατος. Αυτή είναι η 109h : MOV DX,109 Πώς µαντέψαµε ότι η σχετική διεύθυνση είναι η 109h? Απλώς γράφουµε πρώτα όλο το πρόγραµµα και µετά κοιτάµε σε ποια διεύθυνση τελειώνει. Εκεί ακριβώς θα τοποθετήσουµε και το αλφαριθµητικό µας. Θα µπορούσαµε βέβαια να το τοποθετήσουµε και σε µια διεύθυνση πολύ µακριά πχ 200h, ώστε να µην µας απασχολέι που τελειώνει ο κώδικας. Στην περίπτωση αυτή όµως όλα τα δεδοµένα µεταξύ 109h-200h θα γραφτούν στο δίσκο σαν σκουπίδια (αν και το πρόγραµµά µας θα τρέξει κανονικά ), πράγµα που είναι λάθος και πρέπει να το αποφύγουµε. Ούτως ή άλλως όµως το σηµείο αυτό λίγο µας ενδιαφέρει, αφού όταν θα δουλέψουµε µε το συµβολοµεταφραστή, δεν θα ανησυχούµε για τις διευθύνσεις µνήµης, αφού αυτός θα αναλαµβάνει να τις καθορίζει για µας.

18 Για να εκτελεστεί η interrupt 21h, δίνουµε την εντολή : INT 21 Και τέλος για να τελειώσει το πρόγραµµα : ΙΝΤ 20 Όλο το πρόγραµµα λοιπόν είναι : MOV AH,9 MOV DX,109 INT 21 INT 20 Θα το γράψουµε µε την εντολή a (assemble) (Debug Prompt) a 100 (δώστε µια-µια τις εντολές και πατήστε ENTER. Όταν τελειώσετε πατήστε 2 φορές ENTER) Τώρα το πρόγραµµα που είδαµε συν κάποιες ακατανόητες εντολές που βρίσκονται µετά την τελευταία µας εντολή MOV 20. Αυτά είναι τα περιεχόµενα που είχε η µνήµη µας. Παρατηρούµε ότι η αµέσως επόµενη εντολή από την τελευταία που δώσαµε βρίσκεται στη διεύθυνση 109h.

19 Σε αυτή τη διεύθυνση λοιπόν θα πρέπει να βάλουµε και το αλφαριθµητικό µας, ώστε να µην υπάρχει άχρηστος χώρος µεταξύ του κώδικα και του αλφαριθµητικού και το πρόγραµµά µας να είναι µικρό και συµπαγές. Για να βάλουµε ένα αλφαριθµητικό στη µνήµη πρέπει να εισάγουµε έναν έναν τους κωδικούς ASCIL του αλφαριθµητικού, µε την εντολή e του debug. (Debug prompt)- e 109 (αφού θέλουµε το αλφαριθµητικό να αρχίζει στη διεύθυνση 109) (δώστε τους αριθµούς 48, 65, 6c, 6c, 6f, 20, 77, 6f, 72, 6c, 64, 21, 24 χωρισµένους µε κενά. Όταν τελειώσετε πατήστε ENTER) Οι αριθµοί µπορούν πολύ εύκολα να βρεθούν από οποιονδήποτε πίνακα ASCIL. Εναλλακτικά µπορείτε να χρησιµοποιήσετε το πρόγραµµα str2asc.exe που σας δίνω στο αρχείο zip. Ο τελευταίος χαρακτήρας είναι ο 24h, δηλαδή το σήµα του δολαρίου. Αυτό χρησιµεύει για να δείξει το τέλος του αλφαριθµητικού και δεν εκτυπώνεται στην οθόνη. Τώρα αν τρέξουµε το πρόγραµµά µας`(εντολή -g) θα εµφανιστεί στην οθόνη ένα µήνυµα (αν όλα πήγαν καλά, αν όχι, διπλοτσεκάρετε ότι κάνατε όλα τα προηγούµενα σωστά). Αν όλα πήγαν καλά το πρόγραµµά µας είναι έτοιµο και µένει µόνο να το γράψουµε στο δίσκο Αποθήκευση του προγράµµατος στο δίσκο Όταν γράφουµε το πρόγραµµά µας στο δίσκο, το debug απλώς παίρνει µια περιοχή της µνήµης και την αποθηκεύει σε ένα αρχείο. Καταρχήν πρέπει να του πούµε πόσο µεγάλο είναι το πρόγραµµά µας. Αν κάνουµε τους υπολογισµούς, προκύπτει ότι το πρόγραµµά µας (κώδικας + δεδοµένα αλφαριθµητικού) είναι όλο 16h bytes. Για να πούµε στο debug ότι το πρόγραµµά µας είναι 16h bytes βάζουµε στον καταχωρητή CΧ, την τιµή 16h. ηλαδή:

20 (Debug prompt) r cx (εισάγετε 16 - ENTER) (Αν ο καταχωρητής BX δεν είναι 0, κάντε τον 0 µε την ίδια εντολή, αφού ο αριθµός των bytes κρατιέται από τον συνδυασµό BX:CX που είναι ένας 64µπιτος αριθµός). Κατόπιν πρέπει να δώσουµε ένα όνοµα στο αρχείο µας. Έστω HELLO.COM (Debug prompt) n HELLO.COM Τέλος γράφουµε το αρχείο µας στο δίσκο : (Debug prompt) w Βγαίνουµε από το Debug: (Debug prompt)-q Και εκτελούµε το πρόγραµµά µας από το DOS: C:>HELLO.COM

21 Επίλογος Το κείµενο αυτό σε καµία περίπτωση δεν αποτελεί ένα ολοκληρωµένο εισαγωγικό tutorial για την Assembly του x86. Αντίθετα καλύπτει τα ελάχιστα µόνο σηµεία που απαιτούνται για την κατασκευή ενός πολύ απλού προγράµµατος σε Assembly. Σκοπός του κειµένου αυτού είναι να «ξύσουµε» λίγο την επιφάνεια της πολύ ισχυρής αυτής γλώσσας, και να γνωρίσουµε έννοιες και εργαλεία χρήσιµα για το coding σε αυτή. Βέβαια, θα υπάρξουν και επόµενα κείµενα που θα καλύπτουν πιο πολύπλοκα θέµατα, αλλά θα τα γράψω µόνο αν εκδηλωθεί αντίστοιχο ενδιαφέρον από τους αναγνώστες του code. Επικοινωνήστε µαζί µου στο

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 2: Καταχωρητές, HelloWorld σε 8086, emu8086 emulator Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής Καταχωρητές & τμήματα μνήμης του 8086 Ματθές Δημήτριος Καθηγητής Πληροφορικής Καταχωρητές γενικού σκοπού Υπάρχουν τέσσερις (4) γενικού σκοπού καταχωρητές των 16-bit που χρησιμοποιούνται από τους προγραμματιστές

Διαβάστε περισσότερα

Στοιχεία από Assembly Γιώργος Μανής

Στοιχεία από Assembly Γιώργος Μανής Στοιχεία από Assembly 8086 Γιώργος Μανής Καταχωρητές καταχωρητές γενικής φύσης καταχωρητές δείκτες καταχωρητές αναφοράς καταχωρητές τµηµάτων ειδικοί καταχωρητές Καταχωρητές γενικής φύσης 16 bit ax, bx,

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης MSc Ηλεκτρονικός Φυσικός Αντικείμενο: ΠΡΟΦΙΛ ΜΑΘΗΜΑΤΟΣ Προγραμματισμός σε γλώσσα Assembly Σκοπός: Γνώση της assembly από τους απόφοιτους του τμήματος

Διαβάστε περισσότερα

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 3: Καταχωρητές, Τμήματα, Διευθυνσιοδότηση Μνήμης, SEGMENT, MOV, ADD, SUB, INT, TITLE, LEA

Διαβάστε περισσότερα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΥΠΟΡΟΥΤΙΝΕΣ ΕΡΓΑΣΤΗΡΙΟ 6 Οι υπορουτίνες αποτελούν αυτόνομα τμήματα κώδικα που διεκπεραιώνουν μία συγκεκριμένη εργασία και μπορούμε να τα καλούμε

Διαβάστε περισσότερα

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή Εισαγωγή Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ Ξεκινάµε την εργαστηριακή µελέτη της Ψηφιακής Λογικής των Η/Υ εξετάζοντας αρχικά τη µορφή των δεδοµένων που αποθηκεύουν και επεξεργάζονται οι υπολογιστές και προχωρώντας

Διαβάστε περισσότερα

Σημειώσεις για τον 80x86

Σημειώσεις για τον 80x86 Σημειώσεις για τον 80x86 Τι είναι η διεύθυνση; 16bits 0000h 0001h 0002h 8bits 20h 32h 30h Η μνήμη ενός μικροϋπολογιστικού συστήματος χωρίζεται σε μικρά τμήματα του ενός byte FFFEh 30h 2 16 =65,536 bytes

Διαβάστε περισσότερα

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) 1 ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004) ιάλεξη 1 1.1 ΕΙΣΑΓΩΓΗ ΣΤΗ FORTRAN 77 Ένα πρόγραµµα σε οποιαδήποτε γλώσσα προγραµµατισµού δεν τίποτα άλλο από µια σειρά εντολών που πρέπει

Διαβάστε περισσότερα

Βασική δοµή και Λειτουργία Υπολογιστή

Βασική δοµή και Λειτουργία Υπολογιστή Βασική δοµή και Λειτουργία Υπολογιστή Η τεχνολογία των Η/Υ έχει βασιστεί στη λειτουργία του ανθρώπινου οργανισµού. Οπως ο άνθρωπος πέρνει εξωτερικά ερεθίσµατα από το περιβάλλον τα επεξεργάζεται και αντιδρά

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 4: Πολλαπλασιασμός (MUL,IMUL). Διαίρεση (DIV,IDIV). Εμφάνιση αλφαριθμητικού. Εμφάνιση χαρακτήρα.

Διαβάστε περισσότερα

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: Σελίδα 1 από 12 Απαντήσεις στο φυλλάδιο 55 Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: (α) Κεντρική Μονάδα Επεξεργασίας. (β) Κύρια Μνήµη. (γ) Μονάδες εισόδου. (δ) Μονάδες εξόδου. (ε) Βοηθητική

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ Εισαγωγή στην Πληροφορική 1 Περιεχόµενα - Κωδικοποιήσεις - Αριθµητικά Συστήµατα 2 Ηλεκτρονικός Υπολογιστής Είπαµε ότι είναι, µία Ηλεκτρονική Μηχανή, που δουλεύει κάτω από τον έλεγχο εντολών αποθηκευµένων

Διαβάστε περισσότερα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ ΥΠΟΛΟΓΙΣΤΕΣ Ι Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ Τα επιμέρους τμήματα ΕΙΣΟ ΟΣ ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΕΛΕΓΧΟΥ ΑΡΙΘΜΗΤΙΚΗ ΛΟΓΙΚΗ ΕΞΟ ΟΣ ΚΕΝΤΡΙΚΗ ΕΠΕΞΕΡΓΑΣΙΑΣ 1 2 Αναπαράσταση μεγεθών ΜΕΤΡΟΥΜΕΝΟ ΜΕΓΕΘΟΣ ΑΝΑΛΟΓΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διαδικασίες, Σωρός, Διαφανείς συναρτήσεις Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

Διαβάστε περισσότερα

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

Διαβάστε περισσότερα

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version Συστήματα Αρίθμησης Στην καθημερινή μας ζωή χρησιμοποιούμε το δεκαδικό σύστημα αρίθμησης. Στο σύστημα αυτό χρησιμοποιούμε δέκα διαφορετικά σύμβολα τα :,, 2, 3, 4, 5, 6,7 8, 9. Για τον αριθμό 32 θα χρειαστούμε

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 7: Αποκωδικοποίηση Εντολής x86 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να Κεεφάάλλααι ιοο:: 3Β ο Τίττλλοοςς Κεεφααλλααί ίοουυ: : Αρχιτεκτονική Ηλ/κου Τµήµατος των Υπολ. Συστηµάτων (Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να αναφέρετε τις τιµές των

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 2 ο Τύποι Δεδοµένων Δήλωση Μεταβλητών Έξοδος Δεδοµένων Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Μνήµη και Μεταβλητές Σχέση Μνήµης Υπολογιστή και Μεταβλητών Η µνήµη (RAM) ενός

Διαβάστε περισσότερα

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage( ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Σκοπός του µαθήµατος Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.1-1.2) Βασικές έννοιες & εργαλεία που χρησιµοποιούνται

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

Διαβάστε περισσότερα

Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι:

Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι: Ο ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗΣ 8086 Με την ανάπτυξη του µικροεπεξεργαστή 8086 της Intel, έχουµε (από το 1978) την εµφάνιση της γενιάς των υπολογιστών των 16-bit. Στις επόµενες παραγράφους θα εξεταστεί η δοµή του,

Διαβάστε περισσότερα

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων

Διαβάστε περισσότερα

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν Επαναληπτικές δοµές Η λογική των επαναληπτικών διαδικασιών εφαρµόζεται όπου µία ακολουθία εντολών εφαρµόζεται σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Όταν ψάχνουµε θέση για να παρκάρουµε κοντά

Διαβάστε περισσότερα

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΡΓΑΣΙΑ 1: Ονοματεπώνυμο: Εξάμηνο: Ανασκόπηση στα ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Α.Μ: Έτος: 1. Το δεκαδικό σύστημα Είναι φανερό ότι οι χιλιάδες, εκατοντάδες, δεκάδες, μονάδες και τα δεκαδικά ψηφία είναι δυνάμεις

Διαβάστε περισσότερα

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών Βοήθημα εκτέλεσης εργαστηριακής άσκησης 3: Εντολές λογικών πράξεων και εντολές κλήσης ρουτινών Άσκηση 1 (σύνοψη της εκφώνησης) [Εκτέλεση λογικών πράξεων]

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 4 - Editor Περιγραφή Υλοποίηση ενός υποτυπώδους editor που θα: Διαβάζει ένα προκαθορισμένο αρχείο Θα το απεικονίζει στην οθόνη Θα κάνει highlight με έναν ελεγχόμενο

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 9 : Ομάδες Εντολών: Ιδιότητες και Λειτουργίες Ευάγγελος Καρβούνης Παρασκευή, 15/01/2016 Τι είναι ομάδα εντολών;

Διαβάστε περισσότερα

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 12

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 12 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 12 17 Οκτωβρίου, 2006 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers)

Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers) Καταχωρητές γενικής χρήσης και δεδοµένων (Data Registers) ΑΧ Εργασίες εισόδου / εξόδου, διορθώσεις δεκαδικών, πολλαπλασιασµοί, διαιρέσεις. BX είκτης για έµµεσο τρόπο προσδιορισµού διευθύνσεων µνήµης (indirect

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 5: Εντολές αλλαγής ροής. Διακλάδωση χωρίς συνθήκη. Διακλάδωση με συνθήκη. Δρ. Μηνάς Δασυγένης

Διαβάστε περισσότερα

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

Διαβάστε περισσότερα

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης ΟΜΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ Ένας υπολογιστής αποτελείται από την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), τη µνήµη, τις µονάδες εισόδου/εξόδου και το σύστηµα διασύνδεσης

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 06 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Εισαγωγή Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τους τρόπους προσπέλασης της µνήµης (µέθοδοι διευθυνσιοδότησης) σε ένα υπολογιστικό σύστηµα. Η Μνήµη 1 Ψηφιακή Λογική 4

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα ιοικητικής Επιστήµης & Τεχνολογίας ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Κεφάλαιο 2 Αριθµητικά Συστήµατα και Αριθµητική Υπολογιστών Γιώργος Γιαγλής Περίληψη Κεφαλαίου

Διαβάστε περισσότερα

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Τάξη: Γ Μάθημα: Πληροφορική Εξεταστέα ύλη: Παρ11.1 & 11.2 Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών που περιγράφει τη διαδικασία

Διαβάστε περισσότερα

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα 2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ 2.1 Αριθμητικά συστήματα Κάθε πραγματικός αριθμός χ μπορεί να παρασταθεί σε ένα αριθμητικό σύστημα με βάση β>1 με μια δυναμοσειρά της μορφής, -οο * = ± Σ ψ β " (2 1) η - ν

Διαβάστε περισσότερα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Εισαγωγή Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών Στον debugger που χρησιμοποιούμε στο εργαστήριο, όταν γράφουμε δεκαεξαδικούς αριθμούς που το πιο σημαντικό ψηφίο τους είναι Α-F βάζουμε μπροστά από

Διαβάστε περισσότερα

ζωγραφίζοντας µε τον υπολογιστή

ζωγραφίζοντας µε τον υπολογιστή ζωγραφίζοντας µε τον υπολογιστή Μια από τις εργασίες που µπορούµε να κάνουµε µε τον υπολογιστή είναι και η ζωγραφική. Για να γίνει όµως αυτό πρέπει ο υπολογιστής να είναι εφοδιασµένος µε το κατάλληλο πρόγραµµα.

Διαβάστε περισσότερα

3.1 εκαδικό και υαδικό

3.1 εκαδικό και υαδικό Εισαγωγή στην επιστήµη των υπολογιστών Υπολογιστές και εδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών 1 3.1 εκαδικό και υαδικό εκαδικό σύστηµα 2 1 εκαδικό και υαδικό υαδικό Σύστηµα 3 3.2 Μετατροπή Για τη µετατροπή

Διαβάστε περισσότερα

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής.

Η δήλωση πού δηµιουργεί αποθήκευση τών δεδοµένων ονοµαζεται ορισµός τής µεταβλητής. Από το βιβλίο C: Βήµα-Πρός-Βήµα, Κεφάλαιο 3ο Συγγραφείς: Οµάδα Waite, Mitchell Waite και Stephen Prata Εκδότης: Μ. Γκιούρδας Ανατύπωση σε ηλεκτρονική µορφή: Αλέξανδρος Στεφανίδης 3.4 Τύποι εδοµένων τής

Διαβάστε περισσότερα

Αριθμητικά Συστήματα Η ανάγκη του ανθρώπου για μετρήσεις οδήγησε αρχικά στην επινόηση των αριθμών Κατόπιν, στην επινόηση συμβόλων για τη παράσταση

Αριθμητικά Συστήματα Η ανάγκη του ανθρώπου για μετρήσεις οδήγησε αρχικά στην επινόηση των αριθμών Κατόπιν, στην επινόηση συμβόλων για τη παράσταση Αριθμητικά Συστήματα Η ανάγκη του ανθρώπου για μετρήσεις οδήγησε αρχικά στην επινόηση των αριθμών Κατόπιν, στην επινόηση συμβόλων για τη παράσταση τους Κατόπιν, στην επινόηση συμβόλων για τη παράσταση

Διαβάστε περισσότερα

5.1 Θεωρητική εισαγωγή

5.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 5 ΚΩ ΙΚΟΠΟΙΗΣΗ BCD Σκοπός: Η κατανόηση της µετατροπής ενός τύπου δυαδικής πληροφορίας σε άλλον (κωδικοποίηση/αποκωδικοποίηση) µε τη µελέτη της κωδικοποίησης BCD

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών

Εισαγωγή στην επιστήμη των υπολογιστών. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών Εισαγωγή στην επιστήμη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ και Μετατροπές Αριθμών 1 Αριθμητικό Σύστημα Ορίζει τον τρόπο αναπαράστασης ενός αριθμού με διακεκριμένα σύμβολα Ένας αριθμός αναπαρίσταται διαφορετικά

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

Διαβάστε περισσότερα

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών

1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί δυαδικοί αριθμοί 4. Αριθμητικές πράξεις δυαδικών αριθμών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΥΑ ΙΚΟΙ ΑΡΙΘΜΟΙ (ΑΚΕΡΑΙΟΙ ΑΡΙΘΜΟΙ) Γ. Τσιατούχας Παράρτηµα A ιάρθρωση 1. Βάσεις αριθμητικών συστημάτων 2. Μετατροπές μεταξύ ξύβάσεων 3. Αρνητικοί

Διαβάστε περισσότερα

char name[5]; /* define a string of characters */

char name[5]; /* define a string of characters */ Συµβολοσειρές (Strings) Συµβολοσειρά (string) είναι µια σειρά αλφαριθµητικών χαρακτήρων (γενικά εκτυπώσιµων συµβόλων ASCII). Όταν λέµε σειρά εννοούµε διαδοχικές θέσεις µνήµης που µπορούν να αντιµετωπισθούν

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

Διαβάστε περισσότερα

2.2.3 Η εντολή Εκτύπωσε

2.2.3 Η εντολή Εκτύπωσε 2.2.3 Η εντολή Εκτύπωσε Η εντολή Εκτύπωσε χρησιµοποιείται προκειµένου να εµφανίσουµε κάτι στην οθόνη του υπολογιστή. Για τον λόγο αυτό ονοµάζεται και εντολή εξόδου. Ισοδύναµα µπορεί να χρησιµοποιηθεί και

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Πέρασμα Παραμέτρων σε Διαδικασίες. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική

Διαβάστε περισσότερα

Οργάνωση Η/Υ. Γλώσσα Assembly. Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Οργάνωση Η/Υ. Γλώσσα Assembly. Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Οργάνωση Η/Υ Γλώσσα Assembly Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Δομή του TRN KME Μνήμη Διάδρομος Δεδομένων Διάδρομος Διευθύνσεων Διάδρομος Ελέγχου Μονάδα

Διαβάστε περισσότερα

επιµέλεια Θοδωρής Πιερράτος

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

Διαβάστε περισσότερα

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους

Διαβάστε περισσότερα

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ΗΜΥ 100 Εισαγωγή στην Τεχνολογία Στέλιος Τιμοθέου ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ ΜΑΣ ΣΗΜΕΡΑ Συστήματα αρίθμησης Δυαδικό αριθμητικό

Διαβάστε περισσότερα

Περιεχόµενα. οµή Η/Υ: Αναπαράσταση εδοµένων. υαδικό σύστηµα. Συστήµατα Αρίθµησης υαδικό Οκταδικό εκαεξαδικό Παραδείγµατα

Περιεχόµενα. οµή Η/Υ: Αναπαράσταση εδοµένων. υαδικό σύστηµα. Συστήµατα Αρίθµησης υαδικό Οκταδικό εκαεξαδικό Παραδείγµατα οµή Η/Υ: Αναπαράσταση εδοµένων Συστήµατα Αρίθµησης υαδικό Οκταδικό εκαεξαδικό Παραδείγµατα Περιεχόµενα Κωδικοποίηση δεδοµένων Κώδικας ASCII Άλλοι κώδικες Παραδείγµατα Συστήµατα Αρίθµησης Τα συνηθέστερα

Διαβάστε περισσότερα

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση Δεδομένων ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση δεδομένων Κατάλληλη συμβολική αναπαράσταση δεδομένων, για απλοποίηση βασικών πράξεων, όπως πρόσθεση Πόσο εύκολο είναι

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (Ι)

Οργάνωση Υπολογιστών (Ι) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα

Διαβάστε περισσότερα

Περιεχόµενα. I Βασικές Γνώσεις 1

Περιεχόµενα. I Βασικές Γνώσεις 1 Περιεχόµενα I Βασικές Γνώσεις 1 1 Μοντελοποίηση Προγραµµάτων 3 1.1 Ψευδογλώσσα....................... 6 1.2 Διαγράµµατα Ροής..................... 6 1.3 Παραδείγµατα σε Ψευδογλώσσα και Διαγράµµατα Ροής.

Διαβάστε περισσότερα

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

Διαβάστε περισσότερα

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα 1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα Δεκαδικοί Αριθµοί Βάση : 10 Ψηφία : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Αριθµοί: Συντελεστές Χ δυνάµεις του 10 7392.25 = 7x10 3 + 3x10 2 + 9x10 1 + 2x10 0 + 2x10-1 + 5x10-2

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου Ασκήσεις Ένα υπολογιστικό σύστημα που χρησιμοποιεί σελιδοποίηση διαθέτει λογικό χώρο διευθύνσεων 12 bit και υποστηρίζεται από 2 πλαίσια φυσικής μνήμης. Την παρούσα στιγμή ο πίνακας σελίδων είναι ο εξής:

Διαβάστε περισσότερα

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

Διαβάστε περισσότερα

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD Σε ορισµένες περιπτώσεις είναι ιδιαίτερα χρήσιµη η δηµιουργία ιστοσελίδων ενηµερωτικού περιεχοµένου οι οποίες στη συνέχεια µπορούν να δηµοσιευθούν σε κάποιο τόπο

Διαβάστε περισσότερα

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ 1. CS1=0100H, CS2=1100H, DS=2100H, SS=3100H. α) Να σχεδιαστεί ο χάρτης μνήμης με λογικές και φυσικές διευθύνσεις. β) Στη διεύθυνση CS1:0100H υπάρχει η εντολή: 9A IP IP CS

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών Εργαστήριο

Αρχιτεκτονική Υπολογιστών Εργαστήριο Αρχιτεκτονική Υπολογιστών Εργαστήριο Ενότητα: ΠΑΡΑΔΕΙΓΜΑ ΑΠΟΣΦΑΛΜΑΤΩΣΗΣ Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 2 Addressing

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 2 Addressing Προηγμένοι Μικροεπεξεργαστές Φροντιστήριο 2 Addressing Roadmap Το μοντέλο μνήμης των x86 Γιατί τόσο περίπλοκο; Δομή Εξέλιξη Μέθοδοι διευθυνσιοδότησης Εντολές προσπέλασης μνήμης Μοντέλο Μνήμης Πριν τους

Διαβάστε περισσότερα

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

Διαβάστε περισσότερα

ΘΕΜΑ : ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ. ΔΙΑΡΚΕΙΑ: 1 περιόδους. 22/1/ :11 Όνομα: Λεκάκης Κωνσταντίνος καθ. Τεχνολογίας

ΘΕΜΑ : ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ. ΔΙΑΡΚΕΙΑ: 1 περιόδους. 22/1/ :11 Όνομα: Λεκάκης Κωνσταντίνος καθ. Τεχνολογίας ΘΕΜΑ : ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΗΣΗΣ ΔΙΑΡΚΕΙΑ: 1 περιόδους 22/1/2010 10:11 καθ. Τεχνολογίας 22/1/2010 10:12 Παραδείγματα Τι ονομάζουμε αριθμητικό σύστημα? Το σύνολο από ψηφία (αριθμοί & χαρακτήρες). Που χρησιμεύουν

Διαβάστε περισσότερα

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL Δυνατότητα ανάπτυξης, μεταγλώττισης και εκτέλεσης προγραμμάτων στη PASCAL. Κατανόηση της σύνταξης των προτάσεων της PASCAL. Κατανόηση της εντολής εξόδου για

Διαβάστε περισσότερα

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 11

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 11 ΗΜΥ Εισαγωγή στην Τεχνολογία ιάλεξη 11 13 Οκτωβρίου, 6 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ ΜΑΣ ΣΗΜΕΡΑ

Διαβάστε περισσότερα