LASER ΣΟΛΙΣΤΙΚΗ ΚΙΘΑΡΑ



Σχετικά έγγραφα
ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

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

ΤΕΙ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ : «ΜΕΛΕΤΗ ΚΑΙ ΣΥΓΚΡΙΣΗ ΣΥΓΧΡΟΝΩΝ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΩΝ»

Τεχνολογία ΠΩΣ Η ΕΞΕΛΙΞΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΕΠΗΡΕΑΣΕ ΤΗΝ ΕΞΕΛΙΞΗ ΤΟΥ ΜΟΥΣΙΚΟΥ ΟΡΓΑΝΟΥ ΤΗΣ ΚΙΘΑΡΑΣ. 7ο Λύκειο Καλλιθέας Σκαρλάτος Βασίλης Α4

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

ΨΗΦΙΑΚΗ ΑΡΠΑ ΜΕ ΤΗ Χ ΡΗΣΗ ΑΚΤΙ- ΝΩΝ LASER

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Σημειώσεις Θεωρίας

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Ραπ (Ο στίχος) Μπι-Μπόϊνγκ (O χορός - ευρέως γνωστός ως Μπρέικ Ντανς) Γκραφίτι(Η εικόνα) Djing(Η μουσική)

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Βασικές Έννοιες Πληροφορικής

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

Ιστορία των επεξεργαστών (CPUs)

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

Ενσωµατωµένα Συστήµατα

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

Βασικές Έννοιες της Πληροφορικής

Μάθημα 4.1 Βασικές μονάδες προσωπικού υπολογιστή

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Βασίλειος Κοντογιάννης ΠΕ19

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Εισαγωγή στην Αρχιτεκτονική Η/Υ

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

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

Ηλεκτρονικός Υπολογιστής

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Bread Online. Παναγιώτης Ιωαννίδης Επιβλέπων καθηγητής: Μηνάς Δασυγένης

Λίγα λόγια από το συγγραφέα Εισαγωγή στους υπολογιστές Μονάδες µέτρησης χωρητικότητας Συσκευές εισόδου...

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

Ηλεκτρική κιθάρα. Ηλεκτρική αποκαλείται η κιθάρα που χρησιμοποιεί ηλεκτρομαγνήτες για να μετατρέψει τον ηχητικό παλμό των ατσάλινων χορδών της σε ηλεκ

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Λιβανός Γιώργος Εξάμηνο 2017Β

Εισαγωγή στην πληροφορική

ΠΛΗΡΟΦΟΡΙΚΗ 4 ο Μάθημα. Το Υλικό του Υπολογιστή

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

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

Εφαρμογές μικροελεγκτών

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

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

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

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ.

Μαθαίνοντας το hardware του αναπτυξιακού

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Ψηφιακή Επεξεργασία Σήματος

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος

Διαφορές single-processor αρχιτεκτονικών και SoCs

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

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών

Κεφάλαιο 2.4: Εργασία με εικονίδια

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ

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

Μαλούτα Θεανώ Σελίδα 1

[ΚΑΤΑΓΡΑΦΗ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΛΙΚΟΥ ΚΑΙ ΔΙΑΥΛΩΝ ΕΠΙΚΟΙΝΩΝΙΑΣ]

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΓΧΟΡΔΑ ΜΟΥΣΙΚΑ ΟΡΓΑΝΑ. Εργασία πληροφορικής

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

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

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

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Αποτίμηση ενός υπολογιστή 1

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

ΚΕΦΑΛΑΙΟ 7 ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΜΕΤΑΔΟΣΗ ΨΗΦΙΑΚΩΝ ΔΕΔΟΜΕΝΩΝ

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος

Ανδρέου Ραφαήλ Βασίλης Φωτεινόπουλος Ηλίας Γκόγκας Ίλβι Πέσκου Μπρούνο Ράπη

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

Τεχνολογίες Κύριας Μνήμης

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

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

ΕΝΟΤΗΤΑ ΤΗΛΕΦΩΝΙΑ ΕΙΣΑΓΩΓΗ

ΤΟ ΕΣΩΤΕΡΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας.

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

ΘΕΜΑ : ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ DIGITAL ELECTRONICS

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

Σημειώσεις κεφαλαίου 16 Αρχές επικοινωνίας με ήχο και εικόνα

4 η γενιά ( δεκαετία 70 έως σήμερα) Δομικό Στοιχείο : Ολοκληρωμένο κύκλωμα ή τσιπ μεγάλης κλίμακας ολοκλήρωσης.

Transcript:

Σ ΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ LASER ΣΟΛΙΣΤΙΚΗ ΚΙΘΑΡΑ laser soloist guitar ΣΠΟΥΔΑΣΤΕΣ: ΒΗΤΑ ΒΑΣΙΛΙΚΗ ΧΡΙΣΤΟΠΟΥΛΟΣ ΠΑΝΑΓΙΩΤΗΣ ΕΠΙΒΛΕΠΩΝ: ΚΑΘΗΓΗΤΗΣ Δρ. ΠΟΓΑΡΙΔΗΣ ΔΗΜΗΤΡΙΟΣ ΚΑΒΑΛΑ 2012

Εικόνα 1 Η κιθάρα μας 1

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Περίληψη..Σελ.7 ΚΕΦΑΛΑΙΟ 1 Εισαγωγή..Σελ.9 ΚΕΦΑΛΑΙΟ 2 2. Η κιθάρα...σελ.11 2.1 Η ιστορία της κιθάρας Σελ.12 2.2 Μέρη της κιθάρας...σελ.12 2.2.1 Σώμα κιθάρας Σελ.12 2.2.2 Μπράτσο κιθάρας..σελ.15 2.3 Τρόπος λειτουργίας Σελ.15 2.4 Είδη κιθάρας...σελ.15 2.5 Μικρή αναφορά στα σημαντικότερα είδη κιθάρας...σελ.15 2.5.1 Κλασσική κιθάρα..σελ.17 2.5.2 Ακουστική κιθάρα.σελ.17 2.5.3 Ηλεκτρική κιθάρα.σελ.18 ΚΕΦΑΛΑΙΟ 3 3. Τι είναι ο μικροελεγκτής..σελ.20 3.1 Η ιστορία των μικροεπεξεργαστών...σελ.21 3.1.1 Η εξέλιξη των μικροεπεξεργαστών..σελ.22 3.1.2 Σύνοψη..Σελ.29 3.1.3 Η εξέλιξη των μικροεπεξεργαστών με εικόνες...σελ.31 3.2 Ο AVR Σελ.40 3.2.1 Χαρακτηριστικά του AVR.Σελ.40 3.2.2 Γενική περιγραφή AVR...Σελ.41 3.2.3 Γενική περιγραφή αρχιτεκτονικής του AVR...Σελ.42 3.3 Δομή μονάδας επεξεργασίας AVR...Σελ.43 3.3.1 Αριθμητική λογική μονάδα...σελ.43 3.3.2 Καταχωρητές γενικής χρήσης...σελ.43 3.3.3 Δείκτης στοίβας..σελ.44 3.3.4 Χρόνοι εκτέλεσης των εντολών...σελ.44 3.4 Μνήμη του AVR Σελ.45 3.4.1 Μνήμη προγράμματος FLASH..Σελ.45 3.4.2 Μνήμη δεδομένων SRAM.Σελ.45 3.4.3 Μνήμη ΕEPROM...Σελ.46 3.5 Διακοπές του AVR-RESET...Σελ.46 3.6 Παράλληλες θύρες είσοδος-έξοδος...σελ.47 3.7 Timers Σελ.47 3.8 Συριακή θύρα USART..Σελ.48 3.9 Περιφερειακά Σελ.48 3.9.1 Αναλογικό σήμα σε ψηφιακό...σελ.48 3.9.2 Αναλογικός συγκριτής..σελ.49 2

ΚΕΦΑΛΑΙΟ 4 4.1 Απαιτήσεις συστήματος Σελ.51 4.1.1 Απαιτήσεις Λειτουργικότητας...Σελ.52 4.1.2 Απαιτήσεις ευχρηστίας...σελ.52 4.1.3 Αξιοπιστία...Σελ.52 4.1.4 Απόδοση..Σελ.52 4.2 Κοστολόγιο...Σελ.53 ΚΕΦΑΛΑΙΟ 5 5.1 Προδιαγραφές συστήματος..σελ.55 5.2 Δελτίο προδιαγραφών...σελ.57 5.2.1 Βασικές λειτουργίες Σελ.57 5.2.2 Περιγραφή συστήματος...σελ.57 5.2.3 Τι προσφέρει στην αγορά Σελ.57 5.2.4 Προτεραιότητες...Σελ.58 5.3 Ανάλυση επικινδυνότητας...σελ.58 5.4 Διάγραμμα εκτίμησης κίνδυνου..σελ.58 5.6 Υλοποίηση κατασκευής..σελ.59 ΚΕΦΑΛΑΙΟ 6 6.1 Σχεδίαση συστήματος (διάγραμμα).σελ.61 6.2 Ηλεκτρονικό σχέδιο Σελ.62 6.3 Μηχανολογικό σχέδιο.σελ.65 ΚΕΦΑΛΑΙΟ 7 7.1 Έλεγχος συστήματος...σελ.67 7.1.1 Εισαγωγή στον έλεγχο..σελ.67 7.2 Γενικό σχέδιο ελέγχου...σελ.67 7.2.1 Σκοπός ελέγχου...σελ.67 7.2.2 Περιπτώσεις ελέγχου...σελ.67 7.2.3 Διαδικασίες ελέγχου.σελ.68 7.3 Έλεγχος software..σελ.70 7.3.1 Έλεγχος κλειστό κουτί.σελ.70 7.3.2 Έλεγχος ανοιχτό κουτί...σελ.73 7.4 Έλεγχος hardware...σελ.85 7.4.1 Σκοπός ελέγχου...σελ.85 7.4.2 Μέθοδος..Σελ.85 7.4.3 Έλεγχος ηλεκτρονικών μερών...σελ.85 7.4.4 Έλεγχος μηχανολογικών μερών..σελ.86 7.4.5 Κριτήρια τερματισμού.σελ.86 7.4.6 Έλεγχος στοιχείων...σελ.86 7.4.7 Έλεγχος λειτουργίας...σελ.86 3

Βιβλιογραφία Σελ.86 Ηλεκτρονική βιβλιογραφία...σελ.86 Παράρτημα Α: Κώδικας συστήματος...σελ.87 Παράρτημα Β: Σχέδιο παραγωγής.σελ.98 Παράρτημα Γ: Εγχειρίδιο χρήσης.σελ.98 4

Αφιερωμένο στους Γονείς μας 5

Ευχαριστίες Με την ολοκλήρωση της πτυχιακής μας εργασίας ερχόμαστε 1 βήμα πιο κοντά στην απόκτηση του πολυπόθητου πτυχίου. Είμαστε ιδιαίτερα ευχαριστημένοι από το αποτέλεσμα και γι αυτό θα θέλαμε να ευχαριστήσουμε όλους τους ανθρώπους που συνέβαλλαν στην υλοποίηση της κατασκευής μας. Αρχικά θα θέλαμε να ευχαριστήσουμε για την μέχρι τώρα πορεία μας στον χώρο της εκπαίδευσης τους ανθρώπους που μας έχουν συμπαρασταθεί, όπου ο καθένας με τον δικό του τρόπο συνέβαλλε στην διαμόρφωση του χαρακτήρα μας και της εκπαιδευτικής και επαγγελματικής μας κατάρτισης. Επίσης να ευχαριστήσουμε τους γονείς μας για την αμέριστη συμπαράσταση, ηθική και οικονομική, που μας έχουν δήξει όλο αυτό τον καιρό. Συνέβαλλαν κι αυτοί από την μεριά τους στην πραγματοποίηση των στόχων μας με το να είναι δίπλα μας με τον κάθε δυνατό τρόπο. Ιδιαίτερες ευχαριστίες θα θέλαμε να εκφράσουμε στον επιβλέπων καθηγητή μας Δρ. Πογαρίδη Δημήτριο για την ανάθεση της εργασίας και την εμπιστοσύνη που έδειξε στη ιδέα μας αλλά και την σημαντική βοήθεια και καθοδήγηση που μας παρείχε για την εκπόνηση της πτυχιακής μας εργασίας. Και τέλος θα θέλαμε να ευχαριστήσουμε το διοικητικό και διδακτικό προσωπικό για την προσφορά τους στην αρτιότερη επιστημονική και επαγγελματική μας κατάρτιση κατά την διάρκεια των σπουδών μας, και τις γνώσεις που μας προσέφεραν. 6

ΠΕΡΙΛΗΨΗ Η συγκεκριμένη πτυχιακή εργασία στοχεύει στην δημιουργία μιας σολιστικής κιθάρας όπου τις χορδές θα τις αντικαταστήσουν laser των 20 mw και τα τάστα θα αντικατασταθούν με button. Χειριζόμαστε τον επεξεργαστή ATMEGA 32 και οι εργασίες έχουν γίνει στον αναπτυξιακό STK 500. Οι ήχοι παράγονται μέσω ενός midi expander που συνδέεται μέσω μιας JACK με κατάλληλο τρόπο με τα ηχεία. Η πλακέτα λειτουργεί ως μεταφραστής. Δέχεται ψηφία 0 και 1, τα μεταφράζει σε ψηφιολέξεις και τα στέλνει στο midi expander. Βασικός στόχος μας είναι η κιθάρα είναι αυτόνομη δηλαδή, να μην χρειάζεται κάποιο σύστημα όπως παραδείγματος χάρην έναν ηλεκτρονικό υπολογιστή για να λειτουργήσει. Στις παρακάτω σελίδες περιγράφεται αναλυτικά η διαδικασία δημιουργίας της κιθάρας. 7

Κεφάλαιο 1 8

Εισαγωγή Στόχος της συγκεκριμένης πτυχιακής εργασίας είναι η δημιουργία μιας σολιστικής κιθάρας όπου τις χορδές θα τις αντικαταστήσουν laser των 20 mw και τα τάστα θα αντικατασταθούν με button. Ο μικροεπεξεργαστής που χρησιμοποιήσαμε είναι ο ATMEGA 32L και οι εργασίες μας έχουν γίνει στον αναπτυξιακό STK 500. Όταν διακόψουμε ένα laser ή πατηθεί κάποιο button ταυτόχρονα μέσω των φωτοαντιστάσεων στέλνονται ψηφία 0 και 1 στον μικροεπεξεργαστή που στην ουσία λειτούργει σαν μεταφραστής, ο οποίος με την σειρά του τα μεταφράζει σε ψηφιολέξεις και στα στέλνει στο midi expander μέσω του οποίου παράγονται οι ήχοι. Το midi expander συνδέεται μέσω μιας JACK εξόδου με κατάλληλο τρόπο με τα ηχεία. Η κιθάρα είναι αυτόνομη, δηλαδή δεν χρειάζεται κάποιο εξωτερικό σύστημα για να λειτουργήσει απλά πρέπει να συνδεθεί στο ρεύμα. Το πρώτο κεφάλαιο είναι μια γενική εισαγωγή πάνω στην πτυχιακή εργασία που εκπονήθηκε. Στο δεύτερο κεφάλαιο γίνεται μια γενική αναφορά στην κιθάρα σαν μουσικό όργανο. Το τρίτο κεφάλαιο αναφέρεται στον μικροεπεξεργαστή της Atmel ATMEGA 32L και στους μικροεπεξεργαστές γενικότερα. Το τέταρτο κεφάλαιο περιλαμβάνει τις απαιτήσεις του συστήματος και το κοστολόγιο. Στο πέμπτο κεφάλαιο παρουσιάζονται οι προδιαγραφές του συστήματος και γίνεται ανάλυση επικινδυνότητας. Στο έκτο κεφάλαιο παρουσιάζονται τα σχέδια ηλεκτρονικά, ηλεκτρολογικά και μηχανολογικά. Στο έβδομο κεφάλαιο γίνονται οι έλεγχοι του συστήματος Τέλος υπάρχουν 3 παραρτήματα. Το παράρτημα Α περιλαμβάνει τον κώδικα του συστήματος, το παράρτημα Β το σχέδιο παραγωγής και το Γ ένα εγχειρίδιο χρήσης. 9

Κεφάλαιο 2 10

2. Η Κιθάρα Ο όρος κιθάρα χρησιμοποιείτο στην Ελληνική Αρχαιότητα για να περιγράψει ένα έγχορδο μουσικό όργανο που ανήκε στην οικογένεια της λύρας. Σήμερα η λέξη κιθάρα αναφέρεται στο σύγχρονο μουσικό όργανο "guitar" (ένας όρος που προέρχεται από το Αρχαιοελληνικό όρο κιθάρα). Το άρθρο αυτό αναφέρεται σε αυτή την σύγχρονη χρήση του όρου δηλαδή στο όργανο guitar. Η σύγχρονη κιθάρα είναι ένα έγχορδο νυκτό μουσικό όργανο που ανήκει στην οικογένεια του λαούτου. Στη σύγχρονη εκδοχή της, αποτελείται συνήθως από έξι χορδές, ωστόσο συναντώνται και παραλλαγές με επτά, οκτώ, δέκα, δώδεκα και δεκαοκτώ. Ο όρος κιθάρα περιγράφει εν γένει αρκετά όργανα που εμφανίζουν παραλλαγές ως προς τη μορφολογία τους ή τον τρόπο εκτέλεσής τους. Σύμφωνα με το σύστημα ταξινόμησης Hornbostel-Sachs, ανήκει στα σύνθετα χορδόφωνα. Από το δεύτερο μισό του εικοστού αιώνα, αποτελεί ένα από τα πλέον δημοφιλή μουσικά όργανα, καθώς χρησιμοποιείται σε μια πληθώρα μουσικών ειδών, όπως η τζαζ, μπλουζ, ροκ,heavy metal, ποπ, λαϊκή και παραδοσιακή μουσική, ενώ στη νεότερη ιστορία της χρησιμοποιείται σε ένα αυξανόμενο ρεπερτόριο κλασικής μουσικής. 11

2.1 Η ιστορία της κιθάρας Τα ίχνη της Ιστορίας της Κιθάρας μπορούν να ανιχνευθούν από τον 15ο αιώνα, με την πρώτη «σύγχρονου τύπου» Κιθάρα να συναντιέται στην Ισπανία. Οι πρώτες κιθάρες ήταν πολύ μικρές και αρχικά είχαν τέσσερα ζεύγη χορδών. Η ισπανική κιθάρα (ή Κλασσική κιθάρα) είναι καμπυλωτή στο σώμα και χρησιμοποιεί την κοιλότητα του σώματος για την ενίσχυση του ήχου. Αρχικά, χρησιμοποιούνταν χορδές από έντερα αγελάδας, αργότερα νεύρα διάφορων ζώων, οι οποίες αργότερα αντικαταστάθηκαν από νάιλον και ατσάλινες χορδές που χρησιμοποιούνται και σήμερα. Το 16ο αιώνα οι κιθάρες έγιναν όργανα με πέντε ζεύγη χορδών. 12

Οι συνθέτες για αυτά τα μουσικά όργανα έγραψαν κυρίως σε σημειογραφία ταμπλατούρας. Η Ιταλία ήταν η πρωτεύουσα του κιθαριστικού κόσμου του 17ου αιώνα. Στη Γαλλία η κιθάρα έγινε το όργανο της αριστοκρατίας και των ευγενών. Παρόλα αυτά, η Ισπανική Σχολή της κλασσικής κιθάρας και η κατασκευή της Ισπανικής κιθάρας άρχισε να ακμάζει μόλις μετά το τέλος του 18ου αιώνα. Οι Ιταλοί συνθέτες έγραψαν ένα μεγάλο αριθμό σημαντικών έργων και όπως οι κιθαριστές και οι κατασκευαστές των οργάνων, έτσι και αυτοί ταξίδευαν συχνά. 13

Ο σημαντικότερος παράγοντας στην ανάπτυξη της κλασσικής κιθάρας ήταν η προσθήκη της έκτης χορδής στο μουσικό αυτό όργανο περίπου στα μέσα του 18ου αιώνα. Κατά το 19ο αιώνα, οι αλλαγές στις κοινωνικές συνθήκες και η βελτίωση στα μέσα μετακίνησης και μεταφοράς συντέλεσαν στην ανάπτυξη και στη διάδοση της κιθάρας και ενθάρρυναν τους κιθαριστές να ταξιδεύουν παγκοσμίως. Η μουσική της κλασσικής κιθάρας άνθισε το 19ο αιώνα στην Ισπανία. To 1850-1892 o Α. Τorres έδωσε τη βασική μορφή της κιθάρας, με την οποία την ξέρουμε και σήμερα. Τον 20ο αιώνα η επαναστατική τεχνολογική πρόοδος και η ραγδαία εξέλιξη των Μέσων Μαζικής Επικοινωνίας και πληροφόρησης είναι οι φορείς στους οποίους οφείλεται η δημοσιότητα και η αναγνώριση που έχει λάβει η Κλασσική Κιθάρα. Η εξάχορδη κιθάρα έκανε την εμφάνισή της στα μέσα του 18ου αιώνα και είχε έξι μονές χορδές αντί για ζεύγη χορδών, σε αντίθεση με τους προκάτοχούς της (τετράχορδα και πεντάχορδα μουσικά όργανα). Στην Ιστορία της κιθάρας δεν υπάρχει ακριβής ημερομηνιακή καταγραφή του γεγονότος εμφάνισης της κιθάρας, ωστόσο ήταν μία από τις σημαντικότερες εξελίξεις. Το 1850-1892 ο κατασκευαστής κιθάρων Manual Torres ανέπτυξε το μουσικό όργανο στη μορφή που το γνωρίζουμε σήμερα, με μεγαλύτερο και πιο ηχηρό σώμα (ηχείο). Κατά το 19ο αιώνα η κιθάρα, όπως την συναντάμε σήμερα, αναπτύχθηκε και βελτιώθηκε στο σχήμα και στα μηχανικά κλειδιά. Επίσης, εμφανίστηκαν και άλλες ποικιλίες όπως η δωδεκάχορδη κιθάρα, η χαβανέζικη κιθάρα, ακουστική κιθάρα. 14

2.2 Μέρη της κιθάρας Η κιθάρα αποτελείται από δύο κύρια μέρη: το σώμα και το μπράτσο. 2.2.1 Σώμα κιθάρας Το σώμα είναι το πλατύ μέρος της κιθάρας. Ο βασικός ρόλος του είναι να αποτελέσει το σημείο στο οποίο κομπλάρουν οι χορδές για να στηριχτούν σωστά, και περιλαμβάνει τη γέφυρα (ή αλλιώς καβαλάρη) που τεντώνει τις χορδές πάνω από την υπόλοιπη κιθάρα. Χρησιμεύει επίσης και σαν σημείο στήριξης του χεριού που χτυπάει τις χορδές. Στην κλασική και ακουστική κιθάρα είναι κοίλο και χρησιμεύει σαν αντηχείο που ενισχύει τον ήχο της κιθάρας με φυσικό τρόπο, ενώ το ξύλο, το σχέδιο και η ποιότητα κατασκευής του παίζουν αποφασιστικό ρόλο στον τελικό ήχο που θα βγάλει το όργανο. Στην ηλεκτρική κιθάρα είναι συνήθως συμπαγές, και χρησιμοποιείται για να στεγάσει τους μαγνήτες, τα ποτενσιόμετρα που ρυθμίζουν ένταση και τόνο, καθώς και τυχόν ηλεκτρονικά που μπορεί να υπάρχουν. Και εδώ όμως το υλικό και η ποιότητα κατασκευής παίζουν ρόλο, γιατί επηρεάζουν τον τρόπο που δονείται ολόκληρο το όργανο παράγοντας ήχους. 2.2.2 Μπράτσο κιθάρας Το μπράτσο της κιθάρας είναι το μακρόστενο μέρος της, και περιλαμβάνει την ταστιέρα, τον ζυγό και τα κλειδιά. Στις κλασικές κιθάρες είναι ενσωματωμένο με την υπόλοιπη κατασκευή, ενώ στους άλλους τύπους (κυρίως στις ηλεκτρικές) μπορεί να είναι και αποσπώμενο. Το μπράτσο χρησιμεύει για να μπορεί ο κιθαρίστας να μεταβάλλει τον ήχο που βγάζει το όργανο, πατώντας τις χορδές σε διαφορετικά τάστα. Ο ζυγός αποτελεί το απέναντι από τον καβαλάρη σημείο τεντώματος των χορδών, ενώ τα κλειδιά είναι τα σημεία όπου καταλήγουν οι χορδές και διαθέτουν κοχλία που επιτρέπει το μεγαλύτερο ή μικρότερο τέντωμά τους, για σωστό κούρδισμα. Το πίσω μέρος του μπράτσου είναι καμπυλωτό, για να διευκολύνεται το πιάσιμο και η στήριξη του χεριού που πατάει τις χορδές. Στις ηλεκτρικές κιθάρες, αυτή η καμπυλότητα είναι μικρότερη απ' ότι στις υπόλοιπες. Το ξύλο από το οποίο είναι φτιαγμένο το μπράτσο είναι, όπως και το σώμα, καίριας σημασίας. Για την ταστιέρα επιλέγεται συνήθως έβενος ήτριανταφυλλιά, που δίνουν καλύτερη αίσθηση στο παίξιμο και αντέχουν στις φθορές. Για το πίσω μέρος χρησιμοποιούνται ξύλα που διακρίνονται για την αντοχή τους, καθώς λόγω της τάσης των χορδών δεν είναι δύσκολο να παρουσιαστεί σκέβρωμα (καμπύλωση) στο μπράτσο, πράγμα που καταστρέφει τον ήχο μιας κιθάρας και δυσκολεύει το παίξιμο. Πολλές ακουστικές και ηλεκτρικές κιθάρες έχουν μέσα στο μπράτσο ενσωματωμένη μια σιδερένια ράβδο, η καμπυλότητα της οποίας (και επομένως και του μπράτσου) μπορεί να ρυθμιστεί με κλειδί, επαναφέροντας τυχόν σκέβρωμα του μπράτσου. 15

1. Κεφαλή 2. Nut 3. Κλειδιά 4. Τάστο 5. Truss rod 6. Ενδείξεις ταστιέρας 7. Λαιμός 8. Heel (acoustic) Neckjoint (electric) 9. Σκάφος 10. Μαγνήτες 11. Ρυθμιστές 12. Γέφυρα 13. Pickguard 14. Πλάτη 15. Σώμα κιθάρας 16. Πλαϊνες όψεις 17. Ηχείο 18. Χορδές 19. Καβαλάρης 20. Ταστιέρα 16

2.3 Τρόπος λειτουργίας Οι Χορδές περνάνε πάνω από την ταστιέρα, όπου ο κιθαρίστας τις πιέζει σε διάφορα σημεία (τάστα) με τα δάκτυλα του ενός χεριού εκτός απ' τον αντίχειρα, αυξομειώνοντας το μήκος τους ώστε να αλλάζει ανάλογα την συχνότητα που θα πάλλονται. Το άλλο χέρι του κιθαρίστα κάνει τις χορδές να πάλλονται, είτε «τραβώντας» τες με τα νύχια των δακτύλων, πάλι εκτός του αντίχειρα, είτε χτυπώντας τες με μια πένα. Τα ηχητικά κύματα που παράγονται σπάνια έχουν μεγάλη ένταση, οπότε είναι αναγκαία η ενίσχυσή τους, είτε με φυσικό τρόπο στην περίπτωση των ακουστικών, όπου χρησιμοποιείται ένα αντηχείο για σώμα στην κιθάρα, είτε με ηλεκτρονικό τρόπο στις ηλεκτρικές κιθάρες όπου χρησιμοποιείται ένας ενισχυτής. Ο ενισχυτής λαμβάνει το ηλεκτρικό σήμα που παράγεται καθώς οι χορδές πάλλονται πάνω από τους μαγνήτες της κιθάρας και το ενισχύει αναλογικά ή ψηφιακά. 2.4 Είδη κιθάρας Κλασσική κιθάρα Ακουστική κιθάρα Ηλεκτρική κιθάρα Λαϊκή κιθάρα Κιθάρα του Flamenco Ηλεκτρακουστική κιθάρα Ηλεκτροκλασσική κιθάρα Δωδεκάχορδη κιθάρα Άταστη κιθάρα Μπασοκίθαρο Τρες Κουάτρο Πορτογαλική κιθάρα των Φάντος Γιουκαλίλι Pedal steel guitar Ρωσική Κιθάρα 2.5 Μικρή αναφορά στα σημαντικότερα είδη κιθάρας 2.5.1 Κλασσική κιθάρα Η κλασική κιθάρα είναι μια κιθάρα με έξι χορδές. Ανήκει ως είδος στα άφωνα και με αυτήν παίζεται κυρίως κλασική μουσική, αν και χρησιμοποιείται ευρέως και σε άλλου τύπου ρεπερτόριο. Στην κλασική κιθάρα χρησιμοποιούνται ως πλήκτρα τα δάκτυλα και όχι η πένα. Η διαφορά από την ακουστική κιθάρα σε ζητήματα τεχνικής κατασκευής και ήχου είναι πολύ μεγάλη, παρ' όλο που η εξωτερική εμφάνιση ενίοτε ξεγελά, ιδιαίτερα στις κιθάρες φλαμένκο. Το μέγεθος κάποιας κλασικής κιθάρας μπορεί να είναι συνήθως 3/4 ή 4/4. 17

2.5.2 Ακουστική κιθάρα Ακουστική κιθάρα λέγεται η κιθάρα η οποία για την παραγωγή ήχου χρησιμοποιεί μόνον ακουστικές μεθόδους, εν αντιθέσει με την ηλεκτρική κιθάρα, της οποίας ο ήχος παράγεται μέσω ηλεκτρονικής ενίσχυσης. Υπάρχει μεγάλη ποικιλία ακουστικών κιθάρων και υποκατηγορίες, κυρίως ανάλογα των χορδών (νάιλον ή μεταλλικών). Ως είδος προήλθε από την κλασική κιθάρα. Με αυτήν παίζεται κυρίως σύγχρονη μουσική (ποπ,ροκ -διάφορα είδηκ.λπ.). Βρίσκεται συνήθως σε μέγεθος 4/4(τέσσερα τέταρτα). Τώρα πια υπάρχει σε διάφορα χρώματα. Ως πλήκτρα μπορούν να χρησιμοποιηθούν πολλών ειδών πένες ή τα δάκτυλα, εφ' όσον οι χορδές είναι αρκετά μαλακές. 2.5.3 Ηλεκτρική κιθάρα Ηλεκτρική αποκαλείται η κιθάρα που χρησιμοποιεί ηλεκτρομαγνήτες για να μετατρέψει τον ηχητικό παλμό των ατσάλινων χορδών της σε ηλεκτρικό ρεύμα το οποίο μπορεί έπειτα να ενισχυθεί από ένα σύστημα ενισχυτή-ηχείου. Το σήμα που προέρχεται από την κιθάρα μπορεί κάποιες φορές να διαφοροποιηθεί με εφέ όπως το reverb ή να παραμορφωθεί. Ενώ οι περισσότεροι τύποι ηλεκτρικής κιθάρας φέρουν έξι χορδές, απαντώνται και επτάχορδες οι οποίες χρησιμοποιούνται από κάποιους μουσικούς της τζαζ και της μέταλ μουσικής, ειδικά του είδους νιου μέταλ (Nu Metal). καθώς και δωδεκάχορδες (με έξι ζεύγη χορδών οι οποίες απέχουν διάστημα μιας οκτάβας τις οποίες συναντάμε κυρίως σε μουσικά είδη όπως το τζανγκλ ποπ και το ροκ. Η ηλεκτρική κιθάρα χρησιμοποιήθηκε αρχικά από big band μουσικούς της τζαζ ως ένα κούφιο όργανο, ηλεκτρικώς ενισχυμένο για μεγαλύτερη ένταση κατά την περίοδο της άνθησης του σουίνγκ. Οι πρώτες ηλεκτρικές κιθάρες διέθεταν κούφιο σώμα, ατσάλινες χορδές και ηλεκτρομαγνήτες με σπείρες από βολφράμιο που κατασκεύαζε η εταιρία Rickenbacker το 1931. Παρόλο που μερικές από τις πρώτες κατασκευάστηκαν από τον Les Paul, ο πρώτος επιτυχημένος εμπορικά τύπος ηλεκτρικής κιθάρας με κούφιο σώμα ήταν η Fender Esquire το 1950. Η ηλεκτρική κιθάρα ήταν ένα όργανο-κλειδί για την ανάπτυξη πολλών μουσικών ειδών που εμφανίστηκαν από τα τέλη του 1940 και μετά όπως το Σικάγο Μπλουζ, το πρώιμο Ροκ εντ Ρολ και το Ροκαμπίλι καθώς και το Μπλουζ Ροκ του 1960. Έχει επίσης χρησιμοποιηθεί σε διάφορα άλλα είδη μουσικής όπως η κάντρι, ηάμπιεντ, η Νιού Έιτζ, καθώς και σε κάποια είδη σύγχρονης ορχηστρικής μουσικής. 18

Κεφάλαιο 3 19

3. Τι είναι ο μικροελεγκτής. Ένας μικροελεγκτής είναι ένα υπολογιστής σε ένα - chip που βελτιστοποιείται για να ελέγξει τις συσκευές. Είναι ένας τύπος μικροεπεξεργαστή που υποστηρίζει την αυτάρκεια και την οικονομική αποτελεσματικότητα, σε αντίθεση με έναν γενικής χρήσης μικροεπεξεργαστή, το είδος που χρησιμοποιείται σε ένα PC. Ένας χαρακτηριστικός μικροελεγκτής περιέχει όλη τη μνήμη και τις I/O γραμμές που απαιτούνται, ενώ ένας μικροεπεξεργαστής γενικού σκοπού απαιτεί πρόσθετα τσιπ για να παρέχει αυτές τις απαραίτητες λειτουργίες. Οι μικροελεγκτές είναι κύριο συστατικό σε πολλά είδη ηλεκτρονικού εξοπλισμού. Είναι η μεγάλη πλειοψηφία όλων των τσιπ επεξεργαστών που πωλούνται. Πάνω από 50% είναι "απλοί" ελεγκτές, και άλλα 20% είναι πιο ειδικευμένοι επεξεργαστές ψηφιακών σημάτων (DSPs). Ένα χαρακτηριστικό σπίτι στο δυτικό κόσμο είναι πιθανό να έχει μόνο έναν ή δύο γενικής χρήσης μικροεπεξεργαστές αλλά κάπου μεταξύ μίας και δύο δωδεκάδων μικροελεγκτών. Μπορούν να βρεθούν σχεδόν σε οποιουσδήποτε τύπου ηλεκτρικής συσκευής, πλυντήρια ρούχων, φούρνους μικροκυμάτων, τηλέφωνα κ.λπ. Οι περισσότεροι μικροελεγκτές είναι σήμερα βασισμένοι στην αρχιτεκτονική Von Neumann, η οποία καθόρισε σαφώς τα τέσσερα βασικά συστατικά που απαιτoύνται για ένα ενσωματωμένο σύστημα. Αυτά περιλαμβάνουν έναν πυρήνα CPU, τη μνήμη για το πρόγραμμα (μνήμη ROM ή FLASH), τη μνήμη για τις μεταβλητές (RAM), έναν ή περισσότερους timers (αυτόνομοι και watchdog), καθώς επίσης και τις I/O γραμμές για να επικοινωνήσουν με τις εξωτερικές περιφερειακές μονάδες και τους συμπληρωματικούς πόρους - όλο αυτό σε ένα ενιαίο ολοκληρωμένο κύκλωμα. Ένας μικροελεγκτής διαφέρει από ένα γενικής χρήσης τσιπ CPU επειδή το δεύτερο είναι γενικά αρκετά εύκολο να σταθεί σε έναν λειτουργών υπολογιστή, με το ελάχιστο των εξωτερικών τσιπ υποστήριξης. Η ιδέα είναι ότι ο μικροελεγκτής θα τοποθετηθεί στη συσκευή για έλεγχο, συνδέεται στην τροφοδοσία και σε οποιεσδήποτε πληροφορίες χρειάζεται, και αυτό είναι όλο. Ένας παραδοσιακός μικροεπεξεργαστής δεν θα σας επιτρέψει να κάνετε αυτό. Απαιτεί όλους αυτούς τους στόχους να αντιμετωπιστούν από άλλα τσιπ. Παραδείγματος χάριν, κάποιος αριθμός τσιπ μνήμης RAM πρέπει να προστεθεί. Το παρεχόμενο ποσό μνήμης έχει ανοχές στην παραδοσιακή προσέγγιση, αλλά τουλάχιστον μερικά εξωτερικά τσιπ μνήμης πρέπει να προστεθούν, και πρόσθετα απαιτούν ότι πολλές συνδέσεις πρέπει να γίνουν για να περάσουν τα δεδομένα από και προς αυτά. Παραδείγματος χάριν, ένας χαρακτηριστικός μικροελεγκτής θα έχει χτισμένη στη γεννήτρια ρολογιών και ένα μικρό ποσό RAM ή ROM (ή EPROM ή EEPROM), που σημαίνει ότι για να τεθεί σε λειτουργία, όλα και όλα που απαιτούνται είναι κάποιο λογισμικό ελέγχου και ένα κρύσταλλο. Οι μικροελεγκτές επίσης συνήθως θα έχουν ποικίλες συσκευές εισόδου / εξόδου, όπως οι αναλογικό σε ψηφιακό μετατροπείς, τα χρονόμετρα, οι UARTs ή ειδικευμένα σειριακά interface επικοινωνιών όπως το I²C, το SPI και το Controller Area Network (CAN). Συχνά αυτές οι ενσωματωμένες συσκευές μπορούν να ελεγχθούν από εξειδικευμένες οδηγίες επεξεργαστών. Μερικοί σύγχρονοι μικροελεγκτές περιλαμβάνουν μια ενσωματωμένη υψηλού επιπέδου γλώσσα προγραμματισμού με την BASIC είναι αρκετά κοινή σε αυτό. Οι μικροελεγκτές εμπορεύονται ταχύτητα και ευελιξία στον σχεδιασμό εξοπλισμού με το χαμηλότερο κόστος. Τέλος, πρέπει να αναφερθεί ότι μερικές αρχιτεκτονικές μικροελεγκτών είναι διαθέσιμες από πολλούς διαφορετικούς προμηθευτές σε τόσες πολλές ποικιλίες και θα μπορούσαν εύκολα να ανήκουν σε μια δική τους κατηγορία. Αρχηγός μεταξύ αυτών είναι ο 8051 και τα παράγωγα του Ζ80. 20

3.1 Η ιστορία των μικροεπεξεργαστών Η επιθυμία των κατασκευαστών συστημάτων να δημιουργήσουν συστήματα με περισσότερες δυνατότητες και με μικρότερο μέγεθος οδήγησε στην ανάγκη για ενσωμάτωση όλων των λειτουργιών ενός υπολογιστή σε ένα ή μερικά ολοκληρωμένα κυκλώματα. Η ανάπτυξη της τεχνολογίας που χρησιμοποιήθηκε για την κατασκευή των κυκλωμάτων αυτών, είχε ως αποτέλεσμα την ανάπτυξη του μικροεπεξεργαστή. Ο μικροεπεξεργαστής, είναι ένα ολοκληρωμένο κύκλωμα (IC) γενικού σκοπού, το οποίο μπορεί να προγραμματιστεί. Η επεξεργασία των δεδομένων γίνεται με μια σειρά από εντολές. Οι εντολές που εκτελούνται από τον μικροεπεξεργαστή είναι εντολές σε γλώσσα μηχανής και είναι αποθηκευμένες στην κύρια μνήμη. Μια εντολή σε γλώσσα μηχανής είναι μια σειρά από δυαδικά ψηφία, όπου είναι κωδικοποιημένο το είδος της εντολής. Το σύνολο αυτών των εντολών χρησιμεύει ως μια διασύνδεση ανάμεσα στο λογισμικό (software) και το υλικό (hardware), δηλαδή ανάμεσα στα προγράμματα και στους επεξεργαστές. Η λειτουργικότητα ενός μικροεπεξεργαστή εξαρτάται πλήρως από το σύνολο εντολών που είναι ικανός να εκτελέσει. Ο μικροεπεξεργαστής είναι υπεύθυνος για όλη τη λειτουργία του υπολογιστή. Αποτελείται εσωτερικά από ένα μεγάλο πλήθος τρανζίστορ (transistor), δηλαδή ηλεκτρονικούς διακόπτες που επιτρέπουν ή απαγορεύουν τη διέλευση ρεύματος, καταχωρητές (registers) και αντιστάτες. Επίσης υπάρχουν εξαρτήματα που εκτελούν συγκεκριμένες εργασίες και τα σημαντικότερα των οποίων είναι: Το εσωτερικό ρολόϊ, που είναι υπεύθυνο για το συντονισμό των υπόλοιπων εξαρτημάτων στέλνοντας περιοδικά σήματα. Η αριθμητική και λογική μονάδα, που εκτελεί τις αριθμητικές και λογικές πράξεις. Η μονάδα ελέγχου που διευθύνει και συντονίζει την επεξεργασία. Η εξέλιξη των μικροεπεξεργαστών Ο τρόπος κατασκευής των Κεντρικών Μονάδων Επεξεργασίας (CPU) άλλαξε σημαντικά στις αρχές της δεκαετίας του 70, όταν κατασκευάστηκαν οι πρώτοι επεξεργαστές από ένα μόνο ολοκληρωμένο κύκλωμα μεγάλης ολοκλήρωσης. Επειδή μειώθηκε το μέγεθός τους, οι νέοι επεξεργαστές ονομάστηκαν μιρκοεπεξεργαστές. Σχήμα 3.1Εσωτερική δομή ενός μικροεπεξεργαστή 21

3.1.1 Η εξέλιξη των μικροεπεξεργαστών Ο τρόπος κατασκευής των κεντρικών μονάδων επεξεργασίας άλλαξε σημαντικά στις αρχές της δεκαετίας του 70, όταν κατασκευάστηκαν οι πρώτοι επεξεργαστές από ένα μόνο ολοκληρωμένο κύκλωμα μεγάλης ολοκλήρωσης. Επειδή μειώθηκε το μέγεθός τους, οι καινούριοι επεξεργαστές ονομάστηκαν μικροεπεξεργαστές. Μέχρι τότε οι επεξεργαστές (ή πιο σωστά πλακέτες επεξεργασίας) αποτελούνταν από δεκάδες πύλες και περίπλοκα κυκλώματα τα οποία με την παρατεταμένη χρήση εξέπεμπαν θερμότητα και έπιαναν πολύ χώρο. Ο intel 4004 ήταν ο πρώτος μικροεπεξεργαστής. Δημιουργήθηκε από τον Ted Hoff και το συνεργάτη του Stan Mazor και παρουσιάστηκε το 1971. Ο intel 4004 ήταν ενας 4bit επεξεργαστής ( ο επεξεργαστής λαμβάνει 4bit από την μνήμη κάθε φορά με σκοπό να επεξεργαστεί) που αποτελούταν περίπου από 2300 τρανζίστορς με συχνότητα ρολογιού 108 khz.επιπλέον εκτελούσε 60000 πράξεις το δευτερόλεπτο και μπορούσε να δει 640 bytes μνήμης. Η αρχιξή του εφαρμογή ήταν η δημιουργία αριθμομηχανών. Τα ο Νοέμβριο του 1971 η intel ανακοίνωσε το πρώτο μικρουπολογιστή, το σύστημα MCS-4 για το οποίο χρησιμοποιήθηκε ο 4004, το 4001 ROM chip, τo 4002 RAM chip και το 4003 shift register chip για σειριακή επικοινωνία.ο 4004 ήταν πού περιορισμένων δυνατοτήτων, παρόλο που για την εποχή του ήταν ένα τεχνολογικό αποκορύφωμα.ταυτόχρονα σχεδόν αναπτύχθηκαν άλλοι δυο 4 bit επεξεργαστές, ο TMS 100 της Texas Instruments και ο επεξεργαστής MP944 που χρησιμοποιήθηκε από το αμερικάνικο ναυτικό για τα πολεμικά αεροπλάνα. Εικόνα 3.1 O intel 4004 Η έλευση του 4bit μικροεπεξεργαστή οδήγησε γρήγορα στην παρουσίαση του 8bit μικροεπεξεργαστή ο οποίος μας εισήγαγε σρην εποχή του προσωπικού υπολογιστή. Το 1971 ο Federico Faggin ξεκίνησε δουλειά πάνω σε έναν 8bit επεξεργαστή, τον intel 8008, τον πρώτο εμπορικό 8bit μικροεπεξεργαστή, μέλος της οικογένειας MC8.Το πρωτότυπο είχε μεγάλα προβλήματα με διαρροές ηλεκτρικού φορτίου από τις συσκευές μνήμης. Ο 8008 ανασχεδιάστηκε πλήρως και κυκλοφόρησε.η συχνότητα ρολογιού ήταν στα 200 KHz ενώ το chip χρησιμοποιούσε 3500 κρυσταλλολυχνίες. Αμέσως ξλεσπασε μεγάλο ενδιαφέρον για την ανάπτυξη μικροεπεξεργαστών, με αποτέλεσμα να αυξηθούν οι απαιτήσεις στην ταχύτητα, επικοινωνία με το περιβάλλον και πιο πολλές εντολές και εισόδους δεδομένων. Ο 8008 μπορεί να δει 16 kbytes μνήμης. Το 1973 εισάγεται ο Micral ο οποίος είναι ο πιο σύγχρονος υπολογιστής που τροφοδοτείται από έναν μικροεπεξεργαστή intel 8008. Έναν χρόνο αργότερα η Scelbi διαφημίζει τον 8H υπολογιστή, ο πρώτος παναμερικανικός διαφημιζόμενος υπολογιστής βασισμένος στον μικροεπεξεργαστή της intel 8008. 22

Εικόνα 3.2 O Intel 8008 Τον Απρίλιο του 1974, η intel παρουσιάζει τον 8080, έναν 8bit μικροεπεξεργαστή συμβατό εν μέρει με τον 8008. Ο 8080 έτρεχε στα 2 MHz, μπορούσε να δει 64 kbytes μνήμης και περιείχε 6000 τρανζιστορ. Την ίδια χρονιά ο Gary Kildall της εταιρίας Microcomputer Applications Associates υλοποιεί το λειτουργικό σύστημα CP/M για intel 8080 me 256 bytes RAM. To Altair είχε αρκετά πλεονεκτήματα όπως τον γρήγορο μικροεπεξεργαστή 8080 και την αρχιτεκτονική του open bus. Μια από τις ατέλειες του ήταν ότι τα πάντα έπρεπε να γίνουν μετακινώντας ατελείωτους διακόπτες και εκχωρώντας τιμές στις θέσεις μνήμης για να τρέξει ένα πρόγραμμα. Ο υπολογιστής αυτός σε συνδυασμό με την ταυτόχρονη ανάπτυξη της γλώσσας Microsoft Basic από τον Bill Gates και τον Paul Gates για τους μικροεπεξεργαστές της intel θεωρείται από πολλούς σαν η ανάφλεξη της έκρηκης των προσωπικών υπολογιστών. Άλλος 8bit μικροεπεξeργαστής της intel είναι o 8085 που αποκαλύφθηκε το 1978 κι ήταν πρόγονος του 16bit 8086. Τον Αύγουστο του 1974 η MOTOROLA παρουσιάζει τον 6800 έναν πρώιμο 8bit μικροεπεξεργαστή που χρησιμοποιήθηκε σε υπολογιστές, σε όλα τα ηλεκτρονικά pinball παιχνίδια, καθώς και σε βιομηχανικές συσκευές ελέγχου. Είχε 4000 τρανζίστορ, 78 εντολές, σήμα χρονισμού στα 1 ή 2 MHz με 16bit πλάτος διαύλου διευθύνσεων. Ο Μ6800 ήταν ένας από τους πρώτους μικροεπεξεργαστές με καταχωρητή δείκτη (index register). Παρόλα τα προβλήματα με την παραγωγή το 6800 ήταν καλοσχεδιασμένο. Έτσι η εταιρία MITS ξεκίνησε την σχεδίαση ενός alter βασισμένο στο MOTOROLA 6800 και λίγο αργότερα παρουσιάστηκε ο υπολογιστής Sphere I με επεξεργαστή τον MOTOROLA 6800, 4 Kbytes RAM πρόγραμμα ROM MONITOR, πληκτρολόγιο και διασύνδεση βίντεο. Το 1978 η MOTOROLA ανέτρεψε ολόκληρο τον 8bit κόσμο με την εισαγωγή του 6809, ένα από τα πιο ισχυρά σχέδια μικροεπεξεργαστή και επίσης έναν από τον πιο σύνθετα σχέδια που έγιναν ποτέ στην παραγωγή οποιουδήποτε μικροεπεξεργαστή. Το σήμα χρονισμού αρχικά ήταν στο 1 MHz,στο 1.5 MHz(68A09) και στα δυο MHz(68B09). Το 1975 βγήκε στην αγορά ο μικροεπεξεργαστής MOS TECHNOLOGY ο οποίος ήταν ένα αντίγραφο της 6800 της MOTOROLA, αλλά αρκετά αλλαγμένος ώστε να μην υπάρχουν νομικά προβλήματα. Στο σύνολο εντολών οι δυο επεξεργαστές είχαν ομοιότητες αλλά αντί για 16bit καταχωρητή ο 6502 χρησιμοποιούσε δυο 8bit καταχωρητές. Ο 6502 γνώρισε μεγάλη επιτυχία γεγονός που οφείλεται στην απλότητά του αλλά κυρίως στην υψηλή αποδοτικότητά του και στην χαμηλή του τιμή. Είχε 5000 τρανζίστορ, 56 εντολές, σήμα χρονισμού αρχικά 20 KHz μέχρι MHz με 16bit πλάτος διαύλου διευθύνσεων. Το 1975 ο Federico Faggin ιδρύει την εταιρία ZILOG. Ένα χρόνο μετά την ίδρυσή της η ZILOG φτάνει τον Ζ80, έναν 8bit μικροεπεξεργαστή βασισμένο στον 8080 του οποίου η γλώσσα μηχανής είναι υπερσύνολο αυτής του intel 8080. Είχε σήμα χρονισμού στα 3.5 MHz με 16bit πλάτος διαύλου διευθύνσεων, ενώ μπορούσε να δει 64Kbytes μνήμης. Ο Ζ80 είχε μεγάλα δημοτικότητα κατά την διάρκεια της δεκαετίας του 80 καθώς επικεντρώθηκε στο 23

χαμηλό κόστος σε συνδυασμό με την μικρή συσκευασία, τις απλές απαιτήσεις των διαδρόμων των υπολογιστών και το συνυπολογισμό των στοιχείων κυκλώματος που θα έπρεπε κανονικά να παρασχεθούν σε ένα χωριστό τσιπ. Ο μικροεπεξεργαστής RCA(CDP)1802 της RCA χρησιμοποιήθηκε για την κατασκευή των δορυφόρων voyager, Viking και του διαστημόπλοιου γαλιλαίος. Ο CDP1802 είχε πολύ μικρή κατανάλωση ενώ η αρχιτεκτονική του ήταν διαφορετική από αυτή των κοινών 8bit μικροεπεξεργαστών. Ο 1802 υποστηρίζεται ότι είναι ο πρώτος ανθεκτικός σε ακτινοβολία μικροεπεξεργαστής, επειδή η διαδικασία παραγωγής του εξασφάλισε πολύ καλύτερη προστασία ενάντια στην κοσμική ακτινοβολία και τις ηλεκτροστατικές αποφορτίσεις από αυτή οποιουδήποτε άλλου επεξεργαστή της εποχής. Ο πρώτος 16bit μικροεπεξεργαστής Multi-chip ήταν ο IMP 16 της National που εισήχθει στις αρχές του 1973.Δύο χρόνια αργότερα η National εισήγαγε το πρώτο 16bit single chip μικροεπεξεργαστή, τον PACE ο οποίος ακολουθήθηκε αργότερα από την NMOS έκδοση, το INS8900. Εικόνα 3.3 O TMS 9900 Το 1976 εμφανίζεται ο TMS 9900 της Texas Intstruments ένας από τους πρώτους καθαρά 16bit μικροεπεξεργαστές. Ο TMS 9900 δεν είχε καθόλου εσωτερικούς καταχωρητές, εκτός από έναν που όριζε την θέση των καταχωρητών του στη RAM όπου αποθηκεύονται. Η σχεδίαση επέτρεπε την ταχύτατη αλλαγή context, αφού για να αλλάξουν όλοι οι καταχωρητές και να κληθεί μια συνάρτηση, πρέπει να αλλάξει ο μοναδικός εσωτερικός καταχωρητής. Η συγκεκριμένη σχεδίαση είχε νόημα για την εποχή της, διότι η εσωτερική μνήμη ήταν πιο αργή από την εξωτερική. Η Intel επανέρχεται στο προσκήνιο αναβαθμίζοντας το σχέδιο του 8080 στον 16bit Intel 8086, το πρώτο μέλος της x86 οικογένειας που χρησιμοποιούν οι περισσότεροι σύγχρονοι υπολογιστές. Ο 8086 είχε 10 φορές καλύτερη απόδοση από τον 8080. Η Intel εισήγαγε τον 8086 ως οικονομικώς αποδοτικό τρόπο μεταφοράς του λογισμικού από τον 8080, και πέτυχε κερδίζοντας την εμπιστοσύνη πολλών επιχειρήσεων με εκείνη την προϋπόθεση. Ο 8086 είχε 29.000 τρανζίστορ, ταχύτητα λειτουργίας στα 10 MHz, ενώ χρησιμοποιούσε καταχωρητές των 16 bit και δίαυλο δεδομένων των 16 bit. Επιπλέον, μπορούσε να δει 1 Mbyte μνήμης. Τον Ιούνιο του 1979, αποκαλύφθηκε ο μικροεπεξεργαστής 8088, που ήταν μια παραλλαγή του 8086. Πρόκειται για έναν 16bit επεξεργαστή εσωτερικά, του οποίου ο εξωτερικός δίαυλος δεδομένων ήταν των 8 bits. Η σχεδίαση αυτή είχε σκοπό τη χρήση των υπαρχόντων 8bit controller chips για συσκευές. Ο 8088 περιείχε 29000 τρανζίστορς και μπορούσε να δει 1 Mbyte μνήμης. Μετά τον 8088 η Intel απελευθέρωσε τους 16bit μικροεπεξεργαστές 80186 και 80286, παγιώνοντας την κυριαρχία της στην αγορά προσωπικών υπολογιστών. Ο 80286 παρουσιάστηκε το 1982, και είχε συχνότητα λειτουργίας αρχικά στα 6 MHz και έπειτα στα 12 MHz. Ο ιστορικός αυτός μικροεπεξεργαστής ανήκε 24

στην οικογένεια x86 και περιελάμβανε δίαυλο δεδομένων 16 bit, δίαυλο διευθύνσεων 24 bit. Επιπλέον, μπορούσε να δει μέχρι 16 MBytes μνήμης και περιείχε 130000 τρανζίστορ. Ο 80286 αποτελεί τον πρώτο μικροεπεξεργαστής που είχε τη δυνατότητα να λειτουργεί στην κατάσταση Protected Mode(προστατευμένη κατάσταση λειτουργίας). Το 1979, η Zilog έστειλε δείγματα του 16bit μικροεπεξεργαστή της, του Z8000. Η αρχιτεκτονική σχεδιάστηκε και υλοποιήθηκε από τους Bernard Peuto και MasatoshiShima. Ο Ζ8000 δεν ήταν συμβατός με τον Ζ80 και παρόλο που ο σχεδιασμός του ήταν πολύ καλός, δε χρησιμοποιήθηκε ευρέως, διότι έφθασε πάρα πολύ αργά στην αγορά για να σταθεί και εξαφανίστηκε γρήγορα Τα 16bit σχέδια ήταν στην αγορά μόνο για λίγο, όταν άρχισαν να εμφανίζονται οι πλήρεις 32bit εφαρμογές. Ο παγκόσμιος πρώτος single-chip 32bit μικροεπεξεργαστής ήταν ο BELLMAC 32A της AT&T Bell Labs, ο οποίος παρουσιάστηκε το 1980 και κυκλοφόρησε το 1982. Μετά από την αποστέρηση του AT&T το 1984 και την αλλαγή της επωνυμίας της εταιρίας, ο BELLMAC 32A μετονομάστηκε σε WE 32000 (WE είναι τα αρχικά της Western Electric). Η επόμενη γενιά μικροεπεξεργαστών που στηρίχτηκε στον WE 32000, είναι ο WE 32100 και ο WE 32200. Αυτοί οι μικροεπεξεργαστές χρησιμοποιήθηκαν στους μίνιυπολογιστές AT&T 3B5, 3B15 στο 3B2, τον πρώτο super microcomputer γραφείου. Όλα αυτά τα συστήματα έτρεξαν το αρχικό λειτουργικό σύστημα Unix των Bell Labs. Ο διασημότερος 32bit μικροεπεξεργαστής είναι ο MC68000. Εισήχθη το 1979 και ήταν το πρώτο μέλος της οικογένειας m68k. Είχε 32bit καταχωρητές αλλά χρησιμοποίησε 16bit διαδρομές δεδομένων, καθώς και έναν 16bit εξωτερικό δίαυλο δεδομένων. Η Motorola το περιέγραψε γενικά ως 16bit επεξεργαστή, αν και είχε 32bit αρχιτεκτονική. Ο 68000 έτρεχε στα 8MHz και είχε 68000 τρανζίστορ. Ο συνδυασμός της υψηλής ταχύτητας, του μεγάλου χώρου αποθήκευσης (16 Mbyte) και του αρκετά χαμηλού κόστους τον έκανε τον δημοφιλέστερο μικροεπεξεργαστή της κατηγορίας του, με αποτέλεσμα να χρησιμοποιηθεί στους υπολογιστές Apple Lisa και η Macintosh. Η επιτυχία της Motorola με τον 68000 οδήγησε στον σχεδιασμό του MC68010, ο οποίος πρόσθεσε την υποστήριξη της εικονικής μνήμης. Ο MC68020, που εισήχθη το 1985, είχε 200000 τρανζίστορ και συχνότητα λειτουργίας στα 16 MHz. Τα 68020 έγιναν ιδιαίτερα δημοφιλή στη super microcomputer Unix αγορά, ενώ πολλές μικρές επιχειρήσεις, όπως η Altos, παρήγαγαν τα συστήματα desktop. Έπειτα, ακολούθησε ο MC68030, ο οποίος πρόσθεσε τη μονάδα διαχείρισης μνήμης (MMU) στο τσιπ. Η συνεχής επιτυχία οδήγησε στον 68040, ο οποίος περιέλαβε τη μονάδα υπολογισμού κινητής υποδιαστολής (FPU) για καλύτερη απόδοση. Ο 68050 δεν κατάφερε να επιτύχει τους στόχους απόδοσής του και έτσι δεν απελευθερώθηκε. Το ακόλουθο MC68060 απελευθερώθηκε την περίοδο που κυκλοφορούσαν ευρέως στην αγορά τα πολύ γρηγορότερα σχέδια RISC. Η οικογένεια m68k εξασθένισε από την αγορά υπολογιστή γραφείου στις αρχές της δεκαετίας του 90. Εικόνα 3.4 O MC68000 25

Ο πρώτος 32bit μικροεπεξεργαστής της Intel ήταν το iapx 432, ο οποίος εισήχθη το 1981 αλλά δεν ήταν μια εμπορική επιτυχία. Παρόλο που είχε μια προηγμένη αντικειμενοστραφή αρχιτεκτονική, η κακή απόδοση της, σε σχέση με άλλες ανταγωνιστικές αρχιτεκτονικές όπως το Motorola 68000, ήταν καταδικαστική. Δούλευε στα 5, 7, και 8 MHz και είχε μέγιστη απόδοση 2000000 εντολές το δευτερόλεπτο. Τον Οκτώβριο του 1985, η Intel παρουσιάζει τον απόγονο του 80286 τον μικροεπεξεργαστή 80386 με συχνότητα λειτουργίας αρχικά στα 16 MHz. Ο συγκεκριμένος επεξεργαστής χρησιμοποιούσε καθαρούς 32bit καταχωρητές και 32bit διαύλους δεδομένων και διευθύνσεων. Δεχόταν μέχρι 4 Gbytes μνήμης, ενώ περιείχε 275000 τρανζίστορ. Τα επιπλέον χαρακτηριστικά του 80386 ήταν η υποστήριξη πολυδιεργασίας (multitasking), το ενσωματωμένο κύκλωμα διαχείρισης και προστασίας της μνήμης (MNU), η υποστήριξη εικονικής μνήμης με δυνατότητα σελιδοποίησης (paging) και ο μεγάλος φυσικός γραμμικός χώρος διευθυνσιοδοτήσης. Για λόγους συμβατότητας με τους προηγούμενους επεξεργαστές, ο 80386 αναγκάζεται να προσφέρει μια κατάσταση συμβατότητας με τον 8088/8086, ονόματι Real Mode (πραγματική κατάσταση λειτουργίας). Το 1989, εμφανίζεται ο μικροεπεξεργαστής Intel 80486, ο οποίος είχε 1200000 τρανζίστορ και συχνότητα λειτουργίας 50 MHz. Στον 80486, που αποτελεί επίσης απόγονο του 80286, δεν προστέθηκαν περισσότεροι καταχωρητές, αλλά ορίστηκαν κάποια bits σε ορισμένους καταχωρητές, που δεν είχαν οριστεί στον 80386. Τη δεκαετία του έκαναν την εμφάνισή τους οι μικροεπεξεργαστές Intel Pentium, οι οποίοι αποτελούσαν τη συνέχεια του 80486 ενώ είχαν υπερβαθμωτή (superscalar) αρχιτεκτονική και 32bit δίαυλο δεδομένων. Το 1993 εμφανίζεται ο Intel Pentium της οικογένειας P5, ο οποίος περιείχε 3100000 τρανζίστορ και λειτουργούσε στα 60 και 66 MHz. Το 1995, η Intel παρουσιάζει τον Pentium Pro, τον πρώτο στην οικογένεια των P6. Είχε 5500000 τρανζίστορ και ανήκε στην έκτη γενιά των επεξεργαστών της οικογένειας x86. ΟPentium Pro είχε διαφορετική αρχιτεκτονική από αυτή του Pentium, ενώ ήταν μόνο κατά 20% ταχύτερος. Δύο χρόνια αργότερα, η Intel εισάγει τον μικροεπεξεργαστήpentium II, έναν Pentium Pro με τεχνολογία MMX (ΜΜΧ εντολές) για την υποστήριξη πολυμέσων. Η μικροαρχιτεκτονική του ήταν σχεδιασμένη με τέτοιο τρόπο, ώστε η εκτέλεση του 32bit κώδικα της αρχιτεκτονικής της Intel να είναι γρήγορη και να μην απαιτεί επιπρόσθετη προσπάθεια του προγραμματιστή. Ο Pentium II είχε 7500000 τρανζίστορ και η συχνότητα λειτουργίας του βρισκόταν στα 300 MHz. Το 1999, ακολούθησε ο Pentium III με 9500000 τρανζίστορ και συχνότητα λειτουργίας στα 450 MHz (έφτασε και τα 1,13 GHz). Ο συγκεκριμένος μικροεπεξεργαστής ήταν ουσιαστικά ένας Pentium II εφοδιασμένος με SSE (Streaming SIMD Extensions). Οι νέες αυτές επεκτάσεις των SIMD εντολών είχαν ως αποτέλεσμα την επιτάχυνση της απόδοσης των εφαρμογών σε σχέση με αυτή του Pentium II. Την επόμενη χρονιά, εμφανίστηκε ο Pentium IV. Ο επεξεργαστής αυτός ήταν σχεδιασμένος σύμφωνα με την μικροαρχιτεκτονική NetBurst, η οποία αποτελούσε και συνεχίζει να αποτελεί την τεχνολογική καρδιά του Pentium IV και διαφόρων παραλλαγών του. Με την συγκεκριμένη αρχιτεκτονική η Intel άγγιξε την κορυφή των GHz, όχι όμως και της απόδοσης, με την κυκλοφορία του επεξεργαστή Pentium D, που είχε συχνότητα λειτουργίας τα 3,73 GHz. Εκεί ήρθε το τέλος για την NetΒurst. Ο Pentium D ήταν και ο τελευταίος μικροεπεξεργαστής της σειράς Pentium, η οποία σταμάτησε να κυκλοφορεί το 2008. Από τις αρχές του 1998 η Intel αντιμετώπιζε δυσκολίες με τον PentiumII, καθώς ήταν πολύ ακριβός. Για αυτό το λόγο, δημιούργησε ένα καινούριο επεξεργαστή, που ονομάστηκε Celeron. Ο Celeron είχε πιο προσιτή τιμή, αλλά δεν μπορούσε να λειτουργήσει σε πολύ υψηλές συχνότητες. Με βάση αυτόν τον επεξεργαστή κατασκευάστηκαν εκδόσεις των Pentium II, Pentium III, Pentium IV καιpentium M. Την ίδια χρονιά με την παρουσίαση του Pentium II Celeron, η Intel παρουσίασε άλλον ένα νέο Pentium II επεξεργαστή που ονομάστηκε Xeon. Έπειτα, ακολούθησαν και άλλες εκδόσεις του επεξεργαστή. 26

Η εταιρεία AMD (Advanced Micro Devices) ήταν για καιρό γνωστή ως παροχέας επεξεργαστών χαμηλής απόδοσης για χρήση σε υπολογιστές χαμηλού κόστους. Το 1997, η AMD μπήκε δυναμικά στην αγορά των μικροεπεξεργαστών παρουσιάζοντας τους επεξεργαστές της σειράς K6, οι οποίοι ήταν εφάμιλλοι αυτών της Intel σε τιμή και επιδόσεις. Η RISC86 μικροαρχιτεκτονική προσδιόριζε τα χαρακτηριστικά της οικογένειας Κ6. Με τον επεξεργαστή K6-III, η AMD πέρασε πρώτη το φράγμα των 600 MHz, διεκδικώντας τον τίτλο του ταχύτερου επεξεργαστή για πρώτη φορά στους προσωπικούς υπολογιστές. To 1999, η AMD προώθησε την καινούργια οικογένεια μικροεπεξεργαστών, Athlon. Ο Athlon Classic, που αποτελεί τον πρώτο επεξεργαστή της σειράς και μεγάλο ανταγωνιστή των Pentium, εισήγαγε την έβδομη γενιά επεξεργαστών της οικογένειας x86. Εικόνα 3.5 O K6-III Εικόνα 3.6 O Athlon Classic Αν και οι πρώτοι 64bit επεξεργαστές εμφανίστηκαν στις αρχές του 1990, άρχισαν να εφαρμόζονται στους υπολογιστές γραφείου το 2003. Μέχρι το 2003, οι 64bit επεξεργαστές απευθύνονταν αποκλειστικά στην αγορά των ακριβών σταθμών εργασίας και των διακομιστών. Στην ευρεία αγορά, τον Σεπτέμβριο του 2003 πρώτη η AMD εισήγαγε τον Athlon 64, την καλύτερη καινοτομία στους επεξεργαστές για το έτος 2003, όπως χαρακτηρίστηκε. Έπειτα, ακολούθησε η Intel με τον Intel 64. Και οι δύο επεξεργαστές μπορούσαν να τρέξουν την κληρονομιά των 32bit εφαρμογών καθώς επίσης και το νέο λογισμικό 64bit. Ένας 64bit υπολογιστής μπορεί να κάνει μαθηματικές πράξεις με μεγαλύτερους αριθμούς και να είναι πολύ πιο αποτελεσματικός με μικρότερους αριθμούς σε σχέση με έναν 32bit. Για αυτό το λόγο, πολλοί υποστηρίζουν ότι μόνο τα ακαδημαϊκά ιδρύματα και οι ιδιωτικές εταιρίες μπορούν να ωφεληθούν από τις επιδόσεις ενός 64bit επεξεργαστή, καθώς μόνο εκεί απαιτούνται μεγάλοι υπολογισμοί, γρήγορες προσβάσεις σε μεγάλες βάσεις δεδομένων αλλά και επίλυση σύνθετων προβλημάτων. 27

Ο Athlon 64 σχεδιάστηκε σύμφωνα με την αρχιτεκτονική AMD64, διαφοροποιήθηκε ωστόσο σε ορισμένα σημεία προκειμένου να μειωθεί το κόστος του. Ένα από τα κύρια πλεονεκτήματα του Athlon 64 είναι και η τεχνολογία Cool'n'Quiet την οποία ενσωματώνει, με αποτέλεσμα να εξοικονομεί ενέργεια. Το 2005, η AMD ανακοίνωσε τους διπλοπύρηνους επεξεργαστές Opteron για servers και workstations, καθώς και τους διπλοπύρηνους επεξεργαστές Athlon 64 για προσωπικούς υπολογιστές. Στην ουσία, οι διπλοπύρηνοι Athlon 64 ήταν δύο Athlon 64 ενωμένοι μεταξύ τους με την αρχιτεκτονική Direct Connect. Τον Φεβρουάριο του 2009, ηamd παρουσίασε τον τετραπύρηνο επεξεργαστή Phenom II με το κωδικό όνομα Deneb. Σύμφωνα με την εταιρία, οι εκπληκτικές ικανότητες του νέου επεξεργαστή όσον αφορά στον υπερχρονισμό, οφείλονται στην ανανεωμένη και αρχιτεκτονικά βελτιωμένη κατασκευή του Phenom II συγκριτικά με την πρώτη έκδοση του επεξεργαστή που κυκλοφόρησε στα τέλη του 2007. Ο νέος αυτός επεξεργαστής αποτελεί ένα από τα τρία βασικά συστατικά της πλατφόρμας Dragon. Οι πιο πρόσφατοι επεξεργαστές της AMD ανακοινώθηκαν τον Ιούλιο. Συγκεκριμένα η εταιρία ενημέρωσε για τη διάθεση πέντε νέων εξαπύρηνων επεξεργαστών Istanbul, με πολύ χαμηλή κατανάλωση ενέργειας. Όσον αφορά στην απόδοση, τα καινούργια μοντέλα δεν καταφέρνουν να φτάσουν τους Xeon E5504 και E5520 της Intel. Το 2006, η Intel ανακοίνωσε δέκα νέους επεξεργαστές που στηρίζονταν στην τεχνολογία Intel Core 2 Duo και Intel Core 2 Extreme. Οι συγκεκριμένοι επεξεργαστές ήταν ιδανικοί για οικιακούς και επιχειρηματικούς, επιτραπέζιους και φορητούς υπολογιστές και για σταθμούς εργασίας. Η νέα αυτή σειρά επεξεργαστών έθεσε νέα δεδομένα σε θέματα απόδοσης, εμφάνισης και κατανάλωσης των υπολογιστών ενώ παράλληλα, άλλαξε ριζικά τον τρόπο χρήσης τους. Η οικογένεια επεξεργαστών Intel Core 2 Duo στηρίζεται στην μικροαρχιτεκτονική Intel Core, η οποία παρέχει ισχυρή απόδοση με παράλληλη εξοικονόμηση ενέργειας. Με τη χρήση των δυοπυρήνων οι επεξεργαστές Intel Core 2 Duo μπορούν να διαχειριστούν πολλές εργασίες ταχύτερα, καθώς επίσης και να λειτουργήσουν πιο ομαλά όταν τρέχουν πολλαπλές εφαρμογές. Επιπλέον, βελτιώνουν εργασίες όπως η αναπαραγωγή βίντεο υψηλής ευκρίνειας, η προστασία του υπολογιστή και των στοιχείων του και η βελτιωμένη διάρκεια ζωής της μπαταρίας για κομψότερους και ελαφρύτερους φορητούς υπολογιστές. Ο Intel Core 2 Extreme Quad-Core είναι ένας εξαιρετικά γρήγορος τετραπύρηνος επεξεργαστής, η τιμή του οποίου είναι αρκετά υψηλή. To 2008, κυκλοφόρησε ο Atom, ο μικρότερος σε μέγεθος επεξεργαστής της Intel που υλοποιήθηκε με τα μικρότερα τρανζίστορ του κόσμου. Δημιουργήθηκε ως μία εντελώς νέα σχεδίαση, ειδικά για φθηνές συσκευές, όπως πολύ μικρά notebooks και φορητές συσκευές με πρόσβαση στο Internet. Για τη σχεδίαση του Atom χρησιμοποιήθηκε η μικροαρχιτεκτονική Core, η ίδια δηλαδή τεχνολογία με την οποία η Intel κατασκευάζει τους γνωστούς Core 2 Duo επεξεργαστές για επιτραπέζιους και φορητούς υπολογιστές. Την ίδια χρονιά η Intel ανακοίνωσε τη νέα σειρά επεξεργαστών της με το όνομα Core i7. Η νέα αρχιτεκτονική στην οποία βασίζονται οι Core i7 είναι ριζικά διαφορετική από οτιδήποτε έχει επιδείξει η Intel μέχρι σήμερα. Ο Intel Core i7, δεν είναι απλά ένας νέος επεξεργαστής, αλλά μία ολόκληρη νέα πλατφόρμα η οποία επεκτείνεται σε όλα τα μέρη του υπολογιστή. Τα κύρια χαρακτηριστικά του είναι: η ενσωμάτωση τεσσάρων διακριτών πυρήνων, γεγονός που σημαίνει ότι υπάρχει πλήρης έλεγχος σε καθέναν από αυτούς. η ενσωμάτωση του ελεγκτή μνήμης εντός του επεξεργαστή. Αυτό έχει ως αποτέλεσμα την πολύ καλύτερη και πιο γρήγορη επικοινωνία επεξεργαστή και μνήμης. η υποστήριξη, για πρώτη φορά από την ίδια την Intel, της χρήσης δύο ή περισσότερων καρτών γραφικών στο ίδιο σύστημα. 28

Συχνότητες των 2,66 GHz και 2,93 GHz. Ο Core i7 αναμένεται να βελτιωθεί ακόμα περισσότερο, αφού η Intel έχει προγραμματίσει στα τέλη του 2009 την κυκλοφορία ενός νέου επεξεργαστή, τον 960, ο οποίος θα έχει συχνότητα 3,2 GHz. 3.1.2 Σύνοψη Τα τελευταία χρόνια οι μικροεπεξεργαστές είναι υπεύθυνοι για τη δημιουργία μερικών από τις μεγαλύτερες καινοτομίες στα συστήματα υπολογιστών. Οι καινοτομίες περιλαμβάνουν τους embedded μικροελεγκτές, τις συσκευές χειρός και τις κινητές συσκευές, τους προσωπικούς υπολογιστές, τους σύγχρονους σταθμούς εργασίας, τους υπερυπολογιστές χαμηλού κόστους, εξυπηρετητές εφαρμογών και αρχείων, web servers για το Internet και ευρείας κλίμακας δίκτυα υπολογιστών. Παρατηρούμε λοιπόν, ότι στη σχετικά σύντομη διάρκεια ζωής του, ο μικροεπεξεργαστής έχει κάνει τεράστιες προόδους και έχει περάσει από πολλά στάδια. Αρχικά, ο σχεδιασμός των μικροεπεξεργαστών είχε στόχο τη δημιουργία απλών συστημάτων αυτόματου ελέγχου και τη χρήση τους σε διάφορες συσκευές. Στη συνέχεια, οι σχεδιαστές μικροεπεξεργαστών ασχολήθηκαν με την ανάπτυξη ολοκληρωμένων κυκλωμάτων, γενικού σκοπού. Τα συγκεκριμένα κυκλώματα θα μπορούσαν να χρησιμοποιηθούν σε πολλές εφαρμογές με τη βοήθεια συμπληρωματικών ολοκληρωμένων κυκλωμάτων που κατασκευάζονταν ειδικά για κάθε εφαρμογή. Στα επόμενα χρόνια, η ραγδαία εξέλιξη της τεχνολογίας των ολοκληρωμένων κυκλωμάτων έδωσε τη δυνατότητα ενσωμάτωσης εκατομμυρίων τρανζίστορ μέσα σε ένα ολοκληρωμένο κύκλωμα. Σε συνδυασμό με τις αυξημένες απαιτήσεις των χρηστών για σύγχρονες εφαρμογές ή για δικτυακές εφαρμογές με μετάδοση εικόνας και video, οι κατασκευαστές οδηγήθηκαν στην ανάπτυξη νέων και ισχυρών μικροεπεξεργαστών. Οι νέοι αυτοί μικροεπεξεργαστές έπρεπε να είναι ακόμα πιο γρήγοροι σε ταχύτητα, να μπορούν να καλύψουν τις απαιτήσεις των σύγχρονων εφαρμογών, να έχουν μεγαλύτερες δυνατότητες επεξεργασίας και μικρότερη κατανάλωση από τους προγενέστερούς τους. Μέσα σε λίγα χρόνια, η απόδοσή των μικροεπεξεργαστών βελτιώθηκε αισθητά, αφού σύμφωνα με τον Νόμο του Μουρ κάθε 18 μήνες ο αριθμός των τρανζίστορ πάνω σε ένα chip διπλασιαζόταν. Τα στοιχεία τα οποία είναι ενδεικτικά της εξέλιξής των σύγχρονων μικροεπεξεργαστών είναι τα εξής: Το μήκος λέξης του μικροεπεξεργαστή μεγάλωσε από τα 16 δυαδικά ψηφία στα 32 και έπειτα στα 64 δυαδικά ψηφία, με αποτέλεσμα οι σύγχρονοι μικροεπεξεργαστές να υλοποιούν άμεσα και γρήγορα μεγάλους αριθμητικούς υπολογισμούς. Αυξήθηκε το πλήθος των θέσεων μνήμης που μπορεί να προσπελάσει ο μικροεπεξεργαστής. Έτσι σήμερα, κυκλοφορούν μικροεπεξεργαστές με δίαυλο διευθύνσεων μεγέθους 64 δυαδικών και δυνατότητα διευθυνσιοδότησης πολλών GB θέσεων μνήμης. Οι μικροεπεξεργαστές άρχισαν να υποστηρίζουν συστήματα ιεραρχίας μνήμης με κρυφές μνήμες, ενώ πολλοί από αυτούς ενσωμάτωναν κάποια από τα επίπεδα αυτά, συνήθως το πρώτο επίπεδο, στο ολοκληρωμένο κύκλωμα του μικροεπεξεργαστή. Οι ταχύτητες χρονισμού των ολοκληρωμένων κυκλωμάτων μεγάλωσαν, με αποτέλεσμα την αύξηση της ταχύτητας της εκτέλεσης των προγραμμάτων του μικροεπεξεργαστή. Η αύξηση στην ταχύτητα εκτέλεσης δεν ήταν αποτέλεσμα μόνο της αύξησης της ταχύτητας χρονισμού. Οι σύγχρονοι μικροεπεξεργαστές διαθέτουν στο εσωτερικό τους πολύπλοκα κυκλώματα που διευκολύνουν τις λειτουργίες τους, όπως μονάδες αριθμητικής 29

κινητής υποδιαστολής (FPU) για πράξεις κινητής υποδιαστολής ή μονάδες διαχείρισης της μνήμης (MMU) για τη γρήγορη προσπέλαση σε αυτήν. Άλλο ένα χαρακτηριστικό των σύγχρονων μικροεπεξεργαστών είναι ότι προσπαθούν να παραλληλίσουν την εκτέλεση των εντολών των προγραμμάτων (Instruction Level Parallelism) έτσι ώστε να πετύχουν την πιο γρήγορη εκτέλεσή τους. Για το σκοπό αυτό πολλοί μικροεπεξεργαστές εφαρμόζουν διοχέτευση (pipeline) ή διαθέτουν πολλαπλούς καταχωρητές και αριθμητικές και λογικές μονάδες (multiple execution units) για να μπορούν να εκτελέσουν περισσότερες από μία εντολές ταυτόχρονα. Επίσης τα σύνολα εντολών και οι τρόποι διευθυνσιοδότησης έχουν υποστεί πολλές αλλαγές. Οι σύγχρονες εφαρμογές, όπως οι εφαρμογές πολυμέσων, είχαν μεγάλες απαιτήσεις σε υπολογιστική ισχύ, καθώς ασχολούνταν ταυτόχρονα με ήχο, εικόνα και video. Αυτό είχε σαν αποτέλεσμα τον εμπλουτισμό των συνόλων εντολών με εντολές που να μπορούν να διαχειριστούν αποτελεσματικά τη νέα αυτή μορφή πληροφορίας. Οι μικροεπεξεργαστές συνεχίζουν να εξελίσσονται με αμείωτους ρυθμούς, καθώς οι κατασκευαστές των μικροεπεξεργαστών εργάζονται πυρετωδώς, ώστε να κερδίσουν έδαφος έναντι του μεγάλου ανταγωνισμού που υπάρχει. Η Intel και η AMD, που έχουν κυριαρχήσει στην αγορά, συνεχώς ανακοινώνουν καινούργια προϊόντα με αποτέλεσμα να αναμένουμε την κυκλοφορία εξαπύρηνων και οχταπύρηνων επεξεργαστών. Η συνεχής βελτίωση των επιδόσεων έχει οδηγήσει στην μαζική κυκλοφορία νέων εκδόσεων μικροεπεξεργαστών. Έτσι στα επόμενα χρόνια περιμένουμε να δούμε νέες τεχνολογικές ανακαλύψεις να ενσωματώνονται σε αυτούς και να αποκτούν ακόμα μεγαλύτερες δυνατότητες επεξεργασίας. Ταυτόχρονα η χρήση τους θα επεκτείνεται σε όλο και περισσότερες εφαρμογές, κάνοντας τη ζωή μας πιο εύκολη. 30

3.1.3 Η εξέλιξη των μικροεπεξεργαστών με εικόνες 31

Εικόνα 3.7 Ο πρώτος μικροεπεξεργαστής στον κόσμο Ο IntelP4004(Το 1969) 32

Εικόνα 3.8 Ο Intel 8008, ο πρώτος 8-bit επεξεργαστής το 1972 33

Εικόνα 3.9 Intel 80286, το 1984 34

Εικόνα 3.10 Intel 80386, το 1985 Εικόνα 3.11 Intel 486SX, το 1989 35

Εικόνα 3.12 Intel 586 (Pentium), το 1993 Εικόνα 3.13 Pentium II, Celeron το 1997 36

Εικόνα 3.14 Intel Pentium, Celeron το 1998 Εικόνα 3.15 Intel Pentium το 1999 37

Εικόνα 3.16 Intel Pentium 4 (2000) Εικόνα 3.17 Intel Core 2 Duo 38

Εικόνα 3.18 2 Quad 2006 Εικόνα 3.20 AMD quad-core τετραπύρηνος αρχιτεκτονική Barcelona 39

3.2 Ο AVR Στην κατασκευή της κιθάρας χρησιμοποιήθηκε ο μικροελεγκτής AVR της ATMEL, και ειδικότερα ο ATmega32L, λόγω των πολλών δυνατοτήτων του αλλά και της χαμηλής τιμής του. Εικόνα 3.21 O ATmega32L της ATMEL 3.2.1 Χαρακτηριστικά του AVR Τα χαρακτηριστικά που μας προσφέρει ο AVR και τον κάνουν ιδιαίτερα ελκυστικό για τον σχεδιασμό ενός εμπεδωμένου συστήματος σαν και αυτό που κατασκευάστηκε είναι τα παρακάτω: Μεγάλη απόδοση, μικρή κατανάλωση Αναβαθμισμένη RISC αρχιτεκτονική o 131 πολύ ισχυρές εντολές που απαιτούν μόνο ένα κύκλο ρολογιού για την εκτέλεση τους o 32 καταχωρητές μεγέθους 8-ψηφίων o Μέχρι 16 MIPS στα 16MHz o On chip πολλαπλασιαστής 2 κύκλων Non volatile μνήμη προγράμματος και δεδομένων o 32 KB Αυτοπρογραμματιζόμενη μνήμη flash o 1 KB EEPROM μνήμη o 2 KB εσωτερική SRAM JTAG διεπαφή για εύκολο προγραμματισμό και διόρθωση των λαθών του προγράμματος (debugging) Πλήθος περιφερειακών o 2 timers 8-ψηφίων με ξεχωριστά ρολόγια 40

o 1 timer 16-ψηφίων με ξεχωριστό ρολόι o Αληθινού χρόνου μετρητής με εξωτερικό κρύσταλλο o 4 κανάλια PWM o 8 κανάλια 10-ψηφίων ADC o TWI o Master/Slave SPI λειτουργία o Σειριακή θύρα με δυνατότητες σύγχρονης και ασύγχρονης λειτουργίας o Watchdog timer με ξεχωριστό κρύσταλλο o On-chip αναλογικό συγκριτή Ειδικά χαρακτηριστικά o Reset αυτόματα με την τροφοδότηση o Εσωτερικό ρολόι o Εσωτερικές και εξωτερικές διακοπές o 6 sleep modes για εξοικονόμηση ενέργειας Ταχύτητα έως 16MHz Μικρή κατανάλωση 3.2.2 Γενική περιγραφή του AVR Ο ATmega32L είναι ένας χαμηλής κατανάλωσης CMOS 8-ψηφίων επεξεργαστής βασισμένος πάνω στην ενισχυμένη RISC αρχιτεκτονική των AVR. Εκτελώντας τις δυναμικές του εντολές σε ένα κύκλο μηχανής επιτρέπει στον σχεδιαστή να βελτιστοποιήσει την κατανάλωση σε σχέση με την επεξεργαστική ισχύ. Ο σχεδιασμός του ATmega32L προβλέπει ένα πλούσιο σετ εντολών συνδεδεμένο με 32 καταχωρητές γενικής χρήση. Όλοι οι καταχωρητές συνδέονται άμεσα με την αριθμητική λογική μονάδα ( ALU ) επιτρέποντας τις εντολές μεταξύ καταχωρητών να εκτελεστούν σε ένα κύκλο μηχανής πετυχαίνοντας έτσι μέχρι και δέκα φορές μεγαλύτερη παραγωγή από τις CISC αρχιτεκτονικές. Επιπλέον ο AΤmega32L έχει ένα πλήθος περιφερειακών έτσι ώστε να έχει την δυνατότητα να ελέγξει ένα ολόκληρο σύστημα με περιφερειακά μόνος του. 41

3.2.3 Γενική περιγραφή αρχιτεκτονικής του AVR Με σκοπό να μεγιστοποιήσει την απόδοση στην εκτέλεση των εντολών ο AVR χρησιμοποιεί μία ειδικά σχεδιασμένη παραλλαγή της αρχιτεκτονικής Harvard με ξεχωριστή μνήμη και διαύλους για το πρόγραμμα και τα δεδομένα. Ο AVR χρησιμοποιεί άμεσο κανάλι πληροφόρησης ενός σταδίου. Ενώ μία εντολή εκτελείται η επόμενη ανακαλείται από την μνήμη προγράμματος. Αυτό οδηγεί στην εκτέλεση των εντολών σε ένα κύκλο μηχανής (οι περισσότερες από αυτές). Η μνήμη του προγράμματος είναι In-System Reprogrammable Flash. Το Register File περιέχει 32 x 8 ψηφία γενικής χρήσης καταχωρητές με χρόνο πρόσβασης ένα κύκλο ρολογιού. Οι καταχωρητές αυτοί είναι άμεσα συνδεδεμένοι με την αριθμητική λογική μονάδα επιτρέποντας την λειτουργία της ALU σε μία μονάδα χρόνου (ένα κύκλο ρολογιού). Έξι από τους 32 καταχωρητές μπορούν να χρησιμοποιηθούν σαν 3 16 ψηφία έμμεσοι καταχωρητές-δείκτες της μνήμης δεδομένων επιτρέποντας έτσι αποδοτικούς υπολογισμούς διευθύνσεων μνήμης. Ένας από αυτούς μπορεί να χρησιμοποιηθεί σαν δείκτης σε look-up πίνακες στην μνήμη του προγράμματος. Αυτοί οι καταχωρητές είναι οι X-, Y-, Z-.Η αριθμητική λογική μονάδα επιτρέπει αριθμητικές και λογικές πράξεις μεταξύ δύο καταχωρητών ή μεταξύ ενός καταχωρητή και μίας σταθεράς. Ακόμα λειτουργίες ενός μόνο καταχωρητή εκτελούνται από τη ALU. Έπειτα από μία εκτέλεση λειτουργίας από την αριθμητική λογική μονάδα ο status-καταχωρητής ανανεώνεται για να απεικονίζει τα αποτελέσματα της λειτουργίας. Η ροή του προγράμματος διευκολύνεται από με και χωρίς προϋποθέσεις εντολές άλματος και κλήσης που μπορούν άμεσα να μεταφέρουν την εκτέλεση του προγράμματος σε οποιοδήποτε σημείο της μνήμης προγράμματος. Οι περισσότερες εντολές του AVR έχουν μορφή 16-ψηφίων. Κάθε διεύθυνση στην μνήμη του προγράμματος περιέχει μία εντολή 16 ή 32 ψηφίων. Η μνήμη προγράμματος είναι χωρισμένη σε δύο μέρη: την μνήμη εκκίνησης και την μνήμη για τις εφαρμογές. Όλες οι μνήμες στον AVR είναι γραμμικές. Κατά την διάρκεια διακοπών και υπορουτίνων η διεύθυνση επιστροφής αποθηκεύεται στην στοίβα. Η στοίβα βρίσκεται στην SRAM και συνεπώς το μέγεθος της εξαρτάται μόνο από την μνήμη SRAM που διαθέτει ο κάθε επεξεργαστής και την χρησιμοποίηση της για αποθήκευση μεταβλητών. Ο δείκτης της στοίβας πρέπει να αρχικοποιείται κάθε φορά που αρχίζει ένα πρόγραμμα. Ο δείκτης της στοίβας είναι γενικά προσβάσιμος στην περιοχή I/O του μικροελεγκτή. Η μνήμη SRΑM είναι προσβάσιμη μέσω πέντε τρόπων διευθυνσιοδότησης στην αρχιτεκτονική του AVR. Ακόμα αξιοσημείωτα στην αρχιτεκτονική του AVR είναι το ευέλικτο σύστημα για την διαχείριση των διακοπών και οι 64 διευθύνσεις για περιφερειακές συσκευές. 42

3.3 Δομή μονάδας επεξεργασίας AVR Παρακάτω θα αναλύσουμε την κεντρική μονάδα επεξεργασίας του AVR. 3.3.1 Αριθμητική λογική μονάδα Η υψηλής απόδοσης ALU λειτουργεί σε απευθείας σύνδεση με τους 32 γενικής χρήσης καταχωρητές. Μέσα σ ένα κύκλο ρολογιού εκτελούνται οι αριθμητικές πράξεις μεταξύ δύο καταχωρητών ή μεταξύ ενός καταχωρητή και ενός ορίσματος από την μνήμη. Οι λειτουργίες της ALU διακρίνονται σε αριθμητικές, λογικές και λειτουργίες σε ψηφιακό επίπεδο. Ακόμα υποστηρίζεται δυναμική χρήση πολλαπλασιασμού τόσο σε αριθμούς χωρίς πρόσημο όσο και σε προσημασμένους αριθμούς 3.3.2 Καταχωρητές γενικής χρήσης Οι καταχωρητές του AVR είναι κατασκευασμένοι έτσι ώστε να υποστηρίζουν το ενισχυμένο RISC ρεπερτόριο εντολών. Έτσι υποστηρίζονται οι εξής λειτουργίες από τους καταχωρητές: Ένα 8-ψηφίων όρισμα έξοδος και ένα 8- ψηφίων αποτέλεσμα είσοδος Δύο 8- ψηφίων ορίσματα έξοδος και ένα 8- ψηφίων αποτέλεσμα είσοδος Δύο 8- ψηφίων ορίσματα έξοδος και ένα 16- ψηφίων αποτέλεσμα είσοδος Ένα 16- ψηφίων όρισμα έξοδος και ένα 16- ψηφίων αποτέλεσμα είσοδος Καταχωρητές AVR: Σχήμα 3.2 καταχωρητής AVR 43

Οι περισσότερες από τις εντολές που λειτουργούν στο αρχείο καταχωρητών έχουν άμεση πρόσβαση σε όλους τους καταχωρητές, και οι περισσότερες από αυτές εκτελούνται σε ένα κύκλο. Όπως φαίνεται στο σχήμα 4, σε κάθε καταχωρητή ορίζεται επίσης μια διεύθυνση μνήμης δεδομένων, χαρτογραφώντας τους άμεσα στις πρώτες 32 θέσεις του διαστήματος δεδομένων. Αν και όχι φυσικά ως θέσεις SRAM, αυτή η οργάνωση μνήμης παρέχει τη μεγάλη ευελιξία στην πρόσβαση των καταχωρητών, όπως το Χ -, Υ -, και οι καταχωρητές Ζ- δεικτών μπορούν να τεθούν ως δείκτης για να συντάξουν ευρετήριο σε οποιοδήποτε καταχωρητή 3.3.3 Δείκτης στοίβας Η στοίβα χρησιμοποιείται κυρίως για την αποθήκευση των προσωρινών στοιχείων, για την αποθήκευση των τοπικών μεταβλητών και για την αποθήκευση των διευθύνσεων επιστροφής μετά από διακοπές και κλήσεις υπορουτινών. Ο καταχωρητής-δείκτης στοίβας δείχνει πάντα την κορυφή της στοίβας. Σημειώστε ότι η στοίβα εφαρμόζεται αυξανόμενη από τις υψηλότερες θέσεις μνήμης στις χαμηλότερες θέσεις μνήμης. Αυτό υπονοεί ότι μια εντολή push της στοίβας μειώνει το δείκτη στοίβας. Ο δείκτης στοίβας δείχνει την περιοχή στοίβας της SRAM όπου οι στοίβες υπορουτινών και διακοπών βρίσκονται. Αυτό το διάστημα στοίβας στην SRAM πρέπει να καθοριστεί από το πρόγραμμα προτού να εκτελεσθούν οποιεσδήποτε κλήσεις υπορουτινών ή επιτρεπόμενων διακοπών. Ο δείκτης στοίβας πρέπει να τεθεί ως δείκτης και να δείξει επάνω από $60. Ο δείκτης στοίβας μειώνεται κατά ένα όταν ένα δεδομένο τοποθετείται στην στοίβα με την push εντολή, και μειώνεται κατά δύο όταν γίνεται push η διεύθυνση επιστροφής στη στοίβα με την κλήση υπορουτινών ή διακοπών. Αντίστοιχες αυξήσεις γίνονται όταν εκτελούνται pop εντολές. Ο δείκτης στοίβας AVR κατασκευάζεται ως δύο οκτάμπιτοι καταχωρητές στο διάστημα I/O. Ο αριθμός bits που χρησιμοποιείται είναι στην πραγματικότητα εφαρμογή εξαρτώμενη. Σημειώστε ότι τα δεδομένα σε μερικές εφαρμογές της αρχιτεκτονικής AVR είναι τόσο μικρά που μόνο ο SPL απαιτείται. Σε αυτήν την περίπτωση, ο καταχωρητής SPH δεν θα χρησιμοποιηθεί. 3.3.4 Χρόνοι εκτέλεσης των εντολών Η αναβαθμισμένη Harvard αρχιτεκτονική που διαθέτει ο AVR οδηγεί σε ένα μεγάλο παραλληλισμό εκτέλεσης εντολών κάτι που τον κάνει να φθάνει σχεδόν σε απόδοση το 1 MIPS ανά ΜΗz ρολογιού. Στα παρακάτω διαγράμματα φαίνεται η εκτέλεση συνεχόμενων εντολών από την ALU καθώς και τα στάδια εκτέλεσης μίας εντολής. Σχήμα 3.3 Χρόνοι εκτέλεσης εντολών 44

3.4 Μνήμη του AVR Τα τμήματα μνήμης του AVR είναι βασισμένα στο μοντέλο αρχιτεκτονικής Harvard στο οποίο τα σημαντικά τμήματα της μνήμης είναι διαχωρισμένα για να επιτυχαίνεται ταχύτερη πρόσβαση σε αυτά και αυξημένη χωρητικότητα. Η CPU έχει ξεχωριστό interface πρόσβασης στην μνήμη προγράμματος FLASH, την μνήμη δεδομένων και στην EEPROM (αν υπάρχει). 3.4.1 Μνήμη προγράμματος FLASH Η μνήμη προγράμματος FLASH είναι ένα block μνήμης FLASH η οποία αρχίζει από την διεύθυνση $0000 και το μέγεθος της εξαρτάται από το μοντέλο του AVR. (Ειδικότερα το όνομα του AVR προδίδει το μέγεθος της μνήμης. Ο ATmega32 παραδείγματος χάριν που χρησιμοποιήθηκε έχει μνήμη FLASH 32ΚΒ. Παρόμοια ο ATmega128 έχει 128KB FLASH). Η μνήμη FLASH είναι non-volatile (δηλαδή διατηρεί τα δεδομένα της μετά την απομάκρυνση της τροφοδοσίας) και έχει διάρκεια ζωής 10,000 κύκλους εγγραφής διαγραφής. Χρησιμοποιείται για την αποθήκευση του κώδικα του προγράμματος και σταθερών. Η διευθυσιοδότηση της μνήμης είναι της τάξης των 16 ψηφίων. Παρόλο που η μνήμη είναι επανεγγράψιμη δεν μπορεί να εγγραφεί μέσω ενός εκτελέσιμου προγράμματος, πρέπει να προγραμματιστεί από εξωτερικά μέσα. Συνεπώς είναι μία read-only μνήμη και εκεί μπορούν να αποθηκευτούν μόνο σταθερές μαζί με τον εκτελέσιμο κώδικα. Οι σταθερές όταν αποθηκεύονται στην μνήμη FLASH αυτόματα προβιβάζονται σε ακεραίους λόγω του μεγέθους της μονάδας αποθήκευσης. 3.4.2 Μνήμη δεδομένων SRAM Η μνήμη δεδομένων του AVR περιέχει τρεις περιοχές μνήμης ανάγνωσης / εγγραφής. Το χαμηλότερο σε διεύθυνση τμήμα της μνήμης περιέχει τους 32 γενικής χρήσης καταχωρητές ακολουθούμενο από τους 64 καταχωρητές εισόδου εξόδου (το νούμερο εξαρτάται από το μοντέλο του επεξεργαστή) και την εσωτερική SRAM. Οι γενικής χρήσης καταχωρητές χρησιμοποιούνται για την αποθήκευση global μεταβλητών καθώς και άλλων προσωρινών δεδομένων κατά την εκτέλεση του προγράμματος. Οι 64 καταχωρητές εισόδου εξόδου χρησιμοποιούνται για την επικοινωνία με τις συσκευές εισόδου εξόδου και των άλλων περιφερειακών. Σχήμα 3.4 Μνήμη SRAM 45

Η SRAM μνήμη (το υπόλοιπο τμήμα) χρησιμοποιείται για την αποθήκευση μεταβλητών που δεν χωράνε στους καταχωρητές και για τη δημιουργία της στοίβας. Αυτό το κομμάτι δεν έχει ειδικές διαιρέσεις. Τα δεδομένα συνήθως αποθηκεύονται αρχίζοντας από το πρώτο κομμάτι της μνήμης ενώ η στοίβα αποθηκεύεται στο υψηλότερο κομμάτι της μνήμης. Ο ATmega32L έχει 2048 bytes SRAM. 3.4.3 Μνήμη ΕEPROM Η μνήμη EEPROM είναι μία μνήμη που χρησιμοποιείται για την εγγραφή / ανάγνωση δεδομένων τα οποία πρέπει να διατηρούνται όταν αποκόπτεται η τροφοδοσία. Για αυτό το λόγο είναι μία non-volatile μνήμη. Συνήθως αρχίζει από την διεύθυνση 0x000 και πηγαίνει μέχρι το μέγιστο κάθε μικροϋπολογιστή (στην περίπτωση του ATmega32 τα 1024 ψηφία). Επειδή έχει αργό χρόνο προσπέλασης και περιορισμένο μέγιστο αριθμό κύκλων εγγραφής / ανάγνωσης χρησιμοποιείται κυρίως για αποθήκευση μεταβλητών που πρέπει να διατηρηθούν οι τιμές του σε μία διακοπή της τροφοδοσίας. 3.5 Διακοπές του AVR-RESET Οι διακοπές είναι ουσιαστικά κλήσεις συναρτήσεων από το Hardware. Όπως προδίδει και το όνομα τους οι διακοπές διακόπτουν την ροή του κυρίου προγράμματος και τον κάνουν να συνεχίσει την εκτέλεση του από ένα σημείο που είναι η ρουτίνα εξυπηρέτησης της διακοπής. Οι διακοπές είναι χρήσιμες για αυτές τις περιπτώσεις που ο επεξεργαστής πρέπει να ανταποκριθεί αμέσως σ ένα γεγονός ή σε περιπτώσεις που αντί να περιμένει ένα αργό γεγονός να συμβεί αφήνει την διακοπή να τον ειδοποιήσει. Σχήμα 3.5 Διανύσματα διακοπών 46