Ciao, Visitatore!
 
 

🔍
RECENSIONE

Recensione

CPU1
CPU1 (1875 pt) 02-Feb-2026 18:59

6502 – CPU 8 bit compatibile MOS 6502, base di molte piattaforme home computer e console

Definizione

Il 6502 è una CPU 8 bit compatibile con la famiglia MOS 6502, realizzata come “second source” (fornitore alternativo) rispetto al chip originario MOS. La tecnologia del 6502 venne progettata nel 1975 da MOS Technology e divenne rapidamente uno degli ecosistemi più importanti della microinformatica per rapporto prestazioni/costo e semplicità di integrazione.

In termini pratici, il 6502 fornisce: set di istruzioni, registri principali e interfaccia bus orientata a sistemi con memoria e I/O esterni su bus parallelo, tipica delle architetture anni 70–80.

Contesto storico: perché il 6502 “ha fatto scuola”

Il 6502 è ricordato come la CPU che ha contribuito in modo decisivo al decollo dei primi microcomputer “consumer” e di molte piattaforme di massa. Nel caso Apple, l’adozione del 6502 rese possibile l’impostazione di Apple I e soprattutto Apple II: un’architettura relativamente lineare, con toolchain e firmware costruibili intorno a una CPU efficiente e accessibile.

Parallelamente, la “filiera” 6502 (originale e second source) si diffuse in ampiezza su home computer e console, generando un bacino enorme di software, know-how e componentistica.


Architettura logica: registri essenziali e programmazione diretta

Il modello 6502 è caratterizzato da un set di registri minimale ma molto sfruttabile:

  • Accumulatore A (operazioni aritmetiche/logiche e trasferimenti).

  • Registri indice X e Y (indicizzazione e addressing mode).

  • SP (stack pointer) con stack su pagina dedicata.

  • PC (program counter) e registro di stato P (flag).

L’impostazione è molto “diretta”: l’efficienza dipende fortemente da addressing mode (zero page, indicizzati, indiretti) e dall’uso disciplinato della memoria “vicina” (zero page) per ottenere prestazioni elevate con codice compatto.


Bus e integrazione di sistema: memoria e periferiche esterne

Il 6502  è pensato per sistemi con:

  • Bus indirizzi a 16 bit (spazio tipico fino a 64 KB).

  • Bus dati a 8 bit.

  • I/O memory-mapped o tramite logiche dedicate di interfaccia, a seconda della piattaforma.

Questo implica che ROM, RAM e periferiche vengono selezionate tramite decoding degli indirizzi. Il progetto tipico ruota attorno a: mappa memoria, chip select, timing di lettura/scrittura e gestione interrupt/reset.


Impieghi noti: Apple, home computer e console

Il “mondo 6502” include:

  • Apple: Apple I e Apple II basati su 6502.

  • Commodore: diverse macchine usano 6502 o derivati stretti (ad esempio 6510/8502 in alcune piattaforme).

  • Nintendo Nintendo Entertainment System: CPU derivata dal 6502 (core compatibile a livello di famiglia, con differenze funzionali secondo implementazione).

  • PC Engine: CPU compatibile 6502 di classe 65C02/derivati, con estensioni specifiche di piattaforma.

  • Atari Lynx: CPU della famiglia 65xx (compatibilità 6502) integrata nella logica di sistema.

Dal punto di vista pratico, il punto non è solo “quale chip esatto”, ma l’ecosistema: moltissime piattaforme adottano core compatibili 6502 con variazioni (istruzioni, I/O integrato, audio, timing), mantenendo però un forte grado di continuità concettuale e di toolchain.


Schizzo dei collegamenti più importanti

bus indirizzi (A0..A15) + segnali di controllo ┌──────────────────────────────────────────────────────┐ │ glue logic / address decode │ │ chip select RAM/ROM/I-O + eventuali wait/timing │ └───────────────────────────┬──────────────────────────┘ │ ▼ ┌────────────────────────┐                          │     6502     │ │ CPU 8 bit │ │ A0..A15 D0..D7 │ │ R/W, clock, IRQ/NMI, │ │ RESET, ecc. │ └───────────┬─────────────┘ │ ├────────► ROM (firmware/monitor/BASIC) ├────────► RAM (stack, variabili, buffer) └────────► I/O memory-mapped (video, audio, input)

Tabella 1 – Dati di identificazione e specifiche

CaratteristicaValore indicativo
Dispositivo6502
ClasseCPU 8 bit (second source compatibile MOS 6502)
Anno progetto tecnologia 65021975 (MOS Technology)
Modello di indirizzamentoSpazio tipico 64 KB (bus indirizzi 16 bit)
Bus dati8 bit
Registri principaliA, X, Y, SP, PC, P
Stile di I/OTipicamente memory-mapped tramite decoding esterno
Mercati tipiciHome computer, embedded, piattaforme consumer anni 70–80


Tabella 2 – Aspetti operativi e progettuali

AspettoSignificato pratico
Ecosistema 6502Ampia disponibilità storica di software, toolchain e know-how
Registri essenzialiCodice compatto ed efficiente se si sfruttano bene addressing mode e zero page
Decoding esternoLa piattaforma dipende dalla mappa memoria e dalla qualità della glue logic
Compatibilità “di famiglia”Molte macchine usano core derivati: compatibilità elevata ma non sempre identità perfetta
Progettazione I/OPeriferiche spesso memory-mapped: semplicità di programmazione, attenzione a timing e contesa bus
Robustezza del sistemaReset/IRQ/NMI e firmware in ROM sono centrali per avvio e gestione eventi


Caratteristiche :

  • N-channel, silicon gate, depletion load technology
  • 8 bit parallel processing
  • 56 instructions
  • Decimal and binary arithmetic
  • Thirteen addressing modes
  • True indexing capability
  • Programmable stack pointer
  • Variable lenght stack
  • Interrupt request
  • Non-maskable interrupt
  • Use with any type of speed memory
  • 8-bit directional data bus
  • Addressable memory range of up 64K bytes
  • "Ready" input
  • DMA capability
  • Bus compatible with M6800
  • 1 MHz, 2 MHz, 3 MHz
  • Choice of external or on-chip clocks
  • On-chip clock option : External single clock input - Crystal time base input
  • Pipeline architecture
  • Single +5v supply