MOS Technology 6502

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση σε: πλοήγηση, αναζήτηση
Επεξεργαστής MOS 6502

Ο MOS Technology 6502 είναι 8-bit-μικροεπεξεργαστής της MOS Technology, Inc., ο οποίος κυκλοφόρησε στην αγορά το 1975. Η μεγάλη του επιτυχία είχε να κάνει με την απλότητά του αλλά κυρίως με την υψηλή αποδοτικότητά του και την συγχρόνως χαμηλή του τιμή, σε σχέση με τους καθιερωμένους επεξεργαστές της Intel και της Motorola. Χρησιμοποιήθηκε σε πολυάριθμους οικιακούς υπολογιστές (πχ τους Commodore VC-20, PET 2001, Atari 400/800/1200 XL, Apple II και III και BBC Micro). Ανάλογη επιτυχία είχαν επίσης και άλλοι µικροεπεξεργαστές της οικογένειας του 6502, όπως ο 6510 (Commodore 64) και ο 6507 (κονσόλες της Atari).

Γενικά[Επεξεργασία | επεξεργασία κώδικα]

Ο 6502 σχεδιάστηκε με βάση τον Motorola 6800. Στο σύνολο εντολών οι δυο επεξεργαστές μοιάζουν, αλλά αντί για 16-bit καταχωρητή (register) ο 6502 χρησιμοποιεί δυο 8-bit-καταχωρητές, η αξία των οποίων προστίθεται σε 16-bit διεύθυνση που προσδιορίζεται στη μνήμη. Για το λόγο αυτό οι εφαρμογές του 6502 έχουν διαφορετικό στιλ: για arrays άνω των 256 bytes πρέπει να γίνει επιπλέον προγραμματισμός. Από την άλλη μεριά οι 8-bit-μικροεπεξεργαστές τροποποιούν τις αξίες των 8 bit με πολύ μεγαλύτερη ταχύτητα.

Τροποποιήσεις του επεξεργαστή 6502 κυκλοφορούσαν μέχρι και το 2009, μεταξύ άλλων ως εξαρτήματα της αριθμομηχανής HP-35s ή και ελεγκτών (controllers) διάφορων πληκτρολογίων.

Τεχνικά στοιχεία[Επεξεργασία | επεξεργασία κώδικα]

  • Τεχνολογία: NMOS, HMOS, CMOS
  • Αριθμός τρανζίστορ: περίπου 5.000
  • Σήµα χρονισµού (clock signal): αρχικά 20 kHz μέχρι 4 MHz. Εκδοχή CMOS: 0 μέχρι 14 MHz
  • Clock cyclus ανά εντολή: 2 με 7
  • Χώρος διευθύνσεων: 64 KiByte, δίχως ξεχωριστό χώρο διευθύνσεων I/O (όπως πχ ο Intel 8080). Όλα δηλαδή τα I/O υλοποιούνται μέσω Memory Mapped I/O.
  • Πλάτος διαύλου διευθύνσεων (address bus): 16 bit
  • Πλάτος διαύλου δεδομένων (data bus): 8 bit
  • Interrupts: ένα NMI, ένα IRQ, και software-interrupt μέσω εντολής BRK
  • Εντολές: αρχικά 56, εκδοχή CMOS: 70
  • Τρόποι διευθυνσιοδότησης: αρχικά 13, εκδοχή CMOS: 16
  • Endianness: little endian
  • Καταχωρητές (registers):
    • Γενικός καταχωρητής (accumulator), 8 bit
    • 2 καταχωρητές δείκτες (X και Y), 8 bit.
    • Δείκτης στοίβας (stack pointer), 16 bit.
    • Καταχωρητής κατάστασης (status register), 7 bit (Ενδείκτες (Flags): Carry, Zero, Decimal, Interrupt Disable, Break*, Overflow, Negative)
    • Μετρητής εντολών (instruction pointer), 16 bit
    • Η μηδενική σελίδα (zero page, στον χώρο διευθύνσεων $00xx) μπορεί να θεωρηθεί αρχείο καταχωρητών (register-file) λόγω των ειδικών και γρήγορων τρόπων διευθυνσιοδότησης της.

Βιβλιογραφία[Επεξεργασία | επεξεργασία κώδικα]

Εξωτερικοί σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]