2η έκδοση
Η δεύτερη έκδοση του συγγράμματος περιλαμβάνει νέο υλικό προκειμένου το βιβλίο να καλύπτει ακόμα περισσότερο τους φοιτητές που μελετούν το αντικείμενο των μικροεπεξεργαστών και της αρχιτεκτονικής υπολογιστών, ενώ έχει βελτιστοποιηθεί η δομή του, διευκολύνοντας περισσότερο τη μελέτη των αντίστοιχων ενοτήτων. Λόγω του ήδη μεγάλου όγκου του βιβλίου, οι παρεμβάσεις που έγιναν σε αυτή τη νέα έκδοση ήταν στοχευμένες και βασίστηκαν στο υφιστάμενο υλικό. Πιο συγκεκριμένα, η δεύτερη έκδοση του συγγράμματος περιλαμβάνει επιπλέον:
α) εισαγωγικό υλικό για προγραμματισμό Assembly σε περιβάλλον Linux
β) ανάπτυξη προσομοιωτή με γραφικό περιβάλλον (νέα επιπλέον έκδοση του προσομοιωτή)
γ) κώδικες QR, προκειμένου ο αναγνώστης να έχει άμεση πρόσβαση σε περισσότερα από 1.000 λεπτά βίντεο, που συνοδεύουν επιλεγμένες ενότητες του βιβλίου
δ) ειδικό κεφάλαιο με ιδέες για εργασίες
Επιπρόσθετα, το υλικό από τα παραρτήματα έχει μετακινηθεί στα αντίστοιχα κεφάλαια, προκειμένου η μελέτη κάθε επιλεγμένου αντικειμένου να είναι επικεντρωμένη στην ίδια ενότητα του βιβλίου. Για παράδειγμα, η λίστα με τις εντολές της MIPS Assembly έχει μετακινηθεί στο αντίστοιχο κεφάλαιο με τις εργαστηριακές ασκήσεις, ώστε η εργασία των φοιτητών να είναι πιο αποδοτική, αφού όλες οι απαραίτητες πληροφορίες θα βρίσκονται στην ίδια ενότητα. Με τις νέες προσθήκες εκπαιδευτικού υλικού, καλύπτονται περισσότερες προσεγγίσεις για την ανάπτυξη προγραμμάτων Assembly, αλλά και την ανάπτυξη πρόσθετου λογισμικού μελέτης, όπως ο προσομοιωτής. Ο προγραμματισμός Assembly σε περιβάλλον Linux δίνει νέες δυνατότητες διερεύνησης των αντίστοιχων εργαλείων από το φοιτητή. Από την άλλη μεριά, παρουσιάζεται μια πιο προχωρημένη έκδοση του προσομοιωτή, η οποία διαθέτει πλέον γραφικό περιβάλλον. Στην αντίστοιχη ενότητα, θα βρείτε αναλυτική παρουσίαση του κώδικα σε Visual Basic. Ο νέος προσομοιωτής, μπορεί να αποτελέσει την αφετηρία για εργασίες μαθήματος αλλά και διπλωματικές εργασίες, αφού οι παρεμβάσεις και η ανάπτυξη μπορεί να περιλαμβάνουν την υλοποίηση γνωστών μοντέλων μικροεπεξεργαστών (π.χ. 8088) και μικροελεγκτών (π.χ. ATmega328), γραφική απεικόνιση της εκτέλεσης, επεξεργαστή κειμένου για την είσοδο εντολών, εργαλείο δημιουργίας νέων εντολών Assembly
.
Διάρθρωση περιεχομένου
Mέρος I (κεφάλαια 1 έως 9)
Το πρώτο μέρος παρουσιάζει την οργάνωση και τη λειτουργία του μικροεπεξεργαστή τόσο σε επίπεδο κυκλωμάτων, όσο και σε επίπεδο λειτουργίας. Στο 1ο κεφάλαιο γίνεται μια εκτεταμένη αλλά πολύ απλοποιημένη εισαγωγή στους μικροεπεξεργαστές, ώστε να ενεργοποιηθεί το ενδιαφέρον του αναγνώστη δίνοντας του ταυτόχρονα απλά και κατανοητά πρακτικά παραδείγματα. Το 2ο και 3ο κεφάλαιο είναι αφιερωμένα στα αριθμητικά συστήματα και την αριθμητική που χρησιμοποιείται στον μικροεπεξεργαστή, ώστε να μπορεί ο αναγνώστης να κατανοήσει πλήρως την ανάλυση των δομικών στοιχείων και της λειτουργίας που θα ακολουθήσουν. Τα βασικά ψηφιακά κυκλώματα παρουσιάζονται στο 4οκεφάλαιο, εντελώς απλοποιημένα, ώστε η αντίστοιχη ανάλυση πολυπλοκότερων κυκλωμάτων που θα ακολουθήσει, να είναι απλή για όλους τους αναγνώστες. Στο 5οκεφάλαιο και πριν την ανάλυση μεγαλύτερων κυκλωμάτων που χρησιμοποιούνται στους μικροεπεξεργαστές, παρουσιάζεται γενικά η εσωτερική οργάνωση από πλευράς φιλοσοφίας λειτουργίας. Αφού ο αναγνώστης έχει αποκτήσει μια καλή εικόνα για τον μικροεπεξεργαστή σε επίπεδο λειτουργίας, προχωράμε στην ανάλυση μεγαλύτερων ψηφιακών κυκλωμάτων (6ο κεφάλαιο) που αντιπροσωπεύουν το επίπεδο υλοποίησης των αντίστοιχων λειτουργιών. Έτσι, ολοκληρώνεται η συνολική γενική εικόνα τόσο σε επίπεδο λειτουργίας, όσο και σε επίπεδο υλοποίησης. Το 7ο κεφάλαιο προσεγγίζει τον μικροεπεξεργαστή σε επίπεδο προγραμματισμού επειδή αυτό είναι και το εργαλείο που θα χρησιμοποιήσουμε σε επόμενα κεφάλαια για την αξιοποίηση των δυνατοτήτων που προσφέρει. Το πρώτο μέρος κλείνει με το 8ο και 9ο κεφάλαιο που αναφέρονται σε κυκλώματα και διατάξεις που βρίσκονται εκτός του μικροεπεξεργαστή, που όμως, σε ένα σύγχρονο σύστημα είναι απαραίτητα για την αξιοποίησή του. Είναι σημαντικό να αναφερθεί ότι, η παρουσίαση του πρώτου μέρους είναι γενική και όχι προσαρμοσμένη σε κάποιο συγκεκριμένο μικροεπεξεργαστή, καθώς ο κεντρικός στόχος είναι να διαμορφώσει ο αναγνώστης έναν τρόπο σκέψης που θα του δώσει αργότερα τη δυνατότητα να μελετήσει τον επιθυμητό μικροεπεξεργαστή και να αξιοποιήσει τις αντίστοιχες δυνατότητες.
Μέρος ΙΙ (κεφάλαια 10 έως 17)
Το δεύτερο μέρος, αναφέρεται στον πραγματικό προγραμματισμό σε γλώσσα Assembly των μικροεπεξεργαστών MIPS και INTEL. Ο προγραμματισμός του μικροεπεξεργαστή MIPS, βασίζεται σε περιορισμένο και απλό ρεπερτόριο εντολών, κάνοντάς τον ιδανικό για όσους ξεκινούν για πρώτη φορά. Αυτή η προσέγγιση για την εισαγωγή στον προγραμματισμό Assembly, αποτελεί τη νούμερο ένα επιλογή στα περισσότερα πανεπιστήμια του κόσμου. Στο 10ο κεφάλαιο γίνεται μια εισαγωγή στα χαρακτηριστικά του συγκεκριμένου μικροεπεξεργαστή με ταυτόχρονη παρουσίαση των πρώτων βασικών προγραμμάτων Assembly. Οι βασικές εφαρμογές στο 11ο κεφάλαιο καλύπτουν ένα ευρύ φάσμα απαιτήσεων και προσφέρουν γνώση για την αξιοποίηση της γλώσσας Assembly σε διάφορες εφαρμογές. Η διαχείριση δεδομένων που είναι οργανωμένα σε πίνακες, παρουσιάζεται στο 12ο κεφάλαιο με το οποίο ολοκληρώνονται τα παραδείγματα προγραμματισμού σε MIPS Assembly. Ακολουθούν οι εργαστηριακές ασκήσεις (13ο κεφάλαιο) που φυσικά βασίζονται στα παραδείγματα και το υλικό των προηγούμενων κεφαλαίων. Μετά τον προγραμματισμό του πρώτου μικροεπεξεργαστή, είμαστε έτοιμοι να προχωρήσουμε σε ένα πολυπλοκότερο αλλά και εμπορικό μικροεπεξεργαστή (INTEL) που θα μας δώσει τη δυνατότητα να γνωρίσουμε από κοντά πιο «πραγματικές» εφαρμογές. Στο 14ο κεφάλαιο, παρουσιάζονται ορισμένα από τα βασικά χαρακτηριστικά αυτού του τύπου των μικροεπεξεργαστών όπως, καταχωρητές και εντολές που αφορούν στη διευθυνσιοδότηση, την υλοποίηση βασικών αλγορίθμων, κλπ. Στο 15ο κεφάλαιο παρουσιάζεται ένα μεγάλο πλήθος σημαντικών εφαρμογών ώστε να φανεί τόσο ο τρόπος αξιοποίησης των βασικών συναρτήσεων του συστήματος, όσο και ο τρόπος υλοποίησης αλγορίθμων που περιλαμβάνουν έλεγχο και υπολογισμό. Η αξιοποίηση της μονάδας κινητής υποδιαστολής του μικροεπεξεργαστή μέσω προγραμματισμού Assembly, παρουσιάζεται στο 16ο κεφάλαιο. Αυτή η κατηγορία προγραμματισμού, εμπεριέχεται σε ελάχιστα βιβλία στη διεθνή βιβλιογραφία. Επίσης, στο ίδιο κεφάλαιο γίνεται μια σύντομη εισαγωγή στον προγραμματισμό Assembly για 32 και 64bit, σε περιβάλλον Linux. Στο τέλος του 2ου μέρους, παρουσιάζονται οι εργαστηριακές ασκήσεις που αναφέρονται στον προγραμματισμό INTEL Assembly (17ο κεφάλαιο).
Μέρος IΙΙ (κεφάλαια 18 και 19)
Στο τρίτο μέρος γίνεται η παρουσίαση της ανάπτυξης ενός πρωτότυπου προσομοιωτή σε Java και Visual Basic αντίστοιχα, που επιτρέπει την υλοποίηση ενός υποθετικού μικροεπεξεργαστή με τις αντίστοιχες εντολές Assembly. Η ανάπτυξη μιας τέτοιας εφαρμογής ως βάση, δίνει τη δυνατότητα μελέτης της γλώσσας Assembly από μία διαφορετική οπτική γωνία (θα υλοποιήσουμε τις δικές μας εντολές Assembly). Με τις κατάλληλες παρεμβάσεις, ο προσομοιωτής μπορεί να αποτελέσει ένα πιο προχωρημένο εργαλείο που θα περιλαμβάνει περισσότερες εντολές, γραφικό περιβάλλον, κλπ. Ο τρόπος ανάπτυξης παρουσιάζεται στο 18ο κεφάλαιο. Η χρήση του προσομοιωτή από την πλευρά του χρήστη (προγραμματιστής του υποθετικού μικροεπεξεργαστή) παρουσιάζεται στο 19ο κεφάλαιο.
Μέρος ΙV (κεφάλαια 20 έως 22)
Φυσικά, οι μικροελεγκτές δεν θα μπορούσαν να λείπουν από αυτό το βιβλίο καθώς αντιπροσωπεύουν μια ειδική κατηγορία αυτόνομων ολοκληρωμένων κυκλωμάτων που αποτελούν τον αντίστοιχο «μικροεπεξεργαστή» για προσαρμοσμένες εφαρμογές. Στο 20ο κεφάλαιο γίνεται μια εισαγωγή στα χαρακτηριστικά και τη φιλοσοφία των μικροελεγκτών, ενώ στο 21ο και στο 22ο κεφάλαιο παρουσιάζονται σε γενικές γραμμές οι γνωστότεροι μικροελεγκτές AVR και PIC αντίστοιχα.
Μέρος V (κεφάλαια 23 και 24)
Πηγαίνοντας ένα βήμα πιο πέρα από τους γνωστούς μικροεπεξεργαστές και μικροελεγκτές, φτάνουμε στις επαναπρογραμματιζόμενες ψηφιακές διατάξεις, που δίνουν τη δυνατότητα ανάπτυξης προσαρμοσμένων ψηφιακών κυκλωμάτων. Αυτό «μεταφράζεται» σε ανάπτυξη του δικού μας μικροεπεξεργαστή ή άλλου ψηφιακού κυκλώματος σε επίπεδο υλικού και μάλιστα μέσω προγραμματισμού υψηλού επιπέδου. Το 23ο κεφάλαιο αποτελεί μια εισαγωγή στη δημοφιλή γλώσσα προγραμματισμού VHDL που αποτελεί το πιο σύγχρονο εργαλείο για την περιγραφή ψηφιακών κυκλωμάτων. Το πέμπτο μέρος ολοκληρώνεται με τις αντίστοιχες εργαστηριακές ασκήσεις (24ο κεφάλαιο) που δίνουν τη δυνατότητα για περαιτέρω μελέτη του αντικειμένου.
Μέρος VI (κεφάλαιο 25)
Παρά το γεγονός ότι οι μικροεπεξεργαστές λόγω της πολυπλοκότητάς τους, φαίνονται σαν κάτι μακρινό για τους εκπαιδευόμενους σε πιο πρακτικό επίπεδο, υπάρχει η δυνατότητα μελέτης τους από διάφορες οπτικές γωνίες. Σε αυτό το κεφάλαιο, παρουσιάζονται ορισμένες ιδέες για απλές αλλά και σύνθετες εργασίες με την κατάλληλη τεκμηρίωση, αξιοποιώντας ταυτόχρονα το υλικό αυτού του βιβλίου. Οι εργασίες αυτές μπορούν να αποτελέσουν βασική ιδέα για διπλωματικές εργασίες.
Γιατί να το επιλέξετε
Κατανόηση περιεχομένου
Γραμμένο σε απλή γλώσσα, χωρίς να προϋποθέτει προηγούμενες γνώσεις για την κατανόησή του, ενώ είναι προσιτό για όλους τους φοιτητές.
Αναλυτικά σχήματα
Ιδιαίτερη έμφαση στην οπτική πληροφορία με πλούσια σχήματα, ώστε ο αναγνώστης να κατανοεί σε μεγαλύτερο βαθμό το περιεχόμενο.
Προγραμματισμός MIPS/INTEL (Γλώσσα Assembly)
Καλύπτει τον προγραμματισμό των επικρατέστερων τύπων μικροεπεξεργαστών, οι οποίοι διδάσκονται στα περισσότερα πανεπιστήμια.
Αρχιτεκτονική Μικροεπεξεργαστή (Εσωτερική δομή)
Αναλυτική παρουσίαση της δομής και της λειτουργίας του μικροεπεξεργαστή, με απομυθοποίηση ταυτόχρονα των παραδοσιακά δύσκολων θεμάτων.
Σελίδα εκδότη